From a42cb4f273f0fe697af780e6c995c2c1b16077c9 Mon Sep 17 00:00:00 2001 From: friarsol Date: Fri, 22 Jul 2022 22:16:58 -0400 Subject: [PATCH 01/22] Convert heal to temp HP bonus for $200+ gold --- forge-gui-mobile/src/forge/Forge.java | 25 ++++++++++--------- .../adventure/player/AdventurePlayer.java | 20 ++++++++++++++- .../src/forge/adventure/scene/InnScene.java | 23 +++++++++++------ forge-gui/res/adventure/Shandalar/ui/inn.json | 13 ++++++++-- forge-gui/res/languages/en-US.properties | 3 ++- 5 files changed, 61 insertions(+), 23 deletions(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 7da28d0c317..f0c38e39247 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -16,12 +16,10 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Clipboard; import com.badlogic.gdx.utils.ScreenUtils; -import forge.adventure.scene.ForgeScene; -import forge.adventure.scene.GameScene; -import forge.adventure.scene.Scene; -import forge.adventure.scene.SceneType; +import forge.adventure.scene.*; import forge.adventure.stage.MapStage; import forge.adventure.util.Config; +import forge.adventure.util.Current; import forge.animation.ForgeAnimation; import forge.assets.Assets; import forge.assets.AssetsDownloader; @@ -52,10 +50,7 @@ import forge.toolbox.*; import forge.util.*; import java.io.File; -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.Deque; -import java.util.List; +import java.util.*; public class Forge implements ApplicationListener { public static final String CURRENT_VERSION = "1.6.53.001"; @@ -390,13 +385,13 @@ public class Forge implements ApplicationListener { if (GuiBase.isAndroid()) return; if (isMobileAdventureMode) { - if (cursorA0 != null && name == "0") { + if (cursorA0 != null && Objects.equals(name, "0")) { setGdxCursor(cursorA0); return; - } else if (cursorA1 != null && name == "1") { + } else if (cursorA1 != null && Objects.equals(name, "1")) { setGdxCursor(cursorA1); return; - } else if (cursorA2 != null && name == "2") { + } else if (cursorA2 != null && Objects.equals(name, "2")) { setGdxCursor(cursorA2); return; } @@ -958,7 +953,6 @@ public class Forge implements ApplicationListener { } } /** Retrieve assets. - * @param other if set to true returns otherAssets otherwise returns cardAssets */ public static Assets getAssets() { return ((Forge)Gdx.app.getApplicationListener()).assets; @@ -974,6 +968,13 @@ public class Forge implements ApplicationListener { if (newScene instanceof GameScene) MapStage.getInstance().clearIsInMap(); currentScene = newScene; + + if (currentScene instanceof TileMapScene) { + if (((TileMapScene)currentScene).inTown()) { + Current.player().fullHeal(); + } + } + currentScene.enter(); return true; } diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index b3658b2dcf2..85f94a16210 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -452,8 +452,26 @@ public class AdventurePlayer implements Serializable, SaveFileContent { onLifeTotalChangeList.emit(); } + public void potionOfFalseLife() { + System.out.println(getStatistic().winLossRatio()); + if (gold >= falseLifeCost() && life == maxLife) { + life = maxLife + 2; + gold -= falseLifeCost(); + onLifeTotalChangeList.emit(); + onGoldChangeList.emit(); + } else { + + System.out.println("Can't afford cost of false life " + falseLifeCost()); + System.out.println("Only has this much gold " + gold); + } + } + + public int falseLifeCost() { + return 200 + (int)(50 * getStatistic().winLossRatio()); + } + public void fullHeal() { - life = maxLife; + life = Math.max(maxLife, life); onLifeTotalChangeList.emit(); } public void defeated() { diff --git a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java index f78b2df8f18..c68601b08e6 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java @@ -2,6 +2,7 @@ package forge.adventure.scene; import com.badlogic.gdx.Input; import com.badlogic.gdx.scenes.scene2d.ui.Image; +import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import forge.Forge; import forge.adventure.stage.GameHUD; @@ -11,7 +12,8 @@ import forge.adventure.util.Current; * Scene for the Inn in towns */ public class InnScene extends UIScene { - TextButton heal, sell, leave; + TextButton tempHitPointCost, sell, leave; + Label tempHitPoints; Image healIcon, sellIcon, leaveIcon; public InnScene() { @@ -23,8 +25,9 @@ public class InnScene extends UIScene { Forge.switchToLast(); } - public void heal() { - Current.player().fullHeal(); + public void potionOfFalseLife() { + // TODO Pay a bit of money to gain a temporary +2 HP. + Current.player().potionOfFalseLife(); } @Override @@ -41,10 +44,11 @@ public class InnScene extends UIScene { InnScene.this.done(); } }); - ui.onButtonPress("heal", new Runnable() { + ui.onButtonPress("tempHitPointCost", new Runnable() { @Override public void run() { - InnScene.this.heal(); + // Pay 200 gp to gain temporary 2 hp. + InnScene.this.potionOfFalseLife(); } }); ui.onButtonPress("sell", new Runnable() { @@ -57,8 +61,13 @@ public class InnScene extends UIScene { leave.getLabel().setText(Forge.getLocalizer().getMessage("lblLeave")); sell = ui.findActor("sell"); sell.getLabel().setText(Forge.getLocalizer().getMessage("lblSell")); - heal = ui.findActor("heal"); - heal.getLabel().setText(Forge.getLocalizer().getMessage("lblHeal")); + // TODO This call doesn't return an accurate amount at the time its called? + int tempHealthCost = Current.player().falseLifeCost(); + tempHitPointCost = ui.findActor("tempHitPointCost"); + tempHitPointCost.getLabel().setText("$" + tempHealthCost); + + tempHitPoints = ui.findActor("tempHitPoints"); + tempHitPoints.setText(Forge.getLocalizer().getMessage("lblTempHitPoints")); leaveIcon = ui.findActor("leaveIcon"); healIcon = ui.findActor("healIcon"); diff --git a/forge-gui/res/adventure/Shandalar/ui/inn.json b/forge-gui/res/adventure/Shandalar/ui/inn.json index 94d90f72628..08f08ea5f37 100644 --- a/forge-gui/res/adventure/Shandalar/ui/inn.json +++ b/forge-gui/res/adventure/Shandalar/ui/inn.json @@ -20,13 +20,22 @@ }, { "type": "TextButton", - "name": "heal", - "text": "Heal", + "name": "tempHitPointCost", + "text": "Cost", "width": 100, "height": 30, "x": 60, "y": 200 }, + { + "type": "Label", + "name": "tempHitPoints", + "font": "default", + "width": 100, + "height": 30, + "x": 60, + "y": 180 + }, { "type": "Image", "name": "sellIcon", diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index fc272cc9e4b..e70d4995d29 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -2899,4 +2899,5 @@ lblEdit=Edit lblWinProper=Win lblLossProper=Loss lblWinLossRatio=Win Loss Ratio -lblHeal=Heal \ No newline at end of file +lblHeal=Heal +lblTempHitPoints=Temporary Hit Points \ No newline at end of file From c9aa5baa83676da2f267d6e507568ecb25b66831 Mon Sep 17 00:00:00 2001 From: friarsol Date: Mon, 25 Jul 2022 22:53:25 -0400 Subject: [PATCH 02/22] Improve messaging for costs --- .../forge/adventure/player/AdventurePlayer.java | 1 - .../src/forge/adventure/scene/InnScene.java | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index 85f94a16210..eb0d1f2f212 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -453,7 +453,6 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } public void potionOfFalseLife() { - System.out.println(getStatistic().winLossRatio()); if (gold >= falseLifeCost() && life == maxLife) { life = maxLife + 2; gold -= falseLifeCost(); diff --git a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java index c68601b08e6..f8abec88fd7 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java @@ -61,10 +61,6 @@ public class InnScene extends UIScene { leave.getLabel().setText(Forge.getLocalizer().getMessage("lblLeave")); sell = ui.findActor("sell"); sell.getLabel().setText(Forge.getLocalizer().getMessage("lblSell")); - // TODO This call doesn't return an accurate amount at the time its called? - int tempHealthCost = Current.player().falseLifeCost(); - tempHitPointCost = ui.findActor("tempHitPointCost"); - tempHitPointCost.getLabel().setText("$" + tempHealthCost); tempHitPoints = ui.findActor("tempHitPoints"); tempHitPoints.setText(Forge.getLocalizer().getMessage("lblTempHitPoints")); @@ -72,7 +68,19 @@ public class InnScene extends UIScene { leaveIcon = ui.findActor("leaveIcon"); healIcon = ui.findActor("healIcon"); sellIcon = ui.findActor("sellIcon"); + } + @Override + public void render() { + super.render(); + + int tempHealthCost = Current.player().falseLifeCost(); + boolean purchaseable = Current.player().getMaxLife() == Current.player().getLife() && + tempHealthCost <= Current.player().getGold(); + + tempHitPointCost = ui.findActor("tempHitPointCost"); + tempHitPointCost.setDisabled(!purchaseable); + tempHitPointCost.getLabel().setText("$" + tempHealthCost); } private void sell() { From 2a12f830aab716a4c0fefbe5683dc1dfe29ef5d0 Mon Sep 17 00:00:00 2001 From: friarsol Date: Tue, 26 Jul 2022 23:25:32 -0400 Subject: [PATCH 03/22] Update inn portrait with false life --- .../src/forge/adventure/player/AdventurePlayer.java | 1 - .../res/adventure/Shandalar/ui/inn_portrait.json | 13 +++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index eb0d1f2f212..078265b775e 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -459,7 +459,6 @@ public class AdventurePlayer implements Serializable, SaveFileContent { onLifeTotalChangeList.emit(); onGoldChangeList.emit(); } else { - System.out.println("Can't afford cost of false life " + falseLifeCost()); System.out.println("Only has this much gold " + gold); } diff --git a/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json b/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json index 3e364dabcff..b54ec8a4eed 100644 --- a/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json @@ -20,13 +20,22 @@ }, { "type": "TextButton", - "name": "heal", - "text": "Heal", + "name": "tempHitPointCost", + "text": "Cost", "width": 100, "height": 30, "x": 165, "y": 105 }, + { + "type": "Label", + "name": "tempHitPoints", + "font": "default", + "width": 100, + "height": 30, + "x": 165, + "y": 85 + }, { "type": "Image", "name": "sellIcon", From fb8f1fdeb9b172eef8d4cb148d0da48dd5d52618 Mon Sep 17 00:00:00 2001 From: friarsol Date: Thu, 28 Jul 2022 23:15:25 -0400 Subject: [PATCH 04/22] Remove some useless comments --- forge-gui-mobile/src/forge/adventure/scene/InnScene.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java index f8abec88fd7..40483596dbb 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java @@ -26,7 +26,6 @@ public class InnScene extends UIScene { } public void potionOfFalseLife() { - // TODO Pay a bit of money to gain a temporary +2 HP. Current.player().potionOfFalseLife(); } @@ -47,7 +46,6 @@ public class InnScene extends UIScene { ui.onButtonPress("tempHitPointCost", new Runnable() { @Override public void run() { - // Pay 200 gp to gain temporary 2 hp. InnScene.this.potionOfFalseLife(); } }); From f33ec785b0fc4d29e1c25a74d5064316ef18b2a6 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 13:05:44 +0800 Subject: [PATCH 05/22] move the code to tilemapscene --- forge-gui-mobile/src/forge/Forge.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index f0c38e39247..3b59846f990 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -969,12 +969,6 @@ public class Forge implements ApplicationListener { MapStage.getInstance().clearIsInMap(); currentScene = newScene; - if (currentScene instanceof TileMapScene) { - if (((TileMapScene)currentScene).inTown()) { - Current.player().fullHeal(); - } - } - currentScene.enter(); return true; } From 659f20edff11d4a4eca1f36a9c96fc0ab485941d Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 13:07:42 +0800 Subject: [PATCH 06/22] Update TileMapScene.java --- .../src/forge/adventure/scene/TileMapScene.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java b/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java index 9f10556f089..f3f95ec5b89 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java @@ -8,8 +8,11 @@ import forge.adventure.pointofintrest.PointOfInterest; import forge.adventure.stage.MapStage; import forge.adventure.stage.PointOfInterestMapRenderer; import forge.adventure.util.Config; +import forge.adventure.util.Current; import forge.adventure.util.TemplateTmxMapLoader; import forge.adventure.world.WorldSave; +import forge.sound.SoundEffectType; +import forge.sound.SoundSystem; /** * Scene that will render tiled maps. @@ -19,6 +22,7 @@ public class TileMapScene extends HudScene { TiledMap map; PointOfInterestMapRenderer tiledMapRenderer; private String nextMap; + private boolean autoheal = false; private float cameraWidth = 0f, cameraHeight = 0f; public TileMapScene() { @@ -46,6 +50,10 @@ public class TileMapScene extends HudScene { } stage.act(Gdx.graphics.getDeltaTime()); hud.act(Gdx.graphics.getDeltaTime()); + if (autoheal) { //todo add simple bg animation or effect also add check if auto heal is needed if player has full life so sound don't keep playing + SoundSystem.instance.play(SoundEffectType.Enchantment, false); + autoheal = false; + } } @Override @@ -80,6 +88,11 @@ public class TileMapScene extends HudScene { @Override public void enter() { super.enter(); + if (inTown()) { + // auto heal + Current.player().fullHeal(); + autoheal = true; + } } public void load(PointOfInterest point) { From f1185707eef6da4f52196059ee93c8ef7e23c128 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 13:10:32 +0800 Subject: [PATCH 07/22] Update InnScene.java add default message if localizer can't find the translation --- forge-gui-mobile/src/forge/adventure/scene/InnScene.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java index 40483596dbb..dcd66c7f990 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InnScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InnScene.java @@ -61,7 +61,7 @@ public class InnScene extends UIScene { sell.getLabel().setText(Forge.getLocalizer().getMessage("lblSell")); tempHitPoints = ui.findActor("tempHitPoints"); - tempHitPoints.setText(Forge.getLocalizer().getMessage("lblTempHitPoints")); + tempHitPoints.setText(Forge.getLocalizer().getMessageorUseDefault("lblTempHitPoints", "Temporary Hit Points")); leaveIcon = ui.findActor("leaveIcon"); healIcon = ui.findActor("healIcon"); From 007757187adad51235332238611791b228b6fcba Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 13:11:36 +0800 Subject: [PATCH 08/22] Update Forge.java unused import --- forge-gui-mobile/src/forge/Forge.java | 1 - 1 file changed, 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 3b59846f990..74637e7b85e 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -19,7 +19,6 @@ import com.badlogic.gdx.utils.ScreenUtils; import forge.adventure.scene.*; import forge.adventure.stage.MapStage; import forge.adventure.util.Config; -import forge.adventure.util.Current; import forge.animation.ForgeAnimation; import forge.assets.Assets; import forge.assets.AssetsDownloader; From 86927e8076c649c1717a32c112da965c2e10d45f Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:13:11 +0800 Subject: [PATCH 09/22] add simple check for full heal --- .../src/forge/adventure/player/AdventurePlayer.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index 078265b775e..fceb0cb3854 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -447,9 +447,13 @@ public class AdventurePlayer implements Serializable, SaveFileContent { o.run(); } - public void heal(int amount) { - life = Math.min(life + amount, maxLife); - onLifeTotalChangeList.emit(); + public boolean fullHeal() { + if (life < maxLife) { + life = Math.max(maxLife, life); + onLifeTotalChangeList.emit(); + return true; + } + return false; } public void potionOfFalseLife() { From 9651812b0df426552ff252a733193409ea9625cb Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:15:45 +0800 Subject: [PATCH 10/22] Update TileMapScene.java --- .../src/forge/adventure/scene/TileMapScene.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java b/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java index f3f95ec5b89..ed931e8c812 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/TileMapScene.java @@ -50,7 +50,7 @@ public class TileMapScene extends HudScene { } stage.act(Gdx.graphics.getDeltaTime()); hud.act(Gdx.graphics.getDeltaTime()); - if (autoheal) { //todo add simple bg animation or effect also add check if auto heal is needed if player has full life so sound don't keep playing + if (autoheal) { //todo add simple bg animation or effect SoundSystem.instance.play(SoundEffectType.Enchantment, false); autoheal = false; } @@ -90,8 +90,8 @@ public class TileMapScene extends HudScene { super.enter(); if (inTown()) { // auto heal - Current.player().fullHeal(); - autoheal = true; + if (Current.player().fullHeal()) + autoheal = true; // to play sound/effect on act } } From ece2fc575f12cf5bd0944b597607e96ae20fa5d3 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:19:52 +0800 Subject: [PATCH 11/22] Update AdventurePlayer.java --- .../src/forge/adventure/player/AdventurePlayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index fceb0cb3854..bcd2272f085 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -447,7 +447,7 @@ public class AdventurePlayer implements Serializable, SaveFileContent { o.run(); } - public boolean fullHeal() { + public boolean heal() { if (life < maxLife) { life = Math.max(maxLife, life); onLifeTotalChangeList.emit(); From 661600d68019005c3a0e0db565ba79d69f4d0e35 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:23:07 +0800 Subject: [PATCH 12/22] Update AdventurePlayer.java --- .../src/forge/adventure/player/AdventurePlayer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index bcd2272f085..05814f8a296 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -447,7 +447,7 @@ public class AdventurePlayer implements Serializable, SaveFileContent { o.run(); } - public boolean heal() { + public boolean fullHeal() { if (life < maxLife) { life = Math.max(maxLife, life); onLifeTotalChangeList.emit(); @@ -472,7 +472,7 @@ public class AdventurePlayer implements Serializable, SaveFileContent { return 200 + (int)(50 * getStatistic().winLossRatio()); } - public void fullHeal() { + public void heal() { life = Math.max(maxLife, life); onLifeTotalChangeList.emit(); } From 22365a3c100df6da2f90df78931cad671704d730 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:24:22 +0800 Subject: [PATCH 13/22] Update AdventurePlayer.java --- .../src/forge/adventure/player/AdventurePlayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index 05814f8a296..d0dbbad4ece 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -473,7 +473,7 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } public void heal() { - life = Math.max(maxLife, life); + life = maxLife; onLifeTotalChangeList.emit(); } public void defeated() { From cf1e5fc8562c5dcfc2fc264185b318a84fcdc953 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 14:33:41 +0800 Subject: [PATCH 14/22] fix heal --- .../src/forge/adventure/player/AdventurePlayer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index d0dbbad4ece..9c621028586 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -472,8 +472,8 @@ public class AdventurePlayer implements Serializable, SaveFileContent { return 200 + (int)(50 * getStatistic().winLossRatio()); } - public void heal() { - life = maxLife; + public void heal(int amount) { + life = Math.min(life + amount, maxLife); onLifeTotalChangeList.emit(); } public void defeated() { From 7d4c9f1b53dff4d191a7b04fd2c35a98d69c03ed Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:48:48 +0800 Subject: [PATCH 15/22] Update de-DE.properties --- forge-gui/res/languages/de-DE.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index c63f535772c..cc234a87046 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -2897,3 +2897,4 @@ lblWinProper=Sieg lblLossProper=Niederlage lblWinLossRatio=Sieg/Niederlage-Quote lblHeal=Heilen +lblTempHitPoints=Temporäre Trefferpunkte From 6543fa1ed8c697da4ac8728f25a04b42b2721959 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:56:52 +0800 Subject: [PATCH 16/22] Update es-ES.properties --- forge-gui/res/languages/es-ES.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index e417b427b99..c9b02bfd32b 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -2899,4 +2899,5 @@ lblEdit=Editar lblWinProper=Ganar lblLossProper=Pérdida lblWinLossRatio=Relación de pérdidas -lblHeal=Curar \ No newline at end of file +lblHeal=Curar +lblTempHitPoints=Puntos de golpe temporales From 2153c3d8aa9507f8917dfedd21b877c37bea175b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:57:33 +0800 Subject: [PATCH 17/22] Update it-IT.properties --- forge-gui/res/languages/it-IT.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index 08333e7521e..2cb27b2247c 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -2903,3 +2903,4 @@ lblWinProper=Vincita lblLossProper=Perdita lblWinLossRatio=Rapporto per perdite vincenti lblHeal=Guarire +lblTempHitPoints=Punti ferita temporanei From a07787e6d5bd507ca36359c2696227c58426893c Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:58:21 +0800 Subject: [PATCH 18/22] Update ja-JP.properties --- forge-gui/res/languages/ja-JP.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 263d2530cb3..7e7fcd30880 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -2899,3 +2899,4 @@ lblWinProper=勝つ lblLossProper=損失 lblWinLossRatio=損失率を獲得しました lblHeal=癒し +lblTempHitPoints=一時的なヒットポイント From f9552fd6f7da8463b9eb47f07102ce151220159b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:59:00 +0800 Subject: [PATCH 19/22] Update pt-BR.properties --- forge-gui/res/languages/pt-BR.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 05e5f4fdc0a..40410cfbf2f 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -2989,3 +2989,4 @@ lblWinProper=Vitória lblLossProper=Derrota lblWinLossRatio=Taxa de Vitória Derrota lblHeal=Curar +lblTempHitPoints=Pontos de vida temporários From 7d13763219c2f3ed42c97ea14702bba876d70452 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 16:59:32 +0800 Subject: [PATCH 20/22] Update zh-CN.properties --- forge-gui/res/languages/zh-CN.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index acd13c4113e..fc81a5b2c3f 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -2882,3 +2882,4 @@ lblWinProper=赢 lblLossProper=失利 lblWinLossRatio=赢得损失比率 lblHeal=愈合 +lblTempHitPoints=临时生命值 From 5e5117315bd4cbe7bb905729108d1cbe06bc7d53 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 17:26:14 +0800 Subject: [PATCH 21/22] colored lifepoints --- .../src/forge/adventure/stage/GameHUD.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java index 4d6209d0150..04fc3db38bf 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java +++ b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java @@ -224,7 +224,16 @@ public class GameHUD extends Stage { miniMapPlayer.setPosition(miniMap.getX() + xPosMini - miniMapPlayer.getWidth()/2, miniMap.getY() + yPosMini - miniMapPlayer.getHeight()/2); if (GuiBase.isAndroid()) // prevent drawing on top of console miniMapPlayer.setVisible(!console.isVisible()&&miniMap.isVisible()); - + //colored lifepoints + if (Current.player().getLife() >= Current.player().getMaxLife()) { + //color green if max life + lifePoints.setColor(Color.GREEN); + } else if (Current.player().getLife() <= 5) { + //color red if critical + lifePoints.setColor(Color.RED); + } else { + lifePoints.setColor(Color.WHITE); + } } Texture miniMapTexture; From b9a31898499fc12c1d720374daa61d96b4c53c36 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 13 Aug 2022 17:31:40 +0800 Subject: [PATCH 22/22] Update GameHUD.java --- forge-gui-mobile/src/forge/adventure/stage/GameHUD.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java index 04fc3db38bf..60d5ed08799 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java +++ b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java @@ -2,6 +2,7 @@ package forge.adventure.stage; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.scenes.scene2d.Actor;