mirror of
https://repo.or.cz/minetest_pep.git
synced 2025-03-15 12:21:21 +00:00
Add optional [playerphysics] compability
This commit is contained in:
parent
ce65e1a038
commit
b284599d40
2 changed files with 27 additions and 10 deletions
|
@ -1,4 +1,5 @@
|
|||
playereffects
|
||||
playerphysics?
|
||||
default?
|
||||
vessels?
|
||||
flowers?
|
||||
|
|
36
init.lua
36
init.lua
|
@ -5,6 +5,7 @@ if minetest.get_modpath("intllib") then
|
|||
else
|
||||
S = function(s) return s end
|
||||
end
|
||||
local ppa = minetest.get_modpath("playerphysics")
|
||||
|
||||
pep = {}
|
||||
function pep.register_potion(potiondef)
|
||||
|
@ -130,48 +131,63 @@ minetest.register_globalstep(function(dtime)
|
|||
end
|
||||
end)
|
||||
|
||||
local add_physic = function(player, attribute, value)
|
||||
if ppa then
|
||||
playerphysics.add_physics_factor(player, attribute, "pep:"..attribute, value)
|
||||
else
|
||||
player:set_physics_override({[attribute]=value})
|
||||
end
|
||||
end
|
||||
local remove_physic = function(player, attribute)
|
||||
if ppa then
|
||||
playerphysics.remove_physics_factor(player, attribute, "pep:"..attribute)
|
||||
else
|
||||
player:set_physics_override({[attribute]=1})
|
||||
end
|
||||
end
|
||||
|
||||
playereffects.register_effect_type("pepspeedplus", S("High speed"), "pep_speedplus.png", {"speed"},
|
||||
function(player)
|
||||
player:set_physics_override({speed=2})
|
||||
add_physic(player, "speed", 2)
|
||||
end,
|
||||
function(effect, player)
|
||||
player:set_physics_override({speed=1})
|
||||
remove_physic(player, "speed")
|
||||
end
|
||||
)
|
||||
playereffects.register_effect_type("pepspeedminus", S("Low speed"), "pep_speedminus.png", {"speed"},
|
||||
function(player)
|
||||
player:set_physics_override({speed=0.5})
|
||||
add_physic(player, "speed", 0.5)
|
||||
end,
|
||||
function(effect, player)
|
||||
player:set_physics_override({speed=1})
|
||||
remove_physic(player, "speed")
|
||||
end
|
||||
)
|
||||
playereffects.register_effect_type("pepspeedreset", S("Speed neutralizer"), "pep_speedreset.png", {"speed"},
|
||||
function() end, function() end)
|
||||
playereffects.register_effect_type("pepjumpplus", S("High jump"), "pep_jumpplus.png", {"jump"},
|
||||
function(player)
|
||||
player:set_physics_override({jump=2})
|
||||
add_physic(player, "jump", 2)
|
||||
end,
|
||||
function(effect, player)
|
||||
player:set_physics_override({jump=1})
|
||||
remove_physic(player, "jump")
|
||||
end
|
||||
)
|
||||
playereffects.register_effect_type("pepjumpminus", S("Low jump"), "pep_jumpminus.png", {"jump"},
|
||||
function(player)
|
||||
player:set_physics_override({jump=0.5})
|
||||
add_physic(player, "jump", 0.5)
|
||||
end,
|
||||
function(effect, player)
|
||||
player:set_physics_override({jump=1})
|
||||
remove_physic(player, "jump")
|
||||
end
|
||||
)
|
||||
playereffects.register_effect_type("pepjumpreset", S("Jump height neutralizer"), "pep_jumpreset.png", {"jump"},
|
||||
function() end, function() end)
|
||||
playereffects.register_effect_type("pepgrav0", S("No gravity"), "pep_grav0.png", {"gravity"},
|
||||
function(player)
|
||||
player:set_physics_override({gravity=0})
|
||||
add_physic(player, "gravity", 0)
|
||||
end,
|
||||
function(effect, player)
|
||||
player:set_physics_override({gravity=1})
|
||||
remove_physic(player, "gravity")
|
||||
end
|
||||
)
|
||||
playereffects.register_effect_type("pepgravreset", S("Gravity neutralizer"), "pep_gravreset.png", {"gravity"},
|
||||
|
|
Loading…
Add table
Reference in a new issue