diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-05-13 00:38:09 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-05-13 00:38:09 +0200 |
| commit | 1a7779a6e6464d9bc5b367e02820213edd60f704 (patch) | |
| tree | 75de5e4d827fdecc77388bbcdd5ad39d68c5b0ad /src/server/game/Spells/SpellScript.h | |
| parent | 1b39612b333f8758af8e60b77c58f876e737e5d5 (diff) | |
Core/Spells: Expose number of targets selected for each spell effect to scripts to allow implementing spells that do something depending on number of targets hit
Diffstat (limited to 'src/server/game/Spells/SpellScript.h')
| -rw-r--r-- | src/server/game/Spells/SpellScript.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h index 7325f75b3f6..fc665f0947a 100644 --- a/src/server/game/Spells/SpellScript.h +++ b/src/server/game/Spells/SpellScript.h @@ -181,9 +181,6 @@ enum SpellScriptHookType #define HOOK_SPELL_HIT_START SPELL_SCRIPT_HOOK_EFFECT_HIT #define HOOK_SPELL_HIT_END SPELL_SCRIPT_HOOK_AFTER_HIT + 1 -#define HOOK_SPELL_START SPELL_SCRIPT_HOOK_EFFECT -#define HOOK_SPELL_END SPELL_SCRIPT_HOOK_CHECK_CAST + 1 -#define HOOK_SPELL_COUNT HOOK_SPELL_END - HOOK_SPELL_START class TC_GAME_API SpellScript : public _SpellScript { @@ -320,6 +317,7 @@ class TC_GAME_API SpellScript : public _SpellScript void _PrepareScriptCall(SpellScriptHookType hookType); void _FinishScriptCall(); bool IsInCheckCastHook() const; + bool IsAfterTargetSelectionPhase() const; bool IsInTargetHook() const; bool IsInHitPhase() const; bool IsInEffectHook() const; @@ -444,6 +442,11 @@ class TC_GAME_API SpellScript : public _SpellScript // returns: Item which was selected as an explicit spell target or NULL if there's no target Item* GetExplTargetItem() const; + // methods usable only after spell targets have been fully selected + int64 GetUnitTargetCountForEffect(SpellEffIndex effect) const; + int64 GetGameObjectTargetCountForEffect(SpellEffIndex effect) const; + int64 GetItemTargetCountForEffect(SpellEffIndex effect) const; + // methods useable only during spell hit on target, or during spell launch on target: // returns: target of current effect if it was Unit otherwise NULL Unit* GetHitUnit() const; |
