Update V0.6.1.0-Beta5(S)
|
@ -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) {
|
||||
|
|
|
@ -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() {
|
||||
|
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 939 B |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 22 KiB |
|
@ -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=这并不是挑战,请忽略不计。
|
||||
|
||||
|
|
|
@ -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-娱乐模式仅可选择一种模式游玩。
|
||||
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB |
BIN
core/src/main/assets/sprites/npc/lanfire.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 17 KiB |
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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 );
|
||||
}
|
||||
|
|
|
@ -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 ) {
|
||||
|
|
|
@ -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 ) {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
{
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()){
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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});
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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")));
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|