From e170ac3c91b7be129aba1b7e8aacaba544a7ee35 Mon Sep 17 00:00:00 2001 From: bobaz Date: Thu, 10 Sep 2009 07:04:10 +0400 Subject: [PATCH 1/3] [8483] Implement glyph 43361. Signed-off-by: VladimirMangos --- src/game/SpellAuras.cpp | 24 +++++++++++++++--------- src/shared/revision_nr.h | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index c2f188fbc..1d0aa0593 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -3019,22 +3019,28 @@ void Aura::HandleAuraTransform(bool apply, bool Real) } else { + uint32 model_id; + CreatureInfo const * ci = objmgr.GetCreatureTemplate(m_modifier.m_miscvalue); if (!ci) { - //pig pink ^_^ - m_target->SetDisplayId(16358); + model_id = 16358; // pig pink ^_^ sLog.outError("Auras: unknown creature id = %d (only need its modelid) Form Spell Aura Transform in Spell ID = %d", m_modifier.m_miscvalue, GetId()); } else - { - // Will use the default model here - m_target->SetDisplayId(ci->DisplayID_A[0]); + model_id = ci->DisplayID_A[0]; // Will use the default model here - // Dragonmaw Illusion (set mount model also) - if(GetId()==42016 && m_target->GetMountID() && !m_target->GetAurasByType(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED).empty()) - m_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID,16314); - } + // Polymorph (sheep/penguin case) + if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_MAGE && GetSpellProto()->SpellIconID == 82) + if (Unit* caster = GetCaster()) + if (caster->HasAura(52648)) // Glyph of the Penguin + model_id = 26452; + + m_target->SetDisplayId(model_id); + + // Dragonmaw Illusion (set mount model also) + if(GetId()==42016 && m_target->GetMountID() && !m_target->GetAurasByType(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED).empty()) + m_target->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID,16314); } // update active transform spell only not set or not overwriting negative by positive case diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b25101cfd..6e1ff2f21 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 "8482" + #define REVISION_NR "8483" #endif // __REVISION_NR_H__ From 70df7c8e91cd2b58b005f69e8868444e7bc62c6b Mon Sep 17 00:00:00 2001 From: pasdVn Date: Wed, 9 Sep 2009 10:32:44 +0200 Subject: [PATCH 2/3] [8484] Fix priest spell 47585 * Move precast spell and add one more to Aura boosts for proper remove at cancel. * Check in ispositivespell as positive to allow cancel in client. (cherry picked from commit 6566ec2bbd3654921446b6522e9800ef835ffffe) Signed-off-by: VladimirMangos --- src/game/Spell.cpp | 1 - src/game/SpellAuras.cpp | 8 ++++++++ src/game/SpellMgr.cpp | 9 +++++++-- src/shared/revision_nr.h | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 8d63d569d..23e9fa7db 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2419,7 +2419,6 @@ void Spell::cast(bool skipCheck) switch(m_spellInfo->Id) { - case 47585: AddPrecastSpell(60069); break; // Dispersion (transform) case 15237: AddTriggeredSpell(23455); break;// Holy Nova, rank 1 case 15430: AddTriggeredSpell(23458); break;// Holy Nova, rank 2 case 15431: AddTriggeredSpell(23459); break;// Holy Nova, rank 3 diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 1d0aa0593..5beb39353 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -5691,6 +5691,14 @@ void Aura::HandleSpellSpecificBoosts(bool apply) } break; } + case SPELLFAMILY_PRIEST: + // Dispersion mana reg and immunity + if (GetSpellProto()->Id == 47585) + { + spellId1 = 60069; + spellId2 = 63230; + } + break; case SPELLFAMILY_ROGUE: // Sprint (skip non player casted spells by category) if (GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000000040) && GetSpellProto()->Category == 44) diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 1d6c4d764..29272ee01 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -477,8 +477,13 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex) return false; break; case SPELL_AURA_MOD_PACIFY_SILENCE: - if(spellproto->Id == 24740) // Wisp Costume - return true; + switch(spellproto->Id) + { + case 24740: // Wisp Costume + case 47585: // Dispersion + return true; + default: break; + } return false; case SPELL_AURA_MOD_ROOT: case SPELL_AURA_MOD_SILENCE: diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 6e1ff2f21..9e0f8d2c2 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 "8483" + #define REVISION_NR "8484" #endif // __REVISION_NR_H__ From b681b4f3f3f3e2ee910ab6b8c8b1b627fe5d9d3a Mon Sep 17 00:00:00 2001 From: yad02 Date: Thu, 10 Sep 2009 08:20:31 +0400 Subject: [PATCH 3/3] [8485] Ignore *.sln.cache file created at use msbuild command. Signed-off-by: VladimirMangos --- src/shared/revision_nr.h | 2 +- win/.gitignore | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 9e0f8d2c2..27c3ccbab 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 "8484" + #define REVISION_NR "8485" #endif // __REVISION_NR_H__ diff --git a/win/.gitignore b/win/.gitignore index cd96f0d6b..3a2e1fcf7 100644 --- a/win/.gitignore +++ b/win/.gitignore @@ -13,4 +13,5 @@ *.ncb *.suo *.sdf +*.sln.cache ipch