Add optional [playerphysics] compability

master
Wuzzy 2019-02-21 20:52:44 +01:00
parent ce65e1a038
commit b284599d40
2 changed files with 27 additions and 10 deletions

View File

@ -1,4 +1,5 @@
playereffects
playerphysics?
default?
vessels?
flowers?

View File

@ -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"},