50 lines
1.3 KiB
Lua
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)
|