Merge pull request #4944 from Souler/script_cleanup
Convert some coded scripts to DB
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
-- Make Dame Evniki Kapsalis show vendor gossip option only to players with Crusader title
|
||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI',`ScriptName` = '' WHERE `entry` = 34885;
|
||||||
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10598;
|
||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`COMMENT`) VALUES
|
||||||
|
(15,10598,0,0,17,2816,0,0,0,'',"Evniki Kapsalis should only sell to Crusaders"),
|
||||||
|
(15,10598,0,1,17,2817,0,0,0,'',"Evniki Kapsalis should only sell to Crusaders");
|
||||||
|
|
||||||
|
SET @SPELL_CHAIN = 68341;
|
||||||
|
SET @NPC_FJOLA_LIGHTBANE = 36065;
|
||||||
|
SET @NPC_EYDIS_DARKBANE = 36066;
|
||||||
|
SET @NPC_PRIESTESS_ALORAH = 36101;
|
||||||
|
SET @NPC_PRIEST_GRIMMIN = 36102;
|
||||||
|
|
||||||
|
UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` IN(@NPC_PRIESTESS_ALORAH,@NPC_PRIEST_GRIMMIN);
|
||||||
|
DELETE FROM `smart_scripts` WHERE (`entryorguid` IN(@NPC_PRIESTESS_ALORAH,@NPC_PRIEST_GRIMMIN) 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
|
||||||
|
(@NPC_PRIESTESS_ALORAH,0,0,0,1,0,100,1,100,100,0,0,11,@SPELL_CHAIN,0,0,0,0,0,19,@NPC_EYDIS_DARKBANE,0,0,0,0,0,0,'Priestess Alorah - Cast chain on Eydis Darkbane'),
|
||||||
|
(@NPC_PRIEST_GRIMMIN,0,0,0,1,0,100,1,100,100,0,0,11,@SPELL_CHAIN,0,0,0,0,0,19,@NPC_FJOLA_LIGHTBANE,0,0,0,0,0,0,'Priestess Grimmin - Cast chain on Fjola Lightbane');
|
||||||
@@ -114,38 +114,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_dame_evniki_kapsalis
|
|
||||||
######*/
|
|
||||||
|
|
||||||
enum eDameEnvikiKapsalis
|
|
||||||
{
|
|
||||||
TITLE_CRUSADER = 123
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_dame_evniki_kapsalis : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_dame_evniki_kapsalis() : CreatureScript("npc_dame_evniki_kapsalis") { }
|
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature)
|
|
||||||
{
|
|
||||||
if (player->HasTitle(TITLE_CRUSADER))
|
|
||||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
|
|
||||||
|
|
||||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
|
|
||||||
{
|
|
||||||
player->PlayerTalkClass->ClearMenus();
|
|
||||||
if (uiAction == GOSSIP_ACTION_TRADE)
|
|
||||||
player->GetSession()->SendListInventory(creature->GetGUID());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## npc_squire_david
|
## npc_squire_david
|
||||||
######*/
|
######*/
|
||||||
@@ -275,65 +243,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*######
|
|
||||||
## npc_alorah_and_grimmin
|
|
||||||
######*/
|
|
||||||
|
|
||||||
enum ealorah_and_grimmin
|
|
||||||
{
|
|
||||||
SPELL_CHAIN = 68341,
|
|
||||||
NPC_FJOLA_LIGHTBANE = 36065,
|
|
||||||
NPC_EYDIS_DARKBANE = 36066,
|
|
||||||
NPC_PRIESTESS_ALORAH = 36101,
|
|
||||||
NPC_PRIEST_GRIMMIN = 36102
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_alorah_and_grimmin : public CreatureScript
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
npc_alorah_and_grimmin() : CreatureScript("npc_alorah_and_grimmin") { }
|
|
||||||
|
|
||||||
struct npc_alorah_and_grimminAI : public ScriptedAI
|
|
||||||
{
|
|
||||||
npc_alorah_and_grimminAI(Creature* creature) : ScriptedAI(creature) {}
|
|
||||||
|
|
||||||
bool uiCast;
|
|
||||||
|
|
||||||
void Reset()
|
|
||||||
{
|
|
||||||
uiCast = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateAI(const uint32 /*uiDiff*/)
|
|
||||||
{
|
|
||||||
if (uiCast)
|
|
||||||
return;
|
|
||||||
uiCast = true;
|
|
||||||
Creature* target = NULL;
|
|
||||||
|
|
||||||
switch (me->GetEntry())
|
|
||||||
{
|
|
||||||
case NPC_PRIESTESS_ALORAH:
|
|
||||||
target = me->FindNearestCreature(NPC_EYDIS_DARKBANE, 10.0f);
|
|
||||||
break;
|
|
||||||
case NPC_PRIEST_GRIMMIN:
|
|
||||||
target = me->FindNearestCreature(NPC_FJOLA_LIGHTBANE, 10.0f);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (target)
|
|
||||||
DoCast(target, SPELL_CHAIN);
|
|
||||||
|
|
||||||
if (!UpdateVictim())
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const
|
|
||||||
{
|
|
||||||
return new npc_alorah_and_grimminAI(creature);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*######
|
/*######
|
||||||
## npc_guardian_pavilion
|
## npc_guardian_pavilion
|
||||||
######*/
|
######*/
|
||||||
@@ -429,10 +338,8 @@ public:
|
|||||||
void AddSC_icecrown()
|
void AddSC_icecrown()
|
||||||
{
|
{
|
||||||
new npc_arete;
|
new npc_arete;
|
||||||
new npc_dame_evniki_kapsalis;
|
|
||||||
new npc_squire_david;
|
new npc_squire_david;
|
||||||
new npc_argent_valiant;
|
new npc_argent_valiant;
|
||||||
new npc_alorah_and_grimmin;
|
|
||||||
new npc_guardian_pavilion;
|
new npc_guardian_pavilion;
|
||||||
new npc_vereth_the_cunning;
|
new npc_vereth_the_cunning;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user