mirror of
https://repo.or.cz/minetest_pep.git
synced 2025-03-21 07:11:22 +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
|
playereffects
|
||||||
|
playerphysics?
|
||||||
default?
|
default?
|
||||||
vessels?
|
vessels?
|
||||||
flowers?
|
flowers?
|
||||||
|
|
36
init.lua
36
init.lua
|
@ -5,6 +5,7 @@ if minetest.get_modpath("intllib") then
|
||||||
else
|
else
|
||||||
S = function(s) return s end
|
S = function(s) return s end
|
||||||
end
|
end
|
||||||
|
local ppa = minetest.get_modpath("playerphysics")
|
||||||
|
|
||||||
pep = {}
|
pep = {}
|
||||||
function pep.register_potion(potiondef)
|
function pep.register_potion(potiondef)
|
||||||
|
@ -130,48 +131,63 @@ minetest.register_globalstep(function(dtime)
|
||||||
end
|
end
|
||||||
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"},
|
playereffects.register_effect_type("pepspeedplus", S("High speed"), "pep_speedplus.png", {"speed"},
|
||||||
function(player)
|
function(player)
|
||||||
player:set_physics_override({speed=2})
|
add_physic(player, "speed", 2)
|
||||||
end,
|
end,
|
||||||
function(effect, player)
|
function(effect, player)
|
||||||
player:set_physics_override({speed=1})
|
remove_physic(player, "speed")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
playereffects.register_effect_type("pepspeedminus", S("Low speed"), "pep_speedminus.png", {"speed"},
|
playereffects.register_effect_type("pepspeedminus", S("Low speed"), "pep_speedminus.png", {"speed"},
|
||||||
function(player)
|
function(player)
|
||||||
player:set_physics_override({speed=0.5})
|
add_physic(player, "speed", 0.5)
|
||||||
end,
|
end,
|
||||||
function(effect, player)
|
function(effect, player)
|
||||||
player:set_physics_override({speed=1})
|
remove_physic(player, "speed")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
playereffects.register_effect_type("pepspeedreset", S("Speed neutralizer"), "pep_speedreset.png", {"speed"},
|
playereffects.register_effect_type("pepspeedreset", S("Speed neutralizer"), "pep_speedreset.png", {"speed"},
|
||||||
function() end, function() end)
|
function() end, function() end)
|
||||||
playereffects.register_effect_type("pepjumpplus", S("High jump"), "pep_jumpplus.png", {"jump"},
|
playereffects.register_effect_type("pepjumpplus", S("High jump"), "pep_jumpplus.png", {"jump"},
|
||||||
function(player)
|
function(player)
|
||||||
player:set_physics_override({jump=2})
|
add_physic(player, "jump", 2)
|
||||||
end,
|
end,
|
||||||
function(effect, player)
|
function(effect, player)
|
||||||
player:set_physics_override({jump=1})
|
remove_physic(player, "jump")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
playereffects.register_effect_type("pepjumpminus", S("Low jump"), "pep_jumpminus.png", {"jump"},
|
playereffects.register_effect_type("pepjumpminus", S("Low jump"), "pep_jumpminus.png", {"jump"},
|
||||||
function(player)
|
function(player)
|
||||||
player:set_physics_override({jump=0.5})
|
add_physic(player, "jump", 0.5)
|
||||||
end,
|
end,
|
||||||
function(effect, player)
|
function(effect, player)
|
||||||
player:set_physics_override({jump=1})
|
remove_physic(player, "jump")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
playereffects.register_effect_type("pepjumpreset", S("Jump height neutralizer"), "pep_jumpreset.png", {"jump"},
|
playereffects.register_effect_type("pepjumpreset", S("Jump height neutralizer"), "pep_jumpreset.png", {"jump"},
|
||||||
function() end, function() end)
|
function() end, function() end)
|
||||||
playereffects.register_effect_type("pepgrav0", S("No gravity"), "pep_grav0.png", {"gravity"},
|
playereffects.register_effect_type("pepgrav0", S("No gravity"), "pep_grav0.png", {"gravity"},
|
||||||
function(player)
|
function(player)
|
||||||
player:set_physics_override({gravity=0})
|
add_physic(player, "gravity", 0)
|
||||||
end,
|
end,
|
||||||
function(effect, player)
|
function(effect, player)
|
||||||
player:set_physics_override({gravity=1})
|
remove_physic(player, "gravity")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
playereffects.register_effect_type("pepgravreset", S("Gravity neutralizer"), "pep_gravreset.png", {"gravity"},
|
playereffects.register_effect_type("pepgravreset", S("Gravity neutralizer"), "pep_gravreset.png", {"gravity"},
|
||||||
|
|
Loading…
Add table
Reference in a new issue