Update 0.6.2.0-Beta5

This commit is contained in:
LingASDJ 2023-06-02 17:07:14 +08:00
parent ada4ff9dc9
commit 54462b2318
12 changed files with 79 additions and 26 deletions

View File

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

View File

@ -1751,7 +1751,7 @@ actors.mobs.npcs.shopkeeper.live=商人还为首领购买了精英系统,选
actors.mobs.npcs.wandmaker.name=老杖匠
actors.mobs.npcs.wandmaker.intro_warrior=啊,能在这片压抑的地方遇见一位英雄可真是个惊喜!如果你愿意帮助我这个老人家脱离苦海的话,你可以帮忙做一个任务。
actors.mobs.npcs.wandmaker.intro_rogue=天哪,你吓了我一跳!在这里这么久你是我见过的第一个尚有理智的强盗,所以你肯定是从地表下来的!如果你愿意帮助我这样一名陌生人的话,这有一个任务或许你能帮上忙。
actors.mobs.npcs.wandmaker.intro_mage=哦,你好啊%s我好像听说你在茉莉伊洛学院那里搞了不少麻烦?算了这没关系,反正我也不喜欢那些墨守成规的榆木脑袋。如果你愿意的话,我这有个任务可以让你帮忙。
actors.mobs.npcs.wandmaker.intro_mage=哦,你好啊%s我好像听说你在法师学院那里搞了不少麻烦?算了这没关系,反正我也不喜欢那些墨守成规的榆木脑袋。如果你愿意的话,我这有个任务可以让你帮忙。
actors.mobs.npcs.wandmaker.intro_huntress=啊,你好啊姑娘!能在这下面见到一张友善的面孔真是太惊喜了,你说是吧?咦,说来,我敢打赌以前在哪见过你,但想不起具体……哦算了,不用在意,如果你是来这里冒险的话,我这有个任务交给你做。
actors.mobs.npcs.wandmaker.intro_1=\n\n我在这里是为了寻找一个制作法杖需要的稀有材料但我迷了路而且身上的魔法盾也在慢慢减弱。我必须马上离开这里但我不想空手而出。
actors.mobs.npcs.wandmaker.intro_dust=我在寻找一些_尸骨灰烬_。这是一种通常出现在这种地方的被诅咒的特殊骨灰。它应该就在附近某个被隔住的房间里我很肯定你能在那里找到一些灰烬。不过要小心灰烬上的诅咒相当强大_尽快将它带回来_我会净化其中的诅咒。

View File

@ -102,7 +102,7 @@ items.scrolls.exotic.scrollofpolymorph.name=羊化秘卷
items.scrolls.exotic.scrollofpolymorph.desc=这张秘卷富含强大的转换能力。当使用时,所有在使用者视野范围内的单位都将变形成一只魔法绵羊!\n\n这种变形过程是不可逆的但不是所有敌人都会被影响。强大的敌人将抵抗这种魔法。同时变形后目标敌人身上的物品将会消失。
items.potions.elixirs.watersoul.name=水灵药剂
items.potions.elixirs.watersoul.desc=由治疗药水和冰冻的肉综合炼制的水灵药剂,能一定时间内免疫水神的诅咒。\n同时作为等价交换也可以带来等价的治疗效果和补充一定的饥饿值。\n\n饮用它会立刻驱散所有来自水神的诅咒给予的Debuff。
items.potions.elixirs.watersoul.desc=由治疗药水和冰冻的肉综合炼制的水灵药剂,能一定时间内免疫水神的诅咒。\n同时作为等价交换也可以带来等价的治疗效果和补充一定的饥饿值。\n\n饮用它会立刻驱散所有来自水神的诅咒给予的Debuff。\n\n在恐药挑战下饮用两瓶后治疗将失效并在下次饮用获得中毒效果。
items.food.lightfood.name=闪电饭团
items.food.lightfood.eat_msg=这个食物的味道棒极了!
@ -849,7 +849,7 @@ items.artifacts.unstablespellbook.desc_empowered=被你放进书中的卷轴闪
items.artifacts.unstablespellbook.read_empowered=被你放入魔典的卷轴都充满了魔法能量。你可以自主选择导引出该卷轴的正常或秘卷能力。\n\n如果选择释放秘卷能力则会消耗2点魔典充能。
items.artifacts.wraithamulet.name=暗金宝石护符
items.artifacts.wraithamulet.desc=来自于不属于这个世界的产物,能使自己进入虚无化。\n\n当护符能量足够多的时候你还可以对敌人实行一次暗夜突袭对目标造成_最大生命值x4的伤害_,并立刻瞬移到指定目标位置。\n\n如果是首领则受到_最大生命值的50%伤害_。护符能量将会随着时间自动恢复。\n\n这个护符曾经是一个少女来探险的护身符自从她在地牢中失踪后这个护符就一直被遗弃在这里……
items.artifacts.wraithamulet.desc=来自于不属于这个世界的产物,能使自己进入虚无化。\n\n当护符能量足够多的时候你还可以对敌人实行一次暗夜突袭对目标造成Γ真实即死Γ伤害,并立刻瞬移到指定目标位置。\n\n如果是首领则受到_最大生命值的10%伤害_。护符能量将会随着时间自动恢复,所有技能使用都会扣除能量并进入冷却状态。\n\n这个护符曾经是一个少女来探险的护身符自从她在地牢中失踪后这个护符就一直被遗弃在这里……
items.artifacts.wraithamulet.ghost=你遁入了虚无,你的身体变得透明了。
items.artifacts.wraithamulet.cooddown=你的护符能量正在冷却,你暂时无法使用任何能力。
items.artifacts.wraithamulet.nochareup=你的护符能量不足,你无法使用任何能力。
@ -870,6 +870,7 @@ items.artifacts.wraithamulet$1.selectkill=选择刺杀目标
items.artifacts.wraithamulet$1.far=刺杀目标太远,无法进行刺杀。
items.artifacts.wraithamulet$1.rooted=你的身体被束缚在这里,无法进行刺杀。
items.artifacts.wraithamulet$1.notthere=那里没有任何目标!
items.artifacts.wraithamulet$1.notnpc=NPC不能被处决
items.artifacts.wraithamulet$1.killmobs=该生物成功被暗夜突袭处决!
items.artifacts.wraithamulet$1.killboss=该首领成功被暗夜突袭重创!
items.artifacts.wraithamulet$1.gold=你目前在处在宝藏迷宫中,无法进行刺杀。

View File

@ -527,4 +527,6 @@ ui.changelist.mlpd.vm0_6_7_x_changes.bug_06x69=-V0.6.2-Beta4-4.2\n1.修复快捷
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_6_7_x_changes.bug_06x71=-V0.6.2-Beta5\n1.修复评分规则错误问题\n2.少量文案修复\n3.修复少量小型错误
//ui.changelist.mlpd.vm0_5_x_changes.xxx//

View File

@ -24,6 +24,11 @@ package com.shatteredpixel.shatteredpixeldungeon;
import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.amuletObtained;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.chalMultiplier;
import static com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker.A_SCORE;
import static com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker.B_SCORE;
import static com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker.SSSP_SCORE;
import static com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker.SSS_SCORE;
import static com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker.SS_SCORE;
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.Artifact;
@ -35,7 +40,6 @@ import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.shatteredpixel.shatteredpixeldungeon.windows.LevelChecker;
import com.watabou.utils.Bundle;
import com.watabou.utils.FileUtils;
@ -373,23 +377,23 @@ public class Badges {
public static void validateHighScore( int score ){
Badge badge = null;
if (score >= LevelChecker.B_SCORE * chalMultiplier * (amuletObtained ? 1 : 2)) {
if (score >= B_SCORE * chalMultiplier * (amuletObtained ? 1 : 2)) {
badge = Badge.HIGH_SCORE_1;
local.add( badge );
}
if (score >= LevelChecker.A_SCORE * chalMultiplier * (amuletObtained ? 1 : 2)) {
if (score >= A_SCORE * chalMultiplier * (amuletObtained ? 1 : 2)) {
badge = Badge.HIGH_SCORE_2;
local.add( badge );
}
if (score >= LevelChecker.SS_SCORE * chalMultiplier * (amuletObtained ? 1 : 3)) {
if (score >= SS_SCORE * chalMultiplier * (amuletObtained ? 1 : 3)) {
badge = Badge.HIGH_SCORE_3;
local.add( badge );
}
if (score >= LevelChecker.SSS_SCORE * chalMultiplier * (amuletObtained ? 1 : 4)) {
if (score >= SSS_SCORE * chalMultiplier/2 * (amuletObtained ? 1 : 4)) {
badge = Badge.HIGH_SCORE_4;
local.add( badge );
}
if (score >= LevelChecker.SSSP_SCORE * chalMultiplier * (amuletObtained ? 1 : 5)) {
if (score >= SSSP_SCORE * chalMultiplier * (amuletObtained ? 0.7 : 5)) {
badge = Badge.HIGH_SCORE_5;
local.add( badge );
}

View File

@ -56,6 +56,8 @@ public class Statistics {
public static int ChaicBlood;
public static int HealingIsDied;
public static int naiyaziCollected;
//used for hero unlock badges
public static int upgradesUsed;
@ -118,6 +120,9 @@ public class Statistics {
boss_enhance = 0;
ChaicBlood = 0;
HealingIsDied = 0;
goldCollected = 0;
deepestFloor = -1;
enemiesSlain = 0;
@ -254,6 +259,9 @@ public class Statistics {
private static final String CHACEBLOOD = "ChaicBlood";
private static final String HEALDIED = "HealingisDied";
public static void storeInBundle( Bundle bundle ) {
//分数
@ -265,6 +273,7 @@ public class Statistics {
bundle.put( FLR_EXPL+i, floorsExplored.get(i) );
}
}
bundle.put( HEALDIED, HealingIsDied);
bundle.put( EXPL_SCORE, exploreScore );
bundle.put( BOSS_SCORES, bossScores );
bundle.put( TOT_BOSS, totalBossScore );
@ -338,6 +347,8 @@ public class Statistics {
//嗜血荆棘等级处理
ChaicBlood = bundle.getInt( CHACEBLOOD );
HealingIsDied = bundle.getInt( HEALDIED );
//分数
progressScore = bundle.getInt( PROG_SCORE );
heldItemValue = bundle.getInt( ITEM_VAL );

View File

@ -60,8 +60,8 @@ public class Piranha extends Mob {
public Piranha() {
super();
if (Dungeon.isChallenged(AQUAPHOBIA)) {
HP = HT = 6 + Dungeon.depth/5;
defenseSkill = 6 + Dungeon.depth/5;
HP = HT = 6 + Dungeon.depth*2;
defenseSkill = 6 + Dungeon.depth*3;
} else {
HP = HT = 10 + Dungeon.depth * 5;
defenseSkill = 10 + Dungeon.depth * 2;

View File

@ -49,7 +49,6 @@ public class Shopkeeper extends NPC {
{
spriteClass = ShopkeeperSprite.class;
properties.add(Property.BOSS);
properties.add(Property.IMMOVABLE);
}
public static boolean seenBefore = false;

View File

@ -78,9 +78,9 @@ public class WraithAmulet extends Artifact {
if(this.isEquipped(Dungeon.hero)){
if(this.charge > 0) {
exp += 5;
Buff.affect(Dungeon.hero, Invisibility.class, Invisibility.DURATION);
Buff.affect(Dungeon.hero, Invisibility.class, Invisibility.DURATION/2);
GLog.p(Messages.get(this,"ghost"));
cooldown = 34 - (level / 2);
cooldown = 45 - (level / 2);
charge--;
} else {
GLog.i(Messages.get(this,"nochareup"));
@ -92,7 +92,9 @@ public class WraithAmulet extends Artifact {
GLog.n(Messages.get(this,"whoareyou"));
}
} else if (action.equals(AC_ASSASSINATE) && !cursed) {
if(this.charge >= 5){
if (cooldown > 0) {
GLog.w(Messages.get(this, "cooddown"));
} else if(this.charge >= 5){
GameScene.selectCell(porter);
} else {
GLog.i(Messages.get(this,"nochareup"));
@ -205,26 +207,28 @@ public class WraithAmulet extends Artifact {
QuickSlotButton.target(Actor.findChar(target));
Char enemy = Actor.findChar(target);
if (enemy != null && !(enemy instanceof NPC) || !(((Statistics.boss_enhance & 0x2) != 0 || Statistics.mimicking) && Dungeon.depth==10)) {
if (!(((Statistics.boss_enhance & 0x2) != 0 || Statistics.mimicking) && Dungeon.depth==10)) {
if (hero.rooted || Dungeon.level.distance(hero.pos, target) < 3) {
if(enemy != null){
if(enemy != null && !(enemy instanceof NPC)){
final WraithAmulet amulet = (WraithAmulet) Item.curItem;
amulet.exp += 10;
hero.pos = target;
if (enemy.properties().contains(Char.Property.BOSS)) {
enemy.damage(enemy.HT / 2, WraithAmulet.class);
enemy.damage(enemy.HT/10, WraithAmulet.class);
GLog.i(Messages.get(this, "killboss"));
enemy.sprite.showStatus(CharSprite.NEGATIVE, Messages.get(this,"koss"));
} else {
enemy.damage(enemy.HT * 4, WraithAmulet.class);
enemy.die(true);
GLog.i(Messages.get(this, "killmobs"));
enemy.sprite.showStatus(CharSprite.NEGATIVE, Messages.get(this,"died"));
}
ScrollOfTeleportation.appear(hero, target);
Dungeon.observe();
hero.sprite.emitter().start(ShadowParticle.UP, 0.05f, 10);
amulet.cooldown = 95;
amulet.charge -= 6;
} else {
GLog.w(Messages.get(this, "notnpc"));
}
} else if(Dungeon.level.distance(hero.pos, target) > 3 && enemy !=null) {
GLog.w(Messages.get(this, "far"));

View File

@ -2,6 +2,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness;
@ -35,7 +36,12 @@ public class WaterSoul extends Elixir {
public void apply(Hero hero) {
Buff.affect(hero, WaterSoulX.class).set( (101), 1 );
cure( hero );
heal( hero );
if (Dungeon.isChallenged(Challenges.NO_HEALING) && Statistics.HealingIsDied>=2) {
pharmacophobiaProc(hero);
} else {
heal(hero);
Statistics.HealingIsDied++;
}
if (Dungeon.isChallenged(Challenges.NO_FOOD)){
Buff.affect(hero, Hunger.class).satisfy(energy/3f);
} else {
@ -53,7 +59,7 @@ public class WaterSoul extends Elixir {
public static void pharmacophobiaProc( Hero hero ){
// harms the hero for ~40% of their max HP in poison
Buff.affect( hero, Poison.class).set(4 + hero.lvl/2);
Buff.affect( hero, Poison.class).set(6 + hero.lvl/2f);
}
public static void cure( Char ch ) {

View File

@ -52,6 +52,7 @@ import java.util.ArrayList;
public class vM0_6_7_X_Changes {
public static void addAllChanges(ArrayList<ChangeInfo> changeInfos) {
add_v0_6_42_Changes(changeInfos);
add_v0_6_41_Changes(changeInfos);
add_v0_6_40_Changes(changeInfos);
add_v0_6_39_Changes(changeInfos);
@ -96,6 +97,31 @@ public class vM0_6_7_X_Changes {
add_v0_6_0_Changes(changeInfos);
}
public static void add_v0_6_42_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.2.0-Beta5.0", true, "");
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes = new ChangeInfo("平衡", false, null);
changes.hardlight(Window.RED_COLOR);
changeInfos.add(changes);
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("挑战改进"),
("如果开启恐药,水灵将在饮用两次后治疗失效。并转换为中毒效果。")));
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.WRALIPS), "暗金宝石护符",
"修复了一些问题,并平衡了神器参数。"));
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_06X71")));
}
public static void add_v0_6_41_Changes( ArrayList<ChangeInfo> changeInfos ) {
ChangeInfo changes = new ChangeInfo("v0.6.2.0-Beta4.9", true, "");

View File

@ -24,9 +24,9 @@ public class GameUpdateNews extends GameUpdateNewsService {
Net.HttpRequest httpGet = new Net.HttpRequest(Net.HttpMethods.GET);
if (preferHTTPS) {
httpGet.setUrl("https://jdsalingzx.top/assets/xml/gamenews.xml");
httpGet.setUrl("https://rust.coldmint.top/ftp/ling/json/gamenews.xml");
} else {
httpGet.setUrl("https://jdsalingzx.top/assets/xml/gamenews.xml");
httpGet.setUrl("https://rust.coldmint.top/ftp/ling/json/gamenews.xml");
}
Gdx.net.sendHttpRequest(httpGet, new Net.HttpResponseListener() {