diff options
Diffstat (limited to 'src/server/scripts')
12 files changed, 38 insertions, 35 deletions
diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp index 622b625ee3c..9976fbd9bf7 100644 --- a/src/server/scripts/Commands/cs_rbac.cpp +++ b/src/server/scripts/Commands/cs_rbac.cpp @@ -34,6 +34,7 @@ EndScriptData */ struct RBACCommandData { + RBACCommandData(rbac::RBACData* rbac_, bool needDelete_) : rbac(rbac_), needDelete(needDelete_) { } RBACCommandData(RBACCommandData const&) = delete; ~RBACCommandData() { diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index d87d2aa17dc..b6c3e849f4b 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -472,7 +472,7 @@ struct npc_eye_of_acherus : public ScriptedAI break; case EVENT_LAUNCH_TOWARDS_DESTINATION: { - std::function<void(Movement::MoveSplineInit&)> initializer = [=](Movement::MoveSplineInit& init) + std::function<void(Movement::MoveSplineInit&)> initializer = [=, me = me](Movement::MoveSplineInit& init) { Movement::PointsArray path(EyeOfAcherusPath, EyeOfAcherusPath + EyeOfAcherusPathSize); init.MovebyPath(path); diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp index 3a5dc9f3e87..8f1116c7c71 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp @@ -710,7 +710,7 @@ class boss_gazakroth : public CreatureScript if (firebolt_timer <= diff) { DoCastVictim(SPELL_FIREBOLT, false); - firebolt_timer = 0.7 * IN_MILLISECONDS; + firebolt_timer = 700; } else firebolt_timer -= diff; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index efbdd91ca8f..200ee9d35ca 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -306,12 +306,12 @@ class npc_chromie_start : public CreatureScript { InitGossipMenuFor(player, GOSSIP_MENU_INITIAL); if (player->CanBeGameMaster()) // GM instance state override menu - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "[GM] Access instance control panel", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_OPEN_GM_MENU); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "[GM] Access instance control panel", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_OPEN_GM_MENU)); uint32 state = instance->GetData(DATA_INSTANCE_PROGRESS); if (state < PURGE_STARTING) { - AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_EXPLAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_EXPLAIN); + AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_EXPLAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_EXPLAIN)); { bool shouldAddSkipGossip = true; Map::PlayerList const& players = instance->instance->GetPlayers(); @@ -329,13 +329,13 @@ class npc_chromie_start : public CreatureScript } } if (shouldAddSkipGossip) - AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_SKIP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_SKIP); + AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_SKIP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_SKIP)); } SendGossipMenuFor(player, GOSSIP_TEXT_INITIAL, me->GetGUID()); } else { - AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_TELEPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_TELEPORT); + AddGossipItemFor(player, GOSSIP_MENU_INITIAL, GOSSIP_OPTION_TELEPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_TELEPORT)); SendGossipMenuFor(player, GOSSIP_TEXT_TELEPORT, me->GetGUID()); } } @@ -352,12 +352,12 @@ class npc_chromie_start : public CreatureScript { case GOSSIP_OFFSET_EXPLAIN: InitGossipMenuFor(player, GOSSIP_MENU_EXPLAIN_1); - AddGossipItemFor(player, GOSSIP_MENU_EXPLAIN_1, GOSSIP_OPTION_EXPLAIN_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_EXPLAIN_1); + AddGossipItemFor(player, GOSSIP_MENU_EXPLAIN_1, GOSSIP_OPTION_EXPLAIN_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_EXPLAIN_1)); SendGossipMenuFor(player, GOSSIP_TEXT_EXPLAIN_1, me->GetGUID()); break; case GOSSIP_OFFSET_SKIP: InitGossipMenuFor(player, GOSSIP_MENU_SKIP_1); - AddGossipItemFor(player, GOSSIP_MENU_SKIP_1, GOSSIP_OPTION_SKIP_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_SKIP_1); + AddGossipItemFor(player, GOSSIP_MENU_SKIP_1, GOSSIP_OPTION_SKIP_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_SKIP_1)); SendGossipMenuFor(player, GOSSIP_TEXT_SKIP_1, me->GetGUID()); break; case GOSSIP_OFFSET_SKIP_1: @@ -369,7 +369,7 @@ class npc_chromie_start : public CreatureScript break; case GOSSIP_OFFSET_EXPLAIN_1: InitGossipMenuFor(player, GOSSIP_MENU_EXPLAIN_2); - AddGossipItemFor(player, GOSSIP_MENU_EXPLAIN_2, GOSSIP_OPTION_EXPLAIN_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_EXPLAIN_2); + AddGossipItemFor(player, GOSSIP_MENU_EXPLAIN_2, GOSSIP_OPTION_EXPLAIN_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_EXPLAIN_2)); SendGossipMenuFor(player, GOSSIP_TEXT_EXPLAIN_2, me->GetGUID()); break; case GOSSIP_OFFSET_EXPLAIN_2: @@ -379,16 +379,16 @@ class npc_chromie_start : public CreatureScript me->CastSpell(player, SPELL_SUMMON_ARCANE_DISRUPTOR); break; case GOSSIP_OFFSET_OPEN_GM_MENU: - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Teleport all players to Arthas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_GM_INITIAL); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Teleport all players to Arthas", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_GM_INITIAL)); for (uint32 state = 1; state <= COMPLETE; state = state << 1) { if (GetStableStateFor(COSProgressStates(state)) == state) - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, Trinity::StringFormat("Set instance progress to 0x%05X", state).c_str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_GM_INITIAL + state); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, Trinity::StringFormat("Set instance progress to 0x%05X", state), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_GM_INITIAL) + state); } for (uint32 state = 1; state <= COMPLETE; state = state << 1) { if (GetStableStateFor(COSProgressStates(state)) != state) - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, Trinity::StringFormat("Force state to 0x%05X (UNSTABLE)", state).c_str(), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_GM_INITIAL + state); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, Trinity::StringFormat("Force state to 0x%05X (UNSTABLE)", state), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_GM_INITIAL) + state); } SendGossipMenuFor(player, GOSSIP_TEXT_SKIP_1, me->GetGUID()); break; @@ -404,7 +404,7 @@ class npc_chromie_start : public CreatureScript if (!player->CanBeGameMaster()) break; if (InstanceScript* instance = me->GetInstanceScript()) - instance->SetData(DATA_GM_OVERRIDE, action - GOSSIP_ACTION_INFO_DEF - GOSSIP_OFFSET_GM_INITIAL); + instance->SetData(DATA_GM_OVERRIDE, action - GOSSIP_ACTION_INFO_DEF - AsUnderlyingType(GOSSIP_OFFSET_GM_INITIAL)); break; } return false; @@ -514,7 +514,7 @@ class npc_chromie_middle : public CreatureScript player->PrepareQuestMenu(me->GetGUID()); if (Instance->GetData(DATA_INSTANCE_PROGRESS) == CRATES_DONE) - AddGossipItemFor(player, GOSSIP_MENU_STEP1, GOSSIP_OPTION_STEP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_STEP1); + AddGossipItemFor(player, GOSSIP_MENU_STEP1, GOSSIP_OPTION_STEP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_STEP1)); SendGossipMenuFor(player, GOSSIP_TEXT_STEP1, me->GetGUID()); return true; } @@ -527,12 +527,12 @@ class npc_chromie_middle : public CreatureScript { case GOSSIP_OFFSET_STEP1: InitGossipMenuFor(player, GOSSIP_MENU_STEP2); - AddGossipItemFor(player, GOSSIP_MENU_STEP2, GOSSIP_OPTION_STEP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_STEP2); + AddGossipItemFor(player, GOSSIP_MENU_STEP2, GOSSIP_OPTION_STEP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_STEP2)); SendGossipMenuFor(player, GOSSIP_TEXT_STEP2, me->GetGUID()); break; case GOSSIP_OFFSET_STEP2: InitGossipMenuFor(player, GOSSIP_MENU_STEP3); - AddGossipItemFor(player, GOSSIP_MENU_STEP3, GOSSIP_OPTION_STEP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + GOSSIP_OFFSET_STEP3); + AddGossipItemFor(player, GOSSIP_MENU_STEP3, GOSSIP_OPTION_STEP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + AsUnderlyingType(GOSSIP_OFFSET_STEP3)); SendGossipMenuFor(player, GOSSIP_TEXT_STEP3, me->GetGUID()); break; case GOSSIP_OFFSET_STEP3: diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index e13337d64dc..9c7fc4753d2 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -60,12 +60,13 @@ enum Sound enum Misc { - PULL_RANGE = 50, ABUSE_BUG_RANGE = 20, VEKLOR_DIST = 20, // VL will not come to melee when attacking TELEPORTTIME = 30000 }; +static constexpr float PULL_RANGE = 50.0f; + struct boss_twinemperorsAI : public BossAI { boss_twinemperorsAI(Creature* creature): BossAI(creature, DATA_TWIN_EMPERORS) diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index ca4ae2107d9..7cf2891403e 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -436,12 +436,12 @@ public: break; case PHASE_PLANT_FIRST_STAND: // plant first explosives stage 1 stand me->SetStandState(UNIT_STAND_STATE_STAND); - _moveTimer = 0.5* IN_MILLISECONDS; + _moveTimer = 0.5* AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_PLANT_FIRST_WORK; break; case PHASE_PLANT_FIRST_WORK: // plant first explosives stage 2 work Talk(SAY_LEGOSO_4); - _moveTimer = 17.5 * IN_MILLISECONDS; + _moveTimer = 17.5 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_PLANT_FIRST_FINISH; break; case PHASE_PLANT_FIRST_FINISH: // plant first explosives finish @@ -455,7 +455,7 @@ public: // force runoff movement so he will not screw up next waypoint me->GetMotionMaster()->MovePoint(WP_EXPLOSIVES_FIRST_RUNOFF, -1955.6f, -10669.8f, 110.65f, false); Talk(SAY_LEGOSO_5); - _moveTimer = 1.5 * IN_MILLISECONDS; + _moveTimer = 1.5 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_CONTINUE; break; case PHASE_PLANT_FIRST_TIMER_1: // first explosives detonate timer 1 @@ -661,7 +661,7 @@ public: SetEscortPaused(true); me->SetFacingToObject(player); Talk(SAY_LEGOSO_1); - _moveTimer = 2.5 * IN_MILLISECONDS; + _moveTimer = 2.5 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_CONTINUE; break; case WP_EXPLOSIVES_FIRST_POINT: @@ -681,7 +681,7 @@ public: break; case WP_DEBUG_1: SetEscortPaused(true); - _moveTimer = 0.5 * IN_MILLISECONDS; + _moveTimer = 0.5 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_WP_26; break; case WP_SIRONAS_HILL: @@ -708,12 +708,12 @@ public: } case WP_EXPLOSIVES_SECOND_BATTLEROAR: SetEscortPaused(true); - _moveTimer = 0.2 * IN_MILLISECONDS; + _moveTimer = 0.2 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_MEET_SIRONAS_ROAR; break; case WP_EXPLOSIVES_SECOND_PLANT: SetEscortPaused(true); - _moveTimer = 0.5 * IN_MILLISECONDS; + _moveTimer = 0.5 * AsUnderlyingType(IN_MILLISECONDS); _phase = PHASE_PLANT_SECOND_KNEEL; break; case WP_EXPLOSIVES_SECOND_DETONATE: diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index cc96f07496a..49b25a27040 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -879,7 +879,7 @@ public: Player* groupMember = nullptr; uint8 GroupMemberCount = 0; - uint8 DeadMemberCount = 0; + //uint8 DeadMemberCount = 0; uint8 FailedMemberCount = 0; Group::MemberSlotList const& members = EventGroup->GetMemberSlots(); @@ -896,8 +896,8 @@ public: } ++GroupMemberCount; - if (groupMember->isDead()) - ++DeadMemberCount; + //if (groupMember->isDead()) + // ++DeadMemberCount; } if (GroupMemberCount == FailedMemberCount || !player->IsWithinDistInMap(me, EVENT_AREA_RADIUS)) diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp index 3ee434e343e..a0824886d4a 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp @@ -198,7 +198,7 @@ struct npc_webwrap : public NullCreatureAI victimGUID = guid; if (Unit* victim = ObjectAccessor::GetUnit(*me, victimGUID)) { - visibleTimer = (me->GetDistance2d(victim)/WEB_WRAP_MOVE_SPEED + 0.5f) * IN_MILLISECONDS; + visibleTimer = (me->GetDistance2d(victim) / WEB_WRAP_MOVE_SPEED + 0.5f) * AsUnderlyingType(IN_MILLISECONDS); victim->CastSpell(victim, SPELL_WEB_WRAP, me->GetGUID()); } } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index b68d64307a2..fef51b6481f 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -57,10 +57,11 @@ enum Creatures enum Misc { DATA_MAX_SPARKS = 5, - DATA_MAX_SPARK_DISTANCE = 90, // Distance to boss - prevent runs through the whole instance DATA_POINT_CALLBACK = 0 }; +static constexpr float DATA_MAX_SPARK_DISTANCE = 90; // Distance to boss - prevent runs through the whole instance + /*###### ## Boss Ionar ######*/ diff --git a/src/server/scripts/Spells/spell_pet.cpp b/src/server/scripts/Spells/spell_pet.cpp index 068ee909857..201903d1a7d 100644 --- a/src/server/scripts/Spells/spell_pet.cpp +++ b/src/server/scripts/Spells/spell_pet.cpp @@ -306,8 +306,8 @@ public: if (Unit* owner = pet->ToPet()->GetOwner()) { - int32 fire = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); - int32 shadow = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_SHADOW); + int32 fire = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + AsUnderlyingType(SPELL_SCHOOL_FIRE)) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + AsUnderlyingType(SPELL_SCHOOL_FIRE)); + int32 shadow = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + AsUnderlyingType(SPELL_SCHOOL_SHADOW)) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + AsUnderlyingType(SPELL_SCHOOL_SHADOW)); int32 maximum = (fire > shadow) ? fire : shadow; if (maximum < 0) maximum = 0; @@ -334,8 +334,8 @@ public: if (Unit* owner = pet->ToPet()->GetOwner()) { //the damage bonus used for pets is either fire or shadow damage, whatever is higher - int32 fire = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); - int32 shadow = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_SHADOW); + int32 fire = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + AsUnderlyingType(SPELL_SCHOOL_FIRE)) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + AsUnderlyingType(SPELL_SCHOOL_FIRE)); + int32 shadow = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + AsUnderlyingType(SPELL_SCHOOL_SHADOW)) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + AsUnderlyingType(SPELL_SCHOOL_SHADOW)); int32 maximum = (fire > shadow) ? fire : shadow; float bonusDamage = 0.0f; diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index a55e4ecb42a..8e05a5ecdaa 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -727,7 +727,7 @@ class spell_warl_life_tap : public SpellScript int32 base = GetEffectInfo(effIndex).CalcValue(); float penalty = caster->CalculateSpellpowerCoefficientLevelPenalty(GetSpellInfo()); - float fmana = (float)base + caster->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) * 0.5f * penalty; + float fmana = (float)base + caster->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + AsUnderlyingType(SPELL_SCHOOL_SHADOW)) * 0.5f * penalty; // Improved Life Tap mod if (AuraEffect const* aurEff = caster->GetDummyAuraEffect(SPELLFAMILY_WARLOCK, WARLOCK_ICON_ID_IMPROVED_LIFE_TAP, 0)) diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 069360bc77f..36b93e66e2e 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -2085,7 +2085,7 @@ class npc_train_wrecker : public CreatureScript { me->SetFacingTo(target->GetOrientation()); me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK1H); - _timer = 1.5 * IN_MILLISECONDS; + _timer = 1.5 * AsUnderlyingType(IN_MILLISECONDS); _nextAction = EVENT_DO_WRECK; } else |