mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
Merge remote-tracking branch 'upstream/master' into formats/premodern-banlist-update-july23
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -41,4 +41,19 @@ MageTower
|
||||
size: 26, 49
|
||||
Skep
|
||||
xy: 110,281
|
||||
size: 37, 33
|
||||
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 |
@@ -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": [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2237,6 +2237,8 @@ lblSelectThisCardConfirm=このカードを選択しますか?
|
||||
#CardView.java
|
||||
lblMainGame=メインゲーム
|
||||
lblSubgame={0}つ上のサブゲーム
|
||||
lblHandSize=ハンドサイズ
|
||||
lblStartingLife=人生を始める
|
||||
#PlayerView.java
|
||||
lblCommanderCastCard=コマンド領域からキャスト:{0}回
|
||||
lblCommanderCastPlayer={0}が {1}回コマンド領域からキャストした
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2242,6 +2242,8 @@ lblSelectThisCardConfirm=选择这张牌?
|
||||
#CardView.java
|
||||
lblMainGame=主游戏
|
||||
lblSubgame=子游戏({0}个父游戏)
|
||||
lblHandSize=手尺寸
|
||||
lblStartingLife=开始生活
|
||||
#PlayerView.java
|
||||
lblCommanderCastCard=从指挥官区域释放过{0}次
|
||||
lblCommanderCastPlayer={0}从指挥官区域释放过{1}次
|
||||
|
||||
Reference in New Issue
Block a user