From 673ba9f89d0bf66674054cf150d92ad4358fb09d Mon Sep 17 00:00:00 2001 From: punchready Date: Tue, 10 Aug 2021 19:21:44 +0200 Subject: [PATCH] fix: move away from targetEntity in use stone requests in request executing too --- .../marvelous/gamelibrary/gamelogic/GameLogic.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 d168e4b..c7e1aee 100644 --- a/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java +++ b/src/main/java/uulm/teamname/marvelous/gamelibrary/gamelogic/GameLogic.java @@ -511,7 +511,8 @@ public class GameLogic { .buildCharacterEvent()); } case MindStone -> { - Entity targetEntity = state.entities.findEntity(data.targetEntity); + ArrayList found = state.entities.findByPosition(data.targetField); + Entity targetEntity = found.get(0); result.add(new EventBuilder(EventType.TakenDamageEvent) .withTargetEntity(targetEntity.id) @@ -571,6 +572,9 @@ public class GameLogic { } } case PowerStone -> { + ArrayList found = state.entities.findByPosition(data.targetField); + Entity targetEntity = found.get(0); + Character origin = (Character)state.entities.findEntity(data.originEntity); int dmg = (int)Math.round(origin.hp.getMax() * 0.1); //this is ugly ... but also easy to understand @@ -585,7 +589,7 @@ public class GameLogic { .buildEntityEvent()); } result.add(new EventBuilder(EventType.TakenDamageEvent) - .withTargetEntity(data.targetEntity) + .withTargetEntity(targetEntity.id) .withTargetField(data.targetField) .withAmount(origin.meleeDamage * 2) .buildEntityEvent()); @@ -610,9 +614,11 @@ public class GameLogic { } } case SoulStone -> { - Character target = (Character)state.entities.findEntity(data.targetEntity); + ArrayList found = state.entities.findByPosition(data.targetField); + Character target = (Character)found.get(0); + result.add(new EventBuilder(EventType.HealedEvent) - .withTargetEntity(data.targetEntity) + .withTargetEntity(target.id) .withTargetField(data.targetField) .withAmount(target.hp.getMax()) .buildEntityEvent());