Use status effects for elixirs and cold demon slow.
This commit is contained in:
parent
b486af8627
commit
e9ae30dfc9
4 changed files with 37 additions and 16 deletions
23
demon.lua
23
demon.lua
|
@ -162,10 +162,6 @@ local snow_demon = {
|
|||
walkmine_end = 219,
|
||||
},
|
||||
animation_speed = 30,
|
||||
on_die = function(self)
|
||||
self.slowed:set_physics_override({speed=1})
|
||||
self.slowed = nil
|
||||
end,
|
||||
do_custom = function(self)
|
||||
if not self.attack then
|
||||
self.fly = false
|
||||
|
@ -175,14 +171,7 @@ local snow_demon = {
|
|||
snow_effect(pos, 20)
|
||||
|
||||
if self.attack then
|
||||
self.attack:set_physics_override({speed=0.3})
|
||||
self.slowed = self.attack
|
||||
elseif self.slowed then
|
||||
local player = self.slowed
|
||||
minetest.after(20, function()
|
||||
player:set_physics_override({speed=1})
|
||||
end)
|
||||
self.slowed = nil
|
||||
fun_caves.set_status(self.attack:get_player_name(), 'slow_cold', 20)
|
||||
end
|
||||
|
||||
if not fun_caves.custom_ready(self) then
|
||||
|
@ -193,6 +182,16 @@ local snow_demon = {
|
|||
end,
|
||||
}
|
||||
|
||||
fun_caves.register_status({
|
||||
name = 'slow_cold',
|
||||
start = function(player)
|
||||
player:set_physics_override({speed=0.3})
|
||||
end,
|
||||
terminate = function(player)
|
||||
player:set_physics_override({speed=1})
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.registered_entities["mobs_yeti:yeti"] then
|
||||
snow_demon.arrow = "mobs_yeti:snowball"
|
||||
snow_demon.attack_type = 'dogshoot'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue