From 329e8a18c58fc1a0e7461d098bd90d1842c23f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Tue, 23 Aug 2022 14:54:01 +0200 Subject: [PATCH] Update characters' speed --- .../java/com/bartlomiejpluta/demo/entity/Creature.java | 4 +++- src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java | 8 +++++--- .../java/com/bartlomiejpluta/demo/map/BaseMapHandler.java | 1 + .../java/com/bartlomiejpluta/demo/runner/DemoRunner.java | 8 ++++---- .../bartlomiejpluta/demo/world/weapon/MeleeWeapon.java | 7 ++++--- .../bartlomiejpluta/demo/world/weapon/RangedWeapon.java | 4 ++-- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Creature.java b/src/main/java/com/bartlomiejpluta/demo/entity/Creature.java index 17b21a5..fbf6ecd 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Creature.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Creature.java @@ -76,7 +76,9 @@ public abstract class Creature extends NamedCharacter { } protected void die() { - + if(isMoving()) { + abortMove(); + } } public abstract String getName(); diff --git a/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java b/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java index 1837c41..b278bd9 100644 --- a/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java +++ b/src/main/java/com/bartlomiejpluta/demo/entity/Enemy.java @@ -7,11 +7,12 @@ import com.bartlomiejpluta.base.api.entity.Entity; import com.bartlomiejpluta.base.api.character.Character; import com.bartlomiejpluta.base.api.ai.AI; import com.bartlomiejpluta.base.api.ai.NPC; -import com.bartlomiejpluta.base.api.move.MoveEvent; +import com.bartlomiejpluta.base.api.move.*; import com.bartlomiejpluta.base.lib.ai.*; import com.bartlomiejpluta.base.lib.animation.*; import com.bartlomiejpluta.base.util.random.DiceRoller; +import com.bartlomiejpluta.base.util.path.*; import com.bartlomiejpluta.demo.runner.DemoRunner; import com.bartlomiejpluta.demo.world.weapon.*; @@ -44,8 +45,9 @@ public class Enemy extends Creature implements NPC { name = template.getName(); maxHp = DiceRoller.of(template.getHp()).roll(); hp = maxHp; - setSpeed(template.getSpeed()); - setAnimationSpeed(template.getAnimationSpeed()); + var speed = DiceRoller.of(template.getSpeed()).roll()/10f; + setSpeed(speed); + setAnimationSpeed(speed/2.0f); setBlocking(template.isBlocking()); var runner = (DemoRunner) context.getGameRunner(); var meleeWeaponTemplate = template.getMeleeWeapon(); diff --git a/src/main/java/com/bartlomiejpluta/demo/map/BaseMapHandler.java b/src/main/java/com/bartlomiejpluta/demo/map/BaseMapHandler.java index febf98c..8613e4f 100644 --- a/src/main/java/com/bartlomiejpluta/demo/map/BaseMapHandler.java +++ b/src/main/java/com/bartlomiejpluta/demo/map/BaseMapHandler.java @@ -10,6 +10,7 @@ import com.bartlomiejpluta.base.api.move.Direction; import com.bartlomiejpluta.base.api.screen.Screen; import com.bartlomiejpluta.base.api.camera.Camera; import com.bartlomiejpluta.base.api.input.*; +import com.bartlomiejpluta.base.api.icon.Icon; import com.bartlomiejpluta.base.lib.camera.*; diff --git a/src/main/java/com/bartlomiejpluta/demo/runner/DemoRunner.java b/src/main/java/com/bartlomiejpluta/demo/runner/DemoRunner.java index 9c85907..ac1289b 100644 --- a/src/main/java/com/bartlomiejpluta/demo/runner/DemoRunner.java +++ b/src/main/java/com/bartlomiejpluta/demo/runner/DemoRunner.java @@ -75,11 +75,11 @@ public class DemoRunner implements GameRunner { private void resetPlayer() { this.player.changeCharacterSet(A.charsets.luna.uid); - this.player.setScale(1.0f); - this.player.setSpeed(0.07f); - this.player.setAnimationSpeed(0.005f); + this.player.setScale(1f); + this.player.setSpeed(4f); + this.player.setAnimationSpeed(2f); this.player.setBlocking(true); - this.player.setCoordinates(0, 11); + this.player.setCoordinates(14, 11); this.player.setWeapon(new RangedWeapon("wooden_bow")); } diff --git a/src/main/java/com/bartlomiejpluta/demo/world/weapon/MeleeWeapon.java b/src/main/java/com/bartlomiejpluta/demo/world/weapon/MeleeWeapon.java index 23f1811..67958b6 100644 --- a/src/main/java/com/bartlomiejpluta/demo/world/weapon/MeleeWeapon.java +++ b/src/main/java/com/bartlomiejpluta/demo/world/weapon/MeleeWeapon.java @@ -34,12 +34,13 @@ public class MeleeWeapon implements Weapon { this.name = template.getName(); this.roller = DiceRoller.of(template.getDamage()); this.cooldown = template.getCooldown(); - this.animation = new RandomAnimationsRunner(5) + this.animation = new RandomAnimationsRunner(2) .nRange(0, 2f) .nScale(0.2f, 0.15f) - .uAnimationSpeed(0.01f, 0.05f) + .uAnimationSpeed(0.5f, 1f) + .nRotation(0, 10) .offset(0, -10) - .uDelay(0, 500) + .uDelay(250, 500) .with(A.animations.get(template.getAnimation()).uid); this.sound = A.sounds.get(template.getSound()).uid; } diff --git a/src/main/java/com/bartlomiejpluta/demo/world/weapon/RangedWeapon.java b/src/main/java/com/bartlomiejpluta/demo/world/weapon/RangedWeapon.java index 59fd60e..bd2d29f 100644 --- a/src/main/java/com/bartlomiejpluta/demo/world/weapon/RangedWeapon.java +++ b/src/main/java/com/bartlomiejpluta/demo/world/weapon/RangedWeapon.java @@ -47,8 +47,8 @@ public class RangedWeapon implements Weapon { .offset(0, -15) .onHit(this::onHit) .onMiss(this::onMiss) - .speed(0.25f) - .animationSpeed(0.07f) + .speed(7f) + .animationSpeed(4f) .scale(0.6f); this.sound = A.sounds.get(template.getSound()).uid; this.punchAnimation = new SimpleAnimationRunner(A.animations.get(template.getPunchAnimation()).uid);