Scripts/Spells: Portal to Orgrimmar & Portal to Stormwind (#23463)

* Scripts/Spells: Portal to Orgrimmar & Portal to Stormwind

* Revert "Scripts/Spells: Portal to Orgrimmar & Portal to Stormwind"

This reverts commit a8055960

* Revert "Revert "Scripts/Spells: Portal to Orgrimmar & Portal to Stormwind""

This reverts commit a5be792b

* Fix NoPCH

* Clean up

* Clean up

* fixup! Clean up

* Caster -> Target

* Rename 9999_99_99_99_world.sql to 2019_06_22_01_world.sql

(cherry picked from commit ac7c72d633)
This commit is contained in:
Sorikoff
2019-06-22 14:36:53 +00:00
committed by Shauren
parent aa407adf3e
commit 799fba7fd1
3 changed files with 40 additions and 16 deletions

View File

@@ -20,9 +20,12 @@
#include "Map.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptedEscortAI.h"
#include "ScriptedGossip.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#define LESS_MOB // if you do not have a good server and do not want it to be laggy as hell
@@ -1664,8 +1667,41 @@ public:
};
// 58418 - Portal to Orgrimmar
// 58420 - Portal to Stormwind
class spell_teleport_leaders_blessing : public SpellScript
{
PrepareSpellScript(spell_teleport_leaders_blessing);
bool Validate(SpellInfo const* spellInfo) override
{
return spellInfo->GetEffects().size() > EFFECT_1
&& ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()) })
&& sObjectMgr->GetQuestTemplate(spellInfo->GetEffect(EFFECT_1).CalcValue()) != nullptr;
}
void HandleScriptEffect(SpellEffIndex /* effIndex */)
{
Player* target = GetHitPlayer();
if (!target)
return;
uint32 spellID = GetSpellInfo()->GetEffect(EFFECT_0).CalcValue();
uint32 questID = GetSpellInfo()->GetEffect(EFFECT_1).CalcValue();
if (target->GetQuestStatus(questID) == QUEST_STATUS_COMPLETE)
target->CastSpell(target, spellID, true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_teleport_leaders_blessing::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
void AddSC_the_scarlet_enclave_c5()
{
new npc_highlord_darion_mograine();
new npc_the_lich_king_tirion_dawn();
RegisterSpellScript(spell_teleport_leaders_blessing);
}