// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.db.handlers; import engine.Enum; import engine.gameManager.DbManager; import engine.gameManager.PowersManager; import engine.objects.Mob; import engine.objects.PreparedStatementShared; import engine.powers.EffectsBase; import org.pmw.tinylog.Logger; import java.sql.ResultSet; import java.util.HashSet; public class dbPowerHandler extends dbHandlerBase { public dbPowerHandler() { this.localClass = Mob.class; this.localObjectType = engine.Enum.GameObjectType.valueOf(this.localClass.getSimpleName()); } public static void addAllSourceTypes() { PreparedStatementShared ps = null; try { ps = new PreparedStatementShared("SELECT * FROM static_power_sourcetype"); ResultSet rs = ps.executeQuery(); String IDString, source; while (rs.next()) { IDString = rs.getString("IDString"); int token = DbManager.hasher.SBStringHash(IDString); source = rs.getString("source").replace("-", "").trim(); Enum.EffectSourceType effectSourceType = Enum.EffectSourceType.GetEffectSourceType(source); if (EffectsBase.effectSourceTypeMap.containsKey(token) == false) EffectsBase.effectSourceTypeMap.put(token, new HashSet<>()); EffectsBase.effectSourceTypeMap.get(token).add(effectSourceType); } rs.close(); } catch (Exception e) { Logger.error(e); } finally { ps.release(); } } public static void addAllAnimationOverrides() { PreparedStatementShared ps = null; try { ps = new PreparedStatementShared("SELECT * FROM static_power_animation_override"); ResultSet rs = ps.executeQuery(); String IDString; int animation; while (rs.next()) { IDString = rs.getString("IDString"); EffectsBase eb = PowersManager.getEffectByIDString(IDString); if (eb != null) IDString = eb.getIDString(); animation = rs.getInt("animation"); PowersManager.AnimationOverrides.put(IDString, animation); } rs.close(); } catch (Exception e) { Logger.error(e); } finally { ps.release(); } } }