|
|
|
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
|
|
// 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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|