|
|
@ -44,17 +44,13 @@ public class TransferStatPowerAction extends AbstractPowerAction { |
|
|
|
this.powerAction = powerAction; |
|
|
|
this.powerAction = powerAction; |
|
|
|
this.effectID = powerAction.effects.get(0).effect_id; |
|
|
|
this.effectID = powerAction.effects.get(0).effect_id; |
|
|
|
|
|
|
|
|
|
|
|
int flags = powerAction.getInt("flags"); |
|
|
|
//int flags = powerAction.getInt("flags");
|
|
|
|
this.transferRampAdd = ((flags & 4096) != 0) ? true : false; |
|
|
|
this.transferRampAdd = powerAction.statTransfer.rampCurve != null; |
|
|
|
this.transferEfficiencyRampAdd = ((flags & 8192) != 0) ? true : false; |
|
|
|
this.transferEfficiencyRampAdd = powerAction.statTransfer.rampCurve != null; |
|
|
|
this.targetToCaster = ((flags & 16384) != 0) ? true : false; |
|
|
|
this.targetToCaster = powerAction.statTransfer.isDrain; |
|
|
|
this.effect = effects.get(this.effectID); |
|
|
|
this.effect = effects.get(this.effectID); |
|
|
|
try { |
|
|
|
try { |
|
|
|
String damageString = powerAction.getString("damageType"); |
|
|
|
this.damageType = powerAction.damageType; |
|
|
|
// Damage type can sometimes be null in the DB.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (damageString.isEmpty() == false) |
|
|
|
|
|
|
|
this.damageType = mbEnums.DamageType.getDamageType(damageString); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
this.damageType = null; |
|
|
|
this.damageType = null; |
|
|
|
} |
|
|
|
} |
|
|
@ -71,13 +67,13 @@ public class TransferStatPowerAction extends AbstractPowerAction { |
|
|
|
|
|
|
|
|
|
|
|
public float getTransferAmount(float trains) { |
|
|
|
public float getTransferAmount(float trains) { |
|
|
|
// if (this.transferRampAdd)
|
|
|
|
// if (this.transferRampAdd)
|
|
|
|
return this.powerAction.statTransfer.ramp + (this.transferRamp * trains); |
|
|
|
return (float) (this.powerAction.statTransfer.ramp + (this.powerAction.statTransfer.rampCurve.getValue() * trains)); |
|
|
|
// else
|
|
|
|
// else
|
|
|
|
// return this.transferAmount * (1 + (this.transferRamp * trains));
|
|
|
|
// return this.transferAmount * (1 + (this.transferRamp * trains));
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public float getTransferEfficiency(float 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() { |
|
|
|
public boolean targetToCaster() { |
|
|
|