Browse Source

use of proper stack ranks

lakebane
FatBoy-DOTC 3 weeks ago
parent
commit
a5186265e2
  1. 40
      src/engine/powers/ActionsBase.java

40
src/engine/powers/ActionsBase.java

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
package engine.powers;
import com.sun.corba.se.spi.orbutil.fsm.ActionBase;
import engine.Enum;
import engine.Enum.ModType;
import engine.Enum.SourceType;
@ -259,6 +260,34 @@ public class ActionsBase { @@ -259,6 +260,34 @@ public class ActionsBase {
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
AbstractCharacter ac = (AbstractCharacter) awo;
if(ac.effects.containsKey(this.stackType)) {
Boolean sameRank = false;
Effect eff = ac.effects.get(this.stackType);
String currentEffect = eff.getEffectsBase().getIDString();
String newEffect = this.effectID;
if (currentEffect.equals(newEffect) && !this.stackType.equals("Stun"))
return false;
if (eff != null) {
for (ActionsBase action : eff.getPower().getActions()) {
if (this.stackType.equals(action.stackType) && this.stackOrder == action.stackOrder) {
if (this.stackType.equals("NoStun")) {
return true;
}
}
if (sameRank) {
if (this.greaterThan && trains <= eff.getTrains())
return true;
if (this.greaterThanEqual && trains < eff.getTrains())
return true;
}
}
}
}
PlayerBonuses bonus = ac.getBonuses();
if (bonus == null)
return false;
@ -290,17 +319,6 @@ public class ActionsBase { @@ -290,17 +319,6 @@ public class ActionsBase {
if (this.stackType.equals("PowerInhibitor") && bonus.getBool(ModType.ImmuneTo, SourceType.Powerblock))
return true;
if(ac.effects.containsKey(this.stackType)) {
Effect eff = ac.effects.get(this.stackType);
if(eff != null) {
if (this.greaterThan && trains <= eff.getTrains())
return true;
if (this.greaterThanEqual && trains < eff.getTrains())
return true;
}
}
}
return false;
}

Loading…
Cancel
Save