forked from MagicBane/Server
				
			
				 72 changed files with 584 additions and 535 deletions
			
			
		| @ -1,282 +0,0 @@@@ -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 @@@@ -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