upate 0.6.5.0-Alpha6-Patch4
1.修复了部分UI错误 2.开发者模式追加武器生成秘卷 3.PC端快捷键实装与优化 4.部分文案调整优化 5.变幻莫测地形优化,以及十字架不能携带入战斗场地
This commit is contained in:
parent
189b4b1d40
commit
062f2f98f3
|
@ -18,8 +18,8 @@ allprojects {
|
|||
appName = 'Magic Ling Pixel Dungeon'
|
||||
appPackageName = 'com.ansdomagiclingpixeldungeon.ling'
|
||||
|
||||
appVersionCode =913000
|
||||
appVersionName = '0.6.5.0-Alpha6-Patch3'
|
||||
appVersionCode =914000
|
||||
appVersionName = '0.6.5.0-Alpha6-Patch4'
|
||||
|
||||
appJavaCompatibility = JavaVersion.VERSION_1_8
|
||||
|
||||
|
|
BIN
core/src/main/assets/interfaces/bosslogo/dm300or-clear.png
Normal file
BIN
core/src/main/assets/interfaces/bosslogo/dm300or-clear.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
core/src/main/assets/interfaces/bosslogo/dm300or-title.png
Normal file
BIN
core/src/main/assets/interfaces/bosslogo/dm300or-title.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
|
@ -6,7 +6,7 @@ actors.mobs.blackmimic.desc=宝箱怪是一种能随意改变外形的魔法生
|
|||
actors.mobs.flowerslime.name=丛林繁花史莱姆
|
||||
actors.mobs.flowerslime.desc= 在丛林中随处可见的生物,原本应该是比较温顺的一种生物,可能是受到地牢诅咒影响,它们也开始主动袭击过往的人类。\n\n史莱姆的身体富有粘性,很显然,这个史莱姆身上沾满了这片地区的植物,也许上面还有些种子。
|
||||
|
||||
actors.mobs.olddm300.name=DM300-原型机
|
||||
actors.mobs.olddm300.name=DM275-原型机
|
||||
actors.mobs.olddm300.desc=这台机器是DM300量产前,矮人王国研发的原型试验机,由于其较为笨重的原因,原型机已被废弃,你现在看见的这台应该是最后一台!\n\n在燃料耗尽前可以进行极大范围的远程攻击,在水面移动时可以进行自我修复并填装一定的燃料但会蒸发水面。血量低于一定比列后立刻吸收本层所有DM201的能量给自己生成护盾,同时被吸收能量的DM201也会立刻被关闭。
|
||||
actors.mobs.olddm300.notice=侦察到入侵者……
|
||||
actors.mobs.olddm300.defeated=系统能量不足,自动关……
|
||||
|
@ -494,10 +494,10 @@ custom.testmode.mobplacer.forbidden=你不能在这里放置怪物。
|
|||
custom.testmode.mobplacer.prompt=选择目标地点
|
||||
custom.testmode.mobplacer.elite=精英词缀数量
|
||||
|
||||
custom.testmode.spawnweapon.name=武器生成器
|
||||
custom.testmode.spawnweapon.desc=遇到困难睡大觉
|
||||
custom.testmode.spawnweapon.name=武器生成秘卷
|
||||
custom.testmode.spawnweapon.desc=生成需要的武器以及属性。\n\n原作者:Alexstrasza\n\n复刻者:潘多拉\n\n优化者:KDSALing
|
||||
custom.testmode.spawnweapon.ac_spawn=生成
|
||||
name = 楽
|
||||
name = 请先选择附魔种类,然后会出现对应的编号。\n\n通过下方滑块滑动选择对应的编号即可。
|
||||
custom.testmode.spawnweapon$weaponsetting.selected=选择
|
||||
|
||||
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
|
||||
### 特别武器
|
||||
|
||||
items.weapon.melee.icedewvialsword.name=露水神剑-冰
|
||||
items.weapon.melee.icedewvialsword.desc=WIP
|
||||
|
||||
items.quest.red.name=白玫瑰
|
||||
items.quest.red.desc=在这危险而阴森的地牢中,这朵白玫瑰仿佛刺破了周遭的黑暗,向你展示着名为“人文”的力量。
|
||||
items.quest.red.ac_interlevel_tp=返回
|
||||
|
@ -373,12 +376,12 @@ items.food.alldrink.name=全能治疗饮料
|
|||
items.food.alldrink.eat_msg=你感觉你又满血复活了。
|
||||
items.food.alldrink.desc=由三个治疗药水通过回忆的技术造就了这个全能治疗饮料。\n使用者可以有一段时间的治疗,且处于饱腹阶段。
|
||||
|
||||
items.scrolls.scrollofflamecursed.name=极度秘卷
|
||||
items.scrolls.scrollofflamecursed.desc=极,代表着严寒。度,代表着炎热。奇异的魔法能量被禁锢在秘卷羊皮纸内,当这股能量被释放时会发出_耀眼的紫色审判光芒_,视野中的所有敌人都会被秘卷蕴藏的魔法力量审判,造成致命的霜火效果,霜火根据玩家的面板伤害提升。 \n\n由于这个秘卷有专属标识,所以无需被鉴定。
|
||||
items.scrolls.scrollofflamecursed.name=烈焰噩梦秘卷
|
||||
items.scrolls.scrollofflamecursed.desc=烈焰噩梦秘卷可以产生异常危险的霜火,对任何可见敌人造成致命的伤害。\n\n由于这个秘卷有专属标识,所以无需被鉴定。
|
||||
items.scrolls.scrollofflamecursed.none=这个卷轴产生了一阵耀眼的幻蓝光芒。
|
||||
items.scrolls.scrollofflamecursed.one=这个卷轴产生了一阵耀眼的幻蓝光芒的同时%s被点燃了!
|
||||
items.scrolls.scrollofflamecursed.many=这个卷轴产生了一阵耀眼的幻蓝光芒的同时怪物们被点燃了!
|
||||
items.scrolls.scrollofflamecursed.null=极度秘卷
|
||||
items.scrolls.scrollofflamecursed.null=烈焰噩梦秘卷
|
||||
|
||||
items.potions.exotic.potionofholyfuror.name=神圣祝福合剂
|
||||
items.potions.exotic.potionofholyfuror.desc=神圣的能量被浓缩为液态,这瓶合剂能够赐予你更长时间的祝福。
|
||||
|
|
|
@ -6,6 +6,8 @@ levels.features.chasm.jump=你确定要跳入洞口中?从这么高的地方
|
|||
levels.features.chasm.ondeath=你落地过猛摔死了……
|
||||
levels.features.chasm.rankings_desc=死于撞击
|
||||
|
||||
levels.level.weapon=不能在迷你Boss战中使用十字架,已自动将你的十字架转移到入口处。
|
||||
|
||||
levels.rooms.standard.magicdimandroom$chestmarker.name=暴风雪莹标记
|
||||
levels.rooms.standard.magicdimandroom$chestmarker.desc=一个神秘的标记,是谁在这里设计的呢?
|
||||
|
||||
|
|
|
@ -115,6 +115,9 @@ public class Assets {
|
|||
public static final String QliPhoth_Title = "interfaces/bosslogo/qliphoth-title.png";
|
||||
public static final String QliPhoth_Clear = "interfaces/bosslogo/qliphoth-clear.png";
|
||||
|
||||
public static final String DMOR_Title = "interfaces/bosslogo/dm300or-title.png";
|
||||
public static final String DMOR_Clear = "interfaces/bosslogo/dm300or-clear.png";
|
||||
|
||||
public static final String SakaBJY_Title = "interfaces/bosslogo/sakabjy-title.png";
|
||||
public static final String SakaBJY_Clear = "interfaces/bosslogo/sakabjy-clear.png";
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.AlarmTrap;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.DM300SpiderSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.DM275Sprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BossHealthBar;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
|
@ -59,7 +59,7 @@ import com.watabou.utils.Random;
|
|||
public class OldDM300 extends FlameB01 {
|
||||
|
||||
{
|
||||
spriteClass = DM300SpiderSprite.class;
|
||||
spriteClass = DM275Sprite.class;
|
||||
state = PASSIVE;
|
||||
HP = HT = 270;
|
||||
EXP = 30;
|
||||
|
@ -189,6 +189,7 @@ public class OldDM300 extends FlameB01 {
|
|||
if (!BossHealthBar.isAssigned()) {
|
||||
BossHealthBar.assignBoss(this);
|
||||
yell(Messages.get(this, "notice"));
|
||||
GameScene.bossReady();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -256,8 +257,11 @@ public class OldDM300 extends FlameB01 {
|
|||
@Override
|
||||
public void restoreFromBundle(Bundle bundle) {
|
||||
super.restoreFromBundle(bundle);
|
||||
if (state == HUNTING){
|
||||
BossHealthBar.assignBoss(this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@ public class SakaFishBoss extends Boss {
|
|||
protected boolean act() {
|
||||
Actor.remove(this);
|
||||
HP = (HT/2);
|
||||
yell(Messages.get(this, "interesting"));
|
||||
yell(Messages.get(SakaFishBoss.class, "interesting"));
|
||||
((AncientMysteryCityBossLevel)Dungeon.level).progress();
|
||||
BossHealthBar.bleed(true);
|
||||
return true;
|
||||
|
|
|
@ -115,7 +115,7 @@ public class GooMob extends Mob {
|
|||
AlarmTrap alarmTrap = new AlarmTrap();
|
||||
alarmTrap.pos = pos;
|
||||
alarmTrap.activate();
|
||||
ScrollOfTeleportation.appear(hero, pos+4);
|
||||
ScrollOfTeleportation.appear(hero, pos+3);
|
||||
tell(Messages.get(this, "notice"));
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ public class GooMob extends Mob {
|
|||
AlarmTrap alarmTrap = new AlarmTrap();
|
||||
alarmTrap.pos = pos;
|
||||
alarmTrap.activate();
|
||||
ScrollOfTeleportation.appear(hero, pos+4);
|
||||
ScrollOfTeleportation.appear(hero, pos+3);
|
||||
tell(Messages.get(this, "notice"));
|
||||
}
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ public class GooMob extends Mob {
|
|||
if (state == PASSIVE) {
|
||||
state = HUNTING;
|
||||
notice();
|
||||
ScrollOfTeleportation.appear(hero, pos+1);
|
||||
ScrollOfTeleportation.appear(hero, pos+3);
|
||||
SewerLevel level = (SewerLevel) Dungeon.level;
|
||||
level.seal();
|
||||
level.updateChasmTerrain();
|
||||
|
@ -326,13 +326,10 @@ public class GooMob extends Mob {
|
|||
public void restoreFromBundle( Bundle bundle ) {
|
||||
|
||||
super.restoreFromBundle( bundle );
|
||||
|
||||
pumpedUp = bundle.getInt( PUMPEDUP );
|
||||
|
||||
if(Dungeon.isChallenged(MOREROOM)){
|
||||
if (state != SLEEPING) BossHealthBar.assignBoss(this);
|
||||
if ((HP*2 <= HT)) BossHealthBar.bleed(true);
|
||||
if (state == HUNTING){
|
||||
BossHealthBar.assignBoss(this);
|
||||
}
|
||||
pumpedUp = bundle.getInt( PUMPEDUP );
|
||||
|
||||
//if check is for pre-0.9.3 saves
|
||||
healInc = bundle.getInt(HEALINC);
|
||||
|
|
|
@ -44,6 +44,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.WndTextNumberInput;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndError;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndSadGhost;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Image;
|
||||
|
@ -57,7 +58,7 @@ import java.util.Objects;
|
|||
|
||||
public class SpawnWeapon extends TestItem{
|
||||
{
|
||||
image = ItemSpriteSheet.CANDLE;
|
||||
image = ItemSpriteSheet.DG25;
|
||||
defaultAction = AC_SPAWN;
|
||||
}
|
||||
|
||||
|
@ -273,7 +274,7 @@ public class SpawnWeapon extends TestItem{
|
|||
createWeaponImage(AllWeapon);
|
||||
|
||||
// 创建附魔信息文本块
|
||||
Text_EnchantInfo = PixelScene.renderTextBlock("", 5);
|
||||
Text_EnchantInfo = PixelScene.renderTextBlock("", 6);
|
||||
Text_EnchantInfo.text(getEnchantInfo(getEnchant(enchant_rarity, enchant_id)));
|
||||
add(Text_EnchantInfo);
|
||||
|
||||
|
@ -311,20 +312,27 @@ public class SpawnWeapon extends TestItem{
|
|||
add(CheckBox_Curse);
|
||||
|
||||
// 创建武器等级按钮
|
||||
Button_Level = new RedButton(" ") {
|
||||
Button_Level = new RedButton("尚未选择武器") {
|
||||
@Override
|
||||
protected void onClick() {
|
||||
if(!Button_Level.text().equals("尚未选择武器")){ // 修改此行代码
|
||||
Game.runOnRenderThread(() -> ShatteredPixelDungeon.scene().add(new WndTextNumberInput(
|
||||
"自定义武器等级", "输入要生成的武器的等级", Integer.toString(weapon_level),
|
||||
10, false, Messages.get(WndSadGhost.class, "confirm"),
|
||||
"自定义武器等级", "输入要生成的武器的等级,非数字会被自动处理,同时也不能超过INT的最大值2,147,483,647",
|
||||
Integer.toString(weapon_level),
|
||||
9, false, Messages.get(WndSadGhost.class, "confirm"),
|
||||
Messages.get(WndSadGhost.class, "cancel")) {
|
||||
@Override
|
||||
public void onSelect(boolean check, String text) {
|
||||
|
||||
if (check && text.matches("\\d+")) {
|
||||
weapon_level = Integer.parseInt(text);
|
||||
int level = Integer.parseInt(text);
|
||||
weapon_level = Math.min(level, Integer.MAX_VALUE);
|
||||
}
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
Game.scene().add( new WndError( "必须选择武器才能打开等级设定界面!" ) );
|
||||
}
|
||||
}
|
||||
};
|
||||
add(Button_Level);
|
||||
|
@ -466,10 +474,15 @@ public class SpawnWeapon extends TestItem{
|
|||
private void updateEnchantText() {
|
||||
StringBuilder info = new StringBuilder();
|
||||
if (enchant_rarity == 0) {
|
||||
info = new StringBuilder("无附魔");
|
||||
info = new StringBuilder("请先选择附魔种类,然后会出现对应的编号。\n\n通过下方滑块滑动选择对应的编号即可。");
|
||||
} else {
|
||||
for (int i = 0; i < getEnchantCount(enchant_rarity); i++) {
|
||||
info.append(i + 1).append(":").append(getEnchantInfo(getEnchant(enchant_rarity, i))).append(" ");
|
||||
|
||||
// 添加换行判断
|
||||
if ((i + 1) % 4 == 0) {
|
||||
info.append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
Text_EnchantInfo.text(info.toString());
|
||||
|
|
|
@ -23,12 +23,14 @@ package com.shatteredpixel.shatteredpixeldungeon.levels;
|
|||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.SIGN;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Blacksmith;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.RedDragon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.CavesPainter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||
|
@ -50,6 +52,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
|
@ -116,6 +119,17 @@ public class CavesLevel extends RegularLevel {
|
|||
GameScene.updateMap(i); // 更新地图显示
|
||||
GameScene.flash(Window.WATA_COLOR);
|
||||
}
|
||||
if (map[i] == SIGN) {
|
||||
// 将 SIGN 地块改为新地形
|
||||
set(i, Terrain.WATER);
|
||||
GameScene.updateMap(i); // 更新地图显示
|
||||
}
|
||||
Ankh weapon = Dungeon.hero.belongings.getItem(Ankh.class);
|
||||
if (weapon != null) {
|
||||
Dungeon.level.drop(weapon, entrance).sprite.drop();
|
||||
weapon.detachAll(hero.belongings.backpack);
|
||||
GLog.w(Messages.get(Level.class,"weapon"));
|
||||
}
|
||||
GameScene.flash(Window.SKYBULE_COLOR);
|
||||
playBGM(Assets.BGM_BOSSC, true);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels;
|
|||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.BGMPlayer.playBGM;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.SIGN;
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.SIGN_SP;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
|
@ -30,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Ghost;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Ripple;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Ankh;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.JunglePainter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -48,6 +50,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
|
@ -91,7 +94,7 @@ public class SewerLevel extends RegularLevel {
|
|||
synchronized (map){
|
||||
for (int i = 0; i < map.length; i++) {
|
||||
if (map[i] == SIGN_SP) {
|
||||
// 将 EMPTY_DECO 地块改为新地形
|
||||
// 将 SIGN_SP 地块改为新地形
|
||||
set(i, Terrain.LOCKED_EXIT);
|
||||
GameScene.updateMap(i); // 更新地图显示
|
||||
Camera.main.shake(3f,6f);
|
||||
|
@ -101,6 +104,17 @@ public class SewerLevel extends RegularLevel {
|
|||
set(i, Terrain.EMPTY);
|
||||
GameScene.updateMap(i); // 更新地图显示
|
||||
}
|
||||
if (map[i] == SIGN) {
|
||||
// 将 SIGN 地块改为新地形
|
||||
set(i, Terrain.WATER);
|
||||
GameScene.updateMap(i); // 更新地图显示
|
||||
}
|
||||
Ankh weapon = Dungeon.hero.belongings.getItem(Ankh.class);
|
||||
if (weapon != null) {
|
||||
Dungeon.level.drop(weapon, entrance).sprite.drop();
|
||||
weapon.detachAll(hero.belongings.backpack);
|
||||
GLog.w(Messages.get(Level.class,"weapon"));
|
||||
}
|
||||
playBGM(Assets.BGM_BOSSA, true);
|
||||
GameScene.flash(Window.DeepPK_COLOR);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.ClearElemental;
|
||||
|
@ -8,6 +9,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Guard;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Salamander;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.spical.GooMob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -33,6 +37,7 @@ import com.shatteredpixel.shatteredpixeldungeon.tiles.CustomTilemap;
|
|||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.Tilemap;
|
||||
import com.watabou.utils.Point;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class GooRoom extends SpecialRoom {
|
||||
|
||||
|
@ -67,9 +72,18 @@ public class GooRoom extends SpecialRoom {
|
|||
int cy = c.y;
|
||||
|
||||
for (Door door : connected.values()) {
|
||||
door.set( Door.Type.REGULAR );
|
||||
door.set( Door.Type.CRYSTAL );
|
||||
}
|
||||
|
||||
int KeyPos = (top + 10) * level.width() + left + 10;
|
||||
|
||||
int L1Pos = (top + 6) * level.width() + left + 6;
|
||||
|
||||
level.drop( new CrystalKey( Dungeon.depth ), L1Pos).type = Heap.Type.SKELETON;
|
||||
|
||||
level.drop( new CrystalKey( Dungeon.depth ), KeyPos).type = Heap.Type.CHEST;
|
||||
level.addItemToSpawn( new PotionOfMindVision());
|
||||
|
||||
for(Point p : getPoints()) {
|
||||
int cell = level.pointToCell(p);
|
||||
if (level.map[cell] == Terrain.TRAP){
|
||||
|
@ -90,17 +104,38 @@ public class GooRoom extends SpecialRoom {
|
|||
Painter.drawCircle(level, c, 7, Terrain.WATER);
|
||||
Painter.drawCircle(level, c, 5, Terrain.EMPTY);
|
||||
Painter.drawCircle(level, c, 3, Terrain.WATER);
|
||||
Painter.drawCircle(level, c, 2, Terrain.STATUE);
|
||||
Painter.drawCircle(level, c, 2, Terrain.SIGN);
|
||||
Painter.drawCircle(level, c, 0, Terrain.WATER);
|
||||
|
||||
Painter.set(level, cx, cy - 1, Terrain.WATER);
|
||||
Painter.set(level, cx+1, cy - 1, Terrain.WATER);
|
||||
Painter.set(level, cx-1, cy - 1, Terrain.WATER);
|
||||
Painter.set(level, cx+1, cy + 1, Terrain.WATER);
|
||||
Painter.set(level, cx-1, cy + 1, Terrain.WATER);
|
||||
Painter.set(level, cx+1, cy, Terrain.WATER);
|
||||
Painter.set(level, cx-1, cy, Terrain.WATER);
|
||||
Painter.set(level, cx, cy + 1, Terrain.WATER);
|
||||
Painter.set(level, cx, cy - 4, Terrain.STATUE);
|
||||
|
||||
Painter.set(level, cx+4, cy,Terrain.STATUE);
|
||||
Painter.set(level, cx-4, cy, Terrain.STATUE);
|
||||
|
||||
Painter.set(level, cx, cy + 4, Terrain.STATUE);
|
||||
|
||||
Painter.set(level, cx, cy - 7, Terrain.WALL);
|
||||
|
||||
Painter.set(level, cx+7, cy,Terrain.WALL);
|
||||
|
||||
Painter.set(level, cx-7, cy, Terrain.WALL);
|
||||
|
||||
Painter.set(level, cx, cy + 7, Terrain.WALL);
|
||||
|
||||
switch (Random.Int(4)){
|
||||
case 0:
|
||||
Painter.set(level, cx, cy - 7, Terrain.CRYSTAL_DOOR);
|
||||
break;
|
||||
case 1:
|
||||
Painter.set(level, cx+7, cy,Terrain.CRYSTAL_DOOR);
|
||||
break;
|
||||
case 2:
|
||||
Painter.set(level, cx-7, cy, Terrain.CRYSTAL_DOOR);
|
||||
break;
|
||||
case 3:
|
||||
Painter.set(level, cx, cy + 7, Terrain.CRYSTAL_DOOR);
|
||||
break;
|
||||
}
|
||||
|
||||
GooMob statue = new GooMob();
|
||||
statue.pos = cx + cy * level.width();
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM201;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.OldDM300;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
|
@ -48,9 +52,15 @@ public class OldDM300Room extends SpecialRoom {
|
|||
int cy = c.y;
|
||||
|
||||
for (Door door : connected.values()) {
|
||||
door.set( Door.Type.REGULAR );
|
||||
door.set( Door.Type.CRYSTAL );
|
||||
}
|
||||
|
||||
int KeyPos = (top + 20) * level.width() + left + 20;
|
||||
|
||||
level.drop( new CrystalKey( Dungeon.depth ), KeyPos).type = Heap.Type.CHEST;
|
||||
level.addItemToSpawn( new PotionOfMindVision());
|
||||
|
||||
|
||||
int pillarW = (width()-8)/2;
|
||||
int pillarH = (height()-8)/2;
|
||||
|
||||
|
@ -67,7 +77,8 @@ public class OldDM300Room extends SpecialRoom {
|
|||
Painter.drawCircle(level, c, 7, Terrain.STATUE);
|
||||
Painter.drawCircle(level, c, 6, Terrain.WATER);
|
||||
Painter.drawCircle(level, c, 5, Terrain.WATER);
|
||||
Painter.drawCircle(level, c, 2, Terrain.EMPTY);
|
||||
Painter.drawCircle(level, c, 2, Terrain.SIGN);
|
||||
Painter.drawCircle(level, c, 1, Terrain.WATER);
|
||||
|
||||
for(Point p : getPoints()) {
|
||||
int cell = level.pointToCell(p);
|
||||
|
|
|
@ -1528,6 +1528,11 @@ public class GameScene extends PixelScene {
|
|||
bossSlain.show( Window.CYELLOW, 0.3f, 5f);
|
||||
scene.showBanner(bossSlain);
|
||||
break;
|
||||
case 14:
|
||||
bossSlain.texture(Assets.Interfaces.DMOR_Title);
|
||||
bossSlain.show( Window.CBLACK, 0.3f, 5f);
|
||||
scene.showBanner(bossSlain);
|
||||
break;
|
||||
case -31:
|
||||
bossSlain.texture(Assets.Interfaces.SakaBJY_Title);
|
||||
bossSlain.show( Window.CYELLOW, 0.3f, 5f);
|
||||
|
@ -1565,6 +1570,11 @@ public class GameScene extends PixelScene {
|
|||
bossSlain.show( Window.CYELLOW, 0.3f, 5f);
|
||||
scene.showBanner(bossSlain);
|
||||
break;
|
||||
case 14:
|
||||
bossSlain.texture(Assets.Interfaces.DMOR_Clear);
|
||||
bossSlain.show( Window.GDX_COLOR, 0.3f, 5f);
|
||||
scene.showBanner(bossSlain);
|
||||
break;
|
||||
case -31:
|
||||
bossSlain.texture(Assets.Interfaces.SakaBJY_Clear);
|
||||
bossSlain.show( Window.CYELLOW, 0.3f, 5f);
|
||||
|
|
|
@ -15,13 +15,13 @@ public class DM300DeathBallSprite extends MobSprite
|
|||
texture("mobs/dm300deathballmode.png");
|
||||
TextureFilm texturefilm = new TextureFilm(texture, 21, 21);
|
||||
idle = new Animation(10, true);
|
||||
idle.frames(texturefilm, 0, Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3), Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3));
|
||||
idle.frames(texturefilm, 0, 1, 2, 3, 0, 1, 2, 3);
|
||||
run = new Animation(10, true);
|
||||
run.frames(texturefilm, Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(0), Integer.valueOf(1));
|
||||
run.frames(texturefilm, 0, 1, 0, 1, 0, 1, 0, 1);
|
||||
attack = new Animation(15, false);
|
||||
attack.frames(texturefilm, Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3));
|
||||
attack.frames(texturefilm, 0, 1, 2, 3);
|
||||
die = new Animation(20, false);
|
||||
die.frames(texturefilm, 4, 5, 4, Integer.valueOf(5), Integer.valueOf(4), Integer.valueOf(5), Integer.valueOf(4), Integer.valueOf(5));
|
||||
die.frames(texturefilm, 4, 5, 4, 5, 4, 5, 4, 5);
|
||||
play(idle);
|
||||
}
|
||||
|
||||
|
|
|
@ -145,6 +145,29 @@ public class vM0_6_7_X_Changes {
|
|||
changes.addButton(new ChangeButton(i, ("熔岩火龙"),
|
||||
("丛林暴乱的真相")));
|
||||
|
||||
changes = new ChangeInfo("v0.6.5.0-Alpha6-Patch4", 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(new ItemSprite(ItemSpriteSheet.DG25), ("开发者模式v0.5"),
|
||||
("新增武器生成秘卷,感谢潘多拉的代码制作和注解版的代码支持。")));
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), ("挑战:变幻莫测V0.3"),
|
||||
("修复了一堆问题,并改善了部分体验")));
|
||||
|
||||
changes = new ChangeInfo("改动", false, null);
|
||||
changes.hardlight(Window.CYELLOW);
|
||||
changeInfos.add(changes);
|
||||
|
||||
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), ("杂项修改"),
|
||||
("1.修复了部分文案问题\n\n" +
|
||||
"2.调整了一些底层代码" )));
|
||||
|
||||
changes = new ChangeInfo("v0.6.5.0-Alpha6.9-6.93-LAST", true, "");
|
||||
changes.hardlight(Window.TITLE_COLOR);
|
||||
changeInfos.add(changes);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.utils;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Chrome;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.PixelScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
|
||||
|
@ -176,6 +177,7 @@ public class WndTextNumberInput extends Window {
|
|||
super.offset(xOffset, yOffset);
|
||||
if (textBox != null){
|
||||
textBox.setRect(textBox.left(), textBox.top(), textBox.width(), textBox.height());
|
||||
Gdx.input.setOnscreenKeyboardVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user