Update P3-PreTest2

This commit is contained in:
LingASDJ 2023-02-09 18:56:06 +08:00
parent 29f8e5284f
commit 1ec3158d7f
7 changed files with 111 additions and 13 deletions

View File

@ -17,7 +17,7 @@ allprojects {
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
appVersionCode =700925
appVersionName = '0.6.0.0-Beta21-p3-PreTest1'
appVersionName = '0.6.0.0-Beta21-p3-PreTest2'
appJavaCompatibility = JavaVersion.VERSION_1_8

View File

@ -169,8 +169,7 @@ scenes.interlevelscene.install=安装游戏
scenes.interlevelscene.file_not_found=未能找到存档文件。如果重启后问题依旧存在, 那这个存档可能已经损坏。节哀顺变。
scenes.interlevelscene.io_error=未能找到存档文件。如果重启后问题依旧存在, 那这个存档可能已经损坏。节哀顺变。
scenes.introscene.text=在你之前,曾经有很多来自上方城镇的英雄向这个地城进发。有的人带回了财宝和魔法道具,而大多数人彻底销声匿迹。\n\n不过从未有人能成功到达过底层染指Yendor护符传说它被深渊中的远古邪物守卫着哪怕是现在黑暗之力也从地下辐射而来一路渗透到城镇中。\n\n你认为你准备好接受挑战了更重要的是你觉得命运女神正对你微笑. 是时候开始你自己的冒险了!
scenes.introscene.text=自宇宙诞生以来,我们的创世神便创造了圣灵之心并建立了我们最初的家园。\n时间不知道过了多久由于创世神需要离开家园于是便创造了三个管理者。\n并嘱咐他们一定要守护好这里。创世神始终放不下他们于是将圣灵之心力量的一半给予了三个管理者三个管理者叫了一名工匠帮忙制作。于是水晶之心就此诞生……\n然而好景不长。一名管理者突然下落不明就在同时另外两个管理者所管理的国度开始受到了未知的毁灭性的袭击。战火蔓延到了每一个角落但创世神早已离去……\n无奈之下其中一名的管理者出来发动了一个禁忌魔法一瞬间袭击停止了。但这名管理者也消耗了自己的四分之一的生命。并且由于袭击过于庞大战后的鬼魂与怨念仍然是头号危机。危急之下创世神突然归来并使用水晶之心将全部污秽净化并用水晶之心把所有的灵体镇压随后将它放在三国交界处的废弃地牢深处之中。\n但这一做创世神违背了天地平衡故此也没有人再记得她。\n所有关于她的记忆她的传说被一并消除。\n3个世纪后……\n当时的三大管理者如今已成为地表三巨头。\n关于那个地牢近期有传言称里面的环境越来越不稳定且还有垂涎于水晶之心的人前往。\n你也是其中的一员你会找到真相吗是时候开始你自己的冒险了
scenes.newsscene.title=游戏动态情报
scenes.newsscene.read_more=查阅更多
scenes.newsscene$newsinfo.english_warn=新闻仅能由开发者以中文撰写。

View File

@ -353,9 +353,9 @@ windows.wndsettings$langstab.credits=制作名单
windows.wndsettings$langstab.reviewers=审核员
windows.wndsettings$langstab.translators=翻译员
windows.wndstory.sewers=这里是荒废已久的地牢\n\n相传这地牢以前曾经繁荣昌盛过\n\n直到她的介入后这个地牢变得危机四伏\n\n现在这个地牢的居民都是被黑魔法感染的怪物\n\n你现在来到这里是为了寻找300年前的真相\n\n你必须一路走下去\n\n现在已经不可能再回头了
windows.wndstory.sewers=繁茂的林木构筑成了地牢的表层部分。尽管还没进入地牢,地底深处的黑暗能量却是已经渗透到地表了。\n这里的树木相较于其他地方更为浓密即使是在白天也很难见到阳光。\n不过黑暗能量对这儿的影响似乎仅限于此——如果你不在乎那些莫名其妙出现的小生物那这儿也和其他树林茂密的森林没什么两样
windows.wndstory.sewersboss=这里人迹罕至,这里寒冷降至。\n\n但这里却被它的烈焰燃烧
windows.wndstory.sewersboss=森林的底部并不像往常那样只有树根,而是遍布着翠绿的藤蔓。\n它们编织成一张大网将所有不慎跌落谷底的生命体供给给中间那粒鲜红的果实。\n这里是森林一切生命力的源泉这里是森林之肺。
windows.wndstory.prison=多年以前一座地下监狱为了收容危险的犯罪者而建立于此。由于其严格的监管和高安全性,地表各处的囚犯都被带到这里经受时间的折磨。 \n\n但不久之后下方充斥着黑暗的瘴气在这里弥漫开来扭曲了罪犯和狱卒的心智。\n\n监狱里充斥开来的混乱使其彻底失去了秩序于是城市封锁了整个监狱。现今已经没有人知道这些高墙之下经历过无数死亡的生物究竟会是什么样子...\n\n现在这里已经乱套你只能将所有东西全部杀掉。
@ -386,7 +386,8 @@ windows.wndstory.new=在击败了Yog古神后似乎一切变得平静下来
\nMLPD\
--\n\n-
windows.wndstory.forest=剧情待补充……
windows.wndstory.forest=据说宝物那里是一个地牢,十分的危险且不可侵犯。各种恶毒的魔法和邪恶的诅咒在那里汇聚而成……\n也有传言说道水晶之心是镇压地牢的污秽之气的不能拿走否则会出大乱子的……\n尽管地表三巨头不希望各位前往地牢可仍然有数百万的冒险家不顾危险为了水晶之心这个无价的宝藏前往地牢而最终却没一人生还。\n你也是其中的一员你信心满满就好似有幸运女神眷顾一样。\n你踏上了征途踏上了这条名为水晶之心的试炼之路。
windows.wndtradeitem.stole=抢劫商店
windows.wndtradeitem.oks=进行对话
windows.wndstory.dm920=Yog-Dzewa的陨落其实背后有太多的秘密。\nYog的后面是一个连Yog都害怕的一个DM终极实验品\n它是造成矮人国度堕落的元凶它是灾难的象征\n它是曾经的死灵军团的杀手锏它是死亡的代言词\n它是连Yog-Dzewa都要敬畏它三分的DM920,\n你需直面你不可逃避你的路途就是为此而来。\n已经没有退路唯有放手一搏无论它是真是假\n但你明白不击败他死的就只能是自己

Binary file not shown.

View File

@ -1,7 +1,11 @@
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
import static com.shatteredpixel.shatteredpixeldungeon.Statistics.crivusfruitslevel2;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.BRatKingRoom;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.ForestBossLasherTWOPos;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.RatKingRoom;
import static com.shatteredpixel.shatteredpixeldungeon.levels.ForestBossLevel.WIDTH;
import static com.shatteredpixel.shatteredpixeldungeon.levels.Level.set;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
@ -24,12 +28,12 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey;
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.CrivusFruitsSprite;
import com.shatteredpixel.shatteredpixeldungeon.ui.BossHealthBar;
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
import com.watabou.noosa.audio.Sample;
@ -53,9 +57,7 @@ public class CrivusFruits extends Mob {
//无敌也要扣减
public static class DiedDamager extends Buff {
public int icon() {
return BuffIndicator.COMBO;
}
@Override
public boolean act() {
if (target.alignment != Alignment.ENEMY){
@ -127,6 +129,23 @@ public class CrivusFruits extends Mob {
}
Sample.INSTANCE.play( Assets.Sounds.CHALLENGE );
this.sprite.showStatus(CharSprite.NEGATIVE, "!!!");
//在二阶段就应该构建好房间
//A号鼠王房间
for (int i : RatKingRoom) {
set( i, Terrain.WALL );
GameScene.updateMap( i );
set( WIDTH*11+6, Terrain.DOOR );
GameScene.updateMap( WIDTH*11+6 );
}
//B号鼠王房间
for (int i : BRatKingRoom) {
set( i, Terrain.WALL );
GameScene.updateMap( i );
set( WIDTH*11+25, Terrain.DOOR );
GameScene.updateMap( WIDTH*11+25 );
}
}
//三阶段
@ -144,6 +163,8 @@ public class CrivusFruits extends Mob {
//红雾弥漫
public static class DiedBlobs extends Blob implements Hero.Doom {
//Boss死亡后改变描述
@Override
public String tileDesc() {
return Messages.get(this, Dungeon.hero.buff(LockedFloor.class) != null? "desc" : "csed" );

View File

@ -7,7 +7,10 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.CrivusFruits;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.CrivusFruitsLasher;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.RatKing;
import com.shatteredpixel.shatteredpixeldungeon.effects.Ripple;
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
import com.shatteredpixel.shatteredpixeldungeon.items.Gold;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
@ -27,9 +30,12 @@ public class ForestBossLevel extends Level {
}
//二选一
@Override
protected void createItems() {
drop( ( Generator.randomUsingDefaults( Generator.Category.POTION ) ), this.width * 28 + 10 );
drop( ( Generator.randomUsingDefaults( Generator.Category.SCROLL ) ), this.width * 28 + 22 );
}
public static final int WIDTH = 32;
@ -89,6 +95,56 @@ public class ForestBossLevel extends Level {
WIDTH*11+22,
};
//鼠王的A号房间
public static int[] RatKingRoom = new int[]{
WIDTH*13+6, WIDTH*9+6, WIDTH*5+6,
WIDTH*8+6, WIDTH*4+6, WIDTH+6,
WIDTH*12+6, WIDTH*7+6, WIDTH*3+6,
WIDTH*10+6, WIDTH*6+6, WIDTH*2+6,
};
//鼠王的B号房间
public static int[] BRatKingRoom = new int[]{
WIDTH+25, WIDTH*5+25, WIDTH*10+25,
WIDTH*2+25, WIDTH*6+25,
WIDTH*3+25, WIDTH*7+25,
WIDTH*4+25, WIDTH*8+25,
WIDTH*12+25, WIDTH*9+25,
};
//鼠王和它的宝藏A号区域
public static int[] RatKingRoomASpawn = new int[]{
WIDTH*12+5, WIDTH*12+1,WIDTH*12+2,
WIDTH*10+5, WIDTH*11+1,WIDTH*12+3,
WIDTH*9+5, WIDTH*10+1,WIDTH*12+4,
WIDTH*8+5, WIDTH*9+1,
WIDTH*7+5, WIDTH*8+1,
WIDTH*6+5, WIDTH*7+1,
WIDTH*5+5, WIDTH*6+1,
WIDTH*4+5, WIDTH*5+1,
WIDTH*3+5, WIDTH*4+1,
WIDTH*2+5, WIDTH*3+1,
WIDTH+5, WIDTH*2+1,
WIDTH+1,
WIDTH+2,
WIDTH+3,
WIDTH+4
};
//鼠王和它的宝藏B号区域
public static int[] RatKingRoomBSpawn = new int[]{
WIDTH+26,WIDTH*2+26,WIDTH*3+26,WIDTH*4+26,
WIDTH*5+26,WIDTH*6+26,WIDTH*7+26,WIDTH*8+26,
WIDTH*9+26,WIDTH*10+26,WIDTH*12+26,
WIDTH+30,WIDTH*2+30,WIDTH*3+30,WIDTH*4+30,
WIDTH*5+30,WIDTH*6+30,WIDTH*7+30,WIDTH*8+30,
WIDTH*9+30,WIDTH*10+30,WIDTH*12+30,WIDTH*11+30,
WIDTH*12+27,WIDTH*12+28,WIDTH*12+29,
WIDTH+27,WIDTH+28,WIDTH+29,
};
@Override
public void occupyCell( Char ch ) {
@ -140,7 +196,28 @@ public class ForestBossLevel extends Level {
GameScene.updateMap( i );
}
switch(Random.NormalIntRange(1,6)){
case 1:case 2:case 3:
for (int i : RatKingRoomASpawn) {
drop(new Gold( Random.IntRange( 10, 25 )),i);
}
RatKing king = new RatKing();
king.pos = WIDTH*7+3;
GameScene.add(king);
break;
case 4: case 5: case 6:
for (int i : RatKingRoomBSpawn) {
drop(new Gold( Random.IntRange( 10, 25 )),i);
}
RatKing king2 = new RatKing();
king2.pos = WIDTH*7+28;
GameScene.add(king2);
break;
}
Dungeon.observe();
}
//地图结构

View File

@ -447,9 +447,9 @@ public class GameScene extends PixelScene {
case 1:
WndStory.showChapter( WndStory.ID_SEWERS );
break;
// case 5:
// WndStory.showChapter( WndStory.ID_SEWERSBOSS );
// break;
case 5:
WndStory.showChapter( WndStory.ID_SEWERSBOSS );
break;
case 6:
WndStory.showChapter( WndStory.ID_PRISON );
break;