Core/Scripts: Removed unused Troll Initial zone scripts

This commit is contained in:
SistemasCPU
2026-10-08 09:50:33 +02:00
parent 02fd9aaced
commit 1cea2209f8
2 changed files with 4 additions and 261 deletions
@@ -0,0 +1,2 @@
UPDATE `creature_template` SET `ScriptName` = '' WHERE `ScriptName` IN ('npc_legati', 'npc_tunari', 'npc_ertezza');
UPDATE `quest_template_addon` SET `ScriptName` = '' WHERE `ScriptName` IN ('quest_proving_pit_shaman', 'quest_the_basics_hitting_things_priest');
+2 -261
View File
@@ -655,261 +655,6 @@ enum VoljinVisionData
SPELL_GENERIC_QUEST_INVISIBILITY_8 = 78718,
};
// 38966 - Vol'jin (specific script for guid 309032)
struct npc_voljin_garrosh_vision : public ScriptedAI
{
npc_voljin_garrosh_vision(Creature* creature) : ScriptedAI(creature), _scriptRunning(false) { }
void JustAppeared() override
{
me->SetGossipMenuId(GOSSIP_MENU_GARROSH_VISION);
Creature* garrosh = me->FindNearestCreatureWithOptions(10.0f, { .StringId = "vision_of_garrosh", .IgnorePhases = true });
Creature* voljin = me->FindNearestCreatureWithOptions(10.0f, { .StringId = "vision_of_voljin", .IgnorePhases = true });
Creature* bunny = me->FindNearestCreatureWithOptions(10.0f, { .StringId = "vision_brazier_bunny_garrosh", .IgnorePhases = true });
GameObject* brazier = me->FindNearestGameObjectWithOptions(10.0f, { .StringId = "vision_brazier_garrosh_voljin", .IgnorePhases = true });
if (!garrosh || !voljin || !bunny || !brazier)
return;
_garroshGUID = garrosh->GetGUID();
_voljinGUID = voljin->GetGUID();
_bunnyGUID = bunny->GetGUID();
_brazierGUID = brazier->GetGUID();
}
void OnQuestReward(Player* /*player*/, Quest const* quest, LootItemType /*type*/, uint32 /*opt*/) override
{
if (_scriptRunning)
return;
switch (quest->GetQuestId())
{
case QUEST_MORE_THAN_EXPECTED_WARRIOR:
case QUEST_MORE_THAN_EXPECTED_MAGE:
case QUEST_MORE_THAN_EXPECTED_SHAMAN:
case QUEST_MORE_THAN_EXPECTED_ROGUE:
case QUEST_MORE_THAN_EXPECTED_HUNTER:
case QUEST_MORE_THAN_EXPECTED_PRIEST:
case QUEST_MORE_THAN_EXPECTED_DRUID:
case QUEST_MORE_THAN_EXPECTED_WARLOCK:
case QUEST_MORE_THAN_EXPECTED_MONK:
_scriptRunning = true;
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_1, 0s);
break;
default:
break;
}
}
bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 /*gossipListId*/) override
{
CloseGossipMenuFor(player);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_1, 0s);
_scriptRunning = true;
return false;
}
void UpdateAI(uint32 diff) override
{
if (!_scriptRunning)
return;
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_VOLJIN_VISION_SCRIPT_1:
{
me->SetGossipMenuId(GOSSIP_MENU_VISION_IN_PROGRESS);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_2, 0s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_2:
{
me->SetFacingTo(3.97935f);
Talk(SAY_VOLJIN_SCRIPT_TEXT_0);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_3, 3s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_3:
{
DoCastSelf(SPELL_RITES_OF_VISION);
if (Creature* bunny = ObjectAccessor::GetCreature(*me, _bunnyGUID))
bunny->AI()->DoCastSelf(SPELL_VOLJINS_VISION_SMOKE);
if (GameObject* brazier = ObjectAccessor::GetGameObject(*me, _brazierGUID))
brazier->SetGoState(GO_STATE_ACTIVE);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_4, 4s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_4:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
{
garrosh->AI()->DoCastSelf(SPELL_GENERIC_QUEST_INVISIBILITY_1);
garrosh->RemoveAura(SPELL_GENERIC_QUEST_INVISIBILITY_8);
}
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_5, 1s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_5:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
garrosh->AI()->Talk(SAY_GORROSH_VISION_SCRIPT_TEXT_0);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_6, 7s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_6:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
{
voljin->AI()->DoCastSelf(SPELL_GENERIC_QUEST_INVISIBILITY_1);
voljin->RemoveAura(SPELL_GENERIC_QUEST_INVISIBILITY_8);
}
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_7, 4s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_7:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_0);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_8, 11s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_8:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_1);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_9, 6s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_9:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
garrosh->AI()->Talk(SAY_GORROSH_VISION_SCRIPT_TEXT_1);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_10, 11s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_10:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_2);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_11, 11s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_11:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
garrosh->AI()->Talk(SAY_GORROSH_VISION_SCRIPT_TEXT_2);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_12, 16s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_12:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_3);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_13, 16s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_13:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_4);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_14, 15s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_14:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_5);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_15, 17s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_15:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
garrosh->AI()->Talk(SAY_GORROSH_VISION_SCRIPT_TEXT_3);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_16, 3s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_16:
{
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
garrosh->AI()->Talk(SAY_GORROSH_VISION_SCRIPT_TEXT_4);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_17, 3s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_17:
{
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
voljin->AI()->Talk(SAY_VOLJIN_VISION_SCRIPT_TEXT_6);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_18, 9s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_18:
{
me->RemoveAura(SPELL_RITES_OF_VISION);
if (Creature* garrosh = ObjectAccessor::GetCreature(*me, _garroshGUID))
{
garrosh->AI()->DoCastSelf(SPELL_GENERIC_QUEST_INVISIBILITY_8);
garrosh->RemoveAura(SPELL_GENERIC_QUEST_INVISIBILITY_1);
}
if (Creature* voljin = ObjectAccessor::GetCreature(*me, _voljinGUID))
{
voljin->AI()->DoCastSelf(SPELL_GENERIC_QUEST_INVISIBILITY_8);
voljin->RemoveAura(SPELL_GENERIC_QUEST_INVISIBILITY_1);
}
if (Creature* bunny = ObjectAccessor::GetCreature(*me, _bunnyGUID))
bunny->RemoveAura(SPELL_VOLJINS_VISION_SMOKE);
if (GameObject* brazier = ObjectAccessor::GetGameObject(*me, _brazierGUID))
brazier->SetGoState(GO_STATE_READY);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_19, 2s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_19:
{
me->SetFacingTo(0.837758f);
Talk(SAY_VOLJIN_SCRIPT_TEXT_1);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_20, 9s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_20:
{
Talk(SAY_VOLJIN_SCRIPT_TEXT_2);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_21, 16s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_21:
{
Talk(SAY_VOLJIN_SCRIPT_TEXT_3);
_events.ScheduleEvent(EVENT_VOLJIN_VISION_SCRIPT_22, 8s);
break;
}
case EVENT_VOLJIN_VISION_SCRIPT_22:
{
me->SetGossipMenuId(GOSSIP_MENU_GARROSH_VISION);
_scriptRunning = false;
break;
}
default:
break;
}
}
}
private:
EventMap _events;
bool _scriptRunning;
ObjectGuid _garroshGUID;
ObjectGuid _voljinGUID;
ObjectGuid _bunnyGUID;
ObjectGuid _brazierGUID;
};
// 38966 - Vol'jin (specific script for guid 3000469)
struct npc_voljin_thrall_vision : public ScriptedAI
{
@@ -1289,16 +1034,14 @@ void AddSC_durotar()
RegisterCreatureAI(npc_darkspear_jailor);
RegisterCreatureAI(npc_captive_spitescale_scout);
new GenericCreatureScript<npc_echo_isles_class_trainer<0, QUEST_PROVING_PIT_WARRIOR>>("npc_nortet");
new GenericCreatureScript<npc_echo_isles_class_trainer<1, QUEST_PROVING_PIT_PRIEST>>("npc_tunari");
new GenericCreatureScript<npc_echo_isles_class_trainer<2, QUEST_PROVING_PIT_MAGE>>("npc_seratha");
new GenericCreatureScript<npc_echo_isles_class_trainer<3, QUEST_PROVING_PIT_ROGUE>>("npc_legati");
new GenericCreatureScript<npc_echo_isles_class_trainer<4, QUEST_PROVING_PIT_SHAMAN>>("npc_nekali");
new GenericCreatureScript<npc_echo_isles_class_trainer<5, QUEST_PROVING_PIT_HUNTER>>("npc_ertezza");
new GenericCreatureScript<npc_echo_isles_class_trainer<6, QUEST_PROVING_PIT_DRUID>>("npc_zentabra");
new GenericCreatureScript<npc_echo_isles_class_trainer<7, QUEST_PROVING_PIT_WARLOCK>>("npc_voldreka");
new GenericCreatureScript<npc_echo_isles_class_trainer<8, QUEST_PROVING_PIT_MONK>>("npc_zabrax");
new GenericCreatureScript<npc_echo_isles_class_trainer<7, QUEST_PROVING_PIT_WARLOCK>>("npc_voldreka");
new GenericCreatureScript<npc_echo_isles_class_trainer<8, QUEST_PROVING_PIT_MONK>>("npc_zabrax");
new quest_the_basics_hitting_things<NPC_TRAINER_NORTET>("quest_the_basics_hitting_things_warrior");
new quest_the_basics_hitting_things<NPC_TRAINER_TUNARI>("quest_the_basics_hitting_things_priest");
new quest_the_basics_hitting_things<NPC_TRAINER_SERATHA>("quest_the_basics_hitting_things_mage");
new quest_the_basics_hitting_things<NPC_TRAINER_LEGATI>("quest_the_basics_hitting_things_rogue");
new quest_the_basics_hitting_things<NPC_TRAINER_NEKALI>("quest_the_basics_hitting_things_shaman");
@@ -1307,7 +1050,6 @@ void AddSC_durotar()
new quest_the_basics_hitting_things<NPC_TRAINER_VOLDREKA>("quest_the_basics_hitting_things_warlock");
new quest_the_basics_hitting_things<NPC_TRAINER_ZABRAX>("quest_the_basics_hitting_things_monk");
new quest_proving_pit<NPC_TRAINER_NORTET>("quest_proving_pit_warrior");
new quest_proving_pit<NPC_TRAINER_TUNARI>("quest_proving_pit_priest");
new quest_proving_pit<NPC_TRAINER_SERATHA>("quest_proving_pit_mage");
new quest_proving_pit<NPC_TRAINER_LEGATI>("quest_proving_pit_rogue");
new quest_proving_pit<NPC_TRAINER_NEKALI>("quest_proving_pit_shaman");
@@ -1315,7 +1057,6 @@ void AddSC_durotar()
new quest_proving_pit<NPC_TRAINER_ZENTABRA>("quest_proving_pit_druid");
new quest_proving_pit<NPC_TRAINER_VOLDREKA>("quest_proving_pit_warlock");
new quest_proving_pit<NPC_TRAINER_ZABRAX>("quest_proving_pit_monk");
RegisterCreatureAI(npc_voljin_garrosh_vision);
RegisterCreatureAI(npc_voljin_thrall_vision);
// AreaTriggers