diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DwarfKing.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DwarfKing.java index 9af7a57c4..ee155b333 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DwarfKing.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DwarfKing.java @@ -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()) ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java index dd50e4232..e48500277 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java @@ -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(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java index 3c4f7281f..a93ea4dd3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java @@ -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++; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java index 04aced32f..796362544 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java @@ -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){ diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties index 7f2f83fed..bed0750bf 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties @@ -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! diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/levels/levels.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/levels/levels.properties index 6309cb894..cdfb79091 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/levels/levels.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/levels/levels.properties @@ -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?