diff --git a/src/de/miaurizius/jgame2d/entity/Entity.java b/src/de/miaurizius/jgame2d/entity/Entity.java index c8e3b3b..e523697 100644 --- a/src/de/miaurizius/jgame2d/entity/Entity.java +++ b/src/de/miaurizius/jgame2d/entity/Entity.java @@ -121,7 +121,8 @@ public class Entity { knockback = false; knockbackCount = 0; speed = defaultSpeed; - } else if(attacking) attacking(); else { + } else if(attacking) attacking(); + else { setAction(); checkCollision(); @@ -223,7 +224,7 @@ public class Entity { solidArea.width = attackArea.width; solidArea.height = attackArea.height; - if(type == EntityType.MONSTER) if(panel.collisionH.checkPlayer(this)) damagePlayer(attackValue); + if(type == EntityType.MONSTER) if(panel.collisionH.checkPlayer(this)) damagePlayer(attack); if(type == EntityType.PLAYER) { int monsterIndex = panel.collisionH.checkEntity(this, panel.monster[panel.currentMap.getIndex()]); @@ -400,7 +401,7 @@ public class Entity { return Math.abs(worldY - target.worldY); } public int dTile(Entity target) { - if(Objects.equals(name, "orc")) System.out.println("dX: " + dX(target) + " dY: " + dY(target)); + //if(Objects.equals(name, "orc")) System.out.println("dX: " + dX(target) + " dY: " + dY(target)); return (dX(target) + dY(target)) / panel.tileSize; } public int getGoalCol(Entity target) { @@ -532,7 +533,7 @@ public class Entity { } } public void checkStopChasing(Entity target, int distance, int rate) { - if(Objects.equals(name, "orc")) System.out.println("dTile: " + dTile(target) + " distance: " + distance); + //if(Objects.equals(name, "orc")) System.out.println("dTile: " + dTile(target) + " distance: " + distance); if(dTile(target) > distance) onPath = false; } public void checkStartChasing(Entity target, int distance, int rate) { diff --git a/src/de/miaurizius/jgame2d/entity/monster/OrcMON.java b/src/de/miaurizius/jgame2d/entity/monster/OrcMON.java index 3e5a437..8e6ff0a 100644 --- a/src/de/miaurizius/jgame2d/entity/monster/OrcMON.java +++ b/src/de/miaurizius/jgame2d/entity/monster/OrcMON.java @@ -39,12 +39,8 @@ public class OrcMON extends Entity { // INTERACTION public void setAction() { - if(!onPath) checkStartChasing(panel.player, 10 ,100); + if(!onPath) checkStartChasing(panel.player, 10 ,100); else followPlayer(); checkStopChasing(panel.player, 15, 100); - if(onPath) { - followPlayer(); - return; - } setRandomDirection(); if(!attacking) checkAttack(30, panel.tileSize*4, panel.tileSize); } @@ -71,13 +67,13 @@ public class OrcMON extends Entity { right2 = initEntitySprites("monster/orc_right_2"); } public void getAttackImage() { - attackUp1 = initEntitySprites("monster/orc_attack_up_1"); - attackUp2 = initEntitySprites("monster/orc_attack_up_2"); - attackDown1 = initEntitySprites("monster/orc_attack_down_1"); - attackDown2 = initEntitySprites("monster/orc_attack_down_2"); - attackLeft1 = initEntitySprites("monster/orc_attack_left_1"); - attackLeft2 = initEntitySprites("monster/orc_attack_left_2"); - attackRight1 = initEntitySprites("monster/orc_attack_right_1"); - attackRight2 = initEntitySprites("monster/orc_attack_right_2"); + attackUp1 = initEntitySprites("monster/orc_attack_up_1", panel.tileSize, panel.tileSize * 2); + attackUp2 = initEntitySprites("monster/orc_attack_up_2", panel.tileSize, panel.tileSize * 2); + attackDown1 = initEntitySprites("monster/orc_attack_down_1", panel.tileSize, panel.tileSize * 2); + attackDown2 = initEntitySprites("monster/orc_attack_down_2", panel.tileSize, panel.tileSize * 2); + attackLeft1 = initEntitySprites("monster/orc_attack_left_1", panel.tileSize*2, panel.tileSize); + attackLeft2 = initEntitySprites("monster/orc_attack_left_2", panel.tileSize*2, panel.tileSize); + attackRight1 = initEntitySprites("monster/orc_attack_right_1", panel.tileSize*2, panel.tileSize); + attackRight2 = initEntitySprites("monster/orc_attack_right_2", panel.tileSize*2, panel.tileSize); } }