aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 8f858b9ffd1..dfb0beeb00e 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -12027,8 +12027,8 @@ void ObjectMgr::LoadJumpChargeParams()
// need for reload case
_jumpChargeParams.clear();
- // 0 1 2 3 4 5 6
- QueryResult result = WorldDatabase.Query("SELECT id, speed, treatSpeedAsMoveTimeSeconds, jumpGravity, spellVisualId, progressCurveId, parabolicCurveId FROM jump_charge_params");
+ // 0 1 2 3 4 5 6 7
+ QueryResult result = WorldDatabase.Query("SELECT id, speed, treatSpeedAsMoveTimeSeconds, jumpGravity, spellVisualId, progressCurveId, parabolicCurveId, triggerSpellId FROM jump_charge_params");
if (!result)
{
return;
@@ -12045,6 +12045,7 @@ void ObjectMgr::LoadJumpChargeParams()
Optional<int32> spellVisualId = fields[4].GetInt32OrNull();
Optional<int32> progressCurveId = fields[5].GetInt32OrNull();
Optional<int32> parabolicCurveId = fields[6].GetInt32OrNull();
+ Optional<int32> triggerSpellId = fields[7].GetInt32OrNull();
if (speed <= 0.0f)
{
@@ -12081,6 +12082,13 @@ void ObjectMgr::LoadJumpChargeParams()
parabolicCurveId.reset();
}
+ if (triggerSpellId && !sSpellMgr->GetSpellInfo(*triggerSpellId, DIFFICULTY_NONE))
+ {
+ TC_LOG_DEBUG("sql.sql", "Table `jump_charge_params` references non-existing trigger spell id: {} for id {}, ignored.",
+ *triggerSpellId, id);
+ triggerSpellId.reset();
+ }
+
JumpChargeParams& params = _jumpChargeParams[id];
params.Speed = speed;
params.TreatSpeedAsMoveTimeSeconds = treatSpeedAsMoveTimeSeconds;
@@ -12088,6 +12096,7 @@ void ObjectMgr::LoadJumpChargeParams()
params.SpellVisualId = spellVisualId;
params.ProgressCurveId = progressCurveId;
params.ParabolicCurveId = parabolicCurveId;
+ params.TriggerSpellId = triggerSpellId;
} while (result->NextRow());