player can now choose between different shields and weapons. added consumable items (healing potion)
This commit is contained in:
@@ -41,9 +41,6 @@ public class Player extends Entity {
|
||||
solidArea.width = 24;
|
||||
solidArea.height = 24;
|
||||
|
||||
attackArea.width = 36;
|
||||
attackArea.height = 36;
|
||||
|
||||
setDefaultValues();
|
||||
getPlayerImage();
|
||||
getPlayerAttackImage();
|
||||
@@ -128,7 +125,7 @@ public class Player extends Entity {
|
||||
}
|
||||
inventory.add(panel.obj[index]);
|
||||
panel.playSE(1);
|
||||
panel.ui.addMessage("Picked up " + panel.obj[index].name);
|
||||
panel.ui.addMessage("Picked up " + panel.obj[index].name + "!");
|
||||
panel.obj[index] = null;
|
||||
}
|
||||
|
||||
@@ -229,6 +226,24 @@ public class Player extends Entity {
|
||||
panel.gameState = GameState.DIALOGUE;
|
||||
panel.ui.currentDialogue = "You are level " + level + " now!\nYou feel stronger!";
|
||||
}
|
||||
public void selectItem() {
|
||||
int itemIndex = panel.ui.getItemIndex();
|
||||
if(itemIndex >= inventory.size()) return;
|
||||
Entity selectedItem = inventory.get(itemIndex);
|
||||
if(selectedItem.type == EntityType.WEAPON) {
|
||||
currentWeapon = selectedItem;
|
||||
getAttack();
|
||||
getPlayerAttackImage();
|
||||
}
|
||||
if(selectedItem.type == EntityType.SHIELD) {
|
||||
currentShield = selectedItem;
|
||||
getDefense();
|
||||
}
|
||||
if(selectedItem.consumable) {
|
||||
selectedItem.use(this);
|
||||
inventory.remove(itemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
// SETTING THINGS UP
|
||||
public void setDefaultValues() {
|
||||
@@ -256,6 +271,7 @@ public class Player extends Entity {
|
||||
inventory.add(currentShield);
|
||||
}
|
||||
public int getAttack() {
|
||||
attackArea = currentWeapon.attackArea;
|
||||
return attack = strength * currentWeapon.attackValue;
|
||||
}
|
||||
public int getDefense() {
|
||||
@@ -272,14 +288,28 @@ public class Player extends Entity {
|
||||
right2 = initEntitySprites("player/boy_right_2");
|
||||
}
|
||||
public void getPlayerAttackImage() {
|
||||
attackUp1 = initEntitySprites("player/attack/boy_attack_up_1", panel.tileSize, panel.tileSize*2);
|
||||
attackUp2 = initEntitySprites("player/attack/boy_attack_up_2", panel.tileSize, panel.tileSize*2);
|
||||
attackDown1 = initEntitySprites("player/attack/boy_attack_down_1", panel.tileSize, panel.tileSize*2);
|
||||
attackDown2 = initEntitySprites("player/attack/boy_attack_down_2", panel.tileSize, panel.tileSize*2);
|
||||
attackLeft1 = initEntitySprites("player/attack/boy_attack_left_1", panel.tileSize*2, panel.tileSize);
|
||||
attackLeft2 = initEntitySprites("player/attack/boy_attack_left_2", panel.tileSize*2, panel.tileSize);
|
||||
attackRight1 = initEntitySprites("player/attack/boy_attack_right_1", panel.tileSize*2, panel.tileSize);
|
||||
attackRight2 = initEntitySprites("player/attack/boy_attack_right_2", panel.tileSize*2, panel.tileSize);
|
||||
switch(currentWeapon.weaponType) {
|
||||
case SWORD:
|
||||
attackUp1 = initEntitySprites("player/attack/boy_attack_up_1", panel.tileSize, panel.tileSize * 2);
|
||||
attackUp2 = initEntitySprites("player/attack/boy_attack_up_2", panel.tileSize, panel.tileSize * 2);
|
||||
attackDown1 = initEntitySprites("player/attack/boy_attack_down_1", panel.tileSize, panel.tileSize * 2);
|
||||
attackDown2 = initEntitySprites("player/attack/boy_attack_down_2", panel.tileSize, panel.tileSize * 2);
|
||||
attackLeft1 = initEntitySprites("player/attack/boy_attack_left_1", panel.tileSize * 2, panel.tileSize);
|
||||
attackLeft2 = initEntitySprites("player/attack/boy_attack_left_2", panel.tileSize * 2, panel.tileSize);
|
||||
attackRight1 = initEntitySprites("player/attack/boy_attack_right_1", panel.tileSize * 2, panel.tileSize);
|
||||
attackRight2 = initEntitySprites("player/attack/boy_attack_right_2", panel.tileSize * 2, panel.tileSize);
|
||||
break;
|
||||
case AXE:
|
||||
attackUp1 = initEntitySprites("player/attack/boy_axe_up_1", panel.tileSize, panel.tileSize * 2);
|
||||
attackUp2 = initEntitySprites("player/attack/boy_axe_up_2", panel.tileSize, panel.tileSize * 2);
|
||||
attackDown1 = initEntitySprites("player/attack/boy_axe_down_1", panel.tileSize, panel.tileSize * 2);
|
||||
attackDown2 = initEntitySprites("player/attack/boy_axe_down_2", panel.tileSize, panel.tileSize * 2);
|
||||
attackLeft1 = initEntitySprites("player/attack/boy_axe_left_1", panel.tileSize * 2, panel.tileSize);
|
||||
attackLeft2 = initEntitySprites("player/attack/boy_axe_left_2", panel.tileSize * 2, panel.tileSize);
|
||||
attackRight1 = initEntitySprites("player/attack/boy_axe_right_1", panel.tileSize * 2, panel.tileSize);
|
||||
attackRight2 = initEntitySprites("player/attack/boy_axe_right_2", panel.tileSize * 2, panel.tileSize);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user