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