From cd41db9e58a6180a62f4abf5b269463ab268b159 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 16 Dec 2017 11:35:04 -0500 Subject: [PATCH] Added Passive energy source for Cubots #14 --- .../java/net/simon987/cubotplugin/Cubot.java | 8 ++++++++ .../java/net/simon987/server/game/World.java | 3 +-- plugins/Cubot.jar | Bin 23718 -> 23808 bytes 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java index 69aebbb..e153c9e 100644 --- a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java @@ -34,6 +34,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { private int energy; private int maxEnergy; + private static final float SOLAR_PANEL_MULTIPLIER = 1; + public Cubot() { } @@ -46,6 +48,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { @Override public void update() { + storeEnergy((int) (SOLAR_PANEL_MULTIPLIER * GameServer.INSTANCE.getDayNightCycle().getSunIntensity())); + if (currentAction == Action.WALKING) { if (spendEnergy(100)) { if (!incrementLocation()) { @@ -170,7 +174,11 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { energy -= spent; return true; } + } + public void storeEnergy(int qty) { + + energy = Math.min(energy + qty, maxEnergy); } diff --git a/Server/src/main/java/net/simon987/server/game/World.java b/Server/src/main/java/net/simon987/server/game/World.java index 6d8ef82..dfea379 100644 --- a/Server/src/main/java/net/simon987/server/game/World.java +++ b/Server/src/main/java/net/simon987/server/game/World.java @@ -5,7 +5,6 @@ import net.simon987.server.event.GameEvent; import net.simon987.server.event.WorldUpdateEvent; import net.simon987.server.game.pathfinding.Pathfinder; import net.simon987.server.io.JSONSerialisable; -import net.simon987.server.logging.LogManager; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -99,7 +98,7 @@ public class World implements JSONSerialisable { //Clean up dead objects if (object.isDead()) { 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) { ((Updatable) object).update(); } diff --git a/plugins/Cubot.jar b/plugins/Cubot.jar index 9d3d9847785e7e36c110759d2a3bae8b52a4083d..3c676ff340f3ae93b94dbc4a232a309a1882a4d2 100644 GIT binary patch delta 2809 zcmV0S!<~0|W{H00;m8Ok0qV4I=|gTab}6C<9Dekg;CTBN0qnkV^mn z0000000000001A8L024;;3)>PVkC$l158_xlkG${e^?8AQ)dRDOZqr-RB)hp`WOK@tbzkZMNopZi({@;1r@Z8I1&jYwd%=DrKM=RjPyLfoG z0*~NPe_p+thxfSgUN77x!((o|uLAGK2fQ>K^Wr!@=q2)pSmeXJdYp%0H$LJ;EslC{ zg7;5&aS~55<&*~>_24Ncj(Cve`LqXTc>b6dXK~JhFyHfW4?1}Mga_xnq?_oU^k65G zF7WUv54L;pX?%tykFw^c-T15*%W#n?&+za$e;%G?tWckw+pzVF5l-1wn@r=z87cQD-EDIi(}s#+8A zlrG2ht#T}_loFT+1WJPI=rqVXK@tOrSR$&)LjqDvPU#!$ZOK5AkCj*?s4KLu>Pu^y ze-hVQ`gAoB7pM!x6+MtrhZ6BsO)CQ_Mcb!nfv7yB1WcA@0WYh}2~63mWO@^_7P&s% z->+x_GeU#%J~@!q)mWfK)8tG@P3a_6(XB?~vYyry0lyQ^YLgg~w;f7R``_ zL-PJMYdy2OGt{zqcUMceEwsC%C$uHl6$-X(CXCx%*Bu~`QNCJ@tNL1jQeVSX0at4x zLY_?xsc|Ko9_m%JEpl&+D7B$PpB&pNYbx(8qDvo8QvwT%d(+Bm_CBiU9da@lfA3Ei zS5W|zr;`y`CoNUoy4<&yPA#n!_#mZS*xX#=n>0Du*a|YX%ZmOwU&EyFPf=s@FLJ(Ols$Jr&ZfmhE*M)ejJLLHkjvL< zzqL(drMcu|i*oDAR8omYayt%_ofJb%G-60kXiDy|^d_A~Da8q6C$bbBf3vNktyL&w zT^6V>V!xb9DMP)nOrS#JL?YKh{Rbq-j!zI6|TTGQiwWyIqt(fK((=kWiZW5-*R@0}#(X{0e5kukl6wSla9yaaFkCD~Hm%!OQrQfK zySKE2TieEUrE$!Ze+<=>M(gBESd9+ot(iVH+doky7{g2QS6&(?^;5d2J00hG8BeL4 z-|lTKp-sW?daBB5yiZexs1k6UH{GR{vC}LqCg#Bi@r|pyq-7s}JazU{lc18~P?UC)-^RAW!H&`O}s=$D`J$O#@DFv02|GMKl%W!lnF%20HU4&za-bW zl;=5FKSBQ+70Y!fN|t^#O7*%3&}J-~Txm_VuB^XARw`q3N06J)4BvPN`Mage=<8z& zS%<6-5JW>Nf615mfs`x5Uk|W_;`v!FyCFna;5{ zo8XxR&!IgQ{or1F32dfrv!kL8`~$EA*P|6vFbC_oFS}5VZFj>5uxP zu?|@?^%7$aTQhY{W4^(fsY{al7GvE*e_OH5SW~Alf99Q*+%99DgB$T0`@Yv=7Okm0 z(V5T&#NeE!oA{?ZYY@KEYM1=k45%&FXe4(=VN;Tb{2lZKXF8ZW0Gdq6#0s73{9 z$kW-FLATALfAwfUADv33ZbYE)&o}fVYTdhxWA69H z>7kIENr72MK^Y(v)=*f6DJXBGpd6&Iyp>S7hp>1D1>>Vc9j4G@jAokNTNrt83^5E5 ze>SSI6EE?9dBiEK5=dH){(^1MBFxPv zyov~mMhPQWOoaKPgfqB0i))CsFrTT82=(~{U!xIq%WGF;v2p}W1}tX$`YH24PI<_! z*%a-5iuY!U+z>gohXA>W0^kmE^$h2s%$&x&l_#m2s35rrphX(OYJx-9Dn17{Xn)A&picD9tnE zbtH3J5kvMH1uJ7~XG)J6F5+89i zxBI`4v7`+{1$&GO=qGa^ley3P_J=ZYY*%hL6L?Sb%5qY^}2{sU|!g!rSv3 z%mOzxC4qMuCLZ}eP)i30ADj|wGztI!ycd%&I~=nnPeca;Ok0qXZB{b_Ok0qXqgFTr zOk0q%-d3#w158_xvyNFH0u4-CkV_w&5^OXI006v`yIW%dW>1r$1t60^Tss0eR+D{P LBL=uu00000K!!{m delta 2723 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