Fixed More Bug-Beta4.986

This commit is contained in:
LingASDJ 2023-04-02 23:38:23 +08:00
parent e7aa750af0
commit eb0c38ef79
13 changed files with 65 additions and 59 deletions

View File

@ -18,7 +18,7 @@ allprojects {
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
appVersionCode =800150
appVersionName = '0.6.1.0-Beta4.985(P3)'
appVersionName = '0.6.1.0-Beta4.986(P3)'
appJavaCompatibility = JavaVersion.VERSION_1_8

View File

@ -388,17 +388,17 @@ public class Dungeon {
level = new CavesGirlDeadLevel();
break;
case 19:
level = new NewCityBossLevel();
level = new ShopBossLevel();
break;
case 21:
level = new DwarfMasterBossLevel();
level = new NewCityBossLevel();
Buff.affect(hero, TestDwarfMasterLock.class).set((1), 1);
break;
case 22:case 23:
level = new HallsLevel();
level = new CityLevel();
break;
case 25:
level = new ShopBossLevel();
level = new DwarfMasterBossLevel();
break;
case 26:
level = new YogGodHardBossLevel();

View File

@ -1,6 +1,5 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.STRONGER_BOSSES;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
@ -70,7 +69,7 @@ public class DimandKing extends Boss {
initBaseStatus(14, 23, 33, 22, 200, 5, 12);
initStatus(120);
properties.add(Property.UNDEAD);
HP = HT = Dungeon.isChallenged(STRONGER_BOSSES) ? 320 : 250;
HP = HT = 320;
}
private int phase = 1;
@ -355,9 +354,7 @@ public class DimandKing extends Boss {
if (bestPos != enemy.pos) ScrollOfTeleportation.appear(furthest, bestPos);
yell(Messages.get(this, "teleport_" + Random.IntRange(1, 2)));
if(Dungeon.isChallenged(STRONGER_BOSSES)) {
//doYogLasers();
}
return true;
}
return false;
@ -372,18 +369,14 @@ public class DimandKing extends Boss {
}
new Flare(5, 32).color(0xFF6060, false).show(sprite, 1.5f);
yell(Messages.get(this,"buff_all"));
if(Dungeon.isChallenged(STRONGER_BOSSES)) {
//doYogLasers();
}
doYogLasers();
}
private void sacrificeSubject(){
Buff.affect(this, SacrificeSubjectListener.class, 3f);
new Flare(6, 32).color(0xFF22FF, false).show(sprite, 1.5f);
yell(Messages.get(this, "sacrifice"));
if(Dungeon.isChallenged(STRONGER_BOSSES)) {
//doYogLasers();
}
doYogLasers();
}
private void deathRattleSubject(){
@ -401,9 +394,7 @@ public class DimandKing extends Boss {
}
new Flare(7, 32).color(0x303030, false).show(sprite, 1.5f);
yell(Messages.get(this,"death_rattle"));
if(Dungeon.isChallenged(STRONGER_BOSSES)) {
//doYogLasers();
}
doYogLasers();
}
private void extraSummonSubject(){
@ -412,9 +403,7 @@ public class DimandKing extends Boss {
summonSubject(3);
summonsMade++;
yell(Messages.get(this, "more_summon"));
if(Dungeon.isChallenged(STRONGER_BOSSES)) {
//doYogLasers();
}
doYogLasers();
new Flare(4, 32).color(0x4040FF, false).show(sprite, 1.5f);
}
@ -465,8 +454,8 @@ public class DimandKing extends Boss {
int dmgTaken = preHP - HP;
abilityCooldown -= dmgTaken/8f;
summonCooldown -= dmgTaken/8f;
if (HP <= 80) {
HP = 80;
if (HP <= 120) {
HP = 120;
sprite.showStatus(CharSprite.POSITIVE, Messages.get(this, "invulnerable"));
ScrollOfTeleportation.appear(this, DimandKingLevel.throne);
properties.add(Property.IMMOVABLE);
@ -898,15 +887,18 @@ public class DimandKing extends Boss {
summonSubject(2, DKGhoul.class);
summonSubject(3, DKGhoul.class);
++wave;
doYogLasers();
spend(TICK*9);
}else if(wave == 1){
summonSubject(1, DKGhoul.class);
summonSubject(5, DKMonk.class);
++wave;
doYogLasers();
spend(TICK*12);
}else if(wave == 2){
summonSubject(1, DKGhoul.class);
summonSubject(2, DKWarlock.class);
doYogLasers();
summonSubject(6, DKGhoul.class);
summonSubject(6, DKGhoul.class);
++wave;
@ -919,6 +911,7 @@ public class DimandKing extends Boss {
summonSubject(11, DKMonk.class);
summonSubject(5, OGPDZSLS.class);
summonSubject(7, SRPDHBLR.class);
doYogLasers();
++wave;
spend(TICK*15);
}else if(wave == 4){
@ -928,6 +921,7 @@ public class DimandKing extends Boss {
summonSubject(2, DKGhoul.class);
summonSubject(5, OGPDZSLS.class);
summonSubject(7, SRPDHBLR.class);
doYogLasers();
summonSubject(5, DM100.class);
++wave;
spend(TICK*14);
@ -939,6 +933,7 @@ public class DimandKing extends Boss {
summonSubject(8, DKMonk.class);
summonSubject(2, DKGhoul.class);
summonSubject(5, OGPDZSLS.class);
doYogLasers();
summonSubject(7, SRPDHBLR.class);
summonSubject(5, DM100.class);
++wave;
@ -948,6 +943,7 @@ public class DimandKing extends Boss {
summonSubject(3, DKMonk.class);
summonSubject(3, DKMonk.class);
summonSubject(3, DKWarlock.class);
doYogLasers();
summonSubject(2, DKGhoul.class);
summonSubject(5, OGPDZSLS.class);
summonSubject(7, SRPDHBLR.class);
@ -960,6 +956,7 @@ public class DimandKing extends Boss {
++wave;
spend(TICK*12);
}else{
doYogLasers();
//only need to kill one.
summonSubject(3, DKWarlock.class);
spend(TICK);

View File

@ -122,11 +122,6 @@ public abstract class Mob extends Char {
break;
}
}
if(Dungeon.depth>=10){
Dungeon.level.drop( ( Generator.randomArtifact() ), pos );
}
Dungeon.level.drop( new Food(), pos ).sprite.drop();
Dungeon.level.drop( new PotionOfExperience(), pos ).sprite.drop();
Dungeon.level.drop( ( new Gold().random() ), pos );

View File

@ -21,8 +21,6 @@
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.Dungeon;
@ -529,10 +527,9 @@ public class NewDM720 extends MolotovHuntsman {
@Override
public void die( Object cause ) {
if(Dungeon.isDLC(BOSSRUSH)){
GetBossLoot();
}
// if(Dungeon.isDLC(BOSSRUSH)){
// GetBossLoot();
// }
super.die(cause);
Badges.validateBossSlain();
Badges.KILLSDM720();

View File

@ -730,6 +730,4 @@ public class DMZERO extends Mob
}
}
}
}
}

View File

@ -21,6 +21,8 @@
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.Dungeon;
@ -38,7 +40,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Recharging;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.mage.WarpBeacon;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.GoldenMimic;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mimic;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
@ -145,21 +146,24 @@ public class CursedWand {
//random teleportation
case 2:
if(Random.Int(2) == 0) {
if (user != null && !user.properties().contains(Char.Property.IMMOVABLE)) {
ScrollOfTeleportation.teleportChar(user);
if(!Dungeon.isDLC(BOSSRUSH)){
if(Random.Int(2) == 0) {
if (user != null && !user.properties().contains(Char.Property.IMMOVABLE)) {
ScrollOfTeleportation.teleportChar(user);
} else {
return cursedEffect(origin, user, targetPos);
}
} else {
return cursedEffect(origin, user, targetPos);
}
} else {
Char ch = Actor.findChar( targetPos );
if (ch != null && !ch.properties().contains(Char.Property.IMMOVABLE)) {
ScrollOfTeleportation.teleportChar(ch);
tryForWandProc(ch, origin);
} else {
return cursedEffect(origin, user, targetPos);
Char ch = Actor.findChar( targetPos );
if (ch != null && !ch.properties().contains(Char.Property.IMMOVABLE)) {
ScrollOfTeleportation.teleportChar(ch);
tryForWandProc(ch, origin);
} else {
return cursedEffect(origin, user, targetPos);
}
}
}
//
return true;
//random gas at location

View File

@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionHero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.NewDM720;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.OldDM300;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.PylonCS;
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
@ -801,7 +802,7 @@ public class CaveTwoBossLevel extends Level {
if (c instanceof PylonCS && c.alignment != Char.Alignment.NEUTRAL){
energySourceSprite = c.sprite;
break;
} else if (c instanceof NewDM720){
} else if (c instanceof OldDM300){
energySourceSprite = c.sprite;
}
}

View File

@ -108,6 +108,7 @@ public class LinkLevel extends Level {
vis.pos = (this.width + 43);
mobs.add(vis);
//第一个i是初始值第二个i是条件范围值第三个是循环方式这里是每次+2
for (int i = 20; i < 25; i+=2){
ColdGurad x = new ColdGurad();
x.pos = (this.width * i + 10);

View File

@ -230,7 +230,7 @@ public abstract class RegularLevel extends Level {
initRooms.add(new ShopRoom());
if (Dungeon.aqiLevel() && (Dungeon.isChallenged(AQUAPHOBIA)))
initRooms.add(new AquariumRoom());
initRooms.add(new AquariumRoom());
if (Dungeon.NxhyshopOnLevel()) {
initRooms.add(new NxhyShopRoom());

View File

@ -21,6 +21,8 @@
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
import static com.shatteredpixel.shatteredpixeldungeon.DLC.BOSSRUSH;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
@ -80,7 +82,13 @@ 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<>( Arrays.asList(
private static final ArrayList<Class<? extends SpecialRoom>> EQUIP_SPECIALS =
new ArrayList<>( Dungeon.isDLC(BOSSRUSH) ? Arrays.asList(
CryptRoom.class, PoolRoom.class, ArmoryRoom.class, SentryRoom.class,
StatueRoom.class, CrystalVaultRoom.class, CrystalPathRoom.class, CrystalChoiceRoom.class,
SacrificeRoom.class
) :
Arrays.asList(
WeakFloorRoom.class, CryptRoom.class, PoolRoom.class, ArmoryRoom.class, SentryRoom.class,
StatueRoom.class, CrystalVaultRoom.class, CrystalPathRoom.class, CrystalChoiceRoom.class,
SacrificeRoom.class
@ -181,7 +189,7 @@ public abstract class SpecialRoom extends Room {
Room r = Reflection.newInstance(floorSpecials.get( index ));
if (r instanceof WeakFloorRoom){
if (r instanceof WeakFloorRoom && !Dungeon.isDLC(BOSSRUSH)){
pitNeededDepth = Dungeon.depth + 1;
}

View File

@ -473,13 +473,13 @@ public class GameScene extends PixelScene {
WndStory.showChapter(WndStory.ID_ICES);
break;
case 19:
WndStory.showChapter(WndStory.ID_DKKX);
WndStory.showChapter(WndStory.ID_FBXA);
break;
case 21:
WndStory.showChapter(WndStory.ID_LXKS);
WndStory.showChapter(WndStory.ID_DKKX);
break;
case 25:
WndStory.showChapter(WndStory.ID_FBXA);
WndStory.showChapter(WndStory.ID_LXKS);
break;
case 26:
WndStory.showChapter(WndStory.ID_ZTBS);

View File

@ -77,7 +77,7 @@ public class vM0_6_7_X_Changes {
}
public static void add_v0_6_28_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.1.0-Beta4.975-985(P3)", true, "");
ChangeInfo changes = new ChangeInfo("v0.6.1.0-Beta4.975-986(P3)", true, "");
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
@ -85,6 +85,11 @@ public class vM0_6_7_X_Changes {
changes.hardlight(Window.GREEN_COLOR);
changeInfos.add(changes);
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.ARTIFACT_HORN4), ("首领对决V1.6"),
("1.部分Boss发生了改变19层火魔女21层矮人国王25层矮人将军\n" +
"2.现在不会在BR模式生成跳楼房间以及修复了一些Bug\n" +
"3.现在诅咒法杖不会在BR模式中触发传送效果")));
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.ARTIFACT_ROSE3), ("首领对决V1.5"),
("1.现在可以在3层完成幽妹的任务让她和你并肩前行。\n" +
"2.T3补给层现在不会再给予力量药水")));