Update V0.6.1.0-Beta5(S)

This commit is contained in:
LingASDJ 2023-04-04 22:49:57 +08:00
parent eb0c38ef79
commit 77380c90df
142 changed files with 727 additions and 539 deletions

View File

@ -431,6 +431,17 @@ public class Bundle {
}
}
public static Bundle fromString(String value){
Object json = new JSONTokener( value ).nextValue();
//if the data is an array, put it in a fresh object with the default key
if (json instanceof JSONArray){
json = new JSONObject().put( DEFAULT_KEY, json );
}
return new Bundle( (JSONObject) json );
}
public void put( String key, Collection<? extends Bundlable> collection ) {
JSONArray array = new JSONArray();
for (Bundlable object : collection) {

View File

@ -28,7 +28,16 @@ import com.watabou.noosa.Game;
public class GameSettings {
public static final String DEFAULT_PREFS_FILE = "settings.xml";
private static final String BUNDLABLE="b";
public static <T extends Bundlable> T getBundlable(String key, T defValue){
try {
Bundle b = Bundle.fromString(getString(key,""));
return (T)b.get(BUNDLABLE);
} catch (Exception e) {
return defValue;
}
}
private static Preferences prefs;
private static Preferences get() {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -148,9 +148,6 @@ challenges.icedied_desc=很显然,地牢的雪越下越大了,在这严寒
challenges.dhxd =灯火前路
challenges.dhxd_desc= 灯火指引着前进的道路,提灯引路,灯火前行![此为三挑以上的特殊机制,但你也可以直接开启它!]
dlc.bossrush=首领对决
dlc.bossrush_desc=被你击败过多次的首领们熟识了英雄的技能,并掌握了一定的对策。它们盘踞在地牢中,等待复仇的时机。\n你不知道这次又会有怎样的危机需要应对。\n但你感觉到这次的冒险绝对与其他时期有所不同。\n开启本挑战时支离破碎和缩餐节食将无法生成与使用。
challenges.cs=挑战(占位符)
challenges.cs_desc=这并不是挑战,请忽略不计。

View File

@ -450,3 +450,8 @@ windows.wndstory.dmzero=你所经历的一切不过是地牢曾经记忆的投
windows.wndstory.end=时间在此停滞。\n\n在这个极度扭曲的空间中DM-ZERO,被未知生物侵占后的极具威胁的机器,伫立在你的前方。\n\n那是一座铁城镇压着无法流淌的时间。
windows.wndgameinprogress.dlc=娱乐
windows.wnddlc.title=娱乐模式
conducts.null=什么都不选择
conducts.bossrush=首领对决
conducts.bossrush_desc=被你击败过多次的首领们熟识了英雄的技能,并掌握了一定的对策。它们盘踞在地牢中,等待复仇的时机。\n-你不知道这次又会有怎样的危机需要应对。\n-但你感觉到这次的冒险绝对与其他时期有所不同。\n-娱乐模式仅可选择一种模式游玩。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -332,6 +332,8 @@ public class Assets {
public static final String DKGirl = "Npcs/DKGirl.png";
public static final String LanFire = "sprites/npc/lanfire.png";
public static final String SAESD = "sprites/bluedragon.png";
public static final String WHITE = "Npcs/White.png";
@ -410,5 +412,7 @@ public class Assets {
public static final String NINJA_LOG= "sprites/ninja_log.png";
public static final String SPIRIT_HAWK= "sprites/spirit_hawk.png";
public static final String RED_SENTRY= "sprites/red_sentry.png";
}
public static final String SWORDLING= "Boss/swordling.png";
}
}

View File

@ -17,7 +17,7 @@ public class BGMPlayer {
int d = depth;
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
if (d == -1) {
Music.INSTANCE.play(Assets.SNOWCYON, true);
}else if (d == 0||d==27) {
@ -103,7 +103,7 @@ public class BGMPlayer {
public static void playBoss() {
int t = depth;
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
switch (depth){
case 2:
Music.INSTANCE.play(Assets.BGM_BOSSA, true);

View File

@ -0,0 +1,96 @@
package com.shatteredpixel.shatteredpixeldungeon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.watabou.utils.Bundlable;
import com.watabou.utils.Bundle;
import java.util.ArrayList;
import java.util.Arrays;
public class Conducts {
public enum Conduct {
NULL,
BOSSRUSH(1.2f);
public float scoreMod;
Conduct(){
scoreMod = 1f;
}
Conduct(float scoreMod){
this.scoreMod = scoreMod;
}
@Override
public String toString() {
return Messages.get(Conducts.class, this.name());
}
public String desc(){
return Messages.get(Conducts.class, name() + "_desc");
}
}
public static class ConductStorage implements Bundlable {
public ArrayList<Conduct> conducts;
public ConductStorage() {
conducts = new ArrayList<>();
}
public ConductStorage(Conduct... conducts) {this.conducts = new ArrayList<>(Arrays.asList(conducts));}
public ConductStorage(ConductStorage storage) {this.conducts = new ArrayList<>(storage.conducts);}
@Override
public void storeInBundle(Bundle bundle) {
ArrayList<String> conductIds = new ArrayList<>();
for (Conduct conduct: conducts){
conductIds.add(conduct.name());
}
bundle.put("conduct", conductIds.toArray(new String[0]));
}
@Override
public void restoreFromBundle(Bundle bundle) {
conducts.clear();
if (bundle.getStringArray("conduct") != null) {
String[] conductIds = bundle.getStringArray("conduct");
for (String conduct : conductIds) {
conducts.add(Conduct.valueOf(conduct));
}
}
}
public String getDebugString(){
if (conducts.isEmpty()){
return "NULL";
}
StringBuilder str = new StringBuilder();
for (Conduct conduct : conducts){
str.append(conduct.name()).append(",");
}
str.delete(str.length() - 1, str.length());
return str.toString();
}
public boolean isConductedAtAll(){
return !conducts.isEmpty();
}
public boolean oneConduct(){
return conducts.size() == 1;
}
public boolean isConducted(Conduct mask){
return isConductedAtAll() && conducts.contains(mask);
}
public Conduct getFirst(){
if (isConductedAtAll()) return conducts.get(0);
return null;
}
}
}

View File

@ -9,10 +9,11 @@ public class DLC {
public static final String[] NAME_IDS = {
"bossrush",
"kling"
};
public static final int[] MASKS = {
BOSSRUSH
BOSSRUSH,BACKGO
};
public String name;

View File

@ -0,0 +1,92 @@
package com.shatteredpixel.shatteredpixeldungeon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
//难度系统
public enum Difficulty {
EASY,
MEDIUM,
HARD
// IMPOSSIBLE
{
@Override
public boolean isUnlocked() {
return Badges.isUnlocked(Badges.Badge.VICTORY_ALL_CLASSES);
}
};
public boolean isUnlocked() {
return true;
}
public float mobHealthFactor() {
switch (this) {
case EASY:
return 2/3f;
case MEDIUM: default:
return 1f;
case HARD:
return 1 + 1/3f;
// case IMPOSSIBLE:
// return 2f;
}
}
public float mobDamageFactor() {
switch (this) {
case EASY:
return 0.5f;
case MEDIUM: default:
return 1f;
case HARD:
return 1.5f;
// case IMPOSSIBLE:
// return 2f;
}
}
public float moraleFactor() {
switch (this) {
case EASY:
return 2/3f;
case MEDIUM: default:
return 1f;
case HARD:
return 1 + 1/3f;
// case IMPOSSIBLE:
// return 2f;
}
}
public int degradationAmount() {
switch (this) {
case EASY://Easy = 3 drop in durability per hit (200 hits until break)
return 3;
case MEDIUM: default://Medium = 6 drop in durability per hit (100 hits until break)
return 6;
case HARD://Hard = 12 drop in durability per hit (83 hits until break)
return 12;
// case IMPOSSIBLE:
// return 20;//Impossible = 20 drop in durability per hit (50 hits until break)
}
}
public static Difficulty fromInt(int diff) {
switch (diff) {
case 1:
return EASY;
case 2: default:
return MEDIUM;
case 3:
return HARD;
// case 4:
// return IMPOSSIBLE;
}
}
public String title() {
return Messages.get(Difficulty.class, name());
}
}

View File

@ -21,7 +21,6 @@
package com.shatteredpixel.shatteredpixeldungeon;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass.ROGUE;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
@ -240,7 +239,7 @@ public class Dungeon {
public static int challenges;
public static int dlcs;
public static Conducts.ConductStorage dlcs;
public static int mobsToChampion;
public static int mobsToStateLing;
@ -266,7 +265,7 @@ public class Dungeon {
version = Game.versionCode;
challenges = SPDSettings.challenges();
dlcs = SPDSettings.dlc();
dlcs = new Conducts.ConductStorage(SPDSettings.dlc());
mobsToChampion = -1;
mobsToStateLing = -1;
@ -333,8 +332,8 @@ public class Dungeon {
return (challenges & mask) != 0;
}
public static boolean isDLC( int mask ) {
return (dlcs & mask) != 0;
public static boolean isDLC(Conducts.Conduct mask ) {
return dlcs.isConducted(mask);
}
public static Level newLevel() {
@ -354,7 +353,7 @@ public class Dungeon {
}
Level level;
if (Dungeon.isDLC(BOSSRUSH)) {
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
switch (depth) {
case 17: case 27:case 0:
level = new AncityLevel();
@ -397,6 +396,7 @@ public class Dungeon {
case 22:case 23:
level = new CityLevel();
break;
//TODO FIXED LIST:矮人将军那里用没祝福的十字架复活,Boss会消失不见
case 25:
level = new DwarfMasterBossLevel();
break;
@ -818,7 +818,7 @@ public class Dungeon {
QuickSlotButton.reset();
Dungeon.challenges = bundle.getInt( CHALLENGES );
Dungeon.dlcs = bundle.getInt( DLCS);
dlcs.restoreFromBundle(bundle);
Dungeon.mobsToChampion = bundle.getInt( MOBS_TO_CHAMPION );
Dungeon.mobsToStateLing = bundle.getInt( MOBS_TO_STATELING );
@ -945,6 +945,7 @@ public class Dungeon {
info.depth = bundle.getInt( DEPTH );
info.version = bundle.getInt( VERSION );
info.challenges = bundle.getInt( CHALLENGES );
Hero.preview( info, bundle.getBundle( HERO ) );
Statistics.preview( info, bundle );
}

View File

@ -28,6 +28,8 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.watabou.noosa.Game;
import com.watabou.noosa.audio.Music;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundlable;
import com.watabou.utils.Bundle;
import com.watabou.utils.DeviceCompat;
import com.watabou.utils.GameSettings;
import com.watabou.utils.Point;
@ -206,7 +208,7 @@ public class SPDSettings extends GameSettings {
}
//Interface
public static final String KEY_ONE_CONDUCT = "one_conduct";
public static final String KEY_FPSLIMIT = "fpslimit";
public static final String KEY_UI_SIZE = "full_ui";
@ -285,12 +287,37 @@ public class SPDSettings extends GameSettings {
return getInt( KEY_CHALLENGES, 0, 0, Challenges.MAX_VALUE );
}
public static void dlc( int value ) {
put( KEY_DLC, value );
public static void dlc( Conducts.ConductStorage value ) {
put( KEY_DLC, value);
}
public static int dlc() {
return getInt( KEY_DLC, 0, 0, Challenges.MAX_VALUE );
private static final String BUNDLABLE="b";
public static <T extends Bundlable> T getBundlable(String key, T defValue){
try {
Bundle b = Bundle.fromString(getString(key,""));
return (T)b.get(BUNDLABLE);
} catch (Exception e) {
return defValue;
}
}
public static void put( String key, Bundlable value ) {
Bundle b = new Bundle();
b.put(BUNDLABLE,value);
put(key,b.toString());
}
public static Conducts.ConductStorage dlc() {
return getBundlable(KEY_DLC, new Conducts.ConductStorage());
}
public static boolean oneConduct() {return getBoolean(KEY_ONE_CONDUCT, true);}
public static void oneConduct(boolean value){
put(KEY_ONE_CONDUCT, value);
}
public static void supportNagged( boolean value ) {

View File

@ -83,6 +83,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental;
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.AntiMagic;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Potential;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfMight;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCleansing;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRetribution;
@ -272,7 +273,25 @@ public abstract class Char extends Actor {
protected static final String TAG_HT = "HT";
protected static final String TAG_SHLD = "SHLD";
protected static final String BUFFS = "buffs";
//Hard System
public void updateHT(boolean boostHP) {
int curHT = HT;
//float multiplier = RingOfPower.HTMultiplier(this);
//HT = Math.round(multiplier * HT);
if (buff(ElixirOfMight.HTBoost.class) != null) {
HT += buff(ElixirOfMight.HTBoost.class).boost();
}
if (boostHP) {
HP += Math.max(HT - curHT, 0);
}
HP = Math.min(HP, HT);
}
@Override
public void storeInBundle( Bundle bundle ) {

View File

@ -21,30 +21,14 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.blobs;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator.Category;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog;
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes.Landmark;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant;
import com.watabou.utils.Random;
import com.watabou.utils.Reflection;
public class WaterOfTransmutation extends WellWater {

View File

@ -21,6 +21,8 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
import static com.watabou.utils.Random.NormalFloat;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.effects.Splash;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -29,8 +31,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.utils.Bundle;
import com.watabou.utils.PointF;
import static com.watabou.utils.Random.NormalFloat;
public class Bleeding extends Buff {
{

View File

@ -24,7 +24,6 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.AQUAPHOBIA;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.DHXD;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import static com.shatteredpixel.shatteredpixeldungeon.SPDSettings.HelpSettings;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.lanterfireactive;
@ -35,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Bones;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
@ -1227,7 +1227,7 @@ public class Hero extends Char {
//TODO this is slightly brittle, it assumes there are no disjointed sets of exit tiles
} else if ((Dungeon.level.map[pos] == Terrain.EXIT || Dungeon.level.map[pos] == Terrain.UNLOCKED_EXIT)) {
if (Dungeon.depth == 0 && !tipsgodungeon && !Dungeon.isDLC(BOSSRUSH)) {
if (Dungeon.depth == 0 && !tipsgodungeon && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
if (!tipsgodungeon) {
Game.runOnRenderThread(new Callback() {
@ -1727,7 +1727,7 @@ public class Hero extends Char {
curAction = new HeroAction.Unlock( cell );
} else if ((cell == Dungeon.level.exit || Dungeon.level.map[cell] == Terrain.EXIT || Dungeon.level.map[cell] == Terrain.UNLOCKED_EXIT && Dungeon.isDLC(BOSSRUSH))
} else if ((cell == Dungeon.level.exit || Dungeon.level.map[cell] == Terrain.EXIT || Dungeon.level.map[cell] == Terrain.UNLOCKED_EXIT && Dungeon.isDLC(Conducts.Conduct.BOSSRUSH))
&& Dungeon.depth < 30) {
curAction = new HeroAction.Descend( cell );

View File

@ -21,11 +21,10 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.hero;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
@ -171,7 +170,7 @@ public enum HeroClass {
new PotionOfExperience().quantity(2).identify().collect();
}
if ( Dungeon.isDLC(BOSSRUSH)){
if ( Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
Dungeon.gold += 3000;
new Amulet().quantity(1).identify().collect();
}

View File

@ -35,7 +35,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Rat;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;

View File

@ -25,15 +25,10 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Freezing;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.BlobImmunity;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
@ -45,7 +40,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.BatSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.MobSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;

View File

@ -26,19 +26,14 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.huntress.SpiritHawk;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.DirectableAlly;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.MirrorImage;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.SmokeParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.levels.CityLevel;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
@ -50,7 +45,6 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.TextureFilm;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.particles.Emitter;
import com.watabou.noosa.tweeners.AlphaTweener;
import com.watabou.noosa.tweeners.Tweener;
import com.watabou.utils.Bundle;
import com.watabou.utils.PathFinder;

View File

@ -33,7 +33,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbility;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClassArmor;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;

View File

@ -22,8 +22,8 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.RLPT;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.watabou.utils.Random;
@ -42,7 +42,7 @@ public class Bestiary {
//支离破碎
private static ArrayList<Class<? extends Mob>> standardMobRotation(int i) {
if (Dungeon.isChallenged(RLPT) && !Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isChallenged(RLPT) && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
switch (i) {
case 1:
//3x rat, 1x snake
@ -264,13 +264,13 @@ public class Bestiary {
Eye.class,ShieldHuntsman.class,Ice_Scorpio.class));
case 22:
//3x succubus, 3x evil eye
return Dungeon.isDLC(BOSSRUSH) ? new ArrayList<>(Arrays.asList(
return Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ? new ArrayList<>(Arrays.asList(
Eye.class,ShieldHuntsman.class,Ice_Scorpio.class,RedMurderer.class,MolotovHuntsman.class)) :
new ArrayList<>(Arrays.asList(
Eye.class,ShieldHuntsman.class,Ice_Scorpio.class));
case 23:
//1x: succubus, 2x evil eye, 3x scorpio
return Dungeon.isDLC(BOSSRUSH) ? new ArrayList<>(Arrays.asList(
return Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ? new ArrayList<>(Arrays.asList(
Eye.class,ShieldHuntsman.class,Fire_Scorpio.class,Ice_Scorpio.class,RedMurderer.class,
MolotovHuntsman.class)) :
new ArrayList<>(Arrays.asList(

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;

View File

@ -28,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.ConeAOE;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.DM200Sprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;

View File

@ -1,9 +1,8 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Boss;
@ -38,8 +37,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Viscosity;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfBlueFuck;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFireblast;
import com.shatteredpixel.shatteredpixeldungeon.levels.DimandKingLevel;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -496,7 +493,7 @@ public class DimandKing extends Boss {
@Override
public void die(Object cause) {
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}
@ -525,27 +522,15 @@ public class DimandKing extends Boss {
dropPos = pos + Dungeon.level.width();
}
WandOfFireblast woc = new WandOfFireblast();
woc.level(3);
woc.identify();
WandOfBlueFuck fire = new WandOfBlueFuck();
fire.level(1);
fire.identify();
if(drop<5) {
Dungeon.level.drop(woc, dropPos).sprite.drop();
}else {
Dungeon.level.drop(fire, dropPos).sprite.drop();
}
//Dungeon.level.drop(new KingsCrown(), dropPos).sprite.drop();
Dungeon.level.drop(new ScrollOfRecharging().quantity(3), dropPos).sprite.drop(pos);
Dungeon.level.drop(new ScrollOfRecharging().quantity(2), dropPos).sprite.drop(pos);
Ankh ankh = new Ankh();
ankh.bless();
Dungeon.level.drop(new Ankh(), dropPos).sprite.drop(pos);
Dungeon.level.drop(new Gold().quantity(Random.Int(2200, 5500)), pos).sprite.drop();
Dungeon.level.drop(new Gold().quantity(Random.Int(400,900)), pos).sprite.drop();
Badges.validateBossSlain();
Badges.KILL_DMK();
//Badges.KILL_DMK();
Dungeon.level.unseal();
for (Mob m : getSubjects()){

View File

@ -22,11 +22,10 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -495,7 +494,7 @@ public class DwarfKing extends Mob {
@Override
public void die(Object cause) {
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -21,10 +21,9 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -50,7 +49,7 @@ import com.watabou.utils.Random;
public class Goo extends Mob {
{
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
HP = HT = 180;
} else {
HP = HT = Dungeon.isChallenged(Challenges.STRONGER_BOSSES) ? 120 : 100;

View File

@ -1,10 +1,10 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.SpellCaster;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
@ -372,7 +372,7 @@ public class MagicGirlDead extends Boss {
public void die(Object src){
super.die(src);
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -96,6 +96,20 @@ public abstract class Mob extends Char {
}
public ArrayList<Item> items;
//TODO LIST
@Override
public void updateHT(boolean boostHP) {
// HP = HT = (int) (normalHP(level) * healthFactor);
// HP = HT *= Dungeon.difficulty.mobHealthFactor() * CustomGame.Modifier.MOB_HP_FACTOR.getLocal();
// //Bosses (obviously) have higher HP
if (properties().contains(Property.BOSS)) {
HP = HT *= 5;
} else if (properties().contains(Property.MINIBOSS)) {
HP = HT *= 2;
}
super.updateHT(boostHP);
}
//Boss Rush 掉落规则
public void GetBossLoot(){
int flakes = Random.chances(new float[]{0, 0, 6, 3, 1});

View File

@ -21,12 +21,12 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -516,7 +516,7 @@ public class NewDM300 extends Mob {
public void die( Object cause ) {
super.die( cause );
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -527,7 +527,7 @@ public class NewDM720 extends MolotovHuntsman {
@Override
public void die( Object cause ) {
// if(Dungeon.isDLC(BOSSRUSH)){
// if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
// GetBossLoot();
// }
super.die(cause);

View File

@ -3,8 +3,6 @@
//
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;

View File

@ -21,11 +21,11 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -111,7 +111,7 @@ public class SlimeKing extends Mob {
}
{
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
HP =190;
HT= 190;
@ -331,7 +331,7 @@ public class SlimeKing extends Mob {
} while (!Dungeon.level.passable[pos + ofs]);
Dungeon.level.drop( new GooBlob(), pos + ofs ).sprite.drop( pos );
}
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -27,11 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionEnemy;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.effects.Pushing;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.NecromancerSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.SpectralNecromancerSprite;
import com.watabou.utils.Bundle;
import com.watabou.utils.PathFinder;

View File

@ -4,11 +4,11 @@ import static com.shatteredpixel.shatteredpixeldungeon.Challenges.AQUAPHOBIA;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.EXSG;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.RLPT;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.SBSG;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
@ -479,7 +479,7 @@ public class YogReal extends Boss {
actScanning();
actSummon();
actDestroy();
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -1,6 +1,5 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.crivusfruitslevel2;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.BRatKingRoom;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.ForestBossLasherTWOPos;
@ -10,6 +9,7 @@ import static com.shatteredpixel.shatteredpixeldungeon.levels.Level.set;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -267,7 +267,7 @@ public class CrivusFruits extends Mob {
Dungeon.level.drop( new CrivusFruitsFlake(), pos + ofs ).sprite.drop( pos );
}
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -1,10 +1,10 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Boss;
@ -106,6 +106,7 @@ import java.util.ArrayList;
import java.util.HashSet;
public class DwarfMaster extends Boss {
{
initProperty();
initBaseStatus(3, 8, 14, 10, 800, 0, 2);
@ -1612,7 +1613,7 @@ public class DwarfMaster extends Boss {
mob.die( cause );
}
}
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -1,6 +1,5 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ShopBossLevel.CryStalPosition;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ShopBossLevel.FALSEPosition;
@ -8,6 +7,7 @@ import static com.shatteredpixel.shatteredpixeldungeon.levels.ShopBossLevel.TRUE
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -738,7 +738,7 @@ public class FireMagicDied extends Mob implements Callback {
@Override
public void die( Object cause ) {
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GetBossLoot();
}

View File

@ -21,11 +21,11 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -139,7 +139,7 @@ public class Ghost extends NPC {
GameScene.show(new WndQuest(Ghost.this, Messages.get(Ghost.this, "rat_2")));
break;
case 2:
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
GameScene.show(new WndQuest(Ghost.this, Messages.get(Ghost.this, "agnoll_2")));
} else {
GameScene.show(new WndQuest(Ghost.this, Messages.get(Ghost.this, "gnoll_2")));

View File

@ -0,0 +1,11 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
import com.shatteredpixel.shatteredpixeldungeon.sprites.LanFireSprites;
public class LanFire extends NPC {
{
spriteClass = LanFireSprites.class;
properties.add(Property.BOSS);
properties.add(Property.IMMOVABLE);
}
}

View File

@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;

View File

@ -1,8 +1,7 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
@ -45,7 +44,7 @@ public class NullDiedTO extends NTNPC {
}
@Override
public String name(){
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
return Messages.get(this, "namex");
} else {
return Messages.get(this, "name");
@ -55,7 +54,7 @@ public class NullDiedTO extends NTNPC {
@Override
public String description(){
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
return Messages.get(this, "descx");
} else {
return Messages.get(this, "desc");
@ -152,7 +151,7 @@ public class NullDiedTO extends NTNPC {
WndQuest.chating(this,chat);
first=false;
}else {
if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth == 28){
if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth == 28){
GLog.n("冒险家,快通过水晶之心离开这里吧……");
} else {
Game.runOnRenderThread(new Callback() {
@ -173,20 +172,20 @@ public class NullDiedTO extends NTNPC {
chat = new ArrayList<String>() {
{
if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth==0) {
if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth==0) {
add(Messages.get(NullDiedTO.class, "talk_a"));
add(Messages.get(NullDiedTO.class, "talk_b"));
add(Messages.get(NullDiedTO.class, "talk_c"));
add(Messages.get(NullDiedTO.class, "talk_d"));
add(Messages.get(NullDiedTO.class, "talk_e"));
add(Messages.get(NullDiedTO.class, "talk_f"));
} else if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth==17) {
} else if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth==17) {
add(Messages.get(NullDiedTO.class, "talk_g"));
add(Messages.get(NullDiedTO.class, "talk_h"));
} else if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth==27) {
} else if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth==27) {
add(Messages.get(NullDiedTO.class, "talk_i"));
add(Messages.get(NullDiedTO.class, "talk_j"));
} else if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth==28) {
} else if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth==28) {
add(Messages.get(NullDiedTO.class, "talk_k"));
add(Messages.get(NullDiedTO.class, "talk_l"));
add(Messages.get(NullDiedTO.class, "talk_m"));

View File

@ -1,8 +1,7 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
@ -43,7 +42,7 @@ public class Nyz extends NPC {
if (!seenBefore && Dungeon.level.heroFOV[pos]) {
GLog.p(Messages.get(this, "greetings", Dungeon.hero.name()));
//TODO 诡异奈亚子 早上好 中午好 晚上好
if(!Dungeon.isDLC(BOSSRUSH)){
if(!Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
Music.INSTANCE.play(Assets.NYZSHOP, true);
}
seenBefore = true;

View File

@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.PrismaticGuard;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;

View File

@ -2,7 +2,6 @@ package com.shatteredpixel.shatteredpixeldungeon.custom.buffs;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.watabou.utils.Callback;
//It's called char, but it serves for buffs, not chars.

View File

@ -0,0 +1,42 @@
package com.shatteredpixel.shatteredpixeldungeon.effects.particles;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.particles.Emitter;
import com.watabou.noosa.particles.PixelParticle;
public class SmokeFlameParticle extends PixelParticle.Shrinking {
public static final Emitter.Factory FACTORY = new Emitter.Factory() {
@Override
public void emit( Emitter emitter, int index, float x, float y ) {
((SmokeFlameParticle)emitter.recycle( SmokeFlameParticle.class )).reset( x, y );
}
};
public SmokeFlameParticle() {
super();
color(Window.GDX_COLOR);
lifespan = 0.6f;
acc.set( 0, -80 );
}
public void reset( float x, float y ) {
revive();
this.x = x;
this.y = y;
left = lifespan;
size = 2;
speed.set( 0 );
}
@Override
public void update() {
super.update();
float p = left / lifespan;
am = p > 0.8f ? (1 - p) * 5 : 1;
}
}

View File

@ -21,16 +21,17 @@
package com.shatteredpixel.shatteredpixeldungeon.items;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.GamesInProgress;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.scenes.AmuletScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.SurfaceScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.noosa.Game;
@ -53,7 +54,7 @@ public class Amulet extends Item {
ArrayList<String> actions = super.actions( hero );
actions.add( AC_END );
return actions;
} else if(Dungeon.isDLC(BOSSRUSH) && Dungeon.depth !=27 ){
} else if(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) && Dungeon.depth !=27 ){
return new ArrayList<>(); //yup, no dropping this one
} else {
ArrayList<String> actions = super.actions( hero );
@ -68,14 +69,19 @@ public class Amulet extends Item {
super.execute( hero, action );
if (action.equals(AC_END)) {
if (action.equals(AC_END) && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
showAmuletScene( false );
} else {
Badges.silentValidateHappyEnd();
Dungeon.win(Amulet.class);
Dungeon.deleteGame(GamesInProgress.curSlot, true);
Game.switchScene(SurfaceScene.class);
}
}
@Override
public boolean doPickUp(Hero hero, int pos) {
if (super.doPickUp( hero, pos ) && !Dungeon.isDLC(BOSSRUSH) ) {
if (super.doPickUp( hero, pos ) && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ) {
if (!Statistics.amuletObtained) {
Statistics.amuletObtained = true;

View File

@ -21,10 +21,9 @@
package com.shatteredpixel.shatteredpixeldungeon.items;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
@ -87,7 +86,7 @@ public class Gold extends Item {
@Override
public Item random() {
quantity = Dungeon.isDLC(BOSSRUSH) ? Random.Int( 130 + Dungeon.depth * 3, 160 + Dungeon.depth * 5 ) :
quantity = Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ? Random.Int( 130 + Dungeon.depth * 3, 160 + Dungeon.depth * 5 ) :
Random.Int( 30 + Dungeon.depth * 10, 60 + Dungeon.depth * 20 );
return this;
}

View File

@ -31,7 +31,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.MissileWeapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.TippedDart;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;

View File

@ -28,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Enchanting;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PurpleParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;

View File

@ -30,7 +30,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbili
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTileSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndChooseAbility;
import com.watabou.utils.Bundle;

View File

@ -24,8 +24,6 @@ package com.shatteredpixel.shatteredpixeldungeon.items.artifacts;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.AlchemyScene;

View File

@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;

View File

@ -37,17 +37,14 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Shopkeeper;
import com.shatteredpixel.shatteredpixeldungeon.effects.Surprise;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.CellSelector;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Bundle;
import com.watabou.utils.Callback;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
import java.util.ArrayList;

View File

@ -38,7 +38,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;

View File

@ -28,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barkskin;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;

View File

@ -23,21 +23,14 @@ package com.shatteredpixel.shatteredpixeldungeon.items.food;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.EXSG;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Haste;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.effects.SpellSprite;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
public class SmallRation extends Food {

View File

@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Freezing;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;

View File

@ -37,7 +37,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.UnstableSpellboo
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfAntiMagic;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfFear;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAggression;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlast;
@ -46,6 +45,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfClairvoyance
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDeepSleep;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDisarming;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfEnchantment;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfFear;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfFlock;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfIntuition;
import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfShock;

View File

@ -24,11 +24,9 @@ package com.shatteredpixel.shatteredpixeldungeon.items.scrolls;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.effects.Identification;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
public class ScrollOfIdentify extends InventoryScroll {

View File

@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.items.scrolls;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.QuickSlot;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting;
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;

View File

@ -28,10 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ChallengeParticle;
import com.shatteredpixel.shatteredpixeldungeon.levels.RegularLevel;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.connection.ConnectionRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.StandardRoom;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.ShadowCaster;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
@ -45,7 +41,6 @@ import com.watabou.utils.PathFinder;
import com.watabou.utils.Point;
import java.util.ArrayList;
import java.util.Arrays;
public class ScrollOfChallenge extends ExoticScroll {

View File

@ -39,10 +39,8 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTitledMessage;
import com.watabou.noosa.audio.Sample;

View File

@ -22,7 +22,6 @@
package com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;

View File

@ -23,21 +23,16 @@ package com.shatteredpixel.shatteredpixeldungeon.items.spells;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Shopkeeper;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.AlchemyScene;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndEnergizeItem;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndImp;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndInfoItem;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
import com.watabou.noosa.audio.Sample;

View File

@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TimekeepersHourglass;

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Stone;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.Brew;

View File

@ -27,11 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicalSleep;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.PathFinder;
public class StoneOfDeepSleep extends Runestone {

View File

@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;

View File

@ -21,10 +21,9 @@
package com.shatteredpixel.shatteredpixeldungeon.items.wands;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
@ -146,7 +145,7 @@ public class CursedWand {
//random teleportation
case 2:
if(!Dungeon.isDLC(BOSSRUSH)){
if(!Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
if(Random.Int(2) == 0) {
if (user != null && !user.properties().contains(Char.Property.IMMOVABLE)) {
ScrollOfTeleportation.teleportChar(user);

View File

@ -29,7 +29,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;

View File

@ -28,7 +28,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;

View File

@ -26,7 +26,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Viscosity;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;

View File

@ -21,20 +21,13 @@
package com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments;
import com.shatteredpixel.shatteredpixeldungeon.Badges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AllyBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.PinCushion;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SoulMark;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.watabou.utils.Random;

View File

@ -27,14 +27,11 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.ShadowCaster;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
import java.util.ArrayList;
import java.util.HashMap;
public class DisplacingDart extends TippedDart {

View File

@ -18,7 +18,7 @@ public class AncityLevel extends Level {
64,0,0,4,0,0,0,4,4,4,0,0,0,4,0,0,64,
64,4,4,4,4,4,4,4,17,4,4,4,4,4,4,4,64,
64,0,0,4,0,0,0,4,4,4,0,0,0,4,0,0,64,
64,0,0,4,0,0,4,0,4,0,4,0,0,4,0,0,64,
64,0,0,4,0,0,4,0,83,0,4,0,0,4,0,0,64,
64,0,0,4,0,4,0,0,4,0,0,4,0,4,0,0,64,
64,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,64,
64,0,0,4,0,4,4,4,4,4,4,4,0,4,0,0,64,
@ -57,8 +57,8 @@ public class AncityLevel extends Level {
return Terrain.LOCKED_EXIT;
case 17:
return Dungeon.depth == 27 ? Terrain.CHASM : Terrain.EXIT;
case 98:
return Terrain.STATUE;
case 83:
return Dungeon.depth == 17 || Dungeon.depth == 27 ? Terrain.ENTRANCE : 14;
case 99:
return Terrain.STATUE_SP;
case 20:

View File

@ -21,11 +21,10 @@
package com.shatteredpixel.shatteredpixeldungeon.levels;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Bones;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
@ -560,7 +559,7 @@ public class PrisonBossLevel extends Level {
drop( item, randomRespawnCell( null ) ).setHauntedIfCursed().type = Heap.Type.REMAINS;
}
if(Dungeon.isDLC(BOSSRUSH)){
if (Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) {
drop(new IronKey(8), randomPrisonCellPos());
} else {
drop(new IronKey(10), randomPrisonCellPos());

View File

@ -59,6 +59,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.AutoShopRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.LanFireRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicalFireRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NxhyShopRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NyzBombAndBooksRoom;
@ -272,6 +273,11 @@ public abstract class RegularLevel extends Level {
Buff.affect(hero, AutoRandomBuff.class).set((10), 1);
}
}
if(Dungeon.depth==6){
initRooms.add(new LanFireRoom());
}
return initRooms;
}

View File

@ -85,9 +85,12 @@ public class ShopBossLevel extends Level {
public void unseal() {
super.unseal();
if(Dungeon.depth == 25){
if(Dungeon.depth == 19){
set( this.entrance = WIDTH*17 + 17, Terrain.EXIT );
GameScene.updateMap( this.entrance = WIDTH*17 + 17 );
set( this.entrance = WIDTH*21 + 17, Terrain.ENTRANCE );
GameScene.updateMap( this.entrance = WIDTH*21 + 17 );
} else {
FireMagicDiedNPC boss = new FireMagicDiedNPC();
boss.pos = WIDTH*17 + 17;

View File

@ -21,13 +21,10 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.features;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
@ -43,7 +40,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.Berry;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Random;
public class HighGrass {

View File

@ -23,7 +23,6 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.connection;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
import com.watabou.utils.Point;
import com.watabou.utils.Random;
import com.watabou.utils.Reflection;

View File

@ -32,7 +32,6 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.EmptyRoom;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.EntranceRoom;
import com.watabou.utils.Point;
import com.watabou.utils.Random;

View File

@ -32,7 +32,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.journal.Document;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.RegularLevel;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
import com.watabou.utils.Point;

View File

@ -0,0 +1,41 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.LanFire;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
public class LanFireRoom extends SpecialRoom {
public int minWidth() {
return 5;
}
public int minHeight() {
return 5;
}
public void paint(Level level) {
Painter.fill(level, this, 4);
Painter.fill(level, this, 1, 14);
placeLanFire(level);
for (Room.Door door : this.connected.values()) {
door.set(Door.Type.REGULAR);
}
Door entrance = entrance();
entrance.set( Door.Type.REGULAR );
}
protected void placeLanFire(Level level) {
int pos = level.pointToCell(center());
Mob lanFireNPC = new LanFire();
lanFireNPC.pos = pos;
level.mobs.add(lanFireNPC);
}
}

View File

@ -30,11 +30,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Freezing;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ElmoParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfFrost;
@ -48,7 +46,6 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Point;
import com.watabou.utils.Random;
import com.watabou.utils.Rect;
public class MagicalFireRoom extends SpecialRoom {

View File

@ -49,8 +49,8 @@ import java.util.Iterator;
public class NxhyShopRoom extends SpecialRoom {
private ArrayList<Item> itemsToSpawn;
public NxhyShopRoom() {
}
// public NxhyShopRoom() {
// }
public int minWidth() {
return Math.max(8, (int) (Math.sqrt((double) itemCount()) + 3.0d));

View File

@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;

View File

@ -21,8 +21,7 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Conducts;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
@ -83,7 +82,7 @@ public abstract class SpecialRoom extends Room {
//10 special rooms which give equipment more often than consumables (or as often as)
private static final ArrayList<Class<? extends SpecialRoom>> EQUIP_SPECIALS =
new ArrayList<>( Dungeon.isDLC(BOSSRUSH) ? Arrays.asList(
new ArrayList<>( Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ? Arrays.asList(
CryptRoom.class, PoolRoom.class, ArmoryRoom.class, SentryRoom.class,
StatueRoom.class, CrystalVaultRoom.class, CrystalPathRoom.class, CrystalChoiceRoom.class,
SacrificeRoom.class
@ -189,7 +188,7 @@ public abstract class SpecialRoom extends Room {
Room r = Reflection.newInstance(floorSpecials.get( index ));
if (r instanceof WeakFloorRoom && !Dungeon.isDLC(BOSSRUSH)){
if (r instanceof WeakFloorRoom && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)){
pitNeededDepth = Dungeon.depth + 1;
}

Some files were not shown because too many files have changed in this diff Show More