mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-18 03:15:41 +00:00
Feat(Core/Scripting): Add new hook CanPlayerResurrect to simplify HardCore mod etc. (#21272)
This commit is contained in:
@@ -895,6 +895,11 @@ bool ScriptMgr::AnticheatCheckMovementInfo(Player* player, MovementInfo const& m
|
||||
CALL_ENABLED_BOOLEAN_HOOKS(PlayerScript, PLAYERHOOK_ANTICHEAT_CHECK_MOVEMENT_INFO, !script->AnticheatCheckMovementInfo(player, movementInfo, mover, jump));
|
||||
}
|
||||
|
||||
bool ScriptMgr::CanPlayerResurrect(Player* player)
|
||||
{
|
||||
CALL_ENABLED_BOOLEAN_HOOKS(PlayerScript, PLAYERHOOK_CAN_RESURRECT, !script->CanPlayerResurrect(player));
|
||||
}
|
||||
|
||||
PlayerScript::PlayerScript(const char* name, std::vector<uint16> enabledHooks)
|
||||
: ScriptObject(name, PLAYERHOOK_END)
|
||||
{
|
||||
|
||||
@@ -204,6 +204,7 @@ enum PlayerHook
|
||||
PLAYERHOOK_CAN_SEND_ERROR_ALREADY_LOOTED,
|
||||
PLAYERHOOK_ON_AFTER_CREATURE_LOOT,
|
||||
PLAYERHOOK_ON_AFTER_CREATURE_LOOT_MONEY,
|
||||
PLAYERHOOK_CAN_RESURRECT,
|
||||
PLAYERHOOK_END
|
||||
};
|
||||
|
||||
@@ -765,6 +766,15 @@ public:
|
||||
* @param player Contains information about the Player
|
||||
*/
|
||||
virtual void OnAfterCreatureLootMoney(Player* /*player*/) { }
|
||||
|
||||
/**
|
||||
* @brief This hook is called, to avoid player resurrect
|
||||
*
|
||||
* @param player Contains information about the Player
|
||||
*
|
||||
* @return true if player is authorized to resurect
|
||||
*/
|
||||
virtual bool CanPlayerResurrect(Player* /*player*/) { return true; }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -459,6 +459,7 @@ public: /* PlayerScript */
|
||||
void OnAfterCreatureLoot(Player* player);
|
||||
void OnAfterCreatureLootMoney(Player* player);
|
||||
bool OnCanPlayerFlyInZone(Player* player, uint32 mapId, uint32 zoneId, SpellInfo const* bySpell);
|
||||
bool CanPlayerResurrect(Player* player);
|
||||
|
||||
// Anti cheat
|
||||
void AnticheatSetCanFlybyServer(Player* player, bool apply);
|
||||
|
||||
Reference in New Issue
Block a user