forked from MagicBane/Server
blocked power type structuring
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user