Public Repository for the Magicbane Shadowbane Emulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.0 KiB

// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.powers;
import engine.objects.PreparedStatementShared;
import org.pmw.tinylog.Logger;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class FailCondition {
private String IDString;
private Boolean forPower;
private String type;
private float amount;
private float ramp;
private boolean rampAdd;
// private String damageType1;
// private String damageType2;
// private String damageType3;
/**
* No Table ID Constructor
*/
public FailCondition() {
}
/**
* ResultSet Constructor
*/
public FailCondition(ResultSet rs) throws SQLException {
this.IDString = rs.getString("IDString");
this.forPower = (rs.getString("powerOrEffect").equals("Power")) ? true : false;
this.type = rs.getString("type");
this.amount = rs.getFloat("amount");
this.ramp = rs.getFloat("ramp");
this.rampAdd = (rs.getInt("useAddFormula") == 1) ? true : false;
// this.damageType1 = rs.getString("damageType1");
// this.damageType2 = rs.getString("damageType2");
// this.damageType3 = rs.getString("damageType3");
}
public static ArrayList<FailCondition> getAllFailConditions() {
PreparedStatementShared ps = null;
ArrayList<FailCondition> out = new ArrayList<>();
try {
ps = new PreparedStatementShared("SELECT * FROM failconditions");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
FailCondition toAdd = new FailCondition(rs);
out.add(toAdd);
}
rs.close();
} catch (Exception e) {
Logger.error( e);
} finally {
ps.release();
}
return out;
}
public String getIDString() {
return this.IDString;
}
public String getType() {
return this.type;
}
public boolean forPower() {
return this.forPower;
}
public float getAmount() {
return this.amount;
}
public float getRamp() {
return this.ramp;
}
public float getAmountForTrains(float trains) {
if (this.rampAdd)
return this.amount + (this.ramp * trains);
else
return this.amount * (1 + (this.ramp * trains));
}
public boolean useRampAdd() {
return this.rampAdd;
}
// public String getDamageType1() {
// return this.damageType1;
// }
// public String getDamageType2() {
// return this.damageType2;
// }
// public String getDamageType3() {
// return this.damageType3;
// }
}