From 00b95d7e79961f530fe975618430552e4b5dbb1a Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Wed, 27 May 2020 10:17:17 +0200 Subject: [PATCH] EHRE --- .../dungeoncrawler/control/Controller.java | 17 +++++--- core/src/com/dungeoncrawler/model/Entity.java | 13 +++++-- .../com/dungeoncrawler/model/Inventory.java | 12 +++--- core/src/com/dungeoncrawler/model/Item.java | 18 +++++++-- .../dungeoncrawler/model/entities/Player.java | 39 +++++++++++++++++-- .../dungeoncrawler/model/items/Amulet.java | 1 + .../dungeoncrawler/model/items/Potion.java | 3 ++ 7 files changed, 81 insertions(+), 22 deletions(-) diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index d1c64e3..5596943 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -625,7 +625,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(mm != null){ } if(gs != null && !d.getPlayer().isToDelete()){ - d.getPlayer().setMovementX(-3f); + d.getPlayer().setMovementX(-d.getPlayer().getMovementSpeed()); } } @@ -633,7 +633,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(mm != null){ } if(gs != null && !d.getPlayer().isToDelete()){ - d.getPlayer().setMovementX(+3f); + d.getPlayer().setMovementX(d.getPlayer().getMovementSpeed()); } } @@ -641,7 +641,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(mm != null){ } if(gs != null && !d.getPlayer().isToDelete()){ - d.getPlayer().setMovementY(-3f); + d.getPlayer().setMovementY(-d.getPlayer().getMovementSpeed()); } } @@ -649,7 +649,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(mm != null){ } if(gs != null && !d.getPlayer().isToDelete()){ - d.getPlayer().setMovementY(3f); + d.getPlayer().setMovementY(d.getPlayer().getMovementSpeed()); } } @@ -678,7 +678,14 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(keycode == Input.Keys.R){ if(mm != null){} if(gs != null && gs.getIsLoading() == false && !d.getPlayer().isToDelete()){ - d.getPlayer().getInv().equipItem(); + d.getPlayer().getInv().equipSlot(0); + d.getPlayer().updateItems(); + } + } + if(keycode == Input.Keys.T){ + if(mm != null){} + if(gs != null && gs.getIsLoading() == false && !d.getPlayer().isToDelete()){ + d.getPlayer().getInv().equipSlot(1); d.getPlayer().updateItems(); } } diff --git a/core/src/com/dungeoncrawler/model/Entity.java b/core/src/com/dungeoncrawler/model/Entity.java index 10602cb..6841e4f 100644 --- a/core/src/com/dungeoncrawler/model/Entity.java +++ b/core/src/com/dungeoncrawler/model/Entity.java @@ -17,6 +17,8 @@ public abstract class Entity { private boolean toDelete; private double angle; protected boolean targetsPlayer; + protected int standartDef; + protected int def; @@ -29,17 +31,18 @@ public abstract class Entity { this.direction = 2; this.toDelete = false; this.targetsPlayer = true; + this.standartDef = 0; + this.def = 0; } public boolean attack(Entity e){ - if(e.getHp() - this.dmg <= 0){ + if(e.getHp() - (this.dmg - e.getDef()) <= 0){ e.setHp(0); e.toDelete = true; return true; } else{ - - e.setHp(e.getHp() - this.dmg); + e.setHp(e.getHp() - (this.dmg - e.getDef())); return false; } } @@ -198,5 +201,7 @@ public abstract class Entity { public boolean isTargetsPlayer() { return targetsPlayer; } - + public int getDef(){ + return def; + } } \ No newline at end of file diff --git a/core/src/com/dungeoncrawler/model/Inventory.java b/core/src/com/dungeoncrawler/model/Inventory.java index ead61b1..1bfea1d 100644 --- a/core/src/com/dungeoncrawler/model/Inventory.java +++ b/core/src/com/dungeoncrawler/model/Inventory.java @@ -26,26 +26,26 @@ public class Inventory { } } - public void equipItem(){ + public void equipSlot(int slot){ if(selected == 0 || selected == 1){ Item temp0 = items[selected]; items[selected] = null; addItem(temp0); } else{ - if(items[selected] == null || items[selected].getId() == 0){} + if(items[selected] == null || items[selected].getId() == 0 || items[selected].getId() == 1){} else{ switch(items[selected].getId()){ case 0: break; case 1: - Item temp1 = items[0]; - items[0] = items[selected]; + Item temp1 = items[slot]; + items[slot] = items[selected]; items[selected] = temp1; break; case 2: - Item temp2 = items[1]; - items[1] = items[selected]; + Item temp2 = items[slot]; + items[slot] = items[selected]; items[selected] = temp2; break; } diff --git a/core/src/com/dungeoncrawler/model/Item.java b/core/src/com/dungeoncrawler/model/Item.java index 2976f95..409cdf6 100644 --- a/core/src/com/dungeoncrawler/model/Item.java +++ b/core/src/com/dungeoncrawler/model/Item.java @@ -12,8 +12,11 @@ package com.dungeoncrawler.model; public abstract class Item { protected int dmg; protected int heal; + protected int def; protected int lvl; protected int id; + protected int extraHp; + protected int movementBoost; public Item(int lvl){ this.lvl = lvl; @@ -24,13 +27,22 @@ public abstract class Item { return this.id; } public int getDmg(){ - return dmg; + return this.dmg; } public int getHeal(){ - return heal; + return this.heal; } public int getLvl(){ - return lvl; + return this.lvl; + } + public int getDef(){ + return this.def; + } + public int getExtraHp(){ + return this.extraHp; + } + public int getMovementBoost(){ + return this.movementBoost; } /** * @return the amount diff --git a/core/src/com/dungeoncrawler/model/entities/Player.java b/core/src/com/dungeoncrawler/model/entities/Player.java index 97c122c..ab31d64 100644 --- a/core/src/com/dungeoncrawler/model/entities/Player.java +++ b/core/src/com/dungeoncrawler/model/entities/Player.java @@ -20,6 +20,8 @@ public class Player extends Entity { int skin; String gender; + int standartMovementSpeed; + int movementSpeed; public Player() { super(200, 200, 1); @@ -29,6 +31,8 @@ public class Player extends Entity { this.maxhp = 50 * lvl; this.hp = this.maxhp; this.standartMaxHp = 50 * lvl; + this.standartDef = 2 * lvl; + this.def = standartDef; this.dmg = 20*lvl; this.standartDmg = this.dmg; @@ -38,6 +42,9 @@ public class Player extends Entity { // TODO: Sinnvolle Werte finden this.targetsPlayer = false; + this.standartMovementSpeed = 3; + this.movementSpeed = this.standartMovementSpeed; + } public void updateStats(int ey){ @@ -46,6 +53,8 @@ public class Player extends Entity { this.standartMaxHp = 50 * this.lvl; this.standartDmg = 20 * this.lvl; this.dmg = this.standartDmg; + this.standartDef = 4 * lvl; + this.def = this.standartDef; updateItems(); } @@ -57,13 +66,31 @@ public class Player extends Entity { } public void updateItems(){ - if(inv.getItem(1) != null){ + this.dmg = this.standartDmg; + this.def = this.standartDef; + this.maxhp = this.standartMaxHp; + this.movementSpeed = this.standartMovementSpeed; + + if(inv.getItem(0) != null && inv.getItem(1) == null){ + this.dmg = this.standartDmg + inv.getItem(0).getDmg(); + this.maxhp = this.standartMaxHp + inv.getItem(0).getExtraHp(); + this.def = this.standartDef + inv.getItem(0).getDef(); + this.movementSpeed = this.standartMovementSpeed + inv.getItem(0).getMovementBoost(); + } + if(inv.getItem(1) != null && inv.getItem(0) == null){ this.dmg = this.standartDmg + inv.getItem(1).getDmg(); - //this.maxhp = this.standartMaxHp + inv.getItem(1).getHeal(); + this.maxhp = this.standartMaxHp + inv.getItem(1).getExtraHp(); + this.def = this.standartDef + inv.getItem(1).getDef(); + this.movementSpeed = this.standartMovementSpeed + inv.getItem(1).getMovementBoost(); } - else{ - this.dmg = this.standartDmg; + if(inv.getItem(1) != null &&inv.getItem(0) != null){ + this.dmg = this.standartDmg + inv.getItem(0).getDmg() + inv.getItem(1).getDmg(); + this.maxhp = this.standartMaxHp + inv.getItem(0).getExtraHp()+ inv.getItem(1).getExtraHp(); + this.def = this.standartDef + inv.getItem(0).getDef() + inv.getItem(1).getDef(); + this.movementSpeed = this.standartMovementSpeed + inv.getItem(0).getMovementBoost() + inv.getItem(1).getMovementBoost(); } + + } public void useItem(int x){ @@ -147,5 +174,9 @@ public class Player extends Entity { public boolean inventoryFull(){ return inv.inventoryFull(); } + public int getMovementSpeed(){ + return movementSpeed; + } + } diff --git a/core/src/com/dungeoncrawler/model/items/Amulet.java b/core/src/com/dungeoncrawler/model/items/Amulet.java index ca9eede..695fa8a 100644 --- a/core/src/com/dungeoncrawler/model/items/Amulet.java +++ b/core/src/com/dungeoncrawler/model/items/Amulet.java @@ -17,6 +17,7 @@ public class Amulet extends Item { super(lvl); this.dmg = 8 * lvl; this.heal = 0 * lvl; + this.movementBoost = 10; this.id = 2; } diff --git a/core/src/com/dungeoncrawler/model/items/Potion.java b/core/src/com/dungeoncrawler/model/items/Potion.java index e933d1b..a1a6814 100644 --- a/core/src/com/dungeoncrawler/model/items/Potion.java +++ b/core/src/com/dungeoncrawler/model/items/Potion.java @@ -17,6 +17,9 @@ public class Potion extends Item { super(lvl); this.heal = lvl * 25; this.dmg = 0; + this.def = 0; + this.extraHp = 0; + this.movementBoost = 0; this.id = 1; }