Browse Source

ModBehaviour defined

feature-config-usage
MagicBot 1 week ago
parent
commit
75e1dddd08
  1. 168
      src/engine/mbEnums.java
  2. 6
      src/engine/powers/effectmodifiers/BlockedPowerTypeEffectModifier.java

168
src/engine/mbEnums.java

@ -1235,91 +1235,105 @@ public class mbEnums {
} }
public enum ModType { public enum ModType {
None, Ambidexterity(mbEnums.ModBehaviorType.Flag),
AdjustAboveDmgCap, AnimOverride(mbEnums.ModBehaviorType.MapIntToInts),
Ambidexterity, ArmorPiercing(mbEnums.ModBehaviorType.Standard),
AnimOverride, AttackDelay(mbEnums.ModBehaviorType.Standard),
ArmorPiercing, Attr(mbEnums.ModBehaviorType.FPSubTypeAttr),
AttackDelay, AttrReq(mbEnums.ModBehaviorType.FPSubTypeAttr),
Attr, BlackMantle(mbEnums.ModBehaviorType.SubTypeSourceType),
BlackMantle, BladeTrails(mbEnums.ModBehaviorType.Flag),
BladeTrails, Block(mbEnums.ModBehaviorType.Standard),
Block, BlockedPowerType(mbEnums.ModBehaviorType.SubTypePowerType),
BlockedPowerType, BulkFactor(mbEnums.ModBehaviorType.Standard),
CannotAttack, BulkFactorMin(mbEnums.ModBehaviorType.Standard),
CannotCast, CannotAttack(mbEnums.ModBehaviorType.Flag),
CannotMove, CannotCast(mbEnums.ModBehaviorType.Flag),
CannotTrack, CannotCastSpell(mbEnums.ModBehaviorType.Flag),
Charmed, CannotCastSkill(mbEnums.ModBehaviorType.Flag),
ConstrainedAmbidexterity, CannotMove(mbEnums.ModBehaviorType.Flag),
DamageCap, CannotTrack(mbEnums.ModBehaviorType.Flag),
DamageShield, Charmed(mbEnums.ModBehaviorType.Flag),
DCV, ConstrainedAmbidexterity(mbEnums.ModBehaviorType.SubTypeSkill),
Dodge, DCV(mbEnums.ModBehaviorType.Standard),
DR, DR(mbEnums.ModBehaviorType.Standard),
Durability, MeleeDamageModifier(mbEnums.ModBehaviorType.Standard),
ExclusiveDamageCap, PowerDamageModifier(mbEnums.ModBehaviorType.Standard),
Fade, DamageShield(mbEnums.ModBehaviorType.FPSubTypeDmg),
Fly, Desolid(mbEnums.ModBehaviorType.Flag),
Health, Dodge(mbEnums.ModBehaviorType.Standard),
HealthFull, Durability(mbEnums.ModBehaviorType.Standard),
HealthRecoverRate, Encumbrance(mbEnums.ModBehaviorType.Standard),
IgnoreDamageCap, Fade(mbEnums.ModBehaviorType.Standard),
IgnorePassiveDefense, Fly(mbEnums.ModBehaviorType.Flag),
ImmuneTo, Health(mbEnums.ModBehaviorType.DD),
ImmuneToAttack, HealthFull(mbEnums.ModBehaviorType.Standard),
ImmuneToPowers, HealthRecoverRate(mbEnums.ModBehaviorType.Standard),
Invisible, IgnorePassiveDefense(mbEnums.ModBehaviorType.Flag),
ItemName, ImmuneTo(mbEnums.ModBehaviorType.SubTypeSourceType),
Mana, ImmuneToAttack(mbEnums.ModBehaviorType.Flag),
ManaFull, ImmuneToPowers(mbEnums.ModBehaviorType.Flag),
ManaRecoverRate, Invisible(mbEnums.ModBehaviorType.Flag),
MaxDamage, ItemName(mbEnums.ModBehaviorType.String),
MeleeDamageModifier, LevelReq(mbEnums.ModBehaviorType.Standard),
MinDamage, Mana(mbEnums.ModBehaviorType.DD),
NoMod, ManaFull(mbEnums.ModBehaviorType.Standard),
OCV, ManaRecoverRate(mbEnums.ModBehaviorType.Standard),
Parry, MaxDamage(mbEnums.ModBehaviorType.Standard),
PassiveDefense, MaxNaturalAttackDamage(mbEnums.ModBehaviorType.Standard),
PowerCost, MinDamage(mbEnums.ModBehaviorType.Standard),
PowerCostHealth, MinNaturalAttackDamage(mbEnums.ModBehaviorType.Standard),
PowerDamageModifier, NoMod(mbEnums.ModBehaviorType.SubTypeMod),
ProtectionFrom, NoStilled(mbEnums.ModBehaviorType.Flag),
Resistance, OCV(mbEnums.ModBehaviorType.Standard),
ScaleHeight, Parry(mbEnums.ModBehaviorType.Standard),
ScaleWidth, PassiveDefense(mbEnums.ModBehaviorType.Standard),
ScanRange, PowerCost(mbEnums.ModBehaviorType.Standard),
SeeInvisible, PowerGrant(mbEnums.ModBehaviorType.SubTypePower),
Silenced, ProjectileSpeed(mbEnums.ModBehaviorType.Standard),
Skill, ProtectionFrom(mbEnums.ModBehaviorType.SubTypeDmg),
Slay, Resistance(mbEnums.ModBehaviorType.FPSubTypeDmg),
Speed, ScaleHeight(mbEnums.ModBehaviorType.Standard),
SpireBlock, ScaleWidth(mbEnums.ModBehaviorType.Standard),
Stamina, ScanRange(mbEnums.ModBehaviorType.Standard),
StaminaFull, SeeInvisible(mbEnums.ModBehaviorType.Flag),
StaminaRecoverRate, Silenced(mbEnums.ModBehaviorType.Flag),
Stunned, Skill(mbEnums.ModBehaviorType.FPSubTypeSkill),
Value, Slay(mbEnums.ModBehaviorType.FPSubTypeMonster),
WeaponProc, Sneak(mbEnums.ModBehaviorType.Flag),
WeaponRange, Speed(mbEnums.ModBehaviorType.Standard),
WeaponSpeed; Stamina(mbEnums.ModBehaviorType.DD),
StaminaFull(mbEnums.ModBehaviorType.Standard),
StaminaRecoverRate(mbEnums.ModBehaviorType.Standard),
StaminaUseWhileRunning(mbEnums.ModBehaviorType.Standard),
Stilled(mbEnums.ModBehaviorType.SubTypeSkill),
Stunned(mbEnums.ModBehaviorType.Flag),
Value(mbEnums.ModBehaviorType.Standard),
WeaponProc(mbEnums.ModBehaviorType.ProcInfo),
WeaponRange(mbEnums.ModBehaviorType.Standard),
WeaponSpeed(mbEnums.ModBehaviorType.Standard),
Weight(mbEnums.ModBehaviorType.Standard),
IgnoreDamageCap(mbEnums.ModBehaviorType.SubTypeDmg),
ExclusiveDamageCap(mbEnums.ModBehaviorType.SubTypeDmg),
DamageCap(mbEnums.ModBehaviorType.Standard),
AdjustAboveDmgCap(mbEnums.ModBehaviorType.Standard),
SpireBlock(mbEnums.ModBehaviorType.Flag),
PowerCostHealth(mbEnums.ModBehaviorType.Flag);
public ModBehaviorType behaviorType;
ModType(ModBehaviorType behaviorType) {
this.behaviorType = behaviorType;
}
public static ModType GetModType(String modName) { public static ModType GetModType(String modName) {
ModType modType; ModType modType;
if (modName.isEmpty())
return ModType.None;
try {
modType = ModType.valueOf(modName.replace(",", "")); modType = ModType.valueOf(modName.replace(",", ""));
} catch (Exception e) {
Logger.error(e);
return ModType.None;
}
return modType; return modType;
} }
} }
public enum ModBehavior { public enum ModBehaviorType {
Behavior, Behavior,
Flag, Flag,
MapIntToInts, MapIntToInts,

6
src/engine/powers/effectmodifiers/BlockedPowerTypeEffectModifier.java

@ -42,7 +42,7 @@ public class BlockedPowerTypeEffectModifier extends AbstractEffectModifier {
for (String effect : ac.getEffects().keySet()) { for (String effect : ac.getEffects().keySet()) {
Effect eff = ac.getEffects().get(effect); Effect eff = ac.getEffects().get(effect);
ModType toBlock = ModType.None; ModType toBlock = null;
switch (this.sourceType) { switch (this.sourceType) {
case Invisible: case Invisible:
@ -50,6 +50,10 @@ public class BlockedPowerTypeEffectModifier extends AbstractEffectModifier {
break; break;
} }
if (toBlock == null)
return;
;
HashSet<AbstractEffectModifier> aemList = eff.getEffectModifiers(); HashSet<AbstractEffectModifier> aemList = eff.getEffectModifiers();
for (AbstractEffectModifier aem : aemList) { for (AbstractEffectModifier aem : aemList) {
if (aem.modType.equals(toBlock)) { if (aem.modType.equals(toBlock)) {

Loading…
Cancel
Save