Compare commits

...

2 Commits

Author SHA1 Message Date
Grimfeather
cfebfa91bb Update aq_war_effort.sql 2025-11-19 12:32:46 +01:00
Grimfeather
5b1f66f026 fix BRD Dark Keepers Portrait event (#865) 2025-11-19 10:09:19 +01:00
4 changed files with 129 additions and 6 deletions

View File

@@ -51,7 +51,7 @@ INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`,
(@CGUID+37,15737,0,0,1,0,0,1,1,0,1595.6,-4091.94,35.8097,5.20323,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
(@CGUID+38,15738,0,0,1,0,0,1,1,0,1598.27,-4090.5,35.8736,5.13568,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
(@CGUID+39,15739,0,0,1,0,0,1,1,0,1592.84,-4094.01,35.6404,5.82527,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0),
(@CGUID+40,21968,0,0,1,0,0,1,1,0,1601.01,-4091.87,35.5195,4.52778,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0), -- Silvermoon City Commendation Officer
-- (@CGUID+40,21968,0,0,1,0,0,1,1,0,1601.01,-4091.87,35.5195,4.52778,300,0,0,2614,0,0,0,0,0,'npc_ipp_we',0), -- Silvermoon City Commendation Officer
-- After AQ phase, the commendation Npcs move to their respective cities until the end of WotLK expansion, allows players to use up their marks if they have any after AQ
-- Post AQ Alliance Commendation Npcs
(@CGUID+41,15731,0,0,1,0,0,1,1,0,9949.44,2497.12,1317.629,4.7139,300,0,0,2614,0,0,0,0,0,'npc_ipp_naxx40',0),

View File

@@ -1,10 +1,10 @@
/* smart scripts */
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` IN
(8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8897, 8898, 8899, 8900, 8901, 8902, 8903, 8904, 8905, 8906, 8907, 8908, 8909, 8910, 8911, 8912, 8913,
8914, 8915, 8920, 8921, 8922, 8923, 9017, 9024, 9025, 9026, 9034, 9035, 9036, 9038, 9040, 9041, 9042, 9056, 9319, 9543, 9545, 9547, 9956, 10043);
(8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8897, 8898, 8899, 8900, 8901, 8902, 8903, 8904, 8905, 8906, 8907, 8908, 8909, 8910, 8911, 8912, 8913, 8914, 8915, 8920, 8921, 8922, 8923,
9017, 9024, 9025, 9026, 9034, 9035, 9036, 9038, 9040, 9041, 9042, 9056, 9319, 9437, 9438, 9439, 9441, 9442, 9443, 9543, 9545, 9547, 9956, 10043);
DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryorguid` IN
(8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8897, 8898, 8899, 8900, 8901, 8902, 8903, 8904, 8905, 8906, 8907, 8908, 8909, 8910, 8911, 8912, 8913,
8914, 8915, 8920, 8921, 8922, 8923, 9017, 9024, 9025, 9026, 9034, 9035, 9036, 9038, 9040, 9041, 9042, 9056, 9319, 9543, 9545, 9547, 9956, 10043);
(8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8897, 8898, 8899, 8900, 8901, 8902, 8903, 8904, 8905, 8906, 8907, 8908, 8909, 8910, 8911, 8912, 8913, 8914, 8915, 8920, 8921, 8922, 8923,
9017, 9024, 9025, 9026, 9034, 9035, 9036, 9038, 9040, 9041, 9042, 9056, 9319, 9437, 9438, 9439, 9441, 9442, 9443, 9543, 9545, 9547, 9956, 10043);
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`, `event_param6`,
@@ -243,6 +243,19 @@ INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_
(9319, 0, 2, 0, 0, 0, 100, 0, 4000, 12000, 4000, 12000, 0, 0, 11, 21049, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Houndmaster Grebmar - In Combat - Cast Bloodlust'), -- https://www.youtube.com/watch?v=RdBpOWNqZeg
(9319, 0, 3, 0, 2, 0, 100, 1, 0, 15, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Houndmaster Grebmar - Between 0-15% Health - Flee For Assist (No Repeat)'),
--
(9437, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 15234, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Vorfalk - In Combat - Cast Lightning Bolt'),
(9437, 0, 1, 0, 0, 0, 100, 0, 6000, 9000, 7000, 10000, 0, 0, 11, 15306, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Vorfalk - In Combat - Cast Shock'),
(9438, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 15228, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Bethek - In Combat - Cast Fireball'),
(9438, 0, 1, 0, 0, 0, 100, 0, 3000, 5000, 15000, 20000, 0, 0, 11, 12738, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Bethek - In Combat - Cast Amplify Damage'),
(9439, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 15232, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Uggel - In Combat - Cast Shadow Bolt'),
(9439, 0, 1, 0, 0, 0, 100, 0, 5000, 7000, 12000, 18000, 0, 0, 11, 14875, 33, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Uggel - In Combat - Cast Curse of Agony'),
(9441, 0, 0, 0, 0, 0, 100, 0, 9000, 14000, 40000, 55000, 0, 0, 11, 17139, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Zimrel - In Combat - Cast Power Word: Shield'),
(9441, 0, 1, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 15238, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Zimrel - In Combat - Cast Holy Smite'),
(9442, 0, 0, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 15230, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Ofgut - In Combat - Cast Arcane Bolt'),
(9442, 0, 1, 0, 0, 0, 100, 0, 7000, 12000, 18000, 24000, 0, 0, 11, 7121, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Ofgut - In Combat - Cast Anti-Magic Shield'),
(9443, 0, 0, 0, 1, 0, 100, 0, 1000, 1000, 900000, 900000, 0, 0, 11, 12544, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Pelver - Out of Combat - Cast Frost Armor'),
(9443, 0, 1, 0, 0, 0, 100, 0, 0, 0, 2000, 2000, 0, 0, 11, 12675, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dark Keeper Pelver - In Combat - Cast Frostbolt'),
--
(9543, 0, 0, 1, 62, 0, 100, 512, 1970, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ribbly Screwspigot - On Gossip Select - Set Faction'),
(9543, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 11, 10043, 30, 0, 0, 0, 0, 0, 0, 'Ribbly Screwspigot - On Gossip Select - Set Faction'),
(9543, 0, 2, 3, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ribbly Screwspigot - On Gossip Select - Talk'),
@@ -951,6 +964,9 @@ DELETE FROM `creature_loot_template` WHERE `Entry` = 9502 AND `Item` = 11743;
INSERT INTO `creature_loot_template` (Entry, Item, Reference, Chance, QuestRequired, LootMode, GroupId, MinCount, MaxCount, Comment) VALUES
(9502, 11743, 0, 0, 0, 1, 1, 1, 1, 'Phalanx - Rockfist');
-- fix Dark Keeper portrait event
UPDATE `gameobject_template` SET `ScriptName` = 'gobject_dark_keeper_portrait' WHERE `entry` = 164819;
DELETE FROM `gameobject` WHERE `guid` = 43131;
/* Fix Dark Coffer event */
SET @GUID := 640001;

View File

@@ -7,6 +7,7 @@ void AddSC_mod_individual_progression();
void AddSC_boss_onyxia_40();
void AddSC_instance_onyxias_lair_40();
void AddSC_instance_blackrock_spire_50_59_B();
void AddSC_instance_blackrock_depths_50_59_B();
void AddSC_instance_molten_core_60_1_A();
void AddSC_quest_jail_break_60_2();
void AddSC_quest_the_masquerade_60_2();
@@ -54,6 +55,7 @@ void Addmod_individual_progressionScripts()
AddSC_boss_onyxia_40();
AddSC_instance_onyxias_lair_40();
AddSC_instance_blackrock_spire_50_59_B();
AddSC_instance_blackrock_depths_50_59_B();
AddSC_instance_molten_core_60_1_A();
AddSC_quest_jail_break_60_2();
AddSC_quest_the_masquerade_60_2();

View File

@@ -0,0 +1,105 @@
/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "InstanceScript.h"
#include "IndividualProgression.h"
enum
{
NPC_DARK_KEEPER_VORFALK = 9437,
NPC_DARK_KEEPER_BETHEK = 9438,
NPC_DARK_KEEPER_UGGEL = 9439,
NPC_DARK_KEEPER_ZIMREL = 9441,
NPC_DARK_KEEPER_OFGUT = 9442,
NPC_DARK_KEEPER_PELVER = 9443,
GO_VORFALK = 164820,
GO_BETHEK = 164821,
GO_UGGEL = 164822,
GO_ZIMREL = 164823,
GO_OFGUT = 164824,
GO_PELVER = 164825
};
class gobject_dark_keeper_portrait : public GameObjectScript
{
public:
gobject_dark_keeper_portrait() : GameObjectScript("gobject_dark_keeper_portrait") { }
uint8_t DATA_TYPE_VAULT = 0;
bool OnGossipHello(Player* player, GameObject* go) override
{
switch (urand(0, 5))
{
case 0:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_VORFALK, 815.60f, -168.54f, -49.75f, 5.97f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_VORFALK, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
case 1:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_BETHEK, 846.66f, -317.18f, -50.29f, 3.90f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_BETHEK, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
case 2:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_UGGEL, 963.27f, -343.73f, -71.74f, 2.22f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_UGGEL, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
case 3:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_ZIMREL, 545.49f, -162.49f, -35.46f, 5.86f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_ZIMREL, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
case 4:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_OFGUT, 681.52f, -11.55f, -60.06f, 1.98f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_OFGUT, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
case 5:
if (DATA_TYPE_VAULT == 0)
{
DATA_TYPE_VAULT = 1;
player->SummonCreature(NPC_DARK_KEEPER_PELVER, 803.64f, -248.00f, -43.30f, 2.60f, TEMPSUMMON_DEAD_DESPAWN, 0);
player->SummonGameObject(GO_PELVER, 831.54f, -339.529f, -46.682f, 0.802851f, 0, 0, 0, 0, 0);
}
break;
}
return false;
}
};
void AddSC_instance_blackrock_depths_50_59_B()
{
new gobject_dark_keeper_portrait();
}