Merge pull request #19 from Evildead666/develop21
correct spawn rules and configurability for new ore system
This commit is contained in:
commit
cd10e3463a
@ -1752,7 +1752,45 @@ void GameObject::RollIfMineralVein()
|
|||||||
uint32 GameObject::RollMineralVein(uint32 entry) //Maybe incedicite bloodstone and indurium have alternate spawns?
|
uint32 GameObject::RollMineralVein(uint32 entry) //Maybe incedicite bloodstone and indurium have alternate spawns?
|
||||||
{
|
{
|
||||||
uint32 entrynew = entry;
|
uint32 entrynew = entry;
|
||||||
|
|
||||||
|
if ((GetZoneId() == 46) || (GetZoneId() == 51)) // each node in searing gorge or burning steppes is able to spawn dark iron
|
||||||
|
{
|
||||||
|
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_DARKIRON))
|
||||||
|
entrynew = 165658;
|
||||||
|
return entrynew;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_LOWER)) // beside silver all base ores have the possibility to spawn the lower base ore type so rol for lower version spawn
|
||||||
|
{
|
||||||
switch (entry)
|
switch (entry)
|
||||||
|
{
|
||||||
|
case 1735: // Iron can spawn Tin
|
||||||
|
entry = 1732;
|
||||||
|
break;
|
||||||
|
case 2040: // Mithril can spawn Iron
|
||||||
|
entry = 1735;
|
||||||
|
break;
|
||||||
|
case 123310: // Ooze covered mithril can spawn ooze covered iron
|
||||||
|
entry = 73939;
|
||||||
|
break;
|
||||||
|
case 324: // small thorium Vein can spawn Mithril
|
||||||
|
entry = 2040;
|
||||||
|
break;
|
||||||
|
case 123848: // ooze covered thorium Vein can spawn ooze covered mithril
|
||||||
|
entry = 123310;
|
||||||
|
break;
|
||||||
|
case 175404: // Rich thorium Vein can spawn small Thorium vein
|
||||||
|
entry = 324;
|
||||||
|
break;
|
||||||
|
case 177388: // ooze covered Rich thorium Vein can spawn ooze covered thorium
|
||||||
|
entry = 123848;
|
||||||
|
break;
|
||||||
|
default: //default case for copper, tin or not listet special veins
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (entry) // Now roll for rare spawn
|
||||||
{
|
{
|
||||||
case 1732: // Tin can spawn Silver
|
case 1732: // Tin can spawn Silver
|
||||||
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
||||||
@ -1768,14 +1806,7 @@ uint32 GameObject::RollMineralVein(uint32 entry) //Maybe incedicite bloodst
|
|||||||
break;
|
break;
|
||||||
case 2040: // Mithril can spawn Truesilver
|
case 2040: // Mithril can spawn Truesilver
|
||||||
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
||||||
{
|
|
||||||
entrynew = 2047;
|
entrynew = 2047;
|
||||||
if ((GetZoneId() == 46) || (GetZoneId() == 51)) // roll for darkiron spawn in burning steppes and searing gorge
|
|
||||||
{
|
|
||||||
if (urand (0,3) < 1)
|
|
||||||
entrynew = 165658;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 123310: // Ooze covered mithril can spawn ooze covered truesilver
|
case 123310: // Ooze covered mithril can spawn ooze covered truesilver
|
||||||
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
if (urand (0, 100) < sWorld.getConfig(CONFIG_UINT32_RATE_MINING_RARE))
|
||||||
|
@ -443,7 +443,9 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
setConfig(CONFIG_FLOAT_RATE_HONOR, "Rate.Honor", 1.0f);
|
setConfig(CONFIG_FLOAT_RATE_HONOR, "Rate.Honor", 1.0f);
|
||||||
setConfigPos(CONFIG_FLOAT_RATE_MINING_AMOUNT, "Rate.Mining.Amount", 1.0f);
|
setConfigPos(CONFIG_FLOAT_RATE_MINING_AMOUNT, "Rate.Mining.Amount", 1.0f);
|
||||||
setConfigPos(CONFIG_FLOAT_RATE_MINING_NEXT, "Rate.Mining.Next", 1.0f);
|
setConfigPos(CONFIG_FLOAT_RATE_MINING_NEXT, "Rate.Mining.Next", 1.0f);
|
||||||
|
setConfig(CONFIG_UINT32_RATE_MINING_LOWER, "Rate.Mining.Lower", 50);
|
||||||
setConfig(CONFIG_UINT32_RATE_MINING_RARE, "Rate.Mining.Rare", 20);
|
setConfig(CONFIG_UINT32_RATE_MINING_RARE, "Rate.Mining.Rare", 20);
|
||||||
|
setConfig(CONFIG_UINT32_RATE_MINING_DARKIRON, "Rate.Mining.Dakriron", 10);
|
||||||
//setConfig(CONFIG_UINT32_RATE_MINING_AUTOPOOLING, "Rate.Mining.Autopooling", 90);
|
//setConfig(CONFIG_UINT32_RATE_MINING_AUTOPOOLING, "Rate.Mining.Autopooling", 90);
|
||||||
setConfigPos(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME, "Rate.InstanceResetTime", 1.0f);
|
setConfigPos(CONFIG_FLOAT_RATE_INSTANCE_RESET_TIME, "Rate.InstanceResetTime", 1.0f);
|
||||||
setConfigPos(CONFIG_FLOAT_RATE_TALENT, "Rate.Talent", 1.0f);
|
setConfigPos(CONFIG_FLOAT_RATE_TALENT, "Rate.Talent", 1.0f);
|
||||||
|
@ -139,7 +139,9 @@ enum eConfigUInt32Values
|
|||||||
CONFIG_UINT32_MASS_MAILER_SEND_PER_TICK,
|
CONFIG_UINT32_MASS_MAILER_SEND_PER_TICK,
|
||||||
CONFIG_UINT32_UPTIME_UPDATE,
|
CONFIG_UINT32_UPTIME_UPDATE,
|
||||||
CONFIG_UINT32_AUCTION_DEPOSIT_MIN,
|
CONFIG_UINT32_AUCTION_DEPOSIT_MIN,
|
||||||
|
CONFIG_UINT32_RATE_MINING_LOWER,
|
||||||
CONFIG_UINT32_RATE_MINING_RARE,
|
CONFIG_UINT32_RATE_MINING_RARE,
|
||||||
|
CONFIG_UINT32_RATE_MINING_DARKIRON,
|
||||||
//CONFIG_UINT32_RATE_MINING_AUTOPOOLING,
|
//CONFIG_UINT32_RATE_MINING_AUTOPOOLING,
|
||||||
CONFIG_UINT32_SKILL_CHANCE_ORANGE,
|
CONFIG_UINT32_SKILL_CHANCE_ORANGE,
|
||||||
CONFIG_UINT32_SKILL_CHANCE_YELLOW,
|
CONFIG_UINT32_SKILL_CHANCE_YELLOW,
|
||||||
|
@ -1265,8 +1265,12 @@ Visibility.AIRelocationNotifyDelay = 1000
|
|||||||
# Mining Rates (Mining.Amount changes minimum/maximum usetimes of a deposit,
|
# Mining Rates (Mining.Amount changes minimum/maximum usetimes of a deposit,
|
||||||
# Mining.Next changes chance to have next use of a deposit)
|
# Mining.Next changes chance to have next use of a deposit)
|
||||||
#
|
#
|
||||||
|
# Rate.Mining.Lower
|
||||||
|
# Spawn percentage of lower mineral base ores
|
||||||
# Rate.Mining.Rare
|
# Rate.Mining.Rare
|
||||||
# Spawn percentage of rare mineral nodes
|
# Spawn percentage of rare mineral nodes
|
||||||
|
# Rate.Mining.Darkiron
|
||||||
|
# Spawn percentage Darkiron in Burning Steppes and Searing Gorge
|
||||||
# Autopooling.Mining.Enable
|
# Autopooling.Mining.Enable
|
||||||
# Increases server startup can be disabled for testing purposes when fast server restart is demanded
|
# Increases server startup can be disabled for testing purposes when fast server restart is demanded
|
||||||
# 0 = Disabled (default)
|
# 0 = Disabled (default)
|
||||||
@ -1402,7 +1406,9 @@ Auction.Deposit.Min = 0
|
|||||||
Rate.Honor = 1
|
Rate.Honor = 1
|
||||||
Rate.Mining.Amount = 1
|
Rate.Mining.Amount = 1
|
||||||
Rate.Mining.Next = 1
|
Rate.Mining.Next = 1
|
||||||
|
Rate.Mining.Lower = 50
|
||||||
Rate.Mining.Rare = 20
|
Rate.Mining.Rare = 20
|
||||||
|
Rate.Mining.Darkiron = 10
|
||||||
Autopooling.Mining.Enable = 0
|
Autopooling.Mining.Enable = 0
|
||||||
Rate.Mining.Autopooling = 90
|
Rate.Mining.Autopooling = 90
|
||||||
Rate.Talent = 1
|
Rate.Talent = 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user