diff --git a/bin/net/grosinger/nomads/DroneListItem$Direction.class b/bin/net/grosinger/nomads/DroneListItem$Direction.class index 4011d6e..6bcd1f0 100644 Binary files a/bin/net/grosinger/nomads/DroneListItem$Direction.class and b/bin/net/grosinger/nomads/DroneListItem$Direction.class differ diff --git a/bin/net/grosinger/nomads/DroneListItem$EnumMove.class b/bin/net/grosinger/nomads/DroneListItem$EnumMove.class index 050b869..960eca4 100644 Binary files a/bin/net/grosinger/nomads/DroneListItem$EnumMove.class and b/bin/net/grosinger/nomads/DroneListItem$EnumMove.class differ diff --git a/bin/net/grosinger/nomads/DroneListItem.class b/bin/net/grosinger/nomads/DroneListItem.class index f16932c..a91c610 100644 Binary files a/bin/net/grosinger/nomads/DroneListItem.class and b/bin/net/grosinger/nomads/DroneListItem.class differ diff --git a/bin/net/grosinger/nomads/Upgrade.class b/bin/net/grosinger/nomads/Upgrade.class index 06f202f..d245490 100644 Binary files a/bin/net/grosinger/nomads/Upgrade.class and b/bin/net/grosinger/nomads/Upgrade.class differ diff --git a/bin/net/grosinger/nomads/UpgradeShop.class b/bin/net/grosinger/nomads/UpgradeShop.class index d0ca079..83e8c71 100644 Binary files a/bin/net/grosinger/nomads/UpgradeShop.class and b/bin/net/grosinger/nomads/UpgradeShop.class differ diff --git a/src/net/grosinger/nomads/DroneListItem.java b/src/net/grosinger/nomads/DroneListItem.java index f2e945b..f3786ac 100644 --- a/src/net/grosinger/nomads/DroneListItem.java +++ b/src/net/grosinger/nomads/DroneListItem.java @@ -2,6 +2,7 @@ package net.grosinger.nomads; import java.util.ArrayList; +import net.grosinger.nomads.Upgrade.UpgradeType; import net.grosinger.nomads.exceptions.FullInventoryException; /** @@ -56,8 +57,6 @@ public class DroneListItem { private Inventory inventory; private ArrayList currentObjectives; - // TODO - Implement max number of objectives - /* * Default constructor, includes all references */ @@ -244,8 +243,8 @@ public class DroneListItem { public ArrayList getCurrentObjectives() { return currentObjectives; } - - public boolean getCurrentObjectivesFull(){ + + public boolean getCurrentObjectivesFull() { return currentObjectives.size() >= Nomads.MAXREQUESTEDOBJECTIVES; } @@ -366,6 +365,56 @@ public class DroneListItem { visibleDistance += amount; } + /** + * Increments the level specified by the type. + * + * @param type + * Level to be increased + */ + public void incrementLevel(UpgradeType type) { + switch (type) { + case visibleDistance: { + visibleDistance++; + break; + } + case lumaLocatorDistance: { + lumaLocatorDistance++; + break; + } + case objectLocatorDistance: { + objectLocatorDistance++; + break; + } + case reliability: { + reliability++; + break; + } + case attack: { + attack++; + break; + } + case defenses: { + defenses++; + break; + } + case speed: { + speed++; + break; + } + case cargoSpace: { + cargoSpace++; + break; + } + case theft: { + theft++; + break; + } + default: { + // Must specify an Upgrade Type + } + } + } + /** * Increases the age of the drone by 1 turn */ diff --git a/src/net/grosinger/nomads/Upgrade.java b/src/net/grosinger/nomads/Upgrade.java index 2e5f487..d02f60c 100644 --- a/src/net/grosinger/nomads/Upgrade.java +++ b/src/net/grosinger/nomads/Upgrade.java @@ -82,7 +82,6 @@ public class Upgrade { break; } case lumaLocatorDistance: { - allInfo.put("multiplier", (double) 2.5); allInfo.put("currentLevel", (double) oldBrokenDrone.getLumaLocatorDistance()); allInfo.put("originalLevel", (double) Nomads.BASE_LUMALOCATORDISTANCE); diff --git a/src/net/grosinger/nomads/UpgradeShop.java b/src/net/grosinger/nomads/UpgradeShop.java index e72fc71..a5e9497 100644 --- a/src/net/grosinger/nomads/UpgradeShop.java +++ b/src/net/grosinger/nomads/UpgradeShop.java @@ -33,7 +33,8 @@ public class UpgradeShop extends NeighborBuilding { } else if (toPerform.isMaxLevel()) { throw new InvalidUpgradeException("Maximum level already achieved"); } else { - // TODO - Implement Perform Upgrade + drone.incrementLevel(toPerform.getUpgradeType()); + drone.getTeam().deductFromBalance(upgradeCost); } }