AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
go_crystalline_tear Class Reference
Inheritance diagram for go_crystalline_tear:
GameObjectScript ScriptObject UpdatableScript< GameObject >

Public Member Functions

 go_crystalline_tear ()
 
bool OnQuestAccept (Player *player, GameObject *go, Quest const *quest) override
 
- Public Member Functions inherited from GameObjectScript
bool IsDatabaseBound () const override
 
virtual bool OnGossipHello (Player *, GameObject *)
 
virtual bool OnGossipSelect (Player *, GameObject *, uint32, uint32)
 
virtual bool OnGossipSelectCode (Player *, GameObject *, uint32, uint32, const char *)
 
virtual bool OnQuestAccept (Player *, GameObject *, Quest const *)
 
virtual bool OnQuestReward (Player *, GameObject *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *, GameObject *)
 
virtual void OnDestroyed (GameObject *, Player *)
 
virtual void OnDamaged (GameObject *, Player *)
 
virtual void OnLootStateChanged (GameObject *, uint32, Unit *)
 
virtual void OnGameObjectStateChanged (GameObject *, uint32)
 
virtual GameObjectAIGetAI (GameObject *) const
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
- Public Member Functions inherited from UpdatableScript< GameObject >
virtual void OnUpdate (GameObject *, uint32)
 

Additional Inherited Members

- Protected Member Functions inherited from GameObjectScript
 GameObjectScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name)
 
virtual ~ScriptObject ()=default
 
- Protected Member Functions inherited from UpdatableScript< GameObject >
 UpdatableScript ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ go_crystalline_tear()

go_crystalline_tear::go_crystalline_tear ( )
inline
908: GameObjectScript("go_crystalline_tear") { }
Definition: ScriptMgr.h:759

Member Function Documentation

◆ OnQuestAccept()

bool go_crystalline_tear::OnQuestAccept ( Player player,
GameObject go,
Quest const *  quest 
)
inlineoverridevirtual

Reimplemented from GameObjectScript.

911 {
912 if (quest->GetQuestId() == QUEST_A_PAWN_ON_THE_ETERNAL_BOARD)
913 {
914 if (Creature* trigger = go->FindNearestCreature(15454, 100, player))
915 {
916 Unit* Merithra = trigger->SummonCreature(15378, -8034.535f, 1535.14f, 2.61f, 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
917 Unit* Caelestrasz = trigger->SummonCreature(15379, -8032.767f, 1533.148f, 2.61f, 1.5f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
918 Unit* Arygos = trigger->SummonCreature(15380, -8034.52f, 1537.843f, 2.61f, 5.7f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
919 /* Unit* Fandral = */ trigger->SummonCreature(15382, -8028.462f, 1535.843f, 2.61f, 3.141592f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
920 Creature* Anachronos = trigger->SummonCreature(15381, -8028.75f, 1538.795f, 2.61f, 4, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
921
922 if (Merithra)
923 {
926 Merithra->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15420);
927 Merithra->SetFaction(FACTION_FRIENDLY);
928 }
929
930 if (Caelestrasz)
931 {
933 Caelestrasz->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
934 Caelestrasz->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15419);
935 Caelestrasz->SetFaction(FACTION_FRIENDLY);
936 }
937
938 if (Arygos)
939 {
942 Arygos->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15418);
944 }
945
946 if (Anachronos)
947 {
949 anachronosAI->PlayerGUID = player->GetGUID();
950
952 {
953 triggerAI->Failed = false;
954 triggerAI->PlayerGUID = player->GetGUID();
955 triggerAI->EventStarted = true;
956 triggerAI->Announced = true;
957 }
958 }
959 }
960 }
961 return true;
962 }
#define CAST_AI(a, b)
Definition: ScriptedCreature.h:28
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
Definition: Object.h:42
@ UNIT_FIELD_DISPLAYID
Definition: UpdateFields.h:124
@ UNIT_FIELD_BYTES_1
Definition: UpdateFields.h:131
@ UNIT_NPC_FLAG_NONE
Definition: Unit.h:515
@ QUEST_A_PAWN_ON_THE_ETERNAL_BOARD
Definition: zone_silithus.cpp:47
@ FACTION_FRIENDLY
Definition: SharedDefines.h:173
Definition: Creature.h:46
CreatureAI * AI() const
Definition: Creature.h:135
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
void SetUInt32Value(uint16 index, uint32 value)
Definition: Object.cpp:650
TempSummon * SummonCreature(uint32 id, const Position &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition: Object.cpp:2318
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2409
Definition: Unit.h:1290
void SetFaction(uint32 faction)
Definition: Unit.cpp:10029
void ReplaceAllNpcFlags(NPCFlags flags)
Definition: Unit.h:1649

References Creature::AI(), CAST_AI, FACTION_FRIENDLY, WorldObject::FindNearestCreature(), Object::GetGUID(), Quest::GetQuestId(), QUEST_A_PAWN_ON_THE_ETERNAL_BOARD, Unit::ReplaceAllNpcFlags(), Unit::SetFaction(), Object::SetUInt32Value(), WorldObject::SummonCreature(), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, UNIT_FIELD_BYTES_1, UNIT_FIELD_DISPLAYID, and UNIT_NPC_FLAG_NONE.