[Script] Remove builtin God, demigod, notarget

This commit is contained in:
Diavolo 2022-07-24 01:08:01 +02:00
parent 13d1c23b99
commit 725c08afeb
No known key found for this signature in database
GPG Key ID: FA77F074E98D98A5
3 changed files with 6 additions and 69 deletions

View File

@ -26,11 +26,11 @@ namespace Components
return true;
}
void ClientCommand::Add(const char* name, std::function<void(Game::gentity_s*, Command::ServerParams*)> callback)
void ClientCommand::Add(const char* name, const std::function<void(Game::gentity_s*, Command::ServerParams*)>& callback)
{
const auto command = Utils::String::ToLower(name);
ClientCommand::HandlersSV[command] = std::move(callback);
ClientCommand::HandlersSV[command] = callback;
}
void ClientCommand::ClientCommandStub(const int clientNum)
@ -52,7 +52,7 @@ namespace Components
return;
}
Utils::Hook::Call<void(const int)>(0x416790)(clientNum);
Utils::Hook::Call<void(int)>(0x416790)(clientNum);
}
void ClientCommand::AddCheatCommands()
@ -351,69 +351,6 @@ namespace Components
void ClientCommand::AddScriptFunctions()
{
Script::AddMethod("God", [](Game::scr_entref_t entref) // gsc: God(<optional int toggle>);
{
auto* ent = Game::GetEntity(entref);
if (Game::Scr_GetNumParam() >= 1)
{
if (Game::Scr_GetInt(0))
{
ent->flags |= Game::FL_GODMODE;
}
else
{
ent->flags &= ~Game::FL_GODMODE;
}
}
else
{
ent->flags ^= Game::FL_GODMODE;
}
});
Script::AddMethod("Demigod", [](Game::scr_entref_t entref) // gsc: Demigod(<optional int toggle>);
{
auto* ent = Game::GetEntity(entref);
if (Game::Scr_GetNumParam() >= 1)
{
if (Game::Scr_GetInt(0))
{
ent->flags |= Game::FL_DEMI_GODMODE;
}
else
{
ent->flags &= ~Game::FL_DEMI_GODMODE;
}
}
else
{
ent->flags ^= Game::FL_DEMI_GODMODE;
}
});
Script::AddMethod("Notarget", [](Game::scr_entref_t entref) // gsc: Notarget(<optional int toggle>);
{
auto* ent = Game::GetEntity(entref);
if (Game::Scr_GetNumParam() >= 1)
{
if (Game::Scr_GetInt(0))
{
ent->flags |= Game::FL_NOTARGET;
}
else
{
ent->flags &= ~Game::FL_NOTARGET;
}
}
else
{
ent->flags ^= Game::FL_NOTARGET;
}
});
Script::AddFunction("DropAllBots", [] // gsc: DropAllBots();
{
Game::SV_DropAllBots();

View File

@ -7,13 +7,13 @@ namespace Components
public:
ClientCommand();
static void Add(const char* name, std::function<void(Game::gentity_s*, Command::ServerParams*)> callback);
static void Add(const char* name, const std::function<void(Game::gentity_s*, Command::ServerParams*)>& callback);
static bool CheatsOk(const Game::gentity_s* ent);
private:
static std::unordered_map<std::string, std::function<void(Game::gentity_s*, Command::ServerParams*)>> HandlersSV;
static void ClientCommandStub(const int clientNum);
static void ClientCommandStub(int clientNum);
static void AddCheatCommands();
static void AddDevelopmentCommands();
static void AddScriptFunctions();

View File

@ -296,7 +296,7 @@ namespace Game
CON_BUILTIN_CHANNEL_COUNT,
};
enum entityFlag
enum
{
FL_GODMODE = 0x1,
FL_DEMI_GODMODE = 0x2,