[GSC] Add infinite sprint

This commit is contained in:
2021-11-07 00:04:31 +00:00
parent 8224ca3b57
commit 234f510e98
4 changed files with 36 additions and 2 deletions

View File

@ -343,6 +343,25 @@ namespace gsc
return {};
});
method::add("specialtymarathon", [](const game::scr_entref_t ent, const function_args& args)->scripting::script_value
{
if (ent.classnum != 0)
{
throw std::runtime_error("Invalid entity");
}
const auto num = ent.entnum;
const auto toggle = args[0].as<int>();
auto g_client = game::g_entities[num].client;
auto playerState = &g_client->ps;
auto flags = playerState->perks[0];
playerState->perks[0] = toggle
? flags | 0x4000u
: flags & ~0x4000u;
});
utils::hook::jump(0x56C8EB, call_builtin_stub);
utils::hook::jump(0x56CBDC, call_builtin_method_stub);
utils::hook::jump(0x56B726, vm_execute_stub);