blocked power type structuring

This commit is contained in:
2024-06-27 20:19:11 -05:00
parent 8943121336
commit 6c622c377f
3 changed files with 22 additions and 26 deletions
+8 -2
View File
@@ -831,16 +831,22 @@ public class mbEnums {
SPIRES,
SNARE,
STUN,
BLIND,
BLINDNESS,
ROOT,
FEAR,
CHARM,
POWERBLOCK,
POWERINHIBITOR,
DEBUFF,
STEAL,
DRAIN;
public static DamageType getDamageType(String modName) {
if(modName.toLowerCase().equals("blind"))
modName = "BLINDNESS";
if(modName.toLowerCase().equals("powerblock"))
modName = "POWERINHIBITOR";
DamageType damageType;
if (modName.isEmpty())
return DamageType.NONE;
+2 -2
View File
@@ -349,13 +349,13 @@ public class Resists {
if (rb.getBool(ModType.ImmuneTo, SourceType.Stun))
this.immuneTo.put(mbEnums.DamageType.STUN, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Blind))
this.immuneTo.put(mbEnums.DamageType.BLIND, true);
this.immuneTo.put(mbEnums.DamageType.BLINDNESS, true);
if (rb.getBool(ModType.ImmuneToAttack, SourceType.None))
this.immuneTo.put(mbEnums.DamageType.ATTACK, true);
if (rb.getBool(ModType.ImmuneToPowers, SourceType.None))
this.immuneTo.put(mbEnums.DamageType.POWERS, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Powerblock))
this.immuneTo.put(mbEnums.DamageType.POWERBLOCK, true);
this.immuneTo.put(mbEnums.DamageType.POWERINHIBITOR, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.DeBuff))
this.immuneTo.put(mbEnums.DamageType.DEBUFF, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Fear))
+12 -22
View File
@@ -242,32 +242,22 @@ public class ActionsBase {
}
//Add blocked types here
public boolean blocked(AbstractWorldObject awo, Boolean vampDrain) {
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
AbstractCharacter ac = (AbstractCharacter) awo;
PlayerBonuses bonus = ac.getBonuses();
if (bonus == null)
return false;
public boolean blocked(AbstractWorldObject awo, boolean vampDrain) {
//Check for immunities
if (AbstractCharacter.IsAbstractCharacter(awo)){
AbstractCharacter pcTarget = (AbstractCharacter) awo;
PlayerBonuses bonus = pcTarget.getBonuses();
if(vampDrain)
return bonus.getBool(ModType.BlockedPowerType, SourceType.VAMPDRAIN);
switch (this.stackType) {
case "Stun":
return bonus.getBool(ModType.ImmuneTo, SourceType.Stun);
case "Snare":
return bonus.getBool(ModType.ImmuneTo, SourceType.Snare);
case "Blindness":
return bonus.getBool(ModType.ImmuneTo, SourceType.Blind);
case "PowerInhibitor":
return bonus.getBool(ModType.ImmuneTo, SourceType.Powerblock);
case "Root":
return bonus.getBool(ModType.ImmuneTo, SourceType.Root);
case "Flight":
return bonus.getBool(ModType.NoMod, SourceType.Fly);
case "Track":
return bonus.getBool(ModType.CannotTrack, SourceType.None);
if (this.stackType.equals("Flight") && bonus.getBool(ModType.NoMod, SourceType.Fly)) {
return true;
}else if (this.stackType.equals("Track") && bonus.getBool(ModType.CannotTrack, SourceType.None)) {
return true;
}else {
mbEnums.DamageType damageType = mbEnums.DamageType.getDamageType(this.stackType.toUpperCase());
return pcTarget.getResists().immuneTo(damageType);
}
}
return false;