From 3d7313a229aaf667c966e8c7a6e19d9c56606ceb Mon Sep 17 00:00:00 2001 From: pasdVn Date: Sat, 3 Apr 2010 10:46:39 +0200 Subject: [PATCH 1/6] [9665] Add another exception to IsNoStackSpellDueToSpell. Signed-off-by: hunuza --- src/game/SpellMgr.cpp | 4 ++++ src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 182af037f..5029197e5 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -1399,6 +1399,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons (spellInfo_2->Id == 8326 && spellInfo_1->Id == 20584) ) return false; + // Kindred Spirits + if( spellInfo_1->SpellIconID == 3559 && spellInfo_2->SpellIconID == 3559 ) + return false; + break; } case SPELLFAMILY_MAGE: diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 51ddabebc..ff915046d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9664" + #define REVISION_NR "9665" #endif // __REVISION_NR_H__ From 4e81b6c98ba4784147e91aca04cbbe8ece2d874d Mon Sep 17 00:00:00 2001 From: Wowka321 Date: Sat, 3 Apr 2010 11:12:38 +0200 Subject: [PATCH 2/6] [9666] Check max. honor points on characteacter login. Signed-off-by: hunuza --- src/game/Player.cpp | 6 +++++- src/shared/revision_nr.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 5915123a1..52e9a641a 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -14840,7 +14840,11 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder ) SetArenaTeamInfoField(arena_slot, ArenaTeamInfoType(j), 0); } - SetUInt32Value(PLAYER_FIELD_HONOR_CURRENCY, fields[40].GetUInt32()); + uint32 honor_currency = fields[40].GetUInt32(); + if (honor_currency > sWorld.getConfig(CONFIG_UINT32_MAX_HONOR_POINTS)) + honor_currency = sWorld.getConfig(CONFIG_UINT32_MAX_HONOR_POINTS); + SetUInt32Value(PLAYER_FIELD_HONOR_CURRENCY, honor_currency); + SetUInt32Value(PLAYER_FIELD_TODAY_CONTRIBUTION, fields[41].GetUInt32()); SetUInt32Value(PLAYER_FIELD_YESTERDAY_CONTRIBUTION, fields[42].GetUInt32()); SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS, fields[43].GetUInt32()); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index ff915046d..404f17caa 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9665" + #define REVISION_NR "9666" #endif // __REVISION_NR_H__ From 56e1e481611c84d606e6b4b1762d03ad0e06487c Mon Sep 17 00:00:00 2001 From: laise Date: Sat, 3 Apr 2010 16:14:54 +0200 Subject: [PATCH 3/6] [9667] Implement 57849 and ranks. Signed-off-by: hunuza --- src/game/Unit.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ src/shared/revision_nr.h | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 981b40c55..434f6ec25 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9073,6 +9073,27 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 } break; } + case SPELLFAMILY_DRUID: + { + // Improved Insect Swarm (Wrath part) + if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000001)) + { + // if Insect Swarm on target + if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_DRUID, UI64LIT(0x000000000200000), 0, GetGUID())) + { + Unit::AuraList const& improvedSwarm = GetAurasByType(SPELL_AURA_DUMMY); + for(Unit::AuraList::const_iterator iter = improvedSwarm.begin(); iter != improvedSwarm.end(); ++iter) + { + if ((*iter)->GetSpellProto()->SpellIconID == 1771) + { + DoneTotalMod *= ((*iter)->GetModifier()->m_amount+100.0f) / 100.0f; + break; + } + } + } + } + break; + } case SPELLFAMILY_DEATHKNIGHT: { // Icy Touch, Howling Blast and Frost Strike @@ -9374,6 +9395,25 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM } } break; + case SPELLFAMILY_DRUID: + // Improved Insect Swarm (Starfire part) + if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004)) + { + // search for Moonfire on target + if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_DRUID, UI64LIT(0x000000000000002), 0, GetGUID())) + { + Unit::AuraList const& improvedSwarm = GetAurasByType(SPELL_AURA_DUMMY); + for(Unit::AuraList::const_iterator iter = improvedSwarm.begin(); iter != improvedSwarm.end(); ++iter) + { + if ((*iter)->GetSpellProto()->SpellIconID == 1771) + { + crit_chance += (*iter)->GetModifier()->m_amount; + break; + } + } + } + } + break; case SPELLFAMILY_PALADIN: // Sacred Shield if (spellProto->SpellFamilyFlags & UI64LIT(0x0000000040000000)) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 404f17caa..f43d1f5cc 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9666" + #define REVISION_NR "9667" #endif // __REVISION_NR_H__ From 9883ee496dd39b1be4d41261ffb964d2578ef345 Mon Sep 17 00:00:00 2001 From: jolan Date: Sat, 3 Apr 2010 17:19:01 +0200 Subject: [PATCH 4/6] [9668] Add .DS_Store to gitignore. Signed-off-by: hunuza --- .gitignore | 4 ++++ src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 68180f930..6b5394b19 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,10 @@ patches-* # bin/* +# OS specific +# MacOS +.DS_Store + # # Special exceptions # diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index f43d1f5cc..e4b1b045a 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9667" + #define REVISION_NR "9668" #endif // __REVISION_NR_H__ From 7cb0edc272fa8b25986dcd3512d3095abee62921 Mon Sep 17 00:00:00 2001 From: Laise Date: Sat, 3 Apr 2010 23:06:16 +0400 Subject: [PATCH 5/6] [9669] Restore build at some old GCC versions Old GCC hash_map::erase not return next iterator point Signed-off-by: VladimirMangos --- src/game/Player.cpp | 8 ++++---- src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 52e9a641a..493d28f93 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -2038,7 +2038,7 @@ void Player::Regenerate(Powers power, uint32 diff) AuraList const& ModPowerRegenPCTAuras = GetAurasByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT); for(AuraList::const_iterator i = ModPowerRegenPCTAuras.begin(); i != ModPowerRegenPCTAuras.end(); ++i) if ((*i)->GetModifier()->m_miscvalue == power && (*i)->GetMiscBValue()==GetCurrentRune(rune)) - cd_diff = cd_diff * ((*i)->GetModifier()->m_amount + 100) / 100.0f; + cd_diff = cd_diff * ((*i)->GetModifier()->m_amount + 100) / 100; SetRuneCooldown(rune, (cd < cd_diff) ? 0 : cd - cd_diff); } @@ -3686,7 +3686,7 @@ bool Player::resetTalents(bool no_cost) TalentEntry const *talentInfo = (*iter).second.m_talentEntry; if (!talentInfo) { - iter = m_talents[m_activeSpec].erase(iter); + m_talents[m_activeSpec].erase(iter++); continue; } @@ -3694,7 +3694,7 @@ bool Player::resetTalents(bool no_cost) if (!talentTabInfo) { - iter = m_talents[m_activeSpec].erase(iter); + m_talents[m_activeSpec].erase(iter++); continue; } @@ -21841,4 +21841,4 @@ void Player::SetRestType( RestType n_r_type, uint32 areaTriggerId /*= 0*/) if(sWorld.IsFFAPvPRealm()) SetFFAPvP(false); } -} \ No newline at end of file +} diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index e4b1b045a..a4f009048 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9668" + #define REVISION_NR "9669" #endif // __REVISION_NR_H__ From 149cfbb3a6f1e2d3789829cd3d008134c61f8d6c Mon Sep 17 00:00:00 2001 From: NoFantasy Date: Sun, 4 Apr 2010 09:21:07 +0200 Subject: [PATCH 6/6] [9670] Add dummy effect of spell 55364. Signed-off-by: NoFantasy --- src/game/SpellEffects.cpp | 2 ++ src/shared/revision_nr.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index e5014f4bb..6037b450b 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1280,6 +1280,7 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) case 51026: // Create Drakkari Medallion Cover case 51592: // Pickup Primordial Hatchling case 51961: // Captured Chicken Cover + case 55364: // Create Ghoul Drool Cover { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -1293,6 +1294,7 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) case 51026: spellId = 50737; break; case 51592: spellId = 51593; break; case 51961: spellId = 51037; break; + case 55364: spellId = 55363; break; } if (const SpellEntry *pSpell = sSpellStore.LookupEntry(spellId)) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a4f009048..44afd5d88 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9669" + #define REVISION_NR "9670" #endif // __REVISION_NR_H__