v0.7.3: rebalanced warrior and subclasses:
- warrior's shield regen no longer scales with armor power - berserker is now more easily able to maintain rage - gladiator can now use thrown weapons in combos - regular item use no longer resets gladiator's combo - gladiator's slam ability now deals damage based on armor
This commit is contained in:
parent
a0224f0ed0
commit
bba0fea962
|
@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
|||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.GameMath;
|
||||
|
||||
public class Berserk extends Buff {
|
||||
|
||||
|
@ -97,7 +98,7 @@ public class Berserk extends Buff {
|
|||
power = 0f;
|
||||
}
|
||||
} else if (state == State.NORMAL) {
|
||||
power -= Math.max(0.1f, power) * 0.1f * Math.pow((target.HP/(float)target.HT), 2);
|
||||
power -= GameMath.gate(0.1f, power, 1f) * 0.05f * Math.pow((target.HP/(float)target.HT), 2);
|
||||
|
||||
if (power <= 0){
|
||||
detach();
|
||||
|
@ -158,7 +159,7 @@ public class Berserk extends Buff {
|
|||
public void tintIcon(Image icon) {
|
||||
switch (state){
|
||||
case NORMAL: default:
|
||||
if (power < 0.5f) icon.hardlight(1f, 1f, 0.5f - (power));
|
||||
if (power < 0.5f) icon.hardlight(1f, 1f, 1f - 2*(power));
|
||||
else if (power < 1f) icon.hardlight(1f, 1.5f - power, 0f);
|
||||
else icon.hardlight(1f, 0f, 0f);
|
||||
break;
|
||||
|
|
|
@ -71,7 +71,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
return Messages.get(this, "name");
|
||||
}
|
||||
|
||||
public void hit() {
|
||||
public void hit( Char enemy ) {
|
||||
|
||||
count++;
|
||||
comboTime = 4f;
|
||||
|
@ -89,7 +89,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
|
||||
}
|
||||
|
||||
public void miss(){
|
||||
public void miss( Char enemy ){
|
||||
misses++;
|
||||
comboTime = 4f;
|
||||
if (misses >= 2){
|
||||
|
@ -218,15 +218,12 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
dmg = Math.round(dmg*1.5f);
|
||||
break;
|
||||
case SLAM:
|
||||
//rolls 2 times, takes the highest roll
|
||||
int dmgReroll = target.damageRoll();
|
||||
if (dmgReroll > dmg) dmg = dmgReroll;
|
||||
dmg = Math.round(dmg*1.6f);
|
||||
dmg += target.drRoll();
|
||||
break;
|
||||
case CRUSH:
|
||||
//rolls 4 times, takes the highest roll
|
||||
for (int i = 1; i < 4; i++) {
|
||||
dmgReroll = target.damageRoll();
|
||||
int dmgReroll = target.damageRoll();
|
||||
if (dmgReroll > dmg) dmg = dmgReroll;
|
||||
}
|
||||
dmg = Math.round(dmg*2.5f);
|
||||
|
@ -299,8 +296,8 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
case CLEAVE:
|
||||
if (!enemy.isAlive()) {
|
||||
//combo isn't reset, but rather increments with a cleave kill, and grants more time.
|
||||
hit();
|
||||
comboTime = 10f;
|
||||
hit( enemy );
|
||||
comboTime = 12f;
|
||||
} else {
|
||||
detach();
|
||||
ActionIndicator.clearAction(Combo.this);
|
||||
|
|
|
@ -307,11 +307,20 @@ public class Hero extends Char {
|
|||
//temporarily set the hero's weapon to the missile weapon being used
|
||||
KindOfWeapon equipped = belongings.weapon;
|
||||
belongings.weapon = wep;
|
||||
boolean result = attack( enemy );
|
||||
boolean hit = attack( enemy );
|
||||
Invisibility.dispel();
|
||||
belongings.weapon = equipped;
|
||||
|
||||
if (subClass == HeroSubClass.GLADIATOR){
|
||||
if (hit) {
|
||||
Buff.affect( this, Combo.class ).hit( enemy );
|
||||
} else {
|
||||
Combo combo = buff(Combo.class);
|
||||
if (combo != null) combo.miss( enemy );
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return hit;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1506,10 +1515,10 @@ public class Hero extends Char {
|
|||
|
||||
if (subClass == HeroSubClass.GLADIATOR){
|
||||
if (hit) {
|
||||
Buff.affect( this, Combo.class ).hit();
|
||||
Buff.affect( this, Combo.class ).hit( enemy );
|
||||
} else {
|
||||
Combo combo = buff(Combo.class);
|
||||
if (combo != null) combo.miss();
|
||||
if (combo != null) combo.miss( enemy );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ public class BrokenSeal extends Item {
|
|||
@Override
|
||||
public synchronized boolean act() {
|
||||
if (shielding() < maxShield()) {
|
||||
partialShield += 1/(35*Math.pow(0.9f, (maxShield() - shielding() - 1)));
|
||||
partialShield += 1/30f;
|
||||
}
|
||||
|
||||
while (partialShield >= 1){
|
||||
|
|
|
@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
||||
|
@ -131,9 +130,6 @@ public class Item implements Bundlable {
|
|||
|
||||
curUser = hero;
|
||||
curItem = this;
|
||||
|
||||
Combo combo = hero.buff(Combo.class);
|
||||
if (combo != null) combo.detach();
|
||||
|
||||
if (action.equals( AC_DROP )) {
|
||||
|
||||
|
|
|
@ -110,13 +110,13 @@ actors.buffs.combo.clobber_prompt=Select a target to Clobber\nDazes and knocks b
|
|||
actors.buffs.combo.clobber_desc=_Clobber_ is currently available. This attack _knocks an enemy back and dazes them,_ but deals reduced damage. It's excellent for buying a little time during a fight.
|
||||
actors.buffs.combo.cleave_prompt=Select a target to Cleave\nIf it kills, preserves combo
|
||||
actors.buffs.combo.cleave_desc=_Cleave_ is currently available. This attack deals increased damage, and _if it kills an enemy, it will preserve combo instead of resetting it._ It's great for building combo when fighting multiple enemies.
|
||||
actors.buffs.combo.slam_prompt=Select a target to Slam\nShields you based on damage
|
||||
actors.buffs.combo.slam_desc=_Slam_ is currently available. This attack deals increased damage, and _grants you shielding_ proportional to the damage you deal. It's great for finishing a fight, letting you carry over endurance to the next one.
|
||||
actors.buffs.combo.slam_prompt=Select a target to Slam\nShields and damages based on armor
|
||||
actors.buffs.combo.slam_desc=_Slam_ is currently available. This attack deals _increased damage and shields you based on the blocking power of your armor._ It's great for finishing a fight, letting you carry over endurance to the next one.
|
||||
actors.buffs.combo.crush_prompt=Select a target to Crush\nDeals lots of damage
|
||||
actors.buffs.combo.crush_desc=_Crush_ is currently available. This devastating attack _deals massive damage very consistently._ It's great for taking down a powerful opponent from high health!
|
||||
actors.buffs.combo.fury_prompt=Unload fury on which enemy?\nAttacks many times rapidly
|
||||
actors.buffs.combo.fury_desc=_Fury_ is currently available. This devastating attack _hits as many times as your current combo count,_ albeit at reduced damage. Fury is great if you have a weapon enchant, as the enchant will activate on each hit!
|
||||
actors.buffs.combo.desc=The gladiator builds momentum as they land successful blows. Each blow increases the combo counter by one, but taking too long to attack, missing more than once, or using items will reset the combo counter to 0.\n\nBuilding combo unlocks special finisher abilities: powerful attacks that cannot miss! A different finisher is available at 2, 4, 6, 8, and 10 combo count, and using a finisher will reset your combo.
|
||||
actors.buffs.combo.desc=The gladiator builds momentum as they land successful blows. Each attack increases the combo counter by one, but taking too long between attacks or missing twice in a row will reset the combo counter to 0.\n\nBuilding combo unlocks special finisher abilities: powerful attacks that cannot miss! A different finisher is available at 2, 4, 6, 8, and 10 combo count, and using a finisher will reset your combo.
|
||||
|
||||
actors.buffs.corruption.name=Corrupted
|
||||
actors.buffs.corruption.desc=Corruption seeps into the essence of a being, twisting them against their former nature.\n\nCorrupted creatures will attack their allies, and ignore their former enemies. Corruption is damaging as well, and will slowly cause its target to succumb.\n\nCorruption is permanent, its effects only end in death.
|
||||
|
|
Loading…
Reference in New Issue
Block a user