mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-17 16:10:49 +01:00
Core/Spells: Removed implicit casts from SpellImplicitTargetInfo, fixed copypaste mistakes and one crash
This commit is contained in:
@@ -227,49 +227,49 @@ void ScriptMgr::FillSpellSummary()
|
||||
for (uint32 j = 0; j < MAX_SPELL_EFFECTS; ++j)
|
||||
{
|
||||
//Spell targets self
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_CASTER)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SELF-1);
|
||||
|
||||
//Spell targets a single enemy
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_DST_TARGET_ENEMY)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DST_TARGET_ENEMY)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_ENEMY-1);
|
||||
|
||||
//Spell targets AoE at enemy
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_AREA_ENEMY_SRC ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_AREA_ENEMY_DST ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_SRC_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_DEST_DYNOBJ_ENEMY)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_SRC ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_DST ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_ENEMY-1);
|
||||
|
||||
//Spell targets an enemy
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_DST_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_AREA_ENEMY_SRC ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_AREA_ENEMY_DST ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_SRC_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_DEST_DYNOBJ_ENEMY)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DST_TARGET_ENEMY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_SRC ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_AREA_ENEMY_DST ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_ENEMY-1);
|
||||
|
||||
//Spell targets a single friend(or self)
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ALLY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_PARTY)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_FRIEND-1);
|
||||
|
||||
//Spell targets aoe friends
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_PARTY_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ALLY_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_SRC_CASTER)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_PARTY_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_FRIEND-1);
|
||||
|
||||
//Spell targets any friend(or self)
|
||||
if (pTempSpell->Effects[j].TargetA == TARGET_UNIT_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ALLY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_PARTY_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_UNIT_TARGET_ALLY_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA == TARGET_SRC_CASTER)
|
||||
if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_PARTY_CASTER ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY_PARTY ||
|
||||
pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
|
||||
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_FRIEND-1);
|
||||
|
||||
//Make sure that this spell includes a damage effect
|
||||
|
||||
Reference in New Issue
Block a user