rendered paste bodyIndex: 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);