mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
- ORI: Added 2 Renown cards
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -658,6 +658,7 @@ forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java svneol
|
|||||||
forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java svneol=native#text/plain
|
forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java svneol=native#text/plain
|
||||||
forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java svneol=native#text/plain
|
forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java svneol=native#text/plain
|
||||||
forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java -text
|
forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java -text
|
||||||
|
forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java -text
|
||||||
forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java svneol=native#text/plain
|
forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java svneol=native#text/plain
|
||||||
forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java -text
|
forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java -text
|
||||||
forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java svneol=native#text/plain
|
forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java svneol=native#text/plain
|
||||||
|
|||||||
@@ -235,7 +235,9 @@ public class GameCopier {
|
|||||||
newCard.setMonstrous(true);
|
newCard.setMonstrous(true);
|
||||||
newCard.setMonstrosityNum(c.getMonstrosityNum());
|
newCard.setMonstrosityNum(c.getMonstrosityNum());
|
||||||
}
|
}
|
||||||
|
if (c.isRenowned()) {
|
||||||
|
newCard.setRenowned(true);
|
||||||
|
}
|
||||||
if (c.isPlaneswalker()) {
|
if (c.isPlaneswalker()) {
|
||||||
for (SpellAbility sa : c.getAllSpellAbilities()) {
|
for (SpellAbility sa : c.getAllSpellAbilities()) {
|
||||||
SpellAbilityRestriction restrict = sa.getRestrictions();
|
SpellAbilityRestriction restrict = sa.getRestrictions();
|
||||||
|
|||||||
@@ -141,6 +141,12 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
runParams.put("Card", tgtCard);
|
runParams.put("Card", tgtCard);
|
||||||
tgtCard.getController().getGame().getTriggerHandler().runTrigger(TriggerType.BecomeMonstrous, runParams, false);
|
tgtCard.getController().getGame().getTriggerHandler().runTrigger(TriggerType.BecomeMonstrous, runParams, false);
|
||||||
}
|
}
|
||||||
|
if (sa.hasParam("Renown")) {
|
||||||
|
tgtCard.setRenowned(true);
|
||||||
|
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||||
|
runParams.put("Card", tgtCard);
|
||||||
|
tgtCard.getController().getGame().getTriggerHandler().runTrigger(TriggerType.BecomeRenowned, runParams, false);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// adding counters to something like re-suspend cards
|
// adding counters to something like re-suspend cards
|
||||||
// etbcounter should apply multiplier
|
// etbcounter should apply multiplier
|
||||||
|
|||||||
@@ -196,6 +196,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
private boolean monstrous = false;
|
private boolean monstrous = false;
|
||||||
private int monstrosityNum = 0;
|
private int monstrosityNum = 0;
|
||||||
|
|
||||||
|
private boolean renowned = false;
|
||||||
|
|
||||||
private boolean manifested = false;
|
private boolean manifested = false;
|
||||||
|
|
||||||
private long bestowTimestamp = -1;
|
private long bestowTimestamp = -1;
|
||||||
@@ -1651,6 +1653,9 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
if (monstrous) {
|
if (monstrous) {
|
||||||
sb.append("Monstrous\r\n");
|
sb.append("Monstrous\r\n");
|
||||||
}
|
}
|
||||||
|
if (renowned) {
|
||||||
|
sb.append("Renowned\r\n");
|
||||||
|
}
|
||||||
if (manifested) {
|
if (manifested) {
|
||||||
sb.append("Manifested\r\n");
|
sb.append("Manifested\r\n");
|
||||||
}
|
}
|
||||||
@@ -5082,6 +5087,14 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
if (isMonstrous()) {
|
if (isMonstrous()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.equals("IsRenowned")) {
|
||||||
|
if (!isRenowned()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (property.equals("IsNotRenowned")) {
|
||||||
|
if (isRenowned()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (property.startsWith("non")) {
|
} else if (property.startsWith("non")) {
|
||||||
// ... Other Card types
|
// ... Other Card types
|
||||||
if (getType().hasStringType(property.substring(3))) {
|
if (getType().hasStringType(property.substring(3))) {
|
||||||
@@ -5903,6 +5916,13 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
monstrosityNum = num;
|
monstrosityNum = num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final boolean isRenowned() {
|
||||||
|
return renowned;
|
||||||
|
}
|
||||||
|
public final void setRenowned(final boolean renowned0) {
|
||||||
|
renowned = renowned0;
|
||||||
|
}
|
||||||
|
|
||||||
public final boolean isManifested() {
|
public final boolean isManifested() {
|
||||||
return manifested;
|
return manifested;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2343,6 +2343,20 @@ public class CardFactoryUtil {
|
|||||||
final Trigger parsedUpkeepTrig = TriggerHandler.parseTrigger(upkeepTrig, card, true);
|
final Trigger parsedUpkeepTrig = TriggerHandler.parseTrigger(upkeepTrig, card, true);
|
||||||
card.addTrigger(parsedUpkeepTrig);
|
card.addTrigger(parsedUpkeepTrig);
|
||||||
}
|
}
|
||||||
|
else if (keyword.startsWith("Renown")) {
|
||||||
|
final String[] k = keyword.split(" ");
|
||||||
|
final String suffix = !k[1].equals("1") ? "s" : "";
|
||||||
|
card.removeIntrinsicKeyword(keyword);
|
||||||
|
String renownTrig = "Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player"
|
||||||
|
+ " | IsPresent$ Card.Self+IsNotRenowned | CombatDamage$ True | Execute$"
|
||||||
|
+ " TrigBecomeRenown | TriggerDescription$ Renown " + k[1] +" (When this "
|
||||||
|
+ "creature deals combat damage to a player, if it isn't renowned, put "
|
||||||
|
+ k[1] + " +1/+1 counter" + suffix + " on it and it becomes renowned.) ";
|
||||||
|
card.setSVar("TrigBecomeRenown", "AB$ PutCounter | Cost$ 0 | Defined$ Self | "
|
||||||
|
+ "CounterType$ P1P1 | CounterNum$ " + k[1] + " | Renown$ True");
|
||||||
|
final Trigger parseRenownTrig = TriggerHandler.parseTrigger(renownTrig, card, true);
|
||||||
|
card.addTrigger(parseRenownTrig);
|
||||||
|
}
|
||||||
else if (keyword.startsWith("Vanishing")) {
|
else if (keyword.startsWith("Vanishing")) {
|
||||||
final String[] k = keyword.split(":");
|
final String[] k = keyword.split(":");
|
||||||
// etbcounter
|
// etbcounter
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public final class CardUtil {
|
|||||||
"Transmute", "Replicate", "Recover", "Suspend", "Aura swap",
|
"Transmute", "Replicate", "Recover", "Suspend", "Aura swap",
|
||||||
"Fortify", "Transfigure", "Champion", "Evoke", "Prowl",
|
"Fortify", "Transfigure", "Champion", "Evoke", "Prowl",
|
||||||
"Reinforce", "Unearth", "Level up", "Miracle", "Overload",
|
"Reinforce", "Unearth", "Level up", "Miracle", "Overload",
|
||||||
"Scavenge", "Bestow", "Outlast", "Dash").build();
|
"Scavenge", "Bestow", "Outlast", "Dash", "Renown").build();
|
||||||
/** List of keyword endings of keywords that could be modified by text changes. */
|
/** List of keyword endings of keywords that could be modified by text changes. */
|
||||||
public static final ImmutableList<String> modifiableKeywordEndings = ImmutableList.<String>builder().add(
|
public static final ImmutableList<String> modifiableKeywordEndings = ImmutableList.<String>builder().add(
|
||||||
"walk", "cycling", "offering").build();
|
"walk", "cycling", "offering").build();
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
/*
|
||||||
|
* Forge: Play Magic: the Gathering.
|
||||||
|
* Copyright (C) 2011 Forge Team
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package forge.game.trigger;
|
||||||
|
|
||||||
|
import forge.game.card.Card;
|
||||||
|
import forge.game.spellability.SpellAbility;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Trigger_BecomeRenowned class.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Forge
|
||||||
|
* @version $Id: TriggerBecomeRenowned.java 21543 2013-05-19 21:35:20Z Max mtg $
|
||||||
|
*/
|
||||||
|
public class TriggerBecomeRenowned extends Trigger {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Constructor for Trigger_BecomeRenowned.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param params
|
||||||
|
* a {@link java.util.HashMap} object.
|
||||||
|
* @param host
|
||||||
|
* a {@link forge.game.card.Card} object.
|
||||||
|
* @param intrinsic
|
||||||
|
* the intrinsic
|
||||||
|
*/
|
||||||
|
public TriggerBecomeRenowned(final java.util.Map<String, String> params, final Card host, final boolean intrinsic) {
|
||||||
|
super(params, host, intrinsic);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Override
|
||||||
|
public final boolean performTest(final java.util.Map<String, Object> runParams2) {
|
||||||
|
if (this.mapParams.containsKey("ValidCard")) {
|
||||||
|
if (!matchesValid(runParams2.get("Card"), this.mapParams.get("ValidCard").split(","),
|
||||||
|
this.getHostCard())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Override
|
||||||
|
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||||
|
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,6 +21,7 @@ public enum TriggerType {
|
|||||||
AttackerUnblocked(TriggerAttackerUnblocked.class),
|
AttackerUnblocked(TriggerAttackerUnblocked.class),
|
||||||
Attacks(TriggerAttacks.class),
|
Attacks(TriggerAttacks.class),
|
||||||
BecomeMonstrous(TriggerBecomeMonstrous.class),
|
BecomeMonstrous(TriggerBecomeMonstrous.class),
|
||||||
|
BecomeRenowned(TriggerBecomeRenowned.class),
|
||||||
BecomesTarget(TriggerBecomesTarget.class),
|
BecomesTarget(TriggerBecomesTarget.class),
|
||||||
BlockersDeclared(TriggerBlockersDeclared.class),
|
BlockersDeclared(TriggerBlockersDeclared.class),
|
||||||
Blocks(TriggerBlocks.class),
|
Blocks(TriggerBlocks.class),
|
||||||
|
|||||||
@@ -451,7 +451,8 @@ public final class CardScriptParser {
|
|||||||
"IsImprinted", "IsNotImprinted", "hasActivatedAbilityWithTapCost",
|
"IsImprinted", "IsNotImprinted", "hasActivatedAbilityWithTapCost",
|
||||||
"hasActivatedAbility", "hasManaAbility",
|
"hasActivatedAbility", "hasManaAbility",
|
||||||
"hasNonManaActivatedAbility", "NoAbilities", "HasCounters",
|
"hasNonManaActivatedAbility", "NoAbilities", "HasCounters",
|
||||||
"wasNotCast", "ChosenType", "IsNotChosenType", "IsCommander");
|
"wasNotCast", "ChosenType", "IsNotChosenType", "IsCommander",
|
||||||
|
"IsRenowned", "IsNotRenowned");
|
||||||
private static final Set<String> VALID_EXCLUSIVE_STARTSWITH = ImmutableSortedSet
|
private static final Set<String> VALID_EXCLUSIVE_STARTSWITH = ImmutableSortedSet
|
||||||
.of("named", "notnamed", "OwnedBy", "ControlledBy",
|
.of("named", "notnamed", "OwnedBy", "ControlledBy",
|
||||||
"ControllerControls", "AttachedTo", "EnchantedBy",
|
"ControllerControls", "AttachedTo", "EnchantedBy",
|
||||||
|
|||||||
Reference in New Issue
Block a user