Browse Source

ModBehaviour defined

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

170
src/engine/mbEnums.java

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

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

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

Loading…
Cancel
Save