Added Passive energy source for Cubots #14

This commit is contained in:
simon 2017-12-16 11:35:04 -05:00
parent 597118bd07
commit cd41db9e58
3 changed files with 9 additions and 2 deletions

View File

@ -34,6 +34,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit {
private int energy; private int energy;
private int maxEnergy; private int maxEnergy;
private static final float SOLAR_PANEL_MULTIPLIER = 1;
public Cubot() { public Cubot() {
} }
@ -46,6 +48,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit {
@Override @Override
public void update() { public void update() {
storeEnergy((int) (SOLAR_PANEL_MULTIPLIER * GameServer.INSTANCE.getDayNightCycle().getSunIntensity()));
if (currentAction == Action.WALKING) { if (currentAction == Action.WALKING) {
if (spendEnergy(100)) { if (spendEnergy(100)) {
if (!incrementLocation()) { if (!incrementLocation()) {
@ -170,7 +174,11 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit {
energy -= spent; energy -= spent;
return true; return true;
} }
}
public void storeEnergy(int qty) {
energy = Math.min(energy + qty, maxEnergy);
} }

View File

@ -5,7 +5,6 @@ import net.simon987.server.event.GameEvent;
import net.simon987.server.event.WorldUpdateEvent; import net.simon987.server.event.WorldUpdateEvent;
import net.simon987.server.game.pathfinding.Pathfinder; import net.simon987.server.game.pathfinding.Pathfinder;
import net.simon987.server.io.JSONSerialisable; import net.simon987.server.io.JSONSerialisable;
import net.simon987.server.logging.LogManager;
import org.json.simple.JSONArray; import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
@ -99,7 +98,7 @@ public class World implements JSONSerialisable {
//Clean up dead objects //Clean up dead objects
if (object.isDead()) { if (object.isDead()) {
gameObjects.remove(object); gameObjects.remove(object);
LogManager.LOGGER.fine("Removed object " + object + " id: " + object.getObjectId()); //LogManager.LOGGER.fine("Removed object " + object + " id: " + object.getObjectId());
} else if (object instanceof Updatable) { } else if (object instanceof Updatable) {
((Updatable) object).update(); ((Updatable) object).update();
} }

Binary file not shown.