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:
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/bloom_tender.txt -text
|
||||||
forge-gui/res/cardsfolder/b/blossoming_wreath.txt svneol=native#text/plain
|
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/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_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_mana_battery.txt svneol=native#text/plain
|
||||||
forge-gui/res/cardsfolder/b/blue_scarab.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,11 +702,16 @@ public class GameAction {
|
|||||||
// search for cards with static abilities
|
// search for cards with static abilities
|
||||||
final List<Card> allCards = game.getCardsInGame();
|
final List<Card> allCards = game.getCardsInGame();
|
||||||
final ArrayList<StaticAbility> staticAbilities = new ArrayList<StaticAbility>();
|
final ArrayList<StaticAbility> staticAbilities = new ArrayList<StaticAbility>();
|
||||||
for (final Card card : allCards) {
|
for (final Card c : allCards) {
|
||||||
for (StaticAbility sa : card.getStaticAbilities()) {
|
for (int i = 0; i < c.getStaticAbilities().size(); i++) {
|
||||||
if (sa.getMapParams().get("Mode").equals("Continuous")) {
|
StaticAbility stAb = c.getCharacteristics().getStaticAbilities().get(i);
|
||||||
staticAbilities.add(sa);
|
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);
|
final Card equippedCreature = c.getEquipping().get(0);
|
||||||
if (!equippedCreature.isCreature() || !equippedCreature.isInPlay()
|
if (!equippedCreature.isCreature() || !equippedCreature.isInPlay()
|
||||||
|| !equippedCreature.canBeEquippedBy(c)
|
|| !equippedCreature.canBeEquippedBy(c)
|
||||||
|| (equippedCreature.isPhasedOut() && !c.isPhasedOut())) {
|
|| (equippedCreature.isPhasedOut() && !c.isPhasedOut())
|
||||||
|
|| !c.isEquipment()) {
|
||||||
c.unEquipCard(equippedCreature);
|
c.unEquipCard(equippedCreature);
|
||||||
checkAgain = true;
|
checkAgain = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class StaticEffects {
|
|||||||
clearedCards.addAll(this.removeStaticEffect(se));
|
clearedCards.addAll(this.removeStaticEffect(se));
|
||||||
}
|
}
|
||||||
this.staticEffects.clear();
|
this.staticEffects.clear();
|
||||||
|
|
||||||
return clearedCards;
|
return clearedCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4652,15 +4652,15 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
* @param s
|
* @param s
|
||||||
* the s
|
* the s
|
||||||
*/
|
*/
|
||||||
public final void addStaticAbility(final String s) {
|
public final StaticAbility addStaticAbility(final String s) {
|
||||||
|
|
||||||
if (s.trim().length() != 0) {
|
if (s.trim().length() != 0) {
|
||||||
final StaticAbility stAb = new StaticAbility(s, this);
|
final StaticAbility stAb = new StaticAbility(s, this);
|
||||||
this.getCharacteristics().getStaticAbilities().add(stAb);
|
this.getCharacteristics().getStaticAbilities().add(stAb);
|
||||||
|
return stAb;
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public final boolean isPermanent() {
|
public final boolean isPermanent() {
|
||||||
return !(this.isInstant() || this.isSorcery() || this.isImmutable());
|
return !(this.isInstant() || this.isSorcery() || this.isImmutable());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ public class StaticAbility {
|
|||||||
/** The suppressed. */
|
/** The suppressed. */
|
||||||
private final boolean suppressed = false;
|
private final boolean suppressed = false;
|
||||||
|
|
||||||
|
private boolean temporary = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* getHostCard.
|
* getHostCard.
|
||||||
@@ -633,4 +635,11 @@ public class StaticAbility {
|
|||||||
this.layer = layer;
|
this.layer = layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTemporarily(boolean b) {
|
||||||
|
this.temporary = b;
|
||||||
|
}
|
||||||
|
public boolean isTemporary() {
|
||||||
|
return this.temporary;
|
||||||
|
}
|
||||||
|
|
||||||
} // end class StaticEffectFactory
|
} // end class StaticEffectFactory
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ public class StaticAbilityContinuous {
|
|||||||
String[] removeTypes = null;
|
String[] removeTypes = null;
|
||||||
String addColors = null;
|
String addColors = null;
|
||||||
String[] addTriggers = null;
|
String[] addTriggers = null;
|
||||||
|
String[] addStatics = null;
|
||||||
ArrayList<SpellAbility> addFullAbs = null;
|
ArrayList<SpellAbility> addFullAbs = null;
|
||||||
boolean removeAllAbilities = false;
|
boolean removeAllAbilities = false;
|
||||||
boolean removeSuperTypes = false;
|
boolean removeSuperTypes = false;
|
||||||
@@ -277,6 +278,14 @@ public class StaticAbilityContinuous {
|
|||||||
addTriggers = sVars;
|
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")) {
|
if (params.containsKey("GainsAbilitiesOf")) {
|
||||||
final String[] valids = params.get("GainsAbilitiesOf").split(",");
|
final String[] valids = params.get("GainsAbilitiesOf").split(",");
|
||||||
ArrayList<ZoneType> validZones = new ArrayList<ZoneType>();
|
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
|
// remove triggers
|
||||||
if (params.containsKey("RemoveTriggers") || removeAllAbilities) {
|
if (params.containsKey("RemoveTriggers") || removeAllAbilities) {
|
||||||
for (final Trigger trigger : affectedCard.getTriggers()) {
|
for (final Trigger trigger : affectedCard.getTriggers()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user