46 me->GetClosePoint(x, y, z,
me->GetObjectSize() / 3, 0.1f);
59 me->SetInFront(rageclaw);
92 me->DespawnOrUnsummon();
146 me->setFaction(
me->GetCreatureTemplate()->faction_H);
149 me->GetMotionMaster()->MoveRandom(10);
150 me->DespawnOrUnsummon(10000);
230 {5754.692f, -2939.46f, 286.276123f, 5.156380f},
231 {5762.054199f, -2954.385010f, 273.826955f, 5.108289f},
232 {5776.855f, -2989.77979f, 272.96814f, 5.194f}
237 {5722.487f, -3010.75f, 312.751648f, 0.478f},
238 {5724.983f, -2969.89551f, 286.359619f, 0.478f},
239 {5733.76025f, -3000.34644f, 286.359619f, 0.478f},
240 {5739.8125f, -2981.524f, 290.7671f, 0.478f},
241 {5742.101f, -2950.75586f, 286.2643f, 5.21f},
242 {5743.305f, -3011.29736f, 290.7671f, 0.478f},
243 {5744.417f, -3025.528f, 286.35965f, 0.478f},
244 {5763.189f, -3029.67529f, 290.7671f, 0.478f},
245 {5769.401f, -2935.121f, 286.335754f, 5.21f},
246 {5793.061f, -2934.593f, 286.359619f, 3.53f},
247 {5797.32129f, -2955.26855f, 290.7671f, 3.53f},
248 {5813.94531f, -2956.74683f, 286.359619f, 3.53f},
249 {5816.85547f, -2974.476f, 290.7671f, 3.53f},
250 {5820.30859f, -3002.83716f, 290.7671f, 3.53f},
251 {5828.50244f, -2981.737f, 286.359619f, 3.53f},
252 {5828.899f, -2960.15479f, 312.751648f, 3.53f},
352 summon->GetMotionMaster()->MoveJump(5776.319824f, -2981.005371f, 273.100037f, 10.0f, 20.0f);
434 switch (quest->GetQuestId())
437 creature->AI()->SetData(1, quest->GetQuestId());
440 creature->AI()->SetData(1, quest->GetQuestId());
444 creature->AI()->SetData(1, quest->GetQuestId());
447 creature->AI()->SetData(1, quest->GetQuestId());
450 creature->AI()->SetData(1, quest->GetQuestId());
454 creature->AI()->SetGUID(player->GetGUID());
507 whisker->RemoveFromWorld();
517 me->SetHomePosition(
me->GetPositionX(),
me->GetPositionY(),
me->GetPositionZ(),
me->GetOrientation());
562 switch (summon->GetEntry())
565 summon->AI()->AttackStart(
me->GetVictim());
570 if (affected->IsAlive())
571 summon->AI()->AttackStart(affected);
581 whisker->RemoveFromWorld();
624 Start(
true,
true, 0, NULL);
642 me->SetHomePosition(
me->GetPositionX(),
me->GetPositionY(),
me->GetPositionZ(), 0);
731 if (
me->GetVictim()->GetPositionZ() >= 286.276f)
733 std::list<HostileReference*> t_list =
me->getThreatManager().getThreatList();
734 for (std::list<HostileReference*>::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
738 if (unit->GetPositionZ() <= 286.276f)
740 me->getThreatManager().resetAllAggro();
741 me->AddThreat(unit, 5.0f);
766 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
768 std::string sText = (std::string(killer->GetName()) +
" has defeated Yg.. Yggg-really big worm!");
778 for (
uint8 i = 0; i < 3; ++i)
816 Start(
true,
true, 0, NULL);
836 me->SetHomePosition(
me->GetPositionX(),
me->GetPositionY(),
me->GetPositionZ(),
me->GetOrientation());
848 if (
Unit* victim =
me->GetVictim())
850 if (victim->GetPositionZ() >= 286.276f)
852 std::list<HostileReference*> t_list =
me->getThreatManager().getThreatList();
853 for (std::list<HostileReference*>::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
857 if (unit->GetPositionZ() <= 286.276f)
859 me->getThreatManager().resetAllAggro();
860 me->AddThreat(unit, 5.0f);
879 if (target && target->IsAlive())
889 if (target && target->IsAlive())
908 std::string sText = (
"And with AUTHORITY, " + std::string(killer->GetName()) +
" dominates the magnataur lord! Stinkbeard's clan is gonna miss him back home in the Dragonblight!");
971 for (
uint8 uiI = 0; uiI < 16; uiI++)
984 for (std::list<uint64>::const_iterator itr =
SummonList.begin(); itr !=
SummonList.end(); ++itr)
988 temp->m_CombatDistance = 100.0f;
989 temp->AI()->AttackStart(unit);
999 if (
me->GetVictim()->GetPositionZ() >= 286.276f)
1001 std::list<HostileReference*> t_list =
me->getThreatManager().getThreatList();
1002 for (std::list<HostileReference*>::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
1006 if (unit->GetPositionZ() <= 286.276f)
1008 me->getThreatManager().resetAllAggro();
1009 me->AddThreat(unit, 5.0f);
1027 for (std::list<uint64>::const_iterator itr =
SummonList.begin(); itr !=
SummonList.end(); ++itr)
1031 if (temp->GetPositionZ() >= 287.00f)
1034 if (temp->GetVictim())
1035 temp->GetMotionMaster()->MoveChase(temp->GetVictim());
1048 for (std::list<uint64>::const_iterator itr =
SummonList.begin(); itr !=
SummonList.end(); ++itr)
1050 temp->DespawnOrUnsummon();
1055 std::string sText = (std::string(killer->GetName()) +
" is victorious once more!");
1057 if (
Unit* summoner =
me->ToTempSummon()->GetSummoner())
1083 if (
me->GetPositionZ() >= 287.0f)
1084 me->GetMotionMaster()->MoveIdle();
1109 if (
me->GetPositionZ() >= 287.0f)
1149 me->GetClosePoint(x, y, z,
me->GetObjectSize() / 3, 25.0f);
1150 me->GetMotionMaster()->MovePoint(0, x, y, z);
1157 me->DespawnOrUnsummon();
1215 me->GetMotionMaster()->MovePoint(0,
me->GetPositionX() + (cos(
_heading) * 10),
me->GetPositionY() + (sin(
_heading) * 10),
me->GetPositionZ());
1216 me->DespawnOrUnsummon(5000);
1230 player->CLOSE_GOSSIP_MENU();
1232 me->SetFacingToObject(player);
1265 go->UseDoorOrButton();
1271 player->KilledMonsterCredit(gymerDummy->
GetEntry(), gymerDummy->
GetGUID());
1430 if (type == 1 && data == 1)
1460 me->SetFacingTo(6.230825f);
1465 me->SetFacingTo(4.886922f);
1509 player->CLOSE_GOSSIP_MENU();
1643 uint8 ingredient = 0;
1648 ingredient = std::rand() % 10;
1651 ingredient = std::rand() % 15 + 11;
1654 ingredient = std::rand() % 20 + 16;
1660 finklestein->CastSpell(player,
FetchIngredients[ingredient][0],
true, NULL);
1715 for (
uint8 i = 0; i < 21; ++i)
1728 finklestein->AI()->SetData(1, 1);
1755 for (
uint8 i = 0; i < 21; ++i)
1842 if (
Vehicle* veh = caster->GetVehicleKit())
1843 if (veh->GetAvailableSeatCount() != 0)
@ TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
@ TEMPSUMMON_DEAD_DESPAWN
@ QUEST_STATUS_INCOMPLETE
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive)
@ EMOTE_STATE_USE_STANDING_NO_SHEATHE
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_AURA_PERIODIC_DUMMY
@ AURA_EFFECT_HANDLE_REAL
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FIELD_NPC_EMOTESTATE
AuraApplication const * GetTargetApplication() const
HookList< EffectPeriodicHandler > OnEffectPeriodic
SpellInfo const * GetSpellInfo() const
HookList< EffectApplyHandler > OnEffectRemove
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
CreatureScript(const char *name)
GameObjectScript(const char *name)
static Player * GetPlayer(WorldObject const &, uint64 guid)
void KilledMonster(CreatureTemplate const *cInfo, uint64 guid)
bool HasItemCount(uint32 item, uint32 count=1, bool inBankAlso=false) const
void DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check=false)
QuestStatus GetQuestStatus(uint32 quest_id) const
SpellInfo const * GetSpellInfo()
HookList< EffectHandler > OnEffectHitTarget
SpellScriptLoader(const char *name)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
void DoCastAOE(uint32 spellId, bool triggered=false)
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Player * GetCharmerOrOwnerPlayerOrPlayerItself() const
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
void SetInFront(WorldObject const *target)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
go_finklesteins_cauldron()
bool OnGossipHello(Player *player, GameObject *) OVERRIDE
bool OnGossipHello(Player *player, GameObject *go) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_alchemist_finklestein()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_orinoko_tuskbreaker()
npc_released_offspring_harkoa()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareAuraScript(spell_fetch_ingredient_aura_AuraScript)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const OVERRIDE
spell_fetch_ingredient_aura()
bool Validate(SpellInfo const *) OVERRIDE
void RemoveItems(Player *player)
PrepareSpellScript(spell_pot_check_SpellScript)
void HandleScriptEffect(SpellEffIndex)
SpellScript * GetSpellScript() const OVERRIDE
PrepareSpellScript(spell_random_ingredient_SpellScript)
bool Validate(SpellInfo const *) OVERRIDE
void HandleScriptEffect(SpellEffIndex)
bool Validate(SpellInfo const *) OVERRIDE
void PeriodicTick(AuraEffect const *)
PrepareAuraScript(spell_random_ingredient_aura_AuraScript)
AuraScript * GetAuraScript() const OVERRIDE
spell_random_ingredient_aura()
spell_random_ingredient()
SpellScript * GetSpellScript() const OVERRIDE
const Position SpawnPosition[]
bool HealthAbovePct(uint32 pct) const
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void AttackStartNoMove(Unit *target)
ScriptedAI(Creature *creature)
void SetData(uint32 type, uint32 data) OVERRIDE
void sGossipSelect(Player *player, uint32, uint32) OVERRIDE
npc_alchemist_finklesteinAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *, const SpellInfo *spell) OVERRIDE
npc_captured_rageclawAI(Creature *creature)
void MoveInLineOfSight(Unit *) OVERRIDE
void sGossipSelect(Player *player, uint32, uint32) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_crusade_recruitAI(Creature *creature)
void SpellHit(Unit *caster, const SpellInfo *spell) OVERRIDE
void UnlockRageclaw(Unit *who)
npc_drakuru_shacklesAI(Creature *creature)
void SetData(uint32 uiData, uint32 uiValue) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
uint32 uiElementalSpellTimer
std::list< uint64 > SummonList
npc_elemental_lordAI(Creature *creature)
void EnterCombat(Unit *unit) OVERRIDE
void EnterEvadeMode() OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_escortAI(Creature *creature)
void SetDespawnAtEnd(bool despawn)
void Start(bool isActiveAttacker=true, bool run=false, uint64 playerGUID=0, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
void AttackStart(Unit *who) OVERRIDE
npc_fiend_elementalAI(Creature *creature)
void SetData(uint32 Data, uint32 Value) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SetData(uint32 type, uint32 data) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SetGUID(uint64 guid, int32) OVERRIDE
npc_gurgthockAI(Creature *creature)
npc_korrak_bloodragerAI(Creature *creature)
void WaypointReached(uint32 waypointId) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
npc_orinoko_tuskbreakerAI(Creature *creature)
uint32 uiBattleShoutTimer
void MovementInform(uint32 type, uint32) OVERRIDE
void JustDied(Unit *killer) OVERRIDE
void JustSummoned(Creature *summon) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterEvadeMode() OVERRIDE
void EnterCombat(Unit *who) OVERRIDE
void MovementInform(uint32 Type, uint32) OVERRIDE
npc_released_offspring_harkoaAI(Creature *creature)
void WaypointReached(uint32 waypointId) OVERRIDE
npc_stinkbeardAI(Creature *creature)
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
uint32 uiStinkyBeardTimer
void JustDied(Unit *killer) OVERRIDE
void SpellHit(Unit *caster, const SpellInfo *spell) OVERRIDE
void JustRespawned() OVERRIDE
npc_storm_cloudAI(Creature *creature)
npc_yggdrasAI(Creature *creature)
void JustDied(Unit *killer) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
uint32 _corrodeFleshTimer
@ QUEST_AMPHITHEATER_ANGUISH_KORRAK_BLOODRAGER
@ QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_2
@ SAY_QUEST_ACCEPT_MAGNATAUR
@ SAY_QUEST_AMPHITHEATER_ANGUISH_YGGDRAS
@ NPC_ORINOKO_TUSKBREAKER
@ SAY_QUEST_ACCEPT_KORRAK_2
@ SAY_QUEST_ACCEPT_TUSKARRMAGEDON
@ QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR
@ SAY_QUEST_ACCEPT_KORRAK_1
@ QUEST_AMPHITHEATER_ANGUISH_TUSKARRMAGEDDON
@ SAY_GURGTHOCK_ELEMENTAL_SPAWN
@ QUEST_AMPHITHEATER_ANGUISH_YGGDRAS_1
@ QUEST_AMPHITHEATER_ANGUISH_FROM_BEYOND
@ SPELL_HAVE_WITHERED_BATWING
@ SPELL_FETCH_FROZEN_SPIDER_ICHOR
@ SPELL_FETCH_ICECROWN_BOTTLED_WATER
@ SPELL_RANDOM_INGREDIENT_HARD
@ SAY_PULVERIZED_GARGOYLE_TEETH
@ SPELL_FETCH_WASPS_WINGS
@ SPELL_HAVE_HAIRY_HERRING_HEAD
@ SPELL_HAVE_SPIKY_SPIDER_EGG
@ SAY_SEASONED_SLIDER_CIDER
@ ITEM_ICECROWN_BOTTLED_WATER
@ SPELL_HAVE_PRISMATIC_MOJO
@ ITEM_SHRUNKEN_DRAGONS_CLAW
@ ITEM_PUTRID_PIRATE_PERSPIRATION
@ SPELL_HAVE_MUDDY_MIRE_MAGGOT
@ ITEM_CRUSHED_BASILISK_CRYSTALS
@ SPELL_FETCH_MUDDY_MIRE_MAGGOT
@ ITEM_PULVERIZED_GARGOYLE_TEETH
@ SPELL_HAVE_PUTRID_PIRATE_PERSPIRATION
@ SPELL_HAVE_SPECKLED_GUANO
@ SPELL_FETCH_WITHERED_BATWING
@ SAY_CRYSTALLIZED_HOGSNOT
@ SPELL_RANDOM_INGREDIENT_HARD_AURA
@ ITEM_CRYSTALLIZED_HOGSNOT
@ SPELL_FETCH_RAPTOR_CLAW
@ SPELL_HAVE_CRUSHED_BASILISK_CRYSTALS
@ SPELL_FETCH_CRYSTALLIZED_HOGSNOT
@ SAY_SHRUNKEN_DRAGONS_CLAW
@ SPELL_FETCH_PULVERIZED_GARGOYLE_TEETH
@ SPELL_FETCH_SPECKLED_GUANO
@ SPELL_HAVE_CRYSTALLIZED_HOGSNOT
@ SPELL_RANDOM_INGREDIENT_EASY
@ SPELL_RANDOM_INGREDIENT_MEDIUM
@ SAY_CHILLED_SERPENT_MUCUS
@ SAY_PUTRID_PIRATE_PERSPIRATION
@ SPELL_FETCH_SEASONED_SLIDER_CIDER
@ SAY_CRUSHED_BASILISK_CRYSTALS
@ SPELL_HAVE_FROZEN_SPIDER_ICHOR
@ SPELL_RANDOM_INGREDIENT_EASY_AURA
@ SPELL_HAVE_PULVERIZED_GARGOYLE_TEETH
@ ITEM_CHILLED_SERPENT_MUCUS
@ ITEM_FROZEN_SPIDER_ICHOR
@ SPELL_FETCH_CRUSHED_BASILISK_CRYSTALS
@ SPELL_FETCH_HAIRY_HERRING_HEAD
@ SPELL_ALCHEMIST_APPRENTICE_INVISBUFF
@ SPELL_FETCH_SPIKY_SPIDER_EGG
@ SPELL_HAVE_SHRUNKEN_DRAGONS_CLAW
@ SPELL_HAVE_ICECROWN_BOTTLED_WATER
@ ITEM_SEASONED_SLIDER_CIDER
@ SPELL_FETCH_PICKLED_EAGLE_EGG
@ SPELL_HAVE_PICKLED_EAGLE_EGG
@ SPELL_FETCH_SHRUNKEN_DRAGONS_CLAW
@ SPELL_HAVE_CHILLED_SERPENT_MUCUS
@ SAY_ICECROWN_BOTTLED_WATER
@ QUEST_THE_ALCHEMIST_APPRENTICE_DAILY
@ SPELL_FETCH_CHILLED_SERPENT_MUCUS
@ SPELL_FETCH_PRISMATIC_MOJO
@ ITEM_HAIRY_HERRING_HEAD
@ SPELL_RANDOM_INGREDIENT_MEDIUM_AURA
@ SAY_FROZEN_SPIDER_ICHOR
@ SPELL_HAVE_SEASONED_SLIDER_CIDER
@ SPELL_FETCH_PUTRID_PIRATE_PERSPIRATION
const Position SpawnPosition[]
@ QUEST_TROLL_PATROL_INTESTINAL_FORTITUDE
@ SPELL_GYMER_LOCK_EXPLOSION
@ SPELL_ENRAGE_STINKBEARD
const Position AddSpawnPosition[]
@ QUEST_TROLLS_IS_GONE_CRAZY
uint32 const FetchIngredients[21][4]