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
This commit is contained in:
Winfidonarleyan
2023-12-03 03:13:20 +07:00
committed by GitHub
parent fe9bda1bc4
commit eb1ecc38a5
717 changed files with 5832 additions and 3579 deletions

View File

@@ -16,7 +16,9 @@
*/
#include "ScriptMgr.h"
#include "AllScriptsObjects.h"
#include "InstanceScript.h"
#include "ScriptObject.h"
#include "ScriptSystem.h"
#include "SmartAI.h"
#include "SpellMgr.h"
@@ -287,359 +289,3 @@ void ScriptMgr::FillSpellSummary()
}
}
}
///-
AllMapScript::AllMapScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AllMapScript>::AddScript(this);
}
AllCreatureScript::AllCreatureScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AllCreatureScript>::AddScript(this);
}
UnitScript::UnitScript(const char* name, bool addToScripts)
: ScriptObject(name)
{
if (addToScripts)
ScriptRegistry<UnitScript>::AddScript(this);
}
MovementHandlerScript::MovementHandlerScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<MovementHandlerScript>::AddScript(this);
}
SpellScriptLoader::SpellScriptLoader(const char* name)
: ScriptObject(name)
{
ScriptRegistry<SpellScriptLoader>::AddScript(this);
}
ServerScript::ServerScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ServerScript>::AddScript(this);
}
WorldScript::WorldScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<WorldScript>::AddScript(this);
}
FormulaScript::FormulaScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<FormulaScript>::AddScript(this);
}
WorldMapScript::WorldMapScript(const char* name, uint32 mapId)
: ScriptObject(name), MapScript<Map>(mapId)
{
ScriptRegistry<WorldMapScript>::AddScript(this);
}
InstanceMapScript::InstanceMapScript(const char* name, uint32 mapId)
: ScriptObject(name), MapScript<InstanceMap>(mapId)
{
ScriptRegistry<InstanceMapScript>::AddScript(this);
}
BattlegroundMapScript::BattlegroundMapScript(const char* name, uint32 mapId)
: ScriptObject(name), MapScript<BattlegroundMap>(mapId)
{
ScriptRegistry<BattlegroundMapScript>::AddScript(this);
}
ItemScript::ItemScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ItemScript>::AddScript(this);
}
CreatureScript::CreatureScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<CreatureScript>::AddScript(this);
}
GameObjectScript::GameObjectScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<GameObjectScript>::AddScript(this);
}
AreaTriggerScript::AreaTriggerScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AreaTriggerScript>::AddScript(this);
}
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTrigger const* trigger)
{
uint32 const triggerId = trigger->entry;
if (InstanceScript* instance = player->GetInstanceScript())
{
if (instance->IsAreaTriggerDone(triggerId))
{
return true;
}
else
{
instance->MarkAreaTriggerDone(triggerId);
}
}
return _OnTrigger(player, trigger);
}
void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(InstanceScript* script, uint32 triggerId)
{
script->ResetAreaTriggerDone(triggerId);
}
void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(Player const* player, AreaTrigger const* trigger)
{
if (InstanceScript* instance = player->GetInstanceScript())
{
ResetAreaTriggerDone(instance, trigger->entry);
}
}
BattlegroundScript::BattlegroundScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<BattlegroundScript>::AddScript(this);
}
OutdoorPvPScript::OutdoorPvPScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<OutdoorPvPScript>::AddScript(this);
}
CommandScript::CommandScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<CommandScript>::AddScript(this);
}
WeatherScript::WeatherScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<WeatherScript>::AddScript(this);
}
AuctionHouseScript::AuctionHouseScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AuctionHouseScript>::AddScript(this);
}
ConditionScript::ConditionScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ConditionScript>::AddScript(this);
}
VehicleScript::VehicleScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<VehicleScript>::AddScript(this);
}
DynamicObjectScript::DynamicObjectScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<DynamicObjectScript>::AddScript(this);
}
TransportScript::TransportScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<TransportScript>::AddScript(this);
}
AchievementCriteriaScript::AchievementCriteriaScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementCriteriaScript>::AddScript(this);
}
PlayerScript::PlayerScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<PlayerScript>::AddScript(this);
}
AccountScript::AccountScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AccountScript>::AddScript(this);
}
GuildScript::GuildScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<GuildScript>::AddScript(this);
}
GroupScript::GroupScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<GroupScript>::AddScript(this);
}
GlobalScript::GlobalScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<GlobalScript>::AddScript(this);
}
BGScript::BGScript(char const* name)
: ScriptObject(name)
{
ScriptRegistry<BGScript>::AddScript(this);
}
ArenaTeamScript::ArenaTeamScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ArenaTeamScript>::AddScript(this);
}
SpellSC::SpellSC(char const* name)
: ScriptObject(name)
{
ScriptRegistry<SpellSC>::AddScript(this);
}
ModuleScript::ModuleScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ModuleScript>::AddScript(this);
}
GameEventScript::GameEventScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<GameEventScript>::AddScript(this);
}
MailScript::MailScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<MailScript>::AddScript(this);
}
AchievementScript::AchievementScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<AchievementScript>::AddScript(this);
}
PetScript::PetScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<PetScript>::AddScript(this);
}
ArenaScript::ArenaScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<ArenaScript>::AddScript(this);
}
MiscScript::MiscScript(const char* name)
: ScriptObject(name)
{
ScriptRegistry<MiscScript>::AddScript(this);
}
CommandSC::CommandSC(const char* name)
: ScriptObject(name)
{
ScriptRegistry<CommandSC>::AddScript(this);
}
DatabaseScript::DatabaseScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<DatabaseScript>::AddScript(this);
}
WorldObjectScript::WorldObjectScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<WorldObjectScript>::AddScript(this);
}
LootScript::LootScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<LootScript>::AddScript(this);
}
ElunaScript::ElunaScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<ElunaScript>::AddScript(this);
}
AllItemScript::AllItemScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<AllItemScript>::AddScript(this);
}
AllGameObjectScript::AllGameObjectScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<AllGameObjectScript>::AddScript(this);
}
// Specialize for each script type class like so:
template class AC_GAME_API ScriptRegistry<AccountScript>;
template class AC_GAME_API ScriptRegistry<AchievementCriteriaScript>;
template class AC_GAME_API ScriptRegistry<AchievementScript>;
template class AC_GAME_API ScriptRegistry<AllCreatureScript>;
template class AC_GAME_API ScriptRegistry<AllGameObjectScript>;
template class AC_GAME_API ScriptRegistry<AllItemScript>;
template class AC_GAME_API ScriptRegistry<AllMapScript>;
template class AC_GAME_API ScriptRegistry<AreaTriggerScript>;
template class AC_GAME_API ScriptRegistry<ArenaScript>;
template class AC_GAME_API ScriptRegistry<ArenaTeamScript>;
template class AC_GAME_API ScriptRegistry<AuctionHouseScript>;
template class AC_GAME_API ScriptRegistry<BGScript>;
template class AC_GAME_API ScriptRegistry<BattlegroundMapScript>;
template class AC_GAME_API ScriptRegistry<BattlegroundScript>;
template class AC_GAME_API ScriptRegistry<CommandSC>;
template class AC_GAME_API ScriptRegistry<CommandScript>;
template class AC_GAME_API ScriptRegistry<ConditionScript>;
template class AC_GAME_API ScriptRegistry<CreatureScript>;
template class AC_GAME_API ScriptRegistry<DatabaseScript>;
template class AC_GAME_API ScriptRegistry<DynamicObjectScript>;
template class AC_GAME_API ScriptRegistry<ElunaScript>;
template class AC_GAME_API ScriptRegistry<FormulaScript>;
template class AC_GAME_API ScriptRegistry<GameEventScript>;
template class AC_GAME_API ScriptRegistry<GameObjectScript>;
template class AC_GAME_API ScriptRegistry<GlobalScript>;
template class AC_GAME_API ScriptRegistry<GroupScript>;
template class AC_GAME_API ScriptRegistry<GuildScript>;
template class AC_GAME_API ScriptRegistry<InstanceMapScript>;
template class AC_GAME_API ScriptRegistry<ItemScript>;
template class AC_GAME_API ScriptRegistry<LootScript>;
template class AC_GAME_API ScriptRegistry<MailScript>;
template class AC_GAME_API ScriptRegistry<MiscScript>;
template class AC_GAME_API ScriptRegistry<MovementHandlerScript>;
template class AC_GAME_API ScriptRegistry<OutdoorPvPScript>;
template class AC_GAME_API ScriptRegistry<PetScript>;
template class AC_GAME_API ScriptRegistry<PlayerScript>;
template class AC_GAME_API ScriptRegistry<ServerScript>;
template class AC_GAME_API ScriptRegistry<SpellSC>;
template class AC_GAME_API ScriptRegistry<SpellScriptLoader>;
template class AC_GAME_API ScriptRegistry<TransportScript>;
template class AC_GAME_API ScriptRegistry<UnitScript>;
template class AC_GAME_API ScriptRegistry<VehicleScript>;
template class AC_GAME_API ScriptRegistry<WeatherScript>;
template class AC_GAME_API ScriptRegistry<WorldMapScript>;
template class AC_GAME_API ScriptRegistry<WorldObjectScript>;
template class AC_GAME_API ScriptRegistry<WorldScript>;