fix(Scripts/ZulGurub): Shade of Jin'do's invisibility aura should not… (#11838)

* fix(Scripts/ZulGurub): Shade of Jin'do's invisibility aura should not be removed on attack.

Fixes #11557

* missing stuff.

* Update.
This commit is contained in:
UltraNix
2022-06-06 20:20:40 +02:00
committed by GitHub
parent 75858bd786
commit 41b0fa02f2
3 changed files with 20 additions and 6 deletions

View File

@@ -0,0 +1,2 @@
--
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|0x00400000 WHERE `entry`=14986;

View File

@@ -1078,8 +1078,19 @@ namespace Acore
bool operator()(Unit* u) bool operator()(Unit* u)
{ {
// Check contains checks for: live, non-selectable, non-attackable flags, flight check and GM check, ignore totems // Check contains checks for: live, non-selectable, non-attackable flags, flight check and GM check, ignore totems
if (u->GetTypeId() == TYPEID_UNIT && ((Creature*)u)->IsTotem()) if (Creature* creature = u->ToCreature())
return false; {
if (creature->IsTotem())
{
return false;
}
if (creature->IsAvoidingAOE())
{
return false;
}
}
if (i_funit->_IsValidAttackTarget(u, _spellInfo, i_obj->GetTypeId() == TYPEID_DYNAMICOBJECT ? i_obj : nullptr) && i_obj->IsWithinDistInMap(u, i_range)) if (i_funit->_IsValidAttackTarget(u, _spellInfo, i_obj->GetTypeId() == TYPEID_DYNAMICOBJECT ? i_obj : nullptr) && i_obj->IsWithinDistInMap(u, i_range))
return true; return true;

View File

@@ -37,12 +37,12 @@ enum Spells
SPELL_POWERFULLHEALINGWARD = 24309, SPELL_POWERFULLHEALINGWARD = 24309,
SPELL_HEX = 24053, SPELL_HEX = 24053,
SPELL_DELUSIONSOFJINDO = 24306, SPELL_DELUSIONSOFJINDO = 24306,
SPELL_SHADEOFJINDO = 24308, // HACKED
//Healing Ward Spell //Healing Ward Spell
SPELL_HEAL = 24311, SPELL_HEAL = 24311,
//Shade of Jindo Spell //Shade of Jindo Spell
SPELL_SHADOWSHOCK = 19460, SPELL_SHADEOFJINDO_PASSIVE = 24307,
SPELL_INVISIBLE = 24699 SPELL_SHADEOFJINDO_VISUAL = 24313,
SPELL_SHADOWSHOCK = 19460
}; };
enum Events enum Events
@@ -250,7 +250,8 @@ public:
void Reset() override void Reset() override
{ {
ShadowShock_Timer = 1000; ShadowShock_Timer = 1000;
DoCast(me, SPELL_INVISIBLE, true); DoCastSelf(SPELL_SHADEOFJINDO_PASSIVE, true);
DoCastSelf(SPELL_SHADEOFJINDO_VISUAL, true);
} }
void EnterCombat(Unit* /*who*/) override { } void EnterCombat(Unit* /*who*/) override { }