Files
azerothcore-wotlk/src/server/game/Scripting/ScriptDefines/MiscScript.h
Winfidonarleyan eb1ecc38a5 feat(Core/Scripting): move all script objects to separated files (#17860)
* feat(Core/Scripts): move all script objects to separated files

* Apply 5bfeabde81

* try gcc build

* again
2023-12-02 21:13:20 +01:00

76 lines
3.0 KiB
C++

/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SCRIPT_OBJECT_MISC_SCRIPT_H_
#define SCRIPT_OBJECT_MISC_SCRIPT_H_
#include "ObjectGuid.h"
#include "ScriptObject.h"
class MiscScript : public ScriptObject
{
protected:
MiscScript(const char* name);
public:
[[nodiscard]] bool IsDatabaseBound() const override { return false; }
virtual void OnConstructObject(Object* /*origin*/) { }
virtual void OnDestructObject(Object* /*origin*/) { }
virtual void OnConstructPlayer(Player* /*origin*/) { }
virtual void OnDestructPlayer(Player* /*origin*/) { }
virtual void OnConstructGroup(Group* /*origin*/) { }
virtual void OnDestructGroup(Group* /*origin*/) { }
virtual void OnConstructInstanceSave(InstanceSave* /*origin*/) { }
virtual void OnDestructInstanceSave(InstanceSave* /*origin*/) { }
virtual void OnItemCreate(Item* /*item*/, ItemTemplate const* /*itemProto*/, Player const* /*owner*/) { }
[[nodiscard]] virtual bool CanApplySoulboundFlag(Item* /*item*/, ItemTemplate const* /*proto*/) { return true; }
[[nodiscard]] virtual bool CanItemApplyEquipSpell(Player* /*player*/, Item* /*item*/) { return true; }
[[nodiscard]] virtual bool CanSendAuctionHello(WorldSession const* /*session*/, ObjectGuid /*guid*/, Creature* /*creature*/) { return true; }
virtual void ValidateSpellAtCastSpell(Player* /*player*/, uint32& /*oldSpellId*/, uint32& /*spellId*/, uint8& /*castCount*/, uint8& /*castFlags*/) { }
virtual void ValidateSpellAtCastSpellResult(Player* /*player*/, Unit* /*mover*/, Spell* /*spell*/, uint32 /*oldSpellId*/, uint32 /*spellId*/) { }
virtual void OnAfterLootTemplateProcess(Loot* /*loot*/, LootTemplate const* /*tab*/, LootStore const& /*store*/, Player* /*lootOwner*/, bool /*personal*/, bool /*noEmptyError*/, uint16 /*lootMode*/) { }
virtual void OnPlayerSetPhase(const AuraEffect* /*auraEff*/, AuraApplication const* /*aurApp*/, uint8 /*mode*/, bool /*apply*/, uint32& /*newPhase*/) { }
virtual void OnInstanceSave(InstanceSave* /*instanceSave*/) { }
/**
* @brief This hook called before get Quest Dialog Status
*
* @param player Contains information about the Player
* @param questgiver Contains information about the Object
*/
virtual void GetDialogStatus(Player* /*player*/, Object* /*questgiver*/) { }
};
#endif