mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
Compare commits
2 Commits
c765769466
...
9fe1328452
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9fe1328452 | ||
|
|
a29ead42b0 |
104
CONTRIBUTING.md
104
CONTRIBUTING.md
@@ -2,8 +2,6 @@
|
||||
|
||||
[Official repo](https://github.com/Card-Forge/forge.git).
|
||||
|
||||
Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wiki) (Somewhat outdated)
|
||||
|
||||
## Requirements / Tools
|
||||
|
||||
- your favourite Java IDE (IntelliJ, Eclipse, VSCodium, Emacs, Vi...)
|
||||
@@ -18,11 +16,10 @@ Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wik
|
||||
|
||||
## Project Quick Setup
|
||||
|
||||
- Login into GitHub with your user account and fork the project.
|
||||
|
||||
- Login into GitHub with your user account and fork the project
|
||||
- Clone your forked project to your local machine
|
||||
|
||||
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot. Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
|
||||
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot.
|
||||
- Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
|
||||
|
||||
## IntelliJ
|
||||
|
||||
@@ -30,107 +27,28 @@ IntelliJ is the recommended IDE for Forge development. Quick start guide for [se
|
||||
|
||||
## Eclipse
|
||||
|
||||
Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
|
||||
At this time, Eclipse is not the recommended IDE for Forge development.
|
||||
Eclipse includes Maven integration so a separate install is not necessary.
|
||||
Google no longer supports Android SDK releases for Eclipse.
|
||||
|
||||
### Project Setup
|
||||
|
||||
- Follow the instructions for cloning from GitHub. You'll need to setup an account and your SSH key.
|
||||
|
||||
If you are on a Windows machine you can use Putty with TortoiseGit for SSH keys. Run puttygen.exe to generate the key -- save the private key and export
|
||||
the OpenSSH public key. If you just leave the dialog open, you can copy and paste the key from it to your GitHub profile under
|
||||
"SSH keys". Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing GitHub.
|
||||
|
||||
- Fork the Forge git repo to your GitHub account.
|
||||
|
||||
- Clone your forked repo to your local machine.
|
||||
|
||||
- Make sure the Java SDK is installed -- not just the JRE. Java 17 or newer required. If you execute `java -version` at the shell or command prompt, it should report version 17 or later.
|
||||
|
||||
- Install Eclipse 2021-12 or later for Java. Launch it.
|
||||
|
||||
- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > Maven > Existing Maven Projects > Navigate to root path of the local forge repo and
|
||||
ensure everything is checked > Finish.
|
||||
|
||||
- Let Eclipse run through building the project. You may be prompted for resolving any missing Maven plugins -- accept the ones offered. You may see errors appear in the "Problems" tab. These should
|
||||
be automatically resolved as plug-ins are installed and Eclipse continues the build process. If this is the first time for some plug-in installs, Eclipse may prompt you to restart. Do so. Be patient
|
||||
for this first time through.
|
||||
|
||||
- Once everything builds, all errors should disappear. You can now advance to Project launch.
|
||||
|
||||
### Project Launch
|
||||
|
||||
#### Desktop
|
||||
|
||||
This is the standard configuration used for releasing to Windows / Linux / MacOS.
|
||||
|
||||
- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Ok
|
||||
|
||||
- The familiar Forge splash screen, etc. should appear. Enjoy!
|
||||
|
||||
#### Mobile (Desktop dev)
|
||||
|
||||
This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here.
|
||||
|
||||
- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Ok.
|
||||
|
||||
- A view similar to a mobile phone should appear. Enjoy!
|
||||
|
||||
### Eclipse / Android SDK Integration
|
||||
|
||||
Google no longer supports Android SDK releases for Eclipse. use IntelliJ.
|
||||
|
||||
#### Android SDK
|
||||
## Windows
|
||||
|
||||
TBD
|
||||
|
||||
##### Windows
|
||||
## Linux / Mac OSX
|
||||
|
||||
TBD
|
||||
|
||||
##### Linux / Mac OSX
|
||||
### Android Platform
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Plugin for Eclipse
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Platform
|
||||
|
||||
In Intellij, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
|
||||
In IntelliJ, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
|
||||
|
||||
- Android SDK Build-tools 35.0.0
|
||||
- Android 15 (API 35) SDK Platform
|
||||
|
||||
#### Proguard update
|
||||
### Proguard update
|
||||
|
||||
Standalone Proguard 7.6.0 is included with the project (proguard.jar) under forge-gui-android > tools and supports up to Java 23 (latest android uses Java 17).
|
||||
|
||||
#### Android Build
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Deploy
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Debugging
|
||||
|
||||
TBD
|
||||
|
||||
### Windows / Linux SNAPSHOT build
|
||||
|
||||
SNAPSHOT builds can be built via the Maven integration in Eclipse.
|
||||
|
||||
1. Create a Maven build for the forge top-level project. Right-click on the forge project. Run as.. > Maven build...
|
||||
|
||||
- On the Main tab, set Goals: clean install, set Profiles: windows-linux
|
||||
|
||||
2. Run forge Maven build. If everything built, you should see "BUILD SUCCESS" in the Console View.
|
||||
|
||||
The resulting snapshot will be found at: forge-gui-desktop/target/forge-gui-desktop-[version]-SNAPSHOT
|
||||
|
||||
## Card Scripting
|
||||
|
||||
Visit [this page](https://github.com/Card-Forge/forge/wiki/Card-scripting-API) for information on scripting.
|
||||
@@ -193,3 +111,5 @@ Mobile GUI game logic utilizing [libgdx](https://libgdx.badlogicgames.com/) libr
|
||||
#### forge-gui-mobile-dev
|
||||
|
||||
Libgdx backend for desktop development for mobile backends. Utilizes LWJGL. Relies on forge-gui-mobile for GUI logic.
|
||||
|
||||
#### forge-installer
|
||||
@@ -1,5 +1,7 @@
|
||||
Using the Forge API you can create your own custom cards and sets. This tutorial will walk you through the process of creating custom cards via the Force Custom Card Script.
|
||||
|
||||
If you are trying to script cards for a new set make sure you take advantage of the [Developer Mode](Development/DevMode.md) for testing to try and contribute without any obvious bugs.
|
||||
|
||||
## File Locations
|
||||
|
||||
### Custom Card Scripts
|
||||
|
||||
@@ -2,19 +2,10 @@ Developer Mode is a Mode that allows Developers to try out different
|
||||
things and gain different shortcuts during play. In a Normal program,
|
||||
this Mode would be available in a Debug build, but removed from the code
|
||||
during the Retail build. Since Forge is in constant Beta, this Mode is
|
||||
available during our Beta releases. On the NewGame Screen, just make
|
||||
sure it's checked and you'll be able to edit the options at any point
|
||||
during the game.
|
||||
available during our Beta releases. You can turn on or off this mode at the
|
||||
Home View -> Game Settings -> Preferences -> Gameplay Options section.
|
||||
|
||||
## Lose By Decking
|
||||
|
||||
This one is a simple Checkbox. If your Library is Empty and you try to
|
||||
try a card, you normally lose the game. This checkbox should be on by
|
||||
Default (meaning you lose) but if you are running a deck without many
|
||||
cards, uncheck this box so you don't lose when failing to draw a card
|
||||
when you need to.
|
||||
|
||||
\[THIS OPTION NOT READILY VISIBLE IN VERSIONS 1.6.23\]
|
||||
It's important to note you won't get achievements in a game once you started cheating.
|
||||
|
||||
## View Zone
|
||||
|
||||
@@ -26,8 +17,7 @@ that Zone are revealed to you.
|
||||
## Generate Mana
|
||||
|
||||
Useful for not needing Land in your Deck while you are just trying to
|
||||
test something out, by selecting Generate Mana, 7 of each color and 7
|
||||
colorless is generated and put into your Mana Pool.
|
||||
test something out, by selecting Generate Mana, 7 of each type is generated and put into your Mana Pool.
|
||||
|
||||
## Setup Game State
|
||||
|
||||
@@ -179,5 +169,3 @@ AI hands and leaves them intact, and adds Force of Nature, Raging
|
||||
Goblin, and Amulet of Kroog to the computer's graveyard. Does not
|
||||
replace either library. Sets the current player to Human and the current
|
||||
phase to Main 1.
|
||||
|
||||
It's important to note you won't get achievements in a game once you started cheating.
|
||||
@@ -40,7 +40,5 @@ It would be useful for other people to be comfortable with the release process.
|
||||
* Create a PR from your branch and get it merged as quickly as you can (ideally before other PRs are merged).
|
||||
* Create a new release from https://github.com/Card-Forge/forge/releases
|
||||
* Upload the package and its sha to the create new release page
|
||||
|
||||
|
||||
4. Marketing
|
||||
5. Marketing
|
||||
* Advertise in the #announcements channel in the Discord
|
||||
@@ -26,6 +26,8 @@ Mostly old-style interface with new age loading screen. Initial card scripting i
|
||||
|
||||
Supports over 10,000 cards. We start using a reconstructed UI that allows for better theming. And makes things feel less like an "Application" and more like a "Game"
|
||||
|
||||
## 2013-10 - ver 1.5.1 is the first with Commander
|
||||
|
||||
## 2014-05 - Android app is published via Maven
|
||||
|
||||
## 2015-04 - Network play is rudimentary but available
|
||||
|
||||
@@ -55,9 +55,8 @@ _**Download and unpack/install the package to their own new folder!**_
|
||||
## What if double-clicking doesn’t work?
|
||||
|
||||
Sometimes double-clicking will open the jar file in a different program.
|
||||
In Windows, you may need to right-click and open the properties to
|
||||
change the launching program to Java. This might be different in OSX or
|
||||
Linux systems (file permission related).
|
||||
In Windows, you may need to right-click and open the properties to change the launching program to Java.
|
||||
This might be different in OSX or Linux systems (file permission related).
|
||||
|
||||
## Manual Extraction (tar.bz2)
|
||||
|
||||
@@ -87,3 +86,10 @@ Linux systems (file permission related).
|
||||
- If adventure mode option does not show up;
|
||||
- check you're up to date with your version.
|
||||
- check in the settings that the "Selector Mode" is set to `Default`
|
||||
|
||||
# Gameplay
|
||||
|
||||
## Full Control
|
||||
|
||||
Right click/long tap on your player avatar:<br />
|
||||
This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- [Equipments and Items](Adventure/Equipments-and-Items.md)
|
||||
- [Keyboard Shortcuts](Keyboard-Shortcuts.md)
|
||||
- [Controller Support](Adventure/GAMEPAD.md)
|
||||
- [Console and Cheats](Console-and-Cheats.md)
|
||||
- [Console and Cheats](Adventure/Console-and-Cheats.md)
|
||||
|
||||
- [Modding and content creation](Adventure/Modding.md)
|
||||
|
||||
@@ -43,12 +43,13 @@
|
||||
- [Costs](Card-scripting-API/Costs.md)
|
||||
- [Affected / Targets](Card-scripting-API/Targeting.md)
|
||||
- [Restrictions / Conditions](Card-scripting-API/Restrictions.md)
|
||||
- [Tutorial: Creating a custom Card](Card-scripting-API/Creating-a-Custom-Card.md)
|
||||
- [Tutorial: creating a custom card](Card-scripting-API/Creating-a-Custom-Card.md)
|
||||
|
||||
- [Development]((SM-autoconverted)-how-to-get-started-developing-forge.md)
|
||||
- [IntelliJ Setup](Development/IntelliJ-setup/IntelliJ-setup.md)
|
||||
- [Snapshots and Releases](Development/Snapshots-and-Releases.md)
|
||||
- [Android Builds](Development/Android-Builds.md)
|
||||
- [Dev Mode](Development/DevMode.md)
|
||||
- [Ownership](Development/ownership.md)
|
||||
- [Docker Container](docker-setup.md)
|
||||
|
||||
|
||||
@@ -1514,9 +1514,9 @@ public final class CMatchUI
|
||||
Set<FullControlFlag> controlFlags = getGameView().getGame().getPlayer(pv).getController().getFullControl();
|
||||
final String lblFullControl = Localizer.getInstance().getMessage("lblFullControl");
|
||||
final JPopupMenu menu = new JPopupMenu(lblFullControl);
|
||||
GuiUtils.addMenuItem(menu, lblFullControl, null, () -> {
|
||||
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), lblFullControl);
|
||||
});
|
||||
menu.add(
|
||||
GuiUtils.createMenuItem("- " + lblFullControl + " -", null, null, false, true)
|
||||
);
|
||||
|
||||
addFullControlEntry(menu, "lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags);
|
||||
addFullControlEntry(menu, "lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags);
|
||||
|
||||
@@ -68,7 +68,6 @@ import forge.toolbox.FDisplayObject;
|
||||
import forge.toolbox.FOptionPane;
|
||||
import forge.trackable.TrackableCollection;
|
||||
import forge.util.ITriggerEvent;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.MessageUtil;
|
||||
import forge.util.WaitCallback;
|
||||
import forge.util.collect.FCollectionView;
|
||||
@@ -751,10 +750,7 @@ public class MatchController extends AbstractGuiGame {
|
||||
FPopupMenu menu = new FPopupMenu() {
|
||||
@Override
|
||||
protected void buildMenu() {
|
||||
addItem(new FMenuItem(Forge.getLocalizer().getMessage("lblFullControl"),
|
||||
e -> {
|
||||
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), "Full Control details");
|
||||
}));
|
||||
addItem(new FMenuItem("- " + Forge.getLocalizer().getMessage("lblFullControl") + " -", null, false));
|
||||
addItem(getFullControlMenuEntry("lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags));
|
||||
addItem(getFullControlMenuEntry("lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags));
|
||||
addItem(getFullControlMenuEntry("lblNoPaymentFromManaAbility", FullControlFlag.NoPaymentFromManaAbility, controlFlags));
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Name:Of Herbs and Stewed Rabbit
|
||||
ManaCost:2 W
|
||||
Types:Enchantment Saga
|
||||
K:Chapter:3:DBPutCounter,DBDraw,DBHalfing
|
||||
K:Chapter:3:DBPutCounter,DBDraw,DBToken
|
||||
SVar:DBPutCounter:DB$ PutCounter | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target creature | CounterType$ P1P1 | SubAbility$ DBFood | SpellDescription$ Put a +1/+1 counter on up to one target creature. Create a Food token.
|
||||
SVar:DBFood:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac
|
||||
SVar:DBDraw:DB$ Draw | SubAbility$ DBFood | SpellDescription$ Draw a card. Create a Food token.
|
||||
SVar:DBHalfing:DB$ Token | TokenAmount$ X | TokenScript$ w_1_1_halfling | SpellDescription$ Create a 1/1 white Halfling creature token for each Food you control.
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ w_1_1_halfling | SpellDescription$ Create a 1/1 white Halfling creature token for each Food you control.
|
||||
SVar:X:Count$Valid Food.YouCtrl
|
||||
DeckHas:Ability$Token|Sacrifice|Counters & Type$Artifact|Food|Halfling
|
||||
DeckHints:Type$Food
|
||||
|
||||
8
forge-gui/res/cardsfolder/upcoming/ba_sing_se.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/ba_sing_se.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Ba Sing Se
|
||||
ManaCost:no cost
|
||||
Types:Land
|
||||
R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ LandTapped | ReplacementResult$ Updated | Description$ This land enters tapped unless you control a basic land.
|
||||
SVar:LandTapped:DB$ Tap | Defined$ Self | ETB$ True | ConditionPresent$ Land.Basic+YouCtrl | ConditionCompare$ EQ0
|
||||
A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add {G}.
|
||||
A:AB$ Earthbend | Cost$ 2 G T | SorcerySpeed$ True | Num$ 2 | SpellDescription$ Earthbend 2. Activate only as a sorcery. (Target land you control becomes a 0/0 creature with haste that's still a land. Put two +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.)
|
||||
Oracle:This land enters tapped unless you control a basic land.\n{T}: Add {G}.\n{2}{G}, {T}: Earthbend 2. Activate only as a sorcery. (Target land you control becomes a 0/0 creature with haste that's still a land. Put two +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.)
|
||||
13
forge-gui/res/cardsfolder/upcoming/baboon_spirit.txt
Normal file
13
forge-gui/res/cardsfolder/upcoming/baboon_spirit.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Name:Baboon Spirit
|
||||
ManaCost:2 U
|
||||
Types:Creature Monkey Spirit
|
||||
PT:2/4
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Spirit.!token+Other+YouCtrl | Execute$ TrigToken | TriggerDescription$ Whenever another nontoken Spirit you control enters, create a 1/1 colorless Spirit creature token with "This token can't block or be blocked by non-Spirit creatures."
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_1_1_spirit_spiritshadow
|
||||
A:AB$ ChangeZone | Cost$ 3 U | ValidTgts$ Creature.Other+YouCtrl | TgtPrompt$ Select another target creature you control | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DelTrig | SpellDescription$ Exile another target creature you control. Return it to the battlefield under its owner's control at the beginning of the next end step.
|
||||
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigBounce | RememberObjects$ RememberedLKI | TriggerDescription$ Return that card to the battlefield under its owner's control at the beginning of the next end step. | SubAbility$ DBCleanup
|
||||
SVar:TrigBounce:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
DeckHas:Ability$Token
|
||||
DeckHints:Type$Spirit
|
||||
Oracle:Whenever another nontoken Spirit you control enters, create a 1/1 colorless Spirit creature token with "This token can't block or be blocked by non-Spirit creatures."\n{3}{U}: Exile another target creature you control. Return it to the battlefield under its owner's control at the beginning of the next end step.
|
||||
13
forge-gui/res/cardsfolder/upcoming/chakra_meditation.txt
Normal file
13
forge-gui/res/cardsfolder/upcoming/chakra_meditation.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Name:Chakra Meditation
|
||||
ManaCost:2 U
|
||||
Types:Enchantment
|
||||
T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigReturn | TriggerDescription$ When this enchantment enters, return up to one target instant or sorcery card from your graveyard to your hand.
|
||||
SVar:TrigReturn:DB$ ChangeZone | ValidTgts$ Instant.YouOwn.Sorcery.YouOwn | TgtPrompt$ Select target instant or sorcery card in your graveyard | Origin$ Graveyard | TargetMin$ 0 | TargetMax$ 1 | Destination$ Hand
|
||||
T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an instant or sorcery spell, draw a card. Then discard a card unless there are three or more Lesson cards in your graveyard.
|
||||
SVar:TrigDraw:DB$ Draw | SubAbility$ DBDiscard
|
||||
SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3
|
||||
SVar:X:Count$ValidGraveyard Lesson.YouOwn
|
||||
DeckHas:Ability$Graveyard
|
||||
DeckHints:Type$Instant|Sorcery
|
||||
DeckNeeds:Type$Lesson
|
||||
Oracle:When this enchantment enters, return up to one target instant or sorcery card from your graveyard to your hand.\nWhenever you cast an instant or sorcery spell, draw a card. Then discard a card unless there are three or more Lesson cards in your graveyard.
|
||||
12
forge-gui/res/cardsfolder/upcoming/chong_and_lily_nomads.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/chong_and_lily_nomads.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Name:Chong and Lily, Nomads
|
||||
ManaCost:3 R
|
||||
Types:Legendary Creature Human Bard Ally
|
||||
PT:3/3
|
||||
T:Mode$ AttackersDeclared | ValidAttackers$ Bard.YouCtrl | Execute$ TrigCharm | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more Bards you control attack, ABILITY
|
||||
SVar:TrigCharm:DB$ Charm | Choices$ DBPutCounter,DBPumpAll
|
||||
SVar:DBPutCounter:DB$ PutCounter | ValidTgts$ Saga.YouCtrl | TgtPrompt$ Select any number of target Sagas you control | TargetMin$ 0 | TargetMax$ X | CounterType$ LORE | CounterNum$ 1 | SpellDescription$ Put a lore counter on each of any number of target Sagas you control.
|
||||
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +Y | SpellDescription$ Creatures you control get +1/+0 until end of turn for each lore counter among Sagas you control.
|
||||
SVar:X:Count$Valid Saga.YouCtrl
|
||||
SVar:Y:Count$Valid Saga.YouCtrl$CardCounters.LORE
|
||||
DeckNeeds:Type$Saga
|
||||
Oracle:Whenever one or more Bards you control attack, choose one -\n• Put a lore counter on each of any number of target Sagas you control.\n• Creatures you control get +1/+0 until end of turn for each lore counter among Sagas you control.
|
||||
9
forge-gui/res/cardsfolder/upcoming/crystalline_armor.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/crystalline_armor.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Crystalline Armor
|
||||
ManaCost:3 G
|
||||
Types:Enchantment Aura
|
||||
K:Enchant:Creature
|
||||
SVar:AttachAILogic:Pump
|
||||
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | AddKeyword$ Trample | Description$ Enchanted creature gets +1/+1 for each land you control and has trample.
|
||||
SVar:X:Count$Valid Land.YouCtrl
|
||||
SVar:BuffedBy:Land
|
||||
Oracle:Enchant creature\nEnchanted creature gets +1/+1 for each land you control and has trample.
|
||||
6
forge-gui/res/cardsfolder/upcoming/dai_li_censor.txt
Normal file
6
forge-gui/res/cardsfolder/upcoming/dai_li_censor.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Name:Dai Li Censor
|
||||
ManaCost:1 B
|
||||
Types:Creature Human Soldier Advisor
|
||||
PT:2/1
|
||||
A:AB$ Pump | Cost$ 1 Sac<1/Creature.Other/another creature> | Defined$ Self | NumAtt$ +2 | NumDef$ +2 | ActivationLimit$ 1 | SpellDescription$ This creature gets +2/+2 until end of turn. Activate only once each turn.
|
||||
Oracle:{1}, Sacrifice another creature: This creature gets +2/+2 until end of turn. Activate only once each turn.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Dutiful Knowledge Seeker
|
||||
ManaCost:2 U
|
||||
Types:Creature Fox Spirit
|
||||
PT:2/2
|
||||
T:Mode$ ChangesZoneAll | ValidCards$ Card.!token | Origin$ Any | Destination$ Library | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever one or more cards are put into a library from anywhere, put a +1/+1 counter on this creature.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||
A:AB$ ChangeZone | Cost$ 3 | ValidTgts$ Card | TgtPrompt$ Select target card in a graveyard | Origin$ Graveyard | Destination$ Library | LibraryPosition$ -1 | SpellDescription$ Put target card from a graveyard on the bottom of its owner's library.
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Whenever one or more cards are put into a library from anywhere, put a +1/+1 counter on this creature.\n{3}: Put target card from a graveyard on the bottom of its owner's library.
|
||||
12
forge-gui/res/cardsfolder/upcoming/fire_nation_salvagers.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/fire_nation_salvagers.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Name:Fire Nation Salvagers
|
||||
ManaCost:3 B B
|
||||
Types:Creature Human Soldier
|
||||
PT:3/3
|
||||
K:Menace
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerDescription$ When this creature enters, put a +1/+1 counter on target creature or Vehicle you control.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl,Vehicle.YouCtrl | TgtPrompt$ Select target creature or Vehicle you control | CounterType$ P1P1
|
||||
T:Mode$ DamageDoneOnce | CombatDamage$ True | ValidSource$ Creature.YouCtrl+HasCounters | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Whenever one or more creatures you control with counters on them deal combat damage to a player, put target creature or Vehicle card from that player's graveyard onto the battlefield under your control.
|
||||
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Creature,Vehicle | TgtPrompt$ Choose target creature or Vehicle card in that player's graveyard | TargetsWithDefinedController$ TriggeredTarget | SpellDescription$ Put target creature card from that player's graveyard onto the battlefield under your control.
|
||||
ASVar:PlayMain1:TRUE
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Menace\nWhen this creature enters, put a +1/+1 counter on target creature or Vehicle you control.\nWhenever one or more creatures you control with counters on them deal combat damage to a player, put target creature or Vehicle card from that player's graveyard onto the battlefield under your control.
|
||||
8
forge-gui/res/cardsfolder/upcoming/giant_fly.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/giant_fly.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Giant Fly
|
||||
ManaCost:2 B
|
||||
Types:Creature Insect
|
||||
PT:2/2
|
||||
K:Flying
|
||||
T:Mode$ Sacrificed | ValidCard$ Permanent.Other | Execute$ TrigPump | TriggerZones$ Battlefield | ValidPlayer$ You | TriggerDescription$ Whenever you sacrifice another permanent, this creature gets +1/+0 until end of turn.
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1
|
||||
Oracle:Flying\nWhenever you sacrifice another permanent, this creature gets +1/+0 until end of turn.
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Inspired Insurgent
|
||||
ManaCost:1 W
|
||||
Types:Creature Human Peasant Ally
|
||||
PT:2/2
|
||||
A:AB$ Destroy | Cost$ 1 Sac<1/CARDNAME> | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment
|
||||
Oracle:{1}, Sacrifice this creature: Destroy target artifact or enchantment
|
||||
@@ -0,0 +1,10 @@
|
||||
Name:Iroh, Dragon of the West
|
||||
ManaCost:2 R R
|
||||
Types:Legendary Creature Human Noble Ally
|
||||
PT:4/4
|
||||
K:Haste
|
||||
K:Mentor
|
||||
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPumpAll | TriggerDescription$ At the beginning of combat on your turn, each creature you control with a counter on it gains firebending 2 until end of turn. (Whenever it attacks, add {R}{R}. This mana lasts until end of combat.)
|
||||
SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+HasCounters | KW$ Firebending:2
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Haste\nMentor (Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.)\nAt the beginning of combat on your turn, each creature you control with a counter on it gains firebending 2 until end of turn. (Whenever it attacks, add {R}{R}. This mana lasts until end of combat.)
|
||||
@@ -0,0 +1,8 @@
|
||||
Name:Joo Dee, One of Many
|
||||
ManaCost:1 B
|
||||
Types:Creature Human Advisor
|
||||
PT:2/2
|
||||
A:AB$ Surveil | Cost$ B T | Amount$ 1 | SorcerySpeed$ True | SubAbility$ DBCopy | SpellDescription$ Surveil 1. Create a token that's a copy of this creature, then sacrifice an artifact or creature. Activate only as a sorcery.
|
||||
SVar:DBCopy:DB$ CopyPermanent | Defined$ Self | NumCopies$ 1 | SubAbility$ DBSac
|
||||
SVar:DBSac:DB$ Sacrifice | Defined$ You | SacValid$ Artifact,Creature | SacMessage$ Artifact or Creature
|
||||
Oracle:{B}, {T}: Surveil 1. Create a token that's a copy of this creature, then sacrifice an artifact or creature. Activate only as a sorcery.
|
||||
7
forge-gui/res/cardsfolder/upcoming/kindly_customer.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/kindly_customer.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Kindly Customer
|
||||
ManaCost:1 W
|
||||
Types:Creature Human Citizen
|
||||
PT:1/1
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When this creature enters, draw a card.
|
||||
SVar:TrigDraw:DB$ Draw
|
||||
Oracle:When this creature enters, draw a card.
|
||||
10
forge-gui/res/cardsfolder/upcoming/knowledge_seeker.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/knowledge_seeker.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Knowledge Seeker
|
||||
ManaCost:1 U
|
||||
Types:Creature Fox Spirit
|
||||
PT:2/1
|
||||
K:Vigilance
|
||||
T:Mode$ Drawn | ValidCard$ Card.YouCtrl | Number$ 2 | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you draw your second card each turn, put a +1/+1 counter on this creature.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this creature dies, create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.)
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_clue_draw | TokenOwner$ You
|
||||
Oracle:Vigilance\nWhenever you draw your second card each turn, put a +1/+1 counter on this creature.\nWhen this creature dies, create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.)
|
||||
7
forge-gui/res/cardsfolder/upcoming/koala_sheep.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/koala_sheep.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Koala-Sheep
|
||||
ManaCost:2 W
|
||||
Types:Creature Bear Sheep
|
||||
PT:3/2
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When this creature enters, you gain 3 life.
|
||||
SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 3
|
||||
Oracle:When this creature enters, you gain 3 life.
|
||||
11
forge-gui/res/cardsfolder/upcoming/kyoshi_battle_fan.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/kyoshi_battle_fan.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Kyoshi Battle Fan
|
||||
ManaCost:2
|
||||
Types:Artifact Equipment
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this Equipment enters, create a 1/1 white Ally creature token, then attach this Equipment to it.
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_ally | TokenOwner$ You | RememberTokens$ True | SubAbility$ DBAttach
|
||||
SVar:DBAttach:DB$ Attach | Defined$ Remembered | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | Description$ Equipped creature gets +1/+0.
|
||||
K:Equip:2
|
||||
DeckHas:Ability$Token
|
||||
Oracle:When this Equipment enters, create a 1/1 white Ally creature token, then attach this Equipment to it.\nEquipped creature gets +1/+0.\nEquip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
|
||||
10
forge-gui/res/cardsfolder/upcoming/lost_in_memories.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/lost_in_memories.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Lost in Memories
|
||||
ManaCost:1 R
|
||||
Types:Enchantment Aura
|
||||
K:Flash
|
||||
K:Enchant:Creature.YouCtrl:creature you control
|
||||
SVar:AttachAILogic:Pump
|
||||
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | AddTrigger$ DamageTrig | Description$ Enchanted creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost." (You may cast that card from your graveyard for its flashback cost. Then exile it.)
|
||||
SVar:DamageTrig:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever this creature deals combat damage to a player, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.
|
||||
SVar:TrigPump:DB$ Pump | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | KW$ Flashback | TgtZone$ Graveyard | PumpZone$ Graveyard
|
||||
Oracle:Flash\nEnchant creature you control\nEnchanted creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost." (You may cast that card from your graveyard for its flashback cost. Then exile it.)
|
||||
8
forge-gui/res/cardsfolder/upcoming/masters_guidance.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/masters_guidance.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Master's Guidance
|
||||
ManaCost:2 G
|
||||
Types:Enchantment
|
||||
T:Mode$ AttackersDeclared | ValidAttackers$ Creature.Legendary | ValidAttackersAmount$ GE2 | TriggerZones$ Battlefield | AttackingPlayer$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you attack with two or more legendary creatures, put a +1/+1 counter on each of up to two target attacking creatures.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature.attacking | TgtPrompt$ Select up to two target attacking creatures
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigDraw | TriggerZones$ Battlefield | IsPresent$ Creature.YouCtrl+powerGE4 | PresentCompare$ GE1 | TriggerDescription$ At the beginning of your end step, if you control a creature with power 4 or greater, draw a card.
|
||||
SVar:TrigDraw:DB$ Draw
|
||||
Oracle:Whenever you attack with two or more legendary creatures, put a +1/+1 counter on each of up to two target attacking creatures.\nAt the beginning of your end step, if you control a creature with power 4 or greater, draw a card.
|
||||
@@ -0,0 +1,13 @@
|
||||
Name:Nightmares and Daydreams
|
||||
ManaCost:2 U
|
||||
Types:Enchantment Saga
|
||||
K:Chapter:4:DBEffect,DBEffect,DBEffect,DBDraw
|
||||
SVar:DBEffect:DB$ Effect | Triggers$ CastTrig | Duration$ UntilYourNextTurn | SpellDescription$ Until your next turn, whenever you cast an instant or sorcery spell, target player mills cards equal to that spell's mana value.
|
||||
SVar:CastTrig:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | Execute$ TrigMill | TriggerDescription$ Whenever you cast an instant or sorcery spell, target player mills cards equal to that spell's mana value.
|
||||
SVar:TrigMill:DB$ Mill | NumCards$ X | ValidTgts$ Player
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ Y | SpellDescription$ Draw a card. If a graveyard has twenty or more cards in it, draw three cards instead.
|
||||
SVar:X:TriggeredSpellAbility$CardManaCostLKI
|
||||
SVar:CheckGrave:PlayerCountPlayers$HighestValidGraveyard Card.YouOwn
|
||||
SVar:Y:Count$Compare CheckGrave GE20.3.1
|
||||
DeckHints:Type$Instant|Sorcery
|
||||
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after IV.)\nI, II, III — Until your next turn, whenever you cast an instant or sorcery spell, target player mills cards equal to that spell's mana value.\nIV — Draw a card. If a graveyard has twenty or more cards in it, draw three cards instead.
|
||||
14
forge-gui/res/cardsfolder/upcoming/nyla_shirshu_sleuth.txt
Normal file
14
forge-gui/res/cardsfolder/upcoming/nyla_shirshu_sleuth.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Name:Nyla, Shirshu Sleuth
|
||||
ManaCost:4 B
|
||||
Types:Legendary Creature Mole Beast
|
||||
PT:2/3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When NICKNAME enters, exile up to one target creature card from your graveyard. If you do, you lose X life and create X Clue tokens, where X is that card's mana value. (A Clue token is an artifact with "{2}, Sacrifice this token: Draw a card.")
|
||||
SVar:TrigExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select up to one target creature card from your graveyard | RememberChanged$ True | SubAbility$ DBLoseLife
|
||||
SVar:DBLoseLife:DB$ LoseLife | ConditionDefined$ Remembered | ConditionPresent$ Creature | Defined$ You | LifeAmount$ X | SubAbility$ DBToken
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ c_a_clue_draw | TokenOwner$ You | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Clue.YouCtrl | PresentCompare$ EQ0 | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, if you control no Clues, return target card exiled with NICKNAME to its owner's hand.
|
||||
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Exile | Destination$ Hand | ValidTgts$ Card.ExiledWithSource | TgtPrompt$ Choose target card exiled with NICKNAME
|
||||
SVar:X:Remembered$CardManaCost
|
||||
DeckHas:Ability$Graveyard|Token
|
||||
Oracle:When Nyla enters, exile up to one target creature card from your graveyard. If you do, you lose X life and create X Clue tokens, where X is that card's mana value. (A Clue token is an artifact with "{2}, Sacrifice this token: Draw a card.")\nAt the beginning of your end step, if you control no Clues, return target card exiled with Nyla to its owner's hand.
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Pipsqueak, Rebel Strongarm
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Rebel Ally
|
||||
PT:4/4
|
||||
S:Mode$ Continuous | Affected$ Card.Self+counters_EQ0_P1P1 | AddHiddenKeyword$ CARDNAME can't attack alone. | Description$ NICKNAME can't attack alone unless he has a +1/+1 counter on him.
|
||||
Oracle:Pipsqueak can't attack alone unless he has a +1/+1 counter on him.
|
||||
12
forge-gui/res/cardsfolder/upcoming/princess_yue.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/princess_yue.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Name:Princess Yue
|
||||
ManaCost:2 U
|
||||
Types:Legendary Creature Human Noble Ally
|
||||
PT:3/2
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self+Creature+nonLand | Execute$ DBReturn | TriggerDescription$ When CARDNAME dies, if she was a nonland creature, return this card to the battlefield tapped under your control. She's a land named Moon. She gains "{T}: Add {C}." (She's still legendary.)
|
||||
SVar:DBReturn:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | StaticEffect$ Animate | SubAbility$ DBAnimate
|
||||
SVar:Animate:Mode$ Continuous | Affected$ Card.IsRemembered | AddType$ Land | RemoveCardTypes$ True | SetName$ Moon | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Duration$ Permanent | Abilities$ ABMana | SubAbility$ DBCleanup
|
||||
SVar:ABMana:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
A:AB$ Scry | Cost$ T | ScryNum$ 2 | SpellDescription$ Scry 2.
|
||||
Oracle:When Princess Yue dies, if she was a nonland creature, return this card to the battlefield tapped under your control. She's a land named Moon. She gains "{T}: Add {C}." (She's still legendary.)\n{T}: Scry 2.
|
||||
8
forge-gui/res/cardsfolder/upcoming/scarring_memories.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/scarring_memories.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Scarring Memories
|
||||
ManaCost:3 B
|
||||
Types:Sorcery Lesson
|
||||
S:Mode$ CastWithFlash | ValidCard$ Card.Self | ValidSA$ Spell | IsPresent$ Creature.YouCtrl+attacking+Legendary | EffectZone$ All | Caster$ You | Description$ You may cast this spell as though it had flash if you control an attacking legendary creature.
|
||||
A:SP$ Sacrifice | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SacValid$ Creature | SubAbility$ DBDiscard | SpellDescription$ Target opponent sacrifices a creature of their choice, discards a card, and loses 3 life.
|
||||
SVar:DBDiscard:DB$ Discard | Defined$ Targeted | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ DBLoseLife
|
||||
SVar:DBLoseLife:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 3
|
||||
Oracle:You may cast this spell as though it had flash if you control an attacking legendary creature.\nTarget opponent sacrifices a creature of their choice, discards a card, and loses 3 life.
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Sokka's Sword Training
|
||||
ManaCost:1 W
|
||||
Types:Instant Lesson
|
||||
A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +2 | NumDef$ +2 | SubAbility$ DBToken | SpellDescription$ Target creature gets +2/+2 until end of turn. Create a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.")
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_clue_draw | TokenOwner$ You
|
||||
Oracle:Target creature gets +2/+2 until end of turn.\nCreate a Clue token. (It's an artifact with "{2}, Sacrifice this token: Draw a card.")
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Suki, Kyoshi Warrior
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Warrior Ally
|
||||
PT:3/3
|
||||
S:Mode$ Continuous | Affected$ Creature.Warrior+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Warriors you control get +1/+1.
|
||||
A:AB$ PumpAll | Cost$ 3 W | ValidCards$ Warrior.attacking+YouCtrl | KW$ Double Strike | SpellDescription$ Attacking Warriors you control gain double strike until end of turn.
|
||||
SVar:PlayMain1:TRUE
|
||||
SVar:BuffedBy:Warrior
|
||||
Oracle:Other Warriors you control get +1/+1.\n{3}{W}: Attacking Warriors you control gain double strike until end of turn.
|
||||
8
forge-gui/res/cardsfolder/upcoming/tale_of_momo.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/tale_of_momo.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Tale of Momo
|
||||
ManaCost:2 W
|
||||
Types:Sorcery
|
||||
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 2 | EffectZone$ All | CheckSVar$ X | SVarCompare$ GE1 | Description$ This spell costs {2} less to cast if a creature left the battlefield under your control this turn.
|
||||
A:SP$ ChangeZone | Optional$ True | Origin$ Library | OriginAlternative$ Graveyard | Destination$ Hand | ChangeType$ Creature.Ally+YouOwn | ChangeTypeDesc$ Ally creature card | ChangeNum$ 1 | ShuffleNonMandatory$ True | SpellDescription$ Search your library and/or graveyard for an Ally creature card, reveal it, and put it into your hand. If you search your library this way, shuffle.
|
||||
SVar:X:Count$LeftBattlefieldThisTurn Creature.YouCtrl
|
||||
DeckHints:Type$Ally
|
||||
Oracle:This spell costs {2} less to cast if a creature left the battlefield under your control this turn.\nSearch your library and/or graveyard for an Ally creature card, reveal it, and put it into your hand. If you search your library this way, shuffle.
|
||||
9
forge-gui/res/cardsfolder/upcoming/the_blue_spirit.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/the_blue_spirit.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:The Blue Spirit
|
||||
ManaCost:3 U
|
||||
Types:Legendary Creature Human Rogue Ally
|
||||
PT:2/4
|
||||
S:Mode$ CastWithFlash | ValidCard$ Creature | ValidSA$ Spell | Caster$ You | CheckSVar$ X | SVarCompare$ EQ0 | Description$ You may cast the first creature spell you cast each turn as though it had flash.
|
||||
T:Mode$ ChangesZone | Phase$ BeginCombat->EndCombat | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.!token+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a nontoken creature you control enters during combat, draw a card.
|
||||
SVar:TrigDraw:DB$ Draw
|
||||
SVar:X:Count$ThisTurnCast_Creature.YouCtrl
|
||||
Oracle:You may cast the first creature spell you cast each turn as though it had flash.\nWhenever a nontoken creature you control enters during combat, draw a card.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:The Duke, Rebel Sentry
|
||||
ManaCost:W
|
||||
Types:Legendary Creature Human Rebel Ally
|
||||
PT:0/1
|
||||
K:etbCounter:P1P1:1:no Condition:NICKNAME enters with a +1/+1 counter on him.
|
||||
A:AB$ PutCounter | Cost$ T RemoveAnyCounter<1/Any/Card.Self/NICKNAME> | ValidTgts$ Creature.YouCtrl+Other | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump | SpellDescription$ Put a +1/+1 counter on another target creature you control. It gains hexproof until end of turn. (It can't be the target of spells or abilities your opponents control.)
|
||||
SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Hexproof
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:The Duke enters with a +1/+1 counter on him.\n{T}, Remove a counter from The Duke: Put a +1/+1 counter on another target creature you control. It gains hexproof until end of turn. (It can't be the target of spells or abilities your opponents control.)
|
||||
@@ -0,0 +1,25 @@
|
||||
Name:The Legend of Kyoshi
|
||||
ManaCost:4 G G
|
||||
Types:Enchantment Saga
|
||||
K:Chapter:3:DBDraw,DBEarthbend,DBTransform
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ X | SpellDescription$ Draw cards equal to the greatest power among creatures you control.
|
||||
SVar:DBEarthbend:DB$ Earthbend | Num$ Y | SubAbility$ DBAnimate | SpellDescription$ Earthbend X, where X is the number of cards in your hand. That land becomes an Island in addition to its other types.
|
||||
SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Types$ Island | Duration$ Permanent
|
||||
SVar:DBTransform:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn | SpellDescription$ Exile this Saga, then return it to the battlefield transformed under your control.
|
||||
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Transformed$ True | GainControl$ True | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Count$Valid Creature.YouCtrl$GreatestPower
|
||||
SVar:Y:Count$ValidHand Card.YouOwn
|
||||
AlternateMode:DoubleFaced
|
||||
Oracle:(As this Saga enters, and after your draw step, add a lore counter.)\nI — Draw cards equal to the greatest power among creatures you control.\nII — Earthbend X, where X is the number of cards in your hand. That land becomes an Island in addition to its other types.\nIII — Exile this Saga, then return it to the battlefield transformed under your control.
|
||||
|
||||
ALTERNATE
|
||||
|
||||
Name:Avatar Kyoshi
|
||||
ManaCost:no cost
|
||||
Types:Legendary Creature Avatar
|
||||
PT:5/4
|
||||
S:Mode$ Continuous | Affected$ Land.YouCtrl | AddKeyword$ Trample & Hexproof | Description$ Lands you control have trample and hexproof.
|
||||
A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ X | SpellDescription$ Add X mana of any one color, where X is the greatest power among creatures you control.
|
||||
SVar:X:Count$Valid Creature.YouCtrl$GreatestPower
|
||||
Oracle:Lands you control have trample and hexproof.\n{T}: Add X mana of any one color, where X is the greatest power among creatures you control.
|
||||
@@ -0,0 +1,7 @@
|
||||
Name:The Walls of Ba Sing Se
|
||||
ManaCost:8
|
||||
Types:Legendary Artifact Creature Wall
|
||||
PT:0/30
|
||||
K:Defender
|
||||
S:Mode$ Continuous | Affected$ Permanent.Other+YouCtrl | AddKeyword$ Indestructible | Description$ Other permanents you control have indestructible.
|
||||
Oracle:Defender\nOther permanents you control have indestructible.
|
||||
9
forge-gui/res/cardsfolder/upcoming/toucan_puffin.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/toucan_puffin.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Toucan-Puffin
|
||||
ManaCost:2 W
|
||||
Types:Creature Bird
|
||||
PT:2/2
|
||||
K:Flying
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When this creature enters, target creature you control gets +2/+0 until end of turn.
|
||||
SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +2
|
||||
SVar:PlayMain1:TRUE
|
||||
Oracle:Flying\nWhen this creature enters, target creature you control gets +2/+0 until end of turn.
|
||||
7
forge-gui/res/cardsfolder/upcoming/unagis_spray.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/unagis_spray.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Unagi's Spray
|
||||
ManaCost:U
|
||||
Types:Instant
|
||||
A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -4 | IsCurse$ True | SubAbility$ DBDraw | SpellDescription$ Target creature gets -4/-0 until end of turn. If you control a Fish, Octopus, Otter, Seal, Serpent, or Whale, draw a card.
|
||||
SVar:DBDraw:DB$ Draw | ConditionPresent$ Fish.YouCtrl,Octopus.YouCtrl,Otter.YouCtrl,Seal.YouCtrl,Serpent.YouCtrl,Whale.YouCtrl | ConditionCompare$ GE1 | ConditionDescription$ If you control a Fish, Octopus, Otter, Seal, Serpent, or Whale,
|
||||
DeckHints:Type$Fish|Octopus|Otter|Seal|Serpent|Whale
|
||||
Oracle:Target creature gets -4/-0 until end of turn. If you control a Fish, Octopus, Otter, Seal, Serpent, or Whale, draw a card.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Whirlwind Technique
|
||||
ManaCost:4 U U
|
||||
Types:Instant Lesson
|
||||
A:SP$ Draw | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBDiscard | SpellDescription$ Target player draws two cards, then discards a card. Airbend up to two target creatures. (To airbend a creature, exile it. While it's exiled, its owner may cast it for {2} rather than its mana cost.)
|
||||
SVar:DBDiscard:DB$ Discard | NumCards$ 1 | Mode$ TgtChoose | Defined$ ParentTarget | SubAbility$ DBAirbend
|
||||
SVar:DBAirbend:DB$ Airbend | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ 2
|
||||
DeckHas:Ability$Discard
|
||||
DeckHints:Keyword$Madness & Ability$Delirium
|
||||
Oracle:Target player draws two cards, then discards a card.\nAirbend up to two target creatures. (To airbend a creature, exile it. While it's exiled, its owner may cast it for {2} rather than its mana cost.)
|
||||
10
forge-gui/res/cardsfolder/upcoming/zuko_seeking_honor.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/zuko_seeking_honor.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Zuko, Seeking Honor
|
||||
ManaCost:2 BR
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/2
|
||||
K:Firebending:1
|
||||
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a noncreature spell, NICKNAME gains first strike until end of turn.
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Self | KW$ First Strike
|
||||
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever NICKNAME deals combat damage to a player, put a +1/+1 counter on him.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||
Oracle:Firebending 1 (Whenever this creature attacks, add {R}. This mana lasts until end of combat.)\nWhenever you cast a noncreature spell, Zuko gains first strike until end of turn.\nWhenever Zuko deals combat damage to a player, put a +1/+1 counter on him.
|
||||
@@ -1293,7 +1293,6 @@ lblMorph=Morph
|
||||
lblCraft=anzahl der herzustellenden Karten
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1300,7 +1300,6 @@ lblMorph=Mutar
|
||||
lblCraft=cuántas cartas crear
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1294,7 +1294,6 @@ lblMorph=Morph
|
||||
lblCraft=combien de cartes créer
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1291,7 +1291,6 @@ lblMorph=Metamorfosi
|
||||
lblCraft=quante carte creare
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1293,7 +1293,6 @@ lblMorph=変異
|
||||
lblCraft=カードを何枚作成するか
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1320,7 +1320,6 @@ lblMorph=Metamorfose
|
||||
lblCraft=quantas cartas criar
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1297,7 +1297,6 @@ lblMorph=变身
|
||||
lblCraft=需要制作多少张卡片
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
Reference in New Issue
Block a user