ok, and this patch works correct?
diff -- git a / src / game / SpellAuras . cpp b / src / game / SpellAuras . cpp
index 3a0862d . .0d28cb8 100644
--- a / src / game / SpellAuras . cpp
+++ b / src / game / SpellAuras . cpp
@@ - 2637 , 6 + 2637 , 9 @@ void Aura :: HandleAuraModShapeshift ( bool apply , bool Real )
case FORM_SHADOW :
case FORM_STEALTH :
break;
+ case FORM_SHADOWDANCE :
+ PowerType = POWER_ENERGY ;
+ break;
case FORM_TREE :
modelid = 864 ;
break;
@@ - 2682 , 7 + 2685 , 8 @@ void Aura :: HandleAuraModShapeshift ( bool apply , bool Real )
if( m_target -> m_ShapeShiftFormSpellId )
m_target -> RemoveAurasDueToSpell ( m_target -> m_ShapeShiftFormSpellId , this );
- m_target -> SetByteValue ( UNIT_FIELD_BYTES_2 , 3 , form );
+ // For Shadow Dance we must apply Stealth form (30) instead of current (13)
+ m_target -> SetByteValue ( UNIT_FIELD_BYTES_2 , 3 , ( form == FORM_SHADOWDANCE ) ? uint8 ( FORM_STEALTH ) : form );
if( modelid > 0 )
m_target -> SetDisplayId ( modelid );
@@ - 2747 , 6 + 2751 , 10 @@ void Aura :: HandleAuraModShapeshift ( bool apply , bool Real )
m_target -> SetPower ( POWER_RAGE , Rage_val );
break;
}
+ // Shadow Dance - apply stealth mode stand flag
+ case FORM_SHADOWDANCE :
+ m_target -> SetStandFlags ( UNIT_STAND_FLAGS_CREEP );
+ break;
default:
break;
}
@@ - 2779 , 6 + 2787 , 10 @@ void Aura :: HandleAuraModShapeshift ( bool apply , bool Real )
if( Aura * dummy = m_target -> GetDummyAura ( 37324 ) )
m_target -> CastSpell ( m_target , 37325 , true , NULL , dummy );
break;
+ // Shadow Dance - remove stealth mode stand flag
+ case FORM_SHADOWDANCE :
+ m_target -> RemoveStandFlags ( UNIT_STAND_FLAGS_CREEP );
+ break;
default:
break;
}
diff -- git a / src / game / Unit . h b / src / game / Unit . h
index faefbef . .3f0e578 100644
--- a / src / game / Unit . h
+++ b / src / game / Unit . h
@@ - 167 , 6 + 167 , 7 @@ enum ShapeshiftForm
FORM_GHOUL = 0x07 ,
FORM_DIREBEAR = 0x08 ,
FORM_CREATUREBEAR = 0x0E ,
+ FORM_SHADOWDANCE = 0x0D ,
FORM_CREATURECAT = 0x0F ,
FORM_GHOSTWOLF = 0x10 ,
FORM_BATTLESTANCE = 0x11 ,