mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 07:03:16 +00:00
39 lines
No EOL
1.5 KiB
Lua
39 lines
No EOL
1.5 KiB
Lua
local ctx = dofile_once("mods/quant.ew/files/core/ctx.lua")
|
|
local net = dofile_once("mods/quant.ew/files/core/net.lua")
|
|
local np = require("noitapatcher")
|
|
|
|
local rpc = net.new_rpc_namespace()
|
|
|
|
local module = {}
|
|
|
|
ModLuaFileAppend("data/scripts/perks/perk_list.lua", "mods/quant.ew/files/system/perk_patches/append/perks_common.lua")
|
|
|
|
if ctx.proxy_opt.game_mode == "shared_health" then
|
|
print("Loading extra perk patches for shared health mode")
|
|
ModLuaFileAppend("data/scripts/perks/perk_list.lua", "mods/quant.ew/files/system/perk_patches/append/perks_shared.lua")
|
|
else
|
|
print("Loading extra perk patches for local health mode")
|
|
ModLuaFileAppend("data/scripts/perks/perk_list.lua", "mods/quant.ew/files/system/perk_patches/append/perks_local.lua")
|
|
end
|
|
|
|
rpc.opts_reliable()
|
|
rpc.opts_everywhere()
|
|
function rpc.modify_max_hp(percent_amount, do_heal)
|
|
if ctx.is_host then
|
|
local player_count = tonumber(GlobalsGetValue("ew_player_count", "1"))
|
|
local health = ctx.cap.health
|
|
local max_hp = health.max_health()
|
|
health.set_max_health(max_hp + max_hp / player_count * (percent_amount-1))
|
|
if do_heal then
|
|
local hp = health.health()
|
|
health.set_health(hp + max_hp / player_count * (percent_amount-1))
|
|
end
|
|
if health.health() > health.max_health() then
|
|
health.set_health(health.max_health())
|
|
end
|
|
end
|
|
end
|
|
|
|
np.CrossCallAdd("ew_perks_modify_max_hp", rpc.modify_max_hp)
|
|
|
|
return module |