AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
ScriptMgr Class Reference

#include "ScriptMgr.h"

Public Types

typedef void(* ScriptLoaderCallbackType) ()
 
typedef void(* ModulesLoaderCallbackType) ()
 

Public Member Functions

void Initialize ()
 
void LoadDatabase ()
 
void FillSpellSummary ()
 
void CheckIfScriptsInDatabaseExist ()
 
std::string_view ScriptsVersion () const
 
void IncreaseScriptCount ()
 
void DecreaseScriptCount ()
 
uint32 GetScriptCount () const
 
void SetScriptLoader (ScriptLoaderCallbackType script_loader_callback)
 
void SetModulesLoader (ModulesLoaderCallbackType script_loader_callback)
 
void Unload ()
 
void CreateSpellScripts (uint32 spellId, std::list< SpellScript * > &scriptVector)
 
void CreateAuraScripts (uint32 spellId, std::list< AuraScript * > &scriptVector)
 
void CreateSpellScriptLoaders (uint32 spellId, std::vector< std::pair< SpellScriptLoader *, std::multimap< uint32, uint32 >::iterator > > &scriptVector)
 
void OnNetworkStart ()
 
void OnNetworkStop ()
 
void OnSocketOpen (std::shared_ptr< WorldSocket > socket)
 
void OnSocketClose (std::shared_ptr< WorldSocket > socket)
 
bool CanPacketReceive (WorldSession *session, WorldPacket const &packet)
 
bool CanPacketSend (WorldSession *session, WorldPacket const &packet)
 
void OnLoadCustomDatabaseTable ()
 
void OnOpenStateChange (bool open)
 
void OnBeforeConfigLoad (bool reload)
 
void OnAfterConfigLoad (bool reload)
 
void OnBeforeFinalizePlayerWorldSession (uint32 &cacheVersion)
 
void OnMotdChange (std::string &newMotd)
 
void OnShutdownInitiate (ShutdownExitCode code, ShutdownMask mask)
 
void OnShutdownCancel ()
 
void OnWorldUpdate (uint32 diff)
 
void OnStartup ()
 
void OnShutdown ()
 
void OnBeforeWorldInitialized ()
 
void OnAfterUnloadAllMaps ()
 
void OnHonorCalculation (float &honor, uint8 level, float multiplier)
 
void OnGrayLevelCalculation (uint8 &grayLevel, uint8 playerLevel)
 
void OnColorCodeCalculation (XPColorChar &color, uint8 playerLevel, uint8 mobLevel)
 
void OnZeroDifferenceCalculation (uint8 &diff, uint8 playerLevel)
 
void OnBaseGainCalculation (uint32 &gain, uint8 playerLevel, uint8 mobLevel, ContentLevels content)
 
void OnGainCalculation (uint32 &gain, Player *player, Unit *unit)
 
void OnGroupRateCalculation (float &rate, uint32 count, bool isRaid)
 
void OnAfterArenaRatingCalculation (Battleground *const bg, int32 &winnerMatchmakerChange, int32 &loserMatchmakerChange, int32 &winnerChange, int32 &loserChange)
 
void OnBeforeUpdatingPersonalRating (int32 &mod, uint32 type)
 
void OnCreateMap (Map *map)
 
void OnDestroyMap (Map *map)
 
void OnLoadGridMap (Map *map, GridMap *gmap, uint32 gx, uint32 gy)
 
void OnUnloadGridMap (Map *map, GridMap *gmap, uint32 gx, uint32 gy)
 
void OnPlayerEnterMap (Map *map, Player *player)
 
void OnPlayerLeaveMap (Map *map, Player *player)
 
void OnMapUpdate (Map *map, uint32 diff)
 
InstanceScriptCreateInstanceScript (InstanceMap *map)
 
bool OnQuestAccept (Player *player, Item *item, Quest const *quest)
 
bool OnItemUse (Player *player, Item *item, SpellCastTargets const &targets)
 
bool OnItemExpire (Player *player, ItemTemplate const *proto)
 
bool OnItemRemove (Player *player, Item *item)
 
bool OnCastItemCombatSpell (Player *player, Unit *victim, SpellInfo const *spellInfo, Item *item)
 
void OnGossipSelect (Player *player, Item *item, uint32 sender, uint32 action)
 
void OnGossipSelectCode (Player *player, Item *item, uint32 sender, uint32 action, const char *code)
 
bool OnGossipHello (Player *player, Creature *creature)
 
bool OnGossipSelect (Player *player, Creature *creature, uint32 sender, uint32 action)
 
bool OnGossipSelectCode (Player *player, Creature *creature, uint32 sender, uint32 action, const char *code)
 
bool OnQuestAccept (Player *player, Creature *creature, Quest const *quest)
 
bool OnQuestSelect (Player *player, Creature *creature, Quest const *quest)
 
bool OnQuestComplete (Player *player, Creature *creature, Quest const *quest)
 
bool OnQuestReward (Player *player, Creature *creature, Quest const *quest, uint32 opt)
 
uint32 GetDialogStatus (Player *player, Creature *creature)
 
CreatureAIGetCreatureAI (Creature *creature)
 
void OnCreatureUpdate (Creature *creature, uint32 diff)
 
void OnCreatureAddWorld (Creature *creature)
 
void OnCreatureRemoveWorld (Creature *creature)
 
void OnFfaPvpStateUpdate (Creature *creature, bool InPvp)
 
bool OnGossipHello (Player *player, GameObject *go)
 
bool OnGossipSelect (Player *player, GameObject *go, uint32 sender, uint32 action)
 
bool OnGossipSelectCode (Player *player, GameObject *go, uint32 sender, uint32 action, const char *code)
 
bool OnQuestAccept (Player *player, GameObject *go, Quest const *quest)
 
bool OnQuestReward (Player *player, GameObject *go, Quest const *quest, uint32 opt)
 
uint32 GetDialogStatus (Player *player, GameObject *go)
 
void OnGameObjectDestroyed (GameObject *go, Player *player)
 
void OnGameObjectDamaged (GameObject *go, Player *player)
 
void OnGameObjectModifyHealth (GameObject *go, Unit *attackerOrHealer, int32 &change, SpellInfo const *spellInfo)
 
void OnGameObjectLootStateChanged (GameObject *go, uint32 state, Unit *unit)
 
void OnGameObjectStateChanged (GameObject *go, uint32 state)
 
void OnGameObjectUpdate (GameObject *go, uint32 diff)
 
GameObjectAIGetGameObjectAI (GameObject *go)
 
void OnGameObjectAddWorld (GameObject *go)
 
void OnGameObjectRemoveWorld (GameObject *go)
 
bool OnAreaTrigger (Player *player, AreaTrigger const *trigger)
 
BattlegroundCreateBattleground (BattlegroundTypeId typeId)
 
OutdoorPvPCreateOutdoorPvP (OutdoorPvPData const *data)
 
std::vector< Acore::ChatCommands::ChatCommandBuilderGetChatCommands ()
 
void OnWeatherChange (Weather *weather, WeatherState state, float grade)
 
void OnWeatherUpdate (Weather *weather, uint32 diff)
 
void OnAuctionAdd (AuctionHouseObject *ah, AuctionEntry *entry)
 
void OnAuctionRemove (AuctionHouseObject *ah, AuctionEntry *entry)
 
void OnAuctionSuccessful (AuctionHouseObject *ah, AuctionEntry *entry)
 
void OnAuctionExpire (AuctionHouseObject *ah, AuctionEntry *entry)
 
void OnBeforeAuctionHouseMgrSendAuctionWonMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *bidder, uint32 &bidder_accId, bool &sendNotification, bool &updateAchievementCriteria, bool &sendMail)
 
void OnBeforeAuctionHouseMgrSendAuctionSalePendingMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *owner, uint32 &owner_accId, bool &sendMail)
 
void OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *owner, uint32 &owner_accId, uint32 &profit, bool &sendNotification, bool &updateAchievementCriteria, bool &sendMail)
 
void OnBeforeAuctionHouseMgrSendAuctionExpiredMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *owner, uint32 &owner_accId, bool &sendNotification, bool &sendMail)
 
void OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *oldBidder, uint32 &oldBidder_accId, Player *newBidder, uint32 &newPrice, bool &sendNotification, bool &sendMail)
 
void OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail (AuctionHouseMgr *auctionHouseMgr, AuctionEntry *auction, Player *bidder, uint32 &bidder_accId, bool &sendMail)
 
void OnBeforeAuctionHouseMgrUpdate ()
 
bool OnConditionCheck (Condition *condition, ConditionSourceInfo &sourceInfo)
 
void OnInstall (Vehicle *veh)
 
void OnUninstall (Vehicle *veh)
 
void OnReset (Vehicle *veh)
 
void OnInstallAccessory (Vehicle *veh, Creature *accessory)
 
void OnAddPassenger (Vehicle *veh, Unit *passenger, int8 seatId)
 
void OnRemovePassenger (Vehicle *veh, Unit *passenger)
 
void OnDynamicObjectUpdate (DynamicObject *dynobj, uint32 diff)
 
void OnAddPassenger (Transport *transport, Player *player)
 
void OnAddCreaturePassenger (Transport *transport, Creature *creature)
 
void OnRemovePassenger (Transport *transport, Player *player)
 
void OnTransportUpdate (Transport *transport, uint32 diff)
 
void OnRelocate (Transport *transport, uint32 waypointId, uint32 mapId, float x, float y, float z)
 
bool OnCriteriaCheck (uint32 scriptId, Player *source, Unit *target, uint32 criteria_id)
 
void OnBeforePlayerUpdate (Player *player, uint32 p_time)
 
void OnPlayerUpdate (Player *player, uint32 p_time)
 
void OnSendInitialPacketsBeforeAddToMap (Player *player, WorldPacket &data)
 
void OnPlayerReleasedGhost (Player *player)
 
void OnPVPKill (Player *killer, Player *killed)
 
void OnPlayerPVPFlagChange (Player *player, bool state)
 
void OnCreatureKill (Player *killer, Creature *killed)
 
void OnCreatureKilledByPet (Player *petOwner, Creature *killed)
 
void OnPlayerKilledByCreature (Creature *killer, Player *killed)
 
void OnPlayerLevelChanged (Player *player, uint8 oldLevel)
 
void OnPlayerFreeTalentPointsChanged (Player *player, uint32 newPoints)
 
void OnPlayerTalentsReset (Player *player, bool noCost)
 
void OnAfterSpecSlotChanged (Player *player, uint8 newSlot)
 
void OnPlayerMoneyChanged (Player *player, int32 &amount)
 
void OnBeforeLootMoney (Player *player, Loot *loot)
 
void OnGivePlayerXP (Player *player, uint32 &amount, Unit *victim, uint8 xpSource)
 
bool OnPlayerReputationChange (Player *player, uint32 factionID, int32 &standing, bool incremental)
 
void OnPlayerReputationRankChange (Player *player, uint32 factionID, ReputationRank newRank, ReputationRank oldRank, bool increased)
 
void OnPlayerLearnSpell (Player *player, uint32 spellID)
 
void OnPlayerForgotSpell (Player *player, uint32 spellID)
 
void OnPlayerDuelRequest (Player *target, Player *challenger)
 
void OnPlayerDuelStart (Player *player1, Player *player2)
 
void OnPlayerDuelEnd (Player *winner, Player *loser, DuelCompleteType type)
 
void OnPlayerChat (Player *player, uint32 type, uint32 lang, std::string &msg)
 
void OnBeforeSendChatMessage (Player *player, uint32 &type, uint32 &lang, std::string &msg)
 
void OnPlayerChat (Player *player, uint32 type, uint32 lang, std::string &msg, Player *receiver)
 
void OnPlayerChat (Player *player, uint32 type, uint32 lang, std::string &msg, Group *group)
 
void OnPlayerChat (Player *player, uint32 type, uint32 lang, std::string &msg, Guild *guild)
 
void OnPlayerChat (Player *player, uint32 type, uint32 lang, std::string &msg, Channel *channel)
 
void OnPlayerEmote (Player *player, uint32 emote)
 
void OnPlayerTextEmote (Player *player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid)
 
void OnPlayerSpellCast (Player *player, Spell *spell, bool skipCheck)
 
void OnPlayerLogin (Player *player)
 
void OnPlayerLoadFromDB (Player *player)
 
void OnPlayerLogout (Player *player)
 
void OnPlayerCreate (Player *player)
 
void OnPlayerSave (Player *player)
 
void OnPlayerDelete (ObjectGuid guid, uint32 accountId)
 
void OnPlayerFailedDelete (ObjectGuid guid, uint32 accountId)
 
void OnPlayerBindToInstance (Player *player, Difficulty difficulty, uint32 mapid, bool permanent)
 
void OnPlayerUpdateZone (Player *player, uint32 newZone, uint32 newArea)
 
void OnPlayerUpdateArea (Player *player, uint32 oldArea, uint32 newArea)
 
bool OnBeforePlayerTeleport (Player *player, uint32 mapid, float x, float y, float z, float orientation, uint32 options, Unit *target)
 
void OnPlayerUpdateFaction (Player *player)
 
void OnPlayerAddToBattleground (Player *player, Battleground *bg)
 
void OnPlayerQueueRandomDungeon (Player *player, uint32 &rDungeonId)
 
void OnPlayerRemoveFromBattleground (Player *player, Battleground *bg)
 
void OnAchievementComplete (Player *player, AchievementEntry const *achievement)
 
bool OnBeforeAchievementComplete (Player *player, AchievementEntry const *achievement)
 
void OnCriteriaProgress (Player *player, AchievementCriteriaEntry const *criteria)
 
bool OnBeforeCriteriaProgress (Player *player, AchievementCriteriaEntry const *criteria)
 
void OnAchievementSave (CharacterDatabaseTransaction trans, Player *player, uint16 achiId, CompletedAchievementData achiData)
 
void OnCriteriaSave (CharacterDatabaseTransaction trans, Player *player, uint16 critId, CriteriaProgress criteriaData)
 
void OnGossipSelect (Player *player, uint32 menu_id, uint32 sender, uint32 action)
 
void OnGossipSelectCode (Player *player, uint32 menu_id, uint32 sender, uint32 action, const char *code)
 
void OnPlayerBeingCharmed (Player *player, Unit *charmer, uint32 oldFactionId, uint32 newFactionId)
 
void OnAfterPlayerSetVisibleItemSlot (Player *player, uint8 slot, Item *item)
 
void OnAfterPlayerMoveItemFromInventory (Player *player, Item *it, uint8 bag, uint8 slot, bool update)
 
void OnEquip (Player *player, Item *it, uint8 bag, uint8 slot, bool update)
 
void OnPlayerJoinBG (Player *player)
 
void OnPlayerJoinArena (Player *player)
 
void GetCustomGetArenaTeamId (Player const *player, uint8 slot, uint32 &teamID) const
 
void GetCustomArenaPersonalRating (Player const *player, uint8 slot, uint32 &rating) const
 
void OnGetMaxPersonalArenaRatingRequirement (Player const *player, uint32 minSlot, uint32 &maxArenaRating) const
 
void OnLootItem (Player *player, Item *item, uint32 count, ObjectGuid lootguid)
 
void OnBeforeFillQuestLootItem (Player *player, LootItem &item)
 
void OnStoreNewItem (Player *player, Item *item, uint32 count)
 
void OnCreateItem (Player *player, Item *item, uint32 count)
 
void OnQuestRewardItem (Player *player, Item *item, uint32 count)
 
bool CanPlaceAuctionBid (Player *player, AuctionEntry *auction)
 
void OnGroupRollRewardItem (Player *player, Item *item, uint32 count, RollVote voteType, Roll *roll)
 
bool OnBeforeOpenItem (Player *player, Item *item)
 
bool OnBeforePlayerQuestComplete (Player *player, uint32 quest_id)
 
void OnQuestComputeXP (Player *player, Quest const *quest, uint32 &xpValue)
 
void OnBeforePlayerDurabilityRepair (Player *player, ObjectGuid npcGUID, ObjectGuid itemGUID, float &discountMod, uint8 guildBank)
 
void OnBeforeBuyItemFromVendor (Player *player, ObjectGuid vendorguid, uint32 vendorslot, uint32 &item, uint8 count, uint8 bag, uint8 slot)
 
void OnBeforeStoreOrEquipNewItem (Player *player, uint32 vendorslot, uint32 &item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const *pProto, Creature *pVendor, VendorItem const *crItem, bool bStore)
 
void OnAfterStoreOrEquipNewItem (Player *player, uint32 vendorslot, Item *item, uint8 count, uint8 bag, uint8 slot, ItemTemplate const *pProto, Creature *pVendor, VendorItem const *crItem, bool bStore)
 
void OnAfterUpdateMaxPower (Player *player, Powers &power, float &value)
 
void OnAfterUpdateMaxHealth (Player *player, float &value)
 
void OnBeforeUpdateAttackPowerAndDamage (Player *player, float &level, float &val2, bool ranged)
 
void OnAfterUpdateAttackPowerAndDamage (Player *player, float &level, float &base_attPower, float &attPowerMod, float &attPowerMultiplier, bool ranged)
 
void OnBeforeInitTalentForLevel (Player *player, uint8 &level, uint32 &talentPointsForLevel)
 
void OnFirstLogin (Player *player)
 
void OnSetMaxLevel (Player *player, uint32 &maxPlayerLevel)
 
void OnPlayerCompleteQuest (Player *player, Quest const *quest)
 
void OnBattlegroundDesertion (Player *player, BattlegroundDesertionType const desertionType)
 
bool CanJoinInBattlegroundQueue (Player *player, ObjectGuid BattlemasterGuid, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, GroupJoinBattlegroundResult &err)
 
bool ShouldBeRewardedWithMoneyInsteadOfExp (Player *player)
 
void OnBeforeTempSummonInitStats (Player *player, TempSummon *tempSummon, uint32 &duration)
 
void OnBeforeGuardianInitStatsForLevel (Player *player, Guardian *guardian, CreatureTemplate const *cinfo, PetType &petType)
 
void OnAfterGuardianInitStatsForLevel (Player *player, Guardian *guardian)
 
void OnBeforeLoadPetFromDB (Player *player, uint32 &petentry, uint32 &petnumber, bool &current, bool &forceLoadFromDB)
 
bool CanJoinInArenaQueue (Player *player, ObjectGuid BattlemasterGuid, uint8 arenaslot, BattlegroundTypeId BGTypeID, uint8 joinAsGroup, uint8 IsRated, GroupJoinBattlegroundResult &err)
 
bool CanBattleFieldPort (Player *player, uint8 arenaType, BattlegroundTypeId BGTypeID, uint8 action)
 
bool CanGroupInvite (Player *player, std::string &membername)
 
bool CanGroupAccept (Player *player, Group *group)
 
bool CanSellItem (Player *player, Item *item, Creature *creature)
 
bool CanSendMail (Player *player, ObjectGuid receiverGuid, ObjectGuid mailbox, std::string &subject, std::string &body, uint32 money, uint32 COD, Item *item)
 
void PetitionBuy (Player *player, Creature *creature, uint32 &charterid, uint32 &cost, uint32 &type)
 
void PetitionShowList (Player *player, Creature *creature, uint32 &CharterEntry, uint32 &CharterDispayID, uint32 &CharterCost)
 
void OnRewardKillRewarder (Player *player, bool isDungeon, float &rate)
 
bool CanGiveMailRewardAtGiveLevel (Player *player, uint8 level)
 
void OnDeleteFromDB (CharacterDatabaseTransaction trans, uint32 guid)
 
bool CanRepopAtGraveyard (Player *player)
 
void OnGetMaxSkillValue (Player *player, uint32 skill, int32 &result, bool IsPure)
 
void OnUpdateGatheringSkill (Player *player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32 &gain)
 
void OnUpdateCraftingSkill (Player *player, SkillLineAbilityEntry const *skill, uint32 currentLevel, uint32 &gain)
 
bool OnUpdateFishingSkill (Player *player, int32 skill, int32 zone_skill, int32 chance, int32 roll)
 
bool CanAreaExploreAndOutdoor (Player *player)
 
void OnVictimRewardBefore (Player *player, Player *victim, uint32 &killer_title, uint32 &victim_title)
 
void OnVictimRewardAfter (Player *player, Player *victim, uint32 &killer_title, uint32 &victim_rank, float &honor_f)
 
void OnCustomScalingStatValueBefore (Player *player, ItemTemplate const *proto, uint8 slot, bool apply, uint32 &CustomScalingStatValue)
 
void OnCustomScalingStatValue (Player *player, ItemTemplate const *proto, uint32 &statType, int32 &val, uint8 itemProtoStatNumber, uint32 ScalingStatValue, ScalingStatValuesEntry const *ssv)
 
bool CanArmorDamageModifier (Player *player)
 
void OnGetFeralApBonus (Player *player, int32 &feral_bonus, int32 dpsMod, ItemTemplate const *proto, ScalingStatValuesEntry const *ssv)
 
bool CanApplyWeaponDependentAuraDamageMod (Player *player, Item *item, WeaponAttackType attackType, AuraEffect const *aura, bool apply)
 
bool CanApplyEquipSpell (Player *player, SpellInfo const *spellInfo, Item *item, bool apply, bool form_change)
 
bool CanApplyEquipSpellsItemSet (Player *player, ItemSetEffect *eff)
 
bool CanCastItemCombatSpell (Player *player, Unit *target, WeaponAttackType attType, uint32 procVictim, uint32 procEx, Item *item, ItemTemplate const *proto)
 
bool CanCastItemUseSpell (Player *player, Item *item, SpellCastTargets const &targets, uint8 cast_count, uint32 glyphIndex)
 
void OnApplyAmmoBonuses (Player *player, ItemTemplate const *proto, float &currentAmmoDPS)
 
bool CanEquipItem (Player *player, uint8 slot, uint16 &dest, Item *pItem, bool swap, bool not_loading)
 
bool CanUnequipItem (Player *player, uint16 pos, bool swap)
 
bool CanUseItem (Player *player, ItemTemplate const *proto, InventoryResult &result)
 
bool CanSaveEquipNewItem (Player *player, Item *item, uint16 pos, bool update)
 
bool CanApplyEnchantment (Player *player, Item *item, EnchantmentSlot slot, bool apply, bool apply_dur, bool ignore_condition)
 
void OnGetQuestRate (Player *player, float &result)
 
bool PassedQuestKilledMonsterCredit (Player *player, Quest const *qinfo, uint32 entry, uint32 real_entry, ObjectGuid guid)
 
bool CheckItemInSlotAtLoadInventory (Player *player, Item *item, uint8 slot, uint8 &err, uint16 &dest)
 
bool NotAvoidSatisfy (Player *player, DungeonProgressionRequirements const *ar, uint32 target_map, bool report)
 
bool NotVisibleGloballyFor (Player *player, Player const *u)
 
void OnGetArenaPersonalRating (Player *player, uint8 slot, uint32 &result)
 
void OnFfaPvpStateUpdate (Player *player, bool result)
 
void OnGetArenaTeamId (Player *player, uint8 slot, uint32 &result)
 
void OnIsFFAPvP (Player *player, bool &result)
 
void OnIsPvP (Player *player, bool &result)
 
void OnGetMaxSkillValueForLevel (Player *player, uint16 &result)
 
bool NotSetArenaTeamInfoField (Player *player, uint8 slot, ArenaTeamInfoType type, uint32 value)
 
bool CanJoinLfg (Player *player, uint8 roles, lfg::LfgDungeonSet &dungeons, const std::string &comment)
 
bool CanEnterMap (Player *player, MapEntry const *entry, InstanceTemplate const *instance, MapDifficulty const *mapDiff, bool loginCheck)
 
bool CanInitTrade (Player *player, Player *target)
 
void OnSetServerSideVisibility (Player *player, ServerSideVisibilityType &type, AccountTypes &sec)
 
void OnSetServerSideVisibilityDetect (Player *player, ServerSideVisibilityType &type, AccountTypes &sec)
 
void OnPlayerResurrect (Player *player, float restore_percent, bool applySickness)
 
void OnBeforeChooseGraveyard (Player *player, TeamId teamId, bool nearCorpse, uint32 &graveyardOverride)
 
bool CanPlayerUseChat (Player *player, uint32 type, uint32 language, std::string &msg)
 
bool CanPlayerUseChat (Player *player, uint32 type, uint32 language, std::string &msg, Player *receiver)
 
bool CanPlayerUseChat (Player *player, uint32 type, uint32 language, std::string &msg, Group *group)
 
bool CanPlayerUseChat (Player *player, uint32 type, uint32 language, std::string &msg, Guild *guild)
 
bool CanPlayerUseChat (Player *player, uint32 type, uint32 language, std::string &msg, Channel *channel)
 
void OnPlayerLearnTalents (Player *player, uint32 talentId, uint32 talentRank, uint32 spellid)
 
void OnPlayerEnterCombat (Player *player, Unit *enemy)
 
void OnPlayerLeaveCombat (Player *player)
 
void OnQuestAbandon (Player *player, uint32 questId)
 
bool CanSendErrorAlreadyLooted (Player *player)
 
void OnAfterCreatureLoot (Player *player)
 
void OnAfterCreatureLootMoney (Player *player)
 
bool OnCanPlayerFlyInZone (Player *player, uint32 mapId, uint32 zoneId, SpellInfo const *bySpell)
 
void AnticheatSetSkipOnePacketForASH (Player *player, bool apply)
 
void AnticheatSetCanFlybyServer (Player *player, bool apply)
 
void AnticheatSetUnderACKmount (Player *player)
 
void AnticheatSetRootACKUpd (Player *player)
 
void AnticheatUpdateMovementInfo (Player *player, MovementInfo const &movementInfo)
 
void AnticheatSetJumpingbyOpcode (Player *player, bool jump)
 
bool AnticheatHandleDoubleJump (Player *player, Unit *mover)
 
bool AnticheatCheckMovementInfo (Player *player, MovementInfo const &movementInfo, Unit *mover, bool jump)
 
void OnAccountLogin (uint32 accountId)
 
void OnLastIpUpdate (uint32 accountId, std::string ip)
 
void OnFailedAccountLogin (uint32 accountId)
 
void OnEmailChange (uint32 accountId)
 
void OnFailedEmailChange (uint32 accountId)
 
void OnPasswordChange (uint32 accountId)
 
void OnFailedPasswordChange (uint32 accountId)
 
bool CanAccountCreateCharacter (uint32 accountId, uint8 charRace, uint8 charClass)
 
void OnGuildAddMember (Guild *guild, Player *player, uint8 &plRank)
 
void OnGuildRemoveMember (Guild *guild, Player *player, bool isDisbanding, bool isKicked)
 
void OnGuildMOTDChanged (Guild *guild, const std::string &newMotd)
 
void OnGuildInfoChanged (Guild *guild, const std::string &newInfo)
 
void OnGuildCreate (Guild *guild, Player *leader, const std::string &name)
 
void OnGuildDisband (Guild *guild)
 
void OnGuildMemberWitdrawMoney (Guild *guild, Player *player, uint32 &amount, bool isRepair)
 
void OnGuildMemberDepositMoney (Guild *guild, Player *player, uint32 &amount)
 
void OnGuildItemMove (Guild *guild, Player *player, Item *pItem, bool isSrcBank, uint8 srcContainer, uint8 srcSlotId, bool isDestBank, uint8 destContainer, uint8 destSlotId)
 
void OnGuildEvent (Guild *guild, uint8 eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2, uint8 newRank)
 
void OnGuildBankEvent (Guild *guild, uint8 eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId)
 
bool CanGuildSendBankList (Guild const *guild, WorldSession *session, uint8 tabId, bool sendAllSlots)
 
void OnGroupAddMember (Group *group, ObjectGuid guid)
 
void OnGroupInviteMember (Group *group, ObjectGuid guid)
 
void OnGroupRemoveMember (Group *group, ObjectGuid guid, RemoveMethod method, ObjectGuid kicker, const char *reason)
 
void OnGroupChangeLeader (Group *group, ObjectGuid newLeaderGuid, ObjectGuid oldLeaderGuid)
 
void OnGroupDisband (Group *group)
 
bool CanGroupJoinBattlegroundQueue (Group const *group, Player *member, Battleground const *bgTemplate, uint32 MinPlayerCount, bool isRated, uint32 arenaSlot)
 
void OnCreate (Group *group, Player *leader)
 
void OnGlobalItemDelFromDB (CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid)
 
void OnGlobalMirrorImageDisplayItem (Item const *item, uint32 &display)
 
void OnBeforeUpdateArenaPoints (ArenaTeam *at, std::map< ObjectGuid, uint32 > &ap)
 
void OnAfterRefCount (Player const *player, Loot &loot, bool canRate, uint16 lootMode, LootStoreItem *LootStoreItem, uint32 &maxcount, LootStore const &store)
 
void OnAfterCalculateLootGroupAmount (Player const *player, Loot &loot, uint16 lootMode, uint32 &groupAmount, LootStore const &store)
 
void OnBeforeDropAddItem (Player const *player, Loot &loot, bool canRate, uint16 lootMode, LootStoreItem *LootStoreItem, LootStore const &store)
 
bool OnItemRoll (Player const *player, LootStoreItem const *LootStoreItem, float &chance, Loot &loot, LootStore const &store)
 
bool OnBeforeLootEqualChanced (Player const *player, LootStoreItemList EqualChanced, Loot &loot, LootStore const &store)
 
void OnInitializeLockedDungeons (Player *player, uint8 &level, uint32 &lockData, lfg::LFGDungeonData const *dungeon)
 
void OnAfterInitializeLockedDungeons (Player *player)
 
void OnAfterUpdateEncounterState (Map *map, EncounterCreditType type, uint32 creditEntry, Unit *source, Difficulty difficulty_fixed, DungeonEncounterList const *encounters, uint32 dungeonCompleted, bool updated)
 
void OnBeforeWorldObjectSetPhaseMask (WorldObject const *worldObject, uint32 &oldPhaseMask, uint32 &newPhaseMask, bool &useCombinedPhases, bool &update)
 
bool OnIsAffectedBySpellModCheck (SpellInfo const *affectSpell, SpellInfo const *checkSpell, SpellModifier const *mod)
 
bool OnSpellHealingBonusTakenNegativeModifiers (Unit const *target, Unit const *caster, SpellInfo const *spellInfo, float &val)
 
void OnLoadSpellCustomAttr (SpellInfo *spell)
 
bool OnAllowedForPlayerLootCheck (Player const *player, ObjectGuid source)
 
bool OnAllowedToLootContainerCheck (Player const *player, ObjectGuid source)
 
void OnInstanceIdRemoved (uint32 instanceId)
 Called when an instance Id is deleted, usually because it expired or no players are bound to it anymore.
 
void OnBeforeSetBossState (uint32 id, EncounterState newState, EncounterState oldState, Map *instance)
 Called when any raid boss has their state updated (e.g. pull, reset, kill).
 
void AfterInstanceGameObjectCreate (Map *instance, GameObject *go)
 Called when a game object is created inside an instance.
 
uint32 IncreaseScheduledScriptsCount ()
 
uint32 DecreaseScheduledScriptCount ()
 
uint32 DecreaseScheduledScriptCount (size_t count)
 
bool IsScriptScheduled () const
 
void OnHeal (Unit *healer, Unit *reciever, uint32 &gain)
 
void OnDamage (Unit *attacker, Unit *victim, uint32 &damage)
 
void ModifyPeriodicDamageAurasTick (Unit *target, Unit *attacker, uint32 &damage, SpellInfo const *spellInfo)
 
void ModifyMeleeDamage (Unit *target, Unit *attacker, uint32 &damage)
 
void ModifySpellDamageTaken (Unit *target, Unit *attacker, int32 &damage, SpellInfo const *spellInfo)
 
void ModifyHealReceived (Unit *target, Unit *healer, uint32 &addHealth, SpellInfo const *spellInfo)
 
uint32 DealDamage (Unit *AttackerUnit, Unit *pVictim, uint32 damage, DamageEffectType damagetype)
 
void OnBeforeRollMeleeOutcomeAgainst (Unit const *attacker, Unit const *victim, WeaponAttackType attType, int32 &attackerMaxSkillValueForLevel, int32 &victimMaxSkillValueForLevel, int32 &attackerWeaponSkill, int32 &victimDefenseSkill, int32 &crit_chance, int32 &miss_chance, int32 &dodge_chance, int32 &parry_chance, int32 &block_chance)
 
void OnAuraApply (Unit *, Aura *)
 
void OnAuraRemove (Unit *unit, AuraApplication *aurApp, AuraRemoveMode mode)
 
bool IfNormalReaction (Unit const *unit, Unit const *target, ReputationRank &repRank)
 
bool IsNeedModSpellDamagePercent (Unit const *unit, AuraEffect *auraEff, float &doneTotalMod, SpellInfo const *spellProto)
 
bool IsNeedModMeleeDamagePercent (Unit const *unit, AuraEffect *auraEff, float &doneTotalMod, SpellInfo const *spellProto)
 
bool IsNeedModHealPercent (Unit const *unit, AuraEffect *auraEff, float &doneTotalMod, SpellInfo const *spellProto)
 
bool CanSetPhaseMask (Unit const *unit, uint32 newPhaseMask, bool update)
 
bool IsCustomBuildValuesUpdate (Unit const *unit, uint8 updateType, ByteBuffer &fieldBuffer, Player const *target, uint16 index)
 
bool OnBuildValuesUpdate (Unit const *unit, uint8 updateType, ByteBuffer &fieldBuffer, Player *target, uint16 index)
 
void OnUnitUpdate (Unit *unit, uint32 diff)
 
void OnDisplayIdChange (Unit *unit, uint32 displayId)
 
void OnUnitEnterEvadeMode (Unit *unit, uint8 why)
 
void OnUnitEnterCombat (Unit *unit, Unit *victim)
 
void OnUnitDeath (Unit *unit, Unit *killer)
 
void OnPlayerMove (Player *player, MovementInfo movementInfo, uint32 opcode)
 
void OnBeforeCreatureSelectLevel (const CreatureTemplate *cinfo, Creature *creature, uint8 &level)
 
void Creature_SelectLevel (const CreatureTemplate *cinfo, Creature *creature)
 
void OnCreatureSaveToDB (Creature *creature)
 
void OnGameObjectSaveToDB (GameObject *go)
 
void OnBeforeCreateInstanceScript (InstanceMap *instanceMap, InstanceScript *instanceData, bool load, std::string data, uint32 completedEncounterMask)
 
void OnDestroyInstance (MapInstanced *mapInstanced, Map *map)
 
void OnBattlegroundStart (Battleground *bg)
 
void OnBattlegroundEndReward (Battleground *bg, Player *player, TeamId winnerTeamId)
 
void OnBattlegroundUpdate (Battleground *bg, uint32 diff)
 
void OnBattlegroundAddPlayer (Battleground *bg, Player *player)
 
void OnBattlegroundBeforeAddPlayer (Battleground *bg, Player *player)
 
void OnBattlegroundRemovePlayerAtLeave (Battleground *bg, Player *player)
 
void OnQueueUpdate (BattlegroundQueue *queue, uint32 diff, BattlegroundTypeId bgTypeId, BattlegroundBracketId bracket_id, uint8 arenaType, bool isRated, uint32 arenaRating)
 
void OnAddGroup (BattlegroundQueue *queue, GroupQueueInfo *ginfo, uint32 &index, Player *leader, Group *group, BattlegroundTypeId bgTypeId, PvPDifficultyEntry const *bracketEntry, uint8 arenaType, bool isRated, bool isPremade, uint32 arenaRating, uint32 matchmakerRating, uint32 arenaTeamId, uint32 opponentsArenaTeamId)
 
bool CanFillPlayersToBG (BattlegroundQueue *queue, Battleground *bg, BattlegroundBracketId bracket_id)
 
bool IsCheckNormalMatch (BattlegroundQueue *queue, Battleground *bgTemplate, BattlegroundBracketId bracket_id, uint32 minPlayers, uint32 maxPlayers)
 
bool CanSendMessageBGQueue (BattlegroundQueue *queue, Player *leader, Battleground *bg, PvPDifficultyEntry const *bracketEntry)
 
bool OnBeforeSendJoinMessageArenaQueue (BattlegroundQueue *queue, Player *leader, GroupQueueInfo *ginfo, PvPDifficultyEntry const *bracketEntry, bool isRated)
 
bool OnBeforeSendExitMessageArenaQueue (BattlegroundQueue *queue, GroupQueueInfo *ginfo)
 
void OnBattlegroundEnd (Battleground *bg, TeamId winnerTeamId)
 
void OnBattlegroundDestroy (Battleground *bg)
 
void OnBattlegroundCreate (Battleground *bg)
 
void OnGetSlotByType (const uint32 type, uint8 &slot)
 
void OnGetArenaPoints (ArenaTeam *at, float &points)
 
void OnArenaTypeIDToQueueID (const BattlegroundTypeId bgTypeId, const uint8 arenaType, uint32 &queueTypeID)
 
void OnArenaQueueIdToArenaType (const BattlegroundQueueTypeId bgQueueTypeId, uint8 &ArenaType)
 
void OnSetArenaMaxPlayersPerTeam (const uint8 arenaType, uint32 &maxPlayerPerTeam)
 
void OnCalcMaxDuration (Aura const *aura, int32 &maxDuration)
 
bool CanModAuraEffectDamageDone (AuraEffect const *auraEff, Unit *target, AuraApplication const *aurApp, uint8 mode, bool apply)
 
bool CanModAuraEffectModDamagePercentDone (AuraEffect const *auraEff, Unit *target, AuraApplication const *aurApp, uint8 mode, bool apply)
 
void OnSpellCheckCast (Spell *spell, bool strict, SpellCastResult &res)
 
bool CanPrepare (Spell *spell, SpellCastTargets const *targets, AuraEffect const *triggeredByAura)
 
bool CanScalingEverything (Spell *spell)
 
bool CanSelectSpecTalent (Spell *spell)
 
void OnScaleAuraUnitAdd (Spell *spell, Unit *target, uint32 effectMask, bool checkIfValid, bool implicit, uint8 auraScaleMask, TargetInfo &targetInfo)
 
void OnRemoveAuraScaleTargets (Spell *spell, TargetInfo &targetInfo, uint8 auraScaleMask, bool &needErase)
 
void OnBeforeAuraRankForLevel (SpellInfo const *spellInfo, SpellInfo const *latestSpellInfo, uint8 level)
 
void OnDummyEffect (WorldObject *caster, uint32 spellID, SpellEffIndex effIndex, GameObject *gameObjTarget)
 
void OnDummyEffect (WorldObject *caster, uint32 spellID, SpellEffIndex effIndex, Creature *creatureTarget)
 
void OnDummyEffect (WorldObject *caster, uint32 spellID, SpellEffIndex effIndex, Item *itemTarget)
 
void OnGameEventStart (uint16 EventID)
 
void OnGameEventStop (uint16 EventID)
 
void OnGameEventCheck (uint16 EventID)
 
void OnBeforeMailDraftSendMailTo (MailDraft *mailDraft, MailReceiver const &receiver, MailSender const &sender, MailCheckMask &checked, uint32 &deliver_delay, uint32 &custom_expiration, bool &deleteMailItemsFromDB, bool &sendMail)
 
void SetRealmCompleted (AchievementEntry const *achievement)
 
bool IsCompletedCriteria (AchievementMgr *mgr, AchievementCriteriaEntry const *achievementCriteria, AchievementEntry const *achievement, CriteriaProgress const *progress)
 
bool IsRealmCompleted (AchievementGlobalMgr const *globalmgr, AchievementEntry const *achievement, std::chrono::system_clock::time_point completionTime)
 
void OnBeforeCheckCriteria (AchievementMgr *mgr, AchievementCriteriaEntryList const *achievementCriteriaList)
 
bool CanCheckCriteria (AchievementMgr *mgr, AchievementCriteriaEntry const *achievementCriteria)
 
void OnInitStatsForLevel (Guardian *guardian, uint8 petlevel)
 
void OnCalculateMaxTalentPointsForLevel (Pet *pet, uint8 level, uint8 &points)
 
bool CanUnlearnSpellSet (Pet *pet, uint32 level, uint32 spell)
 
bool CanUnlearnSpellDefault (Pet *pet, SpellInfo const *spellInfo)
 
bool CanResetTalents (Pet *pet)
 
bool CanAddMember (ArenaTeam *team, ObjectGuid PlayerGuid)
 
void OnGetPoints (ArenaTeam *team, uint32 memberRating, float &points)
 
bool CanSaveToDB (ArenaTeam *team)
 
void OnConstructObject (Object *origin)
 
void OnDestructObject (Object *origin)
 
void OnConstructPlayer (Player *origin)
 
void OnDestructPlayer (Player *origin)
 
void OnConstructGroup (Group *origin)
 
void OnDestructGroup (Group *origin)
 
void OnConstructInstanceSave (InstanceSave *origin)
 
void OnDestructInstanceSave (InstanceSave *origin)
 
void OnItemCreate (Item *item, ItemTemplate const *itemProto, Player const *owner)
 
bool CanApplySoulboundFlag (Item *item, ItemTemplate const *proto)
 
bool CanItemApplyEquipSpell (Player *player, Item *item)
 
bool CanSendAuctionHello (WorldSession const *session, ObjectGuid guid, Creature *creature)
 
void ValidateSpellAtCastSpell (Player *player, uint32 &oldSpellId, uint32 &spellId, uint8 &castCount, uint8 &castFlags)
 
void OnPlayerSetPhase (const AuraEffect *auraEff, AuraApplication const *aurApp, uint8 mode, bool apply, uint32 &newPhase)
 
void ValidateSpellAtCastSpellResult (Player *player, Unit *mover, Spell *spell, uint32 oldSpellId, uint32 spellId)
 
void OnAfterLootTemplateProcess (Loot *loot, LootTemplate const *tab, LootStore const &store, Player *lootOwner, bool personal, bool noEmptyError, uint16 lootMode)
 
void OnInstanceSave (InstanceSave *instanceSave)
 
void GetDialogStatus (Player *player, Object *questgiver)
 
void OnHandleDevCommand (Player *player, bool &enable)
 
bool CanExecuteCommand (ChatHandler &handler, std::string_view cmdStr)
 
void OnAfterDatabasesLoaded (uint32 updateFlags)
 
void OnAfterDatabaseLoadCreatureTemplates (std::vector< CreatureTemplate * > creatureTemplateStore)
 
void OnWorldObjectDestroy (WorldObject *object)
 
void OnWorldObjectCreate (WorldObject *object)
 
void OnWorldObjectSetMap (WorldObject *object, Map *map)
 
void OnWorldObjectResetMap (WorldObject *object)
 
void OnWorldObjectUpdate (WorldObject *object, uint32 diff)
 
void OnPetAddToWorld (Pet *pet)
 
void OnLootMoney (Player *player, uint32 gold)
 

Static Public Member Functions

static ScriptMgrinstance ()
 

Private Member Functions

 ScriptMgr ()
 
virtual ~ScriptMgr ()
 

Private Attributes

uint32 _scriptCount
 
std::atomic< long > _scheduledScripts
 
ScriptLoaderCallbackType _script_loader_callback
 
ModulesLoaderCallbackType _modules_loader_callback
 

Friends

class ScriptObject
 

Detailed Description

Member Typedef Documentation

◆ ModulesLoaderCallbackType

typedef void(* ScriptMgr::ModulesLoaderCallbackType) ()

◆ ScriptLoaderCallbackType

typedef void(* ScriptMgr::ScriptLoaderCallbackType) ()

Constructor & Destructor Documentation

◆ ScriptMgr()

ScriptMgr::ScriptMgr ( )
private
49 : _scriptCount(0),
52 _modules_loader_callback(nullptr) { }
ModulesLoaderCallbackType _modules_loader_callback
Definition: ScriptMgr.h:695
ScriptLoaderCallbackType _script_loader_callback
Definition: ScriptMgr.h:694
uint32 _scriptCount
Definition: ScriptMgr.h:689
std::atomic< long > _scheduledScripts
Definition: ScriptMgr.h:692

Member Function Documentation

◆ AfterInstanceGameObjectCreate()

void ScriptMgr::AfterInstanceGameObjectCreate ( Map instance,
GameObject go 
)

Called when a game object is created inside an instance.

Parameters
instanceA pointer to the [map] object of the instance
goThe object being added
242{
243 ExecuteScript<GlobalScript>([&](GlobalScript* script)
244 {
246 });
247}
Definition: GlobalScript.h:28
virtual void AfterInstanceGameObjectCreate(Map *, GameObject *)
Definition: GlobalScript.h:77
static ScriptMgr * instance()
Definition: ScriptMgr.cpp:56

References GlobalScript::AfterInstanceGameObjectCreate(), and instance().

◆ AnticheatCheckMovementInfo()

bool ScriptMgr::AnticheatCheckMovementInfo ( Player player,
MovementInfo const &  movementInfo,
Unit mover,
bool  jump 
)
1687{
1688 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1689 {
1690 return !script->AnticheatCheckMovementInfo(player, movementInfo, mover, jump);
1691 });
1692
1693 if (ret && *ret)
1694 {
1695 return false;
1696 }
1697
1698 return true;
1699}
Definition: PlayerScript.h:27
virtual bool AnticheatCheckMovementInfo(Player *, MovementInfo const &, Unit *, bool)
Definition: PlayerScript.h:536

References PlayerScript::AnticheatCheckMovementInfo().

◆ AnticheatHandleDoubleJump()

bool ScriptMgr::AnticheatHandleDoubleJump ( Player player,
Unit mover 
)
1672{
1673 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1674 {
1675 return !script->AnticheatHandleDoubleJump(player, mover);
1676 });
1677
1678 if (ret && *ret)
1679 {
1680 return false;
1681 }
1682
1683 return true;
1684}
virtual bool AnticheatHandleDoubleJump(Player *, Unit *)
Definition: PlayerScript.h:535

References PlayerScript::AnticheatHandleDoubleJump().

◆ AnticheatSetCanFlybyServer()

void ScriptMgr::AnticheatSetCanFlybyServer ( Player player,
bool  apply 
)
1632{
1633 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1634 {
1635 script->AnticheatSetCanFlybyServer(player, apply);
1636 });
1637}
virtual void AnticheatSetCanFlybyServer(Player *, bool)
Definition: PlayerScript.h:530

References PlayerScript::AnticheatSetCanFlybyServer().

◆ AnticheatSetJumpingbyOpcode()

void ScriptMgr::AnticheatSetJumpingbyOpcode ( Player player,
bool  jump 
)
1656{
1657 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1658 {
1659 script->AnticheatSetJumpingbyOpcode(player, jump);
1660 });
1661}
virtual void AnticheatSetJumpingbyOpcode(Player *, bool)
Definition: PlayerScript.h:533

References PlayerScript::AnticheatSetJumpingbyOpcode().

◆ AnticheatSetRootACKUpd()

void ScriptMgr::AnticheatSetRootACKUpd ( Player player)
1648{
1649 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1650 {
1651 script->AnticheatSetRootACKUpd(player);
1652 });
1653}
virtual void AnticheatSetRootACKUpd(Player *)
Definition: PlayerScript.h:532

References PlayerScript::AnticheatSetRootACKUpd().

◆ AnticheatSetSkipOnePacketForASH()

void ScriptMgr::AnticheatSetSkipOnePacketForASH ( Player player,
bool  apply 
)
1624{
1625 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1626 {
1627 script->AnticheatSetSkipOnePacketForASH(player, apply);
1628 });
1629}
virtual void AnticheatSetSkipOnePacketForASH(Player *, bool)
Definition: PlayerScript.h:529

References PlayerScript::AnticheatSetSkipOnePacketForASH().

◆ AnticheatSetUnderACKmount()

void ScriptMgr::AnticheatSetUnderACKmount ( Player player)
1640{
1641 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1642 {
1643 script->AnticheatSetUnderACKmount(player);
1644 });
1645}
virtual void AnticheatSetUnderACKmount(Player *)
Definition: PlayerScript.h:531

References PlayerScript::AnticheatSetUnderACKmount().

◆ AnticheatUpdateMovementInfo()

void ScriptMgr::AnticheatUpdateMovementInfo ( Player player,
MovementInfo const &  movementInfo 
)
1664{
1665 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1666 {
1667 script->AnticheatUpdateMovementInfo(player, movementInfo);
1668 });
1669}
virtual void AnticheatUpdateMovementInfo(Player *, MovementInfo const &)
Definition: PlayerScript.h:534

References PlayerScript::AnticheatUpdateMovementInfo().

◆ CanAccountCreateCharacter()

bool ScriptMgr::CanAccountCreateCharacter ( uint32  accountId,
uint8  charRace,
uint8  charClass 
)
87{
88 auto ret = IsValidBoolScript<AccountScript>([&](AccountScript* script)
89 {
90 return !script->CanAccountCreateCharacter(accountId, charRace, charClass);
91 });
92
93 return ReturnValidBool(ret);
94}
bool ReturnValidBool(Optional< bool > ret, bool need=false)
Definition: ScriptMgrMacros.h:67
Definition: AccountScript.h:24
virtual bool CanAccountCreateCharacter(uint32, uint8, uint8)
Definition: AccountScript.h:51

References AccountScript::CanAccountCreateCharacter(), and ReturnValidBool().

◆ CanAddMember()

bool ScriptMgr::CanAddMember ( ArenaTeam team,
ObjectGuid  PlayerGuid 
)
23{
24 auto ret = IsValidBoolScript<ArenaScript>([&](ArenaScript* script)
25 {
26 return !script->CanAddMember(team, PlayerGuid);
27 });
28
29 if (ret && *ret)
30 {
31 return false;
32 }
33
34 return true;
35}
Definition: ArenaScript.h:25
virtual bool CanAddMember(ArenaTeam *, ObjectGuid)
Definition: ArenaScript.h:34

References ArenaScript::CanAddMember().

◆ CanApplyEnchantment()

bool ScriptMgr::CanApplyEnchantment ( Player player,
Item item,
EnchantmentSlot  slot,
bool  apply,
bool  apply_dur,
bool  ignore_condition 
)
1276{
1277 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1278 {
1279 return !script->CanApplyEnchantment(player, item, slot, apply, apply_dur, ignore_condition);
1280 });
1281
1282 if (ret && *ret)
1283 {
1284 return false;
1285 }
1286
1287 return true;
1288}
virtual bool CanApplyEnchantment(Player *, Item *, EnchantmentSlot, bool, bool, bool)
Definition: PlayerScript.h:379

References PlayerScript::CanApplyEnchantment().

◆ CanApplyEquipSpell()

bool ScriptMgr::CanApplyEquipSpell ( Player player,
SpellInfo const *  spellInfo,
Item item,
bool  apply,
bool  form_change 
)
1148{
1149 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1150 {
1151 return !script->CanApplyEquipSpell(player, spellInfo, item, apply, form_change);
1152 });
1153
1154 if (ret && *ret)
1155 {
1156 return false;
1157 }
1158
1159 return true;
1160}
virtual bool CanApplyEquipSpell(Player *, SpellInfo const *, Item *, bool, bool)
Definition: PlayerScript.h:361

References PlayerScript::CanApplyEquipSpell().

◆ CanApplyEquipSpellsItemSet()

bool ScriptMgr::CanApplyEquipSpellsItemSet ( Player player,
ItemSetEffect eff 
)
1163{
1164 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1165 {
1166 return !script->CanApplyEquipSpellsItemSet(player, eff);
1167 });
1168
1169 if (ret && *ret)
1170 {
1171 return false;
1172 }
1173
1174 return true;
1175}
virtual bool CanApplyEquipSpellsItemSet(Player *, ItemSetEffect *)
Definition: PlayerScript.h:363

References PlayerScript::CanApplyEquipSpellsItemSet().

◆ CanApplySoulboundFlag()

bool ScriptMgr::CanApplySoulboundFlag ( Item item,
ItemTemplate const *  proto 
)
31{
32 auto ret = IsValidBoolScript<MiscScript>([&](MiscScript* script)
33 {
34 return !script->CanApplySoulboundFlag(item, proto);
35 });
36
37 if (ret && *ret)
38 {
39 return false;
40 }
41
42 return true;
43}
Definition: MiscScript.h:25
virtual bool CanApplySoulboundFlag(Item *, ItemTemplate const *)
Definition: MiscScript.h:50

References MiscScript::CanApplySoulboundFlag().

◆ CanApplyWeaponDependentAuraDamageMod()

bool ScriptMgr::CanApplyWeaponDependentAuraDamageMod ( Player player,
Item item,
WeaponAttackType  attackType,
AuraEffect const *  aura,
bool  apply 
)
1133{
1134 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1135 {
1136 return !script->CanApplyWeaponDependentAuraDamageMod(player, item, attackType, aura, apply);
1137 });
1138
1139 if (ret && *ret)
1140 {
1141 return false;
1142 }
1143
1144 return true;
1145}
virtual bool CanApplyWeaponDependentAuraDamageMod(Player *, Item *, WeaponAttackType, AuraEffect const *, bool)
Definition: PlayerScript.h:359

References PlayerScript::CanApplyWeaponDependentAuraDamageMod().

◆ CanAreaExploreAndOutdoor()

bool ScriptMgr::CanAreaExploreAndOutdoor ( Player player)
1063{
1064 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1065 {
1066 return !script->CanAreaExploreAndOutdoor(player);
1067 });
1068
1069 if (ret && *ret)
1070 {
1071 return false;
1072 }
1073
1074 return true;
1075}
virtual bool CanAreaExploreAndOutdoor(Player *)
Definition: PlayerScript.h:345

References PlayerScript::CanAreaExploreAndOutdoor().

◆ CanArmorDamageModifier()

bool ScriptMgr::CanArmorDamageModifier ( Player player)
1110{
1111 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1112 {
1113 return !script->CanArmorDamageModifier(player);
1114 });
1115
1116 if (ret && *ret)
1117 {
1118 return false;
1119 }
1120
1121 return true;
1122}
virtual bool CanArmorDamageModifier(Player *)
Definition: PlayerScript.h:355

References PlayerScript::CanArmorDamageModifier().

◆ CanBattleFieldPort()

bool ScriptMgr::CanBattleFieldPort ( Player player,
uint8  arenaType,
BattlegroundTypeId  BGTypeID,
uint8  action 
)
858{
859 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
860 {
861 return !script->CanBattleFieldPort(player, arenaType, BGTypeID, action);
862 });
863
864 if (ret && *ret)
865 {
866 return false;
867 }
868
869 return true;
870}
virtual bool CanBattleFieldPort(Player *, uint8, BattlegroundTypeId, uint8)
Definition: PlayerScript.h:296

References PlayerScript::CanBattleFieldPort().

◆ CanCastItemCombatSpell()

bool ScriptMgr::CanCastItemCombatSpell ( Player player,
Unit target,
WeaponAttackType  attType,
uint32  procVictim,
uint32  procEx,
Item item,
ItemTemplate const *  proto 
)
1178{
1179 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1180 {
1181 return !script->CanCastItemCombatSpell(player, target, attType, procVictim, procEx, item, proto);
1182 });
1183
1184 if (ret && *ret)
1185 {
1186 return false;
1187 }
1188
1189 return true;
1190}
virtual bool CanCastItemCombatSpell(Player *, Unit *, WeaponAttackType, uint32, uint32, Item *, ItemTemplate const *)
Definition: PlayerScript.h:365

References PlayerScript::CanCastItemCombatSpell().

◆ CanCastItemUseSpell()

bool ScriptMgr::CanCastItemUseSpell ( Player player,
Item item,
SpellCastTargets const &  targets,
uint8  cast_count,
uint32  glyphIndex 
)
1193{
1194 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1195 {
1196 return !script->CanCastItemUseSpell(player, item, targets, cast_count, glyphIndex);
1197 });
1198
1199 if (ret && *ret)
1200 {
1201 return false;
1202 }
1203
1204 return true;
1205}
virtual bool CanCastItemUseSpell(Player *, Item *, SpellCastTargets const &, uint8, uint32)
Definition: PlayerScript.h:367

References PlayerScript::CanCastItemUseSpell().

◆ CanCheckCriteria()

bool ScriptMgr::CanCheckCriteria ( AchievementMgr mgr,
AchievementCriteriaEntry const *  achievementCriteria 
)
69{
70 auto ret = IsValidBoolScript<AchievementScript>([&](AchievementScript* script)
71 {
72 return !script->CanCheckCriteria(mgr, achievementCriteria);
73 });
74
75 if (ret && *ret)
76 {
77 return false;
78 }
79
80 return true;
81}
Definition: AchievementScript.h:26
virtual bool CanCheckCriteria(AchievementMgr *, AchievementCriteriaEntry const *)
Definition: AchievementScript.h:42

References AchievementScript::CanCheckCriteria().

◆ CanEnterMap()

bool ScriptMgr::CanEnterMap ( Player player,
MapEntry const *  entry,
InstanceTemplate const *  instance,
MapDifficulty const *  mapDiff,
bool  loginCheck 
)
1438{
1439 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1440 {
1441 return !script->CanEnterMap(player, entry, instance, mapDiff, loginCheck);
1442 });
1443
1444 if (ret && *ret)
1445 {
1446 return false;
1447 }
1448
1449 return true;
1450}
virtual bool CanEnterMap(Player *, MapEntry const *, InstanceTemplate const *, MapDifficulty const *, bool)
Definition: PlayerScript.h:408

References PlayerScript::CanEnterMap(), and instance().

◆ CanEquipItem()

bool ScriptMgr::CanEquipItem ( Player player,
uint8  slot,
uint16 dest,
Item pItem,
bool  swap,
bool  not_loading 
)
1216{
1217 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1218 {
1219 return !script->CanEquipItem(player, slot, dest, pItem, swap, not_loading);
1220 });
1221
1222 if (ret && *ret)
1223 {
1224 return false;
1225 }
1226
1227 return true;
1228}
virtual bool CanEquipItem(Player *, uint8, uint16 &, Item *, bool, bool)
Definition: PlayerScript.h:371

References PlayerScript::CanEquipItem().

◆ CanExecuteCommand()

bool ScriptMgr::CanExecuteCommand ( ChatHandler handler,
std::string_view  cmdStr 
)
31{
32 auto ret = IsValidBoolScript<AllCommandScript>([&](AllCommandScript* script)
33 {
34 return !script->CanExecuteCommand(handler, cmdStr);
35 });
36
37 return ReturnValidBool(ret);
38}
Definition: AllCommandScript.h:24
virtual bool CanExecuteCommand(ChatHandler &, std::string_view)
This hook runs execute chat command.
Definition: AllCommandScript.h:39

References AllCommandScript::CanExecuteCommand(), and ReturnValidBool().

◆ CanFillPlayersToBG()

bool ScriptMgr::CanFillPlayersToBG ( BattlegroundQueue queue,
Battleground bg,
BattlegroundBracketId  bracket_id 
)
81{
82 auto ret = IsValidBoolScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
83 {
84 return !script->CanFillPlayersToBG(queue, bg, bracket_id);
85 });
86
87 return ReturnValidBool(ret);
88}
Definition: AllBattlegroundScript.h:28
virtual bool CanFillPlayersToBG(BattlegroundQueue *, Battleground *, BattlegroundBracketId)
Definition: AllBattlegroundScript.h:62

References AllBattlegroundScript::CanFillPlayersToBG(), and ReturnValidBool().

◆ CanGiveMailRewardAtGiveLevel()

bool ScriptMgr::CanGiveMailRewardAtGiveLevel ( Player player,
uint8  level 
)
988{
989 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
990 {
991 return !script->CanGiveMailRewardAtGiveLevel(player, level);
992 });
993
994 if (ret && *ret)
995 {
996 return false;
997 }
998
999 return true;
1000}
virtual bool CanGiveMailRewardAtGiveLevel(Player *, uint8)
Definition: PlayerScript.h:312

References PlayerScript::CanGiveMailRewardAtGiveLevel().

◆ CanGroupAccept()

bool ScriptMgr::CanGroupAccept ( Player player,
Group group 
)
888{
889 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
890 {
891 return !script->CanGroupAccept(player, group);
892 });
893
894 if (ret && *ret)
895 {
896 return false;
897 }
898
899 return true;
900}
virtual bool CanGroupAccept(Player *, Group *)
Definition: PlayerScript.h:300

References PlayerScript::CanGroupAccept().

◆ CanGroupInvite()

bool ScriptMgr::CanGroupInvite ( Player player,
std::string &  membername 
)
873{
874 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
875 {
876 return !script->CanGroupInvite(player, membername);
877 });
878
879 if (ret && *ret)
880 {
881 return false;
882 }
883
884 return true;
885}
virtual bool CanGroupInvite(Player *, std::string &)
Definition: PlayerScript.h:298

References PlayerScript::CanGroupInvite().

◆ CanGroupJoinBattlegroundQueue()

bool ScriptMgr::CanGroupJoinBattlegroundQueue ( Group const *  group,
Player member,
Battleground const *  bgTemplate,
uint32  MinPlayerCount,
bool  isRated,
uint32  arenaSlot 
)
73{
74 auto ret = IsValidBoolScript<GroupScript>([&](GroupScript* script)
75 {
76 return !script->CanGroupJoinBattlegroundQueue(group, member, bgTemplate, MinPlayerCount, isRated, arenaSlot);
77 });
78
79 if (ret && *ret)
80 {
81 return false;
82 }
83
84 return true;
85}
Definition: GroupScript.h:27
virtual bool CanGroupJoinBattlegroundQueue(Group const *, Player *, Battleground const *, uint32, bool, uint32)
Definition: GroupScript.h:49

References GroupScript::CanGroupJoinBattlegroundQueue().

◆ CanGuildSendBankList()

bool ScriptMgr::CanGuildSendBankList ( Guild const *  guild,
WorldSession session,
uint8  tabId,
bool  sendAllSlots 
)
112{
113 auto ret = IsValidBoolScript<GuildScript>([&](GuildScript* script)
114 {
115 return !script->CanGuildSendBankList(guild, session, tabId, sendAllSlots);
116 });
117
118 if (ret && *ret)
119 {
120 return false;
121 }
122
123 return true;
124}
Definition: GuildScript.h:25
virtual bool CanGuildSendBankList(Guild const *, WorldSession *, uint8, bool)
Definition: GuildScript.h:64

References GuildScript::CanGuildSendBankList().

◆ CanInitTrade()

bool ScriptMgr::CanInitTrade ( Player player,
Player target 
)
1453{
1454 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1455 {
1456 return !script->CanInitTrade(player, target);
1457 });
1458
1459 if (ret && *ret)
1460 {
1461 return false;
1462 }
1463
1464 return true;
1465}
virtual bool CanInitTrade(Player *, Player *)
Definition: PlayerScript.h:410

References PlayerScript::CanInitTrade().

◆ CanItemApplyEquipSpell()

bool ScriptMgr::CanItemApplyEquipSpell ( Player player,
Item item 
)
110{
111 auto ret = IsValidBoolScript<MiscScript>([&](MiscScript* script)
112 {
113 return !script->CanItemApplyEquipSpell(player, item);
114 });
115
116 if (ret && *ret)
117 {
118 return false;
119 }
120
121 return true;
122}
virtual bool CanItemApplyEquipSpell(Player *, Item *)
Definition: MiscScript.h:52

References MiscScript::CanItemApplyEquipSpell().

◆ CanJoinInArenaQueue()

bool ScriptMgr::CanJoinInArenaQueue ( Player player,
ObjectGuid  BattlemasterGuid,
uint8  arenaslot,
BattlegroundTypeId  BGTypeID,
uint8  joinAsGroup,
uint8  IsRated,
GroupJoinBattlegroundResult err 
)
843{
844 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
845 {
846 return !script->CanJoinInArenaQueue(player, BattlemasterGuid, arenaslot, BGTypeID, joinAsGroup, IsRated, err);
847 });
848
849 if (ret && *ret)
850 {
851 return false;
852 }
853
854 return true;
855}
virtual bool CanJoinInArenaQueue(Player *, ObjectGuid, uint8, BattlegroundTypeId, uint8, uint8, GroupJoinBattlegroundResult &)
Definition: PlayerScript.h:294

References PlayerScript::CanJoinInArenaQueue().

◆ CanJoinInBattlegroundQueue()

bool ScriptMgr::CanJoinInBattlegroundQueue ( Player player,
ObjectGuid  BattlemasterGuid,
BattlegroundTypeId  BGTypeID,
uint8  joinAsGroup,
GroupJoinBattlegroundResult err 
)
696{
697 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
698 {
699 return !script->CanJoinInBattlegroundQueue(player, BattlemasterGuid, BGTypeID, joinAsGroup, err);
700 });
701
702 if (ret && *ret)
703 {
704 return false;
705 }
706
707 return true;
708}
virtual bool CanJoinInBattlegroundQueue(Player *, ObjectGuid, BattlegroundTypeId, uint8, GroupJoinBattlegroundResult &)
Definition: PlayerScript.h:279

References PlayerScript::CanJoinInBattlegroundQueue().

◆ CanJoinLfg()

bool ScriptMgr::CanJoinLfg ( Player player,
uint8  roles,
lfg::LfgDungeonSet dungeons,
const std::string &  comment 
)
1423{
1424 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1425 {
1426 return !script->CanJoinLfg(player, roles, dungeons, comment);
1427 });
1428
1429 if (ret && *ret)
1430 {
1431 return false;
1432 }
1433
1434 return true;
1435}
virtual bool CanJoinLfg(Player *, uint8, std::set< uint32 > &, const std::string &)
Definition: PlayerScript.h:406

References PlayerScript::CanJoinLfg().

◆ CanModAuraEffectDamageDone()

bool ScriptMgr::CanModAuraEffectDamageDone ( AuraEffect const *  auraEff,
Unit target,
AuraApplication const *  aurApp,
uint8  mode,
bool  apply 
)
31{
32 auto ret = IsValidBoolScript<AllSpellScript>([&](AllSpellScript* script)
33 {
34 return !script->CanModAuraEffectDamageDone(auraEff, target, aurApp, mode, apply);
35 });
36
37 if (ret && *ret)
38 {
39 return false;
40 }
41
42 return true;
43}
Definition: AllSpellScript.h:27
virtual bool CanModAuraEffectDamageDone(AuraEffect const *, Unit *, AuraApplication const *, uint8, bool)
Definition: AllSpellScript.h:37

References AllSpellScript::CanModAuraEffectDamageDone().

◆ CanModAuraEffectModDamagePercentDone()

bool ScriptMgr::CanModAuraEffectModDamagePercentDone ( AuraEffect const *  auraEff,
Unit target,
AuraApplication const *  aurApp,
uint8  mode,
bool  apply 
)
46{
47 auto ret = IsValidBoolScript<AllSpellScript>([&](AllSpellScript* script)
48 {
49 return !script->CanModAuraEffectModDamagePercentDone(auraEff, target, aurApp, mode, apply);
50 });
51
52 if (ret && *ret)
53 {
54 return false;
55 }
56
57 return true;
58}
virtual bool CanModAuraEffectModDamagePercentDone(AuraEffect const *, Unit *, AuraApplication const *, uint8, bool)
Definition: AllSpellScript.h:39

References AllSpellScript::CanModAuraEffectModDamagePercentDone().

◆ CanPacketReceive()

bool ScriptMgr::CanPacketReceive ( WorldSession session,
WorldPacket const &  packet 
)
59{
61 return true;
62
63 WorldPacket copy(packet);
64
65 auto ret = IsValidBoolScript<ServerScript>([&](ServerScript* script)
66 {
67 return !script->CanPacketReceive(session, copy);
68 });
69
70 if (ret && *ret)
71 {
72 return false;
73 }
74
75 return true;
76}
Definition: ServerScript.h:24
virtual bool CanPacketReceive(WorldSession *, WorldPacket &)
Called when a (valid) packet is received by a client. The packet object is a copy of the original pac...
Definition: ServerScript.h:59
Definition: ScriptMgr.h:702
Definition: WorldPacket.h:27

References ServerScript::CanPacketReceive().

◆ CanPacketSend()

bool ScriptMgr::CanPacketSend ( WorldSession session,
WorldPacket const &  packet 
)
79{
80 ASSERT(session);
81
83 return true;
84
85 WorldPacket copy(packet);
86
87 auto ret = IsValidBoolScript<ServerScript>([&](ServerScript* script)
88 {
89 return !script->CanPacketSend(session, copy);
90 });
91
92 if (ret && *ret)
93 {
94 return false;
95 }
96
97 return true;
98}
#define ASSERT
Definition: Errors.h:68
virtual bool CanPacketSend(WorldSession *, WorldPacket &)
This hook called when a packet is sent to a client. The packet object is a copy of the original packe...
Definition: ServerScript.h:49

References ASSERT, and ServerScript::CanPacketSend().

◆ CanPlaceAuctionBid()

bool ScriptMgr::CanPlaceAuctionBid ( Player player,
AuctionEntry auction 
)
642{
643 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript *script)
644 {
645 return !script->CanPlaceAuctionBid(player, auction);
646 });
647
648 if (ret && *ret)
649 {
650 return false;
651 }
652
653 return true;
654}
virtual bool CanPlaceAuctionBid(Player *, AuctionEntry *)
Definition: PlayerScript.h:240

References PlayerScript::CanPlaceAuctionBid().

◆ CanPlayerUseChat() [1/5]

bool ScriptMgr::CanPlayerUseChat ( Player player,
uint32  type,
uint32  language,
std::string &  msg 
)
1516{
1517 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1518 {
1519 return !script->CanPlayerUseChat(player, type, language, msg);
1520 });
1521
1522 if (ret && *ret)
1523 {
1524 return false;
1525 }
1526
1527 return true;
1528}
virtual bool CanPlayerUseChat(Player *, uint32, uint32, std::string &)
This hook called before player sending message in default chat.
Definition: PlayerScript.h:431

References PlayerScript::CanPlayerUseChat().

◆ CanPlayerUseChat() [2/5]

bool ScriptMgr::CanPlayerUseChat ( Player player,
uint32  type,
uint32  language,
std::string &  msg,
Channel channel 
)
1576{
1577 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1578 {
1579 return !script->CanPlayerUseChat(player, type, language, msg, channel);
1580 });
1581
1582 if (ret && *ret)
1583 {
1584 return false;
1585 }
1586
1587 return true;
1588}

References PlayerScript::CanPlayerUseChat().

◆ CanPlayerUseChat() [3/5]

bool ScriptMgr::CanPlayerUseChat ( Player player,
uint32  type,
uint32  language,
std::string &  msg,
Group group 
)
1546{
1547 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1548 {
1549 return !script->CanPlayerUseChat(player, type, language, msg, group);
1550 });
1551
1552 if (ret && *ret)
1553 {
1554 return false;
1555 }
1556
1557 return true;
1558}

References PlayerScript::CanPlayerUseChat().

◆ CanPlayerUseChat() [4/5]

bool ScriptMgr::CanPlayerUseChat ( Player player,
uint32  type,
uint32  language,
std::string &  msg,
Guild guild 
)
1561{
1562 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1563 {
1564 return !script->CanPlayerUseChat(player, type, language, msg, guild);
1565 });
1566
1567 if (ret && *ret)
1568 {
1569 return false;
1570 }
1571
1572 return true;
1573}

References PlayerScript::CanPlayerUseChat().

◆ CanPlayerUseChat() [5/5]

bool ScriptMgr::CanPlayerUseChat ( Player player,
uint32  type,
uint32  language,
std::string &  msg,
Player receiver 
)
1531{
1532 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1533 {
1534 return !script->CanPlayerUseChat(player, type, language, msg, receiver);
1535 });
1536
1537 if (ret && *ret)
1538 {
1539 return false;
1540 }
1541
1542 return true;
1543}

References PlayerScript::CanPlayerUseChat().

◆ CanPrepare()

bool ScriptMgr::CanPrepare ( Spell spell,
SpellCastTargets const *  targets,
AuraEffect const *  triggeredByAura 
)
69{
70 auto ret = IsValidBoolScript<AllSpellScript>([&](AllSpellScript* script)
71 {
72 return !script->CanPrepare(spell, targets, triggeredByAura);
73 });
74
75 if (ret && *ret)
76 {
77 return false;
78 }
79
80 return true;
81}
virtual bool CanPrepare(Spell *, SpellCastTargets const *, AuraEffect const *)
Definition: AllSpellScript.h:43

References AllSpellScript::CanPrepare().

◆ CanRepopAtGraveyard()

bool ScriptMgr::CanRepopAtGraveyard ( Player player)
1011{
1012 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1013 {
1014 return !script->CanRepopAtGraveyard(player);
1015 });
1016
1017 if (ret && *ret)
1018 {
1019 return false;
1020 }
1021
1022 return true;
1023}
virtual bool CanRepopAtGraveyard(Player *)
Definition: PlayerScript.h:316

References PlayerScript::CanRepopAtGraveyard().

◆ CanResetTalents()

bool ScriptMgr::CanResetTalents ( Pet pet)
69{
70 auto ret = IsValidBoolScript<PetScript>([&](PetScript* script)
71 {
72 return !script->CanResetTalents(pet);
73 });
74
75 if (ret && *ret)
76 {
77 return false;
78 }
79
80 return true;
81}
Definition: PetScript.h:24
virtual bool CanResetTalents(Pet *)
Definition: PetScript.h:39

References PetScript::CanResetTalents().

◆ CanSaveEquipNewItem()

bool ScriptMgr::CanSaveEquipNewItem ( Player player,
Item item,
uint16  pos,
bool  update 
)
1261{
1262 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1263 {
1264 return !script->CanSaveEquipNewItem(player, item, pos, update);
1265 });
1266
1267 if (ret && *ret)
1268 {
1269 return false;
1270 }
1271
1272 return true;
1273}
virtual bool CanSaveEquipNewItem(Player *, Item *, uint16, bool)
Definition: PlayerScript.h:377

References PlayerScript::CanSaveEquipNewItem().

◆ CanSaveToDB()

bool ScriptMgr::CanSaveToDB ( ArenaTeam team)
46{
47 auto ret = IsValidBoolScript<ArenaScript>([&](ArenaScript* script)
48 {
49 return !script->CanSaveToDB(team);
50 });
51
52 if (ret && *ret)
53 {
54 return false;
55 }
56
57 return true;
58}
virtual bool CanSaveToDB(ArenaTeam *)
Definition: ArenaScript.h:38

References ArenaScript::CanSaveToDB().

◆ CanScalingEverything()

bool ScriptMgr::CanScalingEverything ( Spell spell)
84{
85 auto ret = IsValidBoolScript<AllSpellScript>([&](AllSpellScript* script)
86 {
87 return script->CanScalingEverything(spell);
88 });
89
90 if (ret && *ret)
91 {
92 return true;
93 }
94
95 return false;
96}
virtual bool CanScalingEverything(Spell *)
Definition: AllSpellScript.h:45

References AllSpellScript::CanScalingEverything().

◆ CanSelectSpecTalent()

bool ScriptMgr::CanSelectSpecTalent ( Spell spell)
99{
100 auto ret = IsValidBoolScript<AllSpellScript>([&](AllSpellScript* script)
101 {
102 return !script->CanSelectSpecTalent(spell);
103 });
104
105 if (ret && *ret)
106 {
107 return false;
108 }
109
110 return true;
111}
virtual bool CanSelectSpecTalent(Spell *)
Definition: AllSpellScript.h:47

References AllSpellScript::CanSelectSpecTalent().

◆ CanSellItem()

bool ScriptMgr::CanSellItem ( Player player,
Item item,
Creature creature 
)
903{
904 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
905 {
906 return !script->CanSellItem(player, item, creature);
907 });
908
909 if (ret && *ret)
910 {
911 return false;
912 }
913
914 return true;
915}
virtual bool CanSellItem(Player *, Item *, Creature *)
Definition: PlayerScript.h:302

References PlayerScript::CanSellItem().

◆ CanSendAuctionHello()

bool ScriptMgr::CanSendAuctionHello ( WorldSession const *  session,
ObjectGuid  guid,
Creature creature 
)
125{
126 auto ret = IsValidBoolScript<MiscScript>([&](MiscScript* script)
127 {
128 return !script->CanSendAuctionHello(session, guid, creature);
129 });
130
131 if (ret && *ret)
132 {
133 return false;
134 }
135
136 return true;
137}
virtual bool CanSendAuctionHello(WorldSession const *, ObjectGuid, Creature *)
Definition: MiscScript.h:54

References MiscScript::CanSendAuctionHello().

◆ CanSendErrorAlreadyLooted()

bool ScriptMgr::CanSendErrorAlreadyLooted ( Player player)
933{
934 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
935 {
936 return !script->CanSendErrorAlreadyLooted(player);
937 });
938
939 if (ret && *ret)
940 {
941 return false;
942 }
943
944 return true;
945}
virtual bool CanSendErrorAlreadyLooted(Player *)
This hook is called, to avoid displaying the error message that the body has already been stripped.
Definition: PlayerScript.h:545

References PlayerScript::CanSendErrorAlreadyLooted().

◆ CanSendMail()

bool ScriptMgr::CanSendMail ( Player player,
ObjectGuid  receiverGuid,
ObjectGuid  mailbox,
std::string &  subject,
std::string &  body,
uint32  money,
uint32  COD,
Item item 
)
918{
919 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
920 {
921 return !script->CanSendMail(player, receiverGuid, mailbox, subject, body, money, COD, item);
922 });
923
924 if (ret && *ret)
925 {
926 return false;
927 }
928
929 return true;
930}
virtual bool CanSendMail(Player *, ObjectGuid, ObjectGuid, std::string &, std::string &, uint32, uint32, Item *)
Definition: PlayerScript.h:304

References PlayerScript::CanSendMail().

◆ CanSendMessageBGQueue()

bool ScriptMgr::CanSendMessageBGQueue ( BattlegroundQueue queue,
Player leader,
Battleground bg,
PvPDifficultyEntry const *  bracketEntry 
)
109{
110 auto ret = IsValidBoolScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
111 {
112 return !script->CanSendMessageBGQueue(queue, leader, bg, bracketEntry);
113 });
114
115 return ReturnValidBool(ret);
116}
virtual bool CanSendMessageBGQueue(BattlegroundQueue *, Player *, Battleground *, PvPDifficultyEntry const *)
Definition: AllBattlegroundScript.h:66

References AllBattlegroundScript::CanSendMessageBGQueue(), and ReturnValidBool().

◆ CanSetPhaseMask()

bool ScriptMgr::CanSetPhaseMask ( Unit const *  unit,
uint32  newPhaseMask,
bool  update 
)
166{
167 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
168 {
169 return !script->CanSetPhaseMask(unit, newPhaseMask, update);
170 });
171
172 if (ret && *ret)
173 {
174 return false;
175 }
176
177 return true;
178}
Definition: UnitScript.h:27
virtual bool CanSetPhaseMask(Unit const *, uint32, bool)
Definition: UnitScript.h:68

References UnitScript::CanSetPhaseMask().

◆ CanUnequipItem()

bool ScriptMgr::CanUnequipItem ( Player player,
uint16  pos,
bool  swap 
)
1231{
1232 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1233 {
1234 return !script->CanUnequipItem(player, pos, swap);
1235 });
1236
1237 if (ret && *ret)
1238 {
1239 return false;
1240 }
1241
1242 return true;
1243}
virtual bool CanUnequipItem(Player *, uint16, bool)
Definition: PlayerScript.h:373

References PlayerScript::CanUnequipItem().

◆ CanUnlearnSpellDefault()

bool ScriptMgr::CanUnlearnSpellDefault ( Pet pet,
SpellInfo const *  spellInfo 
)
54{
55 auto ret = IsValidBoolScript<PetScript>([&](PetScript* script)
56 {
57 return !script->CanUnlearnSpellDefault(pet, spellInfo);
58 });
59
60 if (ret && *ret)
61 {
62 return false;
63 }
64
65 return true;
66}
virtual bool CanUnlearnSpellDefault(Pet *, SpellInfo const *)
Definition: PetScript.h:37

References PetScript::CanUnlearnSpellDefault().

◆ CanUnlearnSpellSet()

bool ScriptMgr::CanUnlearnSpellSet ( Pet pet,
uint32  level,
uint32  spell 
)
39{
40 auto ret = IsValidBoolScript<PetScript>([&](PetScript* script)
41 {
42 return !script->CanUnlearnSpellSet(pet, level, spell);
43 });
44
45 if (ret && *ret)
46 {
47 return false;
48 }
49
50 return true;
51}
virtual bool CanUnlearnSpellSet(Pet *, uint32, uint32)
Definition: PetScript.h:35

References PetScript::CanUnlearnSpellSet().

◆ CanUseItem()

bool ScriptMgr::CanUseItem ( Player player,
ItemTemplate const *  proto,
InventoryResult result 
)
1246{
1247 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1248 {
1249 return !script->CanUseItem(player, proto, result);
1250 });
1251
1252 if (ret && *ret)
1253 {
1254 return false;
1255 }
1256
1257 return true;
1258}
virtual bool CanUseItem(Player *, ItemTemplate const *, InventoryResult &)
Definition: PlayerScript.h:375

References PlayerScript::CanUseItem().

◆ CheckIfScriptsInDatabaseExist()

void ScriptMgr::CheckIfScriptsInDatabaseExist ( )
165{
166 for (auto const& scriptName : sObjectMgr->GetScriptNames())
167 {
168 if (uint32 sid = sObjectMgr->GetScriptId(scriptName))
169 {
203 {
204 LOG_ERROR("sql.sql", "Script named '{}' is assigned in the database, but has no code!", scriptName);
205 }
206 }
207 }
208}
std::uint32_t uint32
Definition: Define.h:108
#define LOG_ERROR(filterType__,...)
Definition: Log.h:157
#define sObjectMgr
Definition: ObjectMgr.h:1640

References LOG_ERROR, and sObjectMgr.

Referenced by LoadDatabase().

◆ CheckItemInSlotAtLoadInventory()

bool ScriptMgr::CheckItemInSlotAtLoadInventory ( Player player,
Item item,
uint8  slot,
uint8 err,
uint16 dest 
)
1314{
1315 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1316 {
1317 return !script->CheckItemInSlotAtLoadInventory(player, item, slot, err, dest);
1318 });
1319
1320 if (ret && *ret)
1321 {
1322 return false;
1323 }
1324
1325 return true;
1326}
virtual bool CheckItemInSlotAtLoadInventory(Player *, Item *, uint8, uint8 &, uint16 &)
Definition: PlayerScript.h:385

References PlayerScript::CheckItemInSlotAtLoadInventory().

◆ CreateAuraScripts()

void ScriptMgr::CreateAuraScripts ( uint32  spellId,
std::list< AuraScript * > &  scriptVector 
)
44{
45 SpellScriptsBounds bounds = sObjectMgr->GetSpellScriptsBounds(spellId);
46
47 for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr)
48 {
50 if (!tempScript)
51 continue;
52
53 AuraScript* script = tempScript->GetAuraScript();
54
55 if (!script)
56 continue;
57
58 script->_Init(&tempScript->GetName(), spellId);
59
60 scriptVector.push_back(script);
61 }
62}
std::pair< SpellScriptsContainer::iterator, SpellScriptsContainer::iterator > SpellScriptsBounds
Definition: ObjectMgr.h:389
Definition: SpellScriptLoader.h:26
virtual AuraScript * GetAuraScript() const
Definition: SpellScriptLoader.h:37
static TScript * GetScriptById(uint32 id)
Definition: ScriptMgr.h:803
const std::string & GetName() const
Definition: ScriptObject.h:54
virtual void _Init(std::string const *scriptname, uint32 spellId)
Definition: SpellScript.cpp:59
Definition: SpellScript.h:517

References _SpellScript::_Init(), SpellScriptLoader::GetAuraScript(), ScriptObject::GetName(), ScriptRegistry< TScript >::GetScriptById(), and sObjectMgr.

◆ CreateBattleground()

Battleground * ScriptMgr::CreateBattleground ( BattlegroundTypeId  typeId)
Todo:
: Implement script-side battlegrounds.
22{
24 ABORT();
25 return nullptr;
26}
#define ABORT
Definition: Errors.h:76

References ABORT.

◆ CreateInstanceScript()

InstanceScript * ScriptMgr::CreateInstanceScript ( InstanceMap map)
22{
23 ASSERT(map);
24
26 return tempScript ? tempScript->GetInstanceScript(map) : nullptr;
27}
uint32 GetScriptId() const
Definition: Map.h:828

References ASSERT, ScriptRegistry< TScript >::GetScriptById(), and InstanceMap::GetScriptId().

◆ CreateOutdoorPvP()

OutdoorPvP * ScriptMgr::CreateOutdoorPvP ( OutdoorPvPData const *  data)
23{
24 ASSERT(data);
25
26 auto tempScript = ScriptRegistry<OutdoorPvPScript>::GetScriptById(data->ScriptId);
27 return tempScript ? tempScript->GetOutdoorPvP() : nullptr;
28}

References ASSERT, ScriptRegistry< TScript >::GetScriptById(), and OutdoorPvPData::ScriptId.

◆ CreateSpellScriptLoaders()

void ScriptMgr::CreateSpellScriptLoaders ( uint32  spellId,
std::vector< std::pair< SpellScriptLoader *, std::multimap< uint32, uint32 >::iterator > > &  scriptVector 
)
65{
66 SpellScriptsBounds bounds = sObjectMgr->GetSpellScriptsBounds(spellId);
67 scriptVector.reserve(std::distance(bounds.first, bounds.second));
68
69 for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr)
70 {
72 if (!tempScript)
73 continue;
74
75 scriptVector.emplace_back(tempScript, itr);
76 }
77}

References ScriptRegistry< TScript >::GetScriptById(), and sObjectMgr.

◆ CreateSpellScripts()

void ScriptMgr::CreateSpellScripts ( uint32  spellId,
std::list< SpellScript * > &  scriptVector 
)
23{
24 SpellScriptsBounds bounds = sObjectMgr->GetSpellScriptsBounds(spellId);
25
26 for (SpellScriptsContainer::iterator itr = bounds.first; itr != bounds.second; ++itr)
27 {
29 if (!tempScript)
30 continue;
31
32 SpellScript* script = tempScript->GetSpellScript();
33
34 if (!script)
35 continue;
36
37 script->_Init(&tempScript->GetName(), spellId);
38
39 scriptVector.push_back(script);
40 }
41}
virtual SpellScript * GetSpellScript() const
Definition: SpellScriptLoader.h:34
Definition: SpellScript.h:182

References _SpellScript::_Init(), ScriptObject::GetName(), ScriptRegistry< TScript >::GetScriptById(), SpellScriptLoader::GetSpellScript(), and sObjectMgr.

◆ Creature_SelectLevel()

void ScriptMgr::Creature_SelectLevel ( const CreatureTemplate cinfo,
Creature creature 
)
62{
63 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
64 {
65 script->Creature_SelectLevel(cinfo, creature);
66 });
67}
Definition: AllCreatureScript.h:24
virtual void Creature_SelectLevel(const CreatureTemplate *, Creature *)
Definition: AllCreatureScript.h:36

References AllCreatureScript::Creature_SelectLevel().

◆ DealDamage()

uint32 ScriptMgr::DealDamage ( Unit AttackerUnit,
Unit pVictim,
uint32  damage,
DamageEffectType  damagetype 
)
23{
25 {
26 return damage;
27 }
28
29 for (auto const& [scriptID, script] : ScriptRegistry<UnitScript>::ScriptPointerList)
30 {
31 auto const& dmg = script->DealDamage(AttackerUnit, pVictim, damage, damagetype);
32 if (dmg != damage)
33 {
34 return damage;
35 }
36 }
37
38 return damage;
39}

◆ DecreaseScheduledScriptCount() [1/2]

uint32 ScriptMgr::DecreaseScheduledScriptCount ( )
inline
525{ return --_scheduledScripts; }

References _scheduledScripts.

◆ DecreaseScheduledScriptCount() [2/2]

uint32 ScriptMgr::DecreaseScheduledScriptCount ( size_t  count)
inline
526{ return _scheduledScripts -= count; }

References _scheduledScripts.

◆ DecreaseScriptCount()

void ScriptMgr::DecreaseScriptCount ( )
inline
128{ --_scriptCount; }

References _scriptCount.

◆ FillSpellSummary()

void ScriptMgr::FillSpellSummary ( )
211{
213
214 SpellSummary = new TSpellSummary[sSpellMgr->GetSpellInfoStoreSize()];
215
216 SpellInfo const* pTempSpell;
217
218 for (uint32 i = 0; i < sSpellMgr->GetSpellInfoStoreSize(); ++i)
219 {
220 SpellSummary[i].Effects = 0;
221 SpellSummary[i].Targets = 0;
222
223 pTempSpell = sSpellMgr->GetSpellInfo(i);
224 // This spell doesn't exist.
225 if (!pTempSpell)
226 continue;
227
228 for (uint32 j = 0; j < MAX_SPELL_EFFECTS; ++j)
229 {
230 // Spell targets self.
231 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER)
232 SpellSummary[i].Targets |= 1 << (SELECT_TARGET_SELF - 1);
233
234 // Spell targets a single enemy.
235 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
236 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY)
238
239 // Spell targets AoE at enemy.
240 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY ||
241 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY ||
242 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
243 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
245
246 // Spell targets an enemy.
247 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ENEMY ||
248 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_TARGET_ENEMY ||
249 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_SRC_AREA_ENEMY ||
250 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_DEST_AREA_ENEMY ||
251 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER ||
252 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_DEST_DYNOBJ_ENEMY)
254
255 // Spell targets a single friend (or self).
256 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER ||
257 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY ||
258 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY)
260
261 // Spell targets AoE friends.
262 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY ||
263 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY ||
264 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
266
267 // Spell targets any friend (or self).
268 if (pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER ||
269 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_ALLY ||
270 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_TARGET_PARTY ||
271 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_CASTER_AREA_PARTY ||
272 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_UNIT_LASTTARGET_AREA_PARTY ||
273 pTempSpell->Effects[j].TargetA.GetTarget() == TARGET_SRC_CASTER)
275
276 // Make sure that this spell includes a damage effect.
277 if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_SCHOOL_DAMAGE ||
278 pTempSpell->Effects[j].Effect == SPELL_EFFECT_INSTAKILL ||
279 pTempSpell->Effects[j].Effect == SPELL_EFFECT_ENVIRONMENTAL_DAMAGE ||
280 pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEALTH_LEECH)
282
283 // Make sure that this spell includes a healing effect (or an apply aura with a periodic heal).
284 if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL ||
285 pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL_MAX_HEALTH ||
286 pTempSpell->Effects[j].Effect == SPELL_EFFECT_HEAL_MECHANICAL ||
287 (pTempSpell->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA && pTempSpell->Effects[j].ApplyAuraName == 8))
288 SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_HEALING - 1);
289
290 // Make sure that this spell applies an aura.
291 if (pTempSpell->Effects[j].Effect == SPELL_EFFECT_APPLY_AURA)
292 SpellSummary[i].Effects |= 1 << (SELECT_EFFECT_AURA - 1);
293 }
294 }
295}
@ SELECT_TARGET_ANY_FRIEND
Definition: CreatureAI.h:52
@ SELECT_TARGET_AOE_FRIEND
Definition: CreatureAI.h:51
@ SELECT_TARGET_ANY_ENEMY
Definition: CreatureAI.h:48
@ SELECT_TARGET_SINGLE_FRIEND
Definition: CreatureAI.h:50
@ SELECT_TARGET_SINGLE_ENEMY
Definition: CreatureAI.h:46
@ SELECT_TARGET_SELF
Definition: CreatureAI.h:44
@ SELECT_TARGET_AOE_ENEMY
Definition: CreatureAI.h:47
@ SELECT_EFFECT_AURA
Definition: CreatureAI.h:61
@ SELECT_EFFECT_HEALING
Definition: CreatureAI.h:60
@ SELECT_EFFECT_DAMAGE
Definition: CreatureAI.h:59
struct TSpellSummary * SpellSummary
#define sSpellMgr
Definition: SpellMgr.h:825
#define MAX_SPELL_EFFECTS
Definition: DBCStructure.h:1635
@ SPELL_EFFECT_HEALTH_LEECH
Definition: SharedDefines.h:787
@ SPELL_EFFECT_HEAL
Definition: SharedDefines.h:788
@ SPELL_EFFECT_HEAL_MAX_HEALTH
Definition: SharedDefines.h:845
@ SPELL_EFFECT_HEAL_MECHANICAL
Definition: SharedDefines.h:853
@ SPELL_EFFECT_ENVIRONMENTAL_DAMAGE
Definition: SharedDefines.h:785
@ SPELL_EFFECT_SCHOOL_DAMAGE
Definition: SharedDefines.h:780
@ SPELL_EFFECT_INSTAKILL
Definition: SharedDefines.h:779
@ SPELL_EFFECT_APPLY_AURA
Definition: SharedDefines.h:784
Targets
Definition: SharedDefines.h:1409
@ TARGET_UNIT_TARGET_PARTY
Definition: SharedDefines.h:1439
@ TARGET_DEST_DYNOBJ_ENEMY
Definition: SharedDefines.h:1432
@ TARGET_UNIT_CASTER_AREA_PARTY
Definition: SharedDefines.h:1424
@ TARGET_UNIT_DEST_AREA_ENEMY
Definition: SharedDefines.h:1421
@ TARGET_UNIT_TARGET_ALLY
Definition: SharedDefines.h:1425
@ TARGET_UNIT_SRC_AREA_ENEMY
Definition: SharedDefines.h:1420
@ TARGET_DEST_TARGET_ENEMY
Definition: SharedDefines.h:1457
@ TARGET_UNIT_TARGET_ENEMY
Definition: SharedDefines.h:1415
@ TARGET_UNIT_LASTTARGET_AREA_PARTY
Definition: SharedDefines.h:1441
@ TARGET_UNIT_CASTER
Definition: SharedDefines.h:1410
@ TARGET_SRC_CASTER
Definition: SharedDefines.h:1426
static void FillAISpellInfo()
Definition: UnitAI.cpp:289
Definition: ScriptedCreature.cpp:35
uint8 Targets
Definition: ScriptedCreature.cpp:36
uint8 Effects
Definition: ScriptedCreature.cpp:37
Definition: SpellInfo.h:314
std::array< SpellEffectInfo, MAX_SPELL_EFFECTS > Effects
Definition: SpellInfo.h:391

References TSpellSummary::Effects, SpellInfo::Effects, UnitAI::FillAISpellInfo(), MAX_SPELL_EFFECTS, SELECT_EFFECT_AURA, SELECT_EFFECT_DAMAGE, SELECT_EFFECT_HEALING, SELECT_TARGET_ANY_ENEMY, SELECT_TARGET_ANY_FRIEND, SELECT_TARGET_AOE_ENEMY, SELECT_TARGET_AOE_FRIEND, SELECT_TARGET_SELF, SELECT_TARGET_SINGLE_ENEMY, SELECT_TARGET_SINGLE_FRIEND, SPELL_EFFECT_APPLY_AURA, SPELL_EFFECT_ENVIRONMENTAL_DAMAGE, SPELL_EFFECT_HEAL, SPELL_EFFECT_HEAL_MAX_HEALTH, SPELL_EFFECT_HEAL_MECHANICAL, SPELL_EFFECT_HEALTH_LEECH, SPELL_EFFECT_INSTAKILL, SPELL_EFFECT_SCHOOL_DAMAGE, SpellSummary, sSpellMgr, TARGET_DEST_DYNOBJ_ENEMY, TARGET_DEST_TARGET_ENEMY, TARGET_SRC_CASTER, TARGET_UNIT_CASTER, TARGET_UNIT_CASTER_AREA_PARTY, TARGET_UNIT_DEST_AREA_ENEMY, TARGET_UNIT_LASTTARGET_AREA_PARTY, TARGET_UNIT_SRC_AREA_ENEMY, TARGET_UNIT_TARGET_ALLY, TARGET_UNIT_TARGET_ENEMY, TARGET_UNIT_TARGET_PARTY, and TSpellSummary::Targets.

Referenced by LoadDatabase().

◆ GetChatCommands()

Acore::ChatCommands::ChatCommandTable ScriptMgr::GetChatCommands ( )
23{
25
26 for (auto const& [scriptID, script] : ScriptRegistry<CommandScript>::ScriptPointerList)
27 {
28 Acore::ChatCommands::ChatCommandTable cmds = script->GetCommands();
29 std::move(cmds.begin(), cmds.end(), std::back_inserter(table));
30 }
31
32 return table;
33}
std::vector< ChatCommandBuilder > ChatCommandTable
Definition: ChatCommand.h:49

◆ GetCreatureAI()

CreatureAI * ScriptMgr::GetCreatureAI ( Creature creature)
157{
158 ASSERT(creature);
159
160 auto retAI = GetReturnAIScript<AllCreatureScript, CreatureAI>([creature](AllCreatureScript* script)
161 {
162 return script->GetCreatureAI(creature);
163 });
164
165 if (retAI)
166 {
167 return retAI;
168 }
169
170 auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId());
171 return tempScript ? tempScript->GetAI(creature) : nullptr;
172}
uint32 GetScriptId() const
Definition: Creature.cpp:2964
virtual CreatureAI * GetCreatureAI(Creature *) const
Definition: AllCreatureScript.h:101

References ASSERT, AllCreatureScript::GetCreatureAI(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ GetCustomArenaPersonalRating()

void ScriptMgr::GetCustomArenaPersonalRating ( Player const *  player,
uint8  slot,
uint32 rating 
) const
586{
587 ExecuteScript<PlayerScript>([&](PlayerScript* script)
588 {
589 script->GetCustomArenaPersonalRating(player, slot, rating);
590 });
591}
virtual void GetCustomArenaPersonalRating(Player const *, uint8, uint32 &) const
Definition: PlayerScript.h:219

References PlayerScript::GetCustomArenaPersonalRating().

◆ GetCustomGetArenaTeamId()

void ScriptMgr::GetCustomGetArenaTeamId ( Player const *  player,
uint8  slot,
uint32 teamID 
) const
578{
579 ExecuteScript<PlayerScript>([&](PlayerScript* script)
580 {
581 script->GetCustomGetArenaTeamId(player, slot, teamID);
582 });
583}
virtual void GetCustomGetArenaTeamId(Player const *, uint8, uint32 &) const
Definition: PlayerScript.h:216

References PlayerScript::GetCustomGetArenaTeamId().

◆ GetDialogStatus() [1/3]

uint32 ScriptMgr::GetDialogStatus ( Player player,
Creature creature 
)
148{
149 ASSERT(player);
150 ASSERT(creature);
151
152 auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId());
153 return tempScript ? tempScript->GetDialogStatus(player, creature) : DIALOG_STATUS_SCRIPTED_NO_STATUS;
154}
@ DIALOG_STATUS_SCRIPTED_NO_STATUS
Definition: QuestDef.h:125

References ASSERT, DIALOG_STATUS_SCRIPTED_NO_STATUS, ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ GetDialogStatus() [2/3]

uint32 ScriptMgr::GetDialogStatus ( Player player,
GameObject go 
)
126{
127 ASSERT(player);
128 ASSERT(go);
129
131 ClearGossipMenuFor(player);
132 return tempScript ? tempScript->GetDialogStatus(player, go) : DIALOG_STATUS_SCRIPTED_NO_STATUS;
133}
void ClearGossipMenuFor(Player *player)
Definition: ScriptedGossip.cpp:22
virtual uint32 GetScriptId() const
Definition: GameObject.cpp:2197

References ASSERT, ClearGossipMenuFor(), DIALOG_STATUS_SCRIPTED_NO_STATUS, ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ GetDialogStatus() [3/3]

void ScriptMgr::GetDialogStatus ( Player player,
Object questgiver 
)
180{
181 ExecuteScript<MiscScript>([&](MiscScript* script)
182 {
183 script->GetDialogStatus(player, questgiver);
184 });
185}
virtual void GetDialogStatus(Player *, Object *)
This hook called before get Quest Dialog Status.
Definition: MiscScript.h:72

References MiscScript::GetDialogStatus().

◆ GetGameObjectAI()

GameObjectAI * ScriptMgr::GetGameObjectAI ( GameObject go)
226{
227 ASSERT(go);
228
229 auto retAI = GetReturnAIScript<AllGameObjectScript, GameObjectAI>([go](AllGameObjectScript* script)
230 {
231 return script->GetGameObjectAI(go);
232 });
233
234 if (retAI)
235 {
236 return retAI;
237 }
238
240 return tempScript ? tempScript->GetAI(go) : nullptr;
241}
Definition: AllGameObjectScript.h:24
virtual GameObjectAI * GetGameObjectAI(GameObject *) const
Definition: AllGameObjectScript.h:86

References ASSERT, AllGameObjectScript::GetGameObjectAI(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ GetScriptCount()

uint32 ScriptMgr::GetScriptCount ( ) const
inline
129{ return _scriptCount; }

References _scriptCount.

Referenced by LoadDatabase().

◆ IfNormalReaction()

bool ScriptMgr::IfNormalReaction ( Unit const *  unit,
Unit const *  target,
ReputationRank repRank 
)
106{
107 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
108 {
109 return !script->IfNormalReaction(unit, target, repRank);
110 });
111
112 if (ret && *ret)
113 {
114 return false;
115 }
116
117 return true;
118}
virtual bool IfNormalReaction(Unit const *, Unit const *, ReputationRank &)
Definition: UnitScript.h:60

References UnitScript::IfNormalReaction().

◆ IncreaseScheduledScriptsCount()

uint32 ScriptMgr::IncreaseScheduledScriptsCount ( )
inline
524{ return ++_scheduledScripts; }

References _scheduledScripts.

◆ IncreaseScriptCount()

void ScriptMgr::IncreaseScriptCount ( )
inline
127{ ++_scriptCount; }

References _scriptCount.

◆ Initialize()

void ScriptMgr::Initialize ( )
63{
64 LOG_INFO("server.loading", "> Loading C++ scripts");
65 LOG_INFO("server.loading", " ");
66
68
69 // LFGScripts
71
73 "Script loader callback wasn't registered!");
74
76 "Modules loader callback wasn't registered!");
77
80}
#define LOG_INFO(filterType__,...)
Definition: Log.h:165
void AddSC_SmartScripts()
Registers scripts required by the SAI scripting system.
Definition: SmartAI.cpp:1263
void AddSC_LFGScripts()
Definition: LFGScripts.cpp:300

References _modules_loader_callback, _script_loader_callback, lfg::AddSC_LFGScripts(), AddSC_SmartScripts(), ASSERT, and LOG_INFO.

◆ instance()

ScriptMgr * ScriptMgr::instance ( )
static
57{
58 static ScriptMgr instance;
59 return &instance;
60}
Definition: ScriptMgr.h:111

References instance().

Referenced by AfterInstanceGameObjectCreate(), CanEnterMap(), instance(), and OnBeforeSetBossState().

◆ IsCheckNormalMatch()

bool ScriptMgr::IsCheckNormalMatch ( BattlegroundQueue queue,
Battleground bgTemplate,
BattlegroundBracketId  bracket_id,
uint32  minPlayers,
uint32  maxPlayers 
)
91{
92 auto ret = IsValidBoolScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
93 {
94 return script->IsCheckNormalMatch(queue, bgTemplate, bracket_id, minPlayers, maxPlayers);
95 });
96
97 return ReturnValidBool(ret, true);
98}
virtual bool IsCheckNormalMatch(BattlegroundQueue *, Battleground *, BattlegroundBracketId, uint32, uint32)
Definition: AllBattlegroundScript.h:64

References AllBattlegroundScript::IsCheckNormalMatch(), and ReturnValidBool().

◆ IsCompletedCriteria()

bool ScriptMgr::IsCompletedCriteria ( AchievementMgr mgr,
AchievementCriteriaEntry const *  achievementCriteria,
AchievementEntry const *  achievement,
CriteriaProgress const *  progress 
)
31{
32 auto ret = IsValidBoolScript<AchievementScript>([&](AchievementScript* script)
33 {
34 return !script->IsCompletedCriteria(mgr, achievementCriteria, achievement, progress);
35 });
36
37 if (ret && *ret)
38 {
39 return false;
40 }
41
42 return true;
43}
virtual bool IsCompletedCriteria(AchievementMgr *, AchievementCriteriaEntry const *, AchievementEntry const *, CriteriaProgress const *)
Definition: AchievementScript.h:36

References AchievementScript::IsCompletedCriteria().

◆ IsCustomBuildValuesUpdate()

bool ScriptMgr::IsCustomBuildValuesUpdate ( Unit const *  unit,
uint8  updateType,
ByteBuffer fieldBuffer,
Player const *  target,
uint16  index 
)
181{
182 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
183 {
184 return script->IsCustomBuildValuesUpdate(unit, updateType, fieldBuffer, target, index);
185 });
186
187 if (ret && *ret)
188 {
189 return true;
190 }
191
192 return false;
193}
virtual bool IsCustomBuildValuesUpdate(Unit const *, uint8, ByteBuffer &, Player const *, uint16)
Definition: UnitScript.h:70

References UnitScript::IsCustomBuildValuesUpdate().

◆ IsNeedModHealPercent()

bool ScriptMgr::IsNeedModHealPercent ( Unit const *  unit,
AuraEffect auraEff,
float &  doneTotalMod,
SpellInfo const *  spellProto 
)
151{
152 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
153 {
154 return !script->IsNeedModHealPercent(unit, auraEff, doneTotalMod, spellProto);
155 });
156
157 if (ret && *ret)
158 {
159 return false;
160 }
161
162 return true;
163}
virtual bool IsNeedModHealPercent(Unit const *, AuraEffect *, float &, SpellInfo const *)
Definition: UnitScript.h:66

References UnitScript::IsNeedModHealPercent().

◆ IsNeedModMeleeDamagePercent()

bool ScriptMgr::IsNeedModMeleeDamagePercent ( Unit const *  unit,
AuraEffect auraEff,
float &  doneTotalMod,
SpellInfo const *  spellProto 
)
136{
137 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
138 {
139 return !script->IsNeedModMeleeDamagePercent(unit, auraEff, doneTotalMod, spellProto);
140 });
141
142 if (ret && *ret)
143 {
144 return false;
145 }
146
147 return true;
148}
virtual bool IsNeedModMeleeDamagePercent(Unit const *, AuraEffect *, float &, SpellInfo const *)
Definition: UnitScript.h:64

References UnitScript::IsNeedModMeleeDamagePercent().

◆ IsNeedModSpellDamagePercent()

bool ScriptMgr::IsNeedModSpellDamagePercent ( Unit const *  unit,
AuraEffect auraEff,
float &  doneTotalMod,
SpellInfo const *  spellProto 
)
121{
122 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script)
123 {
124 return !script->IsNeedModSpellDamagePercent(unit, auraEff, doneTotalMod, spellProto);
125 });
126
127 if (ret && *ret)
128 {
129 return false;
130 }
131
132 return true;
133}
virtual bool IsNeedModSpellDamagePercent(Unit const *, AuraEffect *, float &, SpellInfo const *)
Definition: UnitScript.h:62

References UnitScript::IsNeedModSpellDamagePercent().

◆ IsRealmCompleted()

bool ScriptMgr::IsRealmCompleted ( AchievementGlobalMgr const *  globalmgr,
AchievementEntry const *  achievement,
std::chrono::system_clock::time_point  completionTime 
)
46{
47 auto ret = IsValidBoolScript<AchievementScript>([&](AchievementScript* script)
48 {
49 return !script->IsRealmCompleted(globalmgr, achievement, completionTime);
50 });
51
52 if (ret && *ret)
53 {
54 return false;
55 }
56
57 return true;
58}
virtual bool IsRealmCompleted(AchievementGlobalMgr const *, AchievementEntry const *, SystemTimePoint)
Definition: AchievementScript.h:38

References AchievementScript::IsRealmCompleted().

◆ IsScriptScheduled()

bool ScriptMgr::IsScriptScheduled ( ) const
inline
527{ return _scheduledScripts > 0; }

References _scheduledScripts.

◆ LoadDatabase()

void ScriptMgr::LoadDatabase ( )
135{
136 uint32 oldMSTime = getMSTime();
137
138 sScriptSystemMgr->LoadScriptWaypoints();
139
140 // Add all scripts that must be loaded after db/maps
155
157
159
160 LOG_INFO("server.loading", ">> Loaded {} C++ scripts in {} ms", GetScriptCount(), GetMSTimeDiffToNow(oldMSTime));
161 LOG_INFO("server.loading", " ");
162}
uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
Definition: Timer.h:131
uint32 getMSTime()
Definition: Timer.h:103
#define sScriptSystemMgr
Definition: ScriptSystem.h:91
void FillSpellSummary()
Definition: ScriptMgr.cpp:210
uint32 GetScriptCount() const
Definition: ScriptMgr.h:129
void CheckIfScriptsInDatabaseExist()
Definition: ScriptMgr.cpp:164
static void AddALScripts()
Definition: ScriptMgr.h:737

References ScriptRegistry< TScript >::AddALScripts(), CheckIfScriptsInDatabaseExist(), FillSpellSummary(), getMSTime(), GetMSTimeDiffToNow(), GetScriptCount(), LOG_INFO, and sScriptSystemMgr.

◆ ModifyHealReceived()

void ScriptMgr::ModifyHealReceived ( Unit target,
Unit healer,
uint32 addHealth,
SpellInfo const *  spellInfo 
)
82{
83 ExecuteScript<UnitScript>([&](UnitScript* script)
84 {
85 script->ModifyHealReceived(target, healer, heal, spellInfo);
86 });
87}
virtual void ModifyHealReceived(Unit *, Unit *, uint32 &, SpellInfo const *)
Definition: UnitScript.h:49

References UnitScript::ModifyHealReceived().

◆ ModifyMeleeDamage()

void ScriptMgr::ModifyMeleeDamage ( Unit target,
Unit attacker,
uint32 damage 
)
66{
67 ExecuteScript<UnitScript>([&](UnitScript* script)
68 {
69 script->ModifyMeleeDamage(target, attacker, damage);
70 });
71}
virtual void ModifyMeleeDamage(Unit *, Unit *, uint32 &)
Definition: UnitScript.h:43

References UnitScript::ModifyMeleeDamage().

◆ ModifyPeriodicDamageAurasTick()

void ScriptMgr::ModifyPeriodicDamageAurasTick ( Unit target,
Unit attacker,
uint32 damage,
SpellInfo const *  spellInfo 
)
58{
59 ExecuteScript<UnitScript>([&](UnitScript* script)
60 {
61 script->ModifyPeriodicDamageAurasTick(target, attacker, damage, spellInfo);
62 });
63}
virtual void ModifyPeriodicDamageAurasTick(Unit *, Unit *, uint32 &, SpellInfo const *)
Definition: UnitScript.h:40

References UnitScript::ModifyPeriodicDamageAurasTick().

◆ ModifySpellDamageTaken()

void ScriptMgr::ModifySpellDamageTaken ( Unit target,
Unit attacker,
int32 damage,
SpellInfo const *  spellInfo 
)
74{
75 ExecuteScript<UnitScript>([&](UnitScript* script)
76 {
77 script->ModifySpellDamageTaken(target, attacker, damage, spellInfo);
78 });
79}
virtual void ModifySpellDamageTaken(Unit *, Unit *, int32 &, SpellInfo const *)
Definition: UnitScript.h:46

References UnitScript::ModifySpellDamageTaken().

◆ NotAvoidSatisfy()

bool ScriptMgr::NotAvoidSatisfy ( Player player,
DungeonProgressionRequirements const *  ar,
uint32  target_map,
bool  report 
)
1329{
1330 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1331 {
1332 return !script->NotAvoidSatisfy(player, ar, target_map, report);
1333 });
1334
1335 if (ret && *ret)
1336 {
1337 return false;
1338 }
1339
1340 return true;
1341}
virtual bool NotAvoidSatisfy(Player *, DungeonProgressionRequirements const *, uint32, bool)
Definition: PlayerScript.h:387

References PlayerScript::NotAvoidSatisfy().

◆ NotSetArenaTeamInfoField()

bool ScriptMgr::NotSetArenaTeamInfoField ( Player player,
uint8  slot,
ArenaTeamInfoType  type,
uint32  value 
)
1408{
1409 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1410 {
1411 return !script->NotSetArenaTeamInfoField(player, slot, type, value);
1412 });
1413
1414 if (ret && *ret)
1415 {
1416 return false;
1417 }
1418
1419 return true;
1420}
virtual bool NotSetArenaTeamInfoField(Player *, uint8, ArenaTeamInfoType, uint32)
Definition: PlayerScript.h:404

References PlayerScript::NotSetArenaTeamInfoField().

◆ NotVisibleGloballyFor()

bool ScriptMgr::NotVisibleGloballyFor ( Player player,
Player const *  u 
)
1344{
1345 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1346 {
1347 return !script->NotVisibleGloballyFor(player, u);
1348 });
1349
1350 if (ret && *ret)
1351 {
1352 return false;
1353 }
1354
1355 return true;
1356}
virtual bool NotVisibleGloballyFor(Player *, Player const *)
Definition: PlayerScript.h:389

References PlayerScript::NotVisibleGloballyFor().

◆ OnAccountLogin()

void ScriptMgr::OnAccountLogin ( uint32  accountId)
23{
24 ExecuteScript<AccountScript>([&](AccountScript* script)
25 {
26 script->OnAccountLogin(accountId);
27 });
28}
virtual void OnAccountLogin(uint32)
Definition: AccountScript.h:30

References AccountScript::OnAccountLogin().

◆ OnAchievementComplete()

void ScriptMgr::OnAchievementComplete ( Player player,
AchievementEntry const *  achievement 
)
483{
484 ExecuteScript<PlayerScript>([&](PlayerScript* script)
485 {
486 script->OnAchiComplete(player, achievement);
487 });
488}
virtual void OnAchiComplete(Player *, AchievementEntry const *)
Definition: PlayerScript.h:174

References PlayerScript::OnAchiComplete().

◆ OnAchievementSave()

void ScriptMgr::OnAchievementSave ( CharacterDatabaseTransaction  trans,
Player player,
uint16  achiId,
CompletedAchievementData  achiData 
)
514{
515 ExecuteScript<PlayerScript>([&](PlayerScript* script)
516 {
517 script->OnAchiSave(trans, player, achiId, achiData);
518 });
519}
virtual void OnAchiSave(CharacterDatabaseTransaction, Player *, uint16, CompletedAchievementData)
Definition: PlayerScript.h:186

References PlayerScript::OnAchiSave().

◆ OnAddCreaturePassenger()

void ScriptMgr::OnAddCreaturePassenger ( Transport transport,
Creature creature 
)
34{
35 ASSERT(transport);
36 ASSERT(creature);
37
38 if (auto tempScript = ScriptRegistry<TransportScript>::GetScriptById(transport->GetScriptId()))
39 {
40 tempScript->OnAddCreaturePassenger(transport, creature);
41 }
42}

References ASSERT, and GameObject::GetScriptId().

◆ OnAddGroup()

void ScriptMgr::OnAddGroup ( BattlegroundQueue queue,
GroupQueueInfo ginfo,
uint32 index,
Player leader,
Group group,
BattlegroundTypeId  bgTypeId,
PvPDifficultyEntry const *  bracketEntry,
uint8  arenaType,
bool  isRated,
bool  isPremade,
uint32  arenaRating,
uint32  matchmakerRating,
uint32  arenaTeamId,
uint32  opponentsArenaTeamId 
)
72{
73 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
74 {
75 script->OnAddGroup(queue, ginfo, index, leader, group, bgTypeId, bracketEntry,
76 arenaType, isRated, isPremade, arenaRating, matchmakerRating, arenaTeamId, opponentsArenaTeamId);
77 });
78}
virtual void OnAddGroup(BattlegroundQueue *, GroupQueueInfo *, uint32 &, Player *, Group *, BattlegroundTypeId, PvPDifficultyEntry const *, uint8, bool, bool, uint32, uint32, uint32, uint32)
Definition: AllBattlegroundScript.h:59

References AllBattlegroundScript::OnAddGroup().

◆ OnAddPassenger() [1/2]

void ScriptMgr::OnAddPassenger ( Transport transport,
Player player 
)
23{
24 ASSERT(transport);
25 ASSERT(player);
26
27 if (auto tempScript = ScriptRegistry<TransportScript>::GetScriptById(transport->GetScriptId()))
28 {
29 tempScript->OnAddPassenger(transport, player);
30 }
31}

References ASSERT, and GameObject::GetScriptId().

◆ OnAddPassenger() [2/2]

void ScriptMgr::OnAddPassenger ( Vehicle veh,
Unit passenger,
int8  seatId 
)
68{
69 ASSERT(veh);
70 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
71 ASSERT(passenger);
72
74 {
75 tempScript->OnAddPassenger(veh, passenger, seatId);
76 }
77}
@ TYPEID_UNIT
Definition: ObjectGuid.h:37
TypeID GetTypeId() const
Definition: Object.h:121
Creature * ToCreature()
Definition: Object.h:197
Unit * GetBase() const
May be called from scripts.
Definition: Vehicle.h:39

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnAfterArenaRatingCalculation()

void ScriptMgr::OnAfterArenaRatingCalculation ( Battleground *const  bg,
int32 winnerMatchmakerChange,
int32 loserMatchmakerChange,
int32 winnerChange,
int32 loserChange 
)
82{
83 ExecuteScript<FormulaScript>([&](FormulaScript* script)
84 {
85 script->OnAfterArenaRatingCalculation(bg, winnerMatchmakerChange, loserMatchmakerChange, winnerChange, loserChange);
86 });
87}
Definition: FormulaScript.h:26
virtual void OnAfterArenaRatingCalculation(Battleground *const, int32 &, int32 &, int32 &, int32 &)
Definition: FormulaScript.h:53

References FormulaScript::OnAfterArenaRatingCalculation().

◆ OnAfterCalculateLootGroupAmount()

void ScriptMgr::OnAfterCalculateLootGroupAmount ( Player const *  player,
Loot loot,
uint16  lootMode,
uint32 groupAmount,
LootStore const &  store 
)
60{
61 ExecuteScript<GlobalScript>([&](GlobalScript* script)
62 {
63 script->OnAfterCalculateLootGroupAmount(player, loot, lootMode, groupAmount, store);
64 });
65}
virtual void OnAfterCalculateLootGroupAmount(Player const *, Loot &, uint16, uint32 &, LootStore const &)
Definition: GlobalScript.h:39

References GlobalScript::OnAfterCalculateLootGroupAmount().

◆ OnAfterConfigLoad()

void ScriptMgr::OnAfterConfigLoad ( bool  reload)
47{
48 ExecuteScript<WorldScript>([&](WorldScript* script)
49 {
50 script->OnAfterConfigLoad(reload);
51 });
52}
Definition: WorldScript.h:24
virtual void OnAfterConfigLoad(bool)
Definition: WorldScript.h:33

References WorldScript::OnAfterConfigLoad().

◆ OnAfterCreatureLoot()

void ScriptMgr::OnAfterCreatureLoot ( Player player)
948{
949 ExecuteScript<PlayerScript>([&](PlayerScript* script)
950 {
951 script->OnAfterCreatureLoot(player);
952 });
953}
virtual void OnAfterCreatureLoot(Player *)
It is used when an item is taken from a creature.
Definition: PlayerScript.h:553

References PlayerScript::OnAfterCreatureLoot().

◆ OnAfterCreatureLootMoney()

void ScriptMgr::OnAfterCreatureLootMoney ( Player player)
956{
957 ExecuteScript<PlayerScript>([&](PlayerScript* script)
958 {
959 script->OnAfterCreatureLootMoney(player);
960 });
961}
virtual void OnAfterCreatureLootMoney(Player *)
After a creature's money is taken.
Definition: PlayerScript.h:560

References PlayerScript::OnAfterCreatureLootMoney().

◆ OnAfterDatabaseLoadCreatureTemplates()

void ScriptMgr::OnAfterDatabaseLoadCreatureTemplates ( std::vector< CreatureTemplate * >  creatureTemplateStore)
31{
32 ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
33 {
34 script->OnAfterDatabaseLoadCreatureTemplates(creatureTemplates);
35 });
36}
Definition: DatabaseScript.h:25
virtual void OnAfterDatabaseLoadCreatureTemplates(std::vector< CreatureTemplate * >)
Called after all creature template data has been loaded from the database. This hook could be called ...
Definition: DatabaseScript.h:46

References DatabaseScript::OnAfterDatabaseLoadCreatureTemplates().

◆ OnAfterDatabasesLoaded()

void ScriptMgr::OnAfterDatabasesLoaded ( uint32  updateFlags)
23{
24 ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
25 {
26 script->OnAfterDatabasesLoaded(updateFlags);
27 });
28}
virtual void OnAfterDatabasesLoaded(uint32)
Called after all databases are loaded.
Definition: DatabaseScript.h:39

References DatabaseScript::OnAfterDatabasesLoaded().

◆ OnAfterGuardianInitStatsForLevel()

void ScriptMgr::OnAfterGuardianInitStatsForLevel ( Player player,
Guardian guardian 
)
742{
743 ExecuteScript<PlayerScript>([&](PlayerScript* script)
744 {
745 script->OnAfterGuardianInitStatsForLevel(player, guardian);
746 });
747}
virtual void OnAfterGuardianInitStatsForLevel(Player *, Guardian *)
Definition: PlayerScript.h:289

References PlayerScript::OnAfterGuardianInitStatsForLevel().

◆ OnAfterInitializeLockedDungeons()

void ScriptMgr::OnAfterInitializeLockedDungeons ( Player player)
114{
115 ExecuteScript<GlobalScript>([&](GlobalScript* script)
116 {
117 script->OnAfterInitializeLockedDungeons(player);
118 });
119}
virtual void OnAfterInitializeLockedDungeons(Player *)
Definition: GlobalScript.h:44

References GlobalScript::OnAfterInitializeLockedDungeons().

◆ OnAfterLootTemplateProcess()

void ScriptMgr::OnAfterLootTemplateProcess ( Loot loot,
LootTemplate const *  tab,
LootStore const &  store,
Player lootOwner,
bool  personal,
bool  noEmptyError,
uint16  lootMode 
)
156{
157 ExecuteScript<MiscScript>([&](MiscScript* script)
158 {
159 script->OnAfterLootTemplateProcess(loot, tab, store, lootOwner, personal, noEmptyError, lootMode);
160 });
161}
virtual void OnAfterLootTemplateProcess(Loot *, LootTemplate const *, LootStore const &, Player *, bool, bool, uint16)
Definition: MiscScript.h:60

References MiscScript::OnAfterLootTemplateProcess().

◆ OnAfterPlayerMoveItemFromInventory()

void ScriptMgr::OnAfterPlayerMoveItemFromInventory ( Player player,
Item it,
uint8  bag,
uint8  slot,
bool  update 
)
546{
547 ExecuteScript<PlayerScript>([&](PlayerScript* script)
548 {
549 script->OnAfterMoveItemFromInventory(player, it, bag, slot, update);
550 });
551}
virtual void OnAfterMoveItemFromInventory(Player *, Item *, uint8, uint8, bool)
Definition: PlayerScript.h:204

References PlayerScript::OnAfterMoveItemFromInventory().

◆ OnAfterPlayerSetVisibleItemSlot()

void ScriptMgr::OnAfterPlayerSetVisibleItemSlot ( Player player,
uint8  slot,
Item item 
)
538{
539 ExecuteScript<PlayerScript>([&](PlayerScript* script)
540 {
541 script->OnAfterSetVisibleItemSlot(player, slot, item);
542 });
543}
virtual void OnAfterSetVisibleItemSlot(Player *, uint8, Item *)
Definition: PlayerScript.h:201

References PlayerScript::OnAfterSetVisibleItemSlot().

◆ OnAfterRefCount()

void ScriptMgr::OnAfterRefCount ( Player const *  player,
Loot loot,
bool  canRate,
uint16  lootMode,
LootStoreItem LootStoreItem,
uint32 maxcount,
LootStore const &  store 
)
52{
53 ExecuteScript<GlobalScript>([&](GlobalScript* script)
54 {
55 script->OnAfterRefCount(player, LootStoreItem, loot, canRate, lootMode, maxcount, store);
56 });
57}
Definition: LootMgr.h:129
virtual void OnAfterRefCount(Player const *, LootStoreItem *, Loot &, bool, uint16, uint32 &, LootStore const &)
Definition: GlobalScript.h:38

References GlobalScript::OnAfterRefCount().

◆ OnAfterSpecSlotChanged()

void ScriptMgr::OnAfterSpecSlotChanged ( Player player,
uint8  newSlot 
)
158{
159 ExecuteScript<PlayerScript>([=](PlayerScript* script)
160 {
161 script->OnAfterSpecSlotChanged(player, newSlot);
162 });
163}
virtual void OnAfterSpecSlotChanged(Player *, uint8)
Definition: PlayerScript.h:68

References PlayerScript::OnAfterSpecSlotChanged().

◆ OnAfterStoreOrEquipNewItem()

void ScriptMgr::OnAfterStoreOrEquipNewItem ( Player player,
uint32  vendorslot,
Item item,
uint8  count,
uint8  bag,
uint8  slot,
ItemTemplate const *  pProto,
Creature pVendor,
VendorItem const *  crItem,
bool  bStore 
)
766{
767 ExecuteScript<PlayerScript>([&](PlayerScript* script)
768 {
769 script->OnAfterStoreOrEquipNewItem(player, vendorslot, item, count, bag, slot, pProto, pVendor, crItem, bStore);
770 });
771}
virtual void OnAfterStoreOrEquipNewItem(Player *, uint32, Item *, uint8, uint8, uint8, ItemTemplate const *, Creature *, VendorItem const *, bool)
Definition: PlayerScript.h:264

References PlayerScript::OnAfterStoreOrEquipNewItem().

◆ OnAfterUnloadAllMaps()

void ScriptMgr::OnAfterUnloadAllMaps ( )
119{
120 ExecuteScript<WorldScript>([](WorldScript* script)
121 {
122 script->OnAfterUnloadAllMaps();
123 });
124}
virtual void OnAfterUnloadAllMaps()
Called after all maps are unloaded from core.
Definition: WorldScript.h:62

References WorldScript::OnAfterUnloadAllMaps().

◆ OnAfterUpdateAttackPowerAndDamage()

void ScriptMgr::OnAfterUpdateAttackPowerAndDamage ( Player player,
float &  level,
float &  base_attPower,
float &  attPowerMod,
float &  attPowerMultiplier,
bool  ranged 
)
798{
799 ExecuteScript<PlayerScript>([&](PlayerScript* script)
800 {
801 script->OnAfterUpdateAttackPowerAndDamage(player, level, base_attPower, attPowerMod, attPowerMultiplier, ranged);
802 });
803}
virtual void OnAfterUpdateAttackPowerAndDamage(Player *, float &, float &, float &, float &, bool)
Definition: PlayerScript.h:271

References PlayerScript::OnAfterUpdateAttackPowerAndDamage().

◆ OnAfterUpdateEncounterState()

void ScriptMgr::OnAfterUpdateEncounterState ( Map map,
EncounterCreditType  type,
uint32  creditEntry,
Unit source,
Difficulty  difficulty_fixed,
DungeonEncounterList const *  encounters,
uint32  dungeonCompleted,
bool  updated 
)
122{
123 ExecuteScript<GlobalScript>([&](GlobalScript* script)
124 {
125 script->OnAfterUpdateEncounterState(map, type, creditEntry, source, difficulty_fixed, encounters, dungeonCompleted, updated);
126 });
127}
virtual void OnAfterUpdateEncounterState(Map *, EncounterCreditType, uint32, Unit *, Difficulty, std::list< DungeonEncounter const * > const *, uint32, bool)
Definition: GlobalScript.h:50

References GlobalScript::OnAfterUpdateEncounterState().

◆ OnAfterUpdateMaxHealth()

void ScriptMgr::OnAfterUpdateMaxHealth ( Player player,
float &  value 
)
782{
783 ExecuteScript<PlayerScript>([&](PlayerScript* script)
784 {
785 script->OnAfterUpdateMaxHealth(player, value);
786 });
787}
virtual void OnAfterUpdateMaxHealth(Player *, float &)
Definition: PlayerScript.h:268

References PlayerScript::OnAfterUpdateMaxHealth().

◆ OnAfterUpdateMaxPower()

void ScriptMgr::OnAfterUpdateMaxPower ( Player player,
Powers power,
float &  value 
)
774{
775 ExecuteScript<PlayerScript>([&](PlayerScript* script)
776 {
777 script->OnAfterUpdateMaxPower(player, power, value);
778 });
779}
virtual void OnAfterUpdateMaxPower(Player *, Powers &, float &)
Definition: PlayerScript.h:266

References PlayerScript::OnAfterUpdateMaxPower().

◆ OnAllowedForPlayerLootCheck()

bool ScriptMgr::OnAllowedForPlayerLootCheck ( Player const *  player,
ObjectGuid  source 
)
176{
177 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
178 {
179 return script->OnAllowedForPlayerLootCheck(player, source);
180 });
181
182 if (ret && *ret)
183 {
184 return false;
185 }
186
187 return true;
188}
virtual bool OnAllowedForPlayerLootCheck(Player const *, ObjectGuid)
Definition: GlobalScript.h:65

References GlobalScript::OnAllowedForPlayerLootCheck().

◆ OnAllowedToLootContainerCheck()

bool ScriptMgr::OnAllowedToLootContainerCheck ( Player const *  player,
ObjectGuid  source 
)
191{
192 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
193 {
194 return script->OnAllowedToLootContainerCheck(player, source);
195 });
196
197 if (ret && *ret)
198 {
199 return false;
200 }
201
202 return true;
203}
virtual bool OnAllowedToLootContainerCheck(Player const *, ObjectGuid)
Definition: GlobalScript.h:68

References GlobalScript::OnAllowedToLootContainerCheck().

◆ OnApplyAmmoBonuses()

void ScriptMgr::OnApplyAmmoBonuses ( Player player,
ItemTemplate const *  proto,
float &  currentAmmoDPS 
)
1208{
1209 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1210 {
1211 script->OnApplyAmmoBonuses(player, proto, currentAmmoDPS);
1212 });
1213}
virtual void OnApplyAmmoBonuses(Player *, ItemTemplate const *, float &)
Definition: PlayerScript.h:369

References PlayerScript::OnApplyAmmoBonuses().

◆ OnAreaTrigger()

bool ScriptMgr::OnAreaTrigger ( Player player,
AreaTrigger const *  trigger 
)
25{
26 ASSERT(player);
27 ASSERT(trigger);
28
29 auto ret = IsValidBoolScript<ElunaScript>([&](ElunaScript* script)
30 {
31 return script->CanAreaTrigger(player, trigger);
32 });
33
34 if (ret && *ret)
35 {
36 return false;
37 }
38
39 auto tempScript = ScriptRegistry<AreaTriggerScript>::GetScriptById(sObjectMgr->GetAreaTriggerScriptId(trigger->entry));
40 return tempScript ? tempScript->OnTrigger(player, trigger) : false;
41}
Definition: ElunaScript.h:24
virtual bool CanAreaTrigger(Player *, AreaTrigger const *)
Definition: ElunaScript.h:39

◆ OnArenaQueueIdToArenaType()

void ScriptMgr::OnArenaQueueIdToArenaType ( const BattlegroundQueueTypeId  bgQueueTypeId,
uint8 ArenaType 
)
47{
48 ExecuteScript<ArenaTeamScript>([&](ArenaTeamScript* script)
49 {
50 script->OnQueueIdToArenaType(bgQueueTypeId, ArenaType);
51 });
52}
ArenaType
Definition: Battleground.h:211
Definition: ArenaTeamScript.h:25
virtual void OnQueueIdToArenaType(const BattlegroundQueueTypeId, uint8 &)
Definition: ArenaTeamScript.h:35

References ArenaTeamScript::OnQueueIdToArenaType().

◆ OnArenaTypeIDToQueueID()

void ScriptMgr::OnArenaTypeIDToQueueID ( const BattlegroundTypeId  bgTypeId,
const uint8  arenaType,
uint32 queueTypeID 
)
39{
40 ExecuteScript<ArenaTeamScript>([&](ArenaTeamScript* script)
41 {
42 script->OnTypeIDToQueueID(bgTypeId, arenaType, queueTypeID);
43 });
44}
virtual void OnTypeIDToQueueID(const BattlegroundTypeId, const uint8, uint32 &)
Definition: ArenaTeamScript.h:34

References ArenaTeamScript::OnTypeIDToQueueID().

◆ OnAuctionAdd()

void ScriptMgr::OnAuctionAdd ( AuctionHouseObject ah,
AuctionEntry entry 
)
23{
24 ASSERT(ah);
25 ASSERT(entry);
26
27 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
28 {
29 script->OnAuctionAdd(ah, entry);
30 });
31}
Definition: AuctionHouseScript.h:24
virtual void OnAuctionAdd(AuctionHouseObject *, AuctionEntry *)
Definition: AuctionHouseScript.h:30

References ASSERT, and AuctionHouseScript::OnAuctionAdd().

◆ OnAuctionExpire()

void ScriptMgr::OnAuctionExpire ( AuctionHouseObject ah,
AuctionEntry entry 
)
56{
57 ASSERT(ah);
58 ASSERT(entry);
59
60 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
61 {
62 script->OnAuctionExpire(ah, entry);
63 });
64}
virtual void OnAuctionExpire(AuctionHouseObject *, AuctionEntry *)
Definition: AuctionHouseScript.h:39

References ASSERT, and AuctionHouseScript::OnAuctionExpire().

◆ OnAuctionRemove()

void ScriptMgr::OnAuctionRemove ( AuctionHouseObject ah,
AuctionEntry entry 
)
34{
35 ASSERT(ah);
36 ASSERT(entry);
37
38 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
39 {
40 script->OnAuctionRemove(ah, entry);
41 });
42}
virtual void OnAuctionRemove(AuctionHouseObject *, AuctionEntry *)
Definition: AuctionHouseScript.h:33

References ASSERT, and AuctionHouseScript::OnAuctionRemove().

◆ OnAuctionSuccessful()

void ScriptMgr::OnAuctionSuccessful ( AuctionHouseObject ah,
AuctionEntry entry 
)
45{
46 ASSERT(ah);
47 ASSERT(entry);
48
49 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
50 {
51 script->OnAuctionSuccessful(ah, entry);
52 });
53}
virtual void OnAuctionSuccessful(AuctionHouseObject *, AuctionEntry *)
Definition: AuctionHouseScript.h:36

References ASSERT, and AuctionHouseScript::OnAuctionSuccessful().

◆ OnAuraApply()

void ScriptMgr::OnAuraApply ( Unit unit,
Aura aura 
)
248{
249 ExecuteScript<UnitScript>([&](UnitScript* script)
250 {
251 script->OnAuraApply(unit, aura);
252 });
253}
virtual void OnAuraApply(Unit *, Aura *)
Definition: UnitScript.h:56

References UnitScript::OnAuraApply().

◆ OnAuraRemove()

void ScriptMgr::OnAuraRemove ( Unit unit,
AuraApplication aurApp,
AuraRemoveMode  mode 
)
98{
99 ExecuteScript<UnitScript>([&](UnitScript* script)
100 {
101 script->OnAuraRemove(unit, aurApp, mode);
102 });
103}
virtual void OnAuraRemove(Unit *, AuraApplication *, AuraRemoveMode)
Definition: UnitScript.h:58

References UnitScript::OnAuraRemove().

◆ OnBaseGainCalculation()

void ScriptMgr::OnBaseGainCalculation ( uint32 gain,
uint8  playerLevel,
uint8  mobLevel,
ContentLevels  content 
)
55{
56 ExecuteScript<FormulaScript>([&](FormulaScript* script)
57 {
58 script->OnBaseGainCalculation(gain, playerLevel, mobLevel, content);
59 });
60}
virtual void OnBaseGainCalculation(uint32 &, uint8, uint8, ContentLevels)
Definition: FormulaScript.h:44

References FormulaScript::OnBaseGainCalculation().

◆ OnBattlegroundAddPlayer()

void ScriptMgr::OnBattlegroundAddPlayer ( Battleground bg,
Player player 
)
47{
48 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
49 {
50 script->OnBattlegroundAddPlayer(bg, player);
51 });
52}
virtual void OnBattlegroundAddPlayer(Battleground *, Player *)
Definition: AllBattlegroundScript.h:49

References AllBattlegroundScript::OnBattlegroundAddPlayer().

◆ OnBattlegroundBeforeAddPlayer()

void ScriptMgr::OnBattlegroundBeforeAddPlayer ( Battleground bg,
Player player 
)
55{
56 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
57 {
58 script->OnBattlegroundBeforeAddPlayer(bg, player);
59 });
60}
virtual void OnBattlegroundBeforeAddPlayer(Battleground *, Player *)
Definition: AllBattlegroundScript.h:52

References AllBattlegroundScript::OnBattlegroundBeforeAddPlayer().

◆ OnBattlegroundCreate()

void ScriptMgr::OnBattlegroundCreate ( Battleground bg)
155{
156 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
157 {
158 script->OnBattlegroundCreate(bg);
159 });
160}
virtual void OnBattlegroundCreate(Battleground *)
This hook runs after Battleground create.
Definition: AllBattlegroundScript.h:109

References AllBattlegroundScript::OnBattlegroundCreate().

◆ OnBattlegroundDesertion()

void ScriptMgr::OnBattlegroundDesertion ( Player player,
BattlegroundDesertionType const  desertionType 
)
63{
64 ExecuteScript<PlayerScript>([&](PlayerScript* script)
65 {
66 script->OnBattlegroundDesertion(player, desertionType);
67 });
68}
virtual void OnBattlegroundDesertion(Player *, BattlegroundDesertionType const)
Definition: PlayerScript.h:38

References PlayerScript::OnBattlegroundDesertion().

◆ OnBattlegroundDestroy()

void ScriptMgr::OnBattlegroundDestroy ( Battleground bg)
147{
148 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
149 {
150 script->OnBattlegroundDestroy(bg);
151 });
152}
virtual void OnBattlegroundDestroy(Battleground *)
This hook runs before Battleground destroy.
Definition: AllBattlegroundScript.h:102

References AllBattlegroundScript::OnBattlegroundDestroy().

◆ OnBattlegroundEnd()

void ScriptMgr::OnBattlegroundEnd ( Battleground bg,
TeamId  winnerTeamId 
)
139{
140 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
141 {
142 script->OnBattlegroundEnd(bg, winnerTeam);
143 });
144}
virtual void OnBattlegroundEnd(Battleground *, TeamId)
This hook runs after end Battleground.
Definition: AllBattlegroundScript.h:95

References AllBattlegroundScript::OnBattlegroundEnd().

◆ OnBattlegroundEndReward()

void ScriptMgr::OnBattlegroundEndReward ( Battleground bg,
Player player,
TeamId  winnerTeamId 
)
31{
32 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
33 {
34 script->OnBattlegroundEndReward(bg, player, winnerTeamId);
35 });
36}
virtual void OnBattlegroundEndReward(Battleground *, Player *, TeamId)
Definition: AllBattlegroundScript.h:43

References AllBattlegroundScript::OnBattlegroundEndReward().

◆ OnBattlegroundRemovePlayerAtLeave()

void ScriptMgr::OnBattlegroundRemovePlayerAtLeave ( Battleground bg,
Player player 
)
63{
64 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
65 {
66 script->OnBattlegroundRemovePlayerAtLeave(bg, player);
67 });
68}
virtual void OnBattlegroundRemovePlayerAtLeave(Battleground *, Player *)
Definition: AllBattlegroundScript.h:55

References AllBattlegroundScript::OnBattlegroundRemovePlayerAtLeave().

◆ OnBattlegroundStart()

void ScriptMgr::OnBattlegroundStart ( Battleground bg)
23{
24 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
25 {
26 script->OnBattlegroundStart(bg);
27 });
28}
virtual void OnBattlegroundStart(Battleground *)
This hook runs before start Battleground.
Definition: AllBattlegroundScript.h:40

References AllBattlegroundScript::OnBattlegroundStart().

◆ OnBattlegroundUpdate()

void ScriptMgr::OnBattlegroundUpdate ( Battleground bg,
uint32  diff 
)
39{
40 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
41 {
42 script->OnBattlegroundUpdate(bg, diff);
43 });
44}
virtual void OnBattlegroundUpdate(Battleground *, uint32)
Definition: AllBattlegroundScript.h:46

References AllBattlegroundScript::OnBattlegroundUpdate().

◆ OnBeforeAchievementComplete()

bool ScriptMgr::OnBeforeAchievementComplete ( Player player,
AchievementEntry const *  achievement 
)
468{
469 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
470 {
471 return !script->OnBeforeAchiComplete(player, achievement);
472 });
473
474 if (ret && *ret)
475 {
476 return false;
477 }
478
479 return true;
480}
virtual bool OnBeforeAchiComplete(Player *, AchievementEntry const *)
Definition: PlayerScript.h:177

References PlayerScript::OnBeforeAchiComplete().

◆ OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player bidder,
uint32 bidder_accId,
bool &  sendMail 
)
107{
108 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
109 {
110 script->OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(auctionHouseMgr, auction, bidder, bidder_accId, sendMail);
111 });
112}
virtual void OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, bool &)
Definition: AuctionHouseScript.h:57

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionCancelledToBidderMail().

◆ OnBeforeAuctionHouseMgrSendAuctionExpiredMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionExpiredMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player owner,
uint32 owner_accId,
bool &  sendNotification,
bool &  sendMail 
)
91{
92 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
93 {
94 script->OnBeforeAuctionHouseMgrSendAuctionExpiredMail(auctionHouseMgr, auction, owner, owner_accId, sendNotification, sendMail);
95 });
96}
virtual void OnBeforeAuctionHouseMgrSendAuctionExpiredMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, bool &, bool &)
Definition: AuctionHouseScript.h:51

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionExpiredMail().

◆ OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player oldBidder,
uint32 oldBidder_accId,
Player newBidder,
uint32 newPrice,
bool &  sendNotification,
bool &  sendMail 
)
99{
100 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
101 {
102 script->OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(auctionHouseMgr, auction, oldBidder, oldBidder_accId, newBidder, newPrice, sendNotification, sendMail);
103 });
104}
virtual void OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, Player *, uint32 &, bool &, bool &)
Definition: AuctionHouseScript.h:54

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionOutbiddedMail().

◆ OnBeforeAuctionHouseMgrSendAuctionSalePendingMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionSalePendingMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player owner,
uint32 owner_accId,
bool &  sendMail 
)
75{
76 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
77 {
78 script->OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(auctionHouseMgr, auction, owner, owner_accId, sendMail);
79 });
80}
virtual void OnBeforeAuctionHouseMgrSendAuctionSalePendingMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, bool &)
Definition: AuctionHouseScript.h:45

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionSalePendingMail().

◆ OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player owner,
uint32 owner_accId,
uint32 profit,
bool &  sendNotification,
bool &  updateAchievementCriteria,
bool &  sendMail 
)
83{
84 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
85 {
86 script->OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(auctionHouseMgr, auction, owner, owner_accId, profit, sendNotification, updateAchievementCriteria, sendMail);
87 });
88}
virtual void OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, uint32 &, bool &, bool &, bool &)
Definition: AuctionHouseScript.h:48

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionSuccessfulMail().

◆ OnBeforeAuctionHouseMgrSendAuctionWonMail()

void ScriptMgr::OnBeforeAuctionHouseMgrSendAuctionWonMail ( AuctionHouseMgr auctionHouseMgr,
AuctionEntry auction,
Player bidder,
uint32 bidder_accId,
bool &  sendNotification,
bool &  updateAchievementCriteria,
bool &  sendMail 
)
67{
68 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
69 {
70 script->OnBeforeAuctionHouseMgrSendAuctionWonMail(auctionHouseMgr, auction, bidder, bidder_accId, sendNotification, updateAchievementCriteria, sendMail);
71 });
72}
virtual void OnBeforeAuctionHouseMgrSendAuctionWonMail(AuctionHouseMgr *, AuctionEntry *, Player *, uint32 &, bool &, bool &, bool &)
Definition: AuctionHouseScript.h:42

References AuctionHouseScript::OnBeforeAuctionHouseMgrSendAuctionWonMail().

◆ OnBeforeAuctionHouseMgrUpdate()

void ScriptMgr::OnBeforeAuctionHouseMgrUpdate ( )
115{
116 ExecuteScript<AuctionHouseScript>([&](AuctionHouseScript* script)
117 {
119 });
120}
virtual void OnBeforeAuctionHouseMgrUpdate()
Definition: AuctionHouseScript.h:60

References AuctionHouseScript::OnBeforeAuctionHouseMgrUpdate().

◆ OnBeforeAuraRankForLevel()

void ScriptMgr::OnBeforeAuraRankForLevel ( SpellInfo const *  spellInfo,
SpellInfo const *  latestSpellInfo,
uint8  level 
)
130{
131 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
132 {
133 script->OnBeforeAuraRankForLevel(spellInfo, latestSpellInfo, level);
134 });
135}
virtual void OnBeforeAuraRankForLevel(SpellInfo const *, SpellInfo const *, uint8)
Definition: AllSpellScript.h:53

References AllSpellScript::OnBeforeAuraRankForLevel().

◆ OnBeforeBuyItemFromVendor()

void ScriptMgr::OnBeforeBuyItemFromVendor ( Player player,
ObjectGuid  vendorguid,
uint32  vendorslot,
uint32 item,
uint8  count,
uint8  bag,
uint8  slot 
)
758{
759 ExecuteScript<PlayerScript>([&](PlayerScript* script)
760 {
761 script->OnBeforeBuyItemFromVendor(player, vendorguid, vendorslot, item, count, bag, slot);
762 });
763}
virtual void OnBeforeBuyItemFromVendor(Player *, ObjectGuid, uint32, uint32 &, uint8, uint8, uint8)
Definition: PlayerScript.h:258

References PlayerScript::OnBeforeBuyItemFromVendor().

◆ OnBeforeCheckCriteria()

void ScriptMgr::OnBeforeCheckCriteria ( AchievementMgr mgr,
AchievementCriteriaEntryList const *  achievementCriteriaList 
)
61{
62 ExecuteScript<AchievementScript>([&](AchievementScript* script)
63 {
64 script->OnBeforeCheckCriteria(mgr, achievementCriteriaList);
65 });
66}
virtual void OnBeforeCheckCriteria(AchievementMgr *, std::list< AchievementCriteriaEntry const * > const *)
Definition: AchievementScript.h:40

References AchievementScript::OnBeforeCheckCriteria().

◆ OnBeforeChooseGraveyard()

void ScriptMgr::OnBeforeChooseGraveyard ( Player player,
TeamId  teamId,
bool  nearCorpse,
uint32 graveyardOverride 
)
1508{
1509 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1510 {
1511 script->OnBeforeChooseGraveyard(player, teamId, nearCorpse, graveyardOverride);
1512 });
1513}
virtual void OnBeforeChooseGraveyard(Player *, TeamId, bool, uint32 &)
Definition: PlayerScript.h:419

References PlayerScript::OnBeforeChooseGraveyard().

◆ OnBeforeConfigLoad()

void ScriptMgr::OnBeforeConfigLoad ( bool  reload)
39{
40 ExecuteScript<WorldScript>([&](WorldScript* script)
41 {
42 script->OnBeforeConfigLoad(reload);
43 });
44}
virtual void OnBeforeConfigLoad(bool)
Definition: WorldScript.h:39

References WorldScript::OnBeforeConfigLoad().

◆ OnBeforeCreateInstanceScript()

void ScriptMgr::OnBeforeCreateInstanceScript ( InstanceMap instanceMap,
InstanceScript instanceData,
bool  load,
std::string  data,
uint32  completedEncounterMask 
)
283{
284 ExecuteScript<AllMapScript>([&](AllMapScript* script)
285 {
286 script->OnBeforeCreateInstanceScript(instanceMap, instanceData, load, data, completedEncounterMask);
287 });
288}
Definition: AllMapScript.h:24
virtual void OnBeforeCreateInstanceScript(InstanceMap *, InstanceScript *, bool, std::string, uint32)
This hook called before create instance script.
Definition: AllMapScript.h:54

References AllMapScript::OnBeforeCreateInstanceScript().

◆ OnBeforeCreatureSelectLevel()

void ScriptMgr::OnBeforeCreatureSelectLevel ( const CreatureTemplate cinfo,
Creature creature,
uint8 level 
)
53{
54 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
55 {
56 script->OnBeforeCreatureSelectLevel(cinfo, creature, level);
57 });
58
59}
virtual void OnBeforeCreatureSelectLevel(const CreatureTemplate *, Creature *, uint8 &)
Definition: AllCreatureScript.h:33

References AllCreatureScript::OnBeforeCreatureSelectLevel().

◆ OnBeforeCriteriaProgress()

bool ScriptMgr::OnBeforeCriteriaProgress ( Player player,
AchievementCriteriaEntry const *  criteria 
)
491{
492 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
493 {
494 return !script->OnBeforeCriteriaProgress(player, criteria);
495 });
496
497 if (ret && *ret)
498 {
499 return false;
500 }
501
502 return true;
503}
virtual bool OnBeforeCriteriaProgress(Player *, AchievementCriteriaEntry const *)
Definition: PlayerScript.h:183

References PlayerScript::OnBeforeCriteriaProgress().

◆ OnBeforeDropAddItem()

void ScriptMgr::OnBeforeDropAddItem ( Player const *  player,
Loot loot,
bool  canRate,
uint16  lootMode,
LootStoreItem LootStoreItem,
LootStore const &  store 
)
68{
69 ExecuteScript<GlobalScript>([&](GlobalScript* script)
70 {
71 script->OnBeforeDropAddItem(player, loot, canRate, lootMode, LootStoreItem, store);
72 });
73}
virtual void OnBeforeDropAddItem(Player const *, Loot &, bool, uint16, LootStoreItem *, LootStore const &)
Definition: GlobalScript.h:40

References GlobalScript::OnBeforeDropAddItem().

◆ OnBeforeFillQuestLootItem()

void ScriptMgr::OnBeforeFillQuestLootItem ( Player player,
LootItem item 
)
610{
611 ExecuteScript<PlayerScript>([&](PlayerScript* script)
612 {
613 script->OnBeforeFillQuestLootItem(player, item);
614 });
615}
virtual void OnBeforeFillQuestLootItem(Player *, LootItem &)
Definition: PlayerScript.h:228

References PlayerScript::OnBeforeFillQuestLootItem().

◆ OnBeforeFinalizePlayerWorldSession()

void ScriptMgr::OnBeforeFinalizePlayerWorldSession ( uint32 cacheVersion)
55{
56 ExecuteScript<WorldScript>([&](WorldScript* script)
57 {
58 script->OnBeforeFinalizePlayerWorldSession(cacheVersion);
59 });
60}
virtual void OnBeforeFinalizePlayerWorldSession(uint32 &)
This hook runs before finalizing the player world session. Can be also used to mutate the cache versi...
Definition: WorldScript.h:69

References WorldScript::OnBeforeFinalizePlayerWorldSession().

◆ OnBeforeGuardianInitStatsForLevel()

void ScriptMgr::OnBeforeGuardianInitStatsForLevel ( Player player,
Guardian guardian,
CreatureTemplate const *  cinfo,
PetType petType 
)
734{
735 ExecuteScript<PlayerScript>([&](PlayerScript* script)
736 {
737 script->OnBeforeGuardianInitStatsForLevel(player, guardian, cinfo, petType);
738 });
739}
virtual void OnBeforeGuardianInitStatsForLevel(Player *, Guardian *, CreatureTemplate const *, PetType &)
Definition: PlayerScript.h:286

References PlayerScript::OnBeforeGuardianInitStatsForLevel().

◆ OnBeforeInitTalentForLevel()

void ScriptMgr::OnBeforeInitTalentForLevel ( Player player,
uint8 level,
uint32 talentPointsForLevel 
)
806{
807 ExecuteScript<PlayerScript>([&](PlayerScript* script)
808 {
809 script->OnBeforeInitTalentForLevel(player, level, talentPointsForLevel);
810 });
811}
virtual void OnBeforeInitTalentForLevel(Player *, uint8 &, uint32 &)
Definition: PlayerScript.h:273

References PlayerScript::OnBeforeInitTalentForLevel().

◆ OnBeforeLoadPetFromDB()

void ScriptMgr::OnBeforeLoadPetFromDB ( Player player,
uint32 petentry,
uint32 petnumber,
bool &  current,
bool &  forceLoadFromDB 
)
750{
751 ExecuteScript<PlayerScript>([&](PlayerScript* script)
752 {
753 script->OnBeforeLoadPetFromDB(player, petentry, petnumber, current, forceLoadFromDB);
754 });
755}
virtual void OnBeforeLoadPetFromDB(Player *, uint32 &, uint32 &, bool &, bool &)
Definition: PlayerScript.h:292

References PlayerScript::OnBeforeLoadPetFromDB().

◆ OnBeforeLootEqualChanced()

bool ScriptMgr::OnBeforeLootEqualChanced ( Player const *  player,
LootStoreItemList  EqualChanced,
Loot loot,
LootStore const &  store 
)
91{
92 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
93 {
94 return !script->OnBeforeLootEqualChanced(player, equalChanced, loot, store);
95 });
96
97 if (ret && *ret)
98 {
99 return false;
100 }
101
102 return true;
103}
virtual bool OnBeforeLootEqualChanced(Player const *, std::list< LootStoreItem * >, Loot &, LootStore const &)
Definition: GlobalScript.h:42

References GlobalScript::OnBeforeLootEqualChanced().

◆ OnBeforeLootMoney()

void ScriptMgr::OnBeforeLootMoney ( Player player,
Loot loot 
)
174{
175 ExecuteScript<PlayerScript>([&](PlayerScript* script)
176 {
177 script->OnBeforeLootMoney(player, loot);
178 });
179}
virtual void OnBeforeLootMoney(Player *, Loot *)
Definition: PlayerScript.h:78

References PlayerScript::OnBeforeLootMoney().

◆ OnBeforeMailDraftSendMailTo()

void ScriptMgr::OnBeforeMailDraftSendMailTo ( MailDraft mailDraft,
MailReceiver const &  receiver,
MailSender const &  sender,
MailCheckMask checked,
uint32 deliver_delay,
uint32 custom_expiration,
bool &  deleteMailItemsFromDB,
bool &  sendMail 
)
23{
24 ExecuteScript<MailScript>([&](MailScript* script)
25 {
26 script->OnBeforeMailDraftSendMailTo(mailDraft, receiver, sender, checked, deliver_delay, custom_expiration, deleteMailItemsFromDB, sendMail);\
27 });
28}
Definition: MailScript.h:24
virtual void OnBeforeMailDraftSendMailTo(MailDraft *, MailReceiver const &, MailSender const &, MailCheckMask &, uint32 &, uint32 &, bool &, bool &)
Definition: MailScript.h:30

References MailScript::OnBeforeMailDraftSendMailTo().

◆ OnBeforeOpenItem()

bool ScriptMgr::OnBeforeOpenItem ( Player player,
Item item 
)
665{
666 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
667 {
668 return !script->OnBeforeOpenItem(player, item);
669 });
670
671 if (ret && *ret)
672 {
673 return false;
674 }
675
676 return true;
677}
virtual bool OnBeforeOpenItem(Player *, Item *)
Definition: PlayerScript.h:246

References PlayerScript::OnBeforeOpenItem().

◆ OnBeforePlayerDurabilityRepair()

void ScriptMgr::OnBeforePlayerDurabilityRepair ( Player player,
ObjectGuid  npcGUID,
ObjectGuid  itemGUID,
float &  discountMod,
uint8  guildBank 
)
23{
24 ExecuteScript<PlayerScript>([&](PlayerScript* script)
25 {
26 script->OnBeforeDurabilityRepair(player, npcGUID, itemGUID, discountMod, guildBank);
27 });
28}
virtual void OnBeforeDurabilityRepair(Player *, ObjectGuid, ObjectGuid, float &, uint8)
Definition: PlayerScript.h:255

References PlayerScript::OnBeforeDurabilityRepair().

◆ OnBeforePlayerQuestComplete()

bool ScriptMgr::OnBeforePlayerQuestComplete ( Player player,
uint32  quest_id 
)
813{
814 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
815 {
816 return !script->OnBeforeQuestComplete(player, quest_id);
817 });
818
819 if (ret && *ret)
820 {
821 return false;
822 }
823
824 return true;
825}
virtual bool OnBeforeQuestComplete(Player *, uint32)
Definition: PlayerScript.h:249

References PlayerScript::OnBeforeQuestComplete().

◆ OnBeforePlayerTeleport()

bool ScriptMgr::OnBeforePlayerTeleport ( Player player,
uint32  mapid,
float  x,
float  y,
float  z,
float  orientation,
uint32  options,
Unit target 
)
421{
422 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
423 {
424 return !script->OnBeforeTeleport(player, mapid, x, y, z, orientation, options, target);
425 });
426
427 if (ret && *ret)
428 {
429 return false;
430 }
431
432 return true;
433}
virtual bool OnBeforeTeleport(Player *, uint32, float, float, float, float, uint32, Unit *)
Definition: PlayerScript.h:159

References PlayerScript::OnBeforeTeleport().

◆ OnBeforePlayerUpdate()

void ScriptMgr::OnBeforePlayerUpdate ( Player player,
uint32  p_time 
)
325{
326 ExecuteScript<PlayerScript>([&](PlayerScript* script)
327 {
328 script->OnBeforeUpdate(player, p_time);
329 });
330}
virtual void OnBeforeUpdate(Player *, uint32)
Definition: PlayerScript.h:71

References PlayerScript::OnBeforeUpdate().

◆ OnBeforeRollMeleeOutcomeAgainst()

void ScriptMgr::OnBeforeRollMeleeOutcomeAgainst ( Unit const *  attacker,
Unit const *  victim,
WeaponAttackType  attType,
int32 attackerMaxSkillValueForLevel,
int32 victimMaxSkillValueForLevel,
int32 attackerWeaponSkill,
int32 victimDefenseSkill,
int32 crit_chance,
int32 miss_chance,
int32 dodge_chance,
int32 parry_chance,
int32 block_chance 
)
90{
91 ExecuteScript<UnitScript>([&](UnitScript* script)
92 {
93 script->OnBeforeRollMeleeOutcomeAgainst(attacker, victim, attType, attackerMaxSkillValueForLevel, victimMaxSkillValueForLevel, attackerWeaponSkill, victimDefenseSkill, crit_chance, miss_chance, dodge_chance, parry_chance, block_chance);
94 });
95}
virtual void OnBeforeRollMeleeOutcomeAgainst(Unit const *, Unit const *, WeaponAttackType, int32 &, int32 &, int32 &, int32 &, int32 &, int32 &, int32 &, int32 &, int32 &)
Definition: UnitScript.h:54

References UnitScript::OnBeforeRollMeleeOutcomeAgainst().

◆ OnBeforeSendChatMessage()

void ScriptMgr::OnBeforeSendChatMessage ( Player player,
uint32 type,
uint32 lang,
std::string &  msg 
)
261{
262 ExecuteScript<PlayerScript>([&](PlayerScript* script)
263 {
264 script->OnBeforeSendChatMessage(player, type, lang, msg);
265 });
266}
virtual void OnBeforeSendChatMessage(Player *, uint32 &, uint32 &, std::string &)
Definition: PlayerScript.h:107

References PlayerScript::OnBeforeSendChatMessage().

◆ OnBeforeSendExitMessageArenaQueue()

bool ScriptMgr::OnBeforeSendExitMessageArenaQueue ( BattlegroundQueue queue,
GroupQueueInfo ginfo 
)
129{
130 auto ret = IsValidBoolScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
131 {
132 return !script->OnBeforeSendExitMessageArenaQueue(queue, ginfo);
133 });
134
135 return ReturnValidBool(ret);
136}
virtual bool OnBeforeSendExitMessageArenaQueue(BattlegroundQueue *, GroupQueueInfo *)
This hook runs before sending the exit message during the arena queue, allowing you to run extra oper...
Definition: AllBattlegroundScript.h:87

References AllBattlegroundScript::OnBeforeSendExitMessageArenaQueue(), and ReturnValidBool().

◆ OnBeforeSendJoinMessageArenaQueue()

bool ScriptMgr::OnBeforeSendJoinMessageArenaQueue ( BattlegroundQueue queue,
Player leader,
GroupQueueInfo ginfo,
PvPDifficultyEntry const *  bracketEntry,
bool  isRated 
)
119{
120 auto ret = IsValidBoolScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
121 {
122 return !script->OnBeforeSendJoinMessageArenaQueue(queue, leader, ginfo, bracketEntry, isRated);
123 });
124
125 return ReturnValidBool(ret);
126}
virtual bool OnBeforeSendJoinMessageArenaQueue(BattlegroundQueue *, Player *, GroupQueueInfo *, PvPDifficultyEntry const *, bool)
This hook runs before sending the join message during the arena queue, allowing you to run extra oper...
Definition: AllBattlegroundScript.h:78

References AllBattlegroundScript::OnBeforeSendJoinMessageArenaQueue(), and ReturnValidBool().

◆ OnBeforeSetBossState()

void ScriptMgr::OnBeforeSetBossState ( uint32  id,
EncounterState  newState,
EncounterState  oldState,
Map instance 
)

Called when any raid boss has their state updated (e.g. pull, reset, kill).

Careful checks for old- and newState are required, since it can fire multiple times and not only when combat starts/ends.

Parameters
idThe id of the boss in the [instance]
newStateThe new boss state to be applied to this boss
oldStateThe previously assigned state of this boss
instanceA pointer to the [map] object of the instance
228{
229 ExecuteScript<GlobalScript>([&](GlobalScript* script)
230 {
231 script->OnBeforeSetBossState(id, newState, oldState, instance);
232 });
233}
virtual void OnBeforeSetBossState(uint32, EncounterState, EncounterState, Map *)
Definition: GlobalScript.h:74

References instance(), and GlobalScript::OnBeforeSetBossState().

◆ OnBeforeStoreOrEquipNewItem()

void ScriptMgr::OnBeforeStoreOrEquipNewItem ( Player player,
uint32  vendorslot,
uint32 item,
uint8  count,
uint8  bag,
uint8  slot,
ItemTemplate const *  pProto,
Creature pVendor,
VendorItem const *  crItem,
bool  bStore 
)
835{
836 ExecuteScript<PlayerScript>([&](PlayerScript* script)
837 {
838 script->OnBeforeStoreOrEquipNewItem(player, vendorslot, item, count, bag, slot, pProto, pVendor, crItem, bStore);
839 });
840}
virtual void OnBeforeStoreOrEquipNewItem(Player *, uint32, uint32 &, uint8, uint8, uint8, ItemTemplate const *, Creature *, VendorItem const *, bool)
Definition: PlayerScript.h:261

References PlayerScript::OnBeforeStoreOrEquipNewItem().

◆ OnBeforeTempSummonInitStats()

void ScriptMgr::OnBeforeTempSummonInitStats ( Player player,
TempSummon tempSummon,
uint32 duration 
)
726{
727 ExecuteScript<PlayerScript>([&](PlayerScript* script)
728 {
729 script->OnBeforeTempSummonInitStats(player, tempSummon, duration);
730 });
731}
virtual void OnBeforeTempSummonInitStats(Player *, TempSummon *, uint32 &)
Definition: PlayerScript.h:283

References PlayerScript::OnBeforeTempSummonInitStats().

◆ OnBeforeUpdateArenaPoints()

void ScriptMgr::OnBeforeUpdateArenaPoints ( ArenaTeam at,
std::map< ObjectGuid, uint32 > &  ap 
)
44{
45 ExecuteScript<GlobalScript>([&](GlobalScript* script)
46 {
47 script->OnBeforeUpdateArenaPoints(at, ap);
48 });
49}
virtual void OnBeforeUpdateArenaPoints(ArenaTeam *, std::map< ObjectGuid, uint32 > &)
Definition: GlobalScript.h:47

References GlobalScript::OnBeforeUpdateArenaPoints().

◆ OnBeforeUpdateAttackPowerAndDamage()

void ScriptMgr::OnBeforeUpdateAttackPowerAndDamage ( Player player,
float &  level,
float &  val2,
bool  ranged 
)
790{
791 ExecuteScript<PlayerScript>([&](PlayerScript* script)
792 {
793 script->OnBeforeUpdateAttackPowerAndDamage(player, level, val2, ranged);
794 });
795}
virtual void OnBeforeUpdateAttackPowerAndDamage(Player *, float &, float &, bool)
Definition: PlayerScript.h:270

References PlayerScript::OnBeforeUpdateAttackPowerAndDamage().

◆ OnBeforeUpdatingPersonalRating()

void ScriptMgr::OnBeforeUpdatingPersonalRating ( int32 mod,
uint32  type 
)
90{
91 ExecuteScript<FormulaScript>([&](FormulaScript* script)
92 {
93 script->OnBeforeUpdatingPersonalRating(mod, type);
94 });
95}
virtual void OnBeforeUpdatingPersonalRating(int32 &, uint32)
Definition: FormulaScript.h:56

References FormulaScript::OnBeforeUpdatingPersonalRating().

◆ OnBeforeWorldInitialized()

void ScriptMgr::OnBeforeWorldInitialized ( )
111{
112 ExecuteScript<WorldScript>([&](WorldScript* script)
113 {
114 script->OnBeforeWorldInitialized();
115 });
116}
virtual void OnBeforeWorldInitialized()
This hook runs after all scripts loading and before itialized.
Definition: WorldScript.h:74

References WorldScript::OnBeforeWorldInitialized().

◆ OnBeforeWorldObjectSetPhaseMask()

void ScriptMgr::OnBeforeWorldObjectSetPhaseMask ( WorldObject const *  worldObject,
uint32 oldPhaseMask,
uint32 newPhaseMask,
bool &  useCombinedPhases,
bool &  update 
)
130{
131 ExecuteScript<GlobalScript>([&](GlobalScript* script)
132 {
133 script->OnBeforeWorldObjectSetPhaseMask(worldObject, oldPhaseMask, newPhaseMask, useCombinedPhases, update);
134 });
135}
virtual void OnBeforeWorldObjectSetPhaseMask(WorldObject const *, uint32 &, uint32 &, bool &, bool &)
Definition: GlobalScript.h:53

References GlobalScript::OnBeforeWorldObjectSetPhaseMask().

◆ OnBuildValuesUpdate()

bool ScriptMgr::OnBuildValuesUpdate ( Unit const *  unit,
uint8  updateType,
ByteBuffer fieldBuffer,
Player target,
uint16  index 
)
196{
197 auto ret = IsValidBoolScript<UnitScript>([&](UnitScript* script) { return script->OnBuildValuesUpdate(unit, updateType, fieldBuffer, target, index); });
198
199 if (ret && *ret)
200 {
201 return true;
202 }
203
204 return false;
205}
virtual bool OnBuildValuesUpdate(Unit const *, uint8, ByteBuffer &, Player *, uint16)
Definition: UnitScript.h:72

References UnitScript::OnBuildValuesUpdate().

◆ OnCalcMaxDuration()

void ScriptMgr::OnCalcMaxDuration ( Aura const *  aura,
int32 maxDuration 
)
23{
24 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
25 {
26 script->OnCalcMaxDuration(aura, maxDuration);
27 });
28}
virtual void OnCalcMaxDuration(Aura const *, int32 &)
Definition: AllSpellScript.h:35

References AllSpellScript::OnCalcMaxDuration().

◆ OnCalculateMaxTalentPointsForLevel()

void ScriptMgr::OnCalculateMaxTalentPointsForLevel ( Pet pet,
uint8  level,
uint8 points 
)
31{
32 ExecuteScript<PetScript>([&](PetScript* script)
33 {
34 script->OnCalculateMaxTalentPointsForLevel(pet, level, points);
35 });
36}
virtual void OnCalculateMaxTalentPointsForLevel(Pet *, uint8, uint8 &)
Definition: PetScript.h:33

References PetScript::OnCalculateMaxTalentPointsForLevel().

◆ OnCanPlayerFlyInZone()

bool ScriptMgr::OnCanPlayerFlyInZone ( Player player,
uint32  mapId,
uint32  zoneId,
SpellInfo const *  bySpell 
)
79{
80 auto ret = IsValidBoolScript<PlayerScript>([player, mapId, zoneId, bySpell](PlayerScript* script)
81 {
82 return !script->OnCanPlayerFlyInZone(player, mapId, zoneId, bySpell);
83 });
84
85 if (ret && *ret)
86 {
87 return false;
88 }
89
90 return true;
91}
virtual bool OnCanPlayerFlyInZone(Player *, uint32, uint32, SpellInfo const *)
This hook called before other CanFlyChecks are applied.
Definition: PlayerScript.h:526

References PlayerScript::OnCanPlayerFlyInZone().

◆ OnCastItemCombatSpell()

bool ScriptMgr::OnCastItemCombatSpell ( Player player,
Unit victim,
SpellInfo const *  spellInfo,
Item item 
)
103{
104 ASSERT(player);
105 ASSERT(victim);
106 ASSERT(spellInfo);
107 ASSERT(item);
108
110 return tempScript ? tempScript->OnCastItemCombatSpell(player, victim, spellInfo, item) : true;
111}
uint32 GetScriptId() const
Definition: Item.h:355

References ASSERT, ScriptRegistry< TScript >::GetScriptById(), and Item::GetScriptId().

◆ OnColorCodeCalculation()

void ScriptMgr::OnColorCodeCalculation ( XPColorChar color,
uint8  playerLevel,
uint8  mobLevel 
)
39{
40 ExecuteScript<FormulaScript>([&](FormulaScript* script)
41 {
42 script->OnColorCodeCalculation(color, playerLevel, mobLevel);
43 });
44}
virtual void OnColorCodeCalculation(XPColorChar &, uint8, uint8)
Definition: FormulaScript.h:38

References FormulaScript::OnColorCodeCalculation().

◆ OnConditionCheck()

bool ScriptMgr::OnConditionCheck ( Condition condition,
ConditionSourceInfo sourceInfo 
)
22{
23 ASSERT(condition);
24
25 auto tempScript = ScriptRegistry<ConditionScript>::GetScriptById(condition->ScriptId);
26 return tempScript ? tempScript->OnConditionCheck(condition, sourceInfo) : true;
27}
uint32 ScriptId
Definition: ConditionMgr.h:207

References ASSERT, ScriptRegistry< TScript >::GetScriptById(), and Condition::ScriptId.

◆ OnConstructGroup()

void ScriptMgr::OnConstructGroup ( Group origin)
78{
79 ExecuteScript<MiscScript>([&](MiscScript* script)
80 {
81 script->OnConstructGroup(origin);
82 });
83}
virtual void OnConstructGroup(Group *)
Definition: MiscScript.h:40

References MiscScript::OnConstructGroup().

◆ OnConstructInstanceSave()

void ScriptMgr::OnConstructInstanceSave ( InstanceSave origin)
94{
95 ExecuteScript<MiscScript>([&](MiscScript* script)
96 {
97 script->OnConstructInstanceSave(origin);
98 });
99}
virtual void OnConstructInstanceSave(InstanceSave *)
Definition: MiscScript.h:44

References MiscScript::OnConstructInstanceSave().

◆ OnConstructObject()

void ScriptMgr::OnConstructObject ( Object origin)
46{
47 ExecuteScript<MiscScript>([&](MiscScript* script)
48 {
49 script->OnConstructObject(origin);
50 });
51}
virtual void OnConstructObject(Object *)
Definition: MiscScript.h:32

References MiscScript::OnConstructObject().

◆ OnConstructPlayer()

void ScriptMgr::OnConstructPlayer ( Player origin)
62{
63 ExecuteScript<MiscScript>([&](MiscScript* script)
64 {
65 script->OnConstructPlayer(origin);
66 });
67}
virtual void OnConstructPlayer(Player *)
Definition: MiscScript.h:36

References MiscScript::OnConstructPlayer().

◆ OnCreate()

void ScriptMgr::OnCreate ( Group group,
Player leader 
)
88{
89 ExecuteScript<GroupScript>([&](GroupScript* script)
90 {
91 script->OnCreate(group, leader);
92 });
93}
virtual void OnCreate(Group *, Player *)
Definition: GroupScript.h:51

References GroupScript::OnCreate().

◆ OnCreateItem()

void ScriptMgr::OnCreateItem ( Player player,
Item item,
uint32  count 
)
626{
627 ExecuteScript<PlayerScript>([&](PlayerScript* script)
628 {
629 script->OnCreateItem(player, item, count);
630 });
631}
virtual void OnCreateItem(Player *, Item *, uint32)
Definition: PlayerScript.h:234

References PlayerScript::OnCreateItem().

◆ OnCreateMap()

void ScriptMgr::OnCreateMap ( Map map)
88{
89 ASSERT(map);
90
91 ExecuteScript<AllMapScript>([&](AllMapScript* script)
92 {
93 script->OnCreateMap(map);
94 });
95
96 ForeachMaps<WorldMapScript>(map,
97 [&](WorldMapScript* script)
98 {
99 script->OnCreate(map);
100 });
101
102 ForeachMaps<InstanceMapScript>(map,
103 [&](InstanceMapScript* script)
104 {
105 script->OnCreate((InstanceMap*)map);
106 });
107
108 ForeachMaps<BattlegroundMapScript>(map,
109 [&](BattlegroundMapScript* script)
110 {
111 script->OnCreate((BattlegroundMap*)map);
112 });
113}
Definition: Map.h:818
Definition: Map.h:852
virtual void OnCreateMap(Map *)
This hook called before creating map.
Definition: AllMapScript.h:69
Definition: BattlegroundMapScript.h:24
Definition: InstanceMapScript.h:24
Definition: WorldMapScript.h:24
virtual void OnCreate(TMap *)
Definition: ScriptObject.h:93

References ASSERT, and AllMapScript::OnCreateMap().

◆ OnCreatureAddWorld()

void ScriptMgr::OnCreatureAddWorld ( Creature creature)
23{
24 ASSERT(creature);
25
26 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
27 {
28 script->OnCreatureAddWorld(creature);
29 });
30}
virtual void OnCreatureAddWorld(Creature *)
This hook runs after add creature in world.
Definition: AllCreatureScript.h:43

References ASSERT, and AllCreatureScript::OnCreatureAddWorld().

◆ OnCreatureKill()

void ScriptMgr::OnCreatureKill ( Player killer,
Creature killed 
)
110{
111 ExecuteScript<PlayerScript>([&](PlayerScript* script)
112 {
113 script->OnCreatureKill(killer, killed);
114 });
115}
virtual void OnCreatureKill(Player *, Creature *)
Definition: PlayerScript.h:50

References PlayerScript::OnCreatureKill().

◆ OnCreatureKilledByPet()

void ScriptMgr::OnCreatureKilledByPet ( Player petOwner,
Creature killed 
)
118{
119 ExecuteScript<PlayerScript>([&](PlayerScript* script)
120 {
121 script->OnCreatureKilledByPet(petOwner, killed);
122 });
123}
virtual void OnCreatureKilledByPet(Player *, Creature *)
Definition: PlayerScript.h:53

References PlayerScript::OnCreatureKilledByPet().

◆ OnCreatureRemoveWorld()

void ScriptMgr::OnCreatureRemoveWorld ( Creature creature)
33{
34 ASSERT(creature);
35
36 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
37 {
38 script->OnCreatureRemoveWorld(creature);
39 });
40}
virtual void OnCreatureRemoveWorld(Creature *)
This hook runs after remove creature in world.
Definition: AllCreatureScript.h:50

References ASSERT, and AllCreatureScript::OnCreatureRemoveWorld().

◆ OnCreatureSaveToDB()

void ScriptMgr::OnCreatureSaveToDB ( Creature creature)
43{
44 ASSERT(creature);
45
46 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
47 {
48 script->OnCreatureSaveToDB(creature);
49 });
50}
virtual void OnCreatureSaveToDB(Creature *)
This hook runs after creature has been saved to DB.
Definition: AllCreatureScript.h:57

References ASSERT, and AllCreatureScript::OnCreatureSaveToDB().

◆ OnCreatureUpdate()

void ScriptMgr::OnCreatureUpdate ( Creature creature,
uint32  diff 
)
184{
185 ASSERT(creature);
186
187 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
188 {
189 script->OnAllCreatureUpdate(creature, diff);
190 });
191
192 if (auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId()))
193 {
194 tempScript->OnUpdate(creature, diff);
195 }
196}
virtual void OnAllCreatureUpdate(Creature *, uint32)
Definition: AllCreatureScript.h:30

References ASSERT, Creature::GetScriptId(), and AllCreatureScript::OnAllCreatureUpdate().

◆ OnCriteriaCheck()

bool ScriptMgr::OnCriteriaCheck ( uint32  scriptId,
Player source,
Unit target,
uint32  criteria_id 
)
22{
23 ASSERT(source);
24 // target can be nullptr.
25
27 return tempScript ? tempScript->OnCheck(source, target, criteria_id) : false;
28}

References ASSERT, and ScriptRegistry< TScript >::GetScriptById().

◆ OnCriteriaProgress()

void ScriptMgr::OnCriteriaProgress ( Player player,
AchievementCriteriaEntry const *  criteria 
)
506{
507 ExecuteScript<PlayerScript>([&](PlayerScript* script)
508 {
509 script->OnCriteriaProgress(player, criteria);
510 });
511}
virtual void OnCriteriaProgress(Player *, AchievementCriteriaEntry const *)
Definition: PlayerScript.h:180

References PlayerScript::OnCriteriaProgress().

◆ OnCriteriaSave()

void ScriptMgr::OnCriteriaSave ( CharacterDatabaseTransaction  trans,
Player player,
uint16  critId,
CriteriaProgress  criteriaData 
)
522{
523 ExecuteScript<PlayerScript>([&](PlayerScript* script)
524 {
525 script->OnCriteriaSave(trans, player, critId, criteriaData);
526 });
527}
virtual void OnCriteriaSave(CharacterDatabaseTransaction, Player *, uint16, CriteriaProgress)
Definition: PlayerScript.h:189

References PlayerScript::OnCriteriaSave().

◆ OnCustomScalingStatValue()

void ScriptMgr::OnCustomScalingStatValue ( Player player,
ItemTemplate const *  proto,
uint32 statType,
int32 val,
uint8  itemProtoStatNumber,
uint32  ScalingStatValue,
ScalingStatValuesEntry const *  ssv 
)
1102{
1103 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1104 {
1105 script->OnCustomScalingStatValue(player, proto, statType, val, itemProtoStatNumber, ScalingStatValue, ssv);
1106 });
1107}
virtual void OnCustomScalingStatValue(Player *, ItemTemplate const *, uint32 &, int32 &, uint8, uint32, ScalingStatValuesEntry const *)
Definition: PlayerScript.h:353

References PlayerScript::OnCustomScalingStatValue().

◆ OnCustomScalingStatValueBefore()

void ScriptMgr::OnCustomScalingStatValueBefore ( Player player,
ItemTemplate const *  proto,
uint8  slot,
bool  apply,
uint32 CustomScalingStatValue 
)
1094{
1095 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1096 {
1097 script->OnCustomScalingStatValueBefore(player, proto, slot, apply, CustomScalingStatValue);
1098 });
1099}
virtual void OnCustomScalingStatValueBefore(Player *, ItemTemplate const *, uint8, bool, uint32 &)
Definition: PlayerScript.h:351

References PlayerScript::OnCustomScalingStatValueBefore().

◆ OnDamage()

void ScriptMgr::OnDamage ( Unit attacker,
Unit victim,
uint32 damage 
)
50{
51 ExecuteScript<UnitScript>([&](UnitScript* script)
52 {
53 script->OnDamage(attacker, victim, damage);
54 });
55}
virtual void OnDamage(Unit *, Unit *, uint32 &)
Definition: UnitScript.h:36

References UnitScript::OnDamage().

◆ OnDeleteFromDB()

void ScriptMgr::OnDeleteFromDB ( CharacterDatabaseTransaction  trans,
uint32  guid 
)
1003{
1004 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1005 {
1006 script->OnDeleteFromDB(trans, guid);
1007 });
1008}
virtual void OnDeleteFromDB(CharacterDatabaseTransaction, uint32)
Definition: PlayerScript.h:314

References PlayerScript::OnDeleteFromDB().

◆ OnDestroyInstance()

void ScriptMgr::OnDestroyInstance ( MapInstanced mapInstanced,
Map map 
)
291{
292 ExecuteScript<AllMapScript>([&](AllMapScript* script)
293 {
294 script->OnDestroyInstance(mapInstanced, map);
295 });
296}
virtual void OnDestroyInstance(MapInstanced *, Map *)
This hook called before destroy instance.
Definition: AllMapScript.h:62

References AllMapScript::OnDestroyInstance().

◆ OnDestroyMap()

void ScriptMgr::OnDestroyMap ( Map map)
116{
117 ASSERT(map);
118
119 ExecuteScript<AllMapScript>([&](AllMapScript* script)
120 {
121 script->OnDestroyMap(map);
122 });
123
124 ForeachMaps<WorldMapScript>(map,
125 [&](WorldMapScript* script)
126 {
127 script->OnDestroy(map);
128 });
129
130 ForeachMaps<InstanceMapScript>(map,
131 [&](InstanceMapScript* script)
132 {
133 script->OnDestroy((InstanceMap*)map);
134 });
135
136 ForeachMaps<BattlegroundMapScript>(map,
137 [&](BattlegroundMapScript* script)
138 {
139 script->OnDestroy((BattlegroundMap*)map);
140 });
141}
virtual void OnDestroyMap(Map *)
This hook called before destroing map.
Definition: AllMapScript.h:76
virtual void OnDestroy(TMap *)
Definition: ScriptObject.h:96

References ASSERT, and AllMapScript::OnDestroyMap().

◆ OnDestructGroup()

void ScriptMgr::OnDestructGroup ( Group origin)
86{
87 ExecuteScript<MiscScript>([&](MiscScript* script)
88 {
89 script->OnDestructGroup(origin);
90 });
91}
virtual void OnDestructGroup(Group *)
Definition: MiscScript.h:42

References MiscScript::OnDestructGroup().

◆ OnDestructInstanceSave()

void ScriptMgr::OnDestructInstanceSave ( InstanceSave origin)
102{
103 ExecuteScript<MiscScript>([&](MiscScript* script)
104 {
105 script->OnDestructInstanceSave(origin);
106 });
107}
virtual void OnDestructInstanceSave(InstanceSave *)
Definition: MiscScript.h:46

References MiscScript::OnDestructInstanceSave().

◆ OnDestructObject()

void ScriptMgr::OnDestructObject ( Object origin)
54{
55 ExecuteScript<MiscScript>([&](MiscScript* script)
56 {
57 script->OnDestructObject(origin);
58 });
59}
virtual void OnDestructObject(Object *)
Definition: MiscScript.h:34

References MiscScript::OnDestructObject().

◆ OnDestructPlayer()

void ScriptMgr::OnDestructPlayer ( Player origin)
70{
71 ExecuteScript<MiscScript>([&](MiscScript* script)
72 {
73 script->OnDestructPlayer(origin);
74 });
75}
virtual void OnDestructPlayer(Player *)
Definition: MiscScript.h:38

References MiscScript::OnDestructPlayer().

◆ OnDisplayIdChange()

void ScriptMgr::OnDisplayIdChange ( Unit unit,
uint32  displayId 
)
216{
217 ExecuteScript<UnitScript>([&](UnitScript* script)
218 {
219 script->OnDisplayIdChange(unit, displayId);
220 });
221}
virtual void OnDisplayIdChange(Unit *, uint32)
Definition: UnitScript.h:82

References UnitScript::OnDisplayIdChange().

◆ OnDummyEffect() [1/3]

void ScriptMgr::OnDummyEffect ( WorldObject caster,
uint32  spellID,
SpellEffIndex  effIndex,
Creature creatureTarget 
)
146{
147 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
148 {
149 script->OnDummyEffect(caster, spellID, effIndex, creatureTarget);
150 });
151}
virtual void OnDummyEffect(WorldObject *, uint32, SpellEffIndex, GameObject *)
This hook called after spell dummy effect.
Definition: AllSpellScript.h:63

References AllSpellScript::OnDummyEffect().

◆ OnDummyEffect() [2/3]

void ScriptMgr::OnDummyEffect ( WorldObject caster,
uint32  spellID,
SpellEffIndex  effIndex,
GameObject gameObjTarget 
)
138{
139 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
140 {
141 script->OnDummyEffect(caster, spellID, effIndex, gameObjTarget);
142 });
143}

References AllSpellScript::OnDummyEffect().

◆ OnDummyEffect() [3/3]

void ScriptMgr::OnDummyEffect ( WorldObject caster,
uint32  spellID,
SpellEffIndex  effIndex,
Item itemTarget 
)
154{
155 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
156 {
157 script->OnDummyEffect(caster, spellID, effIndex, itemTarget);
158 });
159}

References AllSpellScript::OnDummyEffect().

◆ OnDynamicObjectUpdate()

void ScriptMgr::OnDynamicObjectUpdate ( DynamicObject dynobj,
uint32  diff 
)
22{
23 ASSERT(dynobj);
24
25 for (auto const& [scriptID, script] : ScriptRegistry<DynamicObjectScript>::ScriptPointerList)
26 {
27 script->OnUpdate(dynobj, diff);
28 }
29}

References ASSERT.

◆ OnEmailChange()

void ScriptMgr::OnEmailChange ( uint32  accountId)
55{
56 ExecuteScript<AccountScript>([&](AccountScript* script)
57 {
58 script->OnEmailChange(accountId);
59 });
60}
virtual void OnEmailChange(uint32)
Definition: AccountScript.h:39

References AccountScript::OnEmailChange().

◆ OnEquip()

void ScriptMgr::OnEquip ( Player player,
Item it,
uint8  bag,
uint8  slot,
bool  update 
)
554{
555 ExecuteScript<PlayerScript>([&](PlayerScript* script)
556 {
557 script->OnEquip(player, it, bag, slot, update);
558 });
559}
virtual void OnEquip(Player *, Item *, uint8, uint8, bool)
Definition: PlayerScript.h:207

References PlayerScript::OnEquip().

◆ OnFailedAccountLogin()

void ScriptMgr::OnFailedAccountLogin ( uint32  accountId)
47{
48 ExecuteScript<AccountScript>([&](AccountScript* script)
49 {
50 script->OnFailedAccountLogin(accountId);
51 });
52}
virtual void OnFailedAccountLogin(uint32)
Definition: AccountScript.h:36

References AccountScript::OnFailedAccountLogin().

◆ OnFailedEmailChange()

void ScriptMgr::OnFailedEmailChange ( uint32  accountId)
63{
64 ExecuteScript<AccountScript>([&](AccountScript* script)
65 {
66 script->OnFailedEmailChange(accountId);
67 });
68}
virtual void OnFailedEmailChange(uint32)
Definition: AccountScript.h:42

References AccountScript::OnFailedEmailChange().

◆ OnFailedPasswordChange()

void ScriptMgr::OnFailedPasswordChange ( uint32  accountId)
79{
80 ExecuteScript<AccountScript>([&](AccountScript* script)
81 {
82 script->OnFailedPasswordChange(accountId);
83 });
84}
virtual void OnFailedPasswordChange(uint32)
Definition: AccountScript.h:48

References AccountScript::OnFailedPasswordChange().

◆ OnFfaPvpStateUpdate() [1/2]

void ScriptMgr::OnFfaPvpStateUpdate ( Creature creature,
bool  InPvp 
)
176{
177 ExecuteScript<AllCreatureScript>([&](AllCreatureScript* script)
178 {
179 script->OnFfaPvpStateUpdate(creature, InPvp);
180 });
181}
virtual void OnFfaPvpStateUpdate(Creature *, bool)
Definition: AllCreatureScript.h:104

References AllCreatureScript::OnFfaPvpStateUpdate().

◆ OnFfaPvpStateUpdate() [2/2]

void ScriptMgr::OnFfaPvpStateUpdate ( Player player,
bool  result 
)
1384{
1385 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1386 {
1387 script->OnFfaPvpStateUpdate(player, result);
1388 });
1389}
virtual void OnFfaPvpStateUpdate(Player *, bool)
Definition: PlayerScript.h:398

References PlayerScript::OnFfaPvpStateUpdate().

◆ OnFirstLogin()

void ScriptMgr::OnFirstLogin ( Player player)
680{
681 ExecuteScript<PlayerScript>([&](PlayerScript* script)
682 {
683 script->OnFirstLogin(player);
684 });
685}
virtual void OnFirstLogin(Player *)
Definition: PlayerScript.h:275

References PlayerScript::OnFirstLogin().

◆ OnGainCalculation()

void ScriptMgr::OnGainCalculation ( uint32 gain,
Player player,
Unit unit 
)
63{
64 ASSERT(player);
65 ASSERT(unit);
66
67 ExecuteScript<FormulaScript>([&](FormulaScript* script)
68 {
69 script->OnGainCalculation(gain, player, unit);
70 });
71}
virtual void OnGainCalculation(uint32 &, Player *, Unit *)
Definition: FormulaScript.h:47

References ASSERT, and FormulaScript::OnGainCalculation().

◆ OnGameEventCheck()

void ScriptMgr::OnGameEventCheck ( uint16  EventID)
39{
40 ExecuteScript<GameEventScript>([&](GameEventScript* script)
41 {
42 script->OnEventCheck(EventID);
43 });
44}
Definition: GameEventScript.h:24
virtual void OnEventCheck(uint16)
Definition: GameEventScript.h:36

References GameEventScript::OnEventCheck().

◆ OnGameEventStart()

void ScriptMgr::OnGameEventStart ( uint16  EventID)
23{
24 ExecuteScript<GameEventScript>([&](GameEventScript* script)
25 {
26 script->OnStart(EventID);
27 });
28}
virtual void OnStart(uint16)
Definition: GameEventScript.h:30

References GameEventScript::OnStart().

◆ OnGameEventStop()

void ScriptMgr::OnGameEventStop ( uint16  EventID)
31{
32 ExecuteScript<GameEventScript>([&](GameEventScript* script)
33 {
34 script->OnStop(EventID);
35 });
36}
virtual void OnStop(uint16)
Definition: GameEventScript.h:33

References GameEventScript::OnStop().

◆ OnGameObjectAddWorld()

void ScriptMgr::OnGameObjectAddWorld ( GameObject go)
23{
24 ASSERT(go);
25
26 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
27 {
28 script->OnGameObjectAddWorld(go);
29 });
30}
virtual void OnGameObjectAddWorld(GameObject *)
This hook runs after add game object in world.
Definition: AllGameObjectScript.h:34

References ASSERT, and AllGameObjectScript::OnGameObjectAddWorld().

◆ OnGameObjectDamaged()

void ScriptMgr::OnGameObjectDamaged ( GameObject go,
Player player 
)
151{
152 ASSERT(go);
153
154 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
155 {
156 script->OnGameObjectDamaged(go, player);
157 });
158
160 {
161 tempScript->OnDamaged(go, player);
162 }
163}
virtual void OnGameObjectDamaged(GameObject *, Player *)
Definition: AllGameObjectScript.h:74

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectDamaged().

◆ OnGameObjectDestroyed()

void ScriptMgr::OnGameObjectDestroyed ( GameObject go,
Player player 
)
136{
137 ASSERT(go);
138
139 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
140 {
141 script->OnGameObjectDestroyed(go, player);
142 });
143
145 {
146 tempScript->OnDestroyed(go, player);
147 }
148}
virtual void OnGameObjectDestroyed(GameObject *, Player *)
Definition: AllGameObjectScript.h:71

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectDestroyed().

◆ OnGameObjectLootStateChanged()

void ScriptMgr::OnGameObjectLootStateChanged ( GameObject go,
uint32  state,
Unit unit 
)
181{
182 ASSERT(go);
183
184 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
185 {
186 script->OnGameObjectLootStateChanged(go, state, unit);
187 });
188
190 {
191 tempScript->OnLootStateChanged(go, state, unit);
192 }
193}
virtual void OnGameObjectLootStateChanged(GameObject *, uint32, Unit *)
Definition: AllGameObjectScript.h:80

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectLootStateChanged().

◆ OnGameObjectModifyHealth()

void ScriptMgr::OnGameObjectModifyHealth ( GameObject go,
Unit attackerOrHealer,
int32 change,
SpellInfo const *  spellInfo 
)
166{
167 ASSERT(go);
168
169 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
170 {
171 script->OnGameObjectModifyHealth(go, attackerOrHealer, change, spellInfo);
172 });
173
175 {
176 tempScript->OnModifyHealth(go, attackerOrHealer, change, spellInfo);
177 }
178}
virtual void OnGameObjectModifyHealth(GameObject *, Unit *, int32 &, SpellInfo const *)
Definition: AllGameObjectScript.h:77

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectModifyHealth().

◆ OnGameObjectRemoveWorld()

void ScriptMgr::OnGameObjectRemoveWorld ( GameObject go)
33{
34 ASSERT(go);
35
36 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
37 {
38 script->OnGameObjectRemoveWorld(go);
39 });
40}
virtual void OnGameObjectRemoveWorld(GameObject *)
This hook runs after remove game object in world.
Definition: AllGameObjectScript.h:46

References ASSERT, and AllGameObjectScript::OnGameObjectRemoveWorld().

◆ OnGameObjectSaveToDB()

void ScriptMgr::OnGameObjectSaveToDB ( GameObject go)
43{
44 ASSERT(go);
45
46 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
47 {
48 script->OnGameObjectSaveToDB(go);
49 });
50}
virtual void OnGameObjectSaveToDB(GameObject *)
This hook runs after the game object iis saved to the database.
Definition: AllGameObjectScript.h:40

References ASSERT, and AllGameObjectScript::OnGameObjectSaveToDB().

◆ OnGameObjectStateChanged()

void ScriptMgr::OnGameObjectStateChanged ( GameObject go,
uint32  state 
)
196{
197 ASSERT(go);
198
199 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
200 {
201 script->OnGameObjectStateChanged(go, state);
202 });
203
205 {
206 tempScript->OnGameObjectStateChanged(go, state);
207 }
208}
virtual void OnGameObjectStateChanged(GameObject *, uint32)
Definition: AllGameObjectScript.h:83

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectStateChanged().

◆ OnGameObjectUpdate()

void ScriptMgr::OnGameObjectUpdate ( GameObject go,
uint32  diff 
)
211{
212 ASSERT(go);
213
214 ExecuteScript<AllGameObjectScript>([&](AllGameObjectScript* script)
215 {
216 script->OnGameObjectUpdate(go, diff);
217 });
218
220 {
221 tempScript->OnUpdate(go, diff);
222 }
223}
virtual void OnGameObjectUpdate(GameObject *, uint32)
This hook runs after remove game object in world.
Definition: AllGameObjectScript.h:53

References ASSERT, GameObject::GetScriptId(), and AllGameObjectScript::OnGameObjectUpdate().

◆ OnGetArenaPersonalRating()

void ScriptMgr::OnGetArenaPersonalRating ( Player player,
uint8  slot,
uint32 result 
)
1359{
1360 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1361 {
1362 script->OnGetArenaPersonalRating(player, slot, result);
1363 });
1364}
virtual void OnGetArenaPersonalRating(Player *, uint8, uint32 &)
Definition: PlayerScript.h:391

References PlayerScript::OnGetArenaPersonalRating().

◆ OnGetArenaPoints()

void ScriptMgr::OnGetArenaPoints ( ArenaTeam at,
float &  points 
)
31{
32 ExecuteScript<ArenaTeamScript>([&](ArenaTeamScript* script)
33 {
34 script->OnGetArenaPoints(at, points);
35 });
36}
virtual void OnGetArenaPoints(ArenaTeam *, float &)
Definition: ArenaTeamScript.h:33

References ArenaTeamScript::OnGetArenaPoints().

◆ OnGetArenaTeamId()

void ScriptMgr::OnGetArenaTeamId ( Player player,
uint8  slot,
uint32 result 
)
1367{
1368 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1369 {
1370 script->OnGetArenaTeamId(player, slot, result);
1371 });
1372}
virtual void OnGetArenaTeamId(Player *, uint8, uint32 &)
Definition: PlayerScript.h:393

References PlayerScript::OnGetArenaTeamId().

◆ OnGetFeralApBonus()

void ScriptMgr::OnGetFeralApBonus ( Player player,
int32 feral_bonus,
int32  dpsMod,
ItemTemplate const *  proto,
ScalingStatValuesEntry const *  ssv 
)
1125{
1126 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1127 {
1128 script->OnGetFeralApBonus(player, feral_bonus, dpsMod, proto, ssv);
1129 });
1130}
virtual void OnGetFeralApBonus(Player *, int32 &, int32, ItemTemplate const *, ScalingStatValuesEntry const *)
Definition: PlayerScript.h:357

References PlayerScript::OnGetFeralApBonus().

◆ OnGetMaxPersonalArenaRatingRequirement()

void ScriptMgr::OnGetMaxPersonalArenaRatingRequirement ( Player const *  player,
uint32  minSlot,
uint32 maxArenaRating 
) const
594{
595 ExecuteScript<PlayerScript>([&](PlayerScript* script)
596 {
597 script->OnGetMaxPersonalArenaRatingRequirement(player, minSlot, maxArenaRating);
598 });
599}
virtual void OnGetMaxPersonalArenaRatingRequirement(Player const *, uint32, uint32 &) const
Definition: PlayerScript.h:222

References PlayerScript::OnGetMaxPersonalArenaRatingRequirement().

◆ OnGetMaxSkillValue()

void ScriptMgr::OnGetMaxSkillValue ( Player player,
uint32  skill,
int32 result,
bool  IsPure 
)
1026{
1027 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1028 {
1029 script->OnGetMaxSkillValue(player, skill, result, IsPure);
1030 });
1031}
virtual void OnGetMaxSkillValue(Player *, uint32, int32 &, bool)
Definition: PlayerScript.h:318

References PlayerScript::OnGetMaxSkillValue().

◆ OnGetMaxSkillValueForLevel()

void ScriptMgr::OnGetMaxSkillValueForLevel ( Player player,
uint16 result 
)
1400{
1401 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1402 {
1403 script->OnGetMaxSkillValueForLevel(player, result);
1404 });
1405}
virtual void OnGetMaxSkillValueForLevel(Player *, uint16 &)
Definition: PlayerScript.h:402

References PlayerScript::OnGetMaxSkillValueForLevel().

◆ OnGetPoints()

void ScriptMgr::OnGetPoints ( ArenaTeam team,
uint32  memberRating,
float &  points 
)
38{
39 ExecuteScript<ArenaScript>([&](ArenaScript* script)
40 {
41 script->OnGetPoints(team, memberRating, points);
42 });
43}
virtual void OnGetPoints(ArenaTeam *, uint32, float &)
Definition: ArenaScript.h:36

References ArenaScript::OnGetPoints().

◆ OnGetQuestRate()

void ScriptMgr::OnGetQuestRate ( Player player,
float &  result 
)
1291{
1292 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1293 {
1294 script->OnGetQuestRate(player, result);
1295 });
1296}
virtual void OnGetQuestRate(Player *, float &)
Definition: PlayerScript.h:381

References PlayerScript::OnGetQuestRate().

◆ OnGetSlotByType()

void ScriptMgr::OnGetSlotByType ( const uint32  type,
uint8 slot 
)
23{
24 ExecuteScript<ArenaTeamScript>([&](ArenaTeamScript* script)
25 {
26 script->OnGetSlotByType(type, slot);
27 });
28}
virtual void OnGetSlotByType(const uint32, uint8 &)
Definition: ArenaTeamScript.h:32

References ArenaTeamScript::OnGetSlotByType().

◆ OnGivePlayerXP()

void ScriptMgr::OnGivePlayerXP ( Player player,
uint32 amount,
Unit victim,
uint8  xpSource 
)
182{
183 ExecuteScript<PlayerScript>([&](PlayerScript* script)
184 {
185 script->OnGiveXP(player, amount, victim, xpSource);
186 });
187}
virtual void OnGiveXP(Player *, uint32 &, Unit *, uint8)
Definition: PlayerScript.h:81

References PlayerScript::OnGiveXP().

◆ OnGlobalItemDelFromDB()

void ScriptMgr::OnGlobalItemDelFromDB ( CharacterDatabaseTransaction  trans,
ObjectGuid::LowType  itemGuid 
)
25{
26 ASSERT(trans);
27 ASSERT(itemGuid);
28
29 ExecuteScript<GlobalScript>([&](GlobalScript* script)
30 {
31 script->OnItemDelFromDB(trans, itemGuid);
32 });
33}
virtual void OnItemDelFromDB(CharacterDatabaseTransaction, ObjectGuid::LowType)
Definition: GlobalScript.h:34

References ASSERT, and GlobalScript::OnItemDelFromDB().

◆ OnGlobalMirrorImageDisplayItem()

void ScriptMgr::OnGlobalMirrorImageDisplayItem ( Item const *  item,
uint32 display 
)
36{
37 ExecuteScript<GlobalScript>([&](GlobalScript* script)
38 {
39 script->OnMirrorImageDisplayItem(item, display);
40 });
41}
virtual void OnMirrorImageDisplayItem(Item const *, uint32 &)
Definition: GlobalScript.h:35

References GlobalScript::OnMirrorImageDisplayItem().

◆ OnGossipHello() [1/2]

bool ScriptMgr::OnGossipHello ( Player player,
Creature creature 
)
25{
26 ASSERT(player);
27 ASSERT(creature);
28
29 auto ret = IsValidBoolScript<AllCreatureScript>([&](AllCreatureScript* script)
30 {
31 return script->CanCreatureGossipHello(player, creature);
32 });
33
34 if (ret && *ret)
35 {
36 return true;
37 }
38
40 ClearGossipMenuFor(player);
41 return tempScript ? tempScript->OnGossipHello(player, creature) : false;
42}
virtual bool CanCreatureGossipHello(Player *, Creature *)
This hook called when a player opens a gossip dialog with the creature.
Definition: AllCreatureScript.h:67

References ASSERT, AllCreatureScript::CanCreatureGossipHello(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnGossipHello() [2/2]

bool ScriptMgr::OnGossipHello ( Player player,
GameObject go 
)
25{
26 ASSERT(player);
27 ASSERT(go);
28
29 auto ret = IsValidBoolScript<AllGameObjectScript>([&](AllGameObjectScript* script)
30 {
31 return script->CanGameObjectGossipHello(player, go);
32 });
33
34 if (ret && *ret)
35 {
36 return true;
37 }
38
40 ClearGossipMenuFor(player);
41 return tempScript && tempScript->OnGossipHello(player, go);
42}
virtual bool CanGameObjectGossipHello(Player *, GameObject *)
Definition: AllGameObjectScript.h:56

References ASSERT, AllGameObjectScript::CanGameObjectGossipHello(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ OnGossipSelect() [1/4]

bool ScriptMgr::OnGossipSelect ( Player player,
Creature creature,
uint32  sender,
uint32  action 
)
45{
46 ASSERT(player);
47 ASSERT(creature);
48
49 auto ret = IsValidBoolScript<AllCreatureScript>([&](AllCreatureScript* script)
50 {
51 return script->CanCreatureGossipSelect(player, creature, sender, action);
52 });
53
54 if (ret && *ret)
55 {
56 return true;
57 }
58
60 return tempScript ? tempScript->OnGossipSelect(player, creature, sender, action) : false;
61}
virtual bool CanCreatureGossipSelect(Player *, Creature *, uint32, uint32)
This hook called when a player selects a gossip item in the creature's gossip menu.
Definition: AllCreatureScript.h:79

References ASSERT, AllCreatureScript::CanCreatureGossipSelect(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnGossipSelect() [2/4]

bool ScriptMgr::OnGossipSelect ( Player player,
GameObject go,
uint32  sender,
uint32  action 
)
45{
46 ASSERT(player);
47 ASSERT(go);
48
49 auto ret = IsValidBoolScript<AllGameObjectScript>([&](AllGameObjectScript* script)
50 {
51 return script->CanGameObjectGossipSelect(player, go, sender, action);
52 });
53
54 if (ret && *ret)
55 {
56 return true;
57 }
58
60 return tempScript ? tempScript->OnGossipSelect(player, go, sender, action) : false;
61}
virtual bool CanGameObjectGossipSelect(Player *, GameObject *, uint32, uint32)
Definition: AllGameObjectScript.h:59

References ASSERT, AllGameObjectScript::CanGameObjectGossipSelect(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ OnGossipSelect() [3/4]

void ScriptMgr::OnGossipSelect ( Player player,
Item item,
uint32  sender,
uint32  action 
)
114{
115 ASSERT(player);
116 ASSERT(item);
117
118 ExecuteScript<AllItemScript>([&](AllItemScript* script)
119 {
120 script->OnItemGossipSelect(player, item, sender, action);
121 });
122
123 if (auto tempScript = ScriptRegistry<ItemScript>::GetScriptById(item->GetScriptId()))
124 {
125 tempScript->OnGossipSelect(player, item, sender, action);
126 }
127}
Definition: AllItemScript.h:24
virtual void OnItemGossipSelect(Player *, Item *, uint32, uint32)
Definition: AllItemScript.h:42

References ASSERT, Item::GetScriptId(), and AllItemScript::OnItemGossipSelect().

◆ OnGossipSelect() [4/4]

void ScriptMgr::OnGossipSelect ( Player player,
uint32  menu_id,
uint32  sender,
uint32  action 
)
31{
32 ExecuteScript<PlayerScript>([&](PlayerScript* script)
33 {
34 script->OnGossipSelect(player, menu_id, sender, action);
35 });
36}
virtual void OnGossipSelect(Player *, uint32, uint32, uint32)
Definition: PlayerScript.h:192

References PlayerScript::OnGossipSelect().

◆ OnGossipSelectCode() [1/4]

bool ScriptMgr::OnGossipSelectCode ( Player player,
Creature creature,
uint32  sender,
uint32  action,
const char *  code 
)
64{
65 ASSERT(player);
66 ASSERT(creature);
67 ASSERT(code);
68
69 auto ret = IsValidBoolScript<AllCreatureScript>([&](AllCreatureScript* script)
70 {
71 return script->CanCreatureGossipSelectCode(player, creature, sender, action, code);
72 });
73
74 if (ret && *ret)
75 {
76 return true;
77 }
78
80 return tempScript ? tempScript->OnGossipSelectCode(player, creature, sender, action, code) : false;
81}
virtual bool CanCreatureGossipSelectCode(Player *, Creature *, uint32, uint32, const char *)
This hook called when a player selects a gossip with a code in the creature's gossip menu.
Definition: AllCreatureScript.h:92

References ASSERT, AllCreatureScript::CanCreatureGossipSelectCode(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnGossipSelectCode() [2/4]

bool ScriptMgr::OnGossipSelectCode ( Player player,
GameObject go,
uint32  sender,
uint32  action,
const char *  code 
)
64{
65 ASSERT(player);
66 ASSERT(go);
67 ASSERT(code);
68
69 auto ret = IsValidBoolScript<AllGameObjectScript>([&](AllGameObjectScript* script)
70 {
71 return script->CanGameObjectGossipSelectCode(player, go, sender, action, code);
72 });
73
74 if (ret && *ret)
75 {
76 return true;
77 }
78
80 return tempScript ? tempScript->OnGossipSelectCode(player, go, sender, action, code) : false;
81}
virtual bool CanGameObjectGossipSelectCode(Player *, GameObject *, uint32, uint32, const char *)
Definition: AllGameObjectScript.h:62

References ASSERT, AllGameObjectScript::CanGameObjectGossipSelectCode(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ OnGossipSelectCode() [3/4]

void ScriptMgr::OnGossipSelectCode ( Player player,
Item item,
uint32  sender,
uint32  action,
const char *  code 
)
130{
131 ASSERT(player);
132 ASSERT(item);
133
134 ExecuteScript<AllItemScript>([&](AllItemScript* script)
135 {
136 script->OnItemGossipSelectCode(player, item, sender, action, code);
137 });
138
139 if (auto tempScript = ScriptRegistry<ItemScript>::GetScriptById(item->GetScriptId()))
140 {
141 tempScript->OnGossipSelectCode(player, item, sender, action, code);
142 }
143}
virtual void OnItemGossipSelectCode(Player *, Item *, uint32, uint32, const char *)
Definition: AllItemScript.h:45

References ASSERT, Item::GetScriptId(), and AllItemScript::OnItemGossipSelectCode().

◆ OnGossipSelectCode() [4/4]

void ScriptMgr::OnGossipSelectCode ( Player player,
uint32  menu_id,
uint32  sender,
uint32  action,
const char *  code 
)
39{
40 ExecuteScript<PlayerScript>([&](PlayerScript* script)
41 {
42 script->OnGossipSelectCode(player, menu_id, sender, action, code);
43 });
44}
virtual void OnGossipSelectCode(Player *, uint32, uint32, uint32, const char *)
Definition: PlayerScript.h:195

References PlayerScript::OnGossipSelectCode().

◆ OnGrayLevelCalculation()

void ScriptMgr::OnGrayLevelCalculation ( uint8 grayLevel,
uint8  playerLevel 
)
31{
32 ExecuteScript<FormulaScript>([&](FormulaScript* script)
33 {
34 script->OnGrayLevelCalculation(grayLevel, playerLevel);
35 });
36}
virtual void OnGrayLevelCalculation(uint8 &, uint8)
Definition: FormulaScript.h:35

References FormulaScript::OnGrayLevelCalculation().

◆ OnGroupAddMember()

void ScriptMgr::OnGroupAddMember ( Group group,
ObjectGuid  guid 
)
23{
24 ASSERT(group);
25
26 ExecuteScript<GroupScript>([&](GroupScript* script)
27 {
28 script->OnAddMember(group, guid);
29 });
30}
virtual void OnAddMember(Group *, ObjectGuid)
Definition: GroupScript.h:35

References ASSERT, and GroupScript::OnAddMember().

◆ OnGroupChangeLeader()

void ScriptMgr::OnGroupChangeLeader ( Group group,
ObjectGuid  newLeaderGuid,
ObjectGuid  oldLeaderGuid 
)
53{
54 ASSERT(group);
55
56 ExecuteScript<GroupScript>([&](GroupScript* script)
57 {
58 script->OnChangeLeader(group, newLeaderGuid, oldLeaderGuid);
59 });
60}
virtual void OnChangeLeader(Group *, ObjectGuid, ObjectGuid)
Definition: GroupScript.h:44

References ASSERT, and GroupScript::OnChangeLeader().

◆ OnGroupDisband()

void ScriptMgr::OnGroupDisband ( Group group)
63{
64 ASSERT(group);
65
66 ExecuteScript<GroupScript>([&](GroupScript* script)
67 {
68 script->OnDisband(group);
69 });
70}
virtual void OnDisband(Group *)
Definition: GroupScript.h:47

References ASSERT, and GroupScript::OnDisband().

◆ OnGroupInviteMember()

void ScriptMgr::OnGroupInviteMember ( Group group,
ObjectGuid  guid 
)
33{
34 ASSERT(group);
35
36 ExecuteScript<GroupScript>([&](GroupScript* script)
37 {
38 script->OnInviteMember(group, guid);
39 });
40}
virtual void OnInviteMember(Group *, ObjectGuid)
Definition: GroupScript.h:38

References ASSERT, and GroupScript::OnInviteMember().

◆ OnGroupRateCalculation()

void ScriptMgr::OnGroupRateCalculation ( float &  rate,
uint32  count,
bool  isRaid 
)
74{
75 ExecuteScript<FormulaScript>([&](FormulaScript* script)
76 {
77 script->OnGroupRateCalculation(rate, count, isRaid);
78 });
79}
virtual void OnGroupRateCalculation(float &, uint32, bool)
Definition: FormulaScript.h:50

References FormulaScript::OnGroupRateCalculation().

◆ OnGroupRemoveMember()

void ScriptMgr::OnGroupRemoveMember ( Group group,
ObjectGuid  guid,
RemoveMethod  method,
ObjectGuid  kicker,
const char *  reason 
)
43{
44 ASSERT(group);
45
46 ExecuteScript<GroupScript>([&](GroupScript* script)
47 {
48 script->OnRemoveMember(group, guid, method, kicker, reason);
49 });
50}
virtual void OnRemoveMember(Group *, ObjectGuid, RemoveMethod, ObjectGuid, const char *)
Definition: GroupScript.h:41

References ASSERT, and GroupScript::OnRemoveMember().

◆ OnGroupRollRewardItem()

void ScriptMgr::OnGroupRollRewardItem ( Player player,
Item item,
uint32  count,
RollVote  voteType,
Roll roll 
)
657{
658 ExecuteScript<PlayerScript>([&](PlayerScript* script)
659 {
660 script->OnGroupRollRewardItem(player, item, count, voteType, roll);
661 });
662}
virtual void OnGroupRollRewardItem(Player *, Item *, uint32, RollVote, Roll *)
Definition: PlayerScript.h:243

References PlayerScript::OnGroupRollRewardItem().

◆ OnGuildAddMember()

void ScriptMgr::OnGuildAddMember ( Guild guild,
Player player,
uint8 plRank 
)
23{
24 ExecuteScript<GuildScript>([&](GuildScript* script)
25 {
26 script->OnAddMember(guild, player, plRank);
27 });
28}
virtual void OnAddMember(Guild *, Player *, uint8 &)
Definition: GuildScript.h:33

References GuildScript::OnAddMember().

◆ OnGuildBankEvent()

void ScriptMgr::OnGuildBankEvent ( Guild guild,
uint8  eventType,
uint8  tabId,
ObjectGuid::LowType  playerGuid,
uint32  itemOrMoney,
uint16  itemStackCount,
uint8  destTabId 
)
104{
105 ExecuteScript<GuildScript>([&](GuildScript* script)
106 {
107 script->OnBankEvent(guild, eventType, tabId, playerGuid, itemOrMoney, itemStackCount, destTabId);
108 });
109}
virtual void OnBankEvent(Guild *, uint8, uint8, ObjectGuid::LowType, uint32, uint16, uint8)
Definition: GuildScript.h:62

References GuildScript::OnBankEvent().

◆ OnGuildCreate()

void ScriptMgr::OnGuildCreate ( Guild guild,
Player leader,
const std::string &  name 
)
55{
56 ExecuteScript<GuildScript>([&](GuildScript* script)
57 {
58 script->OnCreate(guild, leader, name);
59 });
60}
virtual void OnCreate(Guild *, Player *, const std::string &)
Definition: GuildScript.h:45

References GuildScript::OnCreate().

◆ OnGuildDisband()

void ScriptMgr::OnGuildDisband ( Guild guild)
63{
64 ExecuteScript<GuildScript>([&](GuildScript* script)
65 {
66 script->OnDisband(guild);
67 });
68}
virtual void OnDisband(Guild *)
Definition: GuildScript.h:48

References GuildScript::OnDisband().

◆ OnGuildEvent()

void ScriptMgr::OnGuildEvent ( Guild guild,
uint8  eventType,
ObjectGuid::LowType  playerGuid1,
ObjectGuid::LowType  playerGuid2,
uint8  newRank 
)
96{
97 ExecuteScript<GuildScript>([&](GuildScript* script)
98 {
99 script->OnEvent(guild, eventType, playerGuid1, playerGuid2, newRank);
100 });
101}
virtual void OnEvent(Guild *, uint8, ObjectGuid::LowType, ObjectGuid::LowType, uint8)
Definition: GuildScript.h:60

References GuildScript::OnEvent().

◆ OnGuildInfoChanged()

void ScriptMgr::OnGuildInfoChanged ( Guild guild,
const std::string &  newInfo 
)
47{
48 ExecuteScript<GuildScript>([&](GuildScript* script)
49 {
50 script->OnInfoChanged(guild, newInfo);
51 });
52}
virtual void OnInfoChanged(Guild *, const std::string &)
Definition: GuildScript.h:42

References GuildScript::OnInfoChanged().

◆ OnGuildItemMove()

void ScriptMgr::OnGuildItemMove ( Guild guild,
Player player,
Item pItem,
bool  isSrcBank,
uint8  srcContainer,
uint8  srcSlotId,
bool  isDestBank,
uint8  destContainer,
uint8  destSlotId 
)
88{
89 ExecuteScript<GuildScript>([&](GuildScript* script)
90 {
91 script->OnItemMove(guild, player, pItem, isSrcBank, srcContainer, srcSlotId, isDestBank, destContainer, destSlotId);
92 });
93}
virtual void OnItemMove(Guild *, Player *, Item *, bool, uint8, uint8, bool, uint8, uint8)
Definition: GuildScript.h:57

References GuildScript::OnItemMove().

◆ OnGuildMemberDepositMoney()

void ScriptMgr::OnGuildMemberDepositMoney ( Guild guild,
Player player,
uint32 amount 
)
79{
80 ExecuteScript<GuildScript>([&](GuildScript* script)
81 {
82 script->OnMemberDepositMoney(guild, player, amount);
83 });
84}
virtual void OnMemberDepositMoney(Guild *, Player *, uint32 &)
Definition: GuildScript.h:54

References GuildScript::OnMemberDepositMoney().

◆ OnGuildMemberWitdrawMoney()

void ScriptMgr::OnGuildMemberWitdrawMoney ( Guild guild,
Player player,
uint32 amount,
bool  isRepair 
)
71{
72 ExecuteScript<GuildScript>([&](GuildScript* script)
73 {
74 script->OnMemberWitdrawMoney(guild, player, amount, isRepair);
75 });
76}
virtual void OnMemberWitdrawMoney(Guild *, Player *, uint32 &, bool)
Definition: GuildScript.h:51

References GuildScript::OnMemberWitdrawMoney().

◆ OnGuildMOTDChanged()

void ScriptMgr::OnGuildMOTDChanged ( Guild guild,
const std::string &  newMotd 
)
39{
40 ExecuteScript<GuildScript>([&](GuildScript* script)
41 {
42 script->OnMOTDChanged(guild, newMotd);
43 });
44}
virtual void OnMOTDChanged(Guild *, const std::string &)
Definition: GuildScript.h:39

References GuildScript::OnMOTDChanged().

◆ OnGuildRemoveMember()

void ScriptMgr::OnGuildRemoveMember ( Guild guild,
Player player,
bool  isDisbanding,
bool  isKicked 
)
31{
32 ExecuteScript<GuildScript>([&](GuildScript* script)
33 {
34 script->OnRemoveMember(guild, player, isDisbanding, isKicked);
35 });
36}
virtual void OnRemoveMember(Guild *, Player *, bool, bool)
Definition: GuildScript.h:36

References GuildScript::OnRemoveMember().

◆ OnHandleDevCommand()

void ScriptMgr::OnHandleDevCommand ( Player player,
bool &  enable 
)
23{
24 ExecuteScript<AllCommandScript>([&](AllCommandScript* script)
25 {
26 script->OnHandleDevCommand(player, enable);
27 });
28}
virtual void OnHandleDevCommand(Player *, bool &)
Definition: AllCommandScript.h:31

References AllCommandScript::OnHandleDevCommand().

◆ OnHeal()

void ScriptMgr::OnHeal ( Unit healer,
Unit reciever,
uint32 gain 
)
42{
43 ExecuteScript<UnitScript>([&](UnitScript* script)
44 {
45 script->OnHeal(healer, reciever, gain);
46 });
47}
virtual void OnHeal(Unit *, Unit *, uint32 &)
Definition: UnitScript.h:33

References UnitScript::OnHeal().

◆ OnHonorCalculation()

void ScriptMgr::OnHonorCalculation ( float &  honor,
uint8  level,
float  multiplier 
)
23{
24 ExecuteScript<FormulaScript>([&](FormulaScript* script)
25 {
26 script->OnHonorCalculation(honor, level, multiplier);
27 });
28}
virtual void OnHonorCalculation(float &, uint8, float)
Definition: FormulaScript.h:32

References FormulaScript::OnHonorCalculation().

◆ OnInitializeLockedDungeons()

void ScriptMgr::OnInitializeLockedDungeons ( Player player,
uint8 level,
uint32 lockData,
lfg::LFGDungeonData const *  dungeon 
)
106{
107 ExecuteScript<GlobalScript>([&](GlobalScript* script)
108 {
109 script->OnInitializeLockedDungeons(player, level, lockData, dungeon);
110 });
111}
virtual void OnInitializeLockedDungeons(Player *, uint8 &, uint32 &, lfg::LFGDungeonData const *)
Definition: GlobalScript.h:43

References GlobalScript::OnInitializeLockedDungeons().

◆ OnInitStatsForLevel()

void ScriptMgr::OnInitStatsForLevel ( Guardian guardian,
uint8  petlevel 
)
23{
24 ExecuteScript<PetScript>([&](PetScript* script)
25 {
26 script->OnInitStatsForLevel(guardian, petlevel);
27 });
28}
virtual void OnInitStatsForLevel(Guardian *, uint8)
Definition: PetScript.h:31

References PetScript::OnInitStatsForLevel().

◆ OnInstall()

void ScriptMgr::OnInstall ( Vehicle veh)
23{
24 ASSERT(veh);
25 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
26
28 {
29 tempScript->OnInstall(veh);
30 }
31}

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnInstallAccessory()

void ScriptMgr::OnInstallAccessory ( Vehicle veh,
Creature accessory 
)
56{
57 ASSERT(veh);
58 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
59 ASSERT(accessory);
60
62 {
63 tempScript->OnInstallAccessory(veh, accessory);
64 }
65}

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnInstanceIdRemoved()

void ScriptMgr::OnInstanceIdRemoved ( uint32  instanceId)

Called when an instance Id is deleted, usually because it expired or no players are bound to it anymore.

Parameters
instanceIdThe unique id of the instance
211{
212 ExecuteScript<GlobalScript>([&](GlobalScript* script)
213 {
214 script->OnInstanceIdRemoved(instanceId);
215 });
216}
virtual void OnInstanceIdRemoved(uint32)
Definition: GlobalScript.h:71

References GlobalScript::OnInstanceIdRemoved().

◆ OnInstanceSave()

void ScriptMgr::OnInstanceSave ( InstanceSave instanceSave)
164{
165 ExecuteScript<MiscScript>([&](MiscScript* script)
166 {
167 script->OnInstanceSave(instanceSave);
168 });
169}
virtual void OnInstanceSave(InstanceSave *)
Definition: MiscScript.h:64

References MiscScript::OnInstanceSave().

◆ OnIsAffectedBySpellModCheck()

bool ScriptMgr::OnIsAffectedBySpellModCheck ( SpellInfo const *  affectSpell,
SpellInfo const *  checkSpell,
SpellModifier const *  mod 
)
138{
139 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
140 {
141 return !script->OnIsAffectedBySpellModCheck(affectSpell, checkSpell, mod);
142 });
143
144 if (ret && *ret)
145 {
146 return false;
147 }
148
149 return true;
150}
virtual bool OnIsAffectedBySpellModCheck(SpellInfo const *, SpellInfo const *, SpellModifier const *)
Definition: GlobalScript.h:56

References GlobalScript::OnIsAffectedBySpellModCheck().

◆ OnIsFFAPvP()

void ScriptMgr::OnIsFFAPvP ( Player player,
bool &  result 
)
1376{
1377 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1378 {
1379 script->OnIsFFAPvP(player, result);
1380 });
1381}
virtual void OnIsFFAPvP(Player *, bool &)
Definition: PlayerScript.h:395

References PlayerScript::OnIsFFAPvP().

◆ OnIsPvP()

void ScriptMgr::OnIsPvP ( Player player,
bool &  result 
)
1392{
1393 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1394 {
1395 script->OnIsPvP(player, result);
1396 });
1397}
virtual void OnIsPvP(Player *, bool &)
Definition: PlayerScript.h:400

References PlayerScript::OnIsPvP().

◆ OnItemCreate()

void ScriptMgr::OnItemCreate ( Item item,
ItemTemplate const *  itemProto,
Player const *  owner 
)
23{
24 ExecuteScript<MiscScript>([&](MiscScript* script)
25 {
26 script->OnItemCreate(item, itemProto, owner);
27 });
28}
virtual void OnItemCreate(Item *, ItemTemplate const *, Player const *)
Definition: MiscScript.h:48

References MiscScript::OnItemCreate().

◆ OnItemExpire()

bool ScriptMgr::OnItemExpire ( Player player,
ItemTemplate const *  proto 
)
65{
66 ASSERT(player);
67 ASSERT(proto);
68
69 auto ret = IsValidBoolScript<AllItemScript>([&](AllItemScript* script)
70 {
71 return !script->CanItemExpire(player, proto);
72 });
73
74 if (ret && *ret)
75 {
76 return false;
77 }
78
79 auto tempScript = ScriptRegistry<ItemScript>::GetScriptById(proto->ScriptId);
80 return tempScript ? tempScript->OnExpire(player, proto) : false;
81}
virtual bool CanItemExpire(Player *, ItemTemplate const *)
Definition: AllItemScript.h:39

References ASSERT, AllItemScript::CanItemExpire(), ScriptRegistry< TScript >::GetScriptById(), and ItemTemplate::ScriptId.

◆ OnItemRemove()

bool ScriptMgr::OnItemRemove ( Player player,
Item item 
)
84{
85 ASSERT(player);
86 ASSERT(item);
87
88 auto ret = IsValidBoolScript<AllItemScript>([&](AllItemScript* script)
89 {
90 return !script->CanItemRemove(player, item);
91 });
92
93 if (ret && *ret)
94 {
95 return false;
96 }
97
99 return tempScript ? tempScript->OnRemove(player, item) : false;
100}
virtual bool CanItemRemove(Player *, Item *)
Definition: AllItemScript.h:36

References ASSERT, AllItemScript::CanItemRemove(), ScriptRegistry< TScript >::GetScriptById(), and Item::GetScriptId().

◆ OnItemRoll()

bool ScriptMgr::OnItemRoll ( Player const *  player,
LootStoreItem const *  LootStoreItem,
float &  chance,
Loot loot,
LootStore const &  store 
)
76{
77 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
78 {
79 return !script->OnItemRoll(player, lootStoreItem, chance, loot, store);
80 });
81
82 if (ret && *ret)
83 {
84 return false;
85 }
86
87 return true;
88}
virtual bool OnItemRoll(Player const *, LootStoreItem const *, float &, Loot &, LootStore const &)
Definition: GlobalScript.h:41

References GlobalScript::OnItemRoll().

◆ OnItemUse()

bool ScriptMgr::OnItemUse ( Player player,
Item item,
SpellCastTargets const &  targets 
)
46{
47 ASSERT(player);
48 ASSERT(item);
49
50 auto ret = IsValidBoolScript<AllItemScript>([&](AllItemScript* script)
51 {
52 return script->CanItemUse(player, item, targets);
53 });
54
55 if (ret && *ret)
56 {
57 return true;
58 }
59
61 return tempScript ? tempScript->OnUse(player, item, targets) : false;
62}
virtual bool CanItemUse(Player *, Item *, SpellCastTargets const &)
Definition: AllItemScript.h:33

References ASSERT, AllItemScript::CanItemUse(), ScriptRegistry< TScript >::GetScriptById(), and Item::GetScriptId().

◆ OnLastIpUpdate()

void ScriptMgr::OnLastIpUpdate ( uint32  accountId,
std::string  ip 
)
39{
40 ExecuteScript<AccountScript>([&](AccountScript* script)
41 {
42 script->OnLastIpUpdate(accountId, ip);
43 });
44}
virtual void OnLastIpUpdate(uint32, std::string)
Definition: AccountScript.h:33

References AccountScript::OnLastIpUpdate().

◆ OnLoadCustomDatabaseTable()

void ScriptMgr::OnLoadCustomDatabaseTable ( )
31{
32 ExecuteScript<WorldScript>([&](WorldScript* script)
33 {
35 });
36}
virtual void OnLoadCustomDatabaseTable()
Definition: WorldScript.h:36

References WorldScript::OnLoadCustomDatabaseTable().

◆ OnLoadGridMap()

void ScriptMgr::OnLoadGridMap ( Map map,
GridMap gmap,
uint32  gx,
uint32  gy 
)
144{
145 ASSERT(map);
146 ASSERT(gmap);
147
148 ForeachMaps<WorldMapScript>(map,
149 [&](WorldMapScript* script)
150 {
151 script->OnLoadGridMap(map, gmap, gx, gy);
152 });
153
154 ForeachMaps<InstanceMapScript>(map,
155 [&](InstanceMapScript* script)
156 {
157 script->OnLoadGridMap((InstanceMap*)map, gmap, gx, gy);
158 });
159
160 ForeachMaps<BattlegroundMapScript>(map,
161 [&](BattlegroundMapScript* script)
162 {
163 script->OnLoadGridMap((BattlegroundMap*)map, gmap, gx, gy);
164 });
165}
virtual void OnLoadGridMap(TMap *, GridMap *, uint32, uint32)
Definition: ScriptObject.h:99

References ASSERT, and MapScript< TMap >::OnLoadGridMap().

◆ OnLoadSpellCustomAttr()

void ScriptMgr::OnLoadSpellCustomAttr ( SpellInfo spell)
168{
169 ExecuteScript<GlobalScript>([&](GlobalScript* script)
170 {
171 script->OnLoadSpellCustomAttr(spell);
172 });
173}
virtual void OnLoadSpellCustomAttr(SpellInfo *)
Definition: GlobalScript.h:62

References GlobalScript::OnLoadSpellCustomAttr().

◆ OnLootItem()

void ScriptMgr::OnLootItem ( Player player,
Item item,
uint32  count,
ObjectGuid  lootguid 
)
602{
603 ExecuteScript<PlayerScript>([&](PlayerScript* script)
604 {
605 script->OnLootItem(player, item, count, lootguid);
606 });
607}
virtual void OnLootItem(Player *, Item *, uint32, ObjectGuid)
Definition: PlayerScript.h:225

References PlayerScript::OnLootItem().

◆ OnLootMoney()

void ScriptMgr::OnLootMoney ( Player player,
uint32  gold 
)
23{
24 ASSERT(player);
25
26 ExecuteScript<LootScript>([&](LootScript* script)
27 {
28 script->OnLootMoney(player, gold);
29 });
30}
Definition: LootScript.h:24
virtual void OnLootMoney(Player *, uint32)
This hook called before money loot.
Definition: LootScript.h:37

References ASSERT, and LootScript::OnLootMoney().

◆ OnMapUpdate()

void ScriptMgr::OnMapUpdate ( Map map,
uint32  diff 
)
255{
256 ASSERT(map);
257
258 ExecuteScript<AllMapScript>([&](AllMapScript* script)
259 {
260 script->OnMapUpdate(map, diff);
261 });
262
263 ForeachMaps<WorldMapScript>(map,
264 [&](WorldMapScript* script)
265 {
266 script->OnUpdate(map, diff);
267 });
268
269 ForeachMaps<InstanceMapScript>(map,
270 [&](InstanceMapScript* script)
271 {
272 script->OnUpdate((InstanceMap*)map, diff);
273 });
274
275 ForeachMaps<BattlegroundMapScript>(map,
276 [&](BattlegroundMapScript* script)
277 {
278 script->OnUpdate((BattlegroundMap*)map, diff);
279 });
280}
virtual void OnMapUpdate(Map *, uint32)
This hook called before updating map.
Definition: AllMapScript.h:84
void OnUpdate(TMap *, uint32) override
Definition: ScriptObject.h:111

References ASSERT, and AllMapScript::OnMapUpdate().

◆ OnMotdChange()

void ScriptMgr::OnMotdChange ( std::string &  newMotd)
63{
64 ExecuteScript<WorldScript>([&](WorldScript* script)
65 {
66 script->OnMotdChange(newMotd);
67 });
68}
virtual void OnMotdChange(std::string &)
Definition: WorldScript.h:42

References WorldScript::OnMotdChange().

◆ OnNetworkStart()

void ScriptMgr::OnNetworkStart ( )
23{
24 ExecuteScript<ServerScript>([&](ServerScript* script)
25 {
26 script->OnNetworkStart();
27 });
28}
virtual void OnNetworkStart()
Definition: ServerScript.h:30

References ServerScript::OnNetworkStart().

◆ OnNetworkStop()

void ScriptMgr::OnNetworkStop ( )
31{
32 ExecuteScript<ServerScript>([&](ServerScript* script)
33 {
34 script->OnNetworkStop();
35 });
36}
virtual void OnNetworkStop()
Definition: ServerScript.h:33

References ServerScript::OnNetworkStop().

◆ OnOpenStateChange()

void ScriptMgr::OnOpenStateChange ( bool  open)
23{
24 ExecuteScript<WorldScript>([&](WorldScript* script)
25 {
26 script->OnOpenStateChange(open);
27 });
28}
virtual void OnOpenStateChange(bool)
Definition: WorldScript.h:30

References WorldScript::OnOpenStateChange().

◆ OnPasswordChange()

void ScriptMgr::OnPasswordChange ( uint32  accountId)
71{
72 ExecuteScript<AccountScript>([&](AccountScript* script)
73 {
74 script->OnPasswordChange(accountId);
75 });
76}
virtual void OnPasswordChange(uint32)
Definition: AccountScript.h:45

References AccountScript::OnPasswordChange().

◆ OnPetAddToWorld()

void ScriptMgr::OnPetAddToWorld ( Pet pet)
84{
85 ASSERT(pet);
86
87 ExecuteScript<PetScript>([&](PetScript* script)
88 {
89 script->OnPetAddToWorld(pet);
90 });
91}
virtual void OnPetAddToWorld(Pet *)
This hook called after add pet in world.
Definition: PetScript.h:46

References ASSERT, and PetScript::OnPetAddToWorld().

◆ OnPlayerAddToBattleground()

void ScriptMgr::OnPlayerAddToBattleground ( Player player,
Battleground bg 
)
444{
445 ExecuteScript<PlayerScript>([&](PlayerScript* script)
446 {
447 script->OnAddToBattleground(player, bg);
448 });
449}
virtual void OnAddToBattleground(Player *, Battleground *)
Definition: PlayerScript.h:165

References PlayerScript::OnAddToBattleground().

◆ OnPlayerBeingCharmed()

void ScriptMgr::OnPlayerBeingCharmed ( Player player,
Unit charmer,
uint32  oldFactionId,
uint32  newFactionId 
)
530{
531 ExecuteScript<PlayerScript>([&](PlayerScript* script)
532 {
533 script->OnBeingCharmed(player, charmer, oldFactionId, newFactionId);
534 });
535}
virtual void OnBeingCharmed(Player *, Unit *, uint32, uint32)
Definition: PlayerScript.h:198

References PlayerScript::OnBeingCharmed().

◆ OnPlayerBindToInstance()

void ScriptMgr::OnPlayerBindToInstance ( Player player,
Difficulty  difficulty,
uint32  mapid,
bool  permanent 
)
397{
398 ExecuteScript<PlayerScript>([&](PlayerScript* script)
399 {
400 script->OnBindToInstance(player, difficulty, mapid, permanent);
401 });
402}
virtual void OnBindToInstance(Player *, Difficulty, uint32, bool)
Definition: PlayerScript.h:147

References PlayerScript::OnBindToInstance().

◆ OnPlayerChat() [1/5]

void ScriptMgr::OnPlayerChat ( Player player,
uint32  type,
uint32  lang,
std::string &  msg 
)
253{
254 ExecuteScript<PlayerScript>([&](PlayerScript* script)
255 {
256 script->OnChat(player, type, lang, msg);
257 });
258}
virtual void OnChat(Player *, uint32, uint32, std::string &)
Definition: PlayerScript.h:105

References PlayerScript::OnChat().

◆ OnPlayerChat() [2/5]

void ScriptMgr::OnPlayerChat ( Player player,
uint32  type,
uint32  lang,
std::string &  msg,
Channel channel 
)
293{
294 ExecuteScript<PlayerScript>([&](PlayerScript* script)
295 {
296 script->OnChat(player, type, lang, msg, channel);
297 });
298}

References PlayerScript::OnChat().

◆ OnPlayerChat() [3/5]

void ScriptMgr::OnPlayerChat ( Player player,
uint32  type,
uint32  lang,
std::string &  msg,
Group group 
)
277{
278 ExecuteScript<PlayerScript>([&](PlayerScript* script)
279 {
280 script->OnChat(player, type, lang, msg, group);
281 });
282}

References PlayerScript::OnChat().

◆ OnPlayerChat() [4/5]

void ScriptMgr::OnPlayerChat ( Player player,
uint32  type,
uint32  lang,
std::string &  msg,
Guild guild 
)
285{
286 ExecuteScript<PlayerScript>([&](PlayerScript* script)
287 {
288 script->OnChat(player, type, lang, msg, guild);
289 });
290}

References PlayerScript::OnChat().

◆ OnPlayerChat() [5/5]

void ScriptMgr::OnPlayerChat ( Player player,
uint32  type,
uint32  lang,
std::string &  msg,
Player receiver 
)
269{
270 ExecuteScript<PlayerScript>([&](PlayerScript* script)
271 {
272 script->OnChat(player, type, lang, msg, receiver);
273 });
274}

References PlayerScript::OnChat().

◆ OnPlayerCompleteQuest()

void ScriptMgr::OnPlayerCompleteQuest ( Player player,
Quest const *  quest 
)
47{
48 ExecuteScript<PlayerScript>([&](PlayerScript* script)
49 {
50 script->OnPlayerCompleteQuest(player, quest);
51 });
52}
virtual void OnPlayerCompleteQuest(Player *, Quest const *)
Definition: PlayerScript.h:41

References PlayerScript::OnPlayerCompleteQuest().

◆ OnPlayerCreate()

void ScriptMgr::OnPlayerCreate ( Player player)
365{
366 ExecuteScript<PlayerScript>([&](PlayerScript* script)
367 {
368 script->OnCreate(player);
369 });
370}
virtual void OnCreate(Player *)
Definition: PlayerScript.h:135

References PlayerScript::OnCreate().

◆ OnPlayerDelete()

void ScriptMgr::OnPlayerDelete ( ObjectGuid  guid,
uint32  accountId 
)
381{
382 ExecuteScript<PlayerScript>([&](PlayerScript* script)
383 {
384 script->OnDelete(guid, accountId);
385 });
386}
virtual void OnDelete(ObjectGuid, uint32)
Definition: PlayerScript.h:138

References PlayerScript::OnDelete().

◆ OnPlayerDuelEnd()

void ScriptMgr::OnPlayerDuelEnd ( Player winner,
Player loser,
DuelCompleteType  type 
)
245{
246 ExecuteScript<PlayerScript>([&](PlayerScript* script)
247 {
248 script->OnDuelEnd(winner, loser, type);
249 });
250}
virtual void OnDuelEnd(Player *, Player *, DuelCompleteType)
Definition: PlayerScript.h:102

References PlayerScript::OnDuelEnd().

◆ OnPlayerDuelRequest()

void ScriptMgr::OnPlayerDuelRequest ( Player target,
Player challenger 
)
229{
230 ExecuteScript<PlayerScript>([&](PlayerScript* script)
231 {
232 script->OnDuelRequest(target, challenger);
233 });
234}
virtual void OnDuelRequest(Player *, Player *)
Definition: PlayerScript.h:96

References PlayerScript::OnDuelRequest().

◆ OnPlayerDuelStart()

void ScriptMgr::OnPlayerDuelStart ( Player player1,
Player player2 
)
237{
238 ExecuteScript<PlayerScript>([&](PlayerScript* script)
239 {
240 script->OnDuelStart(player1, player2);
241 });
242}
virtual void OnDuelStart(Player *, Player *)
Definition: PlayerScript.h:99

References PlayerScript::OnDuelStart().

◆ OnPlayerEmote()

void ScriptMgr::OnPlayerEmote ( Player player,
uint32  emote 
)
301{
302 ExecuteScript<PlayerScript>([&](PlayerScript* script)
303 {
304 script->OnEmote(player, emote);
305 });
306}
virtual void OnEmote(Player *, uint32)
Definition: PlayerScript.h:118

References PlayerScript::OnEmote().

◆ OnPlayerEnterCombat()

void ScriptMgr::OnPlayerEnterCombat ( Player player,
Unit enemy 
)
1599{
1600 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1601 {
1602 script->OnPlayerEnterCombat(player, enemy);
1603 });
1604}
virtual void OnPlayerEnterCombat(Player *, Unit *)
This hook called after player entering combat.
Definition: PlayerScript.h:501

References PlayerScript::OnPlayerEnterCombat().

◆ OnPlayerEnterMap()

void ScriptMgr::OnPlayerEnterMap ( Map map,
Player player 
)
192{
193 ASSERT(map);
194 ASSERT(player);
195
196 ExecuteScript<AllMapScript>([&](AllMapScript* script)
197 {
198 script->OnPlayerEnterAll(map, player);
199 });
200
201 ExecuteScript<PlayerScript>([=](PlayerScript* script)
202 {
203 script->OnMapChanged(player);
204 });
205
206 ForeachMaps<WorldMapScript>(map,
207 [&](WorldMapScript* script)
208 {
209 script->OnPlayerEnter(map, player);
210 });
211
212 ForeachMaps<InstanceMapScript>(map,
213 [&](InstanceMapScript* script)
214 {
215 script->OnPlayerEnter((InstanceMap*)map, player);
216 });
217
218 ForeachMaps<BattlegroundMapScript>(map,
219 [&](BattlegroundMapScript* script)
220 {
221 script->OnPlayerEnter((BattlegroundMap*)map, player);
222 });
223}
virtual void OnPlayerEnterAll(Map *, Player *)
This hook called when a player enters any Map.
Definition: AllMapScript.h:35
virtual void OnMapChanged(Player *)
Definition: PlayerScript.h:156
virtual void OnPlayerEnter(TMap *, Player *)
Definition: ScriptObject.h:105

References ASSERT, and AllMapScript::OnPlayerEnterAll().

◆ OnPlayerFailedDelete()

void ScriptMgr::OnPlayerFailedDelete ( ObjectGuid  guid,
uint32  accountId 
)
389{
390 ExecuteScript<PlayerScript>([&](PlayerScript* script)
391 {
392 script->OnFailedDelete(guid, accountId);
393 });
394}
virtual void OnFailedDelete(ObjectGuid, uint32)
Definition: PlayerScript.h:141

References PlayerScript::OnFailedDelete().

◆ OnPlayerForgotSpell()

void ScriptMgr::OnPlayerForgotSpell ( Player player,
uint32  spellID 
)
221{
222 ExecuteScript<PlayerScript>([&](PlayerScript* script)
223 {
224 script->OnForgotSpell(player, spellID);
225 });
226}
virtual void OnForgotSpell(Player *, uint32)
Definition: PlayerScript.h:93

References PlayerScript::OnForgotSpell().

◆ OnPlayerFreeTalentPointsChanged()

void ScriptMgr::OnPlayerFreeTalentPointsChanged ( Player player,
uint32  newPoints 
)
142{
143 ExecuteScript<PlayerScript>([&](PlayerScript* script)
144 {
145 script->OnFreeTalentPointsChanged(player, points);
146 });
147}
virtual void OnFreeTalentPointsChanged(Player *, uint32)
Definition: PlayerScript.h:62

References PlayerScript::OnFreeTalentPointsChanged().

◆ OnPlayerJoinArena()

void ScriptMgr::OnPlayerJoinArena ( Player player)
570{
571 ExecuteScript<PlayerScript>([&](PlayerScript* script)
572 {
573 script->OnPlayerJoinArena(player);
574 });
575}
virtual void OnPlayerJoinArena(Player *)
Definition: PlayerScript.h:213

References PlayerScript::OnPlayerJoinArena().

◆ OnPlayerJoinBG()

void ScriptMgr::OnPlayerJoinBG ( Player player)
562{
563 ExecuteScript<PlayerScript>([&](PlayerScript* script)
564 {
565 script->OnPlayerJoinBG(player);
566 });
567}
virtual void OnPlayerJoinBG(Player *)
Definition: PlayerScript.h:210

References PlayerScript::OnPlayerJoinBG().

◆ OnPlayerKilledByCreature()

void ScriptMgr::OnPlayerKilledByCreature ( Creature killer,
Player killed 
)
126{
127 ExecuteScript<PlayerScript>([&](PlayerScript* script)
128 {
129 script->OnPlayerKilledByCreature(killer, killed);
130 });
131}
virtual void OnPlayerKilledByCreature(Creature *, Player *)
Definition: PlayerScript.h:56

References PlayerScript::OnPlayerKilledByCreature().

◆ OnPlayerLearnSpell()

void ScriptMgr::OnPlayerLearnSpell ( Player player,
uint32  spellID 
)
213{
214 ExecuteScript<PlayerScript>([&](PlayerScript* script)
215 {
216 script->OnLearnSpell(player, spellID);
217 });
218}
virtual void OnLearnSpell(Player *, uint32)
Definition: PlayerScript.h:90

References PlayerScript::OnLearnSpell().

◆ OnPlayerLearnTalents()

void ScriptMgr::OnPlayerLearnTalents ( Player player,
uint32  talentId,
uint32  talentRank,
uint32  spellid 
)
1591{
1592 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1593 {
1594 script->OnPlayerLearnTalents(player, talentId, talentRank, spellid);
1595 });
1596}
virtual void OnPlayerLearnTalents(Player *, uint32, uint32, uint32)
This hook called after player learning talents.
Definition: PlayerScript.h:493

References PlayerScript::OnPlayerLearnTalents().

◆ OnPlayerLeaveCombat()

void ScriptMgr::OnPlayerLeaveCombat ( Player player)
1607{
1608 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1609 {
1610 script->OnPlayerLeaveCombat(player);
1611 });
1612}
virtual void OnPlayerLeaveCombat(Player *)
This hook called after player leave combat.
Definition: PlayerScript.h:508

References PlayerScript::OnPlayerLeaveCombat().

◆ OnPlayerLeaveMap()

void ScriptMgr::OnPlayerLeaveMap ( Map map,
Player player 
)
226{
227 ASSERT(map);
228 ASSERT(player);
229
230 ExecuteScript<AllMapScript>([&](AllMapScript* script)
231 {
232 script->OnPlayerLeaveAll(map, player);
233 });
234
235 ForeachMaps<WorldMapScript>(map,
236 [&](WorldMapScript* script)
237 {
238 script->OnPlayerLeave(map, player);
239 });
240
241 ForeachMaps<InstanceMapScript>(map,
242 [&](InstanceMapScript* script)
243 {
244 script->OnPlayerLeave((InstanceMap*)map, player);
245 });
246
247 ForeachMaps<BattlegroundMapScript>(map,
248 [&](BattlegroundMapScript* script)
249 {
250 script->OnPlayerLeave((BattlegroundMap*)map, player);
251 });
252}
virtual void OnPlayerLeaveAll(Map *, Player *)
This hook called when a player leave any Map.
Definition: AllMapScript.h:43
virtual void OnPlayerLeave(TMap *, Player *)
Definition: ScriptObject.h:108

References ASSERT, and AllMapScript::OnPlayerLeaveAll().

◆ OnPlayerLevelChanged()

void ScriptMgr::OnPlayerLevelChanged ( Player player,
uint8  oldLevel 
)
134{
135 ExecuteScript<PlayerScript>([&](PlayerScript* script)
136 {
137 script->OnLevelChanged(player, oldLevel);
138 });
139}
virtual void OnLevelChanged(Player *, uint8)
Definition: PlayerScript.h:59

References PlayerScript::OnLevelChanged().

◆ OnPlayerLoadFromDB()

void ScriptMgr::OnPlayerLoadFromDB ( Player player)
349{
350 ExecuteScript<PlayerScript>([&](PlayerScript* script)
351 {
352 script->OnLoadFromDB(player);
353 });
354}
virtual void OnLoadFromDB(Player *)
Definition: PlayerScript.h:126

References PlayerScript::OnLoadFromDB().

◆ OnPlayerLogin()

void ScriptMgr::OnPlayerLogin ( Player player)
341{
342 ExecuteScript<PlayerScript>([&](PlayerScript* script)
343 {
344 script->OnLogin(player);
345 });
346}
virtual void OnLogin(Player *)
Definition: PlayerScript.h:129

References PlayerScript::OnLogin().

◆ OnPlayerLogout()

void ScriptMgr::OnPlayerLogout ( Player player)
357{
358 ExecuteScript<PlayerScript>([&](PlayerScript* script)
359 {
360 script->OnLogout(player);
361 });
362}
virtual void OnLogout(Player *)
Definition: PlayerScript.h:132

References PlayerScript::OnLogout().

◆ OnPlayerMoneyChanged()

void ScriptMgr::OnPlayerMoneyChanged ( Player player,
int32 amount 
)
166{
167 ExecuteScript<PlayerScript>([&](PlayerScript* script)
168 {
169 script->OnMoneyChanged(player, amount);
170 });
171}
virtual void OnMoneyChanged(Player *, int32 &)
Definition: PlayerScript.h:75

References PlayerScript::OnMoneyChanged().

◆ OnPlayerMove()

void ScriptMgr::OnPlayerMove ( Player player,
MovementInfo  movementInfo,
uint32  opcode 
)
23{
24 ExecuteScript<MovementHandlerScript>([&](MovementHandlerScript* script)
25 {
26 script->OnPlayerMove(player, movementInfo, opcode);
27 });
28}
Definition: MovementHandlerScript.h:25
virtual void OnPlayerMove(Player *, MovementInfo, uint32)
Definition: MovementHandlerScript.h:31

References MovementHandlerScript::OnPlayerMove().

◆ OnPlayerPVPFlagChange()

void ScriptMgr::OnPlayerPVPFlagChange ( Player player,
bool  state 
)
102{
103 ExecuteScript<PlayerScript>([&](PlayerScript* script)
104 {
105 script->OnPlayerPVPFlagChange(player, state);
106 });
107}
virtual void OnPlayerPVPFlagChange(Player *, bool)
Definition: PlayerScript.h:47

References PlayerScript::OnPlayerPVPFlagChange().

◆ OnPlayerQueueRandomDungeon()

void ScriptMgr::OnPlayerQueueRandomDungeon ( Player player,
uint32 rDungeonId 
)
452{
453 ExecuteScript<PlayerScript>([&](PlayerScript* script)
454 {
455 script->OnQueueRandomDungeon(player, rDungeonId);
456 });
457}
virtual void OnQueueRandomDungeon(Player *, uint32 &)
Definition: PlayerScript.h:168

References PlayerScript::OnQueueRandomDungeon().

◆ OnPlayerReleasedGhost()

void ScriptMgr::OnPlayerReleasedGhost ( Player player)
71{
72 ExecuteScript<PlayerScript>([&](PlayerScript* script)
73 {
74 script->OnPlayerReleasedGhost(player);
75 });
76}
virtual void OnPlayerReleasedGhost(Player *)
Definition: PlayerScript.h:32

References PlayerScript::OnPlayerReleasedGhost().

◆ OnPlayerRemoveFromBattleground()

void ScriptMgr::OnPlayerRemoveFromBattleground ( Player player,
Battleground bg 
)
460{
461 ExecuteScript<PlayerScript>([&](PlayerScript* script)
462 {
463 script->OnRemoveFromBattleground(player, bg);
464 });
465}
virtual void OnRemoveFromBattleground(Player *, Battleground *)
Definition: PlayerScript.h:171

References PlayerScript::OnRemoveFromBattleground().

◆ OnPlayerReputationChange()

bool ScriptMgr::OnPlayerReputationChange ( Player player,
uint32  factionID,
int32 standing,
bool  incremental 
)
190{
191 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
192 {
193 return !script->OnReputationChange(player, factionID, standing, incremental);
194 });
195
196 if (ret && *ret)
197 {
198 return false;
199 }
200
201 return true;
202}
virtual bool OnReputationChange(Player *, uint32, int32 &, bool)
Definition: PlayerScript.h:84

References PlayerScript::OnReputationChange().

◆ OnPlayerReputationRankChange()

void ScriptMgr::OnPlayerReputationRankChange ( Player player,
uint32  factionID,
ReputationRank  newRank,
ReputationRank  oldRank,
bool  increased 
)
205{
206 ExecuteScript<PlayerScript>([&](PlayerScript* script)
207 {
208 script->OnReputationRankChange(player, factionID, newRank, oldRank, increased);
209 });
210}
virtual void OnReputationRankChange(Player *, uint32, ReputationRank, ReputationRank, bool)
Definition: PlayerScript.h:87

References PlayerScript::OnReputationRankChange().

◆ OnPlayerResurrect()

void ScriptMgr::OnPlayerResurrect ( Player player,
float  restore_percent,
bool  applySickness 
)
1500{
1501 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1502 {
1503 script->OnPlayerResurrect(player, restore_percent, applySickness);
1504 });
1505}
virtual void OnPlayerResurrect(Player *, float, bool)
Definition: PlayerScript.h:416

References PlayerScript::OnPlayerResurrect().

◆ OnPlayerSave()

void ScriptMgr::OnPlayerSave ( Player player)
373{
374 ExecuteScript<PlayerScript>([&](PlayerScript* script)
375 {
376 script->OnSave(player);
377 });
378}
virtual void OnSave(Player *)
Definition: PlayerScript.h:144

References PlayerScript::OnSave().

◆ OnPlayerSetPhase()

void ScriptMgr::OnPlayerSetPhase ( const AuraEffect auraEff,
AuraApplication const *  aurApp,
uint8  mode,
bool  apply,
uint32 newPhase 
)
172{
173 ExecuteScript<MiscScript>([&](MiscScript* script)
174 {
175 script->OnPlayerSetPhase(auraEff, aurApp, mode, apply, newPhase);
176 });
177}
virtual void OnPlayerSetPhase(const AuraEffect *, AuraApplication const *, uint8, bool, uint32 &)
Definition: MiscScript.h:62

References MiscScript::OnPlayerSetPhase().

◆ OnPlayerSpellCast()

void ScriptMgr::OnPlayerSpellCast ( Player player,
Spell spell,
bool  skipCheck 
)
317{
318 ExecuteScript<PlayerScript>([&](PlayerScript* script)
319 {
320 script->OnSpellCast(player, spell, skipCheck);
321 });
322}
virtual void OnSpellCast(Player *, Spell *, bool)
Definition: PlayerScript.h:123

References PlayerScript::OnSpellCast().

◆ OnPlayerTalentsReset()

void ScriptMgr::OnPlayerTalentsReset ( Player player,
bool  noCost 
)
150{
151 ExecuteScript<PlayerScript>([&](PlayerScript* script)
152 {
153 script->OnTalentsReset(player, noCost);
154 });
155}
virtual void OnTalentsReset(Player *, bool)
Definition: PlayerScript.h:65

References PlayerScript::OnTalentsReset().

◆ OnPlayerTextEmote()

void ScriptMgr::OnPlayerTextEmote ( Player player,
uint32  textEmote,
uint32  emoteNum,
ObjectGuid  guid 
)
309{
310 ExecuteScript<PlayerScript>([&](PlayerScript* script)
311 {
312 script->OnTextEmote(player, textEmote, emoteNum, guid);
313 });
314}
virtual void OnTextEmote(Player *, uint32, uint32, ObjectGuid)
Definition: PlayerScript.h:120

References PlayerScript::OnTextEmote().

◆ OnPlayerUpdate()

void ScriptMgr::OnPlayerUpdate ( Player player,
uint32  p_time 
)
333{
334 ExecuteScript<PlayerScript>([&](PlayerScript* script)
335 {
336 script->OnUpdate(player, p_time);
337 });
338}
virtual void OnUpdate(Player *, uint32)
Definition: PlayerScript.h:72

References PlayerScript::OnUpdate().

◆ OnPlayerUpdateArea()

void ScriptMgr::OnPlayerUpdateArea ( Player player,
uint32  oldArea,
uint32  newArea 
)
413{
414 ExecuteScript<PlayerScript>([&](PlayerScript* script)
415 {
416 script->OnUpdateArea(player, oldArea, newArea);
417 });
418}
virtual void OnUpdateArea(Player *, uint32, uint32)
Definition: PlayerScript.h:153

References PlayerScript::OnUpdateArea().

◆ OnPlayerUpdateFaction()

void ScriptMgr::OnPlayerUpdateFaction ( Player player)
436{
437 ExecuteScript<PlayerScript>([&](PlayerScript* script)
438 {
439 script->OnUpdateFaction(player);
440 });
441}
virtual void OnUpdateFaction(Player *)
Definition: PlayerScript.h:162

References PlayerScript::OnUpdateFaction().

◆ OnPlayerUpdateZone()

void ScriptMgr::OnPlayerUpdateZone ( Player player,
uint32  newZone,
uint32  newArea 
)
405{
406 ExecuteScript<PlayerScript>([&](PlayerScript* script)
407 {
408 script->OnUpdateZone(player, newZone, newArea);
409 });
410}
virtual void OnUpdateZone(Player *, uint32, uint32)
Definition: PlayerScript.h:150

References PlayerScript::OnUpdateZone().

◆ OnPVPKill()

void ScriptMgr::OnPVPKill ( Player killer,
Player killed 
)
94{
95 ExecuteScript<PlayerScript>([&](PlayerScript* script)
96 {
97 script->OnPVPKill(killer, killed);
98 });
99}
virtual void OnPVPKill(Player *, Player *)
Definition: PlayerScript.h:44

References PlayerScript::OnPVPKill().

◆ OnQuestAbandon()

void ScriptMgr::OnQuestAbandon ( Player player,
uint32  questId 
)
1615{
1616 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1617 {
1618 script->OnQuestAbandon(player, questId);
1619 });
1620}
virtual void OnQuestAbandon(Player *, uint32)
This hook called after player abandoning quest.
Definition: PlayerScript.h:516

References PlayerScript::OnQuestAbandon().

◆ OnQuestAccept() [1/3]

bool ScriptMgr::OnQuestAccept ( Player player,
Creature creature,
Quest const *  quest 
)
84{
85 ASSERT(player);
86 ASSERT(creature);
87 ASSERT(quest);
88
89 auto ret = IsValidBoolScript<AllCreatureScript>([&](AllCreatureScript* script)
90 {
91 return script->CanCreatureQuestAccept(player, creature, quest);
92 });
93
94 if (ret && *ret)
95 {
96 return true;
97 }
98
100 ClearGossipMenuFor(player);
101 return tempScript ? tempScript->OnQuestAccept(player, creature, quest) : false;
102}
virtual bool CanCreatureQuestAccept(Player *, Creature *, Quest const *)
Definition: AllCreatureScript.h:95

References ASSERT, AllCreatureScript::CanCreatureQuestAccept(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnQuestAccept() [2/3]

bool ScriptMgr::OnQuestAccept ( Player player,
GameObject go,
Quest const *  quest 
)
84{
85 ASSERT(player);
86 ASSERT(go);
87 ASSERT(quest);
88
89 auto ret = IsValidBoolScript<AllGameObjectScript>([&](AllGameObjectScript* script)
90 {
91 return script->CanGameObjectQuestAccept(player, go, quest);
92 });
93
94 if (ret && *ret)
95 {
96 return true;
97 }
98
100 ClearGossipMenuFor(player);
101 return tempScript ? tempScript->OnQuestAccept(player, go, quest) : false;
102}
virtual bool CanGameObjectQuestAccept(Player *, GameObject *, Quest const *)
Definition: AllGameObjectScript.h:65

References ASSERT, AllGameObjectScript::CanGameObjectQuestAccept(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ OnQuestAccept() [3/3]

bool ScriptMgr::OnQuestAccept ( Player player,
Item item,
Quest const *  quest 
)
25{
26 ASSERT(player);
27 ASSERT(item);
28 ASSERT(quest);
29
30 auto ret = IsValidBoolScript<AllItemScript>([&](AllItemScript* script)
31 {
32 return !script->CanItemQuestAccept(player, item, quest);
33 });
34
35 if (ret && *ret)
36 {
37 return false;
38 }
39
41 ClearGossipMenuFor(player);
42 return tempScript ? tempScript->OnQuestAccept(player, item, quest) : false;
43}
virtual bool CanItemQuestAccept(Player *, Item *, Quest const *)
Definition: AllItemScript.h:30

References ASSERT, AllItemScript::CanItemQuestAccept(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Item::GetScriptId().

◆ OnQuestComplete()

bool ScriptMgr::OnQuestComplete ( Player player,
Creature creature,
Quest const *  quest 
)
116{
117 ASSERT(player);
118 ASSERT(creature);
119 ASSERT(quest);
120
121 auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId());
122 ClearGossipMenuFor(player);
123 return tempScript ? tempScript->OnQuestComplete(player, creature, quest) : false;
124}

References ASSERT, ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnQuestComputeXP()

void ScriptMgr::OnQuestComputeXP ( Player player,
Quest const *  quest,
uint32 xpValue 
)
827{
828 ExecuteScript<PlayerScript>([&](PlayerScript* script)
829 {
830 script->OnQuestComputeXP(player, quest, xpValue);
831 });
832}
virtual void OnQuestComputeXP(Player *, Quest const *, uint32 &)
Definition: PlayerScript.h:252

References PlayerScript::OnQuestComputeXP().

◆ OnQuestReward() [1/2]

bool ScriptMgr::OnQuestReward ( Player player,
Creature creature,
Quest const *  quest,
uint32  opt 
)
127{
128 ASSERT(player);
129 ASSERT(creature);
130 ASSERT(quest);
131
132 auto ret = IsValidBoolScript<AllCreatureScript>([&](AllCreatureScript* script)
133 {
134 return script->CanCreatureQuestReward(player, creature, quest, opt);
135 });
136
137 if (ret && *ret)
138 {
139 return false;
140 }
141
142 auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId());
143 ClearGossipMenuFor(player);
144 return tempScript ? tempScript->OnQuestReward(player, creature, quest, opt) : false;
145}
virtual bool CanCreatureQuestReward(Player *, Creature *, Quest const *, uint32)
Definition: AllCreatureScript.h:98

References ASSERT, AllCreatureScript::CanCreatureQuestReward(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnQuestReward() [2/2]

bool ScriptMgr::OnQuestReward ( Player player,
GameObject go,
Quest const *  quest,
uint32  opt 
)
105{
106 ASSERT(player);
107 ASSERT(go);
108 ASSERT(quest);
109
110 auto ret = IsValidBoolScript<AllGameObjectScript>([&](AllGameObjectScript* script)
111 {
112 return script->CanGameObjectQuestReward(player, go, quest, opt);
113 });
114
115 if (ret && *ret)
116 {
117 return false;
118 }
119
121 ClearGossipMenuFor(player);
122 return tempScript ? tempScript->OnQuestReward(player, go, quest, opt) : false;
123}
virtual bool CanGameObjectQuestReward(Player *, GameObject *, Quest const *, uint32)
Definition: AllGameObjectScript.h:68

References ASSERT, AllGameObjectScript::CanGameObjectQuestReward(), ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and GameObject::GetScriptId().

◆ OnQuestRewardItem()

void ScriptMgr::OnQuestRewardItem ( Player player,
Item item,
uint32  count 
)
634{
635 ExecuteScript<PlayerScript>([&](PlayerScript* script)
636 {
637 script->OnQuestRewardItem(player, item, count);
638 });
639}
virtual void OnQuestRewardItem(Player *, Item *, uint32)
Definition: PlayerScript.h:237

References PlayerScript::OnQuestRewardItem().

◆ OnQuestSelect()

bool ScriptMgr::OnQuestSelect ( Player player,
Creature creature,
Quest const *  quest 
)
105{
106 ASSERT(player);
107 ASSERT(creature);
108 ASSERT(quest);
109
110 auto tempScript = ScriptRegistry<CreatureScript>::GetScriptById(creature->GetScriptId());
111 ClearGossipMenuFor(player);
112 return tempScript ? tempScript->OnQuestSelect(player, creature, quest) : false;
113}

References ASSERT, ClearGossipMenuFor(), ScriptRegistry< TScript >::GetScriptById(), and Creature::GetScriptId().

◆ OnQueueUpdate()

void ScriptMgr::OnQueueUpdate ( BattlegroundQueue queue,
uint32  diff,
BattlegroundTypeId  bgTypeId,
BattlegroundBracketId  bracket_id,
uint8  arenaType,
bool  isRated,
uint32  arenaRating 
)
101{
102 ExecuteScript<AllBattlegroundScript>([&](AllBattlegroundScript* script)
103 {
104 script->OnQueueUpdate(queue, diff, bgTypeId, bracket_id, arenaType, isRated, arenaRating);
105 });
106}
virtual void OnQueueUpdate(BattlegroundQueue *, uint32, BattlegroundTypeId, BattlegroundBracketId, uint8, bool, uint32)
Definition: AllBattlegroundScript.h:57

References AllBattlegroundScript::OnQueueUpdate().

◆ OnRelocate()

void ScriptMgr::OnRelocate ( Transport transport,
uint32  waypointId,
uint32  mapId,
float  x,
float  y,
float  z 
)
66{
67 if (auto tempScript = ScriptRegistry<TransportScript>::GetScriptById(transport->GetScriptId()))
68 {
69 tempScript->OnRelocate(transport, waypointId, mapId, x, y, z);
70 }
71}

References GameObject::GetScriptId().

◆ OnRemoveAuraScaleTargets()

void ScriptMgr::OnRemoveAuraScaleTargets ( Spell spell,
TargetInfo targetInfo,
uint8  auraScaleMask,
bool &  needErase 
)
122{
123 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
124 {
125 script->OnRemoveAuraScaleTargets(spell, targetInfo, auraScaleMask, needErase);
126 });
127}
virtual void OnRemoveAuraScaleTargets(Spell *, TargetInfo &, uint8, bool &)
Definition: AllSpellScript.h:51

References AllSpellScript::OnRemoveAuraScaleTargets().

◆ OnRemovePassenger() [1/2]

void ScriptMgr::OnRemovePassenger ( Transport transport,
Player player 
)
45{
46 ASSERT(transport);
47 ASSERT(player);
48
49 if (auto tempScript = ScriptRegistry<TransportScript>::GetScriptById(transport->GetScriptId()))
50 {
51 tempScript->OnRemovePassenger(transport, player);
52 }
53}

References ASSERT, and GameObject::GetScriptId().

◆ OnRemovePassenger() [2/2]

void ScriptMgr::OnRemovePassenger ( Vehicle veh,
Unit passenger 
)
80{
81 ASSERT(veh);
82 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
83 ASSERT(passenger);
84
86 {
87 tempScript->OnRemovePassenger(veh, passenger);
88 }
89}

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnReset()

void ScriptMgr::OnReset ( Vehicle veh)
45{
46 ASSERT(veh);
47 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
48
50 {
51 tempScript->OnReset(veh);
52 }
53}

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnRewardKillRewarder()

void ScriptMgr::OnRewardKillRewarder ( Player player,
bool  isDungeon,
float &  rate 
)
980{
981 ExecuteScript<PlayerScript>([&](PlayerScript* script)
982 {
983 script->OnRewardKillRewarder(player, isDungeon, rate);
984 });
985}
virtual void OnRewardKillRewarder(Player *, bool, float &)
Definition: PlayerScript.h:310

References PlayerScript::OnRewardKillRewarder().

◆ OnScaleAuraUnitAdd()

void ScriptMgr::OnScaleAuraUnitAdd ( Spell spell,
Unit target,
uint32  effectMask,
bool  checkIfValid,
bool  implicit,
uint8  auraScaleMask,
TargetInfo targetInfo 
)
114{
115 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
116 {
117 script->OnScaleAuraUnitAdd(spell, target, effectMask, checkIfValid, implicit, auraScaleMask, targetInfo);
118 });
119}
virtual void OnScaleAuraUnitAdd(Spell *, Unit *, uint32, bool, bool, uint8, TargetInfo &)
Definition: AllSpellScript.h:49

References AllSpellScript::OnScaleAuraUnitAdd().

◆ OnSendInitialPacketsBeforeAddToMap()

void ScriptMgr::OnSendInitialPacketsBeforeAddToMap ( Player player,
WorldPacket data 
)
55{
56 ExecuteScript<PlayerScript>([&](PlayerScript* script)
57 {
58 script->OnSendInitialPacketsBeforeAddToMap(player, data);
59 });
60}
virtual void OnSendInitialPacketsBeforeAddToMap(Player *, WorldPacket &)
Definition: PlayerScript.h:35

References PlayerScript::OnSendInitialPacketsBeforeAddToMap().

◆ OnSetArenaMaxPlayersPerTeam()

void ScriptMgr::OnSetArenaMaxPlayersPerTeam ( const uint8  arenaType,
uint32 maxPlayerPerTeam 
)
55{
56 ExecuteScript<ArenaTeamScript>([&](ArenaTeamScript* script)
57 {
58 script->OnSetArenaMaxPlayersPerTeam(arenaType, maxPlayerPerTeam);
59 });
60}
virtual void OnSetArenaMaxPlayersPerTeam(const uint8, uint32 &)
Definition: ArenaTeamScript.h:36

References ArenaTeamScript::OnSetArenaMaxPlayersPerTeam().

◆ OnSetMaxLevel()

void ScriptMgr::OnSetMaxLevel ( Player player,
uint32 maxPlayerLevel 
)
688{
689 ExecuteScript<PlayerScript>([&](PlayerScript* script)
690 {
691 script->OnSetMaxLevel(player, maxPlayerLevel);
692 });
693}
virtual void OnSetMaxLevel(Player *, uint32 &)
Definition: PlayerScript.h:277

References PlayerScript::OnSetMaxLevel().

◆ OnSetServerSideVisibility()

void ScriptMgr::OnSetServerSideVisibility ( Player player,
ServerSideVisibilityType type,
AccountTypes sec 
)
1468{
1469 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1470 {
1471 script->OnSetServerSideVisibility(player, type, sec);
1472 });
1473}
virtual void OnSetServerSideVisibility(Player *, ServerSideVisibilityType &, AccountTypes &)
Definition: PlayerScript.h:412

References PlayerScript::OnSetServerSideVisibility().

◆ OnSetServerSideVisibilityDetect()

void ScriptMgr::OnSetServerSideVisibilityDetect ( Player player,
ServerSideVisibilityType type,
AccountTypes sec 
)
1476{
1477 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1478 {
1479 script->OnSetServerSideVisibilityDetect(player, type, sec);
1480 });
1481}
virtual void OnSetServerSideVisibilityDetect(Player *, ServerSideVisibilityType &, AccountTypes &)
Definition: PlayerScript.h:414

References PlayerScript::OnSetServerSideVisibilityDetect().

◆ OnShutdown()

void ScriptMgr::OnShutdown ( )
103{
104 ExecuteScript<WorldScript>([&](WorldScript* script)
105 {
106 script->OnShutdown();
107 });
108}
virtual void OnShutdown()
Definition: WorldScript.h:57

References WorldScript::OnShutdown().

◆ OnShutdownCancel()

void ScriptMgr::OnShutdownCancel ( )
79{
80 ExecuteScript<WorldScript>([&](WorldScript* script)
81 {
82 script->OnShutdownCancel();
83 });
84}
virtual void OnShutdownCancel()
Definition: WorldScript.h:48

References WorldScript::OnShutdownCancel().

◆ OnShutdownInitiate()

void ScriptMgr::OnShutdownInitiate ( ShutdownExitCode  code,
ShutdownMask  mask 
)
71{
72 ExecuteScript<WorldScript>([&](WorldScript* script)
73 {
74 script->OnShutdownInitiate(code, mask);
75 });
76}
virtual void OnShutdownInitiate(ShutdownExitCode, ShutdownMask)
Definition: WorldScript.h:45

References WorldScript::OnShutdownInitiate().

◆ OnSocketClose()

void ScriptMgr::OnSocketClose ( std::shared_ptr< WorldSocket socket)
49{
50 ASSERT(socket);
51
52 ExecuteScript<ServerScript>([&](ServerScript* script)
53 {
54 script->OnSocketClose(socket);
55 });
56}
virtual void OnSocketClose(std::shared_ptr< WorldSocket >)
Definition: ServerScript.h:40

References ASSERT, and ServerScript::OnSocketClose().

◆ OnSocketOpen()

void ScriptMgr::OnSocketOpen ( std::shared_ptr< WorldSocket socket)
39{
40 ASSERT(socket);
41
42 ExecuteScript<ServerScript>([&](ServerScript* script)
43 {
44 script->OnSocketOpen(socket);
45 });
46}
virtual void OnSocketOpen(std::shared_ptr< WorldSocket >)
Definition: ServerScript.h:36

References ASSERT, and ServerScript::OnSocketOpen().

◆ OnSpellCheckCast()

void ScriptMgr::OnSpellCheckCast ( Spell spell,
bool  strict,
SpellCastResult res 
)
61{
62 ExecuteScript<AllSpellScript>([&](AllSpellScript* script)
63 {
64 script->OnSpellCheckCast(spell, strict, res);
65 });
66}
virtual void OnSpellCheckCast(Spell *, bool, SpellCastResult &)
Definition: AllSpellScript.h:41

References AllSpellScript::OnSpellCheckCast().

◆ OnSpellHealingBonusTakenNegativeModifiers()

bool ScriptMgr::OnSpellHealingBonusTakenNegativeModifiers ( Unit const *  target,
Unit const *  caster,
SpellInfo const *  spellInfo,
float &  val 
)
153{
154 auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
155 {
156 return script->OnSpellHealingBonusTakenNegativeModifiers(target, caster, spellInfo, val);
157 });
158
159 if (ret && *ret)
160 {
161 return true;
162 }
163
164 return false;
165}
virtual bool OnSpellHealingBonusTakenNegativeModifiers(Unit const *, Unit const *, SpellInfo const *, float &)
Definition: GlobalScript.h:59

References GlobalScript::OnSpellHealingBonusTakenNegativeModifiers().

◆ OnStartup()

void ScriptMgr::OnStartup ( )
95{
96 ExecuteScript<WorldScript>([&](WorldScript* script)
97 {
98 script->OnStartup();
99 });
100}
virtual void OnStartup()
Definition: WorldScript.h:54

References WorldScript::OnStartup().

◆ OnStoreNewItem()

void ScriptMgr::OnStoreNewItem ( Player player,
Item item,
uint32  count 
)
618{
619 ExecuteScript<PlayerScript>([&](PlayerScript* script)
620 {
621 script->OnStoreNewItem(player, item, count);
622 });
623}
virtual void OnStoreNewItem(Player *, Item *, uint32)
Definition: PlayerScript.h:231

References PlayerScript::OnStoreNewItem().

◆ OnTransportUpdate()

void ScriptMgr::OnTransportUpdate ( Transport transport,
uint32  diff 
)
56{
57 ASSERT(transport);
58
59 if (auto tempScript = ScriptRegistry<TransportScript>::GetScriptById(transport->GetScriptId()))
60 {
61 tempScript->OnUpdate(transport, diff);
62 }
63}

References ASSERT, and GameObject::GetScriptId().

◆ OnUninstall()

void ScriptMgr::OnUninstall ( Vehicle veh)
34{
35 ASSERT(veh);
36 ASSERT(veh->GetBase()->GetTypeId() == TYPEID_UNIT);
37
39 {
40 tempScript->OnUninstall(veh);
41 }
42}

References ASSERT, Vehicle::GetBase(), Creature::GetScriptId(), Object::GetTypeId(), Object::ToCreature(), and TYPEID_UNIT.

◆ OnUnitDeath()

void ScriptMgr::OnUnitDeath ( Unit unit,
Unit killer 
)
240{
241 ExecuteScript<UnitScript>([&](UnitScript* script)
242 {
243 script->OnUnitDeath(unit, killer);
244 });
245}
virtual void OnUnitDeath(Unit *, Unit *)
Definition: UnitScript.h:86

References UnitScript::OnUnitDeath().

◆ OnUnitEnterCombat()

void ScriptMgr::OnUnitEnterCombat ( Unit unit,
Unit victim 
)
232{
233 ExecuteScript<UnitScript>([&](UnitScript* script)
234 {
235 script->OnUnitEnterCombat(unit, victim);
236 });
237}
virtual void OnUnitEnterCombat(Unit *, Unit *)
Definition: UnitScript.h:85

References UnitScript::OnUnitEnterCombat().

◆ OnUnitEnterEvadeMode()

void ScriptMgr::OnUnitEnterEvadeMode ( Unit unit,
uint8  why 
)
224{
225 ExecuteScript<UnitScript>([&](UnitScript* script)
226 {
227 script->OnUnitEnterEvadeMode(unit, evadeReason);
228 });
229}
virtual void OnUnitEnterEvadeMode(Unit *, uint8)
Definition: UnitScript.h:84

References UnitScript::OnUnitEnterEvadeMode().

◆ OnUnitUpdate()

void ScriptMgr::OnUnitUpdate ( Unit unit,
uint32  diff 
)
208{
209 ExecuteScript<UnitScript>([&](UnitScript* script)
210 {
211 script->OnUnitUpdate(unit, diff);
212 });
213}
virtual void OnUnitUpdate(Unit *, uint32)
This hook runs in Unit::Update.
Definition: UnitScript.h:80

References UnitScript::OnUnitUpdate().

◆ OnUnloadGridMap()

void ScriptMgr::OnUnloadGridMap ( Map map,
GridMap gmap,
uint32  gx,
uint32  gy 
)
168{
169 ASSERT(map);
170 ASSERT(gmap);
171
172 ForeachMaps<WorldMapScript>(map,
173 [&](WorldMapScript* script)
174 {
175 script->OnUnloadGridMap(map, gmap, gx, gy);
176 });
177
178 ForeachMaps<InstanceMapScript>(map,
179 [&](InstanceMapScript* script)
180 {
181 script->OnUnloadGridMap((InstanceMap*)map, gmap, gx, gy);
182 });
183
184 ForeachMaps<BattlegroundMapScript>(map,
185 [&](BattlegroundMapScript* script)
186 {
187 script->OnUnloadGridMap((BattlegroundMap*)map, gmap, gx, gy);
188 });
189}
virtual void OnUnloadGridMap(TMap *, GridMap *, uint32, uint32)
Definition: ScriptObject.h:102

References ASSERT, and MapScript< TMap >::OnUnloadGridMap().

◆ OnUpdateCraftingSkill()

void ScriptMgr::OnUpdateCraftingSkill ( Player player,
SkillLineAbilityEntry const *  skill,
uint32  currentLevel,
uint32 gain 
)
1040 {
1041 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1042 {
1043 script->OnUpdateCraftingSkill(player, skill, currentLevel, gain);
1044 });
1045}
virtual void OnUpdateCraftingSkill(Player *, SkillLineAbilityEntry const *, uint32, uint32 &)
This hook is called before crafting skill gain is applied to the character.
Definition: PlayerScript.h:341

References PlayerScript::OnUpdateCraftingSkill().

◆ OnUpdateFishingSkill()

bool ScriptMgr::OnUpdateFishingSkill ( Player player,
int32  skill,
int32  zone_skill,
int32  chance,
int32  roll 
)
1048{
1049 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1050 {
1051 return !script->OnUpdateFishingSkill(player, skill, zone_skill, chance, roll);
1052 });
1053
1054 if (ret && *ret)
1055 {
1056 return false;
1057 }
1058
1059 return true;
1060}
virtual bool OnUpdateFishingSkill(Player *, int32, int32, int32, int32)
Definition: PlayerScript.h:343

References PlayerScript::OnUpdateFishingSkill().

◆ OnUpdateGatheringSkill()

void ScriptMgr::OnUpdateGatheringSkill ( Player player,
uint32  skillId,
uint32  currentLevel,
uint32  gray,
uint32  green,
uint32  yellow,
uint32 gain 
)
1033 {
1034 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1035 {
1036 script->OnUpdateGatheringSkill(player, skillId, currentLevel, gray, green, yellow, gain);
1037 });
1038}
virtual void OnUpdateGatheringSkill(Player *, uint32, uint32, uint32, uint32, uint32, uint32 &)
This hook called before gathering skill gain is applied to the character.
Definition: PlayerScript.h:331

References PlayerScript::OnUpdateGatheringSkill().

◆ OnVictimRewardAfter()

void ScriptMgr::OnVictimRewardAfter ( Player player,
Player victim,
uint32 killer_title,
uint32 victim_rank,
float &  honor_f 
)
1086{
1087 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1088 {
1089 script->OnVictimRewardAfter(player, victim, killer_title, victim_rank, honor_f);
1090 });
1091}
virtual void OnVictimRewardAfter(Player *, Player *, uint32 &, uint32 &, float &)
Definition: PlayerScript.h:349

References PlayerScript::OnVictimRewardAfter().

◆ OnVictimRewardBefore()

void ScriptMgr::OnVictimRewardBefore ( Player player,
Player victim,
uint32 killer_title,
uint32 victim_title 
)
1078{
1079 ExecuteScript<PlayerScript>([&](PlayerScript* script)
1080 {
1081 script->OnVictimRewardBefore(player, victim, killer_title, victim_title);
1082 });
1083}
virtual void OnVictimRewardBefore(Player *, Player *, uint32 &, uint32 &)
Definition: PlayerScript.h:347

References PlayerScript::OnVictimRewardBefore().

◆ OnWeatherChange()

void ScriptMgr::OnWeatherChange ( Weather weather,
WeatherState  state,
float  grade 
)
24{
25 ASSERT(weather);
26
27 ExecuteScript<ElunaScript>([&](ElunaScript* script)
28 {
29 script->OnWeatherChange(weather, state, grade);
30 });
31
32 if (auto tempScript = ScriptRegistry<WeatherScript>::GetScriptById(weather->GetScriptId()))
33 {
34 tempScript->OnChange(weather, state, grade);
35 }
36}
uint32 GetScriptId() const
Definition: Weather.h:79
virtual void OnWeatherChange(Weather *, WeatherState, float)
This hook called when the weather changes in the zone this script is associated with.
Definition: ElunaScript.h:36

References ASSERT, Weather::GetScriptId(), and ElunaScript::OnWeatherChange().

◆ OnWeatherUpdate()

void ScriptMgr::OnWeatherUpdate ( Weather weather,
uint32  diff 
)
39{
40 ASSERT(weather);
41
42 if (auto tempScript = ScriptRegistry<WeatherScript>::GetScriptById(weather->GetScriptId()))
43 {
44 tempScript->OnUpdate(weather, diff);
45 }
46}

References ASSERT, and Weather::GetScriptId().

◆ OnWorldObjectCreate()

void ScriptMgr::OnWorldObjectCreate ( WorldObject object)
33{
34 ASSERT(object);
35
36 ExecuteScript<WorldObjectScript>([&](WorldObjectScript* script)
37 {
38 script->OnWorldObjectCreate(object);
39 });
40}
Definition: WorldObjectScript.h:24
virtual void OnWorldObjectCreate(WorldObject *)
This hook called after create world object.
Definition: WorldObjectScript.h:43

References ASSERT, and WorldObjectScript::OnWorldObjectCreate().

◆ OnWorldObjectDestroy()

void ScriptMgr::OnWorldObjectDestroy ( WorldObject object)
23{
24 ASSERT(object);
25
26 ExecuteScript<WorldObjectScript>([&](WorldObjectScript* script)
27 {
28 script->OnWorldObjectDestroy(object);
29 });
30}
virtual void OnWorldObjectDestroy(WorldObject *)
This hook called before destroy world object.
Definition: WorldObjectScript.h:36

References ASSERT, and WorldObjectScript::OnWorldObjectDestroy().

◆ OnWorldObjectResetMap()

void ScriptMgr::OnWorldObjectResetMap ( WorldObject object)
53{
54 ASSERT(object);
55
56 ExecuteScript<WorldObjectScript>([&](WorldObjectScript* script)
57 {
58 script->OnWorldObjectResetMap(object);
59 });
60}
virtual void OnWorldObjectResetMap(WorldObject *)
This hook called after world object reset.
Definition: WorldObjectScript.h:57

References ASSERT, and WorldObjectScript::OnWorldObjectResetMap().

◆ OnWorldObjectSetMap()

void ScriptMgr::OnWorldObjectSetMap ( WorldObject object,
Map map 
)
43{
44 ASSERT(object);
45
46 ExecuteScript<WorldObjectScript>([&](WorldObjectScript* script)
47 {
48 script->OnWorldObjectSetMap(object, map);
49 });
50}
virtual void OnWorldObjectSetMap(WorldObject *, Map *)
This hook called after world object set to map.
Definition: WorldObjectScript.h:50

References ASSERT, and WorldObjectScript::OnWorldObjectSetMap().

◆ OnWorldObjectUpdate()

void ScriptMgr::OnWorldObjectUpdate ( WorldObject object,
uint32  diff 
)
63{
64 ASSERT(object);
65
66 ExecuteScript<WorldObjectScript>([&](WorldObjectScript* script)
67 {
68 script->OnWorldObjectUpdate(object, diff);
69 });
70}
virtual void OnWorldObjectUpdate(WorldObject *, uint32)
This hook called after world object update.
Definition: WorldObjectScript.h:65

References ASSERT, and WorldObjectScript::OnWorldObjectUpdate().

◆ OnWorldUpdate()

void ScriptMgr::OnWorldUpdate ( uint32  diff)
87{
88 ExecuteScript<WorldScript>([&](WorldScript* script)
89 {
90 script->OnUpdate(diff);
91 });
92}
virtual void OnUpdate(uint32)
Definition: WorldScript.h:51

References WorldScript::OnUpdate().

◆ OnZeroDifferenceCalculation()

void ScriptMgr::OnZeroDifferenceCalculation ( uint8 diff,
uint8  playerLevel 
)
47{
48 ExecuteScript<FormulaScript>([&](FormulaScript* script)
49 {
50 script->OnZeroDifferenceCalculation(diff, playerLevel);
51 });
52}
virtual void OnZeroDifferenceCalculation(uint8 &, uint8)
Definition: FormulaScript.h:41

References FormulaScript::OnZeroDifferenceCalculation().

◆ PassedQuestKilledMonsterCredit()

bool ScriptMgr::PassedQuestKilledMonsterCredit ( Player player,
Quest const *  qinfo,
uint32  entry,
uint32  real_entry,
ObjectGuid  guid 
)
1299{
1300 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
1301 {
1302 return !script->PassedQuestKilledMonsterCredit(player, qinfo, entry, real_entry, guid);
1303 });
1304
1305 if (ret && *ret)
1306 {
1307 return false;
1308 }
1309
1310 return true;
1311}
virtual bool PassedQuestKilledMonsterCredit(Player *, Quest const *, uint32, uint32, ObjectGuid)
Definition: PlayerScript.h:383

References PlayerScript::PassedQuestKilledMonsterCredit().

◆ PetitionBuy()

void ScriptMgr::PetitionBuy ( Player player,
Creature creature,
uint32 charterid,
uint32 cost,
uint32 type 
)
964{
965 ExecuteScript<PlayerScript>([&](PlayerScript* script)
966 {
967 script->PetitionBuy(player, creature, charterid, cost, type);
968 });
969}
virtual void PetitionBuy(Player *, Creature *, uint32 &, uint32 &, uint32 &)
Definition: PlayerScript.h:306

References PlayerScript::PetitionBuy().

◆ PetitionShowList()

void ScriptMgr::PetitionShowList ( Player player,
Creature creature,
uint32 CharterEntry,
uint32 CharterDispayID,
uint32 CharterCost 
)
972{
973 ExecuteScript<PlayerScript>([&](PlayerScript* script)
974 {
975 script->PetitionShowList(player, creature, CharterEntry, CharterDispayID, CharterCost);
976 });
977}
virtual void PetitionShowList(Player *, Creature *, uint32 &, uint32 &, uint32 &)
Definition: PlayerScript.h:308

References PlayerScript::PetitionShowList().

◆ ScriptsVersion()

std::string_view ScriptMgr::ScriptsVersion ( ) const
inline
125{ return "Integrated Azeroth Scripts"; }

◆ SetModulesLoader()

void ScriptMgr::SetModulesLoader ( ModulesLoaderCallbackType  script_loader_callback)
inline

Sets the modules loader callback which is invoked to load modules (Workaround for circular dependency game <-> modules)

144 {
145 _modules_loader_callback = script_loader_callback;
146 }

References _modules_loader_callback.

◆ SetRealmCompleted()

void ScriptMgr::SetRealmCompleted ( AchievementEntry const *  achievement)
23{
24 ExecuteScript<AchievementScript>([&](AchievementScript* script)
25 {
26 script->SetRealmCompleted(achievement);
27 });
28}
virtual void SetRealmCompleted(AchievementEntry const *)
Definition: AchievementScript.h:34

References AchievementScript::SetRealmCompleted().

◆ SetScriptLoader()

void ScriptMgr::SetScriptLoader ( ScriptLoaderCallbackType  script_loader_callback)
inline

Sets the script loader callback which is invoked to load scripts (Workaround for circular dependency game <-> scripts)

137 {
138 _script_loader_callback = script_loader_callback;
139 }

References _script_loader_callback.

◆ ShouldBeRewardedWithMoneyInsteadOfExp()

bool ScriptMgr::ShouldBeRewardedWithMoneyInsteadOfExp ( Player player)
711{
712 auto ret = IsValidBoolScript<PlayerScript>([&](PlayerScript* script)
713 {
714 return script->ShouldBeRewardedWithMoneyInsteadOfExp(player);
715 });
716
717 if (ret && *ret)
718 {
719 return true;
720 }
721
722 return false;
723}
virtual bool ShouldBeRewardedWithMoneyInsteadOfExp(Player *)
Definition: PlayerScript.h:280

References PlayerScript::ShouldBeRewardedWithMoneyInsteadOfExp().

◆ Unload()

void ScriptMgr::Unload ( )
83{
84 SCR_CLEAR<AccountScript>();
85 SCR_CLEAR<AchievementCriteriaScript>();
86 SCR_CLEAR<AchievementScript>();
87 SCR_CLEAR<AllCreatureScript>();
88 SCR_CLEAR<AllGameObjectScript>();
89 SCR_CLEAR<AllItemScript>();
90 SCR_CLEAR<AllMapScript>();
91 SCR_CLEAR<AreaTriggerScript>();
92 SCR_CLEAR<ArenaScript>();
93 SCR_CLEAR<ArenaTeamScript>();
94 SCR_CLEAR<AuctionHouseScript>();
95 SCR_CLEAR<BGScript>();
96 SCR_CLEAR<BattlegroundMapScript>();
97 SCR_CLEAR<BattlegroundScript>();
98 SCR_CLEAR<CommandSC>();
99 SCR_CLEAR<CommandScript>();
100 SCR_CLEAR<ConditionScript>();
101 SCR_CLEAR<CreatureScript>();
102 SCR_CLEAR<DatabaseScript>();
103 SCR_CLEAR<DynamicObjectScript>();
104 SCR_CLEAR<ElunaScript>();
105 SCR_CLEAR<FormulaScript>();
106 SCR_CLEAR<GameEventScript>();
107 SCR_CLEAR<GameObjectScript>();
108 SCR_CLEAR<GlobalScript>();
109 SCR_CLEAR<GroupScript>();
110 SCR_CLEAR<GuildScript>();
111 SCR_CLEAR<InstanceMapScript>();
112 SCR_CLEAR<ItemScript>();
113 SCR_CLEAR<LootScript>();
114 SCR_CLEAR<MailScript>();
115 SCR_CLEAR<MiscScript>();
116 SCR_CLEAR<MovementHandlerScript>();
117 SCR_CLEAR<OutdoorPvPScript>();
118 SCR_CLEAR<PetScript>();
119 SCR_CLEAR<PlayerScript>();
120 SCR_CLEAR<ServerScript>();
121 SCR_CLEAR<SpellSC>();
122 SCR_CLEAR<SpellScriptLoader>();
123 SCR_CLEAR<TransportScript>();
124 SCR_CLEAR<UnitScript>();
125 SCR_CLEAR<VehicleScript>();
126 SCR_CLEAR<WeatherScript>();
127 SCR_CLEAR<WorldMapScript>();
128 SCR_CLEAR<WorldObjectScript>();
129 SCR_CLEAR<WorldScript>();
130
131 delete[] SpellSummary;
132}

References SpellSummary.

◆ ValidateSpellAtCastSpell()

void ScriptMgr::ValidateSpellAtCastSpell ( Player player,
uint32 oldSpellId,
uint32 spellId,
uint8 castCount,
uint8 castFlags 
)
140{
141 ExecuteScript<MiscScript>([&](MiscScript* script)
142 {
143 script->ValidateSpellAtCastSpell(player, oldSpellId, spellId, castCount, castFlags);
144 });
145}
virtual void ValidateSpellAtCastSpell(Player *, uint32 &, uint32 &, uint8 &, uint8 &)
Definition: MiscScript.h:56

References MiscScript::ValidateSpellAtCastSpell().

◆ ValidateSpellAtCastSpellResult()

void ScriptMgr::ValidateSpellAtCastSpellResult ( Player player,
Unit mover,
Spell spell,
uint32  oldSpellId,
uint32  spellId 
)
148{
149 ExecuteScript<MiscScript>([&](MiscScript* script)
150 {
151 script->ValidateSpellAtCastSpellResult(player, mover, spell, oldSpellId, spellId);
152 });
153}
virtual void ValidateSpellAtCastSpellResult(Player *, Unit *, Spell *, uint32, uint32)
Definition: MiscScript.h:58

References MiscScript::ValidateSpellAtCastSpellResult().

◆ ~ScriptMgr()

ScriptMgr::~ScriptMgr ( )
privatevirtual
54{ }

Friends And Related Function Documentation

◆ ScriptObject

friend class ScriptObject
friend

Member Data Documentation

◆ _modules_loader_callback

ModulesLoaderCallbackType ScriptMgr::_modules_loader_callback
private

Referenced by Initialize(), and SetModulesLoader().

◆ _scheduledScripts

std::atomic<long> ScriptMgr::_scheduledScripts
private

◆ _script_loader_callback

ScriptLoaderCallbackType ScriptMgr::_script_loader_callback
private

Referenced by Initialize(), and SetScriptLoader().

◆ _scriptCount

uint32 ScriptMgr::_scriptCount
private