refactor(Script/SAI): Move Corastrasza script to SAI (#8616)
* Core/SAI Corastrasza Moved core script to SAI. There is a core issue with SAI cast on envoker being cast on the npc and not the player. Do not push until core issue is fixed. * Update rev_1634483390934220500.sql * Update rev_1634483390934220500.sql * Update rev_1634483390934220500.sql Spells now work properly
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
-- *** Quest "Aces High!" ***
|
||||||
|
-- Condition for source Gossip menu condition type Quest taken
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=10204 AND `SourceEntry` IN (14169,14170) AND `SourceId`=0;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(14, 10204, 14169, 0, 0, 9, 0, 13413, 0, 0, 0, 0, 0, '', 'Show gossip menu 10204 text id 14169 if quest Aces High! has been taken.'),
|
||||||
|
(14, 10204, 14170, 0, 0, 9, 0, 13414, 0, 0, 0, 0, 0, '', 'Show gossip menu 10204 text id 14170 if quest Aces High! "Daily" has been taken.');
|
||||||
|
|
||||||
|
-- Condition for source Gossip menu option condition type Quest taken
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10204 AND `SourceEntry` IN (0,1) AND `SourceId`=0;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||||
|
(15, 10204, 0, 0, 0, 9, 0, 13413, 0, 0, 0, 0, 0, '', 'Show gossip menu 10204 option id 0 if quest Aces High! has been taken.'),
|
||||||
|
(15, 10204, 1, 0, 0, 9, 0, 13414, 0, 0, 0, 0, 0, '', 'Show gossip menu 10204 option id 1 if quest Aces High! "Daily" has been taken.');
|
||||||
|
|
||||||
|
-- Corastrasza SAI
|
||||||
|
SET @ENTRY := 32548;
|
||||||
|
UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY;
|
||||||
|
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
|
||||||
|
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,2,62,0,100,0,10204,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Corastrasza - Gossip option select 0 - Close Gossip for player'),
|
||||||
|
(@ENTRY,0,1,2,62,0,100,0,10204,1,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Corastrasza - Gossip option select 1 - Close Gossip for player'),
|
||||||
|
(@ENTRY,0,2,3,61,0,100,0,0,0,0,0,85,61240,0,0,0,0,0,1,0,0,0,0,0,0,0,'Corastrasza - Gossip option select - Cast ''Summon Wyrmrest Skytalon'' on player'),
|
||||||
|
(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,85,61244,0,0,0,0,0,1,0,0,0,0,0,0,0,'Corastrasza - Gossip option select - Cast ''Wyrmrest Skytalon Ride Periodic'' on player');
|
||||||
@@ -264,53 +264,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_corastrasza
|
|
||||||
######*/
|
|
||||||
|
|
||||||
#define GOSSIP_ITEM_C_1 "I... I think so..."
|
|
||||||
|
|
||||||
enum Corastrasza
|
|
||||||
{
|
|
||||||
SPELL_SUMMON_WYRMREST_SKYTALON = 61240,
|
|
||||||
SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC = 61244,
|
|
||||||
|
|
||||||
QUEST_ACES_HIGH_DAILY = 13414,
|
|
||||||
QUEST_ACES_HIGH = 13413
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_corastrasza : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_corastrasza() : CreatureScript("npc_corastrasza") { }
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature) override
|
|
||||||
{
|
|
||||||
if (creature->IsQuestGiver())
|
|
||||||
player->PrepareQuestMenu(creature->GetGUID());
|
|
||||||
|
|
||||||
if (player->GetQuestStatus(QUEST_ACES_HIGH) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_ACES_HIGH_DAILY) == QUEST_STATUS_INCOMPLETE) //It's the same dragon for both quests.
|
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_C_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
|
||||||
|
|
||||||
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
|
|
||||||
{
|
|
||||||
ClearGossipMenuFor(player);
|
|
||||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
|
||||||
{
|
|
||||||
CloseGossipMenuFor(player);
|
|
||||||
|
|
||||||
player->CastSpell(player, SPELL_SUMMON_WYRMREST_SKYTALON, true);
|
|
||||||
player->CastSpell(player, SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## npc_iruk
|
## npc_iruk
|
||||||
######*/
|
######*/
|
||||||
@@ -1395,7 +1348,6 @@ void AddSC_borean_tundra()
|
|||||||
// Theirs
|
// Theirs
|
||||||
new npc_sinkhole_kill_credit();
|
new npc_sinkhole_kill_credit();
|
||||||
new npc_khunok_the_behemoth();
|
new npc_khunok_the_behemoth();
|
||||||
new npc_corastrasza();
|
|
||||||
new npc_iruk();
|
new npc_iruk();
|
||||||
new npc_nerubar_victim();
|
new npc_nerubar_victim();
|
||||||
new npc_lurgglbr();
|
new npc_lurgglbr();
|
||||||
|
|||||||
Reference in New Issue
Block a user