mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
DB/Quest: Convert Reports from the Field to SAI
This commit is contained in:
18
sql/updates/world/3.3.5/2020_01_19_03_world.sql
Normal file
18
sql/updates/world/3.3.5/2020_01_19_03_world.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
--
|
||||
UPDATE `creature_template` SET `AIName`= 'SmartAI', `ScriptName`="" WHERE `entry`IN (23778,23998);
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (23998,23778) 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
|
||||
(23778, 0, 0, 0, 1, 0, 100, 0, 0, 45000, 90000, 180000, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dark Ranger Lyana - OOC - Say'),
|
||||
(23778, 0, 1, 0, 62, 0, 100, 0, 8879, 0, 0, 0, 11, 42799, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dark Ranger Lyana - on gossip select - Credit quest'),
|
||||
(23778, 0, 2, 0, 0, 0, 100, 0, 2000, 2000, 2000, 3000, 11, 61512, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Dark Ranger Lyana - IC - Cast '),
|
||||
(23998, 0, 0, 0, 62, 0, 100, 0, 8870, 0, 0, 0, 11, 42756, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Deathstalker Razael - on gossip select - Credit quest');
|
||||
|
||||
UPDATE `creature` SET `position_x`=1618.561035, `position_y`=-6155.402832, `position_z`=9.270269, `orientation`=3.982527 WHERE `id`=23778;
|
||||
DELETE FROM `creature_template_addon` WHERE `entry` IN (23778);
|
||||
INSERT INTO `creature_template_addon` (`entry`, `bytes2`) VALUES
|
||||
(23778, 0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (8879,8870);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
|
||||
(15,8879,0,0,9,11221,0,0,0,0,'','Only show gossip option 0 if player has if player has quest 11221 active'),
|
||||
(15,8870,0,0,9,11221,0,0,0,0,'','Only show gossip option 0 if player has if player has quest 11221 active');
|
||||
@@ -249,83 +249,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_razael_and_lyana
|
||||
######*/
|
||||
|
||||
enum Razael
|
||||
{
|
||||
QUEST_REPORTS_FROM_THE_FIELD = 11221,
|
||||
|
||||
NPC_RAZAEL = 23998,
|
||||
NPC_LYANA = 23778,
|
||||
|
||||
GOSSIP_RAZAEL_REPORT = 8870,
|
||||
GOSSIP_TEXTID_RAZAEL1 = 11562,
|
||||
GOSSIP_TEXTID_RAZAEL2 = 11564,
|
||||
|
||||
GOSSIP_LYANA_REPORT = 8879,
|
||||
GOSSIP_TEXTID_LYANA1 = 11586,
|
||||
GOSSIP_TEXTID_LYANA2 = 11588,
|
||||
|
||||
GOSSIP_MENU_ID = 0
|
||||
};
|
||||
|
||||
struct npc_razael_and_lyana : public ScriptedAI {
|
||||
npc_razael_and_lyana(Creature *creature) : ScriptedAI(creature)
|
||||
{
|
||||
}
|
||||
|
||||
bool GossipHello(Player* player) override
|
||||
{
|
||||
if (me->IsQuestGiver())
|
||||
player->PrepareQuestMenu(me->GetGUID());
|
||||
|
||||
if (player->GetQuestStatus(QUEST_REPORTS_FROM_THE_FIELD) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
switch (me->GetEntry())
|
||||
{
|
||||
case NPC_RAZAEL:
|
||||
if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_RAZAEL))
|
||||
{
|
||||
AddGossipItemFor(player, GOSSIP_RAZAEL_REPORT, GOSSIP_MENU_ID, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL1, me->GetGUID());
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case NPC_LYANA:
|
||||
if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_LYANA))
|
||||
{
|
||||
AddGossipItemFor(player, GOSSIP_LYANA_REPORT, GOSSIP_MENU_ID, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA1, me->GetGUID());
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
|
||||
{
|
||||
uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
|
||||
ClearGossipMenuFor(player);
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF + 1:
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, me->GetGUID());
|
||||
player->TalkedToCreature(NPC_RAZAEL, me->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 2:
|
||||
SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, me->GetGUID());
|
||||
player->TalkedToCreature(NPC_LYANA, me->GetGUID());
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_daegarn
|
||||
######*/
|
||||
@@ -664,7 +587,6 @@ public:
|
||||
void AddSC_howling_fjord()
|
||||
{
|
||||
new npc_apothecary_hanes();
|
||||
RegisterCreatureAI(npc_razael_and_lyana);
|
||||
RegisterCreatureAI(npc_daegarn);
|
||||
new npc_mindless_abomination();
|
||||
new spell_mindless_abomination_explosion_fx_master();
|
||||
|
||||
Reference in New Issue
Block a user