v2.4.0: fixed artifs being unable to gain more than 1 charge at a time

This commit is contained in:
Evan Debenham
2024-03-25 14:22:26 -04:00
parent 4ec2c80e10
commit 08fc0a23be
8 changed files with 25 additions and 16 deletions

View File

@@ -238,7 +238,7 @@ public class CloakOfShadows extends Artifact {
partialCharge += chargeToGain; partialCharge += chargeToGain;
} }
if (partialCharge >= 1) { while (partialCharge >= 1) {
charge++; charge++;
partialCharge -= 1; partialCharge -= 1;
if (charge == chargeCap){ if (charge == chargeCap){

View File

@@ -404,7 +404,7 @@ public class DriedRose extends Artifact {
partialCharge += (ghost.HT / 500f) * RingOfEnergy.artifactChargeMultiplier(target); partialCharge += (ghost.HT / 500f) * RingOfEnergy.artifactChargeMultiplier(target);
updateQuickslot(); updateQuickslot();
if (partialCharge > 1) { while (partialCharge > 1) {
ghost.HP++; ghost.HP++;
partialCharge--; partialCharge--;
} }
@@ -421,7 +421,7 @@ public class DriedRose extends Artifact {
&& Regeneration.regenOn()) { && Regeneration.regenOn()) {
//500 turns to a full charge //500 turns to a full charge
partialCharge += (1/5f * RingOfEnergy.artifactChargeMultiplier(target)); partialCharge += (1/5f * RingOfEnergy.artifactChargeMultiplier(target));
if (partialCharge > 1){ while (partialCharge > 1){
charge++; charge++;
partialCharge--; partialCharge--;
if (charge == chargeCap){ if (charge == chargeCap){

View File

@@ -281,7 +281,7 @@ public class EtherealChains extends Artifact {
int chargeTarget = 5+(level()*2); int chargeTarget = 5+(level()*2);
if (charge < chargeTarget*2){ if (charge < chargeTarget*2){
partialCharge += 0.5f*amount; partialCharge += 0.5f*amount;
if (partialCharge >= 1){ while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;
updateQuickslot(); updateQuickslot();
@@ -320,7 +320,7 @@ public class EtherealChains extends Artifact {
Buff.prolong( target, Cripple.class, 10f); Buff.prolong( target, Cripple.class, 10f);
} }
if (partialCharge >= 1) { while (partialCharge >= 1) {
partialCharge --; partialCharge --;
charge ++; charge ++;
} }

View File

@@ -164,7 +164,7 @@ public class HornOfPlenty extends Artifact {
public void charge(Hero target, float amount) { public void charge(Hero target, float amount) {
if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){ if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){
partialCharge += 0.25f*amount; partialCharge += 0.25f*amount;
if (partialCharge >= 1){ while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;

View File

@@ -276,7 +276,7 @@ public class LloydsBeacon extends Artifact {
public void charge(Hero target, float amount) { public void charge(Hero target, float amount) {
if (charge < chargeCap){ if (charge < chargeCap){
partialCharge += 0.25f*amount; partialCharge += 0.25f*amount;
if (partialCharge >= 1){ while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;
updateQuickslot(); updateQuickslot();
@@ -314,7 +314,7 @@ public class LloydsBeacon extends Artifact {
if (charge < chargeCap && !cursed && Regeneration.regenOn()) { if (charge < chargeCap && !cursed && Regeneration.regenOn()) {
partialCharge += 1 / (100f - (chargeCap - charge)*10f); partialCharge += 1 / (100f - (chargeCap - charge)*10f);
if (partialCharge >= 1) { while (partialCharge >= 1) {
partialCharge --; partialCharge --;
charge ++; charge ++;

View File

@@ -275,13 +275,14 @@ public class TalismanOfForesight extends Artifact {
chargeGain *= RingOfEnergy.artifactChargeMultiplier(target); chargeGain *= RingOfEnergy.artifactChargeMultiplier(target);
partialCharge += chargeGain; partialCharge += chargeGain;
if (partialCharge > 1 && charge < chargeCap) { while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;
if (charge >= chargeCap) {
partialCharge = 0;
GLog.p(Messages.get(TalismanOfForesight.class, "full_charge"));
}
updateQuickslot(); updateQuickslot();
} else if (charge >= chargeCap) {
partialCharge = 0;
GLog.p( Messages.get(TalismanOfForesight.class, "full_charge") );
} }
} }

View File

@@ -164,9 +164,13 @@ public class TimekeepersHourglass extends Artifact {
public void charge(Hero target, float amount) { public void charge(Hero target, float amount) {
if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){ if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){
partialCharge += 0.25f*amount; partialCharge += 0.25f*amount;
if (partialCharge >= 1){ while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;
if (charge == chargeCap){
partialCharge = 0;
}
updateQuickslot(); updateQuickslot();
} }
} }
@@ -242,7 +246,7 @@ public class TimekeepersHourglass extends Artifact {
chargeGain *= RingOfEnergy.artifactChargeMultiplier(target); chargeGain *= RingOfEnergy.artifactChargeMultiplier(target);
partialCharge += chargeGain; partialCharge += chargeGain;
if (partialCharge >= 1) { while (partialCharge >= 1) {
partialCharge --; partialCharge --;
charge ++; charge ++;

View File

@@ -226,9 +226,13 @@ public class UnstableSpellbook extends Artifact {
public void charge(Hero target, float amount) { public void charge(Hero target, float amount) {
if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){ if (charge < chargeCap && !cursed && target.buff(MagicImmune.class) == null){
partialCharge += 0.1f*amount; partialCharge += 0.1f*amount;
if (partialCharge >= 1){ while (partialCharge >= 1){
partialCharge--; partialCharge--;
charge++; charge++;
if (charge == chargeCap){
partialCharge = 0;
}
updateQuickslot(); updateQuickslot();
} }
} }
@@ -298,7 +302,7 @@ public class UnstableSpellbook extends Artifact {
chargeGain *= RingOfEnergy.artifactChargeMultiplier(target); chargeGain *= RingOfEnergy.artifactChargeMultiplier(target);
partialCharge += chargeGain; partialCharge += chargeGain;
if (partialCharge >= 1) { while (partialCharge >= 1) {
partialCharge --; partialCharge --;
charge ++; charge ++;