v1.3.0: implemented daily runs short of rankings for them
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -50,6 +50,16 @@ scenes.heroselectscene.title=Choose Your Hero
|
||||
scenes.heroselectscene.options=Game Options
|
||||
scenes.heroselectscene.custom_seed=Custom Seed
|
||||
scenes.heroselectscene.daily=Daily Run
|
||||
scenes.heroselectscene.daily_desc=Every day a new game is available that is the same for everyone! This 'daily run' generates the same dungeon for every person who plays it (so long as they are also playing the same game version).\n\nYou can take as long as you like to complete a daily run, but can only have one active at a time. _Daily runs are not eligible for badges and have their own separate rankings page._\n\nWould you like to start today's daily with your currently selected hero and challenges?
|
||||
scenes.heroselectscene.daily_yes=Yes
|
||||
scenes.heroselectscene.daily_no=No
|
||||
scenes.heroselectscene.daily_unavailable=A new daily run is available every day at midnight UTC
|
||||
scenes.heroselectscene.daily_unavailable_long=It seems you've started a daily that's in the future! This can happen if you recently changed timezones, or if you changed your system clock. _Your next daily will be available in %d days._
|
||||
scenes.heroselectscene.daily_existing=You already have a daily run in progress. You must end that run before starting another daily.
|
||||
scenes.heroselectscene.daily_seconds=%d Seconds
|
||||
scenes.heroselectscene.daily_minutes=%d Minutes
|
||||
scenes.heroselectscene.daily_hours=%d Hours
|
||||
scenes.heroselectscene.daily_30_hours=30+ Hours
|
||||
scenes.heroselectscene.custom_seed_title=Enter a Custom Seed
|
||||
scenes.heroselectscene.custom_seed_desc=The same seed and game version always generate the same dungeon! Seeds are nine uppercase letters (e.g. ABC-DEF-GHI), but you can enter anything you want and the game will convert it. _Games with a custom seed cannot earn badges, contribute to games played, and appear at the bottom of the rankings page._
|
||||
scenes.heroselectscene.custom_seed_duplicate=You already have a regular game in progress with that seed. You must end that game before using that custom seed.
|
||||
|
||||
@@ -48,6 +48,7 @@ windows.wndgameinprogress.gold=Gold Collected
|
||||
windows.wndgameinprogress.depth=Maximum Depth
|
||||
windows.wndgameinprogress.dungeon_seed=Dungeon Seed
|
||||
windows.wndgameinprogress.custom_seed=_Custom Seed_
|
||||
windows.wndgameinprogress.daily_for=_Daily For_
|
||||
windows.wndgameinprogress.continue=Continue
|
||||
windows.wndgameinprogress.erase=Erase
|
||||
windows.wndgameinprogress.erase_warn_title=Are you sure you want to delete this save?
|
||||
@@ -66,6 +67,7 @@ windows.wndhero$statstab.gold=Gold Collected
|
||||
windows.wndhero$statstab.depth=Maximum Depth
|
||||
windows.wndhero$statstab.dungeon_seed=Dungeon Seed
|
||||
windows.wndhero$statstab.custom_seed=_Custom Seed_
|
||||
windows.wndhero$statstab.daily_for=_Daily For_
|
||||
|
||||
windows.wndheroinfo.talents=talents
|
||||
windows.wndheroinfo.talents_msg=The hero gains one talent point each time they level up. Higher tier talents appear after defeating the second boss.
|
||||
@@ -163,6 +165,8 @@ windows.wndranking$statstab.duration=Game Duration
|
||||
windows.wndranking$statstab.depth=Maximum Depth
|
||||
windows.wndranking$statstab.ascent=Highest Ascent
|
||||
windows.wndranking$statstab.seed=Dungeon Seed
|
||||
windows.wndranking$statstab.custom_seed=_Custom Seed_
|
||||
windows.wndranking$statstab.daily_for=_Daily For_
|
||||
windows.wndranking$statstab.enemies=Mobs Killed
|
||||
windows.wndranking$statstab.gold=Gold Collected
|
||||
windows.wndranking$statstab.food=Food Eaten
|
||||
|
||||
@@ -82,8 +82,11 @@ import com.watabou.utils.Random;
|
||||
import com.watabou.utils.SparseArray;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class Dungeon {
|
||||
|
||||
@@ -182,6 +185,7 @@ public class Dungeon {
|
||||
public static int initialVersion;
|
||||
public static int version;
|
||||
|
||||
public static boolean daily;
|
||||
public static String customSeedText = "";
|
||||
public static long seed;
|
||||
|
||||
@@ -191,7 +195,12 @@ public class Dungeon {
|
||||
challenges = SPDSettings.challenges();
|
||||
mobsToChampion = -1;
|
||||
|
||||
if (!SPDSettings.customSeed().isEmpty()){
|
||||
if (daily) {
|
||||
seed = SPDSettings.lastDaily();
|
||||
DateFormat format = DateFormat.getDateInstance();
|
||||
format.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
customSeedText = format.format(new Date(seed));
|
||||
} else if (!SPDSettings.customSeed().isEmpty()){
|
||||
customSeedText = SPDSettings.customSeed();
|
||||
seed = DungeonSeed.convertFromText(customSeedText);
|
||||
} else {
|
||||
@@ -498,6 +507,7 @@ public class Dungeon {
|
||||
private static final String VERSION = "version";
|
||||
private static final String SEED = "seed";
|
||||
private static final String CUSTOM_SEED = "custom_seed";
|
||||
private static final String DAILY = "daily";
|
||||
private static final String CHALLENGES = "challenges";
|
||||
private static final String MOBS_TO_CHAMPION = "mobs_to_champion";
|
||||
private static final String HERO = "hero";
|
||||
@@ -521,6 +531,7 @@ public class Dungeon {
|
||||
bundle.put( VERSION, version = Game.versionCode );
|
||||
bundle.put( SEED, seed );
|
||||
bundle.put( CUSTOM_SEED, customSeedText );
|
||||
bundle.put( DAILY, daily );
|
||||
bundle.put( CHALLENGES, challenges );
|
||||
bundle.put( MOBS_TO_CHAMPION, mobsToChampion );
|
||||
bundle.put( HERO, hero );
|
||||
@@ -598,7 +609,7 @@ public class Dungeon {
|
||||
saveGame( GamesInProgress.curSlot );
|
||||
saveLevel( GamesInProgress.curSlot );
|
||||
|
||||
GamesInProgress.set( GamesInProgress.curSlot, depth, challenges, seed, customSeedText, hero );
|
||||
GamesInProgress.set( GamesInProgress.curSlot, depth, challenges, seed, customSeedText, daily, hero );
|
||||
|
||||
}
|
||||
}
|
||||
@@ -622,6 +633,7 @@ public class Dungeon {
|
||||
|
||||
seed = bundle.contains( SEED ) ? bundle.getLong( SEED ) : DungeonSeed.randomSeed();
|
||||
customSeedText = bundle.getString( CUSTOM_SEED );
|
||||
daily = bundle.getBoolean( DAILY );
|
||||
|
||||
Actor.clear();
|
||||
Actor.restoreNextID( bundle );
|
||||
@@ -756,6 +768,7 @@ public class Dungeon {
|
||||
info.challenges = bundle.getInt( CHALLENGES );
|
||||
info.seed = bundle.getLong( SEED );
|
||||
info.customSeed = bundle.getString( CUSTOM_SEED );
|
||||
info.daily = bundle.getBoolean( DAILY );
|
||||
|
||||
Hero.preview( info, bundle.getBundle( HERO ) );
|
||||
Statistics.preview( info, bundle );
|
||||
|
||||
@@ -126,7 +126,7 @@ public class GamesInProgress {
|
||||
}
|
||||
}
|
||||
|
||||
public static void set(int slot, int depth, int challenges, long seed, String customSeed,
|
||||
public static void set(int slot, int depth, int challenges, long seed, String customSeed, boolean daily,
|
||||
Hero hero) {
|
||||
Info info = new Info();
|
||||
info.slot = slot;
|
||||
@@ -136,6 +136,7 @@ public class GamesInProgress {
|
||||
|
||||
info.seed = seed;
|
||||
info.customSeed = customSeed;
|
||||
info.daily = daily;
|
||||
|
||||
info.level = hero.lvl;
|
||||
info.str = hero.STR;
|
||||
@@ -171,6 +172,7 @@ public class GamesInProgress {
|
||||
|
||||
public long seed;
|
||||
public String customSeed;
|
||||
public boolean daily;
|
||||
|
||||
public int level;
|
||||
public int str;
|
||||
|
||||
@@ -64,6 +64,12 @@ public enum Rankings {
|
||||
public void submit( boolean win, Class cause ) {
|
||||
|
||||
load();
|
||||
|
||||
//TODO need separate storage for daily data
|
||||
//when loading data, make sure to check for latestDaily errors and correct
|
||||
if (Dungeon.daily){
|
||||
return;
|
||||
}
|
||||
|
||||
Record rec = new Record();
|
||||
|
||||
@@ -185,13 +191,15 @@ public enum Rankings {
|
||||
return Statistics.totalScore;
|
||||
}
|
||||
|
||||
public static final String HERO = "hero";
|
||||
public static final String STATS = "stats";
|
||||
public static final String BADGES = "badges";
|
||||
public static final String HANDLERS = "handlers";
|
||||
public static final String CHALLENGES = "challenges";
|
||||
public static final String HERO = "hero";
|
||||
public static final String STATS = "stats";
|
||||
public static final String BADGES = "badges";
|
||||
public static final String HANDLERS = "handlers";
|
||||
public static final String CHALLENGES = "challenges";
|
||||
public static final String GAME_VERSION = "game_version";
|
||||
public static final String SEED = "seed";
|
||||
public static final String SEED = "seed";
|
||||
public static final String CUSTOM_SEED = "custom_seed";
|
||||
public static final String DAILY = "daily";
|
||||
|
||||
public void saveGameData(Record rec){
|
||||
rec.gameData = new Bundle();
|
||||
@@ -248,6 +256,8 @@ public enum Rankings {
|
||||
rec.gameData.put( GAME_VERSION, Dungeon.initialVersion );
|
||||
|
||||
rec.gameData.put( SEED, Dungeon.seed );
|
||||
rec.gameData.put( CUSTOM_SEED, Dungeon.customSeedText );
|
||||
rec.gameData.put( DAILY, Dungeon.daily );
|
||||
}
|
||||
|
||||
public void loadGameData(Record rec){
|
||||
@@ -284,8 +294,12 @@ public enum Rankings {
|
||||
|
||||
if (rec.gameData.contains(SEED)){
|
||||
Dungeon.seed = rec.gameData.getLong(SEED);
|
||||
Dungeon.customSeedText = rec.gameData.getString(CUSTOM_SEED);
|
||||
Dungeon.daily = rec.gameData.getBoolean(DAILY);
|
||||
} else {
|
||||
Dungeon.seed = -1;
|
||||
Dungeon.customSeedText = "";
|
||||
Dungeon.daily = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -181,6 +181,7 @@ public class SPDSettings extends GameSettings {
|
||||
public static final String KEY_LAST_CLASS = "last_class";
|
||||
public static final String KEY_CHALLENGES = "challenges";
|
||||
public static final String KEY_CUSTOM_SEED = "custom_seed";
|
||||
public static final String KEY_LAST_DAILY = "last_daily";
|
||||
public static final String KEY_INTRO = "intro";
|
||||
|
||||
public static final String KEY_SUPPORT_NAGGED= "support_nagged";
|
||||
@@ -217,6 +218,14 @@ public class SPDSettings extends GameSettings {
|
||||
return getString( KEY_CUSTOM_SEED, "", 20);
|
||||
}
|
||||
|
||||
public static void lastDaily( long value ){
|
||||
put( KEY_LAST_DAILY, value );
|
||||
}
|
||||
|
||||
public static long lastDaily() {
|
||||
return getLong( KEY_LAST_DAILY, 0);
|
||||
}
|
||||
|
||||
public static void supportNagged( boolean value ) {
|
||||
put( KEY_SUPPORT_NAGGED, value );
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.StyledButton;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTextInput;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.DungeonSeed;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndChallenges;
|
||||
@@ -420,8 +421,100 @@ public class HeroSelectScene extends PixelScene {
|
||||
buttons.add(seedButton);
|
||||
add(seedButton);
|
||||
|
||||
//TODO does nothing atm
|
||||
StyledButton dailyButton = new StyledButton(Chrome.Type.BLANK, Messages.get(HeroSelectScene.class, "daily"), 6);
|
||||
StyledButton dailyButton = new StyledButton(Chrome.Type.BLANK, Messages.get(HeroSelectScene.class, "daily"), 6){
|
||||
|
||||
private static final long SECOND = 1000;
|
||||
private static final long MINUTE = 60 * SECOND;
|
||||
private static final long HOUR = 60 * MINUTE;
|
||||
private static final long DAY = 24 * HOUR;
|
||||
|
||||
@Override
|
||||
protected void onClick() {
|
||||
super.onClick();
|
||||
|
||||
long diff = (SPDSettings.lastDaily() + DAY) - Game.realTime;
|
||||
if (diff > 0){
|
||||
if (diff > 30*HOUR){
|
||||
ShatteredPixelDungeon.scene().addToFront(new WndMessage(Messages.get(HeroSelectScene.class, "daily_unavailable_long", (diff / DAY)+1)));
|
||||
} else {
|
||||
ShatteredPixelDungeon.scene().addToFront(new WndMessage(Messages.get(HeroSelectScene.class, "daily_unavailable")));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
for (GamesInProgress.Info game : GamesInProgress.checkAll()){
|
||||
if (game.daily){
|
||||
ShatteredPixelDungeon.scene().addToFront(new WndMessage(Messages.get(HeroSelectScene.class, "daily_existing")));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Image icon = Icons.get(Icons.CALENDAR);
|
||||
icon.hardlight(0.5f, 1f, 2f);
|
||||
ShatteredPixelDungeon.scene().addToFront(new WndOptions(
|
||||
icon,
|
||||
Messages.get(HeroSelectScene.class, "daily"),
|
||||
Messages.get(HeroSelectScene.class, "daily_desc"),
|
||||
Messages.get(HeroSelectScene.class, "daily_yes"),
|
||||
Messages.get(HeroSelectScene.class, "daily_no")){
|
||||
@Override
|
||||
protected void onSelect(int index) {
|
||||
if (index == 0){
|
||||
long time = Game.realTime - (Game.realTime % DAY);
|
||||
|
||||
//earliest possible daily for v1.3.0 is June 20 2022
|
||||
//which is 19,163 days after Jan 1 1970
|
||||
time = Math.max(time, 19_163 * DAY);
|
||||
|
||||
SPDSettings.lastDaily(time);
|
||||
|
||||
Dungeon.hero = null;
|
||||
Dungeon.daily = true;
|
||||
ActionIndicator.action = null;
|
||||
InterlevelScene.mode = InterlevelScene.Mode.DESCEND;
|
||||
|
||||
Game.switchScene( InterlevelScene.class );
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private long timeToUpdate = 0;
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if (Game.realTime > timeToUpdate){
|
||||
long diff = (SPDSettings.lastDaily() + DAY) - Game.realTime;
|
||||
if (diff > 0){
|
||||
//<1 minute
|
||||
if (diff < MINUTE){
|
||||
text(Messages.get(HeroSelectScene.class, "daily_seconds", (diff / SECOND)+1));
|
||||
timeToUpdate = Game.realTime + SECOND;
|
||||
//<1 hour
|
||||
} else if (diff < HOUR){
|
||||
text(Messages.get(HeroSelectScene.class, "daily_minutes", (diff / MINUTE)+1));
|
||||
timeToUpdate = Game.realTime + 5*SECOND;
|
||||
//<30 hours (a few extra in case of timezone shenanigans)
|
||||
} else if (diff < (DAY + 6*HOUR)) {
|
||||
text(Messages.get(HeroSelectScene.class, "daily_hours", (diff / HOUR)+1));
|
||||
timeToUpdate = Game.realTime + 5*MINUTE;
|
||||
//>30 hours, probably a cheater!
|
||||
} else {
|
||||
text(Messages.get(HeroSelectScene.class, "daily_30_hours"));
|
||||
timeToUpdate = Game.realTime + 20*MINUTE;
|
||||
}
|
||||
textColor(0x888888);
|
||||
} else {
|
||||
text(Messages.get(HeroSelectScene.class, "daily"));
|
||||
textColor(0xFFFFFF);
|
||||
timeToUpdate = Long.MAX_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
dailyButton.leftJustify = true;
|
||||
dailyButton.icon(Icons.get(Icons.CALENDAR));
|
||||
add(dailyButton);
|
||||
|
||||
@@ -203,7 +203,9 @@ public class StartScene extends PixelScene {
|
||||
level.resetColor();
|
||||
}
|
||||
|
||||
if (!info.customSeed.isEmpty()){
|
||||
if (info.daily){
|
||||
steps.hardlight(0.5f, 1f, 2f);
|
||||
} else if (!info.customSeed.isEmpty()){
|
||||
steps.hardlight(1f, 1.5f, 0.67f);
|
||||
}
|
||||
|
||||
|
||||
@@ -303,28 +303,36 @@ public enum Icons {
|
||||
icon.frame( icon.texture.uvRectBySize( 40, 72, 8, 8 ) );
|
||||
break;
|
||||
case DEPTH:
|
||||
icon.frame( icon.texture.uvRectBySize( 48, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 6, 7 ) );
|
||||
int ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 48, 64 + ofs, 6, 7 ) );
|
||||
break;
|
||||
case DEPTH_CHASM:
|
||||
icon.frame( icon.texture.uvRectBySize( 56, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 56, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_WATER:
|
||||
icon.frame( icon.texture.uvRectBySize( 64, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 64, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_GRASS:
|
||||
icon.frame( icon.texture.uvRectBySize( 72, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 72, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_DARK:
|
||||
icon.frame( icon.texture.uvRectBySize( 80, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 80, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_LARGE:
|
||||
icon.frame( icon.texture.uvRectBySize( 88, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 88, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_TRAPS:
|
||||
icon.frame( icon.texture.uvRectBySize( 96, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 96, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case DEPTH_SECRETS:
|
||||
icon.frame( icon.texture.uvRectBySize( 104, 64 + (Dungeon.customSeedText.isEmpty() ? 0 : 8), 7, 7 ) );
|
||||
ofs = Dungeon.daily ? 16 : (!Dungeon.customSeedText.isEmpty() ? 8 : 0);
|
||||
icon.frame( icon.texture.uvRectBySize( 104, 64 + ofs, 7, 7 ) );
|
||||
break;
|
||||
case CHAL_COUNT:
|
||||
icon.frame( icon.texture.uvRectBySize( 112, 64, 7, 7 ) );
|
||||
|
||||
@@ -103,7 +103,9 @@ public class WndGameInProgress extends Window {
|
||||
pos += GAP;
|
||||
statSlot( Messages.get(this, "gold"), info.goldCollected );
|
||||
statSlot( Messages.get(this, "depth"), info.maxDepth );
|
||||
if (!info.customSeed.isEmpty()){
|
||||
if (info.daily) {
|
||||
statSlot( Messages.get(this, "daily_for"), "_" + info.customSeed + "_" );
|
||||
} else if (!info.customSeed.isEmpty()){
|
||||
statSlot( Messages.get(this, "custom_seed"), "_" + info.customSeed + "_" );
|
||||
} else {
|
||||
statSlot( Messages.get(this, "dungeon_seed"), DungeonSeed.convertToCode(info.seed) );
|
||||
|
||||
@@ -185,7 +185,9 @@ public class WndHero extends WndTabbed {
|
||||
|
||||
statSlot( Messages.get(this, "gold"), Statistics.goldCollected );
|
||||
statSlot( Messages.get(this, "depth"), Statistics.deepestFloor );
|
||||
if (!Dungeon.customSeedText.isEmpty()){
|
||||
if (Dungeon.daily){
|
||||
statSlot( Messages.get(this, "daily_for"), "_" + Dungeon.customSeedText + "_" );
|
||||
} else if (!Dungeon.customSeedText.isEmpty()){
|
||||
statSlot( Messages.get(this, "custom_seed"), "_" + Dungeon.customSeedText + "_" );
|
||||
} else {
|
||||
statSlot( Messages.get(this, "dungeon_seed"), DungeonSeed.convertToCode(Dungeon.seed) );
|
||||
|
||||
@@ -216,7 +216,13 @@ public class WndRanking extends WndTabbed {
|
||||
pos = statSlot(this, Messages.get(this, "ascent"), num.format(Statistics.highestAscent), pos);
|
||||
}
|
||||
if (Dungeon.seed != -1) {
|
||||
pos = statSlot(this, Messages.get(this, "seed"), DungeonSeed.convertToCode(Dungeon.seed), pos);
|
||||
if (Dungeon.daily){
|
||||
pos = statSlot(this, Messages.get(this, "daily_for"), "_" + DungeonSeed.convertToCode(Dungeon.seed) + "_", pos);
|
||||
} else if (!Dungeon.customSeedText.isEmpty()){
|
||||
pos = statSlot(this, Messages.get(this, "custom_seed"), "_" + DungeonSeed.convertToCode(Dungeon.seed) + "_", pos);
|
||||
} else {
|
||||
pos = statSlot(this, Messages.get(this, "seed"), DungeonSeed.convertToCode(Dungeon.seed), pos);
|
||||
}
|
||||
} else {
|
||||
pos += GAP + 5;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user