Merge remote-tracking branch 'upstream/master' into formats/premodern-banlist-update-july23

This commit is contained in:
Valerio Maggio
2023-07-17 07:52:52 +01:00
14 changed files with 101 additions and 26 deletions

View File

@@ -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);
}

View File

@@ -282,9 +282,38 @@ 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;
//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;
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 +442,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);

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.10.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="81">
<map version="1.10" tiledversion="1.10.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="82">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
@@ -18,7 +18,7 @@
</layer>
<layer id="6" name="Ground2" width="40" height="40">
<data encoding="base64" compression="zlib">
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
</data>
</layer>
<layer id="3" name="Walls" width="40" height="40">
@@ -244,5 +244,11 @@
<property name="signYOffset" type="float" value="0"/>
</properties>
</object>
<object id="81" template="../../obj/shardtrader.tx" x="495" y="162" width="19" height="19">
<properties>
<property name="signXOffset" type="float" value="14"/>
<property name="signYOffset" type="float" value="-2"/>
</properties>
</object>
</objectgroup>
</map>

View File

@@ -42,3 +42,18 @@ MageTower
Skep
xy: 110,281
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -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": [

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -2237,6 +2237,8 @@ lblSelectThisCardConfirm=このカードを選択しますか?
#CardView.java
lblMainGame=メインゲーム
lblSubgame={0}つ上のサブゲーム
lblHandSize=ハンドサイズ
lblStartingLife=人生を始める
#PlayerView.java
lblCommanderCastCard=コマンド領域からキャスト:{0}回
lblCommanderCastPlayer={0}が {1}回コマンド領域からキャストした

View File

@@ -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

View File

@@ -2242,6 +2242,8 @@ lblSelectThisCardConfirm=选择这张牌?
#CardView.java
lblMainGame=主游戏
lblSubgame=子游戏({0}个父游戏)
lblHandSize=手尺寸
lblStartingLife=开始生活
#PlayerView.java
lblCommanderCastCard=从指挥官区域释放过{0}次
lblCommanderCastPlayer={0}从指挥官区域释放过{1}次