Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
OutdoorPvPNA.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "ScriptMgr.h"
7#include "OutdoorPvPNA.h"
8#include "Player.h"
9#include "ObjectMgr.h"
10#include "OutdoorPvPMgr.h"
11#include "WorldPacket.h"
12#include "Language.h"
13#include "World.h"
14
20
22{
23 if (killed->GetTypeId() == TypeID::TYPEID_PLAYER && player->GetTeam() != killed->ToPlayer()->GetTeam())
24 {
25 player->KilledMonsterCredit(NA_CREDIT_MARKER, 0); // 0 guid, btw it isn't even used in killedmonster function :S
26 if (player->GetTeam() == ALLIANCE)
27 player->CastSpell(player, NA_KILL_TOKEN_ALLIANCE, true);
28 else
29 player->CastSpell(player, NA_KILL_TOKEN_HORDE, true);
30 }
31}
32
34{
35 uint32 cnt = 0;
36 for (std::map<uint32, uint64>::iterator itr = m_Creatures.begin(); itr != m_Creatures.end(); ++itr)
37 {
38 switch (itr->first)
39 {
40 case NA_NPC_GUARD_01:
41 case NA_NPC_GUARD_02:
42 case NA_NPC_GUARD_03:
43 case NA_NPC_GUARD_04:
44 case NA_NPC_GUARD_05:
45 case NA_NPC_GUARD_06:
46 case NA_NPC_GUARD_07:
47 case NA_NPC_GUARD_08:
48 case NA_NPC_GUARD_09:
49 case NA_NPC_GUARD_10:
50 case NA_NPC_GUARD_11:
51 case NA_NPC_GUARD_12:
52 case NA_NPC_GUARD_13:
53 case NA_NPC_GUARD_14:
54 case NA_NPC_GUARD_15:
55 if (Creature const* const cr = HashMapHolder<Creature>::Find(itr->second))
56 if (cr->IsAlive())
57 ++cnt;
58 break;
59 default:
60 break;
61 }
62 }
63 return cnt;
64}
65
70
72{
73 const creature_type * creatures = NULL;
74 if (team == ALLIANCE)
75 creatures=AllianceControlNPCs;
76 else if (team == HORDE)
77 creatures=HordeControlNPCs;
78 else
79 return;
80 for (int i = 0; i < NA_CONTROL_NPC_NUM; ++i)
81 AddCreature(i, creatures[i].entry, creatures[i].teamval, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, 1000000);
82}
83
85{
86 for (int i = 0; i < NA_CONTROL_NPC_NUM; ++i)
87 DelCreature(i);
88}
89
91{
92 const go_type * gos = NULL;
93 if (team == ALLIANCE)
95 else if (team == HORDE)
97 else
98 return;
99 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
100 {
101 if (i == NA_ROOST_S ||
102 i == NA_ROOST_W ||
103 i == NA_ROOST_N ||
104 i == NA_ROOST_E ||
105 i == NA_BOMB_WAGON_S ||
106 i == NA_BOMB_WAGON_W ||
107 i == NA_BOMB_WAGON_N ||
108 i == NA_BOMB_WAGON_E)
109 continue; // roosts and bomb wagons are spawned when someone uses the matching destroyed roost
110 AddObject(i, gos[i].entry, gos[i].map, gos[i].x, gos[i].y, gos[i].z, gos[i].o, gos[i].rot0, gos[i].rot1, gos[i].rot2, gos[i].rot3);
111 }
112}
113
115{
116 for (int i = 0; i < NA_CONTROL_GO_NUM; ++i)
117 {
118 DelObject(i);
119 }
120}
121
123{
127 sWorld->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetSkyFireStringForDBCLocale(LANG_OPVP_NA_LOSE_A));
128 else if (m_ControllingFaction == HORDE)
129 sWorld->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetSkyFireStringForDBCLocale(LANG_OPVP_NA_LOSE_H));
130
134 DeSpawnGOs();
135 DeSpawnNPCs();
136 SpawnGOsForTeam(team);
137 SpawnNPCsForTeam(team);
139 m_capturable = false;
140 this->UpdateHalaaWorldState();
141 if (team == ALLIANCE)
142 {
147 m_PvP->TeamApplyBuff(TEAM_ALLIANCE, NA_CAPTURE_BUFF);
148 m_PvP->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0);
149 m_PvP->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 1);
150 m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
151 sWorld->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetSkyFireStringForDBCLocale(LANG_OPVP_NA_CAPTURE_A));
152 }
153 else
154 {
159 m_PvP->TeamApplyBuff(TEAM_HORDE, NA_CAPTURE_BUFF);
160 m_PvP->SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 1);
161 m_PvP->SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0);
162 m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
163 sWorld->SendZoneText(NA_HALAA_GRAVEYARD_ZONE, sObjectMgr->GetSkyFireStringForDBCLocale(LANG_OPVP_NA_CAPTURE_H));
164 }
169}
170
172{
174 {
176 uint32 phase = (uint32)ceil((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f);
179 return true;
180 }
181 return false;
182}
183
189
197
199{
200// m_TypeId = OUTDOOR_PVP_NA; _MUST_ be set in ctor, because of spawns cleanup
201 // add the zones affected by the pvp buff
203
204 // halaa
205 m_obj = new OPvPCapturePointNA(this);
206
208 return true;
209}
210
212{
213 // add buffs
214 if (player->GetTeam() == m_obj->GetControllingFaction())
215 player->CastSpell(player, NA_CAPTURE_BUFF, true);
217}
218
220{
221 // remove buffs
224}
225
227{
228 m_obj->FillInitialWorldStates(builder);
229}
230
232{
234 {
237 }
238 else if (m_ControllingFaction == HORDE)
239 {
242 }
243 else
244 {
247 }
248
251
254 builder.AppendState(NA_UI_TOWER_SLIDER_N, 100);
255
260
265
270
275
281}
282
284{
313}
314
316{
317 return m_obj->Update(diff);
318}
319
321{
322 std::vector<uint32> nodes;
323 nodes.resize(2);
324 bool retval = false;
325 switch (spellId)
326 {
329 nodes[1] = FlightPathEndNodes[NA_ROOST_N];
330 player->ActivateTaxiPathTo(nodes);
332 player->UpdatePvP(true, true);
333 retval = true;
334 break;
337 nodes[1] = FlightPathEndNodes[NA_ROOST_S];
338 player->ActivateTaxiPathTo(nodes);
340 player->UpdatePvP(true, true);
341 retval = true;
342 break;
345 nodes[1] = FlightPathEndNodes[NA_ROOST_W];
346 player->ActivateTaxiPathTo(nodes);
348 player->UpdatePvP(true, true);
349 retval = true;
350 break;
353 nodes[1] = FlightPathEndNodes[NA_ROOST_E];
354 player->ActivateTaxiPathTo(nodes);
356 player->UpdatePvP(true, true);
357 retval = true;
358 break;
359 default:
360 break;
361 }
362
363 if (retval)
364 {
365 //Adding items
366 uint32 noSpaceForCount = 0;
367
368 // check space and find places
369 ItemPosCountVec dest;
370
371 int32 count = 10;
372 uint32 itemid = 24538;
373 // bomb id count
374 InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemid, count, &noSpaceForCount);
375 if (msg != EQUIP_ERR_OK) // convert to possible store amount
376 count -= noSpaceForCount;
377
378 if (count == 0 || dest.empty()) // can't add any
379 {
380 return true;
381 }
382
383 Item* item = player->StoreNewItem(dest, itemid, true);
384
385 if (count > 0 && item)
386 {
387 player->SendNewItem(item, count, true, false);
388 }
389
390 return true;
391 }
392 return false;
393}
394
396{
397 int32 retval = OPvPCapturePoint::HandleOpenGo(player, guid);
398 if (retval >= 0)
399 {
400 const go_type * gos = NULL;
403 else if (m_ControllingFaction == HORDE)
404 gos=HordeControlGOs;
405 else
406 return -1;
407
408 int32 del = -1;
409 int32 del2 = -1;
410 int32 add = -1;
411 int32 add2 = -1;
412
413 switch (retval)
414 {
417 add = NA_ROOST_S;
418 add2 = NA_BOMB_WAGON_S;
421 else
424 break;
427 add = NA_ROOST_N;
428 add2 = NA_BOMB_WAGON_N;
431 else
434 break;
437 add = NA_ROOST_W;
438 add2 = NA_BOMB_WAGON_W;
441 else
444 break;
447 add = NA_ROOST_E;
448 add2 = NA_BOMB_WAGON_E;
451 else
454 break;
455 case NA_BOMB_WAGON_S:
456 del = NA_BOMB_WAGON_S;
457 del2 = NA_ROOST_S;
461 else
464 break;
465 case NA_BOMB_WAGON_N:
466 del = NA_BOMB_WAGON_N;
467 del2 = NA_ROOST_N;
471 else
474 break;
475 case NA_BOMB_WAGON_W:
476 del = NA_BOMB_WAGON_W;
477 del2 = NA_ROOST_W;
481 else
484 break;
485 case NA_BOMB_WAGON_E:
486 del = NA_BOMB_WAGON_E;
487 del2 = NA_ROOST_E;
491 else
494 break;
495 default:
496 return -1;
497 break;
498 }
499
500 if (del>-1)
501 DelObject(del);
502
503 if (del2>-1)
504 DelObject(del2);
505
506 if (add>-1)
507 AddObject(add, gos[add].entry, gos[add].map, gos[add].x, gos[add].y, gos[add].z, gos[add].o, gos[add].rot0, gos[add].rot1, gos[add].rot2, gos[add].rot3);
508
509 if (add2>-1)
510 AddObject(add2, gos[add2].entry, gos[add2].map, gos[add2].x, gos[add2].y, gos[add2].z, gos[add2].o, gos[add2].rot0, gos[add2].rot1, gos[add2].rot2, gos[add2].rot3);
511
512 return retval;
513 }
514 return -1;
515}
516
518{
519 // let the controlling faction advance in phase
520 bool capturable = false;
521 if (m_ControllingFaction == ALLIANCE && m_activePlayers[0].size() > m_activePlayers[1].size())
522 capturable = true;
523 else if (m_ControllingFaction == HORDE && m_activePlayers[0].size() < m_activePlayers[1].size())
524 capturable = true;
525
526 if (m_GuardCheckTimer < diff)
527 {
530 if (cnt != m_GuardsAlive)
531 {
532 m_GuardsAlive = cnt;
533 if (m_GuardsAlive == 0)
534 m_capturable = true;
535 // update the guard count for the players in zone
536 m_PvP->SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive);
537 }
538 } else m_GuardCheckTimer -= diff;
539
540 if (m_capturable || capturable)
541 {
542 if (m_RespawnTimer < diff)
543 {
544 // if the guards have been killed, then the challenger has one hour to take over halaa.
545 // in case they fail to do it, the guards are respawned, and they have to start again.
549 } else m_RespawnTimer -= diff;
550
551 return OPvPCapturePoint::Update(diff);
552 }
553 return false;
554}
555
557{
558 uint32 artkit = 21;
559 switch (m_State)
560 {
563 break;
567 artkit = 2;
568 break;
572 artkit = 1;
573 break;
576 break;
579 break;
582 artkit = 2;
583 break;
586 artkit = 1;
587 break;
588 }
589
591 if (flag)
592 {
593 flag->SetGoArtKit(artkit);
594 }
595
597}
598
600{
601 // send this too, sometimes the slider disappears, dunno why :(
603 // send these updates to only the ones in this objective
604 uint32 phase = (uint32)ceil((m_value + m_maxValue) / (2 * m_maxValue) * 100.0f);
607}
608
610{
611 m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, uint32(bool(m_HalaaState & HALAA_N)));
612 m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEU_A, uint32(bool(m_HalaaState & HALAA_N_A)));
613 m_PvP->SendUpdateWorldState(NA_MAP_HALAA_NEU_H, uint32(bool(m_HalaaState & HALAA_N_H)));
614 m_PvP->SendUpdateWorldState(NA_MAP_HALAA_HORDE, uint32(bool(m_HalaaState & HALAA_H)));
615 m_PvP->SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, uint32(bool(m_HalaaState & HALAA_A)));
616}
617
619{
620 switch (roost)
621 {
622 case NA_ROOST_S:
625 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, uint32(bool(m_WyvernStateSouth & WYVERN_HORDE)));
627 break;
628 case NA_ROOST_N:
631 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, uint32(bool(m_WyvernStateNorth & WYVERN_HORDE)));
633 break;
634 case NA_ROOST_W:
637 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, uint32(bool(m_WyvernStateWest & WYVERN_HORDE)));
638 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, uint32(bool(m_WyvernStateWest & WYVERN_ALLIANCE)));
639 break;
640 case NA_ROOST_E:
643 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, uint32(bool(m_WyvernStateEast & WYVERN_HORDE)));
644 m_PvP->SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, uint32(bool(m_WyvernStateEast & WYVERN_ALLIANCE)));
645 break;
646 }
647}
648
650{
651 public:
652 OutdoorPvP_nagrand() : OutdoorPvPScript("outdoorpvp_na") { }
653
655 {
656 return new OutdoorPvPNA();
657 }
658};
659
661{
662 new OutdoorPvP_nagrand();
663}
std::int32_t int32
Definition Define.h:73
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
InventoryResult
Definition Item.h:27
@ EQUIP_ERR_OK
Definition Item.h:28
@ LANG_OPVP_NA_CAPTURE_A
Definition Language.h:1181
@ LANG_OPVP_NA_LOSE_A
Definition Language.h:1183
@ LANG_OPVP_NA_LOSE_H
Definition Language.h:1182
@ LANG_OPVP_NA_CAPTURE_H
Definition Language.h:1180
@ TYPEID_PLAYER
Definition Object.h:55
#define sObjectMgr
Definition ObjectMgr.h:1617
@ OUTDOOR_PVP_NA
Definition OutdoorPvP.h:19
@ OBJECTIVESTATE_HORDE
Definition OutdoorPvP.h:31
@ OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE
Definition OutdoorPvP.h:33
@ OBJECTIVESTATE_ALLIANCE
Definition OutdoorPvP.h:30
@ OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE
Definition OutdoorPvP.h:32
@ OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE
Definition OutdoorPvP.h:35
@ OBJECTIVESTATE_NEUTRAL
Definition OutdoorPvP.h:29
@ OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE
Definition OutdoorPvP.h:34
void AddSC_outdoorpvp_na()
const uint32 NA_GUARD_CHECK_TIME
const uint32 NA_HALAA_GRAVEYARD
@ HALAA_N
@ HALAA_N_A
@ HALAA_H
@ HALAA_A
@ HALAA_N_H
const go_type HordeControlGOs[NA_CONTROL_GO_NUM]
const uint32 NA_GUARDS_MAX
@ WYVERN_NEU_HORDE
@ WYVERN_NEU_ALLIANCE
@ WYVERN_ALLIANCE
@ WYVERN_HORDE
@ NA_ROOST_W
@ NA_BOMB_WAGON_E
@ NA_DESTROYED_ROOST_S
@ NA_BOMB_WAGON_N
@ NA_BOMB_WAGON_W
@ NA_DESTROYED_ROOST_E
@ NA_BOMB_WAGON_S
@ NA_DESTROYED_ROOST_N
@ NA_DESTROYED_ROOST_W
@ NA_ROOST_E
@ NA_CONTROL_GO_NUM
@ NA_ROOST_N
@ NA_ROOST_S
@ NA_SPELL_FLY_SOUTH
@ NA_SPELL_FLY_WEST
@ NA_SPELL_FLY_EAST
@ NA_SPELL_FLY_NORTH
const creature_type AllianceControlNPCs[NA_CONTROL_NPC_NUM]
const go_type AllianceControlGOs[NA_CONTROL_GO_NUM]
const uint32 NA_RESPAWN_TIME
const uint32 NA_HALAA_GRAVEYARD_ZONE
const creature_type HordeControlNPCs[NA_CONTROL_NPC_NUM]
@ NA_NPC_GUARD_10
@ NA_CONTROL_NPC_NUM
@ NA_NPC_GUARD_14
@ NA_NPC_GUARD_03
@ NA_NPC_GUARD_12
@ NA_NPC_GUARD_09
@ NA_NPC_GUARD_11
@ NA_NPC_GUARD_07
@ NA_NPC_GUARD_05
@ NA_NPC_GUARD_08
@ NA_NPC_GUARD_02
@ NA_NPC_GUARD_01
@ NA_NPC_GUARD_13
@ NA_NPC_GUARD_06
@ NA_NPC_GUARD_15
@ NA_NPC_GUARD_04
const uint32 NA_CREDIT_MARKER
@ NA_CAPTURE_BUFF
@ NA_KILL_TOKEN_HORDE
@ NA_KILL_TOKEN_ALLIANCE
@ NA_MAP_HALAA_NEU_A
@ NA_MAP_WYVERN_SOUTH_NEU_H
@ NA_MAP_HALAA_HORDE
@ NA_UI_ALLIANCE_GUARDS_SHOW
@ NA_MAP_WYVERN_NORTH_NEU_A
@ NA_UI_TOWER_SLIDER_DISPLAY
@ NA_MAP_HALAA_NEUTRAL
@ NA_MAP_WYVERN_WEST_NEU_A
@ NA_MAP_WYVERN_SOUTH_NEU_A
@ NA_MAP_WYVERN_WEST_H
@ NA_MAP_WYVERN_NORTH_NEU_H
@ NA_UI_HORDE_GUARDS_SHOW
@ NA_MAP_HALAA_ALLIANCE
@ NA_MAP_WYVERN_EAST_H
@ NA_MAP_WYVERN_SOUTH_A
@ NA_UI_TOWER_SLIDER_N
@ NA_UI_GUARDS_MAX
@ NA_MAP_WYVERN_EAST_A
@ NA_UI_TOWER_SLIDER_POS
@ NA_MAP_WYVERN_NORTH_H
@ NA_UI_GUARDS_LEFT
@ NA_MAP_WYVERN_WEST_A
@ NA_MAP_WYVERN_EAST_NEU_A
@ NA_MAP_WYVERN_EAST_NEU_H
@ NA_MAP_HALAA_NEU_H
@ NA_MAP_WYVERN_WEST_NEU_H
@ NA_MAP_WYVERN_NORTH_A
@ NA_MAP_WYVERN_SOUTH_H
const uint32 FlightPathEndNodes[FLIGHT_NODES_NUM]
const uint32 FlightPathStartNodes[FLIGHT_NODES_NUM]
const uint32 NA_BUFF_ZONE
std::vector< ItemPosCount > ItemPosCountVec
Definition Player.h:777
@ PLAYER_FLAGS_IN_PVP
Definition Player.h:546
@ TEAM_ALLIANCE
@ TEAM_HORDE
@ ALLIANCE
@ HORDE
@ NULL_BAG
Definition Unit.h:336
@ NULL_SLOT
Definition Unit.h:337
@ PLAYER_FIELD_PLAYER_FLAGS
void SetGoArtKit(uint8 artkit)
static T * Find(uint64 guid)
Definition Item.h:202
OPvPCapturePoint(OutdoorPvP *pvp)
bool AddObject(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3)
std::map< uint32, uint64 > m_Creatures
Definition OutdoorPvP.h:170
bool AddCreature(uint32 type, uint32 entry, uint32 teamval, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay=0)
virtual int32 HandleOpenGo(Player *player, uint64 guid)
bool SetCapturePointData(uint32 entry, uint32 map, float x, float y, float z, float o=0, float rotation0=0, float rotation1=0, float rotation2=0, float rotation3=0)
OutdoorPvP * m_PvP
Definition OutdoorPvP.h:165
virtual bool Update(uint32 diff)
ObjectiveStates m_State
Definition OutdoorPvP.h:159
uint32 m_neutralValuePct
Definition OutdoorPvP.h:162
PlayerSet m_activePlayers[2]
Definition OutdoorPvP.h:143
void SendUpdateWorldState(uint32 field, uint32 value)
virtual void HandlePlayerLeave(Player *player)
virtual bool HandlePlayerEnter(Player *player)
bool DelCreature(uint32 type)
bool DelObject(uint32 type)
uint32 m_capturePointGUID
Definition OutdoorPvP.h:121
void UpdateWyvernRoostWorldState(uint32 roost)
void SendChangePhase() OVERRIDE
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
int32 HandleOpenGo(Player *player, uint64 guid) OVERRIDE
OPvPCapturePointNA(OutdoorPvP *pvp)
uint32 GetAliveGuardsCount()
bool Update(uint32 diff) OVERRIDE
void HandlePlayerLeave(Player *player) OVERRIDE
uint32 GetControllingFaction() const
void SpawnGOsForTeam(uint32 team)
void ChangeState() OVERRIDE
void SpawnNPCsForTeam(uint32 team)
void FactionTakeOver(uint32 team)
bool HandleCustomSpell(Player *player, uint32 spellId, GameObject *go) OVERRIDE
bool HandlePlayerEnter(Player *player) OVERRIDE
Player * ToPlayer()
Definition Object.h:204
TypeID GetTypeId() const
Definition Object.h:131
void SetFlag(uint16 index, uint32 newFlag)
Definition Object.cpp:1261
OutdoorPvP * GetOutdoorPvP() const OVERRIDE
virtual void HandlePlayerEnterZone(Player *player, uint32 zone)
uint32 m_TypeId
Definition OutdoorPvP.h:242
void RegisterZone(uint32 zoneid)
virtual void HandlePlayerLeaveZone(Player *player, uint32 zone)
void AddCapturePoint(OPvPCapturePoint *cp)
Definition OutdoorPvP.h:256
void HandlePlayerEnterZone(Player *player, uint32 zone) OVERRIDE
void SendRemoveWorldStates(Player *player) OVERRIDE
bool Update(uint32 diff) OVERRIDE
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
OPvPCapturePointNA * m_obj
void HandleKillImpl(Player *player, Unit *killed) OVERRIDE
bool SetupOutdoorPvP() OVERRIDE
void HandlePlayerLeaveZone(Player *player, uint32 zone) OVERRIDE
OutdoorPvPScript(const char *name)
uint32 GetTeam() const
Definition Player.h:2527
void KilledMonsterCredit(uint32 entry, uint64 guid=0)
void SendUpdateWorldState(uint32 Field, uint32 Value)
Definition Player.cpp:9734
InventoryResult CanStoreNewItem(uint8 bag, uint8 slot, ItemPosCountVec &dest, uint32 item, uint32 count, uint32 *no_space_count=NULL) const
bool ActivateTaxiPathTo(std::vector< uint32 > const &nodes, Creature *npc=NULL, uint32 spellid=0)
Definition Player.cpp:16547
Item * StoreNewItem(ItemPosCountVec const &pos, uint32 item, bool update, int32 randomPropertyId=0, AllowedLooterSet const &allowedLooters=AllowedLooterSet())
void UpdatePvP(bool state, bool override=false)
Definition Player.cpp:17484
void SendNewItem(Item *item, uint32 count, bool received, bool created, bool broadcast=false)
Definition Player.cpp:11604
Definition Unit.h:1367
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)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void AppendState(uint32 worldstate, uint32 value)
#define sWorld
Definition World.h:910