aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRushor <Rushor@user.noreply.github.com>2019-02-13 09:30:55 +0100
committerKillyana <morphone1@gmail.com>2019-02-13 09:30:55 +0100
commitd69ef2ab1d0ecc0f32436b978137c89a0bc86a02 (patch)
treefa90f9ee0fd45282a6c58a318a2e1f7daaec0d24
parent59682bbd9b333a8e6dbfd3c6884b16afdb510197 (diff)
Creature/Script: Move "Bartleby" script to SAI
-rw-r--r--sql/updates/world/3.3.5/2019_02_13_00_world_335.sql12
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp60
2 files changed, 12 insertions, 60 deletions
diff --git a/sql/updates/world/3.3.5/2019_02_13_00_world_335.sql b/sql/updates/world/3.3.5/2019_02_13_00_world_335.sql
new file mode 100644
index 00000000000..8d65695cb13
--- /dev/null
+++ b/sql/updates/world/3.3.5/2019_02_13_00_world_335.sql
@@ -0,0 +1,12 @@
+-- Bartleby SAI
+SET @ENTRY := 6090;
+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,0,25,0,100,0,0,0,0,0,2,84,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bartleby - On Reset - Set Faction 84"),
+(@ENTRY,0,1,2,19,0,100,0,1640,0,0,0,2,168,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bartleby - On Quest 'Beat Bartleby' Taken - Set Faction 168"),
+(@ENTRY,0,2,6,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,100,0,0,0,0,0,0,"Bartleby - On Quest Taken - Start Attacking"),
+(@ENTRY,0,3,0,25,0,100,0,0,0,0,0,42,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bartleby - On Reset - Set Invincibility Hp 1"),
+(@ENTRY,0,4,5,2,0,100,0,0,15,0,0,15,1640,0,0,0,0,0,12,1,0,0,0,0,0,0,"Bartleby - Between 0-15% Health - Quest Credit 'Beat Bartleby'"),
+(@ENTRY,0,5,0,61,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bartleby - Between 0-15% Health - Evade"),
+(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Bartleby - On Quest Taken - Store Targetlist");
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index 08f9161f93f..36d7b7d6ca2 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -24,7 +24,6 @@ SDCategory: Stormwind City
EndScriptData */
/* ContentData
-npc_bartleby
npc_tyrion
npc_tyrion_spybot
npc_marzon_silent_blade
@@ -40,64 +39,6 @@ EndContentData */
#include "TemporarySummon.h"
/*######
-## npc_bartleby
-######*/
-
-enum Bartleby
-{
- QUEST_BEAT = 1640
-};
-
-class npc_bartleby : public CreatureScript
-{
-public:
- npc_bartleby() : CreatureScript("npc_bartleby") { }
-
- struct npc_bartlebyAI : public ScriptedAI
- {
- npc_bartlebyAI(Creature* creature) : ScriptedAI(creature)
- {
- m_uiNormalFaction = creature->GetFaction();
- }
-
- uint32 m_uiNormalFaction;
-
- void Reset() override
- {
- if (me->GetFaction() != m_uiNormalFaction)
- me->SetFaction(m_uiNormalFaction);
- }
-
- void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override
- {
- if (uiDamage > me->GetHealth() || me->HealthBelowPctDamaged(15, uiDamage))
- {
- //Take 0 damage
- uiDamage = 0;
-
- if (pDoneBy && pDoneBy->GetTypeId() == TYPEID_PLAYER)
- pDoneBy->ToPlayer()->AreaExploredOrEventHappens(QUEST_BEAT);
- EnterEvadeMode();
- }
- }
-
- void QuestAccept(Player* player, Quest const* quest) override
- {
- if (quest->GetQuestId() == QUEST_BEAT)
- {
- me->SetFaction(FACTION_ENEMY);
- AttackStart(player);
- }
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_bartlebyAI(creature);
- }
-};
-
-/*######
## npc_lord_gregor_lescovar
######*/
@@ -555,7 +496,6 @@ public:
void AddSC_stormwind_city()
{
- new npc_bartleby();
new npc_tyrion();
new npc_tyrion_spybot();
new npc_lord_gregor_lescovar();