mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-18 14:10:18 -04:00
Core/AI: refactor SpellHit and SpellHitTarget. (#24691)
* Core/AI: refactor SpellHit and SpellHitTarget.
- now caster/target is WorldObject instead of Unit
- remove SpellHitByGameObject / SpellHitTargetGameObject (handled by SpellHit / SpellHitTarget)
- rename parameters in scripts according parent methods
* Restore logic in Algalon script
* Changed check for REMORSELESS_WINTER hit to avoid dublicate call, because it has TARGET_UNIT_CASTER for effects 0/1 and TARGET_GAMEOBJECT_SRC_AREA for effect 2
* Fix build after merge
(cherry picked from commit e3b232fe0e)
This commit is contained in:
@@ -615,24 +615,14 @@ void SmartAI::AttackStart(Unit* who)
|
||||
}
|
||||
}
|
||||
|
||||
void SmartAI::SpellHit(Unit* unit, SpellInfo const* spellInfo)
|
||||
void SmartAI::SpellHit(WorldObject* caster, SpellInfo const* spellInfo)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, unit, 0, 0, false, spellInfo);
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, caster->ToUnit(), 0, 0, false, spellInfo, caster->ToGameObject());
|
||||
}
|
||||
|
||||
void SmartAI::SpellHitByGameObject(GameObject* object, SpellInfo const* spellInfo)
|
||||
void SmartAI::SpellHitTarget(WorldObject* target, SpellInfo const* spellInfo)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, nullptr, 0, 0, false, spellInfo, object);
|
||||
}
|
||||
|
||||
void SmartAI::SpellHitTarget(Unit* target, SpellInfo const* spellInfo)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT_TARGET, target, 0, 0, false, spellInfo);
|
||||
}
|
||||
|
||||
void SmartAI::SpellHitTargetGameObject(GameObject* target, SpellInfo const* spellInfo)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT_TARGET, nullptr, 0, 0, false, spellInfo, target);
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT_TARGET, target->ToUnit(), 0, 0, false, spellInfo, target->ToGameObject());
|
||||
}
|
||||
|
||||
void SmartAI::DamageTaken(Unit* doneBy, uint32& damage)
|
||||
@@ -1102,9 +1092,9 @@ void SmartGameObjectAI::EventInform(uint32 eventId)
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_GO_EVENT_INFORM, nullptr, eventId);
|
||||
}
|
||||
|
||||
void SmartGameObjectAI::SpellHit(Unit* unit, SpellInfo const* spellInfo)
|
||||
void SmartGameObjectAI::SpellHit(WorldObject* caster, SpellInfo const* spellInfo)
|
||||
{
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, unit, 0, 0, false, spellInfo);
|
||||
GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, caster->ToUnit(), 0, 0, false, spellInfo);
|
||||
}
|
||||
|
||||
void SmartGameObjectAI::JustSummoned(Creature* creature)
|
||||
|
||||
Reference in New Issue
Block a user