mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
- Added Cunning Giant (will convert to trigger if necessary)
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -2161,6 +2161,7 @@ res/cardsfolder/c/cumber_stone.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/c/cunning.txt svneol=native#text/plain
|
res/cardsfolder/c/cunning.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/cunning_advisor.txt svneol=native#text/plain
|
res/cardsfolder/c/cunning_advisor.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/cunning_bandit_azamuki_treachery_incarnate.txt -text
|
res/cardsfolder/c/cunning_bandit_azamuki_treachery_incarnate.txt -text
|
||||||
|
res/cardsfolder/c/cunning_giant.txt -text
|
||||||
res/cardsfolder/c/cunning_lethemancer.txt svneol=native#text/plain
|
res/cardsfolder/c/cunning_lethemancer.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/cunning_sparkmage.txt svneol=native#text/plain
|
res/cardsfolder/c/cunning_sparkmage.txt svneol=native#text/plain
|
||||||
res/cardsfolder/c/cunning_wish.txt -text
|
res/cardsfolder/c/cunning_wish.txt -text
|
||||||
|
|||||||
14
res/cardsfolder/c/cunning_giant.txt
Normal file
14
res/cardsfolder/c/cunning_giant.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Name:Cunning Giant
|
||||||
|
ManaCost:5 R
|
||||||
|
Types:Creature Giant
|
||||||
|
Text:no text
|
||||||
|
PT:4/4
|
||||||
|
R:Event$ DamageDone | ValidTarget$ Player.attackedBySourceThisCombat | ValidSource$ Card.Self | IsCombat$ True | ReplaceWith$ ChooseVictim | Optional$ True | OptionalDecider$ You | Description$ If CARDNAME is unblocked, you may have it assign its combat damage to a creature defending player controls.
|
||||||
|
SVar:ChooseVictim:DB$ ChooseCard | ChoiceZone$ Battlefield | Choices$ Creature.DefenderCtrl | Amount$ 1 | ChoiceTitle$ Choose a card to deal the damage to | SubAbility$ CunningDmg
|
||||||
|
SVar:CunningDmg:DB$ DealDamage | Defined$ ChosenCard | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ CunningX
|
||||||
|
SVar:CunningX:ReplaceCount$DamageAmount
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/cunning_giant.jpg
|
||||||
|
SetInfo:PO2|Rare|http://magiccards.info/scans/en/po2/93.jpg
|
||||||
|
Oracle:If Cunning Giant is unblocked, you may have it assign its combat damage to a creature defending player controls.
|
||||||
|
End
|
||||||
@@ -15,4 +15,5 @@ SVar:Z:Imprinted$Valid Creature
|
|||||||
SVar:Rarity:Uncommon
|
SVar:Rarity:Uncommon
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/duplicant.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/duplicant.jpg
|
||||||
Oracle:Imprint - When Duplicant enters the battlefield, you may exile target nontoken creature.\nAs long as the exiled card is a creature card, Duplicant has that card's power, toughness, and creature types. It's still a Shapeshifter.
|
Oracle:Imprint - When Duplicant enters the battlefield, you may exile target nontoken creature.\nAs long as the exiled card is a creature card, Duplicant has that card's power, toughness, and creature types. It's still a Shapeshifter.
|
||||||
|
SetInfo:MRD|Rare|http://magiccards.info/scans/en/mi/165.jpg
|
||||||
End
|
End
|
||||||
@@ -215,7 +215,7 @@ public class ReplacementHandler {
|
|||||||
final StringBuilder buildQuestion = new StringBuilder("Apply replacement effect of ");
|
final StringBuilder buildQuestion = new StringBuilder("Apply replacement effect of ");
|
||||||
buildQuestion.append(replacementEffect.getHostCard());
|
buildQuestion.append(replacementEffect.getHostCard());
|
||||||
buildQuestion.append("?\r\n(");
|
buildQuestion.append("?\r\n(");
|
||||||
buildQuestion.append(replacementEffect.toString());
|
buildQuestion.append(replacementEffect.toString().replace("CARDNAME", replacementEffect.getHostCard().getName()));
|
||||||
buildQuestion.append(")");
|
buildQuestion.append(")");
|
||||||
if (!GuiDialog.confirm(replacementEffect.getHostCard(), buildQuestion.toString())) {
|
if (!GuiDialog.confirm(replacementEffect.getHostCard(), buildQuestion.toString())) {
|
||||||
return ReplacementResult.NotReplaced;
|
return ReplacementResult.NotReplaced;
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ import forge.game.event.LifeLossEvent;
|
|||||||
import forge.game.event.PoisonCounterEvent;
|
import forge.game.event.PoisonCounterEvent;
|
||||||
import forge.game.event.ShuffleEvent;
|
import forge.game.event.ShuffleEvent;
|
||||||
import forge.game.event.SpellResolvedEvent;
|
import forge.game.event.SpellResolvedEvent;
|
||||||
|
import forge.game.phase.Combat;
|
||||||
import forge.game.phase.PhaseHandler;
|
import forge.game.phase.PhaseHandler;
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
import forge.game.zone.PlayerZoneBattlefield;
|
import forge.game.zone.PlayerZoneBattlefield;
|
||||||
@@ -2540,6 +2541,10 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
|||||||
if (!source.getDamageHistory().getThisTurnDamaged().contains(this)) {
|
if (!source.getDamageHistory().getThisTurnDamaged().contains(this)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.equals("attackedBySourceThisCombat")) {
|
||||||
|
if (!this.equals(Singletons.getModel().getGame().getCombat().getDefenderPlayerByAttacker(source))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (property.startsWith("wasDealtDamageThisTurn")) {
|
} else if (property.startsWith("wasDealtDamageThisTurn")) {
|
||||||
if (this.assignedDamage.isEmpty()) {
|
if (this.assignedDamage.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user