forked from MagicBane/Server
ModBehaviour defined
This commit is contained in:
+92
-78
@@ -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())
|
modType = ModType.valueOf(modName.replace(",", ""));
|
||||||
return ModType.None;
|
|
||||||
|
|
||||||
try {
|
|
||||||
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,
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user