diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2018-03-07 03:32:32 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2018-03-07 03:34:45 -0300 |
| commit | 6e0b9a7916d158981cebe6107710141458d656cc (patch) | |
| tree | 2a44ad4e6049a7ed60b04ffbb8dd7f86d30d44a3 /src/server/scripts | |
| parent | 68dde9f8c5467c5983078b190e58105f99dad75c (diff) | |
Core/Creatures: port power type updates from master branch
Core/Misc: Added helper function Unit::SetFullPower
Cherry-picked from 8199eef81cad464bb43f3613ed884a2c8fc3973d
Core/Creatures: Updated power type handling (#20981)
Cherry-picked from 16a7a414abcc93c4514905b871f53c1049261c12
Diffstat (limited to 'src/server/scripts')
22 files changed, 37 insertions, 49 deletions
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index 9374203a731..61730d9815c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -194,7 +194,7 @@ public: { //selects a random target that isn't the current victim and is a mana user (selects mana users) but not pets //it also ignores targets who have the aura. We don't want to place the debuff on the same target twice. - if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 1, [&](Unit* u) { return u && !u->IsPet() && u->getPowerType() == POWER_MANA && !u->HasAura(SPELL_BURNINGADRENALINE); })) + if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 1, [&](Unit* u) { return u && !u->IsPet() && u->GetPowerType() == POWER_MANA && !u->HasAura(SPELL_BURNINGADRENALINE); })) { me->CastSpell(target, SPELL_BURNINGADRENALINE, true); } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp index 5071eb33ebf..ccf1cd7de26 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp @@ -425,7 +425,7 @@ public: if (ManaBurn_Timer <= diff) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) - if (target->getPowerType() == POWER_MANA) + if (target->GetPowerType() == POWER_MANA) DoCast(target, SPELL_MANABURN); ManaBurn_Timer = 5000; // 3 sec cast } else ManaBurn_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp index 6abc0f80a8e..5cd5d52aada 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp @@ -174,7 +174,7 @@ class boss_marli : public CreatureScript while (i++ < 3) // max 3 tries to get a random target with power_mana { target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true); // not aggro leader - if (target && target->getPowerType() == POWER_MANA) + if (target && target->GetPowerType() == POWER_MANA) break; } if (target) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp index 352d16fb7a2..3d9471560d4 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp @@ -176,7 +176,7 @@ class MarkTargetFilter bool operator()(WorldObject* target) const { if (Unit* unit = target->ToUnit()) - return unit->getPowerType() != POWER_MANA; + return unit->GetPowerType() != POWER_MANA; return false; } }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp index dc89f645d3d..c86432eecd3 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp @@ -149,7 +149,7 @@ class boss_moam : public CreatureScript std::list<Unit*> targetList; { for (ThreatReference const* ref : me->GetThreatManager().GetUnsortedThreatList()) - if (ref->GetVictim()->GetTypeId() == TYPEID_PLAYER && ref->GetVictim()->getPowerType() == POWER_MANA) + if (ref->GetVictim()->GetTypeId() == TYPEID_PLAYER && ref->GetVictim()->GetPowerType() == POWER_MANA) targetList.push_back(ref->GetVictim()); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 6bc1bdc9e10..15572301b94 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -616,7 +616,7 @@ struct boss_faction_championsAI : public BossAI void UpdatePower() { - if (me->getPowerType() == POWER_MANA) + if (me->GetPowerType() == POWER_MANA) me->ModifyPower(POWER_MANA, me->GetMaxPower(POWER_MANA) / 3); } @@ -675,7 +675,7 @@ struct boss_faction_championsAI : public BossAI { for (auto const& pair : me->GetCombatManager().GetPvECombatRefs()) if (Player* player = pair.second->GetOther(me)->ToPlayer()) - if (player->getPowerType() == POWER_MANA) + if (player->GetPowerType() == POWER_MANA) return player; return nullptr; } @@ -1820,7 +1820,7 @@ class npc_toc_rogue : public CreatureScript events.ScheduleEvent(EVENT_EVISCERATE, urand(20*IN_MILLISECONDS, 40*IN_MILLISECONDS)); events.ScheduleEvent(EVENT_WOUND_POISON, urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS)); SetEquipmentSlots(false, 47422, 49982, EQUIP_NO_CHANGE); - me->setPowerType(POWER_ENERGY); + me->SetPowerType(POWER_ENERGY); me->SetMaxPower(POWER_ENERGY, 100); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp index 8ec53102b02..240dbca6fe4 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp @@ -508,7 +508,7 @@ class spell_mistress_kiss_area : public SpellScript // get a list of players with mana targets.remove_if([](WorldObject* target) { - return target->GetTypeId() == TYPEID_PLAYER && target->ToPlayer()->getPowerType() == POWER_MANA; + return target->GetTypeId() == TYPEID_PLAYER && target->ToPlayer()->GetPowerType() == POWER_MANA; }); if (targets.empty()) diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index d5045c82bfd..d0c3a42f3ed 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -271,7 +271,7 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader void RecalculateDamage(SpellEffIndex /*effIndex*/) { - if (GetHitUnit()->getPowerType() != POWER_MANA) + if (GetHitUnit()->GetPowerType() != POWER_MANA) return; int32 const maxDamage = GetCaster()->GetMap()->IsHeroic() ? 15000 : 10000; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index 92251489963..334e3d73775 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -1055,7 +1055,7 @@ class spell_deathbringer_blood_link_aura : public SpellScriptLoader void HandlePeriodicTick(AuraEffect const* /*aurEff*/) { PreventDefaultAction(); - if (GetUnitOwner()->getPowerType() == POWER_ENERGY && GetUnitOwner()->GetPower(POWER_ENERGY) == GetUnitOwner()->GetMaxPower(POWER_ENERGY)) + if (GetUnitOwner()->GetPowerType() == POWER_ENERGY && GetUnitOwner()->GetPower(POWER_ENERGY) == GetUnitOwner()->GetMaxPower(POWER_ENERGY)) if (Creature* saurfang = GetUnitOwner()->ToCreature()) saurfang->AI()->DoAction(ACTION_MARK_OF_THE_FALLEN_CHAMPION); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index e483d960db7..bf9035604a3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1161,7 +1161,7 @@ class UnchainedMagicTargetSelector bool operator()(WorldObject* object) const { if (Unit* unit = object->ToUnit()) - return unit->getPowerType() != POWER_MANA; + return unit->GetPowerType() != POWER_MANA; return true; } }; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index d5e5dfcb5d7..95360a368ed 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -169,7 +169,7 @@ struct ManaVoidSelector : public std::unary_function<Unit*, bool> bool operator()(Unit* unit) const { - return unit->getPowerType() == POWER_MANA && _source->GetDistance(unit) > 15.0f; + return unit->GetPowerType() == POWER_MANA && _source->GetDistance(unit) > 15.0f; } WorldObject const* _source; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index c514fff54b0..16a44bb54bb 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -201,7 +201,7 @@ struct ManaUserTargetSelector : public std::unary_function<Unit*, bool> { bool operator()(Unit const* target) const { - return target->GetTypeId() == TYPEID_PLAYER && target->getPowerType() == POWER_MANA; + return target->GetTypeId() == TYPEID_PLAYER && target->GetPowerType() == POWER_MANA; } }; diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp index 92ced2c9c17..fcee93877af 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp @@ -145,7 +145,7 @@ class boss_anzu : public CreatureScript case EVENT_SPELL_BOMB: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) { - if (target->getPowerType() == POWER_MANA) + if (target->GetPowerType() == POWER_MANA) { DoCast(target, SPELL_SPELL_BOMB); Talk(SAY_SPELL_BOMB, target); diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 1ac243c64b2..e1f83c14440 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -209,7 +209,7 @@ public: if (ManaBurn_Timer <= diff) { Unit* target = me->GetVictim(); - if (target && target->getPowerType() == POWER_MANA) + if (target && target->GetPowerType() == POWER_MANA) DoCast(target, SPELL_MANA_BURN); ManaBurn_Timer = 8000 + rand32() % 8000; } else ManaBurn_Timer -= diff; diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp index 5f86b8fa987..73c823ac8c9 100644 --- a/src/server/scripts/Outland/zone_zangarmarsh.cpp +++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp @@ -88,7 +88,7 @@ public: ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - me->setPowerType(POWER_MANA); + me->SetPowerType(POWER_MANA); me->SetMaxPower(POWER_MANA, 200); //set a "fake" mana value, we can't depend on database doing it in this case me->SetPower(POWER_MANA, 200); diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index 526157708ad..9f8775e9bb9 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -496,7 +496,7 @@ class spell_dru_frenzied_regeneration : public AuraScript void PeriodicTick(AuraEffect const* aurEff) { // Converts up to 10 rage per second into health for $d. Each point of rage is converted into ${$m2/10}.1% of max health. - if (GetTarget()->getPowerType() != POWER_RAGE) + if (GetTarget()->GetPowerType() != POWER_RAGE) return; uint32 rage = GetTarget()->GetPower(POWER_RAGE); @@ -1357,7 +1357,7 @@ class spell_dru_revitalize : public SpellScriptLoader Unit* target = eventInfo.GetProcTarget(); uint32 spellId; - switch (target->getPowerType()) + switch (target->GetPowerType()) { case POWER_MANA: spellId = SPELL_DRUID_REVITALIZE_ENERGIZE_MANA; @@ -1803,7 +1803,7 @@ class spell_dru_t3_2p_bonus : public SpellScriptLoader Unit* target = eventInfo.GetProcTarget(); uint32 spellId; - switch (target->getPowerType()) + switch (target->GetPowerType()) { case POWER_MANA: spellId = SPELL_DRUID_T3_PROC_ENERGIZE_MANA; diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 943642b7d85..dbf7d7da256 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -2627,7 +2627,7 @@ class spell_gen_pet_summoned : public SpellScript newPet->setDeathState(ALIVE); newPet->SetFullHealth(); - newPet->SetPower(newPet->getPowerType(), newPet->GetMaxPower(newPet->getPowerType())); + newPet->SetPower(newPet->GetPowerType(), newPet->GetMaxPower(newPet->GetPowerType())); switch (newPet->GetEntry()) { @@ -2830,7 +2830,7 @@ public: bool operator()(WorldObject* obj) const { if (Unit* target = obj->ToUnit()) - return target->getPowerType() != POWER_MANA; + return target->GetPowerType() != POWER_MANA; return true; } @@ -2876,7 +2876,7 @@ class spell_gen_replenishment_aura : public AuraScript bool Load() override { - return GetUnitOwner()->getPowerType() == POWER_MANA; + return GetUnitOwner()->GetPowerType() == POWER_MANA; } void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/) diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index b47ad57c781..490f31b55b8 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -1101,7 +1101,7 @@ class spell_item_heartpierce : public SpellScriptLoader Unit* caster = eventInfo.GetActor(); uint32 spellId; - switch (caster->getPowerType()) + switch (caster->GetPowerType()) { case POWER_MANA: spellId = Mana; @@ -3851,7 +3851,7 @@ class spell_item_mad_alchemists_potion : public SpellScript Unit* target = GetCaster(); - if (target->getPowerType() == POWER_MANA) + if (target->GetPowerType() == POWER_MANA) availableElixirs.push_back(28509); // Elixir of Major Mageblood (22840) uint32 chosenElixir = Trinity::Containers::SelectRandomContainerElement(availableElixirs); @@ -3914,7 +3914,7 @@ class spell_item_crazy_alchemists_potion : public SpellScript if (!target->IsInCombat()) availableElixirs.push_back(53753); // Potion of Nightmares (40081) - if (target->getPowerType() == POWER_MANA) + if (target->GetPowerType() == POWER_MANA) availableElixirs.push_back(43186); // Runic Mana Potion(33448) uint32 chosenElixir = Trinity::Containers::SelectRandomContainerElement(availableElixirs); diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 4386390d49f..928be5a79a6 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -454,7 +454,7 @@ class spell_pal_blessing_of_sanctuary : public SpellScriptLoader bool CheckProc(ProcEventInfo& /*eventInfo*/) { - return GetTarget()->getPowerType() == POWER_MANA; + return GetTarget()->GetPowerType() == POWER_MANA; } void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) @@ -1518,7 +1518,7 @@ class spell_pal_judgement_of_wisdom_mana : public SpellScriptLoader bool CheckProc(ProcEventInfo& eventInfo) { - return eventInfo.GetProcTarget()->getPowerType() == POWER_MANA; + return eventInfo.GetProcTarget()->GetPowerType() == POWER_MANA; } void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 336b2d54be6..aa8b5a5f91d 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -78,7 +78,7 @@ class PowerCheck bool operator()(WorldObject* obj) const { if (Unit* target = obj->ToUnit()) - return target->getPowerType() != _power; + return target->GetPowerType() != _power; return true; } diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 091e06e82fb..a01be4e24f6 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -1541,7 +1541,7 @@ class spell_sha_mana_spring_totem : public SpellScriptLoader { if (Unit* target = GetHitUnit()) if (Unit* caster = GetCaster()) - if (target->getPowerType() == POWER_MANA) + if (target->GetPowerType() == POWER_MANA) { CastSpellExtraArgs args(GetOriginalCaster()->GetGUID()); args.AddSpellBP0(GetEffectValue()); @@ -1608,7 +1608,7 @@ class spell_sha_mana_tide_totem : public SpellScriptLoader { if (Unit* unitTarget = GetHitUnit()) { - if (unitTarget->getPowerType() == POWER_MANA) + if (unitTarget->GetPowerType() == POWER_MANA) { int32 effValue = GetEffectValue(); // Glyph of Mana Tide diff --git a/src/server/scripts/World/duel_reset.cpp b/src/server/scripts/World/duel_reset.cpp index bcbf14f0af0..21c928e9b58 100644 --- a/src/server/scripts/World/duel_reset.cpp +++ b/src/server/scripts/World/duel_reset.cpp @@ -46,24 +46,12 @@ class DuelResetScript : public PlayerScript if (sWorld->getBoolConfig(CONFIG_RESET_DUEL_HEALTH_MANA)) { player1->SaveHealthBeforeDuel(); - player1->SetHealth(player1->GetMaxHealth()); + player1->SaveManaBeforeDuel(); + player1->ResetAllPowers(); player2->SaveHealthBeforeDuel(); - player2->SetHealth(player2->GetMaxHealth()); - - // check if player1 class uses mana - if (player1->getPowerType() == POWER_MANA || player1->getClass() == CLASS_DRUID) - { - player1->SaveManaBeforeDuel(); - player1->SetPower(POWER_MANA, player1->GetMaxPower(POWER_MANA)); - } - - // check if player2 class uses mana - if (player2->getPowerType() == POWER_MANA || player2->getClass() == CLASS_DRUID) - { - player2->SaveManaBeforeDuel(); - player2->SetPower(POWER_MANA, player2->GetMaxPower(POWER_MANA)); - } + player2->SaveManaBeforeDuel(); + player2->ResetAllPowers(); } } @@ -90,11 +78,11 @@ class DuelResetScript : public PlayerScript loser->RestoreHealthAfterDuel(); // check if player1 class uses mana - if (winner->getPowerType() == POWER_MANA || winner->getClass() == CLASS_DRUID) + if (winner->GetPowerType() == POWER_MANA || winner->getClass() == CLASS_DRUID) winner->RestoreManaAfterDuel(); // check if player2 class uses mana - if (loser->getPowerType() == POWER_MANA || loser->getClass() == CLASS_DRUID) + if (loser->GetPowerType() == POWER_MANA || loser->getClass() == CLASS_DRUID) loser->RestoreManaAfterDuel(); } } |
