2024-12-30 22:05:28 -06:00

50 lines
1.3 KiB
Lua

PyuTest.register_status_effect("speed", function(object, name)
local speed_multiplier = PyuTest.status_effect_get(name, "speed")
local sprint_addition = 0.35
if object:get_player_control().aux1 and PyuTest.hunger_get(name) > 6 then
speed_multiplier = speed_multiplier + sprint_addition
PyuTest.hunger_multiplier(name, 4)
else
PyuTest.hunger_multiplier(name, 1)
end
local fovm = (1 + (speed_multiplier) * sprint_addition)
object:set_physics_override({
speed = speed_multiplier,
})
object:set_fov(fovm, true, 0.15)
end)
PyuTest.register_status_effect("jump_boost", function(object, name)
local jump_boost = PyuTest.status_effect_get(name, "jump_boost")
object:set_physics_override({
jump = jump_boost
})
end)
PyuTest.register_status_effect("gravity", function(object, name)
local gravity = PyuTest.status_effect_get(name, "gravity")
object:set_physics_override({
gravity = gravity
})
end)
PyuTest.register_status_effect("sea_master", function(object, name)
local sea_master = PyuTest.status_effect_has(name, "sea_master")
local liquid_fluidity = (sea_master and math.huge or 1)
local liquid_sink = (sea_master and 0 or 1)
if sea_master then
object:set_breath(object:get_properties().breath_max)
end
object:set_physics_override({
liquid_fluidity = liquid_fluidity,
liquid_sink = liquid_sink,
})
end)