forked from MagicBane/Server
ModBehaviour defined
This commit is contained in:
+92
-78
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
break;
|
||||
}
|
||||
|
||||
if (toBlock == null)
|
||||
return;
|
||||
;
|
||||
|
||||
HashSet<AbstractEffectModifier> aemList = eff.getEffectModifiers();
|
||||
for (AbstractEffectModifier aem : aemList) {
|
||||
if (aem.modType.equals(toBlock)) {
|
||||
|
||||
Reference in New Issue
Block a user