v0.9.2: rebalanced combo building and turned cleave into a talent
This commit is contained in:
parent
b6ba0f085b
commit
545ba546db
|
@ -131,7 +131,7 @@ 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 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.combo.desc=The gladiator builds momentum as they land successful blows. Each attack increases the combo counter by one, but taking too long between hits 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.
|
||||
|
@ -338,6 +338,8 @@ actors.hero.talent.strongman.title=strongman
|
|||
actors.hero.talent.strongman.desc=_+1:_ The Warrior needs _1 less strength_ to use armor.\n\n_+2:_ The Warrior needs _1 less strength_ to use armor and _1 less strength_ to use weapons.\n\n_+3:_ The Warrior needs _2 less strength_ to use armor and _1 less strength_ to use weapons.
|
||||
actors.hero.talent.endless_rage.title=endless rage
|
||||
actors.hero.talent.endless_rage.desc=_+1:_ The Berserker can reach a max of _115% rage_.\n\n_+2:_ The Berserker can reach a max of _130% rage_.\n\n_+3:_ The Berserker can reach a max of _145% rage_.\n\nNote that rage above 100% will not grant more than +50% damage.
|
||||
actors.hero.talent.cleave.title=cleave
|
||||
actors.hero.talent.cleave.desc=_+1:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _10 turns_.\n\n_+2:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _20 turns_.\n\n_+3:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _30 turns_.
|
||||
|
||||
actors.hero.talent.empowering_meal.title=empowering meal
|
||||
actors.hero.talent.empowering_meal.desc=_+1:_ Eating food grants the Mage _2 bonus damage_ on his next 3 wand zaps.\n\n_+2:_ Eating food grants the Mage _3 bonus damage_ on his next 3 wand zaps.
|
||||
|
|
|
@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfBlastWave;
|
||||
|
@ -51,7 +52,6 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
|
||||
private int count = 0;
|
||||
private float comboTime = 0f;
|
||||
private int misses = 0;
|
||||
|
||||
@Override
|
||||
public int icon() {
|
||||
|
@ -70,7 +70,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
|
||||
@Override
|
||||
public float iconFadePercent() {
|
||||
return Math.max(0, (4 - comboTime)/4f);
|
||||
return Math.max(0, (5 - comboTime)/5f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -81,9 +81,12 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
public void hit( Char enemy ) {
|
||||
|
||||
count++;
|
||||
comboTime = 4f;
|
||||
misses = 0;
|
||||
|
||||
comboTime = 5f;
|
||||
|
||||
if (!enemy.isAlive() || enemy.buff(Corruption.class) != null){
|
||||
comboTime = Math.max(comboTime, 10*((Hero)target).pointsInTalent(Talent.CLEAVE));
|
||||
}
|
||||
|
||||
if (count >= 2) {
|
||||
|
||||
ActionIndicator.setAction( this );
|
||||
|
@ -97,14 +100,6 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
|
||||
}
|
||||
|
||||
public void miss( Char enemy ){
|
||||
misses++;
|
||||
comboTime = 4f;
|
||||
if (misses >= 2){
|
||||
detach();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
super.detach();
|
||||
|
@ -136,14 +131,11 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
|
||||
private static final String COUNT = "count";
|
||||
private static final String TIME = "combotime";
|
||||
private static final String MISSES= "misses";
|
||||
|
||||
@Override
|
||||
public void storeInBundle(Bundle bundle) {
|
||||
super.storeInBundle(bundle);
|
||||
bundle.put(COUNT, count);
|
||||
bundle.put(TIME, comboTime);
|
||||
bundle.put(MISSES, misses);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -152,7 +144,6 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
count = bundle.getInt( COUNT );
|
||||
if (count >= 2) ActionIndicator.setAction(this);
|
||||
comboTime = bundle.getFloat( TIME );
|
||||
misses = bundle.getInt( MISSES );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -179,6 +170,7 @@ public class Combo extends Buff implements ActionIndicator.Action {
|
|||
}
|
||||
|
||||
private enum finisherType{
|
||||
//TODO rework these, as well as finisher mechanics in general
|
||||
CLOBBER, CLEAVE, SLAM, CRUSH, FURY
|
||||
}
|
||||
|
||||
|
|
|
@ -379,13 +379,8 @@ public class Hero extends Char {
|
|||
belongings.weapon = belongings.stashedWeapon;
|
||||
belongings.stashedWeapon = null;
|
||||
|
||||
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 );
|
||||
}
|
||||
if (hit && subClass == HeroSubClass.GLADIATOR){
|
||||
Buff.affect( this, Combo.class ).hit( enemy );
|
||||
}
|
||||
|
||||
return hit;
|
||||
|
@ -1690,19 +1685,14 @@ public class Hero extends Char {
|
|||
AttackIndicator.target(enemy);
|
||||
|
||||
boolean hit = attack( enemy );
|
||||
|
||||
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 );
|
||||
}
|
||||
}
|
||||
|
||||
Invisibility.dispel();
|
||||
spend( attackDelay() );
|
||||
|
||||
if (hit && subClass == HeroSubClass.GLADIATOR){
|
||||
Buff.affect( this, Combo.class ).hit( enemy );
|
||||
}
|
||||
|
||||
curAction = null;
|
||||
|
||||
super.onAttackComplete();
|
||||
|
|
|
@ -75,7 +75,7 @@ public enum Talent {
|
|||
//Berserker T3
|
||||
ENDLESS_RAGE(11, 3), BERSERKER_T3_2(12, 3), BERSERKER_T3_3(13, 3),
|
||||
//Gladiator T3
|
||||
GLADIATOR_T3_1(14, 3), GLADIATOR_T3_2(15, 3), GLADIATOR_T3_3(16, 3),
|
||||
CLEAVE(14, 3), GLADIATOR_T3_2(15, 3), GLADIATOR_T3_3(16, 3),
|
||||
|
||||
//Mage T1
|
||||
EMPOWERING_MEAL(32), SCHOLARS_INTUITION(33), TESTED_HYPOTHESIS(34), BACKUP_BARRIER(35),
|
||||
|
@ -459,7 +459,7 @@ public enum Talent {
|
|||
Collections.addAll(tierTalents, ENDLESS_RAGE, BERSERKER_T3_2, BERSERKER_T3_3);
|
||||
break;
|
||||
case GLADIATOR:
|
||||
Collections.addAll(tierTalents, GLADIATOR_T3_1, GLADIATOR_T3_2, GLADIATOR_T3_3);
|
||||
Collections.addAll(tierTalents, CLEAVE, GLADIATOR_T3_2, GLADIATOR_T3_3);
|
||||
break;
|
||||
case BATTLEMAGE:
|
||||
Collections.addAll(tierTalents, BATTLEMAGE_T3_1, BATTLEMAGE_T3_2, BATTLEMAGE_T3_3);
|
||||
|
|
Loading…
Reference in New Issue
Block a user