v2.4.0: fixed charge maxing via adding not always clearing partialCharge
This commit is contained in:
@@ -159,7 +159,7 @@ public class AlchemistsToolkit extends Artifact {
|
||||
public void charge(Hero target, float amount) {
|
||||
if (target.buff(MagicImmune.class) != null) return;
|
||||
partialCharge += 0.25f*amount;
|
||||
if (partialCharge >= 1){
|
||||
while (partialCharge >= 1){
|
||||
partialCharge--;
|
||||
charge++;
|
||||
updateQuickslot();
|
||||
|
||||
@@ -180,11 +180,15 @@ public class CloakOfShadows extends Artifact {
|
||||
if (charge < chargeCap) {
|
||||
if (!isEquipped(target)) amount *= 0.75f*target.pointsInTalent(Talent.LIGHT_CLOAK)/3f;
|
||||
partialCharge += 0.25f*amount;
|
||||
if (partialCharge >= 1){
|
||||
partialCharge--;
|
||||
while (partialCharge >= 1f) {
|
||||
charge++;
|
||||
updateQuickslot();
|
||||
partialCharge--;
|
||||
}
|
||||
if (charge >= chargeCap){
|
||||
partialCharge = 0;
|
||||
charge = chargeCap;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -304,7 +304,11 @@ public class DriedRose extends Artifact {
|
||||
|
||||
if (ghost == null){
|
||||
if (charge < chargeCap) {
|
||||
charge += Math.round(4*amount);
|
||||
partialCharge += 4*amount;
|
||||
while (partialCharge >= 1f){
|
||||
charge++;
|
||||
partialCharge--;
|
||||
}
|
||||
if (charge >= chargeCap) {
|
||||
charge = chargeCap;
|
||||
partialCharge = 0;
|
||||
|
||||
@@ -279,8 +279,13 @@ public class LloydsBeacon extends Artifact {
|
||||
while (partialCharge >= 1){
|
||||
partialCharge--;
|
||||
charge++;
|
||||
updateQuickslot();
|
||||
|
||||
}
|
||||
if (charge >= chargeCap){
|
||||
partialCharge = 0;
|
||||
charge = chargeCap;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -222,11 +222,13 @@ public class MasterThievesArmband extends Artifact {
|
||||
while (partialCharge >= 1f){
|
||||
charge++;
|
||||
partialCharge--;
|
||||
updateQuickslot();
|
||||
if (charge == chargeCap){
|
||||
GLog.p( Messages.get(MasterThievesArmband.class, "full") );
|
||||
}
|
||||
}
|
||||
if (charge >= chargeCap){
|
||||
GLog.p( Messages.get(MasterThievesArmband.class, "full") );
|
||||
partialCharge = 0;
|
||||
charge = chargeCap;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -166,7 +166,11 @@ public class SandalsOfNature extends Artifact {
|
||||
public void charge(Hero target, float amount) {
|
||||
if (cursed || target.buff(MagicImmune.class) != null) return;
|
||||
if (charge < chargeCap) {
|
||||
charge += Math.round(2*amount);
|
||||
partialCharge += 2*amount;
|
||||
while (partialCharge >= 1f){
|
||||
charge++;
|
||||
partialCharge--;
|
||||
}
|
||||
if (charge >= chargeCap) {
|
||||
charge = chargeCap;
|
||||
partialCharge = 0;
|
||||
|
||||
@@ -100,7 +100,11 @@ public class TalismanOfForesight extends Artifact {
|
||||
public void charge(Hero target, float amount) {
|
||||
if (cursed || target.buff(MagicImmune.class) != null) return;
|
||||
if (charge < chargeCap){
|
||||
charge += Math.round(2*amount);
|
||||
partialCharge += 2*amount;
|
||||
while (partialCharge >= 1f){
|
||||
charge++;
|
||||
partialCharge--;
|
||||
}
|
||||
if (charge >= chargeCap) {
|
||||
charge = chargeCap;
|
||||
partialCharge = 0;
|
||||
|
||||
@@ -167,12 +167,11 @@ public class TimekeepersHourglass extends Artifact {
|
||||
while (partialCharge >= 1){
|
||||
partialCharge--;
|
||||
charge++;
|
||||
|
||||
if (charge == chargeCap){
|
||||
partialCharge = 0;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
if (charge >= chargeCap){
|
||||
partialCharge = 0;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -229,12 +229,11 @@ public class UnstableSpellbook extends Artifact {
|
||||
while (partialCharge >= 1){
|
||||
partialCharge--;
|
||||
charge++;
|
||||
|
||||
if (charge == chargeCap){
|
||||
partialCharge = 0;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
if (charge >= chargeCap){
|
||||
partialCharge = 0;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -770,7 +770,10 @@ public abstract class Wand extends Item {
|
||||
curCharges++;
|
||||
partialCharge--;
|
||||
}
|
||||
curCharges = Math.min(curCharges, maxCharges);
|
||||
if (curCharges >= maxCharges){
|
||||
partialCharge = 0;
|
||||
curCharges = maxCharges;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,17 +230,7 @@ public class MeleeWeapon extends Weapon {
|
||||
} else {
|
||||
tracker.detach();
|
||||
Charger charger = Buff.affect(hero, Charger.class);
|
||||
if (charger.charges < charger.chargeCap()) {
|
||||
charger.partialCharge += hero.pointsInTalent(Talent.VARIED_CHARGE) / 6f;
|
||||
if (charger.partialCharge >= 1f) {
|
||||
charger.partialCharge -= 1f;
|
||||
charger.charges++;
|
||||
if (charger.charges == charger.chargeCap()){
|
||||
charger.partialCharge = 0;
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
charger.gainCharge(hero.pointsInTalent(Talent.VARIED_CHARGE) / 6f);
|
||||
ScrollOfRecharging.charge(hero);
|
||||
}
|
||||
}
|
||||
@@ -537,7 +527,10 @@ public class MeleeWeapon extends Weapon {
|
||||
charges++;
|
||||
partialCharge--;
|
||||
}
|
||||
charges = Math.min(charges, chargeCap());
|
||||
if (charges >= chargeCap()){
|
||||
partialCharge = 0;
|
||||
charges = chargeCap();
|
||||
}
|
||||
updateQuickslot();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user