aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_scripts_full.sql24
-rw-r--r--sql/updates/5698_world.sql6
-rw-r--r--src/bindings/scripts/scripts/northrend/borean_tundra.cpp44
-rw-r--r--src/bindings/scripts/scripts/world/go_scripts.cpp10
4 files changed, 76 insertions, 8 deletions
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql
index 1fcb2b6326f..971d99e2f49 100644
--- a/sql/FULL/world_scripts_full.sql
+++ b/sql/FULL/world_scripts_full.sql
@@ -316,8 +316,9 @@ UPDATE `creature_template` SET `ScriptName`='npc_tiare' WHERE `entry`=30051;
UPDATE `creature_template` SET `ScriptName`='npc_sinkhole_kill_credit' WHERE `entry` IN (26248,26249);
UPDATE `creature_template` SET `ScriptName`='npc_khunok_the_behemoth' WHERE `entry`=25862;
UPDATE `creature_template` SET `ScriptName`='npc_keristrasza' WHERE `entry`=26206;
-update creature_template set ScriptName = 'npc_iruk' where entry = 26219;
-UPDATE creature_template SET ScriptName = 'npc_corastrasza' WHERE entry = 32548;
+UPDATE `creature_template` SET `ScriptName`='npc_iruk' WHERE `entry`=26219;
+UPDATE `creature_template` SET `ScriptName`='npc_corastrasza' WHERE `entry`=32548;
+UPDATE `creature_template` SET `ScriptName`='mob_nerubar_victim' WHERE `entry`=25284;
/* BURNING STEPPES */
UPDATE `creature_template` SET `ScriptName`='npc_ragged_john' WHERE `entry`=9563;
@@ -1257,12 +1258,12 @@ INSERT INTO `creature_ai_scripts` VALUES
( 3375000, 33750, 1, 0, 100, 0, 1, 1, 0, 0, 11, 63587, 0, 2, 11, 63583, 0, 2, 0, 0, 0, 0, 'Desecration');
/* EOF */
-UPDATE `creature_template` SET `ScriptName` = 'npc_skywing' WHERE entry=22424;
+UPDATE `creature_template` SET `ScriptName` = 'npc_skywing' WHERE `entry`=22424;
-DELETE FROM areatrigger_scripts WHERE entry=4156;
+DELETE FROM areatrigger_scripts WHERE `entry`=4156;
INSERT INTO areatrigger_scripts VALUES (4156, 'at_naxxramas_frostwyrm_wing');
-DELETE FROM areatrigger_scripts WHERE entry=3066;
+DELETE FROM areatrigger_scripts WHERE `entry`=3066;
INSERT INTO areatrigger_scripts VALUES (3066,'at_ravenholdt');
/* Oculus: "Just for the logic, shouldn't be necessary": */
@@ -1271,8 +1272,8 @@ INSERT INTO `creature_ai_scripts` (`creature_id`,`event_type`,`event_chance`,`ev
(23035,6,100,6,34,2,3,'Anzu - Set Inst Data on Death');
-- dk final quest
-UPDATE creature_template SET unit_flags=32768,AIName='EventAI' WHERE entry IN (29199,29204,29200,29174,29182,29186,29190,29219,29206,29176,29178,29179,29180,29177,29181);
-DELETE FROM creature_ai_scripts WHERE creature_id IN (29199,29204,29200,29174,29182,29186,29190,29219,29206,29176,29178,29179,29180,29177,29181);
+UPDATE `creature_template` SET `unit_flags`=32768,`AIName`='EventAI' WHERE `entry` IN (29199,29204,29200,29174,29182,29186,29190,29219,29206,29176,29178,29179,29180,29177,29181);
+DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (29199,29204,29200,29174,29182,29186,29190,29219,29206,29176,29178,29179,29180,29177,29181);
INSERT INTO `creature_ai_scripts` VALUES ('2919901', '29199', '0', '0', '100', '3', '10000', '20000', '10000', '20000', '11', '52374', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Koltira Deathweaver - SPELL_BLOOD_STRIKE1');
INSERT INTO `creature_ai_scripts` VALUES ('2919902', '29199', '0', '0', '100', '3', '10000', '20000', '10000', '20000', '11', '49576', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Koltira Deathweaver - SPELL_DEATH_GRIP');
INSERT INTO `creature_ai_scripts` VALUES ('2919903', '29199', '0', '0', '100', '3', '10000', '20000', '10000', '20000', '11', '52372', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Koltira Deathweaver - SPELL_ICY_TOUCH2');
@@ -1308,7 +1309,6 @@ INSERT INTO `creature_ai_scripts` VALUES ('2918102', '29181', '14', '0', '100',
INSERT INTO `creature_ai_scripts` VALUES ('2918103', '29181', '0', '0', '100', '3', '10000', '20000', '10000', '20000', '11', '20678', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Rayne - SPELL_STARFALL');
INSERT INTO `creature_ai_scripts` VALUES ('2918104', '29181', '0', '0', '100', '3', '10000', '20000', '10000', '20000', '11', '21807', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'Rayne - SPELL_WRATH');
-
-- spell 30298 tries to start event script 10675 but it doesn't exist. create it & make it spawn Geezle
delete from event_scripts where id = 10675;
insert into `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `x`, `y`, `z`, `o`) values
@@ -1316,3 +1316,11 @@ insert into `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`,
-- geezle should not spawn by default
update creature set spawnMask=0 where guid = 85587;
+
+-- Quest - The Warsong Farms
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25669;
+INSERT INTO `creature_ai_scripts`
+(`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`)
+VALUES
+(2566901, 25669, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25669, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Warsong Granary - Killed Moster at LOS'),(2567101, 25671, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25671, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Torp''s Farm - Killed Moster at LOS'),(2567201, 25672, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25672, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Warsong Slaughterhouse - Killed Moster at LOS');
+
diff --git a/sql/updates/5698_world.sql b/sql/updates/5698_world.sql
new file mode 100644
index 00000000000..bb3272bd46b
--- /dev/null
+++ b/sql/updates/5698_world.sql
@@ -0,0 +1,6 @@
+UPDATE `creature_template` SET `ScriptName`='mob_nerubar_victim' WHERE `entry`=25284;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25669;
+INSERT INTO `creature_ai_scripts`
+(`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`)
+VALUES
+(2566901, 25669, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25669, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Warsong Granary - Killed Moster at LOS'),(2567101, 25671, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25671, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Torp''s Farm - Killed Moster at LOS'),(2567201, 25672, 10, 0, 100, 3, 1, 20, 2000, 2000, 33, 25672, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Scout Warsong Slaughterhouse - Killed Moster at LOS'); \ No newline at end of file
diff --git a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
index 39a785421da..543b10eb903 100644
--- a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
+++ b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
@@ -443,7 +443,46 @@ bool GossipSelect_npc_iruk(Player* pPlayer, Creature* pCreature, uint32 uiSender
}
return true;
}
+/*######
+## mob_nerubar_victim
+######*/
+
+#define WARSONG_PEON 25270
+const uint32 nerubarVictims[3] =
+{
+ 45526, 45527, 45514
+};
+struct TRINITY_DLL_DECL mob_nerubar_victimAI : public ScriptedAI
+{
+ mob_nerubar_victimAI(Creature *c) : ScriptedAI(c) {}
+
+ void Reset() {}
+ void EnterCombat(Unit *who) {}
+ void MoveInLineOfSight(Unit *who) {}
+
+ void JustDied(Unit* Killer)
+ {
+ if(Killer->GetTypeId() == TYPEID_PLAYER)
+ {
+ if( CAST_PLR(Killer)->GetQuestStatus(11611) == QUEST_STATUS_INCOMPLETE)
+ {
+ uint8 rand = rand()%100;
+ if(rand < 25)
+ {
+ Killer->CastSpell(m_creature,45532,true);
+ CAST_PLR(Killer)->KilledMonsterCredit(WARSONG_PEON, 0);
+ }
+ else if(rand < 75)
+ Killer->CastSpell(m_creature,nerubarVictims[rand()%3],true);
+ }
+ }
+ }
+};
+CreatureAI* GetAI_mob_nerubar_victim(Creature *pCreature)
+{
+ return new mob_nerubar_victimAI (pCreature);
+}
void AddSC_borean_tundra()
{
Script *newscript;
@@ -493,4 +532,9 @@ void AddSC_borean_tundra()
newscript->pGossipHello = &GossipHello_npc_iruk;
newscript->pGossipSelect = &GossipSelect_npc_iruk;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="mob_nerubar_victim";
+ newscript->GetAI = &GetAI_mob_nerubar_victim;
+ newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/world/go_scripts.cpp b/src/bindings/scripts/scripts/world/go_scripts.cpp
index d0818fe8dc0..c10062782c4 100644
--- a/src/bindings/scripts/scripts/world/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/world/go_scripts.cpp
@@ -472,5 +472,15 @@ void AddSC_go_scripts()
newscript->Name = "go_tele_to_violet_stand";
newscript->pGOHello = &GOHello_go_tele_to_violet_stand;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_fel_crystalforge";
+ newscript->pGOHello = &GOHello_go_fel_crystalforge;
+ newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name = "go_bashir_crystalforge";
+ newscript->pGOHello = &GOHello_go_bashir_crystalforge;
+ newscript->RegisterSelf();
}