forked from VoxeLibre/VoxeLibre
Added frost effect
This commit is contained in:
parent
3f5cea3046
commit
5610fa1c4b
|
@ -531,6 +531,49 @@ mcl_potions.register_effect({
|
||||||
timer_uses_factor = true,
|
timer_uses_factor = true,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mcl_potions.register_effect({
|
||||||
|
name = "frost",
|
||||||
|
description = S("Frost"),
|
||||||
|
get_tt = function(factor)
|
||||||
|
return S("-1 HP / 1 s, can kill, -@1% running speed", math.floor(factor*100))
|
||||||
|
end,
|
||||||
|
res_condition = function(object)
|
||||||
|
return (not object:is_player())
|
||||||
|
end,
|
||||||
|
on_start = function(object, factor)
|
||||||
|
mcl_burning.extinguish(object)
|
||||||
|
playerphysics.add_physics_factor(object, "speed", "mcl_potions:frost", 1-factor)
|
||||||
|
EF.frost[object].vignette = object:hud_add({
|
||||||
|
hud_elem_type = "image",
|
||||||
|
position = {x = 0.5, y = 0.5},
|
||||||
|
scale = {x = -101, y = -101},
|
||||||
|
text = "mcl_potions_frost_hud.png",
|
||||||
|
z_index = -400
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
on_hit_timer = function(object, factor, duration)
|
||||||
|
if object:is_player() or object:get_luaentity() then
|
||||||
|
mcl_util.deal_damage(object, 1, {type = "magic"})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
on_end = function(object)
|
||||||
|
playerphysics.remove_physics_factor(object, "speed", "mcl_potions:frost")
|
||||||
|
if not EF.frost[object] then return end
|
||||||
|
object:hud_remove(EF.frost[object].vignette)
|
||||||
|
end,
|
||||||
|
particle_color = "#5B7DAA",
|
||||||
|
uses_factor = true,
|
||||||
|
lvl1_factor = 0.1,
|
||||||
|
lvl2_factor = 0.2,
|
||||||
|
timer_uses_factor = false,
|
||||||
|
hit_timer_step = 1,
|
||||||
|
damage_modifier = "is_fire",
|
||||||
|
modifier_func = function(damage, effect_vals)
|
||||||
|
effect_vals.timer = effect_vals.dur
|
||||||
|
return 0
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
mcl_potions.register_effect({
|
mcl_potions.register_effect({
|
||||||
name = "food_poisoning",
|
name = "food_poisoning",
|
||||||
description = S("Food Poisoning"),
|
description = S("Food Poisoning"),
|
||||||
|
@ -643,12 +686,28 @@ mcl_potions.register_hp_hudbar_modifier({
|
||||||
priority = 0,
|
priority = 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mcl_potions.register_hp_hudbar_modifier({
|
||||||
|
predicate = function(player)
|
||||||
|
if EF.frost[player] and EF.regeneration[player] then return true end
|
||||||
|
end,
|
||||||
|
icon = "mcl_potions_icon_regen_frost.png",
|
||||||
|
priority = 10,
|
||||||
|
})
|
||||||
|
|
||||||
|
mcl_potions.register_hp_hudbar_modifier({
|
||||||
|
predicate = function(player)
|
||||||
|
if EF.frost[player] then return true end
|
||||||
|
end,
|
||||||
|
icon = "mcl_potions_icon_frost.png",
|
||||||
|
priority = 20,
|
||||||
|
})
|
||||||
|
|
||||||
mcl_potions.register_hp_hudbar_modifier({
|
mcl_potions.register_hp_hudbar_modifier({
|
||||||
predicate = function(player)
|
predicate = function(player)
|
||||||
if EF.regeneration[player] then return true end
|
if EF.regeneration[player] then return true end
|
||||||
end,
|
end,
|
||||||
icon = "hudbars_icon_regenerate.png",
|
icon = "hudbars_icon_regenerate.png",
|
||||||
priority = 10,
|
priority = 30,
|
||||||
})
|
})
|
||||||
|
|
||||||
local function potions_set_hudbar(player)
|
local function potions_set_hudbar(player)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 139 B |
Binary file not shown.
After Width: | Height: | Size: 79 KiB |
Binary file not shown.
After Width: | Height: | Size: 138 B |
Binary file not shown.
After Width: | Height: | Size: 151 B |
Loading…
Reference in New Issue