aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.h
diff options
context:
space:
mode:
authorSeyden <saiifii@live.de>2023-08-22 00:02:37 +0200
committerGitHub <noreply@github.com>2023-08-22 00:02:37 +0200
commit42a6e0eb1afa431fc1efe7d4c5a62758fed42684 (patch)
tree236e4df00001eca190999eb4bd5d7419ee4a4b3a /src/server/game/Spells/Spell.h
parente600cd392ba4eea17012663b08aeb429cb4fd774 (diff)
Core/Spells: Implement sqrt based aoe damage diminishing (#29192)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/game/Spells/Spell.h')
-rw-r--r--src/server/game/Spells/Spell.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 6494d4c3d70..c0c9ede5f87 100644
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -73,6 +73,7 @@ enum WeaponAttackType : uint8;
#define SPELL_CHANNEL_UPDATE_INTERVAL (1 * IN_MILLISECONDS)
#define MAX_SPELL_RANGE_TOLERANCE 3.0f
#define TRAJECTORY_MISSILE_SIZE 3.0f
+#define AOE_DAMAGE_TARGET_CAP SI64LIT(20)
enum SpellCastFlags
{
@@ -213,6 +214,8 @@ struct SpellValue
float DurationMul;
float CriticalChance;
Optional<int32> Duration;
+ Optional<int32> ParentSpellTargetCount;
+ Optional<int32> ParentSpellTargetIndex;
};
enum SpellState
@@ -818,6 +821,8 @@ class TC_GAME_API Spell
SpellDestination m_destTargets[MAX_SPELL_EFFECTS];
+ int32 GetUnitTargetIndexForEffect(ObjectGuid const& target, SpellEffIndex effect) const;
+
void AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid = true, bool implicit = true, Position const* losPosition = nullptr);
void AddGOTarget(GameObject* target, uint32 effectMask);
void AddItemTarget(Item* item, uint32 effectMask);