From d08a226a51ed3001e4714f44fce5b2a35849c79a Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 18 Apr 2021 19:50:48 +0200 Subject: [PATCH] Integrate critical hits --- mods/CORE/mcl_damage/init.lua | 3 ++ mods/PLAYER/mcl_criticals/init.lua | 38 ++++++++++++++++++ mods/PLAYER/mcl_criticals/mod.conf | 2 + .../sounds/mcl_criticals_hit.0.ogg | Bin 0 -> 10932 bytes .../sounds/mcl_criticals_hit.1.ogg | Bin 0 -> 12936 bytes .../sounds/mcl_criticals_hit.2.ogg | Bin 0 -> 10130 bytes mods/PLAYER/mcl_playerplus/init.lua | 31 -------------- 7 files changed, 43 insertions(+), 31 deletions(-) create mode 100644 mods/PLAYER/mcl_criticals/init.lua create mode 100644 mods/PLAYER/mcl_criticals/mod.conf create mode 100644 mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.0.ogg create mode 100644 mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.1.ogg create mode 100644 mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.2.ogg diff --git a/mods/CORE/mcl_damage/init.lua b/mods/CORE/mcl_damage/init.lua index 18cb6cb13..2018ffc19 100644 --- a/mods/CORE/mcl_damage/init.lua +++ b/mods/CORE/mcl_damage/init.lua @@ -102,6 +102,9 @@ old_register_hpchange(function(player, hp_change, mt_reason) for _, modf in ipairs(mcl_damage.modifiers) do hp_change = modf.func(player, hp_change, mt_reason, mcl_reason) or hp_change + if hp_change == 0 then + return 0 + end end return hp_change diff --git a/mods/PLAYER/mcl_criticals/init.lua b/mods/PLAYER/mcl_criticals/init.lua new file mode 100644 index 000000000..6b420e0b8 --- /dev/null +++ b/mods/PLAYER/mcl_criticals/init.lua @@ -0,0 +1,38 @@ +mcl_criticals = {} + +function mcl_criticals.modifier(obj, hp_change, reason) + local damage = -hp_change + if damage > 0 and reason.type == "player" then + local hitter = reason.direct + if mcl_sprint.is_sprinting(hitter) then + obj:add_velocity(hitter:get_velocity()) + elseif (hitter:get_velocity() or hitter:get_player_velocity()).y < 0 then + local pos = mcl_util.get_object_center(obj) + minetest.add_particlespawner({ + amount = 15, + time = 0.1, + minpos = {x=pos.x-0.5, y=pos.y-0.5, z=pos.z-0.5}, + maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5}, + minvel = {x=-0.1, y=-0.1, z=-0.1}, + maxvel = {x=0.1, y=0.1, z=0.1}, + minacc = {x=0, y=0, z=0}, + maxacc = {x=0, y=0, z=0}, + minexptime = 1, + maxexptime = 2, + minsize = 1.5, + maxsize = 1.5, + collisiondetection = false, + vertical = false, + texture = "mcl_particles_crit.png^[colorize:#bc7a57:127", + }) + minetest.sound_play("mcl_criticals_hit", {object = obj}) + -- the minecraft wiki is actually wrong about a crit dealing 150% damage, see minecraft source code + damage = damage + math.random(0, math.floor(damage * 1.5 + 2)) + end + end + return -damage +end + +mcl_damage.register_modifier(function(player, hp_change, _, mcl_reason) + return mcl_criticals.modifier(player, hp_change, mcl_reason) +end, -100) diff --git a/mods/PLAYER/mcl_criticals/mod.conf b/mods/PLAYER/mcl_criticals/mod.conf new file mode 100644 index 000000000..5b0b91330 --- /dev/null +++ b/mods/PLAYER/mcl_criticals/mod.conf @@ -0,0 +1,2 @@ +name = mcl_criticals +depends = mcl_damage diff --git a/mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.0.ogg b/mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8184d10768996a9faac5fcf83e29dc0f5c7445b9 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.1.ogg b/mods/PLAYER/mcl_criticals/sounds/mcl_criticals_hit.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aed998162308c4764cb2998cf700cf4abe1ae2b5 GIT binary patch literal 12936 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 R9JjpLI<;hq0oMP}{tuJDua5u# literal 0 HcmV?d00001 diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index 5d74903fb..5cf0253ab 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -113,37 +113,6 @@ end local node_stand, node_stand_below, node_head, node_feet - -minetest.register_on_punchplayer(function(player, hitter, damage) - if hitter:is_player() then - if hitter:get_player_control().aux1 then - player:add_velocity(hitter:get_velocity()) - end - if hitter:get_velocity().y < -6 then - player:set_hp(player:get_hp() - (damage * math.random(0.50 , 0.75))) - local pos = player:get_pos() - minetest.add_particlespawner({ - amount = 15, - time = 0.1, - minpos = {x=pos.x-0.5, y=pos.y-0.5, z=pos.z-0.5}, - maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5}, - minvel = {x=-0.1, y=-0.1, z=-0.1}, - maxvel = {x=0.1, y=0.1, z=0.1}, - minacc = {x=0, y=0, z=0}, - maxacc = {x=0, y=0, z=0}, - minexptime = 1, - maxexptime = 2, - minsize = 1.5, - maxsize = 1.5, - collisiondetection = false, - vertical = false, - texture = "mcl_particles_crit.png^[colorize:#bc7a57:127", - }) - end - end -end) - - minetest.register_globalstep(function(dtime) time = time + dtime