All pastes #898373 Raw Edit

thenecromancer

public cpp v1 · immutable
·published 2008-02-10 07:53 UTC
rendered paste body
Index: src/game/Spell.cpp===================================================================--- src/game/Spell.cpp	(revision 5006)+++ src/game/Spell.cpp	(working copy)@@ -3203,7 +3203,7 @@      //Check whether the cast should be prevented by any state you might have.     uint8 prevented_reason = 0;-    if(m_caster->hasUnitState(UNIT_STAT_STUNDED))+    if(m_caster->hasUnitState(UNIT_STAT_STUNDED) && ( m_spellInfo->Id != 29841 && m_spellInfo->Id != 29842)) // second wind is exception, btw this is ugly spells like that should have own case here to completly ignore any preventions         prevented_reason = SPELL_FAILED_STUNNED;     else if(m_caster->hasUnitState(UNIT_STAT_CONFUSED))         prevented_reason = SPELL_FAILED_CONFUSED;Index: src/game/SpellAuras.cpp===================================================================--- src/game/SpellAuras.cpp	(revision 5006)+++ src/game/SpellAuras.cpp	(working copy)@@ -2220,6 +2220,20 @@         if( m_target->getVictim() )             m_target->SetOrientation(m_target->GetAngle(m_target->getVictim())); +        // second wind+        if ( GetSpellProto()->Mechanic == MECHANIC_STUN ){ // only real stuns can proc it+            // rank 2+            if ( m_target->HasAura( 29838, 0 ) && !m_target->HasAura( 29842, 1 ) )+            {+                m_target->CastSpell( m_target, 29842, true );+            }+            // rank 1+            else if ( m_target->HasAura( 29834, 0 ) && !m_target->HasAura( 29841, 1 ) )+            {+                m_target->CastSpell( m_target, 29841, true );+            }+        }+         // Creature specific         if(m_target->GetTypeId() != TYPEID_PLAYER)         {@@ -2445,6 +2459,18 @@         if( m_target->getVictim() )             m_target->SetOrientation(m_target->GetAngle(m_target->getVictim())); +        // second wind+        // rank 2+        if ( m_target->HasAura( 29838, 0 ) && !m_target->HasAura( 29842, 1 ) )+        {+            m_target->CastSpell( m_target, 29842, true );+        }+        // rank 1+        else if ( m_target->HasAura( 29834, 0 ) && !m_target->HasAura( 29841, 1 ) )+        {+            m_target->CastSpell( m_target, 29841, true );+        }+         if(m_target->GetTypeId() == TYPEID_PLAYER)         {             WorldPacket data(SMSG_FORCE_MOVE_ROOT, 10);