Use status effects for elixirs and cold demon slow.

This commit is contained in:
Duane 2016-06-30 18:48:51 -05:00
parent b486af8627
commit e9ae30dfc9
4 changed files with 37 additions and 16 deletions

View file

@ -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'