Implement plasma sword instakill

This commit is contained in:
2026-02-09 23:01:52 -08:00
parent bfaa324e6a
commit aba325ff2b
12 changed files with 273 additions and 219 deletions

View File

@@ -0,0 +1,26 @@
using Godot;
using Zennysoft.Ma.Adapter;
using Zennysoft.Ma.Adapter.Entity;
internal class PlayerEffectService
{
private IPlayer _player;
public PlayerEffectService(IPlayer player)
{
_player = player;
}
public void TakeSelfDamage(int damage)
{
_player.TakeDamage(new AttackData(5, ElementType.None, true, true));
}
public void Instakill(IEnemy enemy)
{
var rng = new RandomNumberGenerator();
rng.Randomize();
var rand = rng.RandiRange(1, 100);
if (rand <= _player.TotalLuck)
enemy.Die();
}
}