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() {
+2 -2
View File
@@ -139,7 +139,7 @@ public class PowerActionParser {
statTransfer.efficiency = Float.parseFloat(headerIterator.next());
statTransfer.efficiencyCurve = mbEnums.CompoundCurveType.valueOf(headerIterator.next());
statTransfer.fromStatBool = Boolean.parseBoolean(headerIterator.next());
statTransfer.toStatBool = Boolean.parseBoolean(headerIterator.next());
statTransfer.isDrain = Boolean.parseBoolean(headerIterator.next());
powerAction.statTransfer = statTransfer;
break;
case "TransferStatOT":
@@ -151,7 +151,7 @@ public class PowerActionParser {
statTransfer.efficiency = Float.parseFloat(headerIterator.next());
statTransfer.efficiencyCurve = mbEnums.CompoundCurveType.valueOf(headerIterator.next());
statTransfer.fromStatBool = Boolean.parseBoolean(headerIterator.next());
statTransfer.toStatBool = Boolean.parseBoolean(headerIterator.next());
statTransfer.isDrain = Boolean.parseBoolean(headerIterator.next());
statTransfer.transfer_action = headerIterator.next();
statTransfer.transfer_ticks = Integer.parseInt(headerIterator.next());
powerAction.statTransfer = statTransfer;
+1 -1
View File
@@ -18,7 +18,7 @@ public class StatTransfer {
public float efficiency;
public mbEnums.CompoundCurveType efficiencyCurve;
public boolean fromStatBool;
public boolean toStatBool;
public boolean isDrain;
public String transfer_action;
public int transfer_ticks;
}