--HG--
branch : trunk
This commit is contained in:
Trazom62
2010-01-29 19:49:46 +01:00
7 changed files with 143 additions and 120 deletions
@@ -55,12 +55,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(19434, 49049, 8), (19434, 49049, 8),
(19434, 49050, 9), (19434, 49050, 9),
-- Alchemy -- Alchemy
(3101, 3101, 1), (2259, 2259, 1),
(3101, 2259, 2), (2259, 3101, 2),
(3101, 3464, 3), (2259, 3464, 3),
(3101, 11611, 4), (2259, 11611, 4),
(3101, 28596, 5), (2259, 28596, 5),
(3101, 51304, 6), (2259, 51304, 6),
-- Ambush -- Ambush
(8676, 8676, 1), (8676, 8676, 1),
(8676, 8724, 2), (8676, 8724, 2),
@@ -424,12 +424,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(49140, 49663, 4), (49140, 49663, 4),
(49140, 49664, 5), (49140, 49664, 5),
-- Blacksmithing -- Blacksmithing
(3100, 3100, 1), (2018, 2018, 1),
(3100, 2018, 2), (2018, 3100, 2),
(3100, 3538, 3), (2018, 3538, 3),
(3100, 9785, 4), (2018, 9785, 4),
(3100, 29844, 5), (2018, 29844, 5),
(3100, 51300, 6), (2018, 51300, 6),
-- Blade Barrier -- Blade Barrier
(51789, 51789, 1), (51789, 51789, 1),
(51789, 64855, 2), (51789, 64855, 2),
@@ -850,12 +850,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(20117, 20120, 4), (20117, 20120, 4),
(20117, 20121, 5), (20117, 20121, 5),
-- Cooking -- Cooking
(3102, 3102, 1), (2550, 2550, 1),
(3102, 2550, 2), (2550, 3102, 2),
(3102, 3413, 3), (2550, 3413, 3),
(3102, 18260, 4), (2550, 18260, 4),
(3102, 33359, 5), (2550, 33359, 5),
(3102, 51296, 6), (2550, 51296, 6),
-- Cornered -- Cornered
(52234, 52234, 1), (52234, 52234, 1),
(52234, 53497, 2), (52234, 53497, 2),
@@ -1496,12 +1496,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(33879, 33879, 1), (33879, 33879, 1),
(33879, 33880, 2), (33879, 33880, 2),
-- Enchanting -- Enchanting
(7412, 7412, 1), (7411, 7411, 1),
(7412, 7411, 2), (7411, 7412, 2),
(7412, 7413, 3), (7411, 7413, 3),
(7412, 13920, 4), (7411, 13920, 4),
(7412, 28029, 5), (7411, 28029, 5),
(7412, 51313, 6), (7411, 51313, 6),
-- Endless Winter -- Endless Winter
(49137, 49137, 1), (49137, 49137, 1),
(49137, 49657, 2), (49137, 49657, 2),
@@ -1519,12 +1519,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(44557, 44560, 2), (44557, 44560, 2),
(44557, 44561, 3), (44557, 44561, 3),
-- Engineering -- Engineering
(4037, 4037, 1), (4036, 4036, 1),
(4037, 4036, 2), (4036, 4037, 2),
(4037, 4038, 3), (4036, 4038, 3),
(4037, 12656, 4), (4036, 12656, 4),
(4037, 30350, 5), (4036, 30350, 5),
(4037, 51306, 6), (4036, 51306, 6),
-- Enhancing Totems -- Enhancing Totems
(16259, 16259, 1), (16259, 16259, 1),
(16259, 16295, 2), (16259, 16295, 2),
@@ -1864,12 +1864,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(44442, 44442, 1), (44442, 44442, 1),
(44442, 44443, 2), (44442, 44443, 2),
-- First Aid -- First Aid
(3274, 3274, 1), (3273, 3273, 1),
(3274, 3273, 2), (3273, 3274, 2),
(3274, 7924, 3), (3273, 7924, 3),
(3274, 10846, 4), (3273, 10846, 4),
(3274, 27028, 5), (3273, 27028, 5),
(3274, 45542, 6), (3273, 45542, 6),
-- Flame Shock -- Flame Shock
(8050, 8050, 1), (8050, 8050, 1),
(8050, 8052, 2), (8050, 8052, 2),
@@ -2462,12 +2462,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(16511, 26864, 4), (16511, 26864, 4),
(16511, 48660, 5), (16511, 48660, 5),
-- Herb Gathering -- Herb Gathering
(2368, 2368, 1), (2366, 2366, 1),
(2368, 2366, 2), (2366, 2368, 2),
(2368, 3570, 3), (2366, 3570, 3),
(2368, 11993, 4), (2366, 11993, 4),
(2368, 28695, 5), (2366, 28695, 5),
(2368, 50300, 6), (2366, 50300, 6),
-- Heroic Strike -- Heroic Strike
(78, 78, 1), (78, 78, 1),
(78, 284, 2), (78, 284, 2),
@@ -3152,12 +3152,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(588, 48040, 8), (588, 48040, 8),
(588, 48168, 9), (588, 48168, 9),
-- Inscription -- Inscription
(45358, 45358, 1), (45357, 45357, 1),
(45358, 45357, 2), (45357, 45358, 2),
(45358, 45359, 3), (45357, 45359, 3),
(45358, 45360, 4), (45357, 45360, 4),
(45358, 45361, 5), (45357, 45361, 5),
(45358, 45363, 6), (45357, 45363, 6),
-- Insect Swarm -- Insect Swarm
(5570, 5570, 1), (5570, 5570, 1),
(5570, 24974, 2), (5570, 24974, 2),
@@ -3197,12 +3197,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(12300, 12959, 2), (12300, 12959, 2),
(12300, 12960, 3), (12300, 12960, 3),
-- Jewelcrafting -- Jewelcrafting
(25230, 25230, 1), (25229, 25229, 1),
(25230, 25229, 2), (25229, 25230, 2),
(25230, 28894, 3), (25229, 28894, 3),
(25230, 28895, 4), (25229, 28895, 4),
(25230, 28897, 5), (25229, 28897, 5),
(25230, 51311, 6), (25229, 51311, 6),
-- Judgements of the Just -- Judgements of the Just
(53695, 53695, 1), (53695, 53695, 1),
(53695, 53696, 2), (53695, 53696, 2),
@@ -3283,12 +3283,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(633, 27154, 4), (633, 27154, 4),
(633, 48788, 5), (633, 48788, 5),
-- Leatherworking -- Leatherworking
(3104, 3104, 1), (2108, 2108, 1),
(3104, 2108, 2), (2108, 3104, 2),
(3104, 3811, 3), (2108, 3811, 3),
(3104, 10662, 4), (2108, 10662, 4),
(3104, 32549, 5), (2108, 32549, 5),
(3104, 51302, 6), (2108, 51302, 6),
-- Lesser Heal -- Lesser Heal
(2050, 2050, 1), (2050, 2050, 1),
(2050, 2052, 2), (2050, 2052, 2),
@@ -3403,9 +3403,9 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(56342, 56343, 2), (56342, 56343, 2),
(56342, 56344, 3), (56342, 56344, 3),
-- Lockpicking -- Lockpicking
(1810, 1810, 1), (1809, 1809, 1),
(1810, 1809, 2), (1809, 1810, 2),
(1810, 6460, 3), (1809, 6460, 3),
-- Longevity -- Longevity
(53262, 53262, 1), (53262, 53262, 1),
(53262, 53263, 2), (53262, 53263, 2),
@@ -3690,12 +3690,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(2096, 2096, 1), (2096, 2096, 1),
(2096, 10909, 2), (2096, 10909, 2),
-- Mining -- Mining
(2576, 2576, 1), (2575, 2575, 1),
(2576, 2575, 2), (2575, 2576, 2),
(2576, 3564, 3), (2575, 3564, 3),
(2576, 10248, 4), (2575, 10248, 4),
(2576, 29354, 5), (2575, 29354, 5),
(2576, 50310, 6), (2575, 50310, 6),
-- Missile Barrage -- Missile Barrage
(44404, 44404, 1), (44404, 44404, 1),
(44404, 54486, 2), (44404, 54486, 2),
@@ -4891,12 +4891,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(1752, 48637, 11), (1752, 48637, 11),
(1752, 48638, 12), (1752, 48638, 12),
-- Skinning -- Skinning
(8617, 8617, 1), (8613, 8613, 1),
(8617, 8613, 2), (8613, 8617, 2),
(8617, 8618, 3), (8613, 8618, 3),
(8617, 10768, 4), (8613, 10768, 4),
(8617, 32678, 5), (8613, 32678, 5),
(8617, 50305, 6), (8613, 50305, 6),
-- Slam -- Slam
(1464, 1464, 1), (1464, 1464, 1),
(1464, 8820, 2), (1464, 8820, 2),
@@ -5300,12 +5300,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(12295, 12676, 2), (12295, 12676, 2),
(12295, 12677, 3), (12295, 12677, 3),
-- Tailoring -- Tailoring
(3909, 3909, 1), (3908, 3908, 1),
(3909, 3908, 2), (3908, 3909, 2),
(3909, 3910, 3), (3908, 3910, 3),
(3909, 12180, 4), (3908, 12180, 4),
(3909, 26790, 5), (3908, 26790, 5),
(3909, 51309, 6), (3908, 51309, 6),
-- Taste for Blood -- Taste for Blood
(56636, 56636, 1), (56636, 56636, 1),
(56636, 56637, 2), (56636, 56637, 2),
@@ -6503,12 +6503,12 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
(30165, 29177, 2), (30165, 29177, 2),
(30165, 29178, 3), (30165, 29178, 3),
-- Fishing -- Fishing
(7731, 7731, 1), (7620, 7620, 1),
(7731, 7620, 2), (7620, 7731, 2),
(7731, 7732, 3), (7620, 7732, 3),
(7731, 18248, 4), (7620, 18248, 4),
(7731, 33095, 5), (7620, 33095, 5),
(7731, 51294, 6), (7620, 51294, 6),
-- Icy Touch -- Icy Touch
(45477, 45477, 1), (45477, 45477, 1),
(45477, 49896, 2), (45477, 49896, 2),
@@ -6614,11 +6614,11 @@ INSERT INTO spell_ranks (`first_spell_id`, `spell_id`, `rank`) VALUES
-- Anesthetic Poison -- Anesthetic Poison
(26785, 26785, 1), (26785, 26785, 1),
(26785, 57982, 2), (26785, 57982, 2),
-- Journeyman Riding -- Apprentice Riding
(33391, 33391, 1), (33388, 33388, 1),
(33391, 33388, 2), (33388, 33391, 2),
(33391, 34090, 3), (33388, 34090, 3),
(33391, 34091, 4), (33388, 34091, 4),
-- Primal Fury -- Primal Fury
(16958, 16958, 1), (16958, 16958, 1),
(16958, 16961, 2), (16958, 16961, 2),
+4
View File
@@ -18,6 +18,8 @@ class WDBThreadStartReq1 : public ACE_Method_Request
call (void) call (void)
{ {
WorldDatabase.ThreadStart(); WorldDatabase.ThreadStart();
CharacterDatabase.ThreadStart();
loginDatabase.ThreadStart();
return 0; return 0;
} }
}; };
@@ -31,6 +33,8 @@ class WDBThreadEndReq1 : public ACE_Method_Request
call (void) call (void)
{ {
WorldDatabase.ThreadEnd(); WorldDatabase.ThreadEnd();
CharacterDatabase.ThreadEnd();
loginDatabase.ThreadEnd();
return 0; return 0;
} }
}; };
+3 -3
View File
@@ -3256,7 +3256,7 @@ void SpellMgr::LoadSpellRanks()
do do
{ {
// spellid, rank // spellid, rank
std::list<std::pair<int32, int32>> rankChain; std::list < std::pair < int32, int32 > > rankChain;
int32 currentSpell = -1; int32 currentSpell = -1;
int32 lastSpell = -1; int32 lastSpell = -1;
@@ -3299,7 +3299,7 @@ void SpellMgr::LoadSpellRanks()
int32 curRank = 0; int32 curRank = 0;
bool valid = true; bool valid = true;
// check spells in chain // check spells in chain
for (std::list<std::pair<int32, int32>>::iterator itr = rankChain.begin() ; itr!= rankChain.end(); ++itr) for (std::list<std::pair<int32, int32> >::iterator itr = rankChain.begin() ; itr!= rankChain.end(); ++itr)
{ {
SpellEntry const * spell = sSpellStore.LookupEntry(itr->first); SpellEntry const * spell = sSpellStore.LookupEntry(itr->first);
if (!spell) if (!spell)
@@ -3320,7 +3320,7 @@ void SpellMgr::LoadSpellRanks()
continue; continue;
int32 prevRank = 0; int32 prevRank = 0;
// insert the chain // insert the chain
std::list<std::pair<int32, int32>>::iterator itr = rankChain.begin(); std::list<std::pair<int32, int32> >::iterator itr = rankChain.begin();
do do
{ {
int32 addedSpell = itr->first; int32 addedSpell = itr->first;
+10
View File
@@ -4300,6 +4300,10 @@ void Unit::RemoveAurasWithMechanic(uint32 mechanic_mask, AuraRemoveMode removemo
void Unit::RemoveAreaAurasDueToLeaveWorld() void Unit::RemoveAreaAurasDueToLeaveWorld()
{ {
bool cleanRun;
do
{
cleanRun = true;
// make sure that all area auras not applied on self are removed - prevent access to deleted pointer later // make sure that all area auras not applied on self are removed - prevent access to deleted pointer later
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();) for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
{ {
@@ -4314,6 +4318,7 @@ void Unit::RemoveAreaAurasDueToLeaveWorld()
if (target == this) if (target == this)
continue; continue;
target->RemoveAura(aurApp); target->RemoveAura(aurApp);
cleanRun = false;
// things linked on aura remove may apply new area aura - so start from the beginning // things linked on aura remove may apply new area aura - so start from the beginning
iter = m_ownedAuras.begin(); iter = m_ownedAuras.begin();
} }
@@ -4323,10 +4328,15 @@ void Unit::RemoveAreaAurasDueToLeaveWorld()
for (AuraApplicationMap::iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end();) for (AuraApplicationMap::iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end();)
{ {
if (iter->second->GetBase()->GetOwner()!=this) if (iter->second->GetBase()->GetOwner()!=this)
{
RemoveAura(iter); RemoveAura(iter);
cleanRun = false;
}
else else
++iter; ++iter;
} }
}
while (!cleanRun);
} }
void Unit::RemoveAllAuras() void Unit::RemoveAllAuras()
+6 -2
View File
@@ -154,7 +154,9 @@ class ReactorRunnable : protected ACE_Task_Base
{ {
DEBUG_LOG ("Network Thread Starting"); DEBUG_LOG ("Network Thread Starting");
WorldDatabase.ThreadStart (); WorldDatabase.ThreadStart();
CharacterDatabase.ThreadStart();
loginDatabase.ThreadStart();
ACE_ASSERT (m_Reactor); ACE_ASSERT (m_Reactor);
@@ -187,7 +189,9 @@ class ReactorRunnable : protected ACE_Task_Base
} }
} }
WorldDatabase.ThreadEnd (); WorldDatabase.ThreadEnd();
CharacterDatabase.ThreadEnd();
loginDatabase.ThreadEnd();
DEBUG_LOG ("Network Thread Exitting"); DEBUG_LOG ("Network Thread Exitting");
+4
View File
@@ -369,6 +369,8 @@ void CliRunnable::run()
{ {
///- Init new SQL thread for the world database (one connection call enough) ///- Init new SQL thread for the world database (one connection call enough)
WorldDatabase.ThreadStart(); // let thread do safe mySQL requests WorldDatabase.ThreadStart(); // let thread do safe mySQL requests
CharacterDatabase.ThreadStart();
loginDatabase.ThreadStart();
char commandbuf[256]; char commandbuf[256];
bool canflush = true; bool canflush = true;
@@ -438,4 +440,6 @@ void CliRunnable::run()
///- End the database thread ///- End the database thread
WorldDatabase.ThreadEnd(); // free mySQL thread resources WorldDatabase.ThreadEnd(); // free mySQL thread resources
CharacterDatabase.ThreadEnd();
loginDatabase.ThreadEnd();
} }
+1
View File
@@ -47,6 +47,7 @@ void WorldRunnable::run()
WorldDatabase.ThreadStart(); // let thread do safe mySQL requests (one connection call enough) WorldDatabase.ThreadStart(); // let thread do safe mySQL requests (one connection call enough)
CharacterDatabase.ThreadStart(); CharacterDatabase.ThreadStart();
loginDatabase.ThreadStart(); loginDatabase.ThreadStart();
sWorld.InitResultQueue(); sWorld.InitResultQueue();
uint32 realCurrTime = 0; uint32 realCurrTime = 0;