|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|