forked from MagicBane/Server
FatBoy-DOTC
4 months ago
72 changed files with 584 additions and 535 deletions
@ -1,282 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.db.handlers; |
|
||||||
|
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.gameManager.PowersManager; |
|
||||||
import engine.mbEnums; |
|
||||||
import engine.powers.EffectsBase; |
|
||||||
import engine.powers.effectmodifiers.*; |
|
||||||
import org.pmw.tinylog.Logger; |
|
||||||
|
|
||||||
import java.sql.Connection; |
|
||||||
import java.sql.PreparedStatement; |
|
||||||
import java.sql.ResultSet; |
|
||||||
import java.sql.SQLException; |
|
||||||
import java.util.HashSet; |
|
||||||
|
|
||||||
public class dbEffectsBaseHandler extends dbHandlerBase { |
|
||||||
|
|
||||||
public dbEffectsBaseHandler() { |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
public static void cacheAllEffectModifiers() { |
|
||||||
|
|
||||||
String IDString; |
|
||||||
AbstractEffectModifier abstractEffectModifier = null; |
|
||||||
|
|
||||||
try (Connection connection = DbManager.getConnection(); |
|
||||||
PreparedStatement prepareStatement = connection.prepareStatement("SELECT * FROM static_power_effectmod")) { |
|
||||||
|
|
||||||
ResultSet rs = prepareStatement.executeQuery(); |
|
||||||
|
|
||||||
while (rs.next()) { |
|
||||||
|
|
||||||
IDString = rs.getString("IDString"); |
|
||||||
EffectsBase effectBase = PowersManager.getEffectByIDString(IDString); |
|
||||||
mbEnums.ModType modifier = mbEnums.ModType.GetModType(rs.getString("modType")); |
|
||||||
|
|
||||||
//combine item prefix and suffix effect modifiers
|
|
||||||
|
|
||||||
abstractEffectModifier = getCombinedModifiers(abstractEffectModifier, rs, effectBase, modifier); |
|
||||||
|
|
||||||
if (abstractEffectModifier != null) { |
|
||||||
|
|
||||||
if (EffectsBase.modifiersMap.containsKey(effectBase.getIDString()) == false) |
|
||||||
EffectsBase.modifiersMap.put(effectBase.getIDString(), new HashSet<>()); |
|
||||||
|
|
||||||
EffectsBase.modifiersMap.get(effectBase.getIDString()).add(abstractEffectModifier); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} catch (Exception e) { |
|
||||||
Logger.error(e); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
public static AbstractEffectModifier getCombinedModifiers(AbstractEffectModifier abstractEffectModifier, ResultSet rs, EffectsBase effectBase, mbEnums.ModType modifier) throws SQLException { |
|
||||||
switch (modifier) { |
|
||||||
case AdjustAboveDmgCap: |
|
||||||
abstractEffectModifier = new AdjustAboveDmgCapEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Ambidexterity: |
|
||||||
abstractEffectModifier = new AmbidexterityEffectModifier(rs); |
|
||||||
break; |
|
||||||
case AnimOverride: |
|
||||||
break; |
|
||||||
case ArmorPiercing: |
|
||||||
abstractEffectModifier = new ArmorPiercingEffectModifier(rs); |
|
||||||
break; |
|
||||||
case AttackDelay: |
|
||||||
abstractEffectModifier = new AttackDelayEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Attr: |
|
||||||
abstractEffectModifier = new AttributeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case BlackMantle: |
|
||||||
abstractEffectModifier = new BlackMantleEffectModifier(rs); |
|
||||||
break; |
|
||||||
case BladeTrails: |
|
||||||
abstractEffectModifier = new BladeTrailsEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Block: |
|
||||||
abstractEffectModifier = new BlockEffectModifier(rs); |
|
||||||
break; |
|
||||||
case BlockedPowerType: |
|
||||||
abstractEffectModifier = new BlockedPowerTypeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case CannotAttack: |
|
||||||
abstractEffectModifier = new CannotAttackEffectModifier(rs); |
|
||||||
break; |
|
||||||
case CannotCast: |
|
||||||
abstractEffectModifier = new CannotCastEffectModifier(rs); |
|
||||||
break; |
|
||||||
case CannotMove: |
|
||||||
abstractEffectModifier = new CannotMoveEffectModifier(rs); |
|
||||||
break; |
|
||||||
case CannotTrack: |
|
||||||
abstractEffectModifier = new CannotTrackEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Charmed: |
|
||||||
abstractEffectModifier = new CharmedEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ConstrainedAmbidexterity: |
|
||||||
abstractEffectModifier = new ConstrainedAmbidexterityEffectModifier(rs); |
|
||||||
break; |
|
||||||
case DamageCap: |
|
||||||
abstractEffectModifier = new DamageCapEffectModifier(rs); |
|
||||||
break; |
|
||||||
case DamageShield: |
|
||||||
abstractEffectModifier = new DamageShieldEffectModifier(rs); |
|
||||||
break; |
|
||||||
case DCV: |
|
||||||
abstractEffectModifier = new DCVEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Dodge: |
|
||||||
abstractEffectModifier = new DodgeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case DR: |
|
||||||
abstractEffectModifier = new DREffectModifier(rs); |
|
||||||
break; |
|
||||||
case Durability: |
|
||||||
abstractEffectModifier = new DurabilityEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ExclusiveDamageCap: |
|
||||||
abstractEffectModifier = new ExclusiveDamageCapEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Fade: |
|
||||||
abstractEffectModifier = new FadeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Fly: |
|
||||||
abstractEffectModifier = new FlyEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Health: |
|
||||||
abstractEffectModifier = new HealthEffectModifier(rs); |
|
||||||
break; |
|
||||||
case HealthFull: |
|
||||||
abstractEffectModifier = new HealthFullEffectModifier(rs); |
|
||||||
break; |
|
||||||
case HealthRecoverRate: |
|
||||||
abstractEffectModifier = new HealthRecoverRateEffectModifier(rs); |
|
||||||
break; |
|
||||||
case IgnoreDamageCap: |
|
||||||
abstractEffectModifier = new IgnoreDamageCapEffectModifier(rs); |
|
||||||
break; |
|
||||||
case IgnorePassiveDefense: |
|
||||||
abstractEffectModifier = new IgnorePassiveDefenseEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ImmuneTo: |
|
||||||
abstractEffectModifier = new ImmuneToEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ImmuneToAttack: |
|
||||||
abstractEffectModifier = new ImmuneToAttackEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ImmuneToPowers: |
|
||||||
abstractEffectModifier = new ImmuneToPowersEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Invisible: |
|
||||||
abstractEffectModifier = new InvisibleEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ItemName: |
|
||||||
abstractEffectModifier = new ItemNameEffectModifier(rs); |
|
||||||
if (((ItemNameEffectModifier) abstractEffectModifier).name.isEmpty()) |
|
||||||
break; |
|
||||||
if (effectBase != null) |
|
||||||
effectBase.setName((((ItemNameEffectModifier) abstractEffectModifier).name)); |
|
||||||
break; |
|
||||||
case Mana: |
|
||||||
abstractEffectModifier = new ManaEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ManaFull: |
|
||||||
abstractEffectModifier = new ManaFullEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ManaRecoverRate: |
|
||||||
abstractEffectModifier = new ManaRecoverRateEffectModifier(rs); |
|
||||||
break; |
|
||||||
case MaxDamage: |
|
||||||
abstractEffectModifier = new MaxDamageEffectModifier(rs); |
|
||||||
break; |
|
||||||
case MeleeDamageModifier: |
|
||||||
abstractEffectModifier = new MeleeDamageEffectModifier(rs); |
|
||||||
break; |
|
||||||
case MinDamage: |
|
||||||
abstractEffectModifier = new MinDamageEffectModifier(rs); |
|
||||||
break; |
|
||||||
case NoMod: |
|
||||||
abstractEffectModifier = new NoModEffectModifier(rs); |
|
||||||
break; |
|
||||||
case OCV: |
|
||||||
abstractEffectModifier = new OCVEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Parry: |
|
||||||
abstractEffectModifier = new ParryEffectModifier(rs); |
|
||||||
break; |
|
||||||
case PassiveDefense: |
|
||||||
abstractEffectModifier = new PassiveDefenseEffectModifier(rs); |
|
||||||
break; |
|
||||||
case PowerCost: |
|
||||||
abstractEffectModifier = new PowerCostEffectModifier(rs); |
|
||||||
break; |
|
||||||
case PowerCostHealth: |
|
||||||
abstractEffectModifier = new PowerCostHealthEffectModifier(rs); |
|
||||||
break; |
|
||||||
case PowerDamageModifier: |
|
||||||
abstractEffectModifier = new PowerDamageEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ProtectionFrom: |
|
||||||
abstractEffectModifier = new ProtectionFromEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Resistance: |
|
||||||
abstractEffectModifier = new ResistanceEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ScaleHeight: |
|
||||||
abstractEffectModifier = new ScaleHeightEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ScaleWidth: |
|
||||||
abstractEffectModifier = new ScaleWidthEffectModifier(rs); |
|
||||||
break; |
|
||||||
case ScanRange: |
|
||||||
abstractEffectModifier = new ScanRangeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case SeeInvisible: |
|
||||||
abstractEffectModifier = new SeeInvisibleEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Silenced: |
|
||||||
abstractEffectModifier = new SilencedEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Skill: |
|
||||||
abstractEffectModifier = new SkillEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Slay: |
|
||||||
abstractEffectModifier = new SlayEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Speed: |
|
||||||
abstractEffectModifier = new SpeedEffectModifier(rs); |
|
||||||
break; |
|
||||||
case SpireBlock: |
|
||||||
abstractEffectModifier = new SpireBlockEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Stamina: |
|
||||||
abstractEffectModifier = new StaminaEffectModifier(rs); |
|
||||||
break; |
|
||||||
case StaminaFull: |
|
||||||
abstractEffectModifier = new StaminaFullEffectModifier(rs); |
|
||||||
break; |
|
||||||
case StaminaRecoverRate: |
|
||||||
abstractEffectModifier = new StaminaRecoverRateEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Stunned: |
|
||||||
abstractEffectModifier = new StunnedEffectModifier(rs); |
|
||||||
break; |
|
||||||
case Value: |
|
||||||
abstractEffectModifier = new ValueEffectModifier(rs); |
|
||||||
if (effectBase != null) { |
|
||||||
ValueEffectModifier valueEffect = (ValueEffectModifier) abstractEffectModifier; |
|
||||||
effectBase.value = valueEffect.minMod; |
|
||||||
} |
|
||||||
break; |
|
||||||
case WeaponProc: |
|
||||||
abstractEffectModifier = new WeaponProcEffectModifier(rs); |
|
||||||
break; |
|
||||||
case WeaponRange: |
|
||||||
abstractEffectModifier = new WeaponRangeEffectModifier(rs); |
|
||||||
break; |
|
||||||
case WeaponSpeed: |
|
||||||
abstractEffectModifier = new WeaponSpeedEffectModifier(rs); |
|
||||||
break; |
|
||||||
|
|
||||||
} |
|
||||||
return abstractEffectModifier; |
|
||||||
} |
|
||||||
} |
|
@ -1,56 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.db.handlers; |
|
||||||
|
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.gameManager.PowersManager; |
|
||||||
import engine.mbEnums; |
|
||||||
import engine.objects.Mob; |
|
||||||
import engine.powers.EffectsBase; |
|
||||||
import org.pmw.tinylog.Logger; |
|
||||||
|
|
||||||
import java.sql.Connection; |
|
||||||
import java.sql.PreparedStatement; |
|
||||||
import java.sql.ResultSet; |
|
||||||
import java.util.HashSet; |
|
||||||
|
|
||||||
public class dbPowerHandler extends dbHandlerBase { |
|
||||||
|
|
||||||
public dbPowerHandler() { |
|
||||||
this.localClass = Mob.class; |
|
||||||
this.localObjectType = mbEnums.GameObjectType.valueOf(this.localClass.getSimpleName()); |
|
||||||
} |
|
||||||
public static void addAllAnimationOverrides() { |
|
||||||
|
|
||||||
try (Connection connection = DbManager.getConnection(); |
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM static_power_animation_override")) { |
|
||||||
|
|
||||||
ResultSet rs = preparedStatement.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); |
|
||||||
|
|
||||||
} |
|
||||||
} catch (Exception e) { |
|
||||||
Logger.error(e); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
Loading…
Reference in new issue