update p2.925

This commit is contained in:
LingASDJ 2022-12-28 15:40:59 +08:00
parent bbfeb335f0
commit 27349df73c
16 changed files with 85 additions and 61 deletions

View File

@ -16,8 +16,8 @@ allprojects {
appName = 'Magic Ling Pixel Dungeon'
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
appVersionCode =700800
appVersionName = '0.6.0.0-Beta21-p2.910-INDEV'
appVersionCode =700925
appVersionName = '0.6.0.0-Beta21-p2.925-INDEV'
appJavaCompatibility = JavaVersion.VERSION_1_8

View File

@ -1206,7 +1206,7 @@ actors.hero.abilities.ratmogrify$transmograt.rankings_desc=死于:鼠化敌人
actors.hero.hero.name=
actors.hero.hero.leave=现在还不能离去,埋藏在地牢之下的名利正呼唤着你!
actors.hero.hero.leave2=魔法入口已经被关闭了,属于我的试炼已经开始了。\n或许只有拿到传说中的水晶之心我才能回去……
actors.hero.hero.leave2=现在还不能离去,埋藏在地牢之下的名利正呼唤着你!
actors.hero.hero.acs=冒险者,你应该知道地牢的危险,所以我们封印了那里。\n如果你确定要前往地牢的话这个魔法入口会带你进入危机四伏的地牢。\n一旦你准备好了就可以继续前进了\n当然出发所需要的东西带上因为你去了后就不能回头了……

View File

@ -485,5 +485,7 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x37=-P2.910\n1.修复基因突变的
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x38=-P2.920\n1.修复水晶钥匙可能不见的问题\n2.修复一些更小的错误崩溃
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x39=-P2.925\n1.修复红龙之王的极端情况下的崩溃\n2.修复火魔女的三阶段极端情况下的减伤错误导致出现不可预料的更恐怖的突发第四阶段。
//ui.changelist.mlpd.vm0_5_x_changes.xxx//

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -22,7 +22,6 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -68,6 +67,7 @@ public class Dread extends Buff {
target.destroy();
target.sprite.killAndErase();
Dungeon.level.mobs.remove(target);
target.die(true);
} else {
left--;
if (left <= 0){

View File

@ -699,7 +699,7 @@ public class FireMagicDied extends Mob implements Callback {
this.pos = FALSEPosition;
Buff.affect(this, DwarfMaster.DKBarrior.class).setShield(1000);
Buff.affect(this, DwarfMaster.DKBarrior.class).setShield(300);
Buff.append(hero, BeamTowerAdbility.class).towerPos = TRUEPosition;
@ -721,22 +721,7 @@ public class FireMagicDied extends Mob implements Callback {
Buff.affect(this, FireMagicDied.YogScanHalf.class).setPos(pos, direction);
beamCD = 40 + 8 - (phase == 10 ? 38 : 0);
sprite.showStatus(0xff0000, Messages.get(this, "dead"));
switch (Random.Int(7)){
case 0: default: Buff.affect(this, ChampionEnemy.Blazing.class);
break;
case 1: Buff.affect(this, ChampionEnemy.Projecting.class);
break;
case 2: Buff.affect(this, ChampionEnemy.AntiMagic.class);
break;
case 3: Buff.affect(this, ChampionEnemy.Giant.class);
break;
case 4: Buff.affect(this, ChampionEnemy.Blessed.class);
break;
case 5: Buff.affect(this, ChampionEnemy.Growing.class);
break;
case 6: Buff.affect(this, ChampionEnemy.Halo.class);
break;
}
Buff.affect(this, ChampionEnemy.Halo.class);
} else if (phase == 3 && preHP > 80 && HP <= 80){
yell( Messages.get(this, "losing") );
}

View File

@ -34,8 +34,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.SkullShaman;
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.BlizzardBrew;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.Brew;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.CausticBrew;
@ -47,6 +49,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfAff
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfAntiMagic;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfConfusion;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfPsionicBlast;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes;
import com.shatteredpixel.shatteredpixeldungeon.levels.CavesLevel;
@ -236,7 +239,7 @@ public class RedDragon extends NPC {
private static int depth;
public static Ring weapon;
public static Ring RingT;
public static Wand RingT;
public static Artifact armor;
public static Brew food;
public static ExoticScroll scrolls;
@ -251,6 +254,7 @@ public class RedDragon extends NPC {
enchant = null;
glyph = null;
RingT = null;
food = null;
}
private static final String NODE = "sads";
@ -267,6 +271,8 @@ public class RedDragon extends NPC {
private static final String ENCHANT = "enchant";
private static final String GLYPH = "glyph";
private static final String RINGT = "ringt";
public static void storeInBundle( Bundle bundle ) {
Bundle node = new Bundle();
@ -281,8 +287,12 @@ public class RedDragon extends NPC {
node.put( DEPTH, depth );
node.put( PROCESSED, processed );
node.put( WEAPON, weapon );
node.put( ARMOR, armor );
node.put( RINGT, RingT );
node.put( WEAPON, weapon );
node.put( FOOD, food );
node.put( SCROLLS, scrolls);
@ -302,22 +312,24 @@ public class RedDragon extends NPC {
if (!node.isNull() && (spawned = node.getBoolean( SPAWNED ))) {
type = node.getInt(TYPE);
given = node.getBoolean( GIVEN );
processed = node.getBoolean( PROCESSED );
given = node.getBoolean(GIVEN);
processed = node.getBoolean(PROCESSED);
depth = node.getInt( DEPTH );
depth = node.getInt(DEPTH);
weapon = (Ring)node.get( WEAPON );
armor = (Artifact) node.get( ARMOR );
food = (Brew) node.get( FOOD );
scrolls = (ExoticScroll) node.get( SCROLLS );
weapon = (Ring) node.get(WEAPON);
armor = (Artifact) node.get(ARMOR);
RingT = (Wand) node.get(RINGT);
food = (Brew) node.get(FOOD);
scrolls = (ExoticScroll) node.get(SCROLLS);
if (node.contains(ENCHANT)) {
enchant = (Weapon.Enchantment) node.get(ENCHANT);
glyph = (Armor.Glyph) node.get(GLYPH);
glyph = (Armor.Glyph) node.get(GLYPH);
}
} else {
reset();
}
}
@ -348,12 +360,19 @@ public class RedDragon extends NPC {
case 5: food = new ShockingBrew(); break;
}
//TODO Fixed Ring Spawn;
if(randomArtifact() != null){
armor = (Artifact)Generator.random( Generator.Category.ARTIFACT );
Item item = randomArtifact();
if(item != null) {
armor = (Artifact) Generator.random(Generator.Category.ARTIFACT);
} else {
RingT = (Ring)Generator.random(Generator.Category.RING);
switch (Random.chances(new float[]{0, 0, 10, 6, 3, 1})){
default:
case 2: armor = new CapeOfThorns(); break;
case 3: armor = new CapeOfThorns();break;
case 4: armor = new CapeOfThorns(); break;
case 5: armor = new CapeOfThorns(); break;
}
}
RingT = (Wand) Generator.random(Generator.Category.WAND);
switch (Random.chances(new float[]{0, 0, 10, 6, 3, 1})){
default:
@ -382,6 +401,7 @@ public class RedDragon extends NPC {
}
weapon.upgrade(itemLevel);
armor.upgrade(itemLevel);
RingT.upgrade(itemLevel);
//10% to be enchanted. We store it separately so enchant status isn't revealed early
if (Random.Int(10) == 0){

View File

@ -82,8 +82,8 @@ public class ExoticPotion extends Potion {
regToExo.put(PotionOfLevitation.class, PotionOfStormClouds.class);
exoToReg.put(PotionOfStormClouds.class, PotionOfLevitation.class);
regToExo.put(PotionOfExperience.class, PotionOfHolyFuror.class);
exoToReg.put(PotionOfHolyFuror.class, PotionOfExperience.class);
regToExo.put(PotionOfExperience.class, PotionOfDivineInspiration.class);
exoToReg.put(PotionOfDivineInspiration.class, PotionOfExperience.class);
regToExo.put(PotionOfPurity.class, PotionOfCleansing.class);
exoToReg.put(PotionOfCleansing.class, PotionOfPurity.class);

View File

@ -59,14 +59,14 @@ public abstract class ExoticScroll extends Scroll {
regToExo.put(ScrollOfRemoveCurse.class, ScrollOfAntiMagic.class);
exoToReg.put(ScrollOfAntiMagic.class, ScrollOfRemoveCurse.class);
regToExo.put(ScrollOfLullaby.class, ScrollOfAffection.class);
exoToReg.put(ScrollOfAffection.class, ScrollOfLullaby.class);
regToExo.put(ScrollOfLullaby.class, ScrollOfSirensSong.class);
exoToReg.put(ScrollOfSirensSong.class, ScrollOfLullaby.class);
regToExo.put(ScrollOfRage.class, ScrollOfConfusion.class);
exoToReg.put(ScrollOfConfusion.class, ScrollOfRage.class);
regToExo.put(ScrollOfRage.class, ScrollOfChallenge.class);
exoToReg.put(ScrollOfChallenge.class, ScrollOfRage.class);
regToExo.put(ScrollOfTerror.class, ScrollOfPetrification.class);
exoToReg.put(ScrollOfPetrification.class, ScrollOfTerror.class);
regToExo.put(ScrollOfTerror.class, ScrollOfDread.class);
exoToReg.put(ScrollOfDread.class, ScrollOfTerror.class);
regToExo.put(ScrollOfRecharging.class, ScrollOfMysticalEnergy.class);
exoToReg.put(ScrollOfMysticalEnergy.class, ScrollOfRecharging.class);
@ -83,8 +83,8 @@ public abstract class ExoticScroll extends Scroll {
regToExo.put(ScrollOfMirrorImage.class, ScrollOfPrismaticImage.class);
exoToReg.put(ScrollOfPrismaticImage.class, ScrollOfMirrorImage.class);
regToExo.put(ScrollOfTransmutation.class, ScrollOfPolymorph.class);
exoToReg.put(ScrollOfPolymorph.class, ScrollOfTransmutation.class);
regToExo.put(ScrollOfTransmutation.class, ScrollOfMetamorphosis.class);
exoToReg.put(ScrollOfMetamorphosis.class, ScrollOfTransmutation.class);
}
@Override

View File

@ -34,7 +34,7 @@ import com.watabou.noosa.audio.Sample;
public class ScrollOfPetrification extends ExoticScroll {
{
icon = ItemSpriteSheet.Icons.SCROLL_PETRIF;
icon = ItemSpriteSheet.Icons.SCROLL_STONE;
}
@Override

View File

@ -38,7 +38,7 @@ import com.watabou.utils.Random;
public class ScrollOfPolymorph extends ExoticScroll {
{
icon = ItemSpriteSheet.Icons.SCROLL_POLYMORPH;
icon = ItemSpriteSheet.Icons.SCROLL_SHEEP;
}
@Override

View File

@ -42,7 +42,7 @@ import com.watabou.noosa.audio.Sample;
public class ScrollOfSirensSong extends ExoticScroll {
{
icon = ItemSpriteSheet.Icons.SCROLL_SIREN;
icon = ItemSpriteSheet.Icons.SCROLL_AFFECTION;
}
@Override

View File

@ -34,7 +34,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.LiquidMetal;
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.AlchemistsToolkit;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
import com.shatteredpixel.shatteredpixeldungeon.journal.Document;
import com.shatteredpixel.shatteredpixeldungeon.journal.Journal;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
@ -54,7 +53,6 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndJournal;
import com.watabou.gltextures.TextureCache;
import com.watabou.glwrap.Blending;
import com.watabou.noosa.Camera;
import com.watabou.noosa.ColorBlock;
import com.watabou.noosa.Game;
import com.watabou.noosa.Image;
import com.watabou.noosa.NinePatch;

View File

@ -869,13 +869,19 @@ public class ItemSpriteSheet {
public static final int SCROLL_CONFUSION= EXOTIC_SCROLLS+8;
public static final int SCROLL_PSIBLAST = EXOTIC_SCROLLS+9;
public static final int SCROLL_PETRIF = EXOTIC_SCROLLS+10;
public static final int SCROLL_POLYMORPH= EXOTIC_SCROLLS+11;
public static final int SCROLL_CHALLENGE= EXOTIC_SCROLLS+8;
public static final int SCROLL_SHEEP= EXOTIC_SCROLLS+11;
public static final int SCROLL_SIREN = EXOTIC_SCROLLS+12;
public static final int SCROLL_CHALLENGE= EXOTIC_SCROLLS+13;
public static final int SCROLL_STONE = EXOTIC_SCROLLS+13;
public static final int SCROLL_DREAD = EXOTIC_SCROLLS+14;
public static final int SCROLL_METAMORPH = EXOTIC_SCROLLS+15;
public static final int SCROLL_ = EXOTIC_SCROLLS+16;
public static final int SCROLL_POLYMORPH = EXOTIC_SCROLLS+17;
static {
assignIconRect( SCROLL_ENCHANT, 7, 7 );
assignIconRect( SCROLL_DIVINATE, 7, 6 );
@ -887,12 +893,12 @@ public class ItemSpriteSheet {
assignIconRect( SCROLL_FORESIGHT, 7, 5 );
assignIconRect( SCROLL_CONFUSION, 7, 7 );
assignIconRect( SCROLL_PSIBLAST, 5, 6 );
assignIconRect( SCROLL_PETRIF, 7, 5 );
assignIconRect( SCROLL_POLYMORPH, 7, 6 );
assignIconRect( SCROLL_STONE, 7, 8 );
assignIconRect( SCROLL_SHEEP, 7, 8 );
assignIconRect( SCROLL_CHALLENGE, 7, 7 );
assignIconRect( SCROLL_SIREN, 7, 6 );
assignIconRect( SCROLL_DREAD, 5, 7 );
assignIconRect( SCROLL_METAMORPH, 7, 7 );
assignIconRect( SCROLL_DREAD, 8, 8 );
assignIconRect( SCROLL_METAMORPH, 8, 8 );
}
//16 free slots

View File

@ -88,7 +88,7 @@ public class vM0_6_7_X_Changes {
public static void add_v0_6_19_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changesx = new ChangeInfo("v0.6.0.0-Beta21-p2.920", true, "");
ChangeInfo changesx = new ChangeInfo("v0.6.0.0-Beta21-p2.920-925", true, "");
changesx.hardlight(Window.TITLE_COLOR);
changeInfos.add(changesx);
@ -99,10 +99,21 @@ public class vM0_6_7_X_Changes {
changesx.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.AMULET), ("0层改动"),
("现在0层不可以随进随出了且水晶之心的背景故事略做调整" )));
changesx.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.EXOTIC_CRIMSON), ("炼金迁移"),
("羊化秘卷==>蜕变秘卷\n" +
"石化秘卷==>极度恐慌秘卷\n" +
"迷乱秘卷==>决斗秘卷\n" +
"神意祝福合剂==>神意启发合剂\n" +
"魅惑秘卷==>塞壬秘卷\n" )));
changesx = new ChangeInfo("修复", false, null);
changesx.hardlight(Window.CYELLOW);
changeInfos.add(changesx);
changesx.addButton(new ChangeButton(new Image("sprites/spinner.png", 144, 0, 16, 16),
(Messages.get(ChangesScene.class, "bugfixes")),
Messages.get(vM0_6_7_X_Changes.class, "bug_06X39")));
changesx.addButton(new ChangeButton(new Image("sprites/spinner.png", 144, 0, 16, 16),
(Messages.get(ChangesScene.class, "bugfixes")),
Messages.get(vM0_6_7_X_Changes.class, "bug_06X38")));

View File

@ -22,6 +22,7 @@
package com.shatteredpixel.shatteredpixeldungeon.windows;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import static com.shatteredpixel.shatteredpixeldungeon.items.Generator.randomArtifact;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
@ -102,7 +103,8 @@ public class WndRedDragon extends Window {
btnRing.setRect( (WIDTH - BTN_GAP) / 2 - BTN_SIZE, message.top() + message.height() + BTN_GAP, BTN_SIZE, BTN_SIZE );
add( btnRing );
RewardButton btnFood = new RewardButton( RedDragon.Quest.armor );
RewardButton btnFood = new RewardButton( randomArtifact() != null ? RedDragon.Quest.armor:
RedDragon.Quest.RingT );
btnFood.setRect( btnRing.right() + BTN_GAP, btnRing.top(), BTN_SIZE, BTN_SIZE );
add(btnFood);