summaryrefslogtreecommitdiff
path: root/objects
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-14 13:22:30 +0800
committerEltrac <hi@guhub.cn>2025-03-14 13:22:30 +0800
commit28275c7d8b841e66fd641dbd7f7ad45844ecf394 (patch)
tree263276c836b53a297c42e9733da4a307e908ddb3 /objects
parent409514f87d251e159a200bf997afbd380e32004b (diff)
feat: dynamic punch damage
punch damage varies with the number of hearts
Diffstat (limited to 'objects')
-rw-r--r--objects/Player.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/objects/Player.lua b/objects/Player.lua
index 1ac6891..09f3a58 100644
--- a/objects/Player.lua
+++ b/objects/Player.lua
@@ -126,7 +126,9 @@ function Player:punch(target)
-- check if enemy is in range
if distance <= attack_radius + enemy.r + self.r and angle_diff <= math.rad(attack_angle / 2) then
- enemy:takeDamage(config.player.punch.damage)
+ local damage = config.player.punch.damage
+ + config.player.punch.damageCoefficient / (1 - math.exp(-#self.hearts / 5))
+ enemy:takeDamage(damage)
enemy.punched = G.time + config.player.punch.cooldown
-- knock back enemy
local normEdx, normEdy = edx / distance, edy / distance