add immortal effect
parent
80c804b7f5
commit
beea920c0d
25
bottles.lua
25
bottles.lua
|
@ -183,3 +183,28 @@ minetest.register_node("magical_potion:speed", {
|
|||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("magical_potion:immortal", {
|
||||
description = "Small bottle of immortal",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"immortal_bottle_small.png"},
|
||||
wield_image = "immortal_bottle_small.png",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
walkable = false,
|
||||
light_source = 14,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 0.4, 0.25}
|
||||
},
|
||||
groups = {vessel=1,dig_immediate=3,attached_node=1, potion=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
inventory_image = "immortal_bottle_small.png",
|
||||
on_use = function(itemstack, player)
|
||||
playereffects.apply_effect_type("immortal_bottle", 5, player)
|
||||
if minetest.get_modpath("vessels") then
|
||||
player:get_inventory():add_item("main", "vessels:glass_bottle")
|
||||
end
|
||||
itemstack:take_item(1)
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
playereffects.register_effect_type("fly_bottle", "Fly mode available", "wings.png", {"fly"},
|
||||
playereffects.register_effect_type("fly_bottle", "Fly", "wings.png", {"fly"},
|
||||
function(player)
|
||||
local playername = player:get_player_name()
|
||||
local privs = minetest.get_player_privs(playername)
|
||||
|
@ -16,7 +16,7 @@ false,
|
|||
false)
|
||||
|
||||
|
||||
playereffects.register_effect_type("speed_bottle", "High speed", "bottle_speed.png", {"speed"},
|
||||
playereffects.register_effect_type("speed_bottle", "High speed", "speed.png", {"speed"},
|
||||
function(player)
|
||||
player:set_physics_override({speed=2})
|
||||
end,
|
||||
|
@ -24,3 +24,35 @@ function(effect, player)
|
|||
player:set_physics_override({speed=1})
|
||||
end
|
||||
)
|
||||
|
||||
playereffects.register_effect_type("immortal_bottle", "Immortal", "immortal.png", {"immortal"},
|
||||
function(user)
|
||||
if user and user:is_player() then
|
||||
local groups = user:get_armor_groups()
|
||||
|
||||
playereffects.preset = groups
|
||||
user:set_armor_groups({immortal=1})
|
||||
end
|
||||
end,
|
||||
function(effect, user)
|
||||
if user and user:is_player() then
|
||||
local groups = user:get_armor_groups()
|
||||
if groups.immortal then
|
||||
user:set_armor_groups(playereffects.preset)
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
-- TODO: integrate into different mod
|
||||
minetest.register_on_joinplayer(function(name, param)
|
||||
minetest.after(1, function()
|
||||
playereffects.apply_effect_type("immortal_bottle", 20, name)
|
||||
end)
|
||||
end)
|
||||
|
||||
minetest.register_on_newplayer(function(name, param)
|
||||
minetest.after(1, function()
|
||||
playereffects.apply_effect_type("immortal_bottle", 1800, name)
|
||||
end)
|
||||
end)
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Loading…
Reference in New Issue