TransferStatPowerAction java

This commit is contained in:
2025-01-19 10:22:59 -06:00
parent f410fc5482
commit 45b4ae9e3e
3 changed files with 10 additions and 14 deletions
@@ -44,17 +44,13 @@ public class TransferStatPowerAction extends AbstractPowerAction {
this.powerAction = powerAction;
this.effectID = powerAction.effects.get(0).effect_id;
int flags = powerAction.getInt("flags");
this.transferRampAdd = ((flags & 4096) != 0) ? true : false;
this.transferEfficiencyRampAdd = ((flags & 8192) != 0) ? true : false;
this.targetToCaster = ((flags & 16384) != 0) ? true : false;
//int flags = powerAction.getInt("flags");
this.transferRampAdd = powerAction.statTransfer.rampCurve != null;
this.transferEfficiencyRampAdd = powerAction.statTransfer.rampCurve != null;
this.targetToCaster = powerAction.statTransfer.isDrain;
this.effect = effects.get(this.effectID);
try {
String damageString = powerAction.getString("damageType");
// Damage type can sometimes be null in the DB.
if (damageString.isEmpty() == false)
this.damageType = mbEnums.DamageType.getDamageType(damageString);
this.damageType = powerAction.damageType;
} catch (Exception e) {
this.damageType = null;
}
@@ -71,13 +67,13 @@ public class TransferStatPowerAction extends AbstractPowerAction {
public float getTransferAmount(float trains) {
// if (this.transferRampAdd)
return this.powerAction.statTransfer.ramp + (this.transferRamp * trains);
return (float) (this.powerAction.statTransfer.ramp + (this.powerAction.statTransfer.rampCurve.getValue() * trains));
// else
// return this.transferAmount * (1 + (this.transferRamp * trains));
}
public float getTransferEfficiency(float trains) {
return this.transferEfficiency + (this.transferEfficiencyRamp * trains);
return (float) (this.powerAction.statTransfer.efficiency + (this.powerAction.statTransfer.efficiencyCurve.getValue() * trains));
}
public boolean targetToCaster() {