mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-20 15:01:38 -04:00
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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user