mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
- Added Bludgeon Brawl
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1302,6 +1302,7 @@ forge-gui/res/cardsfolder/b/bloodthrone_vampire.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/b/bloom_tender.txt -text
|
||||
forge-gui/res/cardsfolder/b/blossoming_wreath.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/b/blowfly_infestation.txt -text
|
||||
forge-gui/res/cardsfolder/b/bludgeon_brawl.txt -text
|
||||
forge-gui/res/cardsfolder/b/blue_elemental_blast.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/b/blue_mana_battery.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/b/blue_scarab.txt svneol=native#text/plain
|
||||
|
||||
8
forge-gui/res/cardsfolder/b/bludgeon_brawl.txt
Normal file
8
forge-gui/res/cardsfolder/b/bludgeon_brawl.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Bludgeon Brawl
|
||||
ManaCost:2 R
|
||||
Types:Enchantment
|
||||
S:Mode$ Continuous | Affected$ Artifact.nonCreature+nonEquipment | AddAbility$ BrawlEquip | AddType$ Equipment | AddStaticAbility$ EquipPump | Description$ Each noncreature, non-Equipment artifact is an Equipment with equip X and "Equipped creature gets +X/+0," where X is that artifact's converted mana cost.
|
||||
SVar:BrawlEquip:AB$ Attach | Cost$ ConvertedManaCost | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SorcerySpeed$ True | Equip$ True | AILogic$ Pump | IsPresent$ Card.Self+nonCreature | PrecostDesc$ Equip | SpellDescription$ (Attach to target creature you control. Equip only as a sorcery.)
|
||||
SVar:EquipPump:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ ConvertedManaCost | Description$ Equipped creature gets +X/+0, where X is CARDNAME's converted mana cost.
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/bludgeon_brawl.jpg
|
||||
@@ -702,10 +702,15 @@ 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;
|
||||
}
|
||||
|
||||
@@ -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