DB/Scripts: Greengill Slave

(cherry picked from commit c8a346a23c)
This commit is contained in:
Andrew Letson
2017-10-25 15:24:56 -04:00
committed by funjoker
parent 62a267e806
commit bc73b5f8a5
3 changed files with 19 additions and 95 deletions

View File

@@ -192,7 +192,6 @@ void AddSC_duskwood();
//void AddSC_eastern_plaguelands();
void AddSC_ghostlands();
void AddSC_hinterlands();
void AddSC_isle_of_queldanas();
void AddSC_redridge_mountains();
void AddSC_silverpine_forest();
void AddSC_stormwind_city();
@@ -384,7 +383,6 @@ void AddEasternKingdomsScripts()
//AddSC_eastern_plaguelands();
AddSC_ghostlands();
AddSC_hinterlands();
AddSC_isle_of_queldanas();
AddSC_redridge_mountains();
AddSC_silverpine_forest();
AddSC_stormwind_city();

View File

@@ -1,93 +0,0 @@
/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* ScriptData
SDName: Isle_of_Queldanas
SD%Complete: 100
SDComment: Quest support: 11541
SDCategory: Isle Of Quel'Danas
EndScriptData */
/* ContentData
npc_greengill_slave
EndContentData */
#include "ScriptMgr.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
/*######
## npc_greengill_slave
######*/
enum GreengillSlave
{
NPC_DARKSPINE_MYRIDON = 25060,
QUEST_GREENGILL_COAST = 11541,
SPELL_ENRAGE = 45111,
SPELL_ORB_MURLOC_CONTROL = 45109,
SPELL_GREENGILL_SLAVE_FREED = 45110
};
class npc_greengill_slave : public CreatureScript
{
public:
npc_greengill_slave() : CreatureScript("npc_greengill_slave") { }
struct npc_greengill_slaveAI : public ScriptedAI
{
npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) { }
void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
{
Player* player = caster->ToPlayer();
if (!player)
return;
if (spellInfo->Id == SPELL_ORB_MURLOC_CONTROL && !me->HasAura(SPELL_ENRAGE))
{
if (player->GetQuestStatus(QUEST_GREENGILL_COAST) == QUEST_STATUS_INCOMPLETE)
DoCast(player, SPELL_GREENGILL_SLAVE_FREED, true);
DoCast(me, SPELL_ENRAGE);
if (Creature* Myrmidon = me->FindNearestCreature(NPC_DARKSPINE_MYRIDON, 70))
{
AddThreat(Myrmidon, 100000.0f);
AttackStart(Myrmidon);
}
}
}
void UpdateAI(uint32 /*diff*/) override
{
DoMeleeAttackIfReady();
}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_greengill_slaveAI(creature);
}
};
void AddSC_isle_of_queldanas()
{
new npc_greengill_slave();
}