mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
- Added Bludgeon Brawl
This commit is contained in:
@@ -702,11 +702,16 @@ public class GameAction {
|
||||
// search for cards with static abilities
|
||||
final List<Card> allCards = game.getCardsInGame();
|
||||
final ArrayList<StaticAbility> staticAbilities = new ArrayList<StaticAbility>();
|
||||
for (final Card card : allCards) {
|
||||
for (StaticAbility sa : card.getStaticAbilities()) {
|
||||
if (sa.getMapParams().get("Mode").equals("Continuous")) {
|
||||
staticAbilities.add(sa);
|
||||
}
|
||||
for (final Card c : allCards) {
|
||||
for (int i = 0; i < c.getStaticAbilities().size(); i++) {
|
||||
StaticAbility stAb = c.getCharacteristics().getStaticAbilities().get(i);
|
||||
if (stAb.getMapParams().get("Mode").equals("Continuous")) {
|
||||
staticAbilities.add(stAb);
|
||||
}
|
||||
if (stAb.isTemporary()) {
|
||||
c.getCharacteristics().getStaticAbilities().remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -992,7 +997,8 @@ public class GameAction {
|
||||
final Card equippedCreature = c.getEquipping().get(0);
|
||||
if (!equippedCreature.isCreature() || !equippedCreature.isInPlay()
|
||||
|| !equippedCreature.canBeEquippedBy(c)
|
||||
|| (equippedCreature.isPhasedOut() && !c.isPhasedOut())) {
|
||||
|| (equippedCreature.isPhasedOut() && !c.isPhasedOut())
|
||||
|| !c.isEquipment()) {
|
||||
c.unEquipCard(equippedCreature);
|
||||
checkAgain = true;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public class StaticEffects {
|
||||
clearedCards.addAll(this.removeStaticEffect(se));
|
||||
}
|
||||
this.staticEffects.clear();
|
||||
|
||||
|
||||
return clearedCards;
|
||||
}
|
||||
|
||||
|
||||
@@ -4652,15 +4652,15 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
* @param s
|
||||
* the s
|
||||
*/
|
||||
public final void addStaticAbility(final String s) {
|
||||
|
||||
public final StaticAbility addStaticAbility(final String s) {
|
||||
if (s.trim().length() != 0) {
|
||||
final StaticAbility stAb = new StaticAbility(s, this);
|
||||
this.getCharacteristics().getStaticAbilities().add(stAb);
|
||||
return stAb;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public final boolean isPermanent() {
|
||||
return !(this.isInstant() || this.isSorcery() || this.isImmutable());
|
||||
}
|
||||
|
||||
@@ -50,6 +50,8 @@ public class StaticAbility {
|
||||
/** The suppressed. */
|
||||
private final boolean suppressed = false;
|
||||
|
||||
private boolean temporary = false;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* getHostCard.
|
||||
@@ -633,4 +635,11 @@ public class StaticAbility {
|
||||
this.layer = layer;
|
||||
}
|
||||
|
||||
public void setTemporarily(boolean b) {
|
||||
this.temporary = b;
|
||||
}
|
||||
public boolean isTemporary() {
|
||||
return this.temporary;
|
||||
}
|
||||
|
||||
} // end class StaticEffectFactory
|
||||
|
||||
@@ -98,6 +98,7 @@ public class StaticAbilityContinuous {
|
||||
String[] removeTypes = null;
|
||||
String addColors = null;
|
||||
String[] addTriggers = null;
|
||||
String[] addStatics = null;
|
||||
ArrayList<SpellAbility> addFullAbs = null;
|
||||
boolean removeAllAbilities = false;
|
||||
boolean removeSuperTypes = false;
|
||||
@@ -277,6 +278,14 @@ public class StaticAbilityContinuous {
|
||||
addTriggers = sVars;
|
||||
}
|
||||
|
||||
if (params.containsKey("AddStaticAbility")) {
|
||||
final String[] sVars = params.get("AddStaticAbility").split(" & ");
|
||||
for (int i = 0; i < sVars.length; i++) {
|
||||
sVars[i] = hostCard.getSVar(sVars[i]);
|
||||
}
|
||||
addStatics = sVars;
|
||||
}
|
||||
|
||||
if (params.containsKey("GainsAbilitiesOf")) {
|
||||
final String[] valids = params.get("GainsAbilitiesOf").split(",");
|
||||
ArrayList<ZoneType> validZones = new ArrayList<ZoneType>();
|
||||
@@ -471,6 +480,17 @@ public class StaticAbilityContinuous {
|
||||
}
|
||||
}
|
||||
|
||||
// add static abilities
|
||||
if (addStatics != null) {
|
||||
for (String s : addStatics) {
|
||||
if (s.contains("ConvertedManaCost")) {
|
||||
final String costcmc = Integer.toString(affectedCard.getCMC());
|
||||
s = s.replace("ConvertedManaCost", costcmc);
|
||||
}
|
||||
affectedCard.addStaticAbility(s).setTemporarily(true);
|
||||
}
|
||||
}
|
||||
|
||||
// remove triggers
|
||||
if (params.containsKey("RemoveTriggers") || removeAllAbilities) {
|
||||
for (final Trigger trigger : affectedCard.getTriggers()) {
|
||||
|
||||
Reference in New Issue
Block a user