v0.8.0: Adjustments to new bosses:

- Added a hint to DM-300's supercharge phase
- Reduced DK's damage and accuracy slightly
- Slightly slowed down summons on phase 2 wave 3 of DK fight
- The first warlock/monk on DK's final phase is now the 3rd summon, not 1st
- Reduced the damage of both bright and dark fists (bright moreso)
- slightly increased the cooldown of Yog's laser and summoning
- Yog's fist now take 4 turns before acting, up from 3.
This commit is contained in:
Evan Debenham 2020-03-30 17:15:45 -04:00
parent 17deae840c
commit 8283bd543b
6 changed files with 18 additions and 16 deletions

View File

@ -79,12 +79,12 @@ public class DwarfKing extends Mob {
@Override
public int damageRoll() {
return Random.NormalIntRange( 15, 30 );
return Random.NormalIntRange( 15, 25 );
}
@Override
public int attackSkill( Char target ) {
return 28;
return 26;
}
@Override
@ -207,10 +207,10 @@ public class DwarfKing extends Mob {
sprite.centerEmitter().start( Speck.factory( Speck.SCREAM ), 0.4f, 2 );
Sample.INSTANCE.play( Assets.SND_CHALLENGE );
yell(Messages.get(this, "wave_3"));
summonSubject(3, DKWarlock.class);
summonSubject(3, DKMonk.class);
summonSubject(3, DKGhoul.class);
summonSubject(3, DKGhoul.class);
summonSubject(4, DKWarlock.class);
summonSubject(4, DKMonk.class);
summonSubject(4, DKGhoul.class);
summonSubject(4, DKGhoul.class);
summonsMade = 12;
spend(TICK);
return true;
@ -286,7 +286,6 @@ public class DwarfKing extends Mob {
Mob furthest = null;
for (Mob m : getSubjects()){
//TODO avoid warlocks?
if (furthest == null || Dungeon.level.distance(pos, furthest.pos) < Dungeon.level.distance(pos, m.pos)){
furthest = m;
}
@ -401,7 +400,7 @@ public class DwarfKing extends Mob {
} else if (phase == 2 && shielding() == 0) {
properties.remove(Property.IMMOVABLE);
phase = 3;
summonsMade = 3; //opens with a monk/warlock
summonsMade = 1; //monk/warlock on 3rd summon
sprite.centerEmitter().start( Speck.factory( Speck.SCREAM ), 0.4f, 2 );
Sample.INSTANCE.play( Assets.SND_CHALLENGE );
yell( Messages.get(this, "enraged", Dungeon.hero.name()) );

View File

@ -438,6 +438,8 @@ public class NewDM300 extends Mob {
sprite.showStatus(CharSprite.POSITIVE, Messages.get(this, "invulnerable"));
sprite.resetColor();
chargeAnnounced = false;
GLog.h(Messages.get(this, "charging_hint"));
}
public boolean isSupercharged(){

View File

@ -214,7 +214,7 @@ public class YogDzewa extends Mob {
Dungeon.hero.interrupt();
abilityCooldown += Random.NormalFloat(MIN_ABILITY_CD, MAX_ABILITY_CD);
abilityCooldown -= phase;
abilityCooldown -= (phase - 1);
} else {
spend(TICK);
@ -242,9 +242,9 @@ public class YogDzewa extends Mob {
summon.beckon(Dungeon.hero.pos);
summonCooldown += Random.NormalFloat(MIN_SUMMON_CD, MAX_SUMMON_CD);
summonCooldown -= phase;
summonCooldown -= (phase - 1);
if (findFist() != null){
summonCooldown += MIN_SUMMON_CD - phase;
summonCooldown += MIN_SUMMON_CD - (phase - 1);
}
} else {
break;
@ -317,7 +317,7 @@ public class YogDzewa extends Mob {
fist.pos = targetPos+1;
}
GameScene.add(fist, 3);
GameScene.add(fist, 4);
Actor.addDelayed( new Pushing( fist, Dungeon.level.exit, fist.pos ), -1 );
phase++;
}

View File

@ -441,7 +441,7 @@ public abstract class YogFist extends Mob {
if (hit( this, enemy, true )) {
enemy.damage( damageRoll(), new LightBeam() );
enemy.damage( Random.NormalIntRange(12, 24), new LightBeam() );
Buff.prolong( enemy, Blindness.class, 4f );
if (!enemy.isAlive() && enemy == Dungeon.hero) {
@ -501,7 +501,7 @@ public abstract class YogFist extends Mob {
if (hit( this, enemy, true )) {
enemy.damage( damageRoll(), new DarkBolt() );
enemy.damage( Random.NormalIntRange(15, 30), new DarkBolt() );
Light l = enemy.buff(Light.class);
if (l != null){

View File

@ -510,7 +510,8 @@ actors.mobs.newdm300.notice=UNAUTHORIZED PERSONNEL DETECTED!
actors.mobs.newdm300.shield=DM-300 pulls power from the exposed wires and shields itself!
actors.mobs.newdm300.vent=DM-300 fires a jet of toxic exhaust!
actors.mobs.newdm300.rocks=DM-300 slams the ground, loosening rocks from the ceiling!
actors.mobs.newdm300.charging=SUSTAINING DAMAGE! CHARGING FROM POWER GRID...
actors.mobs.newdm300.charging=SUSTAINING DAMAGE! CHARGING FROM POWER PYLON...
actors.mobs.newdm300.charging_hint=Sparks erupt all around you! They seem to be gravitating somewhere...
actors.mobs.newdm300.supercharged=SUPERCHARGE COMPLETE, OPERATING AT 200% POWER!
actors.mobs.newdm300.charge_lost=POWER GRID DAMAGED, REVERTING TO LOCAL POWER!
actors.mobs.newdm300.pylons_destroyed=ALERT, INSTABILITY DETECTED IN POWER GRID!

View File

@ -129,7 +129,7 @@ levels.traps.worndarttrap.desc=A small dart-blower must be hidden nearby, activa
###levels
levels.newcavesbosslevel.wires_name=Exposed wiring
levels.newcavesbosslevel.wires_desc=The ground is partially dug up here, showing some large exposed wires. They must be connecting the various electrical machines together.\n\nThe wires must have some current running through them. If DM-300 steps here it may be able to draw power from there.
levels.newcavesbosslevel.wires_desc=The ground is partially dug up here, showing some large exposed wires. They must be connecting the various electrical machines together.\n\nThe wires must have some current running through them. If DM-300 steps here it may be able to draw power from them.
levels.newcavesbosslevel.energy_desc=The ground here is sparking with electricity, and is harmful to step on. The sparks seem to be gravitating in a certain direction... perhaps they lead to the power source?
levels.newcavesbosslevel.gate_name=Metal gate
levels.newcavesbosslevel.gate_desc=A large metal gate that blocks the path into the dwarven metropolis. The metal box in the center is producing a loud humming noise, it must be connected to the circuitry and machines nearby. Perhaps destroying DM-300 will open the gate?