From b187a43a36865ecdecd466cd221b29fba98cc86c Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Wed, 12 Jul 2023 16:33:21 -0400 Subject: [PATCH 1/5] Adventure - Add Shard Trader to Forest Capital --- .../common/maps/map/main_story/forest_capital.tmx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/adventure/common/maps/map/main_story/forest_capital.tmx b/forge-gui/res/adventure/common/maps/map/main_story/forest_capital.tmx index 3c8f1edae52..5d665148d2b 100644 --- a/forge-gui/res/adventure/common/maps/map/main_story/forest_capital.tmx +++ b/forge-gui/res/adventure/common/maps/map/main_story/forest_capital.tmx @@ -1,5 +1,5 @@ - + @@ -18,7 +18,7 @@ - eJzNmEtO40AQhnsFSAlKxOsCARMwK2AHF2FPIOxnBi4AgRXiAHAGQFwAkgAi4hScgNcMmxlNWbiVSlHVLzshv1SSH+325+qu6nJHRaVisAhsHmwYNJfyxKlVwFpg7SHhawLHbMqYsD2A/Sgp9XNI7Fepy6jHdKKs1OSQ2FS568c24ZsBu/gmmyZ8WBPMvXlhfjQKSh0iOyr03j8o8M/ZxDFw92z9N9N4aglxNQg+/Y7asrnPCsNzDOcn6bUt8vzKklKrS73Xqp58inmnSfR7OuDPx4Bc5cOXjCFmrMfdY84H9HswM9YiOta+1e18+PIQ5pt1aN8PPs6XHB8nOrd9+Lbir21CxDHeC20HMb6nEIxnVXu7fvBdh73WKDw/QvjqlvyXp7L4ryGsZVmF83cWPl0zJvXOO8TOb4f4+Qvz8J/HXPThq5H3N3OqYU25PWt8NAw1yzMUOy9SweOoED6cq7QPk7r2upj/XPTl43LrfvFzLsZ9+J/KMr54PjYFH67B4r+eFgB/oP2HEEPbwvU81w/MiOdjPOr2PJaOmVC+OQsjHuv6GNSnI5+2M+bH6cMn1SWvMDZvwljT2JbqAKnvLONL63QsHNdS3Lis3a58t5Z+JFYpbrTu0PHGgpmh7cBeI/U3FfMK79yzLay/ei0w8XGy/c/RdZBrvyn0gRn0d7ryVcZlpsiMbOWS+CKGby9wPydR1j2m3ZKdL8t+Tl57TNz4npf99nKu0PFl+WsfV579XZD+qP9C9VQ1n4eK46M55zuVl/98pMtXvO61mHZJ7rsJ5HPJJR3/bntqc80WD9h/dF/zkGGiNkjpnMFxRMhn+Pw/CN3vlw== + eJzNmEtOAkEQhnulJGAg+LgAMKLDSt3pRdwr4N7XBRRcGQ+gZxDjBRRQo/EUnsC3G401cToUTdX0YwbkTyqZR0/PN9Vd1TXtZYTwwTywebBxUCnk8UMrgHXAumPC1waOYsgYsN2DbWeF2BkT2832GOWY5nNCTI+JzeR6fuwqfHNgrX+yWYUPK0/cm2fmRyMtRBPZUbr//mGafk4nioG6p+u/HcZTh4mrUfDJd2wuRfdZIHiO4fwkvFZVnl+uCLFS6b9WtuQTxDujpH7PA/jz0SFX2fAFY4gZ637vmPKB+j2YGWsRHVf9/mdt+JIQ5isatB8GH+VLio+SOrdt+Kr+YBsXUYx3TNtRjO8pBONZWd9uGHxXbq+NFJ4fLnx1Tf5LUnH812DWsrjC+TsOn6wZg3rnHWLnwyB+vmEe/ljMRRu+TeX97YRq2KjcHjc+cN2ijvMzFDsvXMFjKBc+nKukD4O69iqT/Fy05aNy60Hmby76Q/ifijO+eD62GR+uwuK/FhYAn9D+i4mhGnM9yfUDM+L56E+aPY8lY8aVr6RhxGNdT0F9OvFnWyk7Ths+ri55hbF5Y8ZajW2uDuD6jjO+ap2OheOaixuTtduU70bTD8fKxY3ULTpeX4hm6Bqwy/qRqzOJV1jnnhqz/sq1IIqPku5/Tl0HqfYbTB+YQX6nKV9himfyopG1XByfR/DtO+7nBIq7x7SX1fPF2c9Jao+JGt/znN1eziU6vsgN9nFp2V9L6U/1n6ueytHnrqL41Jzzn0rKfzaS5Ste9zpEuyD3XTvymeSSB/tu+2pzyeaP2H/qvmaTYFJtlJI5g+LwkM/w+S+Eme+Q @@ -244,5 +244,11 @@ + + + + + + From 08434c0dc531180e77f7d846259a65b779ca3b22 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sat, 15 Jul 2023 20:28:47 +0200 Subject: [PATCH 2/5] update --- .../common/maps/tileset/buildingsbosses.atlas | 17 ++++++++- .../common/maps/tileset/buildingsbosses.png | Bin 89420 -> 88105 bytes .../common/world/points_of_interest.json | 36 +++++++++--------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.atlas b/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.atlas index 53e8ad00ba8..f31b3130f98 100644 --- a/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.atlas +++ b/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.atlas @@ -41,4 +41,19 @@ MageTower size: 26, 49 Skep xy: 110,281 - size: 37, 33 \ No newline at end of file + size: 37, 33 +MageTowerBlue + xy: 2,327 + size: 32, 32 +MageTowerRed + xy: 36,328 + size: 32, 32 +MageTowerBlack + xy: 63,328 + size: 32, 32 +MageTowerGreen + xy: 92,328 + size: 32, 32 +MageTowerWhite + xy: 121,328 + size: 32, 32 \ No newline at end of file diff --git a/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.png b/forge-gui/res/adventure/common/maps/tileset/buildingsbosses.png index 27ff37c3a25b0dc315042d229c97fc573fd81a29..0ef3a70fc383298eba7fee6c8dc343a571738d9b 100644 GIT binary patch delta 10096 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 L^}0;yebD~{QHAZs diff --git a/forge-gui/res/adventure/common/world/points_of_interest.json b/forge-gui/res/adventure/common/world/points_of_interest.json index 118acbf1ece..3d404110e68 100644 --- a/forge-gui/res/adventure/common/world/points_of_interest.json +++ b/forge-gui/res/adventure/common/world/points_of_interest.json @@ -2068,7 +2068,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerRed", "map": "../common/maps/map/magetower/magetower_1.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2084,7 +2084,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlack", "map": "../common/maps/map/magetower/magetower_2.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2100,7 +2100,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerRed", "map": "../common/maps/map/magetower/magetower_3.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2116,7 +2116,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerWhite", "map": "../common/maps/map/magetower/magetower_4.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2132,7 +2132,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerGreen", "map": "../common/maps/map/magetower/magetower_5.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2148,7 +2148,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlack", "map": "../common/maps/map/magetower/magetower_6.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2163,8 +2163,8 @@ "name": "MageTowerC8", "type": "dungeon", "count": 3, - "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "spriteAtlas": "../common/maps/tileset/buildings.atlas", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_8.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2180,7 +2180,7 @@ "type": "dungeon", "count": 1, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_13.tmx", "radiusFactor": 0.2, "questTags": [ @@ -2196,7 +2196,7 @@ "type": "dungeon", "count": 3, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_14.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2212,7 +2212,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_1.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2228,7 +2228,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlack", "map": "../common/maps/map/magetower/magetower_2.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2244,7 +2244,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerRed", "map": "../common/maps/map/magetower/magetower_3.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2260,7 +2260,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerWhite", "map": "../common/maps/map/magetower/magetower_4.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2276,7 +2276,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerGreen", "map": "../common/maps/map/magetower/magetower_5.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2292,7 +2292,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlack", "map": "../common/maps/map/magetower/magetower_6.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2308,7 +2308,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_8.tmx", "radiusFactor": 0.8, "questTags": [ @@ -2324,7 +2324,7 @@ "type": "dungeon", "count": 2, "spriteAtlas": "../common/maps/tileset/buildingsbosses.atlas", - "sprite": "MageTower", + "sprite": "MageTowerBlue", "map": "../common/maps/map/magetower/magetower_14.tmx", "radiusFactor": 0.8, "questTags": [ From 51dbd2209d60a5b3d90389e69f05677308b77fb2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 17 Jul 2023 09:33:15 +0800 Subject: [PATCH 3/5] update translation --- forge-game/src/main/java/forge/game/card/CardView.java | 9 +++++++-- forge-gui/res/languages/de-DE.properties | 2 ++ forge-gui/res/languages/en-US.properties | 2 ++ forge-gui/res/languages/es-ES.properties | 2 ++ forge-gui/res/languages/fr-FR.properties | 2 ++ forge-gui/res/languages/it-IT.properties | 2 ++ forge-gui/res/languages/ja-JP.properties | 2 ++ forge-gui/res/languages/pt-BR.properties | 2 ++ forge-gui/res/languages/zh-CN.properties | 2 ++ 9 files changed, 23 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 1d662f1a684..0729f6de972 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -1274,8 +1274,13 @@ public class CardView extends GameEntityView { String rulesText = null; if (type.isVanguard() && rules != null) { - rulesText = "Hand Modifier: " + rules.getHand() + - "\r\nLife Modifier: " + rules.getLife(); + boolean decHand = rules.getHand() < 0; + boolean decLife = rules.getLife() < 0; + String handSize = Localizer.getInstance().getMessageorUseDefault("lblHandSize", "Hand Size") + + (!decHand ? ": +" : ": ") + rules.getHand(); + String startingLife = Localizer.getInstance().getMessageorUseDefault("lblStartingLife", "Starting Life") + + (!decLife ? ": +" : ": ") + rules.getLife(); + rulesText = handSize + "\r\n" + startingLife; } set(TrackableProperty.RulesText, rulesText); } diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index c7a023e0be1..1a49029b78c 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -2237,6 +2237,8 @@ lblSelectThisCardConfirm=Wähle diese Karte? #CardView.java lblMainGame=Hauptspiel lblSubgame=Unterspiel (Auslöser {0}) +lblHandSize=Handgröße +lblStartingLife=Leben beginnen #PlayerView.java lblCommanderCastCard=Wurde bereits {0} mal aus der Kommandozone gespielt lblCommanderCastPlayer={0} spielte {1} mal aus der Kommandozone diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 4f49f4eb537..3db1e4d8ba2 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -2242,6 +2242,8 @@ lblSelectThisCardConfirm=Select this card? #CardView.java lblMainGame=Main game lblSubgame=Subgame ({0} parent) +lblHandSize=Hand Size +lblStartingLife=Starting Life #PlayerView.java lblCommanderCastCard=Cast from command zone {0} times lblCommanderCastPlayer={0} cast from command zone {1} times diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 44fe1b33308..8f2900058ac 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -2238,6 +2238,8 @@ lblSelectThisCardConfirm=¿Selecciona esta carta? #CardView.java lblMainGame=Juego principal lblSubgame=Subjuego (padre {0}) +lblHandSize=Tamaño de la mano +lblStartingLife=La vida inicial #PlayerView.java lblCommanderCastCard=Lanzado desde la zona de comandante {0} veces lblCommanderCastPlayer={0} lanzado desde la zona de comandante {1} veces diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index d7db71bdacc..b40c7ecd6ad 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -2240,6 +2240,8 @@ lblSelectThisCardConfirm=Sélectionner cette carte ? #CardView.java lblMainGame=Jeu principal lblSubgame=Sous-jeu ({0} parent) +lblHandSize=Taille de la main +lblStartingLife=Début de la vie #PlayerView.java lblCommanderCastCard=Lancer depuis la zone de commande {0} fois lblCommanderCastPlayer={0} lancer de la zone de commande {1} fois diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index 36675f409cb..ec00c889d38 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -2237,6 +2237,8 @@ lblSelectThisCardConfirm=Vuoi scegliere questa carta? #CardView.java lblMainGame=Gioco principale lblSubgame=Sottopartita (da {0}) +lblHandSize=Dimensione delle mani +lblStartingLife=La vita iniziale #PlayerView.java lblCommanderCastCard=Lanciato dalla zona di comando {0} volte lblCommanderCastPlayer={0} è stato lanciato dalla zona di comando {1} volte diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 8f8ffe0ad14..ce172950b02 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -2237,6 +2237,8 @@ lblSelectThisCardConfirm=このカードを選択しますか? #CardView.java lblMainGame=メインゲーム lblSubgame={0}つ上のサブゲーム +lblHandSize=ハンドサイズ +lblStartingLife=人生を始める #PlayerView.java lblCommanderCastCard=コマンド領域からキャスト:{0}回 lblCommanderCastPlayer={0}が {1}回コマンド領域からキャストした diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index cbf5491e4d7..cd5185a5336 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -2304,6 +2304,8 @@ lblSelectThisCardConfirm=Escolher este cartão? #CardView.java lblMainGame=Jogo Principal lblSubgame=Subjogo ({0} pai) +lblHandSize=Tamanho da mão +lblStartingLife=Começando a vida #PlayerView.java lblCommanderCastCard=Conjurado da zona de comando {0} vezes lblCommanderCastPlayer={0} conjurou da zona de comando {1} vezes diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 6fb1807dd17..76b12f413e7 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -2242,6 +2242,8 @@ lblSelectThisCardConfirm=选择这张牌? #CardView.java lblMainGame=主游戏 lblSubgame=子游戏({0}个父游戏) +lblHandSize=手尺寸 +lblStartingLife=开始生活 #PlayerView.java lblCommanderCastCard=从指挥官区域释放过{0}次 lblCommanderCastPlayer={0}从指挥官区域释放过{1}次 From dd1285aa3a860e80a1d3139b523b491f077056c5 Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Sun, 16 Jul 2023 22:00:40 -0400 Subject: [PATCH 4/5] Adventure - Difficulty data storage fix --- .../adventure/player/AdventurePlayer.java | 38 +++++++++++++++++-- 1 file changed, 35 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 bbe81414228..a840f8ca785 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -282,9 +282,37 @@ public class AdventurePlayer implements Serializable, SaveFileContent { if (this.difficultyData.sellFactor == 0) this.difficultyData.sellFactor = 0.2f; - this.difficultyData.shardSellRatio = data.readFloat("sellFactor"); - if (this.difficultyData.shardSellRatio == 0) - this.difficultyData.shardSellRatio = 0.8f; + //Previously these were not being read from or written to save files, causing defaults to appear after reload + //Pull from config if appropriate + DifficultyData configuredDifficulty = null; + for (DifficultyData candidate : Config.instance().getConfigData().difficulties) { + if (candidate.name.equals(this.difficultyData.name)) { + configuredDifficulty = candidate; + break; + } + } + + if (configuredDifficulty != null && (this.difficultyData.shardSellRatio == data.readFloat("shardSellRatio") || data.readFloat("shardSellRatio") == 0)) + this.difficultyData.shardSellRatio = configuredDifficulty.shardSellRatio; + else + this.difficultyData.shardSellRatio = data.readFloat("shardSellRatio"); + if (configuredDifficulty != null && !data.containsKey("goldLoss")) + this.difficultyData.goldLoss = configuredDifficulty.goldLoss; + else + this.difficultyData.goldLoss = data.readFloat("goldLoss"); + if (configuredDifficulty != null && !data.containsKey("lifeLoss")) + this.difficultyData.lifeLoss = configuredDifficulty.lifeLoss; + else + this.difficultyData.lifeLoss = data.readFloat("lifeLoss"); + if (configuredDifficulty != null && !data.containsKey("spawnRank")) + this.difficultyData.spawnRank = configuredDifficulty.spawnRank; + else + this.difficultyData.spawnRank = data.readInt("spawnRank"); + if (configuredDifficulty != null && !data.containsKey("rewardMaxFactor")) + this.difficultyData.rewardMaxFactor = configuredDifficulty.rewardMaxFactor; + else + this.difficultyData.rewardMaxFactor = data.readFloat("rewardMaxFactor"); + // END SPECIAL CASES name = data.readString("name"); heroRace = data.readInt("heroRace"); @@ -413,6 +441,10 @@ public class AdventurePlayer implements Serializable, SaveFileContent { data.store("enemyLifeFactor", this.difficultyData.enemyLifeFactor); data.store("sellFactor", this.difficultyData.sellFactor); data.store("shardSellRatio", this.difficultyData.shardSellRatio); + data.store("goldLoss", this.difficultyData.goldLoss); + data.store("lifeLoss", this.difficultyData.lifeLoss); + data.store("spawnRank", this.difficultyData.spawnRank); + data.store("rewardMaxFactor", this.difficultyData.rewardMaxFactor); data.store("name", name); data.store("heroRace", heroRace); From 0c6ee4992a058106c8d77aa5e340b85c5b9a1fcc Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Sun, 16 Jul 2023 22:01:36 -0400 Subject: [PATCH 5/5] Adventure - Difficulty data storage fix --- forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index a840f8ca785..57b52d11390 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -282,6 +282,7 @@ public class AdventurePlayer implements Serializable, SaveFileContent { if (this.difficultyData.sellFactor == 0) this.difficultyData.sellFactor = 0.2f; + //BEGIN SPECIAL CASES //Previously these were not being read from or written to save files, causing defaults to appear after reload //Pull from config if appropriate DifficultyData configuredDifficulty = null;