DB/Creature: Roxi Ramrocket

(cherry picked from commit 2400ae7291)
This commit is contained in:
offl
2022-03-22 15:52:56 +02:00
committed by Shauren
parent 70b73a69b4
commit 3bf6dcc675
2 changed files with 11 additions and 63 deletions

View File

@@ -0,0 +1,11 @@
--
UPDATE `creature_template` SET `ScriptName` = '' WHERE `entry` = 31247;
DELETE FROM `gossip_menu_option` WHERE `MenuID` = 10210 AND `OptionID` = 1;
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
(10210,1,1,"I hear you sell motorcycle parts.",33010,3,128,0,0,0,0,'',0,0);
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceGroup` = 10210;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(15,10210,1,0,0,25,0,60866,0,0,0,0,0,"","Group 0: Show Gossip Option 1 if spell 'Mechano-hog' is learned"),
(15,10210,1,0,1,25,0,60867,0,0,0,0,0,"","Group 1: Show Gossip Option 1 if spell 'Mekgineer's Chopper' is learned");

View File

@@ -31,68 +31,6 @@
#include "Vehicle.h"
#include "WorldSession.h"
/*######
## npc_roxi_ramrocket
######*/
enum RoxiRamrocket
{
SPELL_MECHANO_HOG = 60866,
SPELL_MEKGINEERS_CHOPPER = 60867,
TRAINER_ID_ROXI_RAMROCKET = 102,
};
class npc_roxi_ramrocket : public CreatureScript
{
public:
npc_roxi_ramrocket() : CreatureScript("npc_roxi_ramrocket") { }
struct npc_roxi_ramrocketAI : public ScriptedAI
{
npc_roxi_ramrocketAI(Creature* creature) : ScriptedAI(creature) { }
bool OnGossipHello(Player* player) override
{
//Quest Menu
if (me->IsQuestGiver())
player->PrepareQuestMenu(me->GetGUID());
//Trainer Menu
if (me->IsTrainer())
AddGossipItemFor(player, GossipOptionIcon::Trainer, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN);
//Vendor Menu
if (me->IsVendor())
if (player->HasSpell(SPELL_MECHANO_HOG) || player->HasSpell(SPELL_MEKGINEERS_CHOPPER))
AddGossipItemFor(player, GossipOptionIcon::Vendor, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
return true;
}
bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
{
uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
ClearGossipMenuFor(player);
switch (action)
{
case GOSSIP_ACTION_TRAIN:
player->GetSession()->SendTrainerList(me, TRAINER_ID_ROXI_RAMROCKET);
break;
case GOSSIP_ACTION_TRADE:
player->GetSession()->SendListInventory(me->GetGUID());
break;
}
return true;
}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_roxi_ramrocketAI(creature);
}
};
/*######
## npc_brunnhildar_prisoner
######*/
@@ -1506,7 +1444,6 @@ class spell_bear_flank_fail : public AuraScript
void AddSC_storm_peaks()
{
new npc_roxi_ramrocket();
new npc_brunnhildar_prisoner();
new npc_freed_protodrake();
new npc_icefang();