34#define GOSSIP_ITEM1 "I am ready to travel to your village now."
92 me->SetDisableGravity(
true);
95 me->GetMotionMaster()->MoveFall();
121 if (creature->IsQuestGiver())
122 player->PrepareQuestMenu(creature->GetGUID());
127 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
134 player->PlayerTalkClass->ClearMenus();
141 switch (player->GetTeam()){
169#define GOSSIP_VEKJIK_ITEM1 "Shaman Vekjik, I have spoken with the big-tongues and they desire peace. I have brought this offering on their behalf."
170#define GOSSIP_VEKJIK_ITEM2 "No no... I had no intentions of betraying your people. I was only defending myself. it was all a misunderstanding."
191 if (creature->IsQuestGiver())
192 player->PrepareQuestMenu(creature->GetGUID());
201 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
207 player->PlayerTalkClass->ClearMenus();
215 player->CLOSE_GOSSIP_MENU();
230#define GOSSIP_ITEM_AOF1 "I want to stop the Scourge as much as you do. How can I help?"
231#define GOSSIP_ITEM_AOF2 "You can trust me. I am no friend of the Lich King."
232#define GOSSIP_ITEM_AOF3 "I will not fail."
252 if (creature->IsQuestGiver())
253 player->PrepareQuestMenu(creature->GetGUID());
264 player->PlayerTalkClass->ClearMenus();
277 player->CLOSE_GOSSIP_MENU();
305 if (
Unit* summoner = summ->GetSummoner())
306 me->GetMotionMaster()->MovePoint(0, summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
372 me->SummonGameObject(184743, 5918.33f, 5372.91f, -98.770f, 0, 0, 0, 0, 0, 4000);
383 me->SummonGameObject(184743, 5887.37f, 5379.39f, -91.289f, 0, 0, 0, 0, 0, 4000);
440 creature->GetMotionMaster()->MoveJumpTo(0, 0.4f, 0.4f);
441 creature->setFaction(113);
443 pEscortAI->Start(
false,
false, player->GetGUID());
455#define SAY_OFFER "Care to try Grimbooze Thunderbrew's new jungle punch?"
507 if (!
phase && who && who->GetDistance2d(
me) < 10.0f)
513 if (orphanOut->GetCaster() && orphanOut->GetCaster()->GetEntry() ==
ORPHAN_WOLVAR)
515 orphanGUID = orphanOut->GetCaster()->GetGUID();
528 if (!orphan || !player)
635#define GOSSIP_OPTION_ORANGE "Can you spare an orange?"
636#define GOSSIP_OPTION_BANANAS "Have a spare bunch of bananas?"
637#define GOSSIP_OPTION_PAPAYA "I could really use a papaya."
695 player->PlayerTalkClass->ClearMenus();
712 player->CastSpell(player, spellId,
true);
715 creature->DespawnOrUnsummon();
761 std::list<Creature*> servants;
763 for (std::list<Creature*>::iterator itr = servants.begin(); itr != servants.end(); ++itr)
766 if ((*itr)->isDead())
767 (*itr)->Respawn(
true);
773 if (
Unit* target = (*itr)->SelectNearestTarget(150.0f))
774 (*itr)->AI()->AttackStart(target);
778 std::list<Creature*> saboteurs;
779 caster->GetCreatureListWithEntryInGrid(saboteurs,
NPC_SABOTEUR, 200.0f);
780 for (std::list<Creature*>::iterator itr = saboteurs.begin(); itr != saboteurs.end(); ++itr)
781 if ((*itr)->IsAlive())
848 uint32 roll = std::rand() % 100 + 1;
863 if (!wilhelm || !apple || !drostan)
873 if (!bird || !crunchy)
903 player->KilledMonsterCredit(
NPC_APPLE, 0);
1005 me->GetMotionMaster()->MovePath(
NPC_PLANE,
false);
1048 Unit* passenger =
me->GetVehicleKit()->GetPassenger(1);
uint32 GUID_LOPART(uint64 x)
@ QUEST_STATUS_INCOMPLETE
Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive)
@ SPELL_EFFECT_SEND_EVENT
@ SPELL_CUSTOM_ERROR_MUST_TARGET_WILHELM
@ SPELL_FAILED_CUSTOM_ERROR
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
@ UNIT_NPC_FLAG_QUESTGIVER
@ QUEST_THE_MIGHTY_HEMET_NESINGWARY
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
void DespawnOrUnsummon(uint32 msTimeToDespawn=0)
CreatureScript(const char *name)
float GetWaterOrGroundLevel(float x, float y, float z, float *ground=NULL, bool swim=false) const
void MoveFollow(Unit *target, float dist, float angle, MovementSlot slot=MOTION_SLOT_ACTIVE)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
static Creature * GetCreature(WorldObject const &u, uint64 guid)
static Player * GetPlayer(WorldObject const &, uint64 guid)
QuestStatusMap & getQuestStatusMap()
void KilledMonsterCredit(uint32 entry, uint64 guid=0)
void GroupEventHappens(uint32 questId, WorldObject const *pEventObject)
void Say(std::string const &text, const Language language)
Handles said message in regular chat based on declared language and in config pre-defined Range.
QuestObjective const * GetQuestObjectiveXObjectId(uint32 objectId) const
Unit * GetExplTargetUnit()
HookList< CheckCastHandler > OnCheckCast
HookList< EffectHandler > OnEffectHit
void PreventHitDefaultEffect(SpellEffIndex effIndex)
HookList< EffectHandler > OnEffectHitTarget
void SetCustomCastResultMessage(SpellCustomErrors result)
SpellScriptLoader(const char *name)
void DoMeleeAttackIfReady()
void Kill(Unit *victim, bool durabilityLoss=true)
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)
MotionMaster * GetMotionMaster()
void SetFacingToObject(WorldObject *object)
void ExitVehicle(Position const *exitPosition=NULL)
void GetCreatureListWithEntryInGrid(std::list< Creature * > &lList, uint32 uiEntry, float fMaxSearchRange) const
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, const Quest *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnQuestAccept(Player *, Creature *creature, Quest const *) OVERRIDE
npc_injured_rainspeaker_oracle()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_jungle_punch_target()
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
npc_vics_flying_machine()
void HandleDummy(SpellEffIndex)
SpellCastResult CheckCast()
PrepareSpellScript(spell_q12589_shoot_rjr_SpellScript)
SpellScript * GetSpellScript() const OVERRIDE
void HandleSendEvent(SpellEffIndex effIndex)
PrepareSpellScript(spell_q12620_the_lifewarden_wrath_SpellScript)
spell_q12620_the_lifewarden_wrath()
SpellScript * GetSpellScript() const OVERRIDE
float GetPositionZ() const
float GetPositionX() const
float GetPositionY() const
ScriptedAI(Creature *creature)
npc_adventurous_dwarfAI(Creature *creature)
npc_bushwhackerAI(Creature *creature)
void InitializeAI() OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
npc_engineer_heliceAI(Creature *creature)
void WaypointReached(uint32 waypointId) OVERRIDE
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Player * GetPlayerForEscort()
void SetRun(bool on=true)
bool HasEscortState(uint32 escortState) const
npc_escortAI(Creature *creature)
npc_haiphoonAI(Creature *creature)
void SpellHitTarget(Unit *target, SpellInfo const *spell) OVERRIDE
npc_injured_rainspeaker_oracleAI(Creature *creature)
void JustDied(Unit *) OVERRIDE
void WaypointReached(uint32 waypointId) OVERRIDE
npc_jungle_punch_targetAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void proceedCwEvent(const uint32 diff)
void MoveInLineOfSight(Unit *who) OVERRIDE
void SpellHit(Unit *caster, SpellInfo const *spellInfo) OVERRIDE
void MovementInform(uint32 type, uint32 id) OVERRIDE
npc_vics_flying_machineAI(Creature *creature)
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *, SpellInfo const *spell) OVERRIDE
void PassengerBoarded(Unit *passenger, int8, bool apply) OVERRIDE
== Fields =======================================
@ SPELL_FREYA_DUMMY_TRIGGER
#define GOSSIP_VEKJIK_ITEM1
@ SAY_HEMET_HADRIUS_TAMARA_1
@ SAY_HEMET_HADRIUS_TAMARA_3
@ SAY_HEMET_HADRIUS_TAMARA_2
@ QUEST_THE_MIGHTY_HEMET_NESINGWARY
void AddSC_sholazar_basin()
@ SPELL_FREYA_CONVERSATION
@ SPELL_FREANZYHEARTS_FURY
@ QUEST_FORTUNATE_MISUNDERSTANDINGS
#define GOSSIP_OPTION_PAPAYA
#define GOSSIP_OPTION_BANANAS
#define GOSSIP_VEKJIK_ITEM2
#define GOSSIP_OPTION_ORANGE