Update wand behavior

This commit is contained in:
IamPyu 2024-12-21 13:51:31 -06:00
parent b2b6a0234e
commit aeafc593b6
2 changed files with 22 additions and 12 deletions

View File

@ -40,9 +40,9 @@ core.register_globalstep(function (dtime)
timers[name] = timers[name] + (10 * dtime)
if timers[name] > 3 then
if timers[name] > 1.5 then
if manas[name] < PyuTest.MAGIC_MANA_MAX then
manas[name] = manas[name] + 2
manas[name] = manas[name] + 1
end
timers[name] = 0
end

View File

@ -40,9 +40,9 @@ PyuTest.make_wand("pyutest_magic:ice_wand", "Ice Wand", "pyutest-ice-wand.png",
"pyutest-ice.png",
}
}, {
on_hit_node = function (entity, pos, node)
on_hit_node = function (self, pos, node)
for e in core.objects_inside_radius(pos, 2) do
if e ~= entity._owner then
if e ~= self._owner then
PyuTest.deal_damage(e, 6, PyuTest.DAMAGE_TYPES.freezing())
end
end
@ -75,9 +75,9 @@ PyuTest.make_wand("pyutest_magic:fire_wand", "Fire Wand", "pyutest-fire-wand.png
"pyutest-lava.png",
}
}, {
on_hit_node = function (entity, pos, node)
on_hit_node = function (self, pos, node)
-- TODO: Fix behaviour
PyuTest.dorange(entity.object:get_pos(), 1, function (p)
PyuTest.dorange(self.object:get_pos(), 1, function (p)
local node = core.get_node(p)
local walkable = core.registered_nodes[node.name].walkable
@ -102,8 +102,11 @@ PyuTest.make_wand("pyutest_magic:arcane_wand", "Arcane Wand", "pyutest-arcane-wa
"pyutest-crystal-lantern.png",
}
}, {
on_hit_node = function (entity, pos, node)
PyuTest.lightning_strike(entity.object:get_pos(), 3)
on_hit_node = function (self, pos, node)
PyuTest.lightning_strike(self.object:get_pos(), 3)
end,
on_hit_object = function(self, object)
PyuTest.deal_damage(object, 9, PyuTest.DAMAGE_TYPES.lightning())
end
})
@ -118,8 +121,15 @@ PyuTest.make_wand("pyutest_magic:teleportation_wand", "Teleportation Wand",
"pyutest-crystal-lantern.png",
}
}, {
on_hit_node = function (entity, pos, node)
entity._owner:set_pos(entity.object:get_pos())
on_hit_node = function (self, pos, node)
if self._owner ~= nil then
self._owner:set_pos(self.object:get_pos())
end
end,
on_hit_object = function(self, object)
if self._owner ~= nil then
object:set_pos(self._owner:get_pos())
end
end
})
@ -135,9 +145,9 @@ PyuTest.make_wand("pyutest_magic:explosions_wand", "Explosions Wand",
}
}, {
on_hit_node = function(self, pos, node)
PyuTest.create_explosion(pos, 2, false, 10, {}, 4)
PyuTest.create_explosion(pos, 2, false, 10, {self._owner}, 4)
end,
on_hit_object = function(self, object)
PyuTest.create_explosion(object:get_pos(), 2, false, 10, {}, 4)
PyuTest.create_explosion(object:get_pos(), 2, false, 10, {self._owner}, 4)
end
})