aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureEventAI.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/CreatureEventAI.h')
-rw-r--r--src/game/CreatureEventAI.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/game/CreatureEventAI.h b/src/game/CreatureEventAI.h
index ad3827ef75d..de46fee3eae 100644
--- a/src/game/CreatureEventAI.h
+++ b/src/game/CreatureEventAI.h
@@ -113,6 +113,7 @@ enum EventAI_ActionType
ACTION_T_FORCE_DESPAWN = 41, // No Params
ACTION_T_END = 105,
+ ACTION_T_SET_INVINCEABILITY_HP_LEVEL= 42, // MinHpValue, format(0-flat,1-percent from max health)
};
enum Target
@@ -379,6 +380,11 @@ struct CreatureEventAI_Action
{
uint32 sheath;
} set_sheath;
+ struct
+ {
+ uint32 hp_level;
+ uint32 is_percent;
+ } invinceability_hp_level;
// RAW
struct
{
@@ -581,6 +587,7 @@ class TRINITY_DLL_SPEC CreatureEventAI : public CreatureAI
void AttackStart(Unit *who);
void MoveInLineOfSight(Unit *who);
void SpellHit(Unit* pUnit, const SpellEntry* pSpell);
+ void DamageTaken(Unit* done_by, uint32& damage);
void UpdateAI(const uint32 diff);
void ReceiveEmote(Player* pPlayer, uint32 text_emote);
static int Permissible(const Creature *);
@@ -608,10 +615,11 @@ class TRINITY_DLL_SPEC CreatureEventAI : public CreatureAI
bool bEmptyList;
//Variables used by Events themselves
- uint8 Phase; //Current phase, max 32 phases
- bool CombatMovementEnabled; //If we allow targeted movment gen (movement twoards top threat)
- bool MeleeEnabled; //If we allow melee auto attack
- float AttackDistance; //Distance to attack from
- float AttackAngle; //Angle of attack
+ uint8 Phase; // Current phase, max 32 phases
+ bool CombatMovementEnabled; // If we allow targeted movment gen (movement twoards top threat)
+ bool MeleeEnabled; // If we allow melee auto attack
+ float AttackDistance; // Distance to attack from
+ float AttackAngle; // Angle of attack
+ uint32 InvinceabilityHpLevel; // Minimal health level allowed at damage apply
};
#endif