Skip to content

Commit 32d732b

Browse files
authored
Wiki cleanup (Card-Forge#9145)
1 parent e70aa42 commit 32d732b

File tree

20 files changed

+112
-2056
lines changed

20 files changed

+112
-2056
lines changed

docs/Card-scripting-API/AbilityFactory.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ The SpellDescription for secondary abilities (both AB and DB) is now displayed w
5555
Remembering is often needed when a card becomes a new object, which is then further affected by the ability. Typical example: [Flicker](https://github.com/Card-Forge/forge/blob/master/forge-gui/res/cardsfolder/f/flicker.txt)<br />
5656
Because cards keep their remembered parts when changing zones manual [cleanup](#Cleanup) is usually required.
5757

58+
## Duration
59+
5860
## AI params
5961

6062
`IsCurse$ True` - For effects that are normally treated positive e.g. Pump
@@ -207,6 +209,8 @@ Attach separates the actually granting of abilities from the attaching to perman
207209

208210
## BecomeMonarch
209211

212+
No own parameters.
213+
210214
## Bond
211215

212216
Soulbonding two creatures. Only used internally by the engine.
@@ -306,7 +310,6 @@ Parameters:
306310
Copies a permanent on the battlefield.
307311

308312
Parameters:
309-
310313
- NumCopies - optional - the number of copies to put onto the
311314
battlefield. Supports SVar:X:????.
312315
- Keywords - optional - a list of keywords to add to the copies
@@ -317,7 +320,9 @@ Parameters:
317320

318321
### CopySpellAbility
319322

320-
Copies a spell on the stack (Twincast, etc.).
323+
Parameters:
324+
- Num$ <Integer>
325+
- Restrict$ <String>
321326

322327
## Counter
323328

@@ -413,8 +418,6 @@ Remove any type of counter from all valid cards.
413418

414419
### Proliferate
415420

416-
No own parameters.
417-
418421
### MoveCounters
419422

420423
Used for cards that Move Counters on Resolution, requiring the Host card

docs/Card-scripting-API/Card-scripting-API.md

Lines changed: 11 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ A reference guide for scripting cards using the API parsed by the Forge engine.
22

33
# Base Structure
44

5-
By opening any file in the /res/cardsfolder folder you can see the basic structure of how the data is created.<br />
5+
By opening any file in the /res/cardsfolder folder you can see the basic structure of how the data is created.
66
Here's an example of a vanilla creature:
77

88
```
@@ -13,11 +13,11 @@ PT:2/2
1313
Oracle:
1414
```
1515

16-
The name of this card is Vanilla Creature.<br />
17-
It's casting cost is {2}{G}.<br />
18-
It has the types Creature and Beast.<br />
19-
It has a Power-Toughness of 2/2.<br />
20-
It will not display any additional text in the card's template.<br />
16+
The name of this card is Vanilla Creature.
17+
It's casting cost is {2}{G}.
18+
It has the types Creature and Beast.
19+
It has a Power-Toughness of 2/2.
20+
It will not display any additional text in the card's template.
2121

2222
If a card has two faces, use AlternateMode:{CardStateName} in the front face and separate both by a new line with the text "ALTERNATE".
2323

@@ -60,85 +60,39 @@ All keywords need to be prepended with "K:" to be parsed correctly. Each keyword
6060

6161
## Keywords without Parameters
6262

63-
This section is for Keywords that require no additional parameters and are one or two words long. Most of these you would see exactly on cards in the game.<br />
63+
This section is for Keywords that require no additional parameters and are one or two words long. Most of these you would see exactly on cards in the game.
6464
Examples:
6565

6666
- Cascade
67-
- Changeling
6867
- Cipher
69-
- Conspire
7068
- Convoke
71-
- Deathtouch
72-
- Defender
73-
- Delve
7469
- Devoid
75-
- Double Strike
76-
- Epic
77-
- Exalted
78-
- Fear
7970
- First Strike
80-
- Flanking
8171
- Flash
82-
- Flying
83-
- Forestwalk
84-
- Fuse
8572
- Haste
86-
- Hideaway
87-
- Horsemanship
8873
- Indestructible
89-
- Infect
90-
- Intimidate
91-
- Islandwalk
92-
- Landfall
93-
- Legendary landwalk
94-
- Lifelink
95-
- Living Weapon
96-
- Menace
9774
- Mentor
98-
- Mountainwalk
99-
- Nonbasic landwalk
100-
- Persist
101-
- Plainswalk
102-
- Prowess
10375
- Provoke
10476
- Reach
105-
- Rebound
106-
- Retrace
107-
- Riot
108-
- Shadow
10977
- Shroud
110-
- Snow forestwalk
111-
- Snow islandwalk
112-
- Snow landwalk
113-
- Snow mountainwalk
114-
- Snow plainswalk
115-
- Snow swamp walk
116-
- Soulbond
11778
- Split second
11879
- Storm
119-
- Sunburst
120-
- Swampwalk
121-
- Totem Armor
12280
- Trample
123-
- Unblockable
12481
- Undying
12582
- Vigilance
12683
- Wither
12784

12885
## Keywords with parameters
12986

13087
- Adapt:{cost}
131-
- AdjustLandPlays:{params}
13288
- Afterlife:{N}
13389
- AlternateAdditionalCost:{cost}
13490
- Amplify:{cost}:{validType(comma separated)}
13591
- Annihilator:{magnitude}
13692
- Bloodthirst:{magnitude}
13793
- Bestow:{cost}
13894
- Bushido:{magnitude}
139-
- CantBeBlockedByAmount {xMath}
14095
- Champion:{validType}
141-
- CostChange:{params}
14296
- Crew:{cost}
14397
- Cumulative upkeep:{cost}:{Description}
14498
- Cycling:{cost}
@@ -147,26 +101,21 @@ Examples:
147101
- Dredge:{magnitude}
148102
- Echo:{cost}
149103
- Emerge:{cost}
150-
- Enchant {params} \[Curse\]
151-
- Enchant {Type}
104+
- Enchant:{Type}
152105
- Entwine:{cost}
153106
- Equip:{cost}
154-
- etbCounter:{CounterType}:{CounterAmount}
155-
- ETBReplacement:{Control/Copy/Other}:{AbilitySVar}\[:Optional\]
156107
- Evoke:{cost}
157108
- Fabricate:{cost}
158109
- Fading:{FadeCounters}
159110
- Flashback:{cost}
160111
- Foretell:{cost}
161112
- Fortify:{cost}
162113
- Graft:{value}
163-
- Haunt:{ability}:{Description}
164-
- Hexproof:{ValidCards}:{Description}
114+
- Haunt:{ability}:<Ability>
115+
- Hexproof:{ValidCards}:[Description]
165116
- Kicker:{cost}
166117
- Level up:{cost}
167118
- Madness:{cost}
168-
- ManaConvert:
169-
- maxLevel:{magnitude}
170119
- MayEffectFromOpeningHand:{Effect}
171120
- Miracle:{cost}
172121
- Modular:{magnitude}
@@ -177,8 +126,6 @@ Examples:
177126
- Ninjutsu:{cost}
178127
- Outlast:{cost}
179128
- Partner:{CardName}
180-
- Poisonous {magnitude}
181-
- PreventAllDamageBy {ValidCards}
182129
- Protection:{ValidCards}:{Description}
183130
- Prowl:{cost}
184131
- Rampage:{magnitude}
@@ -193,7 +140,6 @@ Examples:
193140
- Toxic:{poisonCounters}
194141
- TypeCycling:{Type}:{cost}
195142
- Unearth:{cost}
196-
- UpkeepCost:{cost}
197143
- Vanishing:{TimeCounters}
198144

199145
## Plaintext keywords
@@ -202,80 +148,12 @@ These are hardcoded but not truly keywords rules-wise and will eventually be tur
202148
Only listing the most common ones here so you can recognize them.
203149
CARDNAME is replaced by the card's name ingame.
204150

205-
- All creatures able to block CARDNAME do so.
206-
- CARDNAME assigns no combat damage
207-
- CARDNAME attacks each turn if able.
208-
- CARDNAME attacks each combat if able.
209-
- CARDNAME blocks each combat if able.
210-
- CARDNAME blocks each turn if able.
211-
- CARDNAME can attack as though it didn't have defender.
212-
- CARDNAME can attack as though it had haste.
213-
- CARDNAME can block as though it were untapped.
214-
- CARDNAME can block creatures with shadow as though they didn't have shadow.
215-
- CARDNAME can block creatures with landwalk abilities as though they didn't have those abilities.
216-
- CARDNAME can block only creatures with flying.
217-
- CARDNAME can only attack alone.
218-
- CARDNAME can't attack.
219-
- CARDNAME can't attack if you cast a spell this turn.
220-
- CARDNAME can't attack if defending player controls an untapped creature with power {rest of text string}
221-
- CARDNAME can't attack or block.
222151
- CARDNAME can't attack or block alone.
223-
- CARDNAME can't be countered.
224-
- CARDNAME can't be enchanted.
225-
- CARDNAME can't be equipped.
226-
- CARDNAME can't be regenerated.
227-
- CARDNAME can't be the target of Aura spells.
228-
- CARDNAME can't block.
229-
- CARDNAME can't block creatures with power {rest of text string}
230152
- CARDNAME can't block unless a creature with greater power also blocks.
231-
- CARDNAME can't block unless at least two other creatures block.
232-
- CARDNAME can't transform
233-
- CARDNAME doesn't untap during your untap step.
234-
- CARDNAME enters the battlefield tapped.
235-
- CARDNAME is {color}.
236153
- CARDNAME must be blocked if able.
237-
- CARDNAME must be blocked by exactly one creature if able.
238-
- CARDNAME must be blocked by two or more creatures if able.
239-
- CARDNAME can't be blocked unless all creatures defending player controls block it.
240-
- CARDNAME's power and toughness are switched
241-
- CARDNAME untaps during each other player's untap step.
242-
- CARDNAME's activated abilities can't be activated.
243-
- Creatures with power greater than CARDNAME's power can't block it.
244-
- Creatures can't attack unless their controller pays:{params}
245-
- Damage that would be dealt by CARDNAME can't be prevented.
246-
- Damage that would reduce your life total to less than 1 reduces it to 1 instead.
247-
- Enchant artifact
248-
- Enchant creature
249-
- Enchant creature with converted mana cost 2 or less
250-
- Enchant creature without flying
251-
- Enchant red or green creature
252-
- Enchant land
253-
- Enchant land you control
254-
- Enchant tapped creature
255-
- No more than one creature can attack each combat.
256-
- No more than one creature can block each combat.
257-
- No more than two creatures can attack you each combat.
258-
- No more than two creatures can block each combat.
259-
- Play with your hand revealed.
260-
- Prevent all combat damage that would be dealt to and dealt by CARDNAME.
261-
- Prevent all combat damage that would be dealt by CARDNAME.
262-
- Prevent all combat damage that would be dealt to CARDNAME.
263-
- Prevent all damage that would be dealt to and dealt by CARDNAME.
264-
- Prevent all damage that would be dealt by CARDNAME.
265-
- Prevent all damage that would be dealt to CARDNAME.
266-
- Protection from {type}
267154
- Remove CARDNAME from your deck before playing if you're not playing for ante.
268-
- Spells and abilities your opponents control can't cause you to sacrifice permanents.
269-
- You can't pay life to cast spells or activate abilities.
270-
- You can't sacrifice creatures to cast spells or activate abilities.
271-
- You can't draw cards.
272-
- You can't gain life.
273-
- You can't lose the game.
274-
- You can't win the game.
275-
- You don't lose the game for having 0 or less life.
276155
- You may choose not to untap CARDNAME during your untap step.
277-
- You may have CARDNAME assign its combat damage as though it weren't blocked.
278-
- Your life total can't change.
156+
- CantSearchLibrary
279157

280158
# General SVars
281159

docs/Creating-a-custom-Card.md

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,6 @@ Using the Forge API you can create your own custom cards and sets. This tutorial
22

33
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.
44

5-
## File Locations
6-
7-
### Custom Card Scripts
8-
9-
Windows:
10-
> C:/Users/<your username>/Application Data/Roaming/Forge/custom/cards
11-
12-
Linux:
13-
> ~/.forge/custom/cards
14-
15-
Mac:
16-
> TODO Add filepath
17-
18-
### Custom Tokens
19-
20-
Windows:
21-
> C:/Users/<your username>/Application Data/Roaming/Forge/custom/tokens
22-
23-
Linux:
24-
> ~/.forge/custom/tokens
25-
26-
Mac:
27-
> TODO Add filepath
28-
29-
### Custom Editions
30-
31-
> C:/Users/<your username>/Application Data/Roaming/Forge/custom/editions
32-
33-
Linux:
34-
> ~/.forge/custom/editions
35-
36-
Mac:
37-
> TODO Add filepath
38-
39-
### Card Images
40-
41-
Windows:
42-
> C:/Users/<your username>/Application Data/Local/Forge/Cache/pics/cards
43-
44-
Linux:
45-
> ~/.cache/forge/pics/cards
46-
47-
Mac:
48-
> TODO Add filepath
49-
505
## Creating a New Card
516

527
In this tutorial we'll create a new card called "Goblin Card Guide".

docs/Creating-a-custom-Set.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ Save your file, and let's move onto another step.
135135
136136
## Scripting your first cards
137137

138-
As mentioned earlier, your custom card rules need to be located inside `%appdata%/Forge/custom/cards`. I recommend creating subfolders for each starting letter (`Forge/custom/cards/a`, `Forge/custom/cards/b`, etc.) to quickly find if a card has a duplicate name.
139-
140138
Now, you might remember than Unearth was an existing MTG card so we do not need to create a custom card rule for it. Let's create a few others.
141139
> This tutorial will not teach you to script your cards, and they might not be perfect. Please check out [Creating a Custom Card](https://github.com/Card-Forge/forge/wiki/Creating-a-Custom-Card) if you want more info, or look at the existing cards to learn more complex scripting.
142140
@@ -205,8 +203,6 @@ Oh no! If you play with Inked Summoner now, you will crash when summoning a toke
205203

206204
## Scripting custom tokens
207205

208-
The token scripts are located at `%appdata%/Forge/custom/tokens`.
209-
210206
Let's add the new tokens we need to make Inked Summoner work!
211207
> Just like for card scripting, this tutorial will not teach you about scripting them.
212208

docs/Keyboard-Shortcuts.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/Retired/(SM-autoconverted)-Duplicate-decks-checking-tool.md

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)