TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
npc_a_special_surprise::npc_a_special_surpriseAI Struct Reference

Public Member Functions

 npc_a_special_surpriseAI (Creature *creature)
 
void Initialize ()
 
void Reset () override
 
bool MeetQuestCondition (Player *player)
 
void MoveInLineOfSight (Unit *who) override
 
void UpdateAI (uint32 diff) override
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
void DamageTaken (Unit *, uint32 &) override
 
void JustDied (Unit *) override
 
void KilledUnit (Unit *) override
 
void JustSummoned (Creature *) override
 
void SummonedCreatureDespawn (Creature *) override
 
void SpellHit (Unit *, SpellInfo const *) override
 
void SpellHitTarget (Unit *, SpellInfo const *) override
 
void OnPossess (bool)
 
void EnterCombat (Unit *) override
 
void AttackStart (Unit *) override
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
 
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
 
void DoResetThreat ()
 
float DoGetThreat (Unit *unit)
 
void DoModifyThreatPercent (Unit *unit, int32 pct)
 
void DoTeleportTo (float x, float y, float z, uint32 time=0)
 
void DoTeleportTo (float const pos[4])
 
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
 
void DoTeleportAll (float x, float y, float z, float o)
 
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
std::list< Creature * > DoFindFriendlyCC (float range)
 
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
 
PlayerGetPlayerAtMinimumRange (float minRange)
 
CreatureDoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, uint32 despawntime)
 
bool HealthBelowPct (uint32 pct) const
 
bool HealthAbovePct (uint32 pct) const
 
SpellInfo constSelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
 
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
 
void SetCombatMovement (bool allowMovement)
 
bool IsCombatMovementAllowed () const
 
bool IsHeroic () const
 
Difficulty GetDifficulty () const
 
bool Is25ManRaid () const
 
template<class T >
const T & DUNGEON_MODE (const T &normal5, const T &heroic10) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25) const
 
template<class T >
const T & RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25) const
 
- Public Member Functions inherited from CreatureAI
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
 
 CreatureAI (Creature *creature)
 
virtual ~CreatureAI ()
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual bool CanRespawn ()
 
virtual void EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
virtual void IsSummonedBy (Unit *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void AttackedBy (Unit *)
 
virtual bool IsEscorted () const
 
virtual void JustRespawned ()
 
virtual void MovementInform (uint32, uint32)
 
void OnCharmed (bool apply) override
 
virtual void JustReachedHome ()
 
void DoZoneInCombat (Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *)
 
virtual void OwnerAttacked (Unit *)
 
virtual void CorpseRemoved (uint32 &)
 == Triggered Actions Requested ================== More...
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
virtual void OnSpellClick (Unit *, bool &)
 
virtual bool CanSeeAlways (WorldObject const *)
 
int32 VisualizeBoundary (uint32 duration, Unit *owner=nullptr, bool fill=false) const
 
virtual bool CheckInRoom ()
 
CreatureBoundary constGetBoundary () const
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void InitializeAI ()
 
virtual void DoAction (int32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectAggroTarget targetType)
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
virtual void SpellInterrupted (uint32, uint32)
 
void AttackStartCaster (Unit *victim, float dist)
 
void DoCast (uint32 spellId)
 
void DoCast (Unit *victim, uint32 spellId, bool triggered=false)
 
void DoCastVictim (uint32 spellId, bool triggered=false)
 
void DoCastAOE (uint32 spellId, bool triggered=false)
 
void DoMeleeAttackIfReady ()
 
bool DoSpellAttackIfReady (uint32 spellId)
 
virtual void sGossipHello (Player *)
 
virtual void sGossipSelect (Player *, uint32, uint32)
 
virtual void sGossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual void sQuestAccept (Player *, Quest const *)
 
virtual void sQuestSelect (Player *, Quest const *)
 
virtual void sQuestReward (Player *, Quest const *, uint32)
 
virtual bool sOnDummyEffect (Unit *, uint32, SpellEffIndex)
 
virtual void sOnGameEvent (bool, uint16)
 

Public Attributes

uint32 ExecuteSpeech_Timer
 
uint32 ExecuteSpeech_Counter
 
ObjectGuid PlayerGUID
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 

Additional Inherited Members

- Public Types inherited from CreatureAI
enum  EvadeReason { EVADE_REASON_NO_HOSTILES, EVADE_REASON_BOUNDARY, EVADE_REASON_SEQUENCE_BREAK, EVADE_REASON_OTHER }
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 
- Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
bool UpdateVictimWithGaze ()
 
void SetGazeOn (Unit *target)
 
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
bool CheckBoundary (Position const *who=nullptr) const
 
void SetBoundary (CreatureBoundary const *boundary)
 
bool _EnterEvadeMode (EvadeReason why=EVADE_REASON_OTHER)
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const_boundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Constructor & Destructor Documentation

npc_a_special_surprise::npc_a_special_surpriseAI::npc_a_special_surpriseAI ( Creature creature)
inline
636  : ScriptedAI(creature)
637  {
638  Initialize();
639  }
ScriptedAI(Creature *creature)
Definition: ScriptedCreature.cpp:100
void Initialize()
Definition: chapter2.cpp:641

+ Here is the call graph for this function:

Member Function Documentation

void npc_a_special_surprise::npc_a_special_surpriseAI::Initialize ( void  )
inline
642  {
645  PlayerGUID.Clear();
646  }
ObjectGuid PlayerGUID
Definition: chapter2.cpp:650
uint32 ExecuteSpeech_Timer
Definition: chapter2.cpp:648
void Clear()
Definition: ObjectGuid.h:215
uint32 ExecuteSpeech_Counter
Definition: chapter2.cpp:649

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool npc_a_special_surprise::npc_a_special_surpriseAI::MeetQuestCondition ( Player player)
inline
660  {
661  switch (me->GetEntry())
662  {
663  case 29061: // Ellen Stanbridge
664  if (player->GetQuestStatus(12742) == QUEST_STATUS_INCOMPLETE)
665  return true;
666  break;
667  case 29072: // Kug Ironjaw
668  if (player->GetQuestStatus(12748) == QUEST_STATUS_INCOMPLETE)
669  return true;
670  break;
671  case 29067: // Donovan Pulfrost
672  if (player->GetQuestStatus(12744) == QUEST_STATUS_INCOMPLETE)
673  return true;
674  break;
675  case 29065: // Yazmina Oakenthorn
676  if (player->GetQuestStatus(12743) == QUEST_STATUS_INCOMPLETE)
677  return true;
678  break;
679  case 29071: // Antoine Brack
680  if (player->GetQuestStatus(12750) == QUEST_STATUS_INCOMPLETE)
681  return true;
682  break;
683  case 29032: // Malar Bravehorn
684  if (player->GetQuestStatus(12739) == QUEST_STATUS_INCOMPLETE)
685  return true;
686  break;
687  case 29068: // Goby Blastenheimer
688  if (player->GetQuestStatus(12745) == QUEST_STATUS_INCOMPLETE)
689  return true;
690  break;
691  case 29073: // Iggy Darktusk
692  if (player->GetQuestStatus(12749) == QUEST_STATUS_INCOMPLETE)
693  return true;
694  break;
695  case 29074: // Lady Eonys
696  if (player->GetQuestStatus(12747) == QUEST_STATUS_INCOMPLETE)
697  return true;
698  break;
699  case 29070: // Valok the Righteous
700  if (player->GetQuestStatus(12746) == QUEST_STATUS_INCOMPLETE)
701  return true;
702  break;
703  }
704 
705  return false;
706  }
Creature *const me
Definition: CreatureAI.h:71
Definition: QuestDef.h:113
uint32 GetEntry() const
Definition: Object.h:107

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_a_special_surprise::npc_a_special_surpriseAI::MoveInLineOfSight ( Unit who)
inlineoverridevirtual

Reimplemented from CreatureAI.

710  {
712  return;
713 
714  if (MeetQuestCondition(who->ToPlayer()))
715  PlayerGUID = who->GetGUID();
716  }
#define INTERACTION_DISTANCE
Definition: Object.h:34
bool MeetQuestCondition(Player *player)
Definition: chapter2.cpp:659
ObjectGuid PlayerGUID
Definition: chapter2.cpp:650
Player * ToPlayer()
Definition: Object.h:191
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true) const
Definition: Object.cpp:1658
Creature *const me
Definition: CreatureAI.h:71
TypeID GetTypeId() const
Definition: Object.h:113
ObjectGuid const & GetGUID() const
Definition: Object.h:105
Definition: ObjectGuid.h:33
bool IsEmpty() const
Definition: ObjectGuid.h:242

+ Here is the call graph for this function:

void npc_a_special_surprise::npc_a_special_surpriseAI::Reset ( )
inlineoverridevirtual

Reimplemented from ScriptedAI.

653  {
654  Initialize();
655 
657  }
void SetFlag(uint16 index, uint32 newFlag)
Definition: Object.cpp:1199
Definition: Unit.h:681
Creature *const me
Definition: CreatureAI.h:71
void Initialize()
Definition: chapter2.cpp:641
Definition: UpdateFields.h:109

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void npc_a_special_surprise::npc_a_special_surpriseAI::UpdateAI ( uint32  diff)
inlineoverridevirtual
Todo:
simplify text's selection

Reimplemented from ScriptedAI.

719  {
720  if (!PlayerGUID.IsEmpty() && !me->GetVictim() && me->IsAlive())
721  {
722  if (ExecuteSpeech_Timer <= diff)
723  {
725 
726  if (!player)
727  {
728  Reset();
729  return;
730  }
731 
733 
734  switch (player->getRace())
735  {
736  case RACE_HUMAN:
737  switch (ExecuteSpeech_Counter)
738  {
739  case 0: Talk(SAY_EXEC_START_1, player); break;
740  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
741  case 2: Talk(SAY_EXEC_PROG_5, player); break;
742  case 3: Talk(SAY_EXEC_NAME_1, player); break;
743  case 4: Talk(SAY_EXEC_RECOG_1, player); break;
744  case 5: Talk(SAY_EXEC_NOREM_5, player); break;
745  case 6: Talk(SAY_EXEC_THINK_7, player); break;
746  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
747  case 8:
748  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
749  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
750  break;
751  case 9:
752  Talk(SAY_EXEC_TIME_6, player);
755  break;
756  case 10:
757  Talk(SAY_EXEC_WAITING, player);
758  break;
759  case 11:
760  Talk(EMOTE_DIES);
762  me->SetHealth(0);
763  return;
764  }
765  break;
766  case RACE_ORC:
767  switch (ExecuteSpeech_Counter)
768  {
769  case 0: Talk(SAY_EXEC_START_1, player); break;
770  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
771  case 2: Talk(SAY_EXEC_PROG_6, player); break;
772  case 3: Talk(SAY_EXEC_NAME_1, player); break;
773  case 4: Talk(SAY_EXEC_RECOG_1, player); break;
774  case 5: Talk(SAY_EXEC_NOREM_7, player); break;
775  case 6: Talk(SAY_EXEC_THINK_8, player); break;
776  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
777  case 8:
778  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
779  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
780  break;
781  case 9:
782  Talk(SAY_EXEC_TIME_8, player);
785  break;
786  case 10:
787  Talk(SAY_EXEC_WAITING, player);
788  break;
789  case 11:
790  Talk(EMOTE_DIES);
792  me->SetHealth(0);
793  return;
794  }
795  break;
796  case RACE_DWARF:
797  switch (ExecuteSpeech_Counter)
798  {
799  case 0: Talk(SAY_EXEC_START_2, player); break;
800  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
801  case 2: Talk(SAY_EXEC_PROG_2, player); break;
802  case 3: Talk(SAY_EXEC_NAME_1, player); break;
803  case 4: Talk(SAY_EXEC_RECOG_3, player); break;
804  case 5: Talk(SAY_EXEC_NOREM_2, player); break;
805  case 6: Talk(SAY_EXEC_THINK_5, player); break;
806  case 7: Talk(SAY_EXEC_LISTEN_2, player); break;
807  case 8:
808  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
809  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
810  break;
811  case 9:
812  Talk(SAY_EXEC_TIME_3, player);
815  break;
816  case 10:
817  Talk(SAY_EXEC_WAITING, player);
818  break;
819  case 11:
820  Talk(EMOTE_DIES);
822  me->SetHealth(0);
823  return;
824  }
825  break;
826  case RACE_NIGHTELF:
827  switch (ExecuteSpeech_Counter)
828  {
829  case 0: Talk(SAY_EXEC_START_1, player); break;
830  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
831  case 2: Talk(SAY_EXEC_PROG_5, player); break;
832  case 3: Talk(SAY_EXEC_NAME_1, player); break;
833  case 4: Talk(SAY_EXEC_RECOG_1, player); break;
834  case 5: Talk(SAY_EXEC_NOREM_6, player); break;
835  case 6: Talk(SAY_EXEC_THINK_2, player); break;
836  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
837  case 8:
838  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
839  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
840  break;
841  case 9:
842  Talk(SAY_EXEC_TIME_7, player);
845  break;
846  case 10:
847  Talk(SAY_EXEC_WAITING, player);
848  break;
849  case 11:
850  Talk(EMOTE_DIES);
852  me->SetHealth(0);
853  return;
854  }
855  break;
856  case RACE_UNDEAD_PLAYER:
857  switch (ExecuteSpeech_Counter)
858  {
859  case 0: Talk(SAY_EXEC_START_1, player); break;
860  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
861  case 2: Talk(SAY_EXEC_PROG_3, player); break;
862  case 3: Talk(SAY_EXEC_NAME_1, player); break;
863  case 4: Talk(SAY_EXEC_RECOG_4, player); break;
864  case 5: Talk(SAY_EXEC_NOREM_3, player); break;
865  case 6: Talk(SAY_EXEC_THINK_1, player); break;
866  case 7: Talk(SAY_EXEC_LISTEN_3, player); break;
867  case 8:
868  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
869  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
870  break;
871  case 9:
872  Talk(SAY_EXEC_TIME_4, player);
875  break;
876  case 10:
877  Talk(SAY_EXEC_WAITING, player);
878  break;
879  case 11:
880  Talk(EMOTE_DIES);
882  me->SetHealth(0);
883  return;
884  }
885  break;
886  case RACE_TAUREN:
887  switch (ExecuteSpeech_Counter)
888  {
889  case 0: Talk(SAY_EXEC_START_1, player); break;
890  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
891  case 2: Talk(SAY_EXEC_PROG_1, player); break;
892  case 3: Talk(SAY_EXEC_NAME_1, player); break;
893  case 4: Talk(SAY_EXEC_RECOG_5, player); break;
894  case 5: Talk(SAY_EXEC_NOREM_8, player); break;
895  case 6: Talk(SAY_EXEC_THINK_9, player); break;
896  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
897  case 8:
898  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
899  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
900  break;
901  case 9:
902  Talk(SAY_EXEC_TIME_9, player);
905  break;
906  case 10:
907  Talk(SAY_EXEC_WAITING, player);
908  break;
909  case 11:
910  Talk(EMOTE_DIES);
912  me->SetHealth(0);
913  return;
914  }
915  break;
916  case RACE_GNOME:
917  switch (ExecuteSpeech_Counter)
918  {
919  case 0: Talk(SAY_EXEC_START_1, player); break;
920  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
921  case 2: Talk(SAY_EXEC_PROG_4, player); break;
922  case 3: Talk(SAY_EXEC_NAME_1, player); break;
923  case 4: Talk(SAY_EXEC_RECOG_1, player); break;
924  case 5: Talk(SAY_EXEC_NOREM_4, player); break;
925  case 6: Talk(SAY_EXEC_THINK_6, player); break;
926  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
927  case 8:
928  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
929  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
930  break;
931  case 9:
932  Talk(SAY_EXEC_TIME_5, player);
935  break;
936  case 10:
937  Talk(SAY_EXEC_WAITING, player);
938  break;
939  case 11:
940  Talk(EMOTE_DIES);
942  me->SetHealth(0);
943  return;
944  }
945  break;
946  case RACE_TROLL:
947  switch (ExecuteSpeech_Counter)
948  {
949  case 0: Talk(SAY_EXEC_START_3, player); break;
950  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
951  case 2: Talk(SAY_EXEC_PROG_7, player); break;
952  case 3: Talk(SAY_EXEC_NAME_2, player); break;
953  case 4: Talk(SAY_EXEC_RECOG_6, player); break;
954  case 5: Talk(SAY_EXEC_NOREM_9, player); break;
955  case 6: Talk(SAY_EXEC_THINK_10, player); break;
956  case 7: Talk(SAY_EXEC_LISTEN_4, player); break;
957  case 8:
958  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
959  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
960  break;
961  case 9:
962  Talk(SAY_EXEC_TIME_10, player);
965  break;
966  case 10:
967  Talk(SAY_EXEC_WAITING, player);
968  break;
969  case 11:
970  Talk(EMOTE_DIES);
972  me->SetHealth(0);
973  return;
974  }
975  break;
976  case RACE_BLOODELF:
977  switch (ExecuteSpeech_Counter)
978  {
979  case 0: Talk(SAY_EXEC_START_1, player); break;
980  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
981  case 2: Talk(SAY_EXEC_PROG_1, player); break;
982  case 3: Talk(SAY_EXEC_NAME_1, player); break;
983  case 4: Talk(SAY_EXEC_RECOG_1, player); break;
984  //case 5: //unknown
985  case 6: Talk(SAY_EXEC_THINK_3, player); break;
986  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
987  case 8:
988  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
989  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
990  break;
991  case 9:
992  Talk(SAY_EXEC_TIME_1, player);
995  break;
996  case 10:
997  Talk(SAY_EXEC_WAITING, player);
998  break;
999  case 11:
1000  Talk(EMOTE_DIES);
1002  me->SetHealth(0);
1003  return;
1004  }
1005  break;
1006  case RACE_DRAENEI:
1007  switch (ExecuteSpeech_Counter)
1008  {
1009  case 0: Talk(SAY_EXEC_START_1, player); break;
1010  case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
1011  case 2: Talk(SAY_EXEC_PROG_1, player); break;
1012  case 3: Talk(SAY_EXEC_NAME_1, player); break;
1013  case 4: Talk(SAY_EXEC_RECOG_2, player); break;
1014  case 5: Talk(SAY_EXEC_NOREM_1, player); break;
1015  case 6: Talk(SAY_EXEC_THINK_4, player); break;
1016  case 7: Talk(SAY_EXEC_LISTEN_1, player); break;
1017  case 8:
1018  if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
1019  Plaguefist->AI()->Talk(SAY_PLAGUEFIST, player);
1020  break;
1021  case 9:
1022  Talk(SAY_EXEC_TIME_2, player);
1025  break;
1026  case 10:
1027  Talk(SAY_EXEC_WAITING, player);
1028  break;
1029  case 11:
1030  Talk(EMOTE_DIES);
1032  me->SetHealth(0);
1033  return;
1034  }
1035  break;
1036  }
1037 
1038  if (ExecuteSpeech_Counter >= 9)
1039  ExecuteSpeech_Timer = 15000;
1040  else
1041  ExecuteSpeech_Timer = 7000;
1042 
1044  }
1045  else
1046  ExecuteSpeech_Timer -= diff;
1047  }
1048  }
Definition: chapter2.cpp:615
Definition: Unit.h:207
Definition: chapter2.cpp:567
Definition: chapter2.cpp:591
Definition: Unit.h:215
Definition: SharedDefines.h:105
Definition: chapter2.cpp:570
Definition: chapter2.cpp:583
Definition: chapter2.cpp:596
Definition: chapter2.cpp:589
TC_GAME_API Creature * GetClosestCreatureWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool alive)
Definition: ScriptedCreature.cpp:611
Definition: chapter2.cpp:579
Definition: chapter2.cpp:592
Definition: Unit.h:542
Definition: chapter2.cpp:601
Definition: chapter2.cpp:576
Definition: chapter2.cpp:574
ObjectGuid PlayerGUID
Definition: chapter2.cpp:650
Definition: SharedDefines.h:112
Definition: chapter2.cpp:604
Definition: chapter2.cpp:590
Definition: chapter2.cpp:582
Definition: Creature.h:467
Definition: chapter2.cpp:578
Definition: chapter2.cpp:597
Definition: SharedDefines.h:108
Definition: Unit.h:681
Definition: chapter2.cpp:581
Definition: chapter2.cpp:575
Definition: SharedDefines.h:107
Definition: chapter2.cpp:610
Definition: chapter2.cpp:599
Creature *const me
Definition: CreatureAI.h:71
Definition: SharedDefines.h:106
void setDeathState(DeathState s) override
Definition: Creature.cpp:1624
Definition: chapter2.cpp:588
Definition: chapter2.cpp:587
Definition: SharedDefines.h:104
Definition: chapter2.cpp:607
Definition: chapter2.cpp:573
Definition: chapter2.cpp:568
bool IsAlive() const
Definition: Unit.h:1692
Unit * GetVictim() const
Definition: Unit.h:1379
uint32 ExecuteSpeech_Timer
Definition: chapter2.cpp:648
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
Definition: ObjectAccessor.cpp:184
Definition: chapter2.cpp:577
Definition: chapter2.cpp:569
Definition: SharedDefines.h:102
Definition: chapter2.cpp:603
Definition: chapter2.cpp:595
Definition: chapter2.cpp:585
Definition: chapter2.cpp:608
Definition: chapter2.cpp:611
Definition: chapter2.cpp:614
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
Definition: CreatureAI.cpp:42
Definition: chapter2.cpp:618
Definition: chapter2.cpp:571
Definition: chapter2.cpp:572
Definition: chapter2.cpp:619
Definition: chapter2.cpp:616
Definition: SharedDefines.h:103
void RemoveFlag(uint16 index, uint32 oldFlag)
Definition: Object.cpp:1214
Definition: chapter2.cpp:613
Definition: chapter2.cpp:605
Definition: chapter2.cpp:598
Definition: UpdateFields.h:109
Definition: chapter2.cpp:609
Definition: chapter2.cpp:566
Definition: chapter2.cpp:602
Definition: chapter2.cpp:586
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
Definition: Unit.cpp:12772
Definition: chapter2.cpp:617
Definition: SharedDefines.h:109
void Reset() override
Definition: chapter2.cpp:652
Definition: chapter2.cpp:593
Definition: chapter2.cpp:584
Definition: SharedDefines.h:111
Definition: chapter2.cpp:612
Definition: chapter2.cpp:621
void SetHealth(uint32 val)
Definition: Unit.cpp:11537
Definition: chapter2.cpp:594
Definition: chapter2.cpp:600
Definition: chapter2.cpp:580
uint32 ExecuteSpeech_Counter
Definition: chapter2.cpp:649
Definition: chapter2.cpp:606
bool IsEmpty() const
Definition: ObjectGuid.h:242

+ Here is the call graph for this function:

Member Data Documentation

uint32 npc_a_special_surprise::npc_a_special_surpriseAI::ExecuteSpeech_Counter
uint32 npc_a_special_surprise::npc_a_special_surpriseAI::ExecuteSpeech_Timer
ObjectGuid npc_a_special_surprise::npc_a_special_surpriseAI::PlayerGUID

The documentation for this struct was generated from the following file: