v2.1.4: fixed Counter Ability talent incorrectly applying 0 charge at +2

This commit is contained in:
Evan Debenham
2023-07-03 14:27:18 -04:00
parent 534d161bb0
commit 9067a486cd
18 changed files with 47 additions and 40 deletions

View File

@@ -66,8 +66,8 @@ public class AssassinsBlade extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -51,11 +51,11 @@ public class BattleAxe extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) {
return super.abilityChargeUse(hero, target);
return 1;
} else {
return 2*super.abilityChargeUse(hero, target);
return 2;
}
}

View File

@@ -75,8 +75,8 @@ public class Dagger extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -66,8 +66,8 @@ public class Dirk extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -89,11 +89,12 @@ public class Flail extends MeleeWeapon {
}
}
public float abilityChargeUse(Hero hero, Char target) {
@Override
protected int baseChargeUse(Hero hero, Char target){
if (Dungeon.hero.buff(SpinAbilityTracker.class) != null){
return 0;
} else {
return 2*super.abilityChargeUse(hero, target);
return 2;
}
}

View File

@@ -38,11 +38,11 @@ public class Greatsword extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (hero.buff(Sword.CleaveTracker.class) != null){
return 0;
} else {
return super.abilityChargeUse( hero, target);
return 1;
}
}

View File

@@ -51,11 +51,11 @@ public class HandAxe extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) {
return super.abilityChargeUse(hero, target);
return 1;
} else {
return 2*super.abilityChargeUse(hero, target);
return 2;
}
}

View File

@@ -38,11 +38,11 @@ public class Longsword extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (hero.buff(Sword.CleaveTracker.class) != null){
return 0;
} else {
return super.abilityChargeUse( hero, target);
return 1;
}
}

View File

@@ -60,11 +60,11 @@ public class Mace extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) {
return super.abilityChargeUse(hero, target);
return 1;
} else {
return 2*super.abilityChargeUse(hero, target);
return 2;
}
}

View File

@@ -262,8 +262,12 @@ public class MeleeWeapon extends Weapon {
}
}
public float abilityChargeUse(Hero hero, Char target){
float chargeUse = 1f;
protected int baseChargeUse(Hero hero, Char target){
return 1; //abilities use 1 charge by default
}
public final float abilityChargeUse(Hero hero, Char target){
float chargeUse = baseChargeUse(hero, target);
if (hero.buff(Talent.CounterAbilityTacker.class) != null){
chargeUse = Math.max(0, chargeUse-0.5f*hero.pointsInTalent(Talent.COUNTER_ABILITY));
}

View File

@@ -51,8 +51,8 @@ public class Quarterstaff extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -47,8 +47,8 @@ public class Scimitar extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -38,11 +38,11 @@ public class Shortsword extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (hero.buff(Sword.CleaveTracker.class) != null){
return 0;
} else {
return super.abilityChargeUse( hero, target);
return 1;
}
}

View File

@@ -53,8 +53,9 @@ public class Sickle extends MeleeWeapon {
lvl*(tier+1); //scaling unchanged
}
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
@Override
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -48,11 +48,11 @@ public class Sword extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (hero.buff(Sword.CleaveTracker.class) != null){
return 0;
} else {
return super.abilityChargeUse( hero, target);
return 1;
}
}

View File

@@ -51,11 +51,11 @@ public class WarHammer extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (target == null || (target instanceof Mob && ((Mob) target).surprisedBy(hero))) {
return super.abilityChargeUse(hero, target);
return 1;
} else {
return 2*super.abilityChargeUse(hero, target);
return 2;
}
}

View File

@@ -44,8 +44,9 @@ public class WarScythe extends MeleeWeapon {
lvl*(tier+1); //scaling unchanged
}
public float abilityChargeUse(Hero hero, Char target) {
return 2*super.abilityChargeUse(hero, target);
@Override
protected int baseChargeUse(Hero hero, Char target){
return 2;
}
@Override

View File

@@ -40,11 +40,11 @@ public class WornShortsword extends MeleeWeapon {
}
@Override
public float abilityChargeUse(Hero hero, Char target) {
protected int baseChargeUse(Hero hero, Char target){
if (hero.buff(Sword.CleaveTracker.class) != null){
return 0;
} else {
return super.abilityChargeUse( hero, target);
return 1;
}
}