Merge pull request #37 from zxcPandora/test

文本修正以及重置功能
This commit is contained in:
JDSA Ling 2023-09-27 00:02:58 +08:00 committed by GitHub
commit 5d6afb850b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 2 deletions

View File

@ -415,6 +415,7 @@ custom.testmode.levelteleporter.ac_view = 探查
custom.testmode.levelteleporter.ac_teleport = 传送
custom.testmode.levelteleporter.cannot_send= 无法移动。不能在楼层封锁时移动,以及不能移动出这个地牢。
custom.testmode.levelteleporter.ac_interlevel_tp = 返回
custom.testmode.levelteleporter.ac_reset = 重置
custom.testmode.levelteleporter.interlevel_teleport_title = 选择传送楼层
custom.testmode.levelteleporter.interlevel_teleport_go = 前往_%d_层

View File

@ -342,7 +342,7 @@ challenges.sbsg = ]基因突变]
challenges.sbsg_desc=地牢中的神秘魔力让一些生物发生了重大的变化\n-所有生物都会因为突变激素变得各不相同,给探索地牢的脚步带来更大的困难。\n-敌人有6种突变类型,且除爆炸体和酸液体概率为5%后其余Roll出权重一致\n\n突变失败体:近战伤害减少35%,移速提高到1.3。\n\n突变爆炸体:移速减少50%,攻击力降低30%,但死亡时拥有爆炸伤害。\n\n突变完全体:移速和攻击力各提高25%,且拥有30%伤害减免。\n\n突变危险体:攻击力提升20%,攻击有10%概率造成流血。死亡时有5%概率立刻向本层发出警报。\n\n突变烟雾体:攻击力减少10%,攻击范围+2攻击敌人10%概率造成眩晕……\n\n突变酸液体:敌人获得额外远程技能,攻击范围+6造成自身可造成的伤害20%的额外法术伤害并有概率随机产生一种有害烟雾(酸雾,毒雾,眩雾)\n\n_特别说明如果开启精英强敌词条会和精英词条可能共存于一个怪物,届时你将遭遇更大的挑战_
challenges.exsg = ]药水癔症]
challenges.exsg_desc=药水癔症详细规则:\n力量药水--60%概率力量-1且冰冻10回合\n灵视药剂--60%概率喝后失明5回合\n隐形药剂--60%概率喝后立刻怒吼\n极速药剂--60%概率喝后立刻残废8回合\n==========================\n小型口粮-吃后立刻获得极速4回合\n冷冻生肉片-吃后获得奥术护盾\n全肉大饼-吃后立刻获得8回合极速,且有大概率+1力量(_随着力量的追加获得力量的概率会渐渐变低_)\n\n高级药水_(合剂/魔药)_不受影响\n不知道何种原因大部分正面药水你都感觉有毒\n你的臆想会导致药水有毒,但食物却会很有用!而且地牢里面还会追加自动售货机,会售卖一些更加高级的东西。
challenges.exsg_desc=药水癔症详细规则:\n力量药水--60%概率力量-1且冰冻10回合\n灵视药剂--60%概率喝后失明5回合\n隐形药剂--60%概率喝后立刻怒吼\n极速药剂--60%概率喝后立刻残废8回合\n==========================\n小型口粮-吃后立刻获得极速4回合\n冷冻生肉片-吃后获得奥术护盾\n全肉大饼-吃后立刻获得8回合极速,且有大概率+1力量(_英雄力量低于12时则必定增加力量随着力量的追加获得力量的概率会渐渐变低_)\n\n高级药水_(合剂/魔药)_不受影响\n不知道何种原因大部分正面药水你都感觉有毒\n你的臆想会导致药水有毒,但食物却会很有用!而且地牢里面还会追加自动售货机,会售卖一些更加高级的东西。
challenges.icedied = 雪虐风饕(未完成)
challenges.icedied_desc=很显然,地牢的雪越下越大了,在这严寒里面,生存的法则将进一步让我们活得更久。\n篝火房间一旦被激活不再无限变成40回合的寒冷抑制商人会贩卖更多特殊物品。

View File

@ -11,6 +11,12 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MindVision;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Blacksmith;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Ghost;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Imp;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Wandmaker;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.RedDragon;
import com.shatteredpixel.shatteredpixeldungeon.custom.messages.M;
import com.shatteredpixel.shatteredpixeldungeon.custom.utils.Constants;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
@ -52,6 +58,7 @@ public class LevelTeleporter extends TestItem {
private static final String AC_VIEW = "view";
private static final String AC_TP = "teleport";
private static final String AC_INTER_TP = "interlevel_tp";
private static final String AC_RESET = "reset";
@Override
public ArrayList<String> actions(Hero hero ) {
@ -61,6 +68,7 @@ public class LevelTeleporter extends TestItem {
actions.add(AC_VIEW);
actions.add(AC_TP);
actions.add(AC_INTER_TP);
actions.add(AC_RESET);
return actions;
}
@ -108,6 +116,52 @@ public class LevelTeleporter extends TestItem {
return;
}
GameScene.show(new WndSelectLevel());
}else if (action.equals(AC_RESET)) {
switch (Dungeon.depth){
case 2:
case 3:
case 4:
for (Mob m: Dungeon.level.mobs){
if (m instanceof Ghost) {
Ghost.Quest.reset();
}
}
break;
case 7:
case 8:
case 9:
for (Mob m: Dungeon.level.mobs){
if (m instanceof Wandmaker) {
Wandmaker.Quest.reset();
}
}
break;
case 12:
case 13:
case 14:
for (Mob m: Dungeon.level.mobs){
if (m instanceof Blacksmith) {
Blacksmith.Quest.reset();
}
if(m instanceof RedDragon){
RedDragon.Quest.reset();
}
}
break;
case 17:
case 18:
case 19:
for (Mob m: Dungeon.level.mobs){
if (m instanceof Imp) {
Imp.Quest.reset();
}
}
break;
}
if(Dungeon.level.locked)
Dungeon.level.unseal();
InterlevelScene.mode = InterlevelScene.Mode.RESET;
Game.switchScene(InterlevelScene.class);
}
}

View File

@ -53,6 +53,8 @@ public class MeatPie extends Food {
if(hero.STR<12){
hero.STR++;
hero.sprite.showStatus(CharSprite.POSITIVE, Messages.get(this, "eat_msg_1"));
GLog.p(Messages.get(this, "eat_msg_2"));
} else if(Random.Float() > (0.35f + (hero.STR/5f)/10f)){
hero.STR++;
hero.sprite.showStatus(CharSprite.POSITIVE, Messages.get(this, "eat_msg_1"));

View File

@ -537,7 +537,6 @@ public class InterlevelScene extends PixelScene {
private void reset() throws IOException {
Mob.holdAllies( Dungeon.level );
hero.HP += 20;
SpecialRoom.resetPitRoom(Dungeon.depth+1);
//Boss全局布尔控制