From 2a8ce77338a8ada7ae0e0f28612d0c0ab06d3a86 Mon Sep 17 00:00:00 2001 From: Mthec Date: Sun, 20 Dec 2015 18:43:29 +0000 Subject: [PATCH] Fixed output values. Fixed some edge cases that might have resulted in incorrect charges. --- .../mods/upkeepcosts/UpkeepCosts.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/mod/wurmonline/mods/upkeepcosts/UpkeepCosts.java b/src/mod/wurmonline/mods/upkeepcosts/UpkeepCosts.java index da73b43..7d3434b 100644 --- a/src/mod/wurmonline/mods/upkeepcosts/UpkeepCosts.java +++ b/src/mod/wurmonline/mods/upkeepcosts/UpkeepCosts.java @@ -289,16 +289,22 @@ public void preInit() { " ;" + " }" + "double upkeepD = this.calculateUpkeep(true);" + - "if (this.output) {" + - "System.out.println(\"Village upkeep - \" + this.getVillage().getName() + \" paid \" + ((upkeepD < 1.0D) ? \"0\" : Double.toString(upkeepD)) + \" this turn. Upkeep buffer is now \" + Double.toString(this.upkeepBuffer));" + - "} else {System.out.println(\"test\");}" + + "if (upkeepD < 0.0D) {" + + " logger.severe(\"Why is upkeep less than 0.0?\");" + + "}" + "if (upkeepD < 1.0D) {" + " this.upkeepBuffer += upkeepD;" + + " upkeepD = 0.0D;" + "}" + - "if (this.upkeepBuffer < 1.0D) {" + - " return false;" + - "} else {" + + "while (this.upkeepBuffer >= 1.0D) {" + " this.upkeepBuffer -= 1.0D;" + + " upkeepD += 1.0D;" + + "}" + + "if (this.output) {" + + " System.out.println(\"Village upkeep - \" + this.getVillage().getName() + \" paid \" + Double.toString(upkeepD) + \" this turn. Upkeep buffer is now \" + Double.toString(this.upkeepBuffer));" + + "}" + + "if (upkeepD == 0.0D) {" + + " return false;" + "}" + " long upkeep = (long)upkeepD;" + " if(this.moneyLeft - upkeep <= 0L) {" +