fix: move away from targetEntity in use stone requests in request executing too

This commit is contained in:
punchready 2021-08-10 19:21:44 +02:00
parent a9acbda343
commit 673ba9f89d

View File

@ -511,7 +511,8 @@ public class GameLogic {
.buildCharacterEvent());
}
case MindStone -> {
Entity targetEntity = state.entities.findEntity(data.targetEntity);
ArrayList<Entity> 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<Entity> 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<Entity> 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());