Fixed Beta 4.9-V0.6.2.0

This commit is contained in:
LingASDJ 2023-06-01 23:47:38 +08:00
parent 3ce21ccbe6
commit ada4ff9dc9
15 changed files with 120 additions and 49 deletions

View File

@ -17,8 +17,8 @@ allprojects {
appName = 'Magic Ling Pixel Dungeon'
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
appVersionCode =900873
appVersionName = '0.6.2.0-Beta4.8'
appVersionCode =900875
appVersionName = '0.6.2.0-Beta4.9'
appJavaCompatibility = JavaVersion.VERSION_11

View File

@ -13,6 +13,11 @@ items.books.bookslist.dimandbook.desc=你......杀死......我的子嗣......你
items.books.bookslist.dimandbook.author=作者:未知
items.books.bookslist.dimandbook.ac_read=挑战
items.books.bookslist.testbooks.name=测试之书
items.books.bookslist.testbooks.desc=阅读获得永久无敌,再次阅读取消无敌效果。
items.books.bookslist.testbooks.ac_read=阅读
items.books.bookslist.testbooks.author=作者Ling
items.quest.mime$gold_one.name=镶金碧翠月牙宝石
items.quest.mime$gold_one.desc=来自于异世界的物品,虽然在这个世界无法产生它原有的作用。但它的宝贵价值足以让商人眼前一亮。

View File

@ -166,7 +166,7 @@ levels.caveslevel.water_name=冰澈水潭
levels.caveslevel.entrance_desc=通向上一层的梯子。
levels.caveslevel.exit_desc=通向下一层的梯子。
levels.caveslevel.high_grass_desc=高耸的菌菇群遮挡了你的视线。
levels.caveslevel.wall_deco_desc=岩壁上能隐约看见金属矿脉的纹路,难道是金子?
levels.caveslevel.wall_deco_desc=岩壁上能隐约看见被冻住的豺狼,由于地牢力量的影响,豺狼已经和黄金融为一体了。
levels.caveslevel.bookshelf_desc=到底会有谁需要在洞窟里摆上这么个书架?
levels.citylevel.water_name=异色水潭

View File

@ -525,4 +525,6 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x68=-V0.6.2-Beta3\n1.修复嗜血荆
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x69=-V0.6.2-Beta4-4.2\n1.修复快捷栏的初始配置问题\n2.修复徽章的一些错误\n3.矫正部分错误文案\n4.修复部分Boss的小错误。\n5.修复暗金护身符的一些小问题。
ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x70=-V0.6.2-Beta4.9\n1.修复游戏胜利倍率不计入的问题\n2.修复Boss层击败Boss死亡后重置的问题\n3.修复十字架重生的一些小问题\n4.修复暗金护符无法被能量戒指充能的问题\n5.改善部分UI
//ui.changelist.mlpd.vm0_5_x_changes.xxx//

View File

@ -7,6 +7,11 @@ windows.wndkingshop.nomoney=看起来你并不是很有钱……,我这人不给
windows.wndkeybindings.update=检查更新
scenes.gamenewsscene.title=正在检查更新
scenes.gamenewsscene.update=请稍后,我们正在向服务器请求你的版本数据。\n\n若长时间未检查到版本你可在倒计时结束后通过下方按钮继续游玩该版本
scenes.gamenewsscene.continue=继续游玩
windows.newwndchallenges$1$1.title=挑战模式-Page1
windows.newwndchallenges$2$1.title=挑战模式-Page2

View File

@ -1050,7 +1050,7 @@ public class Dungeon {
}
public static void win( Class cause ) {
Statistics.gameWon = true;
hero.belongings.identify();
updateLevelExplored();
Rankings.INSTANCE.submit( true, cause );

View File

@ -27,7 +27,6 @@ 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.ArtifactRecharge;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ChampionHero;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.RandomBuff;
@ -50,7 +49,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Amulet;
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.KingsCrown;
import com.shatteredpixel.shatteredpixeldungeon.items.TengusMask;
import com.shatteredpixel.shatteredpixeldungeon.items.Waterskin;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor;
@ -59,15 +57,14 @@ import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.ChaliceOfBlood;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.EtherealChains;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.MasterThievesArmband;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.TalismanOfForesight;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.WraithAmulet;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.HerbBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.KingBag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.BrokenBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.TestBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist.YellowSunBooks;
import com.shatteredpixel.shatteredpixeldungeon.items.food.Cake;
import com.shatteredpixel.shatteredpixeldungeon.items.food.Food;
import com.shatteredpixel.shatteredpixeldungeon.items.food.MeatPie;
import com.shatteredpixel.shatteredpixeldungeon.items.food.MysteryMeat;
@ -80,7 +77,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlam
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.WaterSoul;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MIME;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.MetalShard;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfFlameCursed;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfIdentify;
@ -118,7 +114,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortswor
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingKnife;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingStone;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.windows.ScrollOfAwareness;
import com.watabou.utils.Random;
public enum HeroClass {
@ -169,15 +164,11 @@ public enum HeroClass {
Buff.affect(hero, ChampionHero.AntiMagic.class, 50000f);
new WraithAmulet().quantity(1).identify().collect();
Buff.affect(Dungeon.hero, ArtifactRecharge.class).prolong(2000);
new BloodthirstyThorn().quantity(1).identify().collect();
new WashCrime().quantity(1).identify().collect();
new MagicTorch().quantity(1).identify().collect();
new ScrollOfAwareness().quantity(1).identify().collect();
new Cake().quantity(100).identify().collect();
new TengusMask().quantity(1).identify().collect();
new ScrollOfIdentify().quantity(45).identify().collect();
new ScrollOfTransmutation().quantity(45).identify().collect();
@ -201,7 +192,7 @@ public enum HeroClass {
new MagicalInfusion().quantity(1).identify().collect();
new ScrollOfMysticalEnergy().quantity(1).identify().collect();
new AquaBlast().quantity(1).identify().collect();
new TestBooks().quantity(1).identify().collect();
new WandOfCorruption().quantity(1).identify().collect();
new MasterThievesArmband().quantity(1).identify().collect();
new MetalShard().quantity(1).identify().collect();
@ -210,7 +201,6 @@ public enum HeroClass {
new Sai().quantity(1).identify().collect();
new MagicTorch().quantity(1).identify().collect();
new SkyShield().quantity(1).identify().collect();
new SandalsOfNature().quantity(1).identify().collect();
new WandOfScale().quantity(1).identify().collect();
new WandOfGodIce().quantity(1).identify().collect();
new PotionOfLightningShiledX().quantity(1).identify().collect();
@ -222,21 +212,12 @@ public enum HeroClass {
new YellowSunBooks().quantity(1).identify().collect();
new BrokenBooks().quantity(44).identify().collect();
new ScrollOfFlameCursed().quantity(44).identify().collect();
new KingsCrown().quantity(1).identify().collect();
new MIME.GOLD_ONE().quantity(1).identify().collect();
new MIME.GOLD_TWO().quantity(1).identify().collect();
new MIME.GOLD_THREE().quantity(1).identify().collect();
new MIME.GOLD_FOUR().quantity(1).identify().collect();
new MIME.GOLD_FIVE().quantity(1).identify().collect();
new LeatherArmor().quantity(1).identify().collect();
Dungeon.gold = 600000000;
hero.STR = 27;
hero.lvl = 30;
hero.exp = -123456789;
hero.HP = 123456789;
hero.HT = 123456789;
}
hero.heroClass = this;

View File

@ -235,7 +235,7 @@ public class CrivusFruits extends Mob {
Dungeon.level.unseal();
GameScene.bossSlain();
GLog.n(Messages.get(this,"dead"));
Dungeon.level.drop( new CrystalKey( Dungeon.depth ), pos ).sprite.drop();
Dungeon.level.drop( new CrystalKey( Dungeon.depth ), pos-2 ).sprite.drop();
Dungeon.level.drop( new IronKey( Dungeon.depth ), pos-1 ).sprite.drop();
Dungeon.level.drop( new IronKey( Dungeon.depth ), pos+1 ).sprite.drop();
Badges.validateBossSlain();

View File

@ -742,7 +742,7 @@ public class FireMagicDied extends Mob implements Callback {
Statistics.bossScores[3] += 5000;
Dungeon.level.drop(new BackGoKey().quantity(1).identify(), pos).sprite.drop();
Dungeon.level.drop(new ScrollOfMagicMapping().quantity(1).identify(), pos).sprite.drop();
Dungeon.level.drop(new ScrollOfUpgrade().quantity(3).identify(), pos).sprite.drop();
Dungeon.level.drop(new ScrollOfUpgrade().quantity(1).identify(), pos).sprite.drop();
Dungeon.level.drop(new Gold().quantity(5000), pos).sprite.drop();

View File

@ -13,6 +13,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.CellSelector;
@ -124,9 +125,13 @@ public class WraithAmulet extends Artifact {
@Override
public boolean act() {
LockedFloor lock = target.buff(LockedFloor.class);
if (charge < chargeCap && !cursed && useableBasic() && (lock == null || lock.regenOn())) {
partialCharge += 1 / (150f - (chargeCap - charge) * 15f);
float chargeGain = 1 / (90f - (chargeCap - charge)*3f);
chargeGain *= RingOfEnergy.artifactChargeMultiplier(target);
partialCharge += chargeGain;
if (partialCharge >= 1) {
partialCharge--;
charge++;

View File

@ -0,0 +1,28 @@
package com.shatteredpixel.shatteredpixeldungeon.items.books.bookslist;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AnkhInvulnerability;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.items.books.Books;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
public class TestBooks extends Books {
private static final String Read = "Read";
{
image = ItemSpriteSheet.BLACKBOOK;
unique= true;
}
@Override
public void execute(final Hero hero, String action) {
super.execute(hero, action);
if (action.equals( Read )) {
if ( Dungeon.hero.buff(AnkhInvulnerability.class) == null ) {
Buff.prolong(hero, AnkhInvulnerability.class, AnkhInvulnerability.DURATION*1000000f);
} else {
Buff.detach( hero, AnkhInvulnerability.class );
}
}
}
}

View File

@ -21,14 +21,18 @@
package com.shatteredpixel.shatteredpixeldungeon.items.scrolls;
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.effects.Transmuting;
import com.shatteredpixel.shatteredpixeldungeon.items.EquipableItem;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.WraithAmulet;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.AlchemicalCatalyst;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.Brew;
@ -85,22 +89,22 @@ public class ScrollOfTransmutation extends InventoryScroll {
} else {
if (result != item) {
int slot = Dungeon.quickslot.getSlot(item);
if (item.isEquipped(Dungeon.hero)) {
if (item.isEquipped(hero)) {
item.cursed = false; //to allow it to be unequipped
((EquipableItem) item).doUnequip(Dungeon.hero, false);
((EquipableItem) result).doEquip(Dungeon.hero);
((EquipableItem) item).doUnequip(hero, false);
((EquipableItem) result).doEquip(hero);
} else {
item.detach(Dungeon.hero.belongings.backpack);
item.detach(hero.belongings.backpack);
if (!result.collect()) {
Dungeon.level.drop(result, curUser.pos).sprite.drop();
} else if (Dungeon.hero.belongings.getSimilar(result) != null){
result = Dungeon.hero.belongings.getSimilar(result);
} else if (hero.belongings.getSimilar(result) != null){
result = hero.belongings.getSimilar(result);
}
}
if (slot != -1
&& result.defaultAction != null
&& !Dungeon.quickslot.isNonePlaceholder(slot)
&& Dungeon.hero.belongings.contains(result)){
&& hero.belongings.contains(result)){
Dungeon.quickslot.setSlot(slot, result);
}
}
@ -133,6 +137,9 @@ public class ScrollOfTransmutation extends InventoryScroll {
return changeSeed((Plant.Seed) item);
} else if (item instanceof Runestone) {
return changeStone((Runestone) item);
} else if (item instanceof WraithAmulet) {
Buff.detach(hero, WraithAmulet.CursedAmulet.class);
return changeArtifact( (Artifact)item );
} else if (item instanceof Artifact) {
return changeArtifact( (Artifact)item );
} else {

View File

@ -15,6 +15,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
import com.shatteredpixel.shatteredpixeldungeon.ui.StyledButton;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndHardNotification;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndMessage;
import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
import com.watabou.noosa.BitmapText;
@ -64,17 +65,17 @@ public class GameNewsScene extends PixelScene { //定义GameNewsScene类
}
StyledButton btnSite = new StyledButton(Chrome.Type.GREY_BUTTON_TR, Messages.get(this, "read_more")) { //创建一个样式化的Button
add(new WndHardNotification(Icons.get(Icons.CHANGES),
Messages.get(this, "title"),
Messages.get(this, "update"),
Messages.get(this, "continue"),
7){
@Override
protected void onClick() { //重写当前Button的onClick方法点击按钮时切换到标题场景
super.onClick();
public void hide() {
super.hide();
ShatteredPixelDungeon.switchNoFade(TitleScene.class);
}
};
btnSite.icon(Icons.get(Icons.NEWS)); //为Button添加图标
btnSite.textColor(Window.TITLE_COLOR); //设置Button文本的颜色
btnSite.setRect(left, 190, fullWidth, BTN_HEIGHT); //设置Button的位置和大小
add(btnSite); //将Button添加到场景中
});
if (!displayingNoArticles) { //有文章可用于加载时
@ -122,8 +123,8 @@ public class GameNewsScene extends PixelScene { //定义GameNewsScene类
rightCol = !rightCol;
}
btnSite.visible = false; //将Button的可见性设置为False
btnSite.active = false; //将Button的活跃状态设置为False
// btnSite.visible = false; //将Button的可见性设置为False
// btnSite.active = false; //将Button的活跃状态设置为False
RenderedTextBlock title;

View File

@ -484,7 +484,7 @@ public class InterlevelScene extends PixelScene {
Mob.holdAllies( Dungeon.level );
Level level;
if (Dungeon.level.locked || Dungeon.bossLevel()) {
if (Dungeon.level.locked) {
ArrayList<Item> preservedItems = Dungeon.level.getItemsToPreserveFromSealedResurrect();
Dungeon.hero.resurrect();
@ -494,10 +494,14 @@ public class InterlevelScene extends PixelScene {
if(!Dungeon.bossLevel()) {
for (Item i : preservedItems) {
level.drop(i, level.randomRespawnCell(null));
int pos = level.randomRespawnCell(null);
if (pos == -1) pos = Terrain.ENTRANCE;
level.drop(i, pos);
}
level.drop(new LostBackpack(), level.randomRespawnCell(null));
}
int pos = level.randomRespawnCell(null);
if (pos == -1) pos = Terrain.ENTRANCE;
level.drop(new LostBackpack(), pos);
} else {
level = Dungeon.level;
@ -507,7 +511,7 @@ public class InterlevelScene extends PixelScene {
int invPos = Dungeon.hero.pos;
int tries = 0;
do {
Dungeon.hero.pos = level.exit;
Dungeon.hero.pos = level.entrance;
tries++;
//prevents spawning on traps or plants, prefers farther locations first

View File

@ -17,6 +17,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.DM300Sprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.DM720Sprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.DiedMonkLoaderSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.DimandKingSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.FireCrystalSprites;
import com.shatteredpixel.shatteredpixeldungeon.sprites.FlameBoiSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.GhostSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.IceFireScorpioSprite;
@ -51,6 +52,7 @@ import java.util.ArrayList;
public class vM0_6_7_X_Changes {
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
add_v0_6_41_Changes(changeInfos);
add_v0_6_40_Changes(changeInfos);
add_v0_6_39_Changes(changeInfos);
add_v0_6_38_Changes(changeInfos);
@ -94,6 +96,37 @@ public class vM0_6_7_X_Changes {
add_v0_6_0_Changes(changeInfos);
}
public static void add_v0_6_41_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.2.0-Beta4.9", true, "");
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes = new ChangeInfo("新内容", false, null);
changes.hardlight(Window.GREEN_COLOR);
changeInfos.add(changes);
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("更新系统-V1.5"),
("更新系统修复了一些问题,并且加入检查更新的超时等待时间")));
changes = new ChangeInfo("改动", false, null);
changes.hardlight(Window.CYELLOW);
changeInfos.add(changes);
changes.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_06X70")));
changes = new ChangeInfo("平衡", false, null);
changes.hardlight(Window.RED_COLOR);
changeInfos.add(changes);
Image i = new Image(new FireCrystalSprites());
i.scale.set(PixelScene.align(0.74f));
changes.addButton(new ChangeButton(i, "圣火魔女",
"现在升级卷轴只掉一个。"));
}
public static void add_v0_6_40_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.2.0-Beta4-4.2", true, "");