Update 0.6.5.0-Alpha6.8
1.修复三井协定的三井重复生成问题 2.改善变幻莫测迷你Boss地形以及战利品 3.种子现在分为A类,B类,BossRush类 4.部分界面UI迭代,变幻莫测挑战平衡
This commit is contained in:
parent
0277f9743a
commit
0421bd3ef2
|
@ -18,8 +18,8 @@ allprojects {
|
||||||
appName = 'Magic Ling Pixel Dungeon'
|
appName = 'Magic Ling Pixel Dungeon'
|
||||||
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
||||||
|
|
||||||
appVersionCode =908500
|
appVersionCode =908800
|
||||||
appVersionName = '0.6.5.0-Alpha6.5'
|
appVersionName = '0.6.5.0-Alpha6.8'
|
||||||
|
|
||||||
appJavaCompatibility = JavaVersion.VERSION_11
|
appJavaCompatibility = JavaVersion.VERSION_11
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.5 KiB |
|
@ -347,7 +347,7 @@ challenges.icedied = 雪虐风饕(未完成)
|
||||||
challenges.icedied_desc=很显然,地牢的雪越下越大了,在这严寒里面,生存的法则将进一步让我们活得更久。\n篝火房间一旦被激活不再无限,变成40回合的寒冷抑制,商人会贩卖更多特殊物品。
|
challenges.icedied_desc=很显然,地牢的雪越下越大了,在这严寒里面,生存的法则将进一步让我们活得更久。\n篝火房间一旦被激活不再无限,变成40回合的寒冷抑制,商人会贩卖更多特殊物品。
|
||||||
|
|
||||||
challenges.morelevel=变幻莫测
|
challenges.morelevel=变幻莫测
|
||||||
challenges.morelevel_desc=地牢在时间的长河中渐渐的诞生了更多地形,这次探索地牢谁知道能遇到什么?\n\nA.新增2种全新地形感知,1种特定地形感知。\n\nB.2场迷你Boss遭遇战,未来会更多。\n\nC.地牢怪物生成更多\n\n_地牢环境已发生改变,请小心应对!!!_\n\n(除Boss层,每层必定触发地形感知,且全部均为大型地形)。
|
challenges.morelevel_desc=地牢在时间的长河中渐渐的诞生了更多地形,这次探索地牢谁知道能遇到什么?\n\nA.新增3种全新地形感知,1种特定地形感知。\n\nB.2场迷你Boss遭遇战,未来会更多。\n\nC.地牢怪物生成更多\n\n_地牢环境已发生改变,请小心应对!!!_\n\n(除Boss层,每层必定触发地形感知,且全部均为大型地形)。
|
||||||
|
|
||||||
challenges.dhxd =灯火前路
|
challenges.dhxd =灯火前路
|
||||||
challenges.dhxd_desc= 灯火指引着前进的道路,提灯引路,灯火前行! \n\n此为三挑以上的特殊机制,但你也可以直接开启它!\n\n1.追加灯火祝福和魔女诅咒机制,灯火会随着深入楼层进行降低\n2.在较低的灯火下死亡会精神崩溃,诞生自己的暗影。\n3.追加提灯和灯油,合理使用这些道具,让自己能在灯火祝福中活下去!如果不幸遭到魔女的诅咒,也不会让你陷入绝境。\n\n灯火不灭,希望仍在,提灯引路,灯火前行!
|
challenges.dhxd_desc= 灯火指引着前进的道路,提灯引路,灯火前行! \n\n此为三挑以上的特殊机制,但你也可以直接开启它!\n\n1.追加灯火祝福和魔女诅咒机制,灯火会随着深入楼层进行降低\n2.在较低的灯火下死亡会精神崩溃,诞生自己的暗影。\n3.追加提灯和灯油,合理使用这些道具,让自己能在灯火祝福中活下去!如果不幸遭到魔女的诅咒,也不会让你陷入绝境。\n\n灯火不灭,希望仍在,提灯引路,灯火前行!
|
||||||
|
|
|
@ -208,7 +208,7 @@ windows.wndgameinprogress.gamegold=游戏金币:
|
||||||
windows.wndgameinprogress.gamenayzi=奈亚大亨:
|
windows.wndgameinprogress.gamenayzi=奈亚大亨:
|
||||||
windows.wndgameinprogress.gamenayzis=\n一局游戏内购买7次终端的物品,即可永久让奈亚入驻0层。
|
windows.wndgameinprogress.gamenayzis=\n一局游戏内购买7次终端的物品,即可永久让奈亚入驻0层。
|
||||||
windows.wndgameinprogress.gamemimic=拟态猎杀:
|
windows.wndgameinprogress.gamemimic=拟态猎杀:
|
||||||
windows.wndgameinprogress.gameinof=注:类型不同的种子所生成的地牢物品规则将有所不同。\n_B类_为开启_独挡一面_挑战后的种子。\n_C类_:支离破碎&基因突变\n_D类_:BossRush\n\n(种子判定优先级:D>B>C>A)
|
windows.wndgameinprogress.gameinof=注:类型不同的种子所生成的地牢物品规则将有所不同。A类就是没有开启_变幻莫测_的种子\n_B类_为开启_变幻莫测_挑战后的种子。\n特别类:BossRush\n\n(种子判定优先级:BossRush>B>A)
|
||||||
|
|
||||||
windows.wndgameinprogress.title=%1$d级%2$s
|
windows.wndgameinprogress.title=%1$d级%2$s
|
||||||
windows.wndgameinprogress.challenges=挑战
|
windows.wndgameinprogress.challenges=挑战
|
||||||
|
|
|
@ -394,7 +394,7 @@ public class Badges {
|
||||||
badge = Badge.HIGH_SCORE_4;
|
badge = Badge.HIGH_SCORE_4;
|
||||||
local.add( badge );
|
local.add( badge );
|
||||||
}
|
}
|
||||||
if (score >= SSSP_SCORE * chalMultiplier * (amuletObtained ? 0.7 : 5)) {
|
if (score >= SSSP_SCORE * chalMultiplier * (amuletObtained ? 0.7 : 4.5)) {
|
||||||
badge = Badge.HIGH_SCORE_5;
|
badge = Badge.HIGH_SCORE_5;
|
||||||
local.add( badge );
|
local.add( badge );
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
|
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
|
||||||
|
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||||
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
@ -39,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
|
@ -86,6 +88,11 @@ public class OldDM300 extends DM200 {
|
||||||
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
|
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
|
||||||
if(lock == null && !seenBefore && Dungeon.level.heroFOV[pos]){
|
if(lock == null && !seenBefore && Dungeon.level.heroFOV[pos]){
|
||||||
Dungeon.level.seal();
|
Dungeon.level.seal();
|
||||||
|
if(Dungeon.isChallenged(MOREROOM)) {
|
||||||
|
AlarmTrap alarmTrap = new AlarmTrap();
|
||||||
|
alarmTrap.pos = pos;
|
||||||
|
alarmTrap.activate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
GameScene.add( Blob.seed( pos, 30, ToxicGas.class ) );
|
GameScene.add( Blob.seed( pos, 30, ToxicGas.class ) );
|
||||||
|
|
||||||
|
@ -176,6 +183,7 @@ public class OldDM300 extends DM200 {
|
||||||
super.damage(dmg, src);
|
super.damage(dmg, src);
|
||||||
if (state == PASSIVE) {
|
if (state == PASSIVE) {
|
||||||
state = HUNTING;
|
state = HUNTING;
|
||||||
|
notice();
|
||||||
}
|
}
|
||||||
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
|
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
|
||||||
if (lock != null && !isImmune(src.getClass())) lock.addTime(dmg*1.5f);
|
if (lock != null && !isImmune(src.getClass())) lock.addTime(dmg*1.5f);
|
||||||
|
|
|
@ -13,6 +13,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Goo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob;
|
import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
|
@ -83,6 +84,11 @@ public class GooMob extends Mob {
|
||||||
if(lock == null && !seenBefore && Dungeon.level.heroFOV[pos]){
|
if(lock == null && !seenBefore && Dungeon.level.heroFOV[pos]){
|
||||||
Dungeon.level.seal();
|
Dungeon.level.seal();
|
||||||
seenBefore = false;
|
seenBefore = false;
|
||||||
|
if(Dungeon.isChallenged(MOREROOM)) {
|
||||||
|
AlarmTrap alarmTrap = new AlarmTrap();
|
||||||
|
alarmTrap.pos = pos;
|
||||||
|
alarmTrap.activate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Dungeon.level.water[pos] && HP < HT) {
|
if (Dungeon.level.water[pos] && HP < HT) {
|
||||||
|
@ -212,6 +218,7 @@ public class GooMob extends Mob {
|
||||||
|
|
||||||
if (state == PASSIVE) {
|
if (state == PASSIVE) {
|
||||||
state = HUNTING;
|
state = HUNTING;
|
||||||
|
notice();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((HP*2 <= HT) && !bleeding){
|
if ((HP*2 <= HT) && !bleeding){
|
||||||
|
|
|
@ -120,12 +120,12 @@ public class CavesLevel extends RegularLevel {
|
||||||
for (int i = 0; i < map.length; i++) {
|
for (int i = 0; i < map.length; i++) {
|
||||||
if (map[i] == Terrain.EMBERS) {
|
if (map[i] == Terrain.EMBERS) {
|
||||||
// 将 EMPTY_DECO 地块改为新地形
|
// 将 EMPTY_DECO 地块改为新地形
|
||||||
set(i, Terrain.STATUE);
|
set(i, Terrain.LOCKED_EXIT);
|
||||||
GameScene.updateMap(i); // 更新地图显示
|
GameScene.updateMap(i); // 更新地图显示
|
||||||
Camera.main.shake(4f,7f);
|
Camera.main.shake(4f,7f);
|
||||||
} else if(hero.buff(LockedFloor.class) == null && map[i] == Terrain.STATUE) {
|
} else if(hero.buff(LockedFloor.class) == null && map[i] == Terrain.LOCKED_EXIT) {
|
||||||
// 将 CHASM 地块改为新地形
|
// 将 CHASM 地块改为新地形
|
||||||
set(i, Terrain.EMPTY);
|
set(i, Terrain.EMBERS);
|
||||||
GameScene.updateMap(i); // 更新地图显示
|
GameScene.updateMap(i); // 更新地图显示
|
||||||
GameScene.flash(Window.WATA_COLOR);
|
GameScene.flash(Window.WATA_COLOR);
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,14 +61,15 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.builders.LoopBuilder;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretWellRoom;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.AutoShopRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.AutoShopRoom;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.HealWellRoom;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.IdenityRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.LanFireRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.LanFireRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicWellRoom;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicalFireRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicalFireRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NxhyShopRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NxhyShopRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NyzBombAndBooksRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NyzBombAndBooksRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.PitRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.PitRoom;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.RandomRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.ShopRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.ShopRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.SpecialRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.SpecialRoom;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.AquariumRoom;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.AquariumRoom;
|
||||||
|
@ -309,9 +310,9 @@ public abstract class RegularLevel extends Level {
|
||||||
specials++;
|
specials++;
|
||||||
}
|
}
|
||||||
if(feeling == Feeling.THREEWELL){
|
if(feeling == Feeling.THREEWELL){
|
||||||
initRooms.add(new MagicWellRoom());
|
initRooms.add(new HealWellRoom());
|
||||||
initRooms.add(new SecretWellRoom());
|
initRooms.add(new RandomRoom());
|
||||||
initRooms.add(new MagicWellRoom());
|
initRooms.add(new IdenityRoom());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(feeling == Feeling.LINKROOM){
|
if(feeling == Feeling.LINKROOM){
|
||||||
|
|
|
@ -102,14 +102,15 @@ public class SewerLevel extends RegularLevel {
|
||||||
|
|
||||||
public void updateChasmTerrain() {
|
public void updateChasmTerrain() {
|
||||||
for (int i = 0; i < map.length; i++) {
|
for (int i = 0; i < map.length; i++) {
|
||||||
if (map[i] == Terrain.EMPTY_DECO) {
|
if (map[i] == Terrain.EMBERS) {
|
||||||
// 将 EMPTY_DECO 地块改为新地形
|
// 将 EMPTY_DECO 地块改为新地形
|
||||||
set(i, Terrain.STATUE);
|
set(i, Terrain.LOCKED_EXIT);
|
||||||
GameScene.updateMap(i); // 更新地图显示
|
GameScene.updateMap(i); // 更新地图显示
|
||||||
Camera.main.shake(3f,6f);
|
Camera.main.shake(3f,6f);
|
||||||
} else if(hero.buff(LockedFloor.class) == null && map[i] == Terrain.STATUE) {
|
|
||||||
|
} else if(hero.buff(LockedFloor.class) == null && map[i] == Terrain.LOCKED_EXIT) {
|
||||||
// 将 CHASM 地块改为新地形
|
// 将 CHASM 地块改为新地形
|
||||||
set(i, Terrain.WATER);
|
set(i, Terrain.EMBERS);
|
||||||
GameScene.updateMap(i); // 更新地图显示
|
GameScene.updateMap(i); // 更新地图显示
|
||||||
}
|
}
|
||||||
for (Mob m : Dungeon.level.mobs){
|
for (Mob m : Dungeon.level.mobs){
|
||||||
|
@ -120,7 +121,7 @@ public class SewerLevel extends RegularLevel {
|
||||||
playBGM(Assets.BGM_BOSSA, true);
|
playBGM(Assets.BGM_BOSSA, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GameScene.flash(Window.CBLACK);
|
GameScene.flash(Window.ANSDO_COLOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfTransmutation;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
@ -34,7 +33,7 @@ import com.watabou.utils.Random;
|
||||||
public class SecretWellRoom extends SecretRoom {
|
public class SecretWellRoom extends SecretRoom {
|
||||||
|
|
||||||
private static final Class<?>[] WATERS =
|
private static final Class<?>[] WATERS =
|
||||||
{WaterOfAwareness.class, WaterOfHealth.class, WaterOfTransmutation.class};
|
{WaterOfAwareness.class, WaterOfHealth.class};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canConnect(Point p) {
|
public boolean canConnect(Point p) {
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
|
import com.watabou.utils.Point;
|
||||||
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
public class HealWellRoom extends SpecialRoom {
|
||||||
|
|
||||||
|
private static final Class<?>[] WATERS =
|
||||||
|
{WaterOfHealth.class};
|
||||||
|
|
||||||
|
public Class<?extends WellWater> overrideWater = null;
|
||||||
|
|
||||||
|
public void paint( Level level ) {
|
||||||
|
|
||||||
|
Painter.fill( level, this, Terrain.WALL );
|
||||||
|
Painter.fill( level, this, 1, Terrain.EMPTY );
|
||||||
|
|
||||||
|
Point c = center();
|
||||||
|
Painter.set( level, c.x, c.y, Terrain.WELL );
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
Class<? extends WellWater> waterClass =
|
||||||
|
overrideWater != null ?
|
||||||
|
overrideWater :
|
||||||
|
(Class<? extends WellWater>) Random.element( WATERS );
|
||||||
|
|
||||||
|
|
||||||
|
WellWater.seed(c.x + level.width() * c.y, 1, waterClass, level);
|
||||||
|
|
||||||
|
entrance().set( Door.Type.REGULAR );
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||||
|
import com.watabou.utils.Point;
|
||||||
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
public class IdenityRoom extends SpecialRoom {
|
||||||
|
|
||||||
|
private static final Class<?>[] WATERS =
|
||||||
|
{WaterOfAwareness.class};
|
||||||
|
|
||||||
|
public Class<?extends WellWater> overrideWater = null;
|
||||||
|
|
||||||
|
public void paint( Level level ) {
|
||||||
|
|
||||||
|
Painter.fill( level, this, Terrain.WALL );
|
||||||
|
Painter.fill( level, this, 1, Terrain.EMPTY );
|
||||||
|
|
||||||
|
Point c = center();
|
||||||
|
Painter.set( level, c.x, c.y, Terrain.WELL );
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
Class<? extends WellWater> waterClass =
|
||||||
|
overrideWater != null ?
|
||||||
|
overrideWater :
|
||||||
|
(Class<? extends WellWater>) Random.element( WATERS );
|
||||||
|
|
||||||
|
|
||||||
|
WellWater.seed(c.x + level.width() * c.y, 1, waterClass, level);
|
||||||
|
|
||||||
|
entrance().set( Room.Door.Type.REGULAR );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfTransmutation;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
@ -34,7 +33,7 @@ import com.watabou.utils.Random;
|
||||||
public class MagicWellRoom extends SpecialRoom {
|
public class MagicWellRoom extends SpecialRoom {
|
||||||
|
|
||||||
private static final Class<?>[] WATERS =
|
private static final Class<?>[] WATERS =
|
||||||
{WaterOfAwareness.class, WaterOfHealth.class, WaterOfTransmutation.class};
|
{WaterOfAwareness.class, WaterOfHealth.class};
|
||||||
|
|
||||||
public Class<?extends WellWater> overrideWater = null;
|
public Class<?extends WellWater> overrideWater = null;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfTransmutation;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||||
|
import com.watabou.utils.Point;
|
||||||
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
public class RandomRoom extends SpecialRoom {
|
||||||
|
|
||||||
|
private static final Class<?>[] WATERS =
|
||||||
|
{WaterOfTransmutation.class};
|
||||||
|
|
||||||
|
public Class<?extends WellWater> overrideWater = null;
|
||||||
|
|
||||||
|
public void paint( Level level ) {
|
||||||
|
|
||||||
|
Painter.fill( level, this, Terrain.WALL );
|
||||||
|
Painter.fill( level, this, 1, Terrain.EMPTY );
|
||||||
|
|
||||||
|
Point c = center();
|
||||||
|
Painter.set( level, c.x, c.y, Terrain.WELL );
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
Class<? extends WellWater> waterClass =
|
||||||
|
overrideWater != null ?
|
||||||
|
overrideWater :
|
||||||
|
(Class<? extends WellWater>) Random.element( WATERS );
|
||||||
|
|
||||||
|
|
||||||
|
WellWater.seed(c.x + level.width() * c.y, 1, waterClass, level);
|
||||||
|
|
||||||
|
entrance().set( Room.Door.Type.REGULAR );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class GooRoom extends StandardRoom {
|
||||||
public void paint( Level level ) {
|
public void paint( Level level ) {
|
||||||
|
|
||||||
Painter.fill( level, this, Terrain.WALL );
|
Painter.fill( level, this, Terrain.WALL );
|
||||||
Painter.fill( level, this, 1, Terrain.TRAP );
|
Painter.fill( level, this, 1, Terrain.EMBERS );
|
||||||
Painter.fill( level, this, 2, Terrain.WATER );
|
Painter.fill( level, this, 2, Terrain.WATER );
|
||||||
|
|
||||||
Point c = center();
|
Point c = center();
|
||||||
|
@ -62,7 +62,6 @@ public class GooRoom extends StandardRoom {
|
||||||
|
|
||||||
for (Door door : connected.values()) {
|
for (Door door : connected.values()) {
|
||||||
door.set( Door.Type.REGULAR );
|
door.set( Door.Type.REGULAR );
|
||||||
Painter.drawInside( level, this, door, 1, Terrain.EMPTY );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Point p : getPoints()) {
|
for(Point p : getPoints()) {
|
||||||
|
@ -72,7 +71,7 @@ public class GooRoom extends StandardRoom {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Painter.drawCircle(level, c, 7, Terrain.EMPTY_DECO);
|
Painter.drawCircle(level, c, 7, Terrain.WATER);
|
||||||
Painter.drawCircle(level, c, 5, Terrain.EMPTY_SP);
|
Painter.drawCircle(level, c, 5, Terrain.EMPTY_SP);
|
||||||
Painter.drawCircle(level, c, 2, Terrain.WATER);
|
Painter.drawCircle(level, c, 2, Terrain.WATER);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Firebomb;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.ShrapnelBomb;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Maze;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.ExplosiveTrap;
|
||||||
|
import com.watabou.utils.PathFinder;
|
||||||
|
import com.watabou.utils.Point;
|
||||||
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
public class NukeRoom extends StandardRoom {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int minWidth() {
|
||||||
|
return 28;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int minHeight() {
|
||||||
|
return 28;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int maxWidth() {
|
||||||
|
return 28;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int maxHeight() {
|
||||||
|
return 28;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canMerge(Level l, Point p, int mergeTerrain) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paint(Level level) {
|
||||||
|
|
||||||
|
Painter.fill(level, this, Terrain.WALL);
|
||||||
|
Painter.fill(level, this, 1, Terrain.EMBERS);
|
||||||
|
|
||||||
|
//true = space, false = wall
|
||||||
|
Maze.allowDiagonals = false;
|
||||||
|
boolean[][] maze = Maze.generate(this);
|
||||||
|
boolean[] passable = new boolean[width()*height()];
|
||||||
|
|
||||||
|
Painter.fill(level, this, 1, Terrain.EMPTY);
|
||||||
|
Painter.fill(level, this, 2, Terrain.HIGH_GRASS);
|
||||||
|
for (int x = 0; x < maze.length; x++) {
|
||||||
|
for (int y = 0; y < maze[0].length; y++) {
|
||||||
|
if (maze[x][y] == Maze.FILLED) {
|
||||||
|
Painter.fill(level, x + left, y + top, 1, 1, Terrain.WALL_DECO);
|
||||||
|
}
|
||||||
|
passable[x + width()*y] = maze[x][y] == Maze.EMPTY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PathFinder.setMapSize(width(), height());
|
||||||
|
Point entrance = connected.values().iterator().next();
|
||||||
|
int entrancePos = (entrance.x - left) + width()*(entrance.y - top);
|
||||||
|
|
||||||
|
PathFinder.buildDistanceMap( entrancePos, passable );
|
||||||
|
|
||||||
|
for (int i = 0; i < 20; i++) {
|
||||||
|
int dropPos;
|
||||||
|
do {
|
||||||
|
dropPos = level.pointToCell(random());
|
||||||
|
} while (level.map[dropPos] != Terrain.HIGH_GRASS || level.heaps.get( dropPos ) != null);
|
||||||
|
Item prize = Random.Int(8) == 0 ? new ShrapnelBomb() : new Firebomb();
|
||||||
|
level.drop(prize, dropPos).type = Heap.Type.HEAP;
|
||||||
|
level.map[dropPos] = Terrain.TRAP;
|
||||||
|
level.setTrap(new ExplosiveTrap(), dropPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
PathFinder.setMapSize(level.width(), level.height());
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,7 +17,6 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.StyledButton;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndHardNotification;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndHardNotification;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
|
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
|
|
||||||
import com.watabou.noosa.BitmapText;
|
import com.watabou.noosa.BitmapText;
|
||||||
import com.watabou.noosa.Camera;
|
import com.watabou.noosa.Camera;
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
|
@ -266,59 +265,36 @@ public class GameNewsScene extends PixelScene { //定义GameNewsScene类,继
|
||||||
|
|
||||||
if (article.ling > Game.versionCode) {
|
if (article.ling > Game.versionCode) {
|
||||||
// 向用户展示新文章可用的选项:下载或退出游戏
|
// 向用户展示新文章可用的选项:下载或退出游戏
|
||||||
ShatteredPixelDungeon.scene().add(new WndOptions(Icons.get(Icons.CHANGES),
|
ShatteredPixelDungeon.scene().add(new WndHardNotification(Icons.get(Icons.CHANGES),
|
||||||
article.title,
|
article.title,
|
||||||
article.summary,
|
article.summary,
|
||||||
Messages.get(this, "download"),Messages.get(this, "stop_download")) {
|
Messages.get(this, "download"),
|
||||||
|
0){
|
||||||
@Override
|
@Override
|
||||||
protected void onSelect(int index) {
|
public void hide() {
|
||||||
if (index == 0) {
|
|
||||||
// 如果是桌面版就打开桌面版的下载链接,否则打开安卓版的下载链接
|
// 如果是桌面版就打开桌面版的下载链接,否则打开安卓版的下载链接
|
||||||
if (DeviceCompat.isDesktop()) {
|
if (DeviceCompat.isDesktop()) {
|
||||||
ShatteredPixelDungeon.scene().add(new WndOptions(Icons.get(Icons.CHANGES),
|
|
||||||
article.title,
|
|
||||||
article.summary,
|
|
||||||
"JAR版下载","NoJVM-版本下载") {
|
|
||||||
@Override
|
|
||||||
protected void onSelect(int index) {
|
|
||||||
if (index == 0) {
|
|
||||||
ShatteredPixelDungeon.platform.openURI(article.DesktopURL);
|
ShatteredPixelDungeon.platform.openURI(article.DesktopURL);
|
||||||
} else {
|
|
||||||
ShatteredPixelDungeon.platform.openURI("https://lingasdj.lanzouo.com/b05rqansf");
|
|
||||||
}
|
|
||||||
Gdx.app.exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onBackPressed() {
|
|
||||||
//
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
ShatteredPixelDungeon.platform.openURI(article.URL);
|
ShatteredPixelDungeon.platform.openURI(article.URL);
|
||||||
|
}
|
||||||
Gdx.app.exit();
|
Gdx.app.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
//
|
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// 向用户展示新版本可用的选项:强制下载或退出游戏
|
// 向用户展示新版本可用的选项:强制下载或退出游戏
|
||||||
ShatteredPixelDungeon.scene().add(new WndOptions(Icons.get(article.ling < Game.versionCode ?
|
ShatteredPixelDungeon.scene().add(new WndHardNotification(Icons.get(Icons.CHANGES),
|
||||||
Icons.WARNING : Icons.CHANGES),
|
|
||||||
article.title,
|
article.title,
|
||||||
article.summary,
|
article.summary,
|
||||||
Messages.get(this, "force_download")) {
|
Messages.get(this, "force_download"),
|
||||||
|
0){
|
||||||
@Override
|
@Override
|
||||||
protected void onSelect(int index) {
|
public void hide() {
|
||||||
if (index == 0) {
|
|
||||||
// 如果是桌面版就打开桌面版的下载链接,否则打开安卓版的下载链接
|
// 如果是桌面版就打开桌面版的下载链接,否则打开安卓版的下载链接
|
||||||
if (DeviceCompat.isDesktop()) {
|
if (DeviceCompat.isDesktop()) {
|
||||||
ShatteredPixelDungeon.platform.openURI(article.DesktopURL);
|
ShatteredPixelDungeon.platform.openURI(article.DesktopURL);
|
||||||
|
@ -327,7 +303,6 @@ public class GameNewsScene extends PixelScene { //定义GameNewsScene类,继
|
||||||
}
|
}
|
||||||
Gdx.app.exit();
|
Gdx.app.exit();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
|
@ -338,16 +313,15 @@ public class GameNewsScene extends PixelScene { //定义GameNewsScene类,继
|
||||||
} else {
|
} else {
|
||||||
// 显示天赋图标并提示用户已经更新完成
|
// 显示天赋图标并提示用户已经更新完成
|
||||||
icon(UpdateNews.parseArticleIcon(article));
|
icon(UpdateNews.parseArticleIcon(article));
|
||||||
ShatteredPixelDungeon.scene().add(new WndOptions(Icons.get(Icons.TALENT),
|
ShatteredPixelDungeon.scene().add(new WndHardNotification(Icons.get(Icons.CHANGES),
|
||||||
Messages.get(this, "update"),
|
article.title,
|
||||||
Messages.get(this, "desc")+"\n\n"+article.summary,
|
article.summary,
|
||||||
Messages.get(this, "okay")) {
|
Messages.get(this, "okay"),
|
||||||
|
0){
|
||||||
@Override
|
@Override
|
||||||
protected void onSelect(int index) {
|
public void hide() {
|
||||||
if (index == 0) {
|
|
||||||
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
|
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
//
|
//
|
||||||
|
|
|
@ -145,11 +145,7 @@ public class NewsScene extends PixelScene {
|
||||||
@Override
|
@Override
|
||||||
protected void onClick() {
|
protected void onClick() {
|
||||||
super.onClick();
|
super.onClick();
|
||||||
String link = "https://ShatteredPixel.com";
|
String link = "http://www.pd.qinyueqwq.top/";
|
||||||
//tracking codes, so that the website knows where this pageview came from
|
|
||||||
link += "?utm_source=shatteredpd";
|
|
||||||
link += "&utm_medium=news_page";
|
|
||||||
link += "&utm_campaign=ingame_link";
|
|
||||||
ShatteredPixelDungeon.platform.openURI(link);
|
ShatteredPixelDungeon.platform.openURI(link);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -144,7 +144,7 @@ public class vM0_6_7_X_Changes {
|
||||||
changes.addButton(new ChangeButton(i, ("熔岩火龙"),
|
changes.addButton(new ChangeButton(i, ("熔岩火龙"),
|
||||||
("丛林暴乱的真相")));
|
("丛林暴乱的真相")));
|
||||||
|
|
||||||
changes = new ChangeInfo("v0.6.5.0-Alpha6-6.5-国庆", true, "");
|
changes = new ChangeInfo("v0.6.5.0-Alpha6-6.8-国庆", true, "");
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
changes.hardlight(Window.TITLE_COLOR);
|
||||||
changeInfos.add(changes);
|
changeInfos.add(changes);
|
||||||
|
|
||||||
|
@ -155,6 +155,13 @@ public class vM0_6_7_X_Changes {
|
||||||
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("新挑战:变幻莫测V0.1"),
|
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("新挑战:变幻莫测V0.1"),
|
||||||
("追加两个随机地形感觉,整体战斗全面处于大地型,怪物生成变多,追加两个迷你Boss战。")));
|
("追加两个随机地形感觉,整体战斗全面处于大地型,怪物生成变多,追加两个迷你Boss战。")));
|
||||||
|
|
||||||
|
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("杂项修改2"),
|
||||||
|
("1.修复三井协定的三井重复生成问题\n" +
|
||||||
|
"2.改善变幻莫测迷你Boss地形以及战利品\n" +
|
||||||
|
"3.种子现在分为A类,B类,BossRush类\n" +
|
||||||
|
"4.部分界面UI迭代,变幻莫测挑战平衡")));
|
||||||
|
|
||||||
|
|
||||||
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("杂项修改"),
|
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("杂项修改"),
|
||||||
("1.迭代了UI材质\n\n2.优化了一些代码")));
|
("1.迭代了UI材质\n\n2.优化了一些代码")));
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,8 @@
|
||||||
|
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||||
|
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.NO_ARMOR;
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM;
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.RLPT;
|
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.SBSG;
|
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.HelpSettings;
|
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.HelpSettings;
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.lanterfireactive;
|
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.lanterfireactive;
|
||||||
|
@ -292,10 +290,8 @@ public class WndHero extends WndTabbed {
|
||||||
String seed;
|
String seed;
|
||||||
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||||
seed = "BossRush";
|
seed = "BossRush";
|
||||||
}else if(Dungeon.isChallenged(NO_ARMOR)){
|
}else if(Dungeon.isChallenged(MOREROOM)){
|
||||||
seed = "B";
|
seed = "B";
|
||||||
} else if (Dungeon.isChallenged(RLPT)&&Dungeon.isChallenged(SBSG)) {
|
|
||||||
seed = "C";
|
|
||||||
} else {
|
} else {
|
||||||
seed = "A";
|
seed = "A";
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,11 @@
|
||||||
|
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||||
|
|
||||||
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.QuickSlot;
|
import com.shatteredpixel.shatteredpixeldungeon.QuickSlot;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Rankings;
|
import com.shatteredpixel.shatteredpixeldungeon.Rankings;
|
||||||
|
@ -37,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.text.HeroStat;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BadgesGrid;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BadgesGrid;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BadgesList;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BadgesList;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Button;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.Button;
|
||||||
|
@ -166,6 +170,18 @@ public class WndRanking extends WndTabbed {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String seedType(){
|
||||||
|
String seed;
|
||||||
|
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
|
||||||
|
seed = "BossRush";
|
||||||
|
}else if(Dungeon.isChallenged(MOREROOM)){
|
||||||
|
seed = "B";
|
||||||
|
} else {
|
||||||
|
seed = "A";
|
||||||
|
}
|
||||||
|
return seed;
|
||||||
|
}
|
||||||
|
|
||||||
private class StatsTab extends Group {
|
private class StatsTab extends Group {
|
||||||
|
|
||||||
private int GAP = 4;
|
private int GAP = 4;
|
||||||
|
@ -302,7 +318,7 @@ public class WndRanking extends WndTabbed {
|
||||||
}
|
}
|
||||||
|
|
||||||
pos += GAP;
|
pos += GAP;
|
||||||
|
pos = statSlot(this, Messages.get(HeroStat.class, "seed_type"), seedType(), pos);
|
||||||
pos = statSlot(this, Messages.get(this, "enemies"), num.format(Statistics.enemiesSlain), pos);
|
pos = statSlot(this, Messages.get(this, "enemies"), num.format(Statistics.enemiesSlain), pos);
|
||||||
pos = statSlot(this, Messages.get(this, "gold"), num.format(Statistics.goldCollected), pos);
|
pos = statSlot(this, Messages.get(this, "gold"), num.format(Statistics.goldCollected), pos);
|
||||||
pos = statSlot(this, Messages.get(this, "food"), num.format(Statistics.foodEaten), pos);
|
pos = statSlot(this, Messages.get(this, "food"), num.format(Statistics.foodEaten), pos);
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
package com.shatteredpixel.shatteredpixeldungeon.windows;
|
||||||
|
|
||||||
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.STRONGER_BOSSES;
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.DHXD;
|
||||||
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM;
|
||||||
|
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
@ -60,7 +62,9 @@ public class WndScoreBreakdown extends Window {
|
||||||
|
|
||||||
int chCount = 0;
|
int chCount = 0;
|
||||||
for (int ch : Challenges.MASKS){
|
for (int ch : Challenges.MASKS){
|
||||||
if ((Dungeon.challenges & ch) != 0 && ch <= STRONGER_BOSSES) chCount++;
|
if ((Dungeon.challenges & ch) != 0 && ch <= MOREROOM && ch != PRO && ch != DHXD) {
|
||||||
|
chCount++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//评分系统
|
//评分系统
|
||||||
|
|
Loading…
Reference in New Issue
Block a user