mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/Quest: Rework 'The Cleansing' (11317,11322) (#27413)
This commit is contained in:
93
sql/updates/world/3.3.5/2021_12_18_08_world.sql
Normal file
93
sql/updates/world/3.3.5/2021_12_18_08_world.sql
Normal file
@@ -0,0 +1,93 @@
|
||||
--
|
||||
UPDATE `gameobject_template` SET `ScriptName` = '' WHERE `entry` = 186649;
|
||||
|
||||
UPDATE `conditions` SET `SourceGroup` = 7 WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` = 50218;
|
||||
DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = -43351;
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE
|
||||
(`spell_id` = 43365 AND `ScriptName` = 'spell_the_cleansing_shrine_cast') OR
|
||||
(`spell_id` = 43351 AND `ScriptName` = 'spell_the_cleansing_cleansing_soul') OR
|
||||
(`spell_id` = 50217 AND `ScriptName` = 'spell_the_cleansing_mirror_image_script_effect') OR
|
||||
(`spell_id` = 50238 AND `ScriptName` = 'spell_the_cleansing_on_death_cast_on_master') OR
|
||||
(`spell_id` = 39823 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 39825 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40201 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40203 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40204 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40205 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40206 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40207 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40208 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40210 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40213 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40217 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40218 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40233 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40252 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 40352 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50014 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50023 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50219 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50221 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50222 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 50223 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 53374 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 60807 AND `ScriptName` = 'spell_gen_whisper_to_controller') OR
|
||||
(`spell_id` = 60811 AND `ScriptName` = 'spell_gen_whisper_to_controller');
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(43365,'spell_the_cleansing_shrine_cast'),
|
||||
(43351,'spell_the_cleansing_cleansing_soul'),
|
||||
(50217,'spell_the_cleansing_mirror_image_script_effect'),
|
||||
(50238,'spell_the_cleansing_on_death_cast_on_master'),
|
||||
(39823,'spell_gen_whisper_to_controller'),
|
||||
(39825,'spell_gen_whisper_to_controller'),
|
||||
(40201,'spell_gen_whisper_to_controller'),
|
||||
(40203,'spell_gen_whisper_to_controller'),
|
||||
(40204,'spell_gen_whisper_to_controller'),
|
||||
(40205,'spell_gen_whisper_to_controller'),
|
||||
(40206,'spell_gen_whisper_to_controller'),
|
||||
(40207,'spell_gen_whisper_to_controller'),
|
||||
(40208,'spell_gen_whisper_to_controller'),
|
||||
(40210,'spell_gen_whisper_to_controller'),
|
||||
(40213,'spell_gen_whisper_to_controller'),
|
||||
(40217,'spell_gen_whisper_to_controller'),
|
||||
(40218,'spell_gen_whisper_to_controller'),
|
||||
(40233,'spell_gen_whisper_to_controller'),
|
||||
(40252,'spell_gen_whisper_to_controller'),
|
||||
(40352,'spell_gen_whisper_to_controller'),
|
||||
(50014,'spell_gen_whisper_to_controller'),
|
||||
(50023,'spell_gen_whisper_to_controller'),
|
||||
(50219,'spell_gen_whisper_to_controller'),
|
||||
(50221,'spell_gen_whisper_to_controller'),
|
||||
(50222,'spell_gen_whisper_to_controller'),
|
||||
(50223,'spell_gen_whisper_to_controller'),
|
||||
(53374,'spell_gen_whisper_to_controller'),
|
||||
(60807,'spell_gen_whisper_to_controller'),
|
||||
(60811,'spell_gen_whisper_to_controller');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 27959 AND `source_type` = 0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 2795900 AND `source_type` = 9;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(27959,0,0,0,37,0,100,0,0,0,0,0,0,116,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On AI Initialize - Set Corpse Delay"),
|
||||
(27959,0,1,0,11,0,100,0,0,0,0,0,0,80,2795900,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Spawn - Run Script"),
|
||||
(27959,0,2,0,2,0,100,1,0,50,0,0,0,11,50222,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - Between 0-50% Health - Cast 'The Cleansing: Your Inner Turmoil's Whisper to Controller - On Health 50%' (No Repeat)"),
|
||||
(27959,0,3,0,6,0,100,0,0,0,0,0,0,11,50223,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Death - Cast 'The Cleansing: Your Inner Turmoil's Whisper to Controller - On Death'"),
|
||||
(27959,0,4,0,6,0,100,0,0,0,0,0,0,11,50238,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Death - Cast 'The Cleansing: Your Inner Turmoil's On Death Cast on Master'"),
|
||||
-- It has SPELL_ATTR3_DEATH_PERSISTENT but actually is removed after death, maybe not manually
|
||||
-- Kinda odd because it makes creature invisible, but Copy Weapon auras are not removed, so only weapons are visible without body
|
||||
(27959,0,5,0,6,0,100,0,0,0,0,0,0,28,50218,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Death - Remove Aura 'The Cleansing: Your Inner Turmoil's Mirror Image Aura'"),
|
||||
|
||||
(2795900,9,0,0,0,0,100,0,0,0,0,0,0,11,50217,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Cast 'The Cleansing: Script Effect Player Cast Mirror Image'"),
|
||||
(2795900,9,1,0,0,0,100,0,0,0,0,0,0,11,41408,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Cast 'Shadowform'"),
|
||||
(2795900,9,2,0,0,0,100,0,1000,1000,0,0,0,66,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Set Orientation Summoner"),
|
||||
(2795900,9,3,0,0,0,100,0,0,0,0,0,0,11,50219,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Cast 'The Cleansing: Your Inner Turmoil's Whisper to Controller - Spawn 01'"),
|
||||
(2795900,9,4,0,0,0,100,0,0,0,0,0,0,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Play Emote 1"),
|
||||
(2795900,9,5,0,0,0,100,0,6000,6000,0,0,0,66,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Set Orientation Summoner"),
|
||||
(2795900,9,6,0,0,0,100,0,0,0,0,0,0,11,50221,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Cast 'The Cleansing: Your Inner Turmoil's Whisper to Controller - Spawn 02'"),
|
||||
(2795900,9,7,0,0,0,100,0,0,0,0,0,0,5,25,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Play Emote 25"),
|
||||
-- Yes, again
|
||||
(2795900,9,8,0,0,0,100,0,6000,6000,0,0,0,11,50217,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Cast 'The Cleansing: Script Effect Player Cast Mirror Image'"),
|
||||
(2795900,9,9,0,0,0,100,0,0,0,0,0,0,144,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Set ImmunePC Off"),
|
||||
(2795900,9,10,0,0,0,100,0,0,0,0,0,0,49,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Your Inner Turmoil - On Script - Start Attack Summoner");
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` = 27959;
|
||||
@@ -18,11 +18,13 @@
|
||||
#include "ScriptMgr.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Player.h"
|
||||
#include "QuestDef.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
@@ -362,6 +364,135 @@ class spell_rivenwood_captives_on_quest : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## Quest 11317, 11322: The Cleansing
|
||||
######*/
|
||||
|
||||
enum TheCleansing
|
||||
{
|
||||
SPELL_CLEANSING_SOUL = 43351,
|
||||
SPELL_SUMMON_INNER_TURMOIL = 50167,
|
||||
SPELL_RECENT_MEDITATION = 61720,
|
||||
SPELL_MIRROR_IMAGE_AURA = 50218,
|
||||
|
||||
QUEST_THE_CLEANSING_H = 11317,
|
||||
QUEST_THE_CLEANSING_A = 11322
|
||||
};
|
||||
|
||||
// 43365 - The Cleansing: Shrine Cast
|
||||
class spell_the_cleansing_shrine_cast : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_the_cleansing_shrine_cast);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_RECENT_MEDITATION, SPELL_CLEANSING_SOUL }) &&
|
||||
sObjectMgr->GetQuestTemplate(QUEST_THE_CLEANSING_H) &&
|
||||
sObjectMgr->GetQuestTemplate(QUEST_THE_CLEANSING_A);
|
||||
}
|
||||
|
||||
SpellCastResult CheckCast()
|
||||
{
|
||||
// Error is correct for quest check but may be not correct for aura and this may be a wrong place to send error
|
||||
if (Player* target = GetExplTargetUnit()->ToPlayer())
|
||||
{
|
||||
if (target->HasAura(SPELL_RECENT_MEDITATION) || (!(target->GetQuestStatus(QUEST_THE_CLEANSING_H) == QUEST_STATUS_INCOMPLETE ||
|
||||
target->GetQuestStatus(QUEST_THE_CLEANSING_A) == QUEST_STATUS_INCOMPLETE)))
|
||||
{
|
||||
Spell::SendCastResult(target, GetSpellInfo(), 0, SPELL_FAILED_FIZZLE);
|
||||
return SPELL_FAILED_FIZZLE;
|
||||
}
|
||||
}
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_CLEANSING_SOUL, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnCheckCast += SpellCheckCastFn(spell_the_cleansing_shrine_cast::CheckCast);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_the_cleansing_shrine_cast::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 43351 - Cleansing Soul
|
||||
class spell_the_cleansing_cleansing_soul : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_the_cleansing_cleansing_soul);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_INNER_TURMOIL, SPELL_RECENT_MEDITATION });
|
||||
}
|
||||
|
||||
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
GetTarget()->SetStandState(UNIT_STAND_STATE_SIT);
|
||||
}
|
||||
|
||||
void AfterRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
target->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
target->CastSpell(target, SPELL_SUMMON_INNER_TURMOIL, true);
|
||||
target->CastSpell(target, SPELL_RECENT_MEDITATION, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_the_cleansing_cleansing_soul::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_the_cleansing_cleansing_soul::AfterRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
// 50217 - The Cleansing: Script Effect Player Cast Mirror Image
|
||||
class spell_the_cleansing_mirror_image_script_effect : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_the_cleansing_mirror_image_script_effect);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MIRROR_IMAGE_AURA });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_MIRROR_IMAGE_AURA, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_the_cleansing_mirror_image_script_effect::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
// 50238 - The Cleansing: Your Inner Turmoil's On Death Cast on Master
|
||||
class spell_the_cleansing_on_death_cast_on_master : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_the_cleansing_on_death_cast_on_master);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()) });
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
if (TempSummon* casterSummon = caster->ToTempSummon())
|
||||
if (Unit* summoner = casterSummon->GetSummonerUnit())
|
||||
summoner->CastSpell(summoner, GetEffectInfo().CalcValue(), true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_the_cleansing_on_death_cast_on_master::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_howling_fjord()
|
||||
{
|
||||
RegisterCreatureAI(npc_daegarn);
|
||||
@@ -369,4 +500,8 @@ void AddSC_howling_fjord()
|
||||
RegisterSpellScript(spell_mindless_abomination_explosion_fx_master);
|
||||
RegisterSpellScript(spell_rivenwood_captives_not_on_quest);
|
||||
RegisterSpellScript(spell_rivenwood_captives_on_quest);
|
||||
}
|
||||
RegisterSpellScript(spell_the_cleansing_shrine_cast);
|
||||
RegisterSpellScript(spell_the_cleansing_cleansing_soul);
|
||||
RegisterSpellScript(spell_the_cleansing_mirror_image_script_effect);
|
||||
RegisterSpellScript(spell_the_cleansing_on_death_cast_on_master);
|
||||
}
|
||||
|
||||
@@ -3680,6 +3680,29 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gen_whisper_to_controller : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gen_whisper_to_controller);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return sObjectMgr->GetBroadcastText(uint32(spellInfo->GetEffect(EFFECT_0).CalcValue()));
|
||||
}
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
if (TempSummon* casterSummon = caster->ToTempSummon())
|
||||
if (Player* target = casterSummon->GetSummonerUnit()->ToPlayer())
|
||||
casterSummon->Unit::Whisper(uint32(GetEffectValue()), target, false);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_gen_whisper_to_controller::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gen_eject_all_passengers : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gen_eject_all_passengers);
|
||||
@@ -4572,6 +4595,7 @@ void AddSC_generic_spell_scripts()
|
||||
RegisterSpellScript(spell_gen_vendor_bark_trigger);
|
||||
RegisterSpellScript(spell_gen_wg_water);
|
||||
RegisterSpellScript(spell_gen_whisper_gulch_yogg_saron_whisper);
|
||||
RegisterSpellScript(spell_gen_whisper_to_controller);
|
||||
RegisterSpellScript(spell_gen_eject_all_passengers);
|
||||
RegisterSpellScript(spell_gen_eject_passenger);
|
||||
RegisterSpellScriptWithArgs(spell_gen_eject_passenger_with_seatId, "spell_gen_eject_passenger_1", 0);
|
||||
|
||||
@@ -639,48 +639,6 @@ class go_veil_skith_cage : public GameObjectScript
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## go_frostblade_shrine
|
||||
######*/
|
||||
|
||||
enum TheCleansing
|
||||
{
|
||||
QUEST_THE_CLEANSING_HORDE = 11317,
|
||||
QUEST_THE_CLEANSING_ALLIANCE = 11322,
|
||||
SPELL_CLEANSING_SOUL = 43351,
|
||||
SPELL_RECENT_MEDITATION = 61720,
|
||||
};
|
||||
|
||||
class go_frostblade_shrine : public GameObjectScript
|
||||
{
|
||||
public:
|
||||
go_frostblade_shrine() : GameObjectScript("go_frostblade_shrine") { }
|
||||
|
||||
struct go_frostblade_shrineAI : public GameObjectAI
|
||||
{
|
||||
go_frostblade_shrineAI(GameObject* go) : GameObjectAI(go) { }
|
||||
|
||||
bool OnGossipHello(Player* player) override
|
||||
{
|
||||
me->UseDoorOrButton(10);
|
||||
if (!player->HasAura(SPELL_RECENT_MEDITATION))
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_THE_CLEANSING_HORDE) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_THE_CLEANSING_ALLIANCE) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
player->CastSpell(player, SPELL_CLEANSING_SOUL);
|
||||
player->SetStandState(UNIT_STAND_STATE_SIT);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
GameObjectAI* GetAI(GameObject* go) const override
|
||||
{
|
||||
return new go_frostblade_shrineAI(go);
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## go_midsummer_bonfire
|
||||
######*/
|
||||
@@ -1270,7 +1228,6 @@ void AddSC_go_scripts()
|
||||
new go_amberpine_outhouse();
|
||||
new go_massive_seaforium_charge();
|
||||
new go_veil_skith_cage();
|
||||
new go_frostblade_shrine();
|
||||
new go_midsummer_bonfire();
|
||||
new go_midsummer_ribbon_pole();
|
||||
new go_brewfest_music();
|
||||
|
||||
Reference in New Issue
Block a user