添加拟态王三阶段的一部分细节
This commit is contained in:
parent
46d7648b49
commit
6cf586c24c
|
@ -87,7 +87,6 @@ dependencies {
|
|||
//接入多DEX
|
||||
implementation 'com.android.support:multidex:1.0.3'
|
||||
|
||||
|
||||
//noinspection GradleDependency
|
||||
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
|
||||
implementation project(path: ':services:updates:githubUpdates')
|
||||
|
|
|
@ -10,6 +10,10 @@ actors.mobs.bosses.diamondknight.iswar_go=最大的敌人往往就是你自己
|
|||
actors.mobs.bosses.diamondknight.ok_go=好吧,让我们以最纯朴的战斗结束这次的较量吧。
|
||||
actors.mobs.bosses.diamondknight.defeated=真是一场有趣的战斗,挑战者,这次就算你赢了!
|
||||
|
||||
actors.mobs.bosses.dcrystal.name=深蓝水晶
|
||||
actors.mobs.bosses.dcrystal.desc=深蓝水晶将缓慢治愈宝箱之王,还请留意。
|
||||
|
||||
|
||||
actors.mobs.salamander.name=深蓝蝾螈
|
||||
actors.mobs.salamander.desc=来自森林的小生物,由于下方的邪恶力量侵蚀,它们已经由温顺变得凶猛。\n它们锋利的尾巴能穿透敌人,它们十分的聪明,且极其灵活,必须趁其不备将之杀掉。
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ badges$badge.champion_5x=救世之主\n\n_开启10项以上挑战通关\n\n[不
|
|||
badges$badge.unlock_mage=解锁法师
|
||||
badges$badge.unlock_rogue=解锁盗贼
|
||||
badges$badge.unlock_huntress=解锁女猎手
|
||||
badges$badge.kill_dm=击败拟态之王\n\n一场”公平"的讨伐
|
||||
badges$badge.kill_dm=击败拟态之王\n\n一场”公平"的对决
|
||||
badges$badge.rlpt=_支离破碎征服者_\n\n开启挑战并击败古神\n\n_奖励:0层随机神器(四大基座上)_
|
||||
badges$badge.sbdjs=风暴袭来,未完待续\n\n你通过它成功离开,却不知,外面风暴袭来\n\n水晶之心仍然在你手中闪闪发光,或许,这事还没完!
|
||||
badges$badge.kill_mg=击败冰雪魔女-冬铃\n\n冰雪之地的女王\n\n_奖励:0层额外十字架(四大基座上,与DM720不叠加)_
|
||||
|
|
BIN
core/src/main/assets/sprites/boss/DCrstal.png
Normal file
BIN
core/src/main/assets/sprites/boss/DCrstal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 927 B |
BIN
core/src/main/assets/sprites/boss/TPDoor.png
Normal file
BIN
core/src/main/assets/sprites/boss/TPDoor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 705 B |
|
@ -315,6 +315,8 @@ public class Assets {
|
|||
|
||||
public static final String FREA = "sprites/boss/FireCrstal.png";
|
||||
|
||||
public static final String DREA = "sprites/boss/DCrstal.png";
|
||||
|
||||
public static final String ITEMS = "sprites/items/items.png";
|
||||
public static final String WFS = "sprites/items/wf.png";
|
||||
public static final String ITEM_ICONS = "sprites/item_icons.png";
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses;
|
||||
|
||||
import static com.shatteredpixel.shatteredpixeldungeon.Difficulty.DifficultyConduct.HARD;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Beam;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.ColdChestBossLevel;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.DCrystalSprites;
|
||||
|
||||
public class DCrystal extends Mob {
|
||||
|
||||
{
|
||||
spriteClass = DCrystalSprites.class;
|
||||
|
||||
//困难模式水晶血量翻倍
|
||||
HP = HT = Dungeon.isDIFFICULTY(HARD) ? 80 : 40;
|
||||
|
||||
properties.add(Property.MINIBOSS);
|
||||
properties.add(Property.INORGANIC);
|
||||
properties.add(Property.ELECTRIC);
|
||||
properties.add(Property.IMMOVABLE);
|
||||
|
||||
state = PASSIVE;
|
||||
|
||||
baseSpeed =0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean act() {
|
||||
ColdChestBossLevel.State level = ((ColdChestBossLevel) Dungeon.level).pro();
|
||||
if (level == ColdChestBossLevel.State.VSBOSS_START || level == ColdChestBossLevel.State.VSYOU_START || level
|
||||
== ColdChestBossLevel.State.VSLINK_START) {
|
||||
onZapComplete();
|
||||
//困难模式回合缩减值2回合
|
||||
spend(Dungeon.isDIFFICULTY(HARD)? 2f : 5f);
|
||||
}
|
||||
return super.act();
|
||||
}
|
||||
|
||||
private void onZapComplete(){
|
||||
for (Mob boss : Dungeon.level.mobs.toArray(new Mob[0])) {
|
||||
//如果宝箱王存在,且在五格范围内,给予它血量吧
|
||||
//困难模式治疗范围改为无限
|
||||
if(boss instanceof DiamondKnight && Dungeon.level.distance(pos, boss.pos) <= 5 || Dungeon.isDIFFICULTY(HARD) && boss instanceof DiamondKnight) {
|
||||
//最高加到半血
|
||||
if (boss.HP < boss.HT/2){
|
||||
|
||||
if (sprite.visible || boss.sprite.visible) {
|
||||
sprite.parent.add(new Beam.DeathRayS(sprite.center(), boss.sprite.center()));
|
||||
}
|
||||
|
||||
//困难模式+6血量 治疗血量翻倍
|
||||
boss.HP = Math.min(Dungeon.isDIFFICULTY(HARD)?boss.HP+6 : boss.HP + 3, boss.HT/2);
|
||||
if (boss.sprite.visible) boss.sprite.emitter().burst( Speck.factory( Speck.HEALING ), 1 );
|
||||
|
||||
//不符合的情况下给予3回合激素涌动
|
||||
} else if (boss.buff(Adrenaline.class) == null) {
|
||||
|
||||
if (sprite.visible || boss.sprite.visible) {
|
||||
sprite.parent.add(new Beam.HealthRay(sprite.center(), boss.sprite.center()));
|
||||
}
|
||||
|
||||
Buff.affect(boss, Adrenaline.class, 3f);
|
||||
}
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -13,8 +13,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.DCrystal;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.DiamondKnight;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.watabou.utils.Bundle;
|
||||
|
@ -82,6 +82,10 @@ public class ColdChestBossLevel extends Level {
|
|||
private static final short T = Terrain.PEDESTAL;
|
||||
private static final short S = Terrain.STATUE;
|
||||
|
||||
public static int[] FourCrystal = new int[]{
|
||||
651,787,643,507
|
||||
};
|
||||
|
||||
private static final int[] WorldRoomShort = {
|
||||
W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,
|
||||
W,E,E,E,W,W,W,W,W,E,E,E,E,E,E,E,W,J,W,E,E,E,E,E,E,E,W,W,W,W,W,E,E,E,W,
|
||||
|
@ -288,7 +292,15 @@ public class ColdChestBossLevel extends Level {
|
|||
ScrollOfTeleportation.appear(boss,647);
|
||||
//玩家移动到初始位
|
||||
ScrollOfTeleportation.appear(hero, 962);
|
||||
drop( new PotionOfPurity(),648 );
|
||||
//drop( new PotionOfPurity(),648 );
|
||||
|
||||
//生成四个水晶,宝箱王持续回血
|
||||
for (int i : FourCrystal) {
|
||||
DCrystal ds = new DCrystal();
|
||||
ds.pos = i;
|
||||
GameScene.add(ds);
|
||||
}
|
||||
|
||||
boss.HP = 300;
|
||||
pro = VSBOSS_START;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.sprites;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.watabou.noosa.TextureFilm;
|
||||
|
||||
public class DCrystalSprites extends MobSprite {
|
||||
|
||||
public DCrystalSprites () {
|
||||
super();
|
||||
|
||||
texture( Assets.Sprites.DREA );
|
||||
|
||||
TextureFilm frames = new TextureFilm( texture, 16, 16 );
|
||||
|
||||
idle = new Animation( 1, false );
|
||||
idle.frames( frames, 0 );
|
||||
|
||||
run = idle.clone();
|
||||
|
||||
attack = idle.clone();
|
||||
|
||||
die = new Animation( 1, false );
|
||||
die.frames( frames, 2 );
|
||||
|
||||
play( idle );
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user