aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_07_04_02_world_misc.sql1
-rw-r--r--sql/updates/world/2013_07_05_01_world_creature_template.sql2
-rw-r--r--sql/updates/world/2013_07_05_02_world_misc.sql27
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp179
4 files changed, 28 insertions, 181 deletions
diff --git a/sql/updates/world/2013_07_04_02_world_misc.sql b/sql/updates/world/2013_07_04_02_world_misc.sql
index 3c6bcea5600..95d836122d8 100644
--- a/sql/updates/world/2013_07_04_02_world_misc.sql
+++ b/sql/updates/world/2013_07_04_02_world_misc.sql
@@ -1,4 +1,3 @@
UPDATE `creature_template` SET `ScriptName` = REPLACE(`ScriptName`, 'mob_', 'npc_') WHERE `ScriptName` LIKE 'mob\_%';
UPDATE `creature_template` SET `ScriptName` = REPLACE(`ScriptName`, 'mobs_', 'npc_') WHERE `ScriptName` LIKE 'mobs\_%';
UPDATE `spell_script_names` SET `ScriptName`='spell_trash_npc_glacial_strike' WHERE `ScriptName`='spell_trash_mob_glacial_strike';
-
diff --git a/sql/updates/world/2013_07_05_01_world_creature_template.sql b/sql/updates/world/2013_07_05_01_world_creature_template.sql
index 6a8500c852c..117df2273a9 100644
--- a/sql/updates/world/2013_07_05_01_world_creature_template.sql
+++ b/sql/updates/world/2013_07_05_01_world_creature_template.sql
@@ -201,4 +201,4 @@ update `creature_template` set exp=2 where `entry` in (37234,
37399, 37401, 37402, 37403, 37404, 37407, 37409, 37410, 37412, 37415,
37416, 37419, 37420, 37422, 37426, 37427, 37431, 37435, 37442, 37444,
37450, 37451, 37468, 37469, 37470, 37473, 37475, 37479, 37480, 37481,
-37483, 37484, 37485, 37486); \ No newline at end of file
+37483, 37484, 37485, 37486);
diff --git a/sql/updates/world/2013_07_05_02_world_misc.sql b/sql/updates/world/2013_07_05_02_world_misc.sql
new file mode 100644
index 00000000000..435a37613c3
--- /dev/null
+++ b/sql/updates/world/2013_07_05_02_world_misc.sql
@@ -0,0 +1,27 @@
+-- Into the Pit (thx to KirkHammett)
+SET @ENTRY := 30174;
+SET @SPELL_SMASH := 54458;
+SET @SPELL_DSHOUT := 54459;
+SET @SPELL_CHARGE := 54460;
+
+UPDATE `creature_template` SET `AIName`='SmartAI', `faction_A`=2128, `faction_H`=2128 WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid` =@ENTRY;
+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`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,0,0,0,0,2,31,0,0,0,0,0,1,0,0,0,0,0,0,0,'Hyldsmeet Warbear - OOC - Set Faction'),
+(@ENTRY,0,1,0,0,0,100,0,3000,6000,7000,12000,11,@SPELL_SMASH,1,0,0,0,0,2,0,0,0,0,0,0,0,'Hyldsmeet Warbear - In Combat - Cast Smash'),
+(@ENTRY,0,2,0,0,0,100,0,1000,35000,70000,95000,11,@SPELL_DSHOUT,1,0,0,0,0,2,0,0,0,0,0,0,0,'Hyldsmeet Warbear - In Combat - Cast Demoralizing Shout'),
+(@ENTRY,0,3,0,0,0,100,0,5000,9000,11000,17000,11,@SPELL_CHARGE,1,0,0,0,0,2,0,0,0,0,0,0,0,'Hyldsmeet Warbear - In Combat - Cast Charge');
+
+-- Some errors startup errors
+UPDATE `creature_equip_template` SET `itemEntry1`=12883 WHERE `entry`=29927 AND `id`=1;
+
+UPDATE `creature_template` SET `npcflag`=3 WHERE `entry`=37416;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37346;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37364;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37269;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37369;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37268;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37335;
+UPDATE `creature_template` SET `npcflag`=2 WHERE `entry`=37483;
+UPDATE `creature_template` SET `npcflag`=4194306 WHERE `entry`=37310;
+UPDATE `creature_template` SET `npcflag`=4194306 WHERE `entry`=37426;
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
index be0f4b47fed..14444e3bd87 100644
--- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
@@ -255,182 +255,6 @@ public:
};
/*######
-## npc_second_trial_controller
-######*/
-
-class npc_second_trial_controller : public CreatureScript
-{
-public:
- npc_second_trial_controller() : CreatureScript("npc_second_trial_controller") { }
-
- bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest)
- {
- // One Player exclusive quest, wait for user go activation
- if (quest->GetQuestId() == QUEST_SECOND_TRIAL)
- CAST_AI(npc_second_trial_controller::master_kelerun_bloodmournAI, creature->AI())->questPhase = 1;
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- // quest only available if not already started
- // Quest_template flag is set to : QUEST_FLAGS_EVENT
- // Escort quests or any other event-driven quests. If player in party, all players that can accept this quest will receive confirmation box to accept quest.
- // !not sure if this really works!
-
- if (CAST_AI(npc_second_trial_controller::master_kelerun_bloodmournAI, creature->AI())->questPhase == 0)
- {
- player->PrepareQuestMenu(creature->GetGUID());
- player->SendPreparedQuest(creature->GetGUID());
- }
-
- player->SEND_GOSSIP_MENU(creature->GetEntry(), creature->GetGUID());
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const
- {
- return new master_kelerun_bloodmournAI (creature);
- }
-
- struct master_kelerun_bloodmournAI : public ScriptedAI
- {
- master_kelerun_bloodmournAI(Creature* creature) : ScriptedAI(creature) {}
-
- uint8 questPhase;
- uint8 paladinPhase;
- uint32 timer;
-
- uint64 paladinGuid[4];
-
- void Reset()
- {
- questPhase = 0;
- timer = 60000;
- paladinPhase = 0;
- for (uint8 i = 0; i < 4; ++i)
- paladinGuid[i] = 0;
- }
-
- void EnterCombat(Unit* /*who*/) {}
-
- void UpdateAI(uint32 diff)
- {
- // Quest accepted but object not activated, object despawned (if in sync 1 minute!)
- if (questPhase == 1)
- {
- if (timer <= diff)
- Reset();
- else
- timer -= diff;
- }
- // fight the 4 paladin mobs phase
- else if (questPhase == 2)
- {
- if (timer <= diff)
- {
- if (Creature* paladinSpawn = Unit::GetCreature((*me), paladinGuid[paladinPhase]))
- {
- CAST_AI(npc_second_trial_paladin::npc_secondTrialAI, paladinSpawn->AI())->Activate(me->GetGUID());
-
- switch (paladinPhase)
- {
- case 0:
- Talk(TEXT_SECOND_TRIAL_1);
- break;
- case 1:
- Talk(TEXT_SECOND_TRIAL_2);
- break;
- case 2:
- Talk(TEXT_SECOND_TRIAL_3);
- break;
- case 3:
- Talk(TEXT_SECOND_TRIAL_4);
- break;
- }
- }
- else
- Reset();
-
- questPhase = 4;
- timer = OFFSET_NEXT_ATTACK;
- }
- else
- timer -= diff;
- }
-
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
-
- void StartEvent()
- {
- if (questPhase == 1)
- { // no player check, quest can be finished as group, so no complex PlayerGUID/group search code
- for (uint8 i = 0; i < 4; ++i)
- if (Creature* summoned = DoSpawnCreature(PaladinEntry[i], SpawnPosition[i].x, SpawnPosition[i].y, SpawnPosition[i].z, SpawnPosition[i].o, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 180000))
- paladinGuid[i] = summoned->GetGUID();
-
- timer = OFFSET_NEXT_ATTACK;
- questPhase = 2;
- }
- }
-
- void SecondTrialKill()
- {
- if (questPhase > 0)
- {
- ++paladinPhase;
-
- if (paladinPhase < 4)
- questPhase = 2;
- else
- Reset(); // Quest Complete, QuestComplete handler is
- }
- }
-
- void SummonedCreatureDespawn(Creature* /*c*/) {}
- };
-};
-
-void npc_second_trial_paladin::npc_secondTrialAI::JustDied(Unit* Killer)
-{
- if (Killer->GetTypeId() == TYPEID_PLAYER)
- {
- if (Creature* summoner = Unit::GetCreature((*me), summonerGuid))
- CAST_AI(npc_second_trial_controller::master_kelerun_bloodmournAI, summoner->AI())->SecondTrialKill();
-
- // last kill quest complete for group
- if (me->GetEntry() == CHAMPION_SUNSTRIKER)
- {
- if (Killer->GetTypeId() == TYPEID_PLAYER)
- Killer->ToPlayer()->GroupEventHappens(QUEST_SECOND_TRIAL, Killer);
- }
- }
-}
-
-/*######
-## go_second_trial
-######*/
-class go_second_trial : public GameObjectScript
-{
-public:
- go_second_trial() : GameObjectScript("go_second_trial") { }
-
- bool OnGossipHello(Player* /*player*/, GameObject* go)
- {
- // find spawn :: master_kelerun_bloodmourn
- if (Creature* creature = go->FindNearestCreature(MASTER_KELERUN_BLOODMOURN, 30.0f))
- CAST_AI(npc_second_trial_controller::master_kelerun_bloodmournAI, creature->AI())->StartEvent();
-
- return true;
- }
-};
-
-/*######
## npc_apprentice_mirveda
######*/
@@ -629,9 +453,6 @@ public:
void AddSC_eversong_woods()
{
- new npc_second_trial_controller();
- new npc_second_trial_paladin();
- new go_second_trial();
new npc_apprentice_mirveda();
new npc_infused_crystal();
}