Fix [Strength of one] (9582) and [Hypercapacitor Gizmo] (5151) quests, by arez. Closes 12
--HG-- branch : trunk
This commit is contained in:
@@ -223,6 +223,8 @@ UPDATE `creature_template` SET `ScriptName`='npc_magwin' WHERE `entry`=17312;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_geezle' WHERE `entry`=17318;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_nestlewood_owlkin' WHERE `entry`=16518;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_draenei_survivor' WHERE `entry`=16483;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_death_ravager' WHERE `entry`=17556;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ravager_cage' WHERE `entry`=181849;
|
||||
|
||||
/* BADLANDS */
|
||||
|
||||
@@ -1164,6 +1166,8 @@ UPDATE `creature_template` SET `ScriptName`='npc_kanati' WHERE `entry`=10638;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_paoka_swiftmountain' WHERE `entry`=10427;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_plucky' WHERE `entry`=6626;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_lakota_windsong' WHERE `entry`=10646;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_enraged_panther' WHERE `entry`=10992;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_panther_cage' WHERE `entry`=176195;
|
||||
|
||||
/* THUNDER BLUFF */
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_cairne_bloodhoof' WHERE `entry`=3057;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_death_ravager' WHERE `entry`=17556;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ravager_cage' WHERE `entry`=181849;
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_enraged_panther' WHERE `entry`=10992;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_panther_cage' WHERE `entry`=176195;
|
||||
@@ -17,7 +17,7 @@
|
||||
/* ScriptData
|
||||
SDName: Azuremyst_Isle
|
||||
SD%Complete: 75
|
||||
SDComment: Quest support: 9283, 9537, 9582, 9554, 9531, 9303(special flight path, proper model for mount missing). Injured Draenei cosmetic only
|
||||
SDComment: Quest support: 9283, 9537, 9582, 9554, 9531, 9303(special flight path, proper model for mount missing). Injured Draenei cosmetic only, 9582.
|
||||
SDCategory: Azuremyst Isle
|
||||
EndScriptData */
|
||||
|
||||
@@ -28,6 +28,8 @@ npc_injured_draenei
|
||||
npc_magwin
|
||||
npc_geezle
|
||||
mob_nestlewood_owlkin
|
||||
go_ravager_cage
|
||||
npc_death_ravager
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
@@ -598,6 +600,75 @@ bool EffectDummyCreature_npc_nestlewood_owlkin(Unit *pCaster, uint32 spellId, ui
|
||||
return false;
|
||||
}
|
||||
|
||||
enum eRavegerCage
|
||||
{
|
||||
NPC_DEATH_RAVAGER = 17556,
|
||||
|
||||
SPELL_REND = 13443,
|
||||
SPELL_ENRAGING_BITE = 30736,
|
||||
|
||||
QUEST_STRENGTH_ONE = 9582
|
||||
};
|
||||
|
||||
bool go_ravager_cage(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
|
||||
if(pPlayer->GetQuestStatus(QUEST_STRENGTH_ONE) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
if(Creature* ravager = pGo->FindNearestCreature(NPC_DEATH_RAVAGER, 5.0f, true))
|
||||
{
|
||||
ravager->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NON_ATTACKABLE);
|
||||
ravager->SetReactState(REACT_AGGRESSIVE);
|
||||
ravager->AI()->AttackStart(pPlayer);
|
||||
}
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
struct TRINITY_DLL_DECL npc_death_ravagerAI : public ScriptedAI
|
||||
{
|
||||
npc_death_ravagerAI(Creature *c) : ScriptedAI(c){}
|
||||
|
||||
uint32 RendTimer;
|
||||
uint32 EnragingBiteTimer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
RendTimer = 30000;
|
||||
EnragingBiteTimer = 20000;
|
||||
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if(RendTimer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(), SPELL_REND);
|
||||
RendTimer = 30000;
|
||||
}
|
||||
else RendTimer -= diff;
|
||||
|
||||
if(EnragingBiteTimer <= diff)
|
||||
{
|
||||
DoCast(m_creature->getVictim(), SPELL_ENRAGING_BITE);
|
||||
EnragingBiteTimer = 15000;
|
||||
}
|
||||
else EnragingBiteTimer -= diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_npc_death_ravagerAI(Creature* pCreature)
|
||||
{
|
||||
return new npc_death_ravagerAI(pCreature);
|
||||
}
|
||||
|
||||
void AddSC_azuremyst_isle()
|
||||
{
|
||||
Script *newscript;
|
||||
@@ -635,5 +706,15 @@ void AddSC_azuremyst_isle()
|
||||
newscript->GetAI = &GetAI_npc_nestlewood_owlkinAI;
|
||||
newscript->pEffectDummyCreature = &EffectDummyCreature_npc_nestlewood_owlkin;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="npc_death_ravager";
|
||||
newscript->GetAI = &GetAI_npc_death_ravagerAI;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="go_ravager_cage";
|
||||
newscript->pGOHello = &go_ravager_cage;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* ScriptData
|
||||
SDName: Thousand Needles
|
||||
SD%Complete: 100
|
||||
SDComment: Support for Quest: 1950, 4770, 4904, 4966
|
||||
SDComment: Support for Quest: 1950, 4770, 4904, 4966, 5151.
|
||||
SDCategory: Thousand Needles
|
||||
EndScriptData */
|
||||
|
||||
@@ -26,6 +26,8 @@ npc_kanati
|
||||
npc_lakota_windsong
|
||||
npc_swiftmountain
|
||||
npc_plucky
|
||||
go_panther_cage
|
||||
npc_enraged_panther
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
@@ -365,9 +367,50 @@ CreatureAI* GetAI_npc_plucky(Creature* pCreature)
|
||||
return new npc_pluckyAI(pCreature);
|
||||
}
|
||||
|
||||
/*#####
|
||||
#
|
||||
######*/
|
||||
enum ePantherCage
|
||||
{
|
||||
ENRAGED_PANTHER = 10992
|
||||
};
|
||||
|
||||
bool go_panther_cage(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
|
||||
if (pPlayer->GetQuestStatus(5151) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
if(Creature* panther = pGo->FindNearestCreature(ENRAGED_PANTHER, 5, true))
|
||||
{
|
||||
panther->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NON_ATTACKABLE);
|
||||
panther->SetReactState(REACT_AGGRESSIVE);
|
||||
panther->AI()->AttackStart(pPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
struct TRINITY_DLL_DECL npc_enraged_pantherAI : public ScriptedAI
|
||||
{
|
||||
npc_enraged_pantherAI(Creature *c) : ScriptedAI(c) {}
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
m_creature->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 diff)
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI_npc_enraged_panther(Creature* pCreature)
|
||||
{
|
||||
return new npc_enraged_pantherAI(pCreature);
|
||||
}
|
||||
|
||||
void AddSC_thousand_needles()
|
||||
{
|
||||
@@ -397,5 +440,15 @@ void AddSC_thousand_needles()
|
||||
newscript->pGossipHello = &GossipHello_npc_plucky;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_plucky;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="npc_enraged_panther";
|
||||
newscript->GetAI = &GetAI_npc_enraged_panther;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="go_panther_cage";
|
||||
newscript->pGOHello = &go_panther_cage;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user