diff --git a/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java b/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java index feee29d..46039c2 100644 --- a/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java +++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java @@ -490,11 +490,15 @@ public class GameLogic { case PowerStone -> { Character origin = (Character)state.entities.findEntity(data.originEntity); int dmg = (int)Math.round(origin.hp.getMax() * 0.1); - if(origin.hp.getValue() != 1 && dmg > 0) { + //this is ugly ... but also easy to understand + int hp1 = origin.hp.getValue(); + int hp2 = Math.max(1, origin.hp.getValue() - dmg); + int actualDmg = hp1 - hp2; + if(actualDmg > 0) { result.add(new EventBuilder(EventType.TakenDamageEvent) .withTargetEntity(data.originEntity) .withTargetField(data.originField) - .withAmount(dmg) + .withAmount(actualDmg) .buildEntityEvent()); } result.add(new EventBuilder(EventType.TakenDamageEvent)