aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI/ScriptedAI
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp106
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp2
2 files changed, 2 insertions, 106 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 9ab9e06b624..c3b132026a1 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -16,7 +16,7 @@ struct TSpellSummary
{
uint8 Targets; // set of enum SelectTarget
uint8 Effects; // set of enum SelectEffect
-} *SpellSummary;
+} extern *SpellSummary;
void SummonList::DoZoneInCombat(uint32 entry)
{
@@ -309,91 +309,6 @@ bool ScriptedAI::CanCast(Unit* pTarget, SpellEntry const* pSpell, bool bTriggere
return true;
}
-void FillSpellSummary()
-{
- SpellSummary = new TSpellSummary[GetSpellStore()->GetNumRows()];
-
- SpellEntry const* pTempSpell;
-
- for (uint32 i = 0; i < GetSpellStore()->GetNumRows(); ++i)
- {
- SpellSummary[i].Effects = 0;
- SpellSummary[i].Targets = 0;
-
- pTempSpell = GetSpellStore()->LookupEntry(i);
- //This spell doesn't exist
- if (!pTempSpell)
- continue;
-
- for (uint32 j = 0; j < 3; ++j)
- {
- //Spell targets self
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_CASTER)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SELF-1);
-
- //Spell targets a single enemy
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ENEMY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_DST_TARGET_ENEMY)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_ENEMY-1);
-
- //Spell targets AoE at enemy
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_AREA_ENEMY_SRC ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_AREA_ENEMY_DST ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_DEST_DYNOBJ_ENEMY)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_ENEMY-1);
-
- //Spell targets an enemy
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ENEMY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_DST_TARGET_ENEMY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_AREA_ENEMY_SRC ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_AREA_ENEMY_DST ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_DEST_DYNOBJ_ENEMY)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_ENEMY-1);
-
- //Spell targets a single friend(or self)
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ALLY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_PARTY)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SINGLE_FRIEND-1);
-
- //Spell targets aoe friends
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_TARGET ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_FRIEND-1);
-
- //Spell targets any friend(or self)
- if (pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_ALLY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_TARGET_PARTY ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_CASTER ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_UNIT_PARTY_TARGET ||
- pTempSpell->EffectImplicitTargetA[j] == TARGET_SRC_CASTER)
- SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_FRIEND-1);
-
- //Make sure that this spell includes a damage effect
- if (pTempSpell->Effect[j] == SPELL_EFFECT_SCHOOL_DAMAGE ||
- pTempSpell->Effect[j] == SPELL_EFFECT_INSTAKILL ||
- pTempSpell->Effect[j] == SPELL_EFFECT_ENVIRONMENTAL_DAMAGE ||
- pTempSpell->Effect[j] == SPELL_EFFECT_HEALTH_LEECH)
- SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_DAMAGE-1);
-
- //Make sure that this spell includes a healing effect (or an apply aura with a periodic heal)
- if (pTempSpell->Effect[j] == SPELL_EFFECT_HEAL ||
- pTempSpell->Effect[j] == SPELL_EFFECT_HEAL_MAX_HEALTH ||
- pTempSpell->Effect[j] == SPELL_EFFECT_HEAL_MECHANICAL ||
- (pTempSpell->Effect[j] == SPELL_EFFECT_APPLY_AURA && pTempSpell->EffectApplyAuraName[j] == 8))
- SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_HEALING-1);
-
- //Make sure that this spell applies an aura
- if (pTempSpell->Effect[j] == SPELL_EFFECT_APPLY_AURA)
- SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_AURA-1);
- }
- }
-}
-
void ScriptedAI::DoResetThreat()
{
if (!me->CanHaveThreatList() || me->getThreatManager().isThreatListEmpty())
@@ -702,25 +617,6 @@ void BossAI::SummonedCreatureDespawn(Creature *summon)
summons.Despawn(summon);
}
-#define GOBJECT(x) (const_cast<GameObjectInfo*>(GetGameObjectInfo(x)))
-
-void LoadOverridenSQLData()
-{
- GameObjectInfo *goInfo;
-
- // Sunwell Plateau : Kalecgos : Spectral Rift
- goInfo = GOBJECT(187055);
- if (goInfo)
- if (goInfo->type == GAMEOBJECT_TYPE_GOOBER)
- goInfo->goober.lockId = 57; // need LOCKTYPE_QUICK_OPEN
-
- // Naxxramas : Sapphiron Birth
- goInfo = GOBJECT(181356);
- if (goInfo)
- if (goInfo->type == GAMEOBJECT_TYPE_TRAP)
- goInfo->trap.radius = 50;
-}
-
// SD2 grid searchers.
Creature *GetClosestCreatureWithEntry(WorldObject *pSource, uint32 uiEntry, float fMaxSearchRange, bool bAlive)
{
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index 9b27504c1b7..b4cd3f3eb9e 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -394,7 +394,7 @@ void npc_escortAI::AddWaypoint(uint32 id, float x, float y, float z, uint32 Wait
void npc_escortAI::FillPointMovementListForCreature()
{
- std::vector<ScriptPointMove> const &pPointsEntries = pSystemMgr.GetPointMoveList(me->GetEntry());
+ std::vector<ScriptPointMove> const &pPointsEntries = sScriptSystemMgr.GetPointMoveList(me->GetEntry());
if (pPointsEntries.empty())
return;