update Pretest4.2

Complete New Boss in Dungeon depth 5.
This commit is contained in:
LingASDJ 2023-02-11 11:08:12 +08:00
parent c27de43ece
commit 4e59b6e29b
5 changed files with 34 additions and 2 deletions

View File

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

View File

@ -104,6 +104,14 @@ public class CrivusFruits extends Mob {
}
}
//回合
@Override
public void damage(int dmg, Object src) {
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null) lock.addTime(dmg * 2);
super.damage(dmg, src);
}
@Override
protected boolean act() {

View File

@ -12,6 +12,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.HalomethaneBurning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
@ -157,7 +159,9 @@ public class CrivusFruitsLasher extends Mob {
@Override
public void damage(int dmg, Object src) {
int damage = 4;
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null) lock.addTime(dmg*2);
int damage = Random.Int(1,3);
if (src instanceof Burning && ! Statistics.crivusfruitslevel2) {
//一阶段如果触手着火会给予它100回合磷火燃烧永久燃烧
Buff.affect( this, HalomethaneBurning.class ).reignite( this, 100f );
@ -167,6 +171,8 @@ public class CrivusFruitsLasher extends Mob {
if(hero.belongings.armor.level < 3){
damage -= hero.drRoll();
hero.damage(damage, this);
} else {
Buff.affect( hero, Poison.class ).set(1);
}
} else {
damage -= hero.drRoll();

View File

@ -4,6 +4,7 @@ import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.level;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.CrivusFruits;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.bosses.CrivusFruitsLasher;
@ -19,6 +20,7 @@ import com.watabou.noosa.Group;
import com.watabou.noosa.particles.Emitter;
import com.watabou.noosa.particles.PixelParticle;
import com.watabou.utils.ColorMath;
import com.watabou.utils.PathFinder;
import com.watabou.utils.PointF;
import com.watabou.utils.Random;
@ -30,6 +32,19 @@ public class ForestBossLevel extends Level {
}
//修复跳楼错误
@Override
public int randomRespawnCell( Char ch ) {
int pos = WIDTH + 16; //random cell adjacent to the entrance.
int cell;
do {
cell = pos + PathFinder.NEIGHBOURS8[Random.Int(8)];
} while (!passable[cell]
|| (Char.hasProp(ch, Char.Property.LARGE) && !openSpace[cell])
|| Actor.findChar(cell) != null);
return cell;
}
//二选一
@Override
protected void createItems() {

View File

@ -533,6 +533,9 @@ public class InterlevelScene extends PixelScene {
hero.HP += 20;
SpecialRoom.resetPitRoom(Dungeon.depth+1);
//Boss全局布尔控制
Statistics.crivusfruitslevel2 = false;
Dungeon.depth--;
Level level = Dungeon.newLevel();
Dungeon.switchLevel( level, level.entrance );