// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.powers.effectmodifiers; import engine.jobs.AbstractEffectJob; import engine.mbEnums.ModType; import engine.mbEnums.SourceType; import engine.objects.AbstractCharacter; import engine.objects.AbstractWorldObject; import engine.objects.Building; import engine.objects.Item; import engine.powers.EffectsBase; import java.sql.ResultSet; import java.sql.SQLException; public abstract class AbstractEffectModifier { public float minMod; public SourceType sourceType; public ModType modType; protected EffectsBase parent; protected int UUID; protected String IDString; protected String effectType; protected float maxMod; protected float percentMod; protected float ramp; protected boolean useRampAdd; protected String type; protected String string1; protected String string2; public AbstractEffectModifier(ResultSet rs) throws SQLException { this.UUID = rs.getInt("ID"); this.IDString = rs.getString("IDString"); this.effectType = rs.getString("modType"); this.modType = ModType.GetModType(this.effectType); this.type = rs.getString("type").replace("\"", ""); this.sourceType = SourceType.GetSourceType(this.type.replace(" ", "").replace("-", "")); this.minMod = rs.getFloat("minMod"); this.maxMod = rs.getFloat("maxMod"); this.percentMod = rs.getFloat("percentMod"); this.ramp = rs.getFloat("ramp"); this.useRampAdd = (rs.getInt("useRampAdd") == 1) ? true : false; this.string1 = rs.getString("string1"); this.string2 = rs.getString("string2"); } public int getUUID() { return this.UUID; } // public String getIDString() { // return this.IDString; // } public String getmodType() { return this.effectType; } public float getMinMod() { return this.minMod; } public float getMaxMod() { return this.maxMod; } public float getPercentMod() { return this.percentMod; } public float getRamp() { return this.ramp; } public String getType() { return this.type; } public String getString1() { return this.string1; } public String getString2() { return this.string2; } public EffectsBase getParent() { return this.parent; } public void setParent(EffectsBase value) { this.parent = value; } public void applyEffectModifier(AbstractCharacter source, AbstractWorldObject awo, int trains, AbstractEffectJob effect) { _applyEffectModifier(source, awo, trains, effect); } protected abstract void _applyEffectModifier(AbstractCharacter source, AbstractWorldObject awo, int trains, AbstractEffectJob effect); public abstract void applyBonus(AbstractCharacter ac, int trains); public abstract void applyBonus(Item item, int trains); public abstract void applyBonus(Building building, int trains); }