AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
lfg::LFGPlayerScript Class Reference

#include "LFGScripts.h"

Inheritance diagram for lfg::LFGPlayerScript:
PlayerScript ScriptObject

Public Member Functions

 LFGPlayerScript ()
 
void OnPlayerLevelChanged (Player *player, uint8 oldLevel) override
 
void OnPlayerLogout (Player *player) override
 
void OnPlayerLogin (Player *player) override
 
void OnPlayerBindToInstance (Player *player, Difficulty difficulty, uint32 mapId, bool permanent) override
 
void OnPlayerMapChanged (Player *player) override
 
- Public Member Functions inherited from PlayerScript
virtual void OnPlayerJustDied (Player *)
 
virtual void OnPlayerCalculateTalentsPoints (Player const *, uint32 &)
 
virtual void OnPlayerReleasedGhost (Player *)
 
virtual void OnPlayerSendInitialPacketsBeforeAddToMap (Player *, WorldPacket &)
 
virtual void OnPlayerBattlegroundDesertion (Player *, BattlegroundDesertionType const)
 
virtual void OnPlayerCompleteQuest (Player *, Quest const *)
 
virtual void OnPlayerPVPKill (Player *, Player *)
 
virtual void OnPlayerPVPFlagChange (Player *, bool)
 
virtual void OnPlayerCreatureKill (Player *, Creature *)
 
virtual void OnPlayerCreatureKilledByPet (Player *, Creature *)
 
virtual void OnPlayerKilledByCreature (Creature *, Player *)
 
virtual void OnPlayerCreatureKillCredit (Player *, Creature *)
 
virtual void OnPlayerFreeTalentPointsChanged (Player *, uint32)
 
virtual void OnPlayerTalentsReset (Player *, bool)
 
virtual bool OnPlayerCanLearnTalent (Player *, TalentEntry const *, uint32)
 
virtual void OnPlayerAfterSpecSlotChanged (Player *, uint8)
 
virtual void OnPlayerBeforeUpdate (Player *, uint32)
 
virtual void OnPlayerAfterUpdate (Player *, uint32)
 
virtual void OnPlayerUpdate (Player *, uint32)
 
virtual void OnPlayerMoneyChanged (Player *, int32 &)
 
virtual void OnPlayerBeforeLootMoney (Player *, Loot *)
 
virtual void OnPlayerBeforeSendLoot (Player *, ObjectGuid, Loot *)
 
virtual void OnPlayerGiveXP (Player *, uint32 &, Unit *, uint8)
 
virtual bool OnPlayerReputationChange (Player *, uint32, int32 &, bool)
 
virtual void OnPlayerReputationRankChange (Player *, uint32, ReputationRank, ReputationRank, bool)
 
virtual void OnPlayerGiveReputation (Player *, int32, float &, ReputationSource)
 
virtual void OnPlayerLearnSpell (Player *, uint32)
 
virtual void OnPlayerForgotSpell (Player *, uint32)
 
virtual void OnPlayerDuelRequest (Player *, Player *)
 
virtual void OnPlayerDuelStart (Player *, Player *)
 
virtual void OnPlayerDuelEnd (Player *, Player *, DuelCompleteType)
 
virtual void OnPlayerBeforeSendChatMessage (Player *, uint32 &, uint32 &, std::string &)
 
virtual void OnPlayerEmote (Player *, uint32)
 
virtual void OnPlayerTextEmote (Player *, uint32, uint32, ObjectGuid)
 
virtual void OnPlayerSpellCast (Player *, Spell *, bool)
 
virtual void OnPlayerLoadFromDB (Player *)
 
virtual void OnPlayerBeforeLogout (Player *)
 
virtual bool OnPlayerCanMarkAccountOffline (ObjectGuid, uint32)
 
virtual void OnPlayerCreate (Player *)
 
virtual void OnPlayerDelete (ObjectGuid, uint32)
 
virtual void OnPlayerFailedDelete (ObjectGuid, uint32)
 
virtual void OnPlayerSave (Player *)
 
virtual void OnPlayerUpdateZone (Player *, uint32, uint32)
 
virtual void OnPlayerUpdateArea (Player *, uint32, uint32)
 
virtual bool OnPlayerBeforeTeleport (Player *, uint32, float, float, float, float, uint32, Unit *)
 
virtual void OnPlayerUpdateFaction (Player *)
 
virtual void OnPlayerAddToBattleground (Player *, Battleground *)
 
virtual void OnPlayerQueueRandomDungeon (Player *, uint32 &)
 
virtual void OnPlayerRemoveFromBattleground (Player *, Battleground *)
 
virtual void OnPlayerAchievementComplete (Player *, AchievementEntry const *)
 
virtual bool OnPlayerBeforeAchievementComplete (Player *, AchievementEntry const *)
 
virtual void OnPlayerCriteriaProgress (Player *, AchievementCriteriaEntry const *)
 
virtual bool OnPlayerBeforeCriteriaProgress (Player *, AchievementCriteriaEntry const *)
 
virtual void OnPlayerAchievementSave (CharacterDatabaseTransaction, Player *, uint16, CompletedAchievementData)
 
virtual void OnPlayerCriteriaSave (CharacterDatabaseTransaction, Player *, uint16, CriteriaProgress)
 
virtual void OnPlayerGossipSelect (Player *, uint32, uint32, uint32)
 
virtual void OnPlayerGossipSelectCode (Player *, uint32, uint32, uint32, char const *)
 
virtual void OnPlayerBeingCharmed (Player *, Unit *, uint32, uint32)
 
virtual void OnPlayerAfterSetVisibleItemSlot (Player *, uint8, Item *)
 
virtual void OnPlayerAfterMoveItemFromInventory (Player *, Item *, uint8, uint8, bool)
 
virtual void OnPlayerAfterMoveItemToInventory (Player *, Item *, bool)
 
virtual void OnPlayerEquip (Player *, Item *, uint8, uint8, bool)
 
virtual void OnPlayerUnequip (Player *, Item *)
 
virtual void OnPlayerJoinBG (Player *)
 
virtual void OnPlayerJoinArena (Player *)
 
virtual void OnPlayerGetMaxPersonalArenaRatingRequirement (Player const *, uint32, uint32 &) const
 
virtual void OnPlayerLootItem (Player *, Item *, uint32, ObjectGuid)
 
virtual void OnPlayerBeforeFillQuestLootItem (Player *, LootItem &)
 
virtual void OnPlayerStoreNewItem (Player *, Item *, uint32)
 
virtual void OnPlayerCreateItem (Player *, Item *, uint32)
 
virtual void OnPlayerQuestRewardItem (Player *, Item *, uint32)
 
virtual bool OnPlayerCanPlaceAuctionBid (Player *, AuctionEntry *)
 
virtual void OnPlayerGroupRollRewardItem (Player *, Item *, uint32, RollVote, Roll *)
 
virtual bool OnPlayerBeforeOpenItem (Player *, Item *)
 
virtual bool OnPlayerBeforeQuestComplete (Player *, uint32)
 
virtual void OnPlayerQuestComputeXP (Player *, Quest const *, uint32 &)
 
virtual void OnPlayerBeforeDurabilityRepair (Player *, ObjectGuid, ObjectGuid, float &, uint8)
 
virtual void OnPlayerBeforeBuyItemFromVendor (Player *, ObjectGuid, uint32, uint32 &, uint8, uint8, uint8)
 
virtual void OnPlayerBeforeStoreOrEquipNewItem (Player *, uint32, uint32 &, uint8, uint8, uint8, ItemTemplate const *, Creature *, VendorItem const *, bool)
 
virtual void OnPlayerAfterStoreOrEquipNewItem (Player *, uint32, Item *, uint8, uint8, uint8, ItemTemplate const *, Creature *, VendorItem const *, bool)
 
virtual void OnPlayerAfterUpdateMaxPower (Player *, Powers &, float &)
 
virtual void OnPlayerAfterUpdateMaxHealth (Player *, float &)
 
virtual void OnPlayerBeforeUpdateAttackPowerAndDamage (Player *, float &, float &, bool)
 
virtual void OnPlayerAfterUpdateAttackPowerAndDamage (Player *, float &, float &, float &, float &, bool)
 
virtual void OnPlayerBeforeInitTalentForLevel (Player *, uint8 &, uint32 &)
 
virtual void OnPlayerFirstLogin (Player *)
 
virtual void OnPlayerSetMaxLevel (Player *, uint32 &)
 
virtual bool OnPlayerCanJoinInBattlegroundQueue (Player *, ObjectGuid, BattlegroundTypeId, uint8, GroupJoinBattlegroundResult &)
 
virtual bool OnPlayerShouldBeRewardedWithMoneyInsteadOfExp (Player *)
 
virtual void OnPlayerBeforeTempSummonInitStats (Player *, TempSummon *, uint32 &)
 
virtual void OnPlayerBeforeGuardianInitStatsForLevel (Player *, Guardian *, CreatureTemplate const *, PetType &)
 
virtual void OnPlayerAfterGuardianInitStatsForLevel (Player *, Guardian *)
 
virtual void OnPlayerBeforeLoadPetFromDB (Player *, uint32 &, uint32 &, bool &, bool &)
 
virtual bool OnPlayerCanJoinInArenaQueue (Player *, ObjectGuid, uint8, BattlegroundTypeId, uint8, uint8, GroupJoinBattlegroundResult &)
 
virtual bool OnPlayerCanBattleFieldPort (Player *, uint8, BattlegroundTypeId, uint8)
 
virtual bool OnPlayerCanGroupInvite (Player *, std::string &)
 
virtual bool OnPlayerCanGroupAccept (Player *, Group *)
 
virtual bool OnPlayerCanSellItem (Player *, Item *, Creature *)
 
virtual bool OnPlayerCanSendMail (Player *, ObjectGuid, ObjectGuid, std::string &, std::string &, uint32, uint32, Item *)
 
virtual void OnPlayerPetitionBuy (Player *, Creature *, uint32 &, uint32 &, uint32 &)
 
virtual void OnPlayerPetitionShowList (Player *, Creature *, uint32 &, uint32 &, uint32 &)
 
virtual void OnPlayerBeforePetitionSign (Player *, ObjectGuid, bool &)
 
virtual void OnPlayerRewardKillRewarder (Player *, KillRewarder *, bool, float &)
 
virtual bool OnPlayerCanGiveMailRewardAtGiveLevel (Player *, uint8)
 
virtual void OnPlayerDeleteFromDB (CharacterDatabaseTransaction, uint32)
 
virtual bool OnPlayerCanRepopAtGraveyard (Player *)
 
virtual Optional< bool > OnPlayerIsClass (Player const *, Classes, ClassContext)
 
virtual void OnPlayerGetMaxSkillValue (Player *, uint32, int32 &, bool)
 
virtual bool OnPlayerHasActivePowerType (Player const *, Powers)
 
virtual void OnPlayerUpdateGatheringSkill (Player *, uint32, uint32, uint32, uint32, uint32, uint32 &)
 This hook called before gathering skill gain is applied to the character.
 
virtual void OnPlayerUpdateCraftingSkill (Player *, SkillLineAbilityEntry const *, uint32, uint32 &)
 This hook is called before crafting skill gain is applied to the character.
 
virtual bool OnPlayerUpdateFishingSkill (Player *, int32, int32, int32, int32)
 
virtual bool OnPlayerCanAreaExploreAndOutdoor (Player *)
 
virtual void OnPlayerVictimRewardBefore (Player *, Player *, uint32 &, int32 &)
 
virtual void OnPlayerVictimRewardAfter (Player *, Player *, uint32 &, int32 &, float &)
 
virtual void OnPlayerCustomScalingStatValueBefore (Player *, ItemTemplate const *, uint8, bool, uint32 &)
 
virtual void OnPlayerCustomScalingStatValue (Player *, ItemTemplate const *, uint32 &, int32 &, uint8, uint32, ScalingStatValuesEntry const *)
 
virtual void OnPlayerApplyItemModsBefore (Player *, uint8, bool, uint8, uint32, int32 &)
 
virtual void OnPlayerApplyEnchantmentItemModsBefore (Player *, Item *, EnchantmentSlot, bool, uint32, uint32 &)
 
virtual void OnPlayerApplyWeaponDamage (Player *, uint8, ItemTemplate const *, float &, float &, uint8)
 
virtual bool OnPlayerCanArmorDamageModifier (Player *)
 
virtual void OnPlayerGetFeralApBonus (Player *, int32 &, int32, ItemTemplate const *, ScalingStatValuesEntry const *)
 
virtual bool OnPlayerCanApplyWeaponDependentAuraDamageMod (Player *, Item *, WeaponAttackType, AuraEffect const *, bool)
 
virtual bool OnPlayerCanApplyEquipSpell (Player *, SpellInfo const *, Item *, bool, bool)
 
virtual bool OnPlayerCanApplyEquipSpellsItemSet (Player *, ItemSetEffect *)
 
virtual bool OnPlayerCanCastItemCombatSpell (Player *, Unit *, WeaponAttackType, uint32, uint32, Item *, ItemTemplate const *)
 
virtual bool OnPlayerCanCastItemUseSpell (Player *, Item *, SpellCastTargets const &, uint8, uint32)
 
virtual void OnPlayerApplyAmmoBonuses (Player *, ItemTemplate const *, float &)
 
virtual bool OnPlayerCanEquipItem (Player *, uint8, uint16 &, Item *, bool, bool)
 
virtual bool OnPlayerCanUnequipItem (Player *, uint16, bool)
 
virtual bool OnPlayerCanUseItem (Player *, ItemTemplate const *, InventoryResult &)
 
virtual bool OnPlayerCanSaveEquipNewItem (Player *, Item *, uint16, bool)
 
virtual bool OnPlayerCanApplyEnchantment (Player *, Item *, EnchantmentSlot, bool, bool, bool)
 
virtual void OnPlayerGetQuestRate (Player *, float &)
 
virtual bool OnPlayerPassedQuestKilledMonsterCredit (Player *, Quest const *, uint32, uint32, ObjectGuid)
 
virtual bool OnPlayerCheckItemInSlotAtLoadInventory (Player *, Item *, uint8, uint8 &, uint16 &)
 
virtual bool OnPlayerNotAvoidSatisfy (Player *, DungeonProgressionRequirements const *, uint32, bool)
 
virtual bool OnPlayerNotVisibleGloballyFor (Player *, Player const *)
 
virtual void OnPlayerGetArenaPersonalRating (Player *, uint8, uint32 &)
 
virtual void OnPlayerGetArenaTeamId (Player *, uint8, uint32 &)
 
virtual void OnPlayerIsFFAPvP (Player *, bool &)
 
virtual void OnPlayerFfaPvpStateUpdate (Player *, bool)
 
virtual void OnPlayerIsPvP (Player *, bool &)
 
virtual void OnPlayerGetMaxSkillValueForLevel (Player *, uint16 &)
 
virtual bool OnPlayerNotSetArenaTeamInfoField (Player *, uint8, ArenaTeamInfoType, uint32)
 
virtual bool OnPlayerCanJoinLfg (Player *, uint8, std::set< uint32 > &, std::string const &)
 
virtual bool OnPlayerCanEnterMap (Player *, MapEntry const *, InstanceTemplate const *, MapDifficulty const *, bool)
 
virtual bool OnPlayerCanInitTrade (Player *, Player *)
 
virtual bool OnPlayerCanSetTradeItem (Player *, Item *, uint8)
 This hook called just before finishing the handling of the action of a player setting an item in a trade slot.
 
virtual void OnPlayerSetServerSideVisibility (Player *, ServerSideVisibilityType &, AccountTypes &)
 
virtual void OnPlayerSetServerSideVisibilityDetect (Player *, ServerSideVisibilityType &, AccountTypes &)
 
virtual void OnPlayerResurrect (Player *, float, bool &)
 
virtual void OnPlayerBeforeChooseGraveyard (Player *, TeamId, bool, uint32 &)
 
virtual bool OnPlayerCanUseChat (Player *, uint32, uint32, std::string &)
 This hook called before player sending message in default chat.
 
virtual bool OnPlayerCanUseChat (Player *, uint32, uint32, std::string &, Player *)
 This hook called before player sending message to other player via private.
 
virtual bool OnPlayerCanUseChat (Player *, uint32, uint32, std::string &, Group *)
 This hook called before player sending message to group.
 
virtual bool OnPlayerCanUseChat (Player *, uint32, uint32, std::string &, Guild *)
 This hook called before player sending message to guild.
 
virtual bool OnPlayerCanUseChat (Player *, uint32, uint32, std::string &, Channel *)
 This hook called before player sending message to channel.
 
virtual void OnPlayerLearnTalents (Player *, uint32, uint32, uint32)
 This hook called after player learning talents.
 
virtual void OnPlayerEnterCombat (Player *, Unit *)
 This hook called after player entering combat.
 
virtual void OnPlayerLeaveCombat (Player *)
 This hook called after player leave combat.
 
virtual void OnPlayerQuestAbandon (Player *, uint32)
 This hook called after player abandoning quest.
 
virtual void OnPlayerQuestAccept (Player *, Quest const *)
 This hook called after a player accepts a quest, regardless of quest giver type.
 
virtual bool OnPlayerCanFlyInZone (Player *, uint32, uint32, SpellInfo const *)
 This hook called before other CanFlyChecks are applied.
 
virtual void AnticheatSetCanFlybyServer (Player *, bool)
 
virtual void AnticheatSetUnderACKmount (Player *)
 
virtual void AnticheatSetRootACKUpd (Player *)
 
virtual void AnticheatSetJumpingbyOpcode (Player *, bool)
 
virtual void AnticheatUpdateMovementInfo (Player *, MovementInfo const &)
 
virtual bool AnticheatHandleDoubleJump (Player *, Unit *)
 
virtual bool AnticheatCheckMovementInfo (Player *, MovementInfo const &, Unit *, bool)
 
virtual bool OnPlayerCanSendErrorAlreadyLooted (Player *)
 This hook is called, to avoid displaying the error message that the body has already been stripped.
 
virtual void OnPlayerAfterCreatureLoot (Player *)
 It is used when an item is taken from a creature.
 
virtual void OnPlayerAfterCreatureLootMoney (Player *)
 After a creature's money is taken.
 
virtual bool OnPlayerCanUpdateSkill (Player *, uint32)
 
virtual void OnPlayerBeforeUpdateSkill (Player *, uint32, uint32 &, uint32, uint32)
 
virtual void OnPlayerUpdateSkill (Player *, uint32, uint32, uint32, uint32, uint32)
 
virtual void OnPlayerSetSkill (Player *, uint32, uint32, uint32, uint32, uint32)
 
virtual bool OnPlayerCanResurrect (Player *)
 This hook is called, to avoid player resurrect.
 
virtual bool OnPlayerCanGiveLevel (Player *, uint8)
 This hook is called, to cancel the normal level up flow.
 
virtual void OnPlayerSendListInventory (Player *, ObjectGuid, uint32 &)
 This hook is called whenever a player interacts with a vendor, and is then shown the vendor list.
 
virtual void OnPlayerGetReputationPriceDiscount (Player const *, Creature const *, float &)
 This hook is called whenever a player attempts to buy items, repair, take taxis, or learn spells. This then uses this information to call OnPlayerGetReputationPriceDiscoun(Player, FactionTemplateEntry, float)
 
virtual void OnPlayerGetReputationPriceDiscount (Player const *, FactionTemplateEntry const *, float &)
 This hook is called whenever a player attempts to buy items, repair, take taxis, or learn spells. It is also called when continuing along taxis.
 
virtual void OnPlayerLearnTaxiNode (Player const *, uint32)
 This hook is called when a player learns a new flight path node.
 
virtual void OnPlayerBeforeGetLevelForXPGain (Player const *, uint8 &)
 This hook is called when XP is calculated for the player, and is used to modify the player level used in the XP formulas.
 
virtual void OnPlayerAfterTakeItemFromMail (Player *, Item *, uint32)
 This hook is called after a player takes an item out of a mailbox.
 
virtual bool OnPlayerCanLearnSpell (Player *, uint32)
 This hook is called before a player learns a spell, and can cancel the learning.
 
virtual void OnPlayerBeforeReceiveSpellListFromTrainer (Player *, Creature *, WorldPackets::NPC::TrainerList &)
 This hook is called before a trainer's spell list is sent to a player, and can edit the spells the trainer window will display.
 
virtual void OnPlayerGetTrainerSpellState (Player const *, uint32, uint32, Trainer::SpellState &)
 This hook is called when a trainer resolves the state of one of its spells for a player, and can override it. The state drives both how the spell is displayed and whether the trainer will teach it, so an override here keeps the two in step.
 
virtual void OnPlayerAfterTrainSpell (Player *, Creature *, uint32)
 This hook is called after a trainer purchase went through, once the money has been taken and success reported to the client.
 
- Public Member Functions inherited from ScriptObject
virtual bool IsDatabaseBound () const
 
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
std::string const & GetName () const
 
uint16 GetTotalAvailableHooks ()
 

Additional Inherited Members

- Protected Member Functions inherited from PlayerScript
 PlayerScript (char const *name, std::vector< uint16 > enabledHooks=std::vector< uint16 >())
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (char const *name, uint16 totalAvailableHooks=0)
 
virtual ~ScriptObject ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ LFGPlayerScript()

lfg::LFGPlayerScript::LFGPlayerScript ( )
32 :
33 PlayerScript("LFGPlayerScript",
34 {
40 })
41 {
42 }
@ PLAYERHOOK_ON_LOGOUT
Definition PlayerScript.h:80
@ PLAYERHOOK_ON_MAP_CHANGED
Definition PlayerScript.h:89
@ PLAYERHOOK_ON_LOGIN
Definition PlayerScript.h:78
@ PLAYERHOOK_ON_BIND_TO_INSTANCE
Definition PlayerScript.h:86
@ PLAYERHOOK_ON_LEVEL_CHANGED
Definition PlayerScript.h:54
Definition PlayerScript.h:242

References PLAYERHOOK_ON_BIND_TO_INSTANCE, PLAYERHOOK_ON_LEVEL_CHANGED, PLAYERHOOK_ON_LOGIN, PLAYERHOOK_ON_LOGOUT, and PLAYERHOOK_ON_MAP_CHANGED.

Member Function Documentation

◆ OnPlayerBindToInstance()

void lfg::LFGPlayerScript::OnPlayerBindToInstance ( Player *  player,
Difficulty  difficulty,
uint32  mapId,
bool  permanent 
)
overridevirtual

Reimplemented from PlayerScript.

97 {
98 MapEntry const* mapEntry = sMapStore.LookupEntry(mapId);
99 if (mapEntry->IsDungeon() && difficulty > DUNGEON_DIFFICULTY_NORMAL)
100 sLFGMgr->InitializeLockedDungeons(player, player->GetGroup());
101 }
@ DUNGEON_DIFFICULTY_NORMAL
Definition DBCEnums.h:269
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
#define sLFGMgr
Definition LFGMgr.h:665
Group * GetGroup()
Definition Player.h:2517
Definition DBCStructure.h:1361
bool IsDungeon() const
Definition DBCStructure.h:1387

References DUNGEON_DIFFICULTY_NORMAL, Player::GetGroup(), MapEntry::IsDungeon(), sLFGMgr, and sMapStore.

◆ OnPlayerLevelChanged()

void lfg::LFGPlayerScript::OnPlayerLevelChanged ( Player *  player,
uint8  oldLevel 
)
overridevirtual

Reimplemented from PlayerScript.

45 {
47 return;
48
49 sLFGMgr->InitializeLockedDungeons(player, player->GetGroup());
50 }
@ LFG_OPTION_ENABLE_SEASONAL_BOSSES
Definition LFGMgr.h:44
@ LFG_OPTION_ENABLE_DUNGEON_FINDER
Definition LFGMgr.h:42
@ LFG_OPTION_ENABLE_RAID_BROWSER
Definition LFGMgr.h:43

References Player::GetGroup(), lfg::LFG_OPTION_ENABLE_DUNGEON_FINDER, lfg::LFG_OPTION_ENABLE_RAID_BROWSER, lfg::LFG_OPTION_ENABLE_SEASONAL_BOSSES, and sLFGMgr.

◆ OnPlayerLogin()

void lfg::LFGPlayerScript::OnPlayerLogin ( Player *  player)
overridevirtual
Todo:
  • Restore LfgPlayerData and send proper status to player if it was in a group

Reimplemented from PlayerScript.

73 {
75 return;
76
77 // Temporal: Trying to determine when group data and LFG data gets desynched
78 ObjectGuid guid = player->GetGUID();
79 ObjectGuid gguid = sLFGMgr->GetGroup(guid);
80
81 Group const* group = player->GetGroup();
82 if (group)
83 {
84 ObjectGuid gguid2 = group->GetGUID();
85 if (gguid != gguid2)
86 {
87 sLFGMgr->SetupGroupMember(guid, group->GetGUID());
88 }
89 }
90
91 sLFGMgr->InitializeLockedDungeons(player, group);
92 sLFGMgr->SetTeam(player->GetGUID(), player->GetTeamId());
94 }
Definition Group.h:177
ObjectGuid GetGUID() const
Definition Group.cpp:2525
Definition ObjectGuid.h:121
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:120
TeamId GetTeamId(bool original=false) const
Definition Player.h:2139

References Player::GetGroup(), Group::GetGUID(), Object::GetGUID(), Player::GetTeamId(), lfg::LFG_OPTION_ENABLE_DUNGEON_FINDER, lfg::LFG_OPTION_ENABLE_RAID_BROWSER, lfg::LFG_OPTION_ENABLE_SEASONAL_BOSSES, and sLFGMgr.

◆ OnPlayerLogout()

void lfg::LFGPlayerScript::OnPlayerLogout ( Player *  player)
overridevirtual

Reimplemented from PlayerScript.

53 {
55 return;
56
57 if (!player->GetGroup() || !player->GetGroup()->isLFGGroup())
58 {
59 player->GetSession()->SendLfgLfrList(false);
60 sLFGMgr->LeaveLfg(player->GetGUID());
61 sLFGMgr->LeaveAllLfgQueues(player->GetGUID(), true, player->GetGroup() ? player->GetGroup()->GetGUID() : ObjectGuid::Empty);
62
63 // pussywizard: after all necessary actions handle raid browser
64 // pussywizard: already done above
65 //if (sLFGMgr->GetState(player->GetGUID()) == LFG_STATE_RAIDBROWSER)
66 // sLFGMgr->LeaveLfg(player->GetGUID());
67 }
68
69 sLFGMgr->LfrSearchRemove(player);
70 }
bool isLFGGroup(bool restricted=false) const
Definition Group.cpp:2484
WorldSession * GetSession() const
Definition Player.h:2031
void SendLfgLfrList(bool update)
Definition LFGHandler.cpp:613

References ObjectGuid::Empty, Player::GetGroup(), Group::GetGUID(), Object::GetGUID(), Player::GetSession(), Group::isLFGGroup(), lfg::LFG_OPTION_ENABLE_DUNGEON_FINDER, lfg::LFG_OPTION_ENABLE_RAID_BROWSER, lfg::LFG_OPTION_ENABLE_SEASONAL_BOSSES, WorldSession::SendLfgLfrList(), and sLFGMgr.

◆ OnPlayerMapChanged()

void lfg::LFGPlayerScript::OnPlayerMapChanged ( Player *  player)
overridevirtual

Reimplemented from PlayerScript.

104 {
105 Map const* map = player->GetMap();
106
107 if (sLFGMgr->inLfgDungeonMap(player->GetGUID(), map->GetId(), map->GetDifficulty()))
108 {
109 Group* group = player->GetGroup();
110 // This function is also called when players log in
111 // if for some reason the LFG system recognises the player as being in a LFG dungeon,
112 // but the player was loaded without a valid group, we'll teleport to homebind to prevent
113 // crashes or other undefined behaviour
114 if (!group)
115 {
116 sLFGMgr->LeaveLfg(player->GetGUID());
117 sLFGMgr->LeaveAllLfgQueues(player->GetGUID(), true);
119 player->TeleportTo(player->m_homebindMapId, player->m_homebindX, player->m_homebindY, player->m_homebindZ, 0.0f);
120 LOG_DEBUG("lfg", "LFGPlayerScript::OnMapChanged, Player {} ({}) is in LFG dungeon map but does not have a valid group! Teleporting to homebind.",
121 player->GetName(), player->GetGUID().ToString());
122 return;
123 }
124
125 for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
126 if (Player* member = itr->GetSource())
127 player->GetSession()->SendNameQueryOpcode(member->GetGUID());
128
129 if (group->IsLfgWithBuff())
130 player->CastSpell(player, LFG_SPELL_LUCK_OF_THE_DRAW, true);
131 }
132 else
133 {
135
136 // Xinef: Destroy group if only one player is left
137 if (Group* group = player->GetGroup())
138 if (group->GetMembersCount() <= 1u)
139 group->Disband();
140 }
141 }
#define LOG_DEBUG(filterType__,...)
Definition Log.h:157
Definition GroupReference.h:27
void Disband(bool hideDestroy=false)
Definition Group.cpp:915
uint32 GetMembersCount() const
Definition Group.h:254
bool IsLfgWithBuff() const
Definition Group.h:330
GroupReference * GetFirstMember()
Definition Group.h:252
Definition Map.h:168
uint32 GetId() const
Definition Map.h:234
Difficulty GetDifficulty() const
Definition Map.h:294
std::string ToString() const
Definition ObjectGuid.cpp:48
Definition Player.h:1086
float m_homebindZ
Definition Player.h:2423
uint32 m_homebindMapId
Definition Player.h:2419
float m_homebindY
Definition Player.h:2422
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0, Unit *target=nullptr, bool newInstance=false)
Definition Player.cpp:1401
float m_homebindX
Definition Player.h:2421
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1372
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:4936
Map * GetMap() const
Definition Object.h:637
std::string const & GetName() const
Definition Object.h:535
void SendNameQueryOpcode(ObjectGuid guid)
Definition QueryHandler.cpp:32
@ LFG_SPELL_LUCK_OF_THE_DRAW
Definition LFGMgr.h:55

References Unit::CastSpell(), Map::GetDifficulty(), Group::GetFirstMember(), Player::GetGroup(), Object::GetGUID(), Map::GetId(), WorldObject::GetMap(), WorldObject::GetName(), Player::GetSession(), Group::IsLfgWithBuff(), lfg::LFG_SPELL_LUCK_OF_THE_DRAW, LOG_DEBUG, Player::m_homebindMapId, Player::m_homebindX, Player::m_homebindY, Player::m_homebindZ, Unit::RemoveAurasDueToSpell(), WorldSession::SendNameQueryOpcode(), sLFGMgr, Player::TeleportTo(), and ObjectGuid::ToString().


The documentation for this class was generated from the following files: