Commit Graph

620 Commits

Author SHA1 Message Date
Anthony Calosa
4d56269130 fix some cards and add some missing
it seems " add " inside name causes issue when parsed (cause crash in
deck editor like arlinn kord), renaming it fixes it...
2016-08-27 14:56:54 +08:00
Anthony Calosa
2a1bacdfa4 add "abilitycontroller" for dynamicability
for use inside ability$! dynamicability<who> !$ who
2016-08-26 11:23:52 +08:00
Anthony Calosa
f3dd1be125 rebounded trigger
for use with rebound cards only
2016-08-25 22:25:34 +08:00
Anthony Calosa
42e240c9ab add some cards from kamigawa 2016-08-23 06:49:57 +08:00
Anthony Calosa
cd2f4480f4 alternate token creator
uses ":" instead of comma, makecardt(name:type:p/t:ability:color) ex.
makecardt(Eldrazi Horrors:Creature Eldrazi Horror:3/2:haste:battleready)
2016-08-22 10:21:00 +08:00
Anthony Calosa
60411027ca change plandtype & olandtype parsing 2016-08-19 23:34:01 +08:00
Anthony Calosa
8530292fef Revert my Graphic changes
I think it's the one who cause those crashes
2016-08-13 16:45:46 +08:00
Anthony Calosa
adad723110 game mode info 2016-08-11 14:26:41 +08:00
Anthony Calosa
a10e7ab279 Revert "copy/flip limit"
This reverts commit 0c124327de.
2016-08-11 11:03:37 +08:00
Anthony Calosa
0c124327de copy/flip limit
if the copy/flip is activated, it means it's already in the battlefield,
so "enters the battlefield" must not trigger...
2016-08-10 19:49:31 +08:00
Anthony Calosa
151905c5f3 Transform Trigger, Turnlimit for TrCardAddedtoZone
Cleaned primitives, and fix SOI cards (remove workarounds) todo(recheck
BFZ and OGW)
2016-08-10 01:54:24 +08:00
Anthony Calosa
eb0ecedecf revised token id (tnum:num parameter)
this should not conflict like earlier version.
ex:
[card]
name=Fable of Wolf and Owl
auto=@movedTo(*[green]|mystack):may token(Wolf,Creature
Wolf,2/2,green,tnum:11)
auto=@movedTo(*[blue]|mystack):may token(Bird,Creature
Bird,1/1,flying,blue,tnum:12)
text=Whenever you cast a green spell, you may put a 2/2 green Wolf
creature token onto the battlefield. -- Whenever you cast a blue spell,
you may put a 1/1 blue Bird creature token with flying onto the
battlefield.
mana={3}{GU}{GU}{GU}
type=Enchantment
[/card]
tnum uses -source id  & tnum (concatenated)
2016-08-08 13:49:24 +08:00
Anthony Calosa
de44abd529 Revert "fix token names with ",""
This reverts commit 65ef1f384c.
2016-08-08 11:29:04 +08:00
Anthony Calosa
9807ca99f9 Revert "multi tokens images on same source"
This reverts commit 8c9d2d6f1d.
2016-08-08 11:20:25 +08:00
Anthony Calosa
8c9d2d6f1d multi tokens images on same source
you can specifiy tnum:number on token parameters and it will concatenate
the default token id and the specified number. example: token(Saproling,
Creature Saproling, 1/1, green, tnum:15) if the source id is 12345, the
default token id will be -12345, concat tnum, id will be -1234515 and
the game will try to find the image 1234515t.jpg
2016-08-08 10:37:27 +08:00
Anthony Calosa
65ef1f384c fix token names with "," 2016-08-08 10:15:50 +08:00
Anthony Calosa
807874ce5d add andAbility support for AACopier
the granted ability must exists only if you copy a card, if you don't
copy any card, the source doesn't have any granted abillities.
2016-08-07 10:15:11 +08:00
Anthony Calosa
4753f7bb51 andAbility on ATokenCreator, Extend AAFlip, 2016-08-03 16:10:53 +08:00
zethfoxster
eea240d7f2 changing some of the logic to the previous fixes, we want to avoid using code that looks for specific card names.
currently we have kamiflip as the only defined flip type as it is treated differently from the others. 
but we have room for more if needed now
doublefaced=kamiflip
sets the flip type of a card to the kamiflip style cards. since this is defined on cardprimitive level now, we might be able to do something different from the flipping animation. who knows.

commented out the forcing token triggers, it bypass targetchooser check. still working on a fix for this coming soon.
2016-07-27 20:03:25 -04:00
Anthony Calosa
b8bfe7acc1 Fix Flip/Transform Cards
If the card is a copier or a token, it cannot be transformed since it's
not a double face card. Also the copied card must be the "active" part
of a double faced card. Flip cards (kamigawa block) is not restricted by
this since its a single sided card. If the transformed card is cda, take
any damage into account (PT bonus is already in effect for cda)..
2016-07-27 14:39:39 +08:00
Anthony Calosa
ae33977e10 Add Snapcaster Mage Ability
tempflashback - flashback using manacost
2016-07-26 09:56:13 +08:00
Anthony Calosa
fe577d9dd0 fix flying and multiple moat in play
putrid imp that gains temporary flying cant attack if the opponent has
multiple moat in play, this should fix it.
2016-07-23 09:45:12 +08:00
zethfoxster
ca395492d5 added meld(cardname)
added meldfrom(cardname|cardname) helper class.

auto={0}:target(arbor colossus|mybattlefield) meld(Arc Runner)
auto=meldfrom(arbor elf|Arbor Colossus)
2016-07-21 20:46:53 -04:00
zethfoxster
9e73dc9c00 add support for repeater deplete cards.
Scalpelexis
Sphinx's Tutelage
Grindstone
normally I aim for much bigger card groups, but this was requested by one of the only 2 active members we have on the forum.
I'll have the card code for these cards ready when I code eldrich moon set.

to use, use it like any normal depelte except add
name
color
to the front, 
name deplete:4 targetsZone(player)
this will repeat this until the player depletes cards that dont have atleast 2 with the same name.
color deplete:2 target(player)
this will continue to deplete until the player depletes a set of cards that dont share a color with each other lands not included when checking colors.
enjoy.
2016-07-17 22:24:53 -04:00
zethfoxster
69158d55c1 more fixes 2016-07-16 14:46:40 -04:00
zethfoxster
9a56817bf8 fixed a bug I introduced 2016-07-14 20:44:21 -04:00
zethfoxster
e81346f881 more work on cascade, I think I figured out what was causing a weird crash. 2016-07-14 20:28:19 -04:00
zethfoxster
c4581a8889 added imprintedcard as a usable name for castcard 2016-07-09 20:20:55 -04:00
zethfoxster
61d22eb498 added a modifier for "tap" for cards that say "enters the battlefield tapped", they are supposed to be tapped when put in play, which mean they should not trigger @tapped(.
for cards with the line or options "do/pay MANA or this card enters the battlefield tapped"
simply change it to tap(noevent)
it will simulate the card being placed into play already tapped.
2016-07-07 19:02:41 -04:00
Anthony Calosa
4da7f77089 Cleanup tabs 2016-07-07 13:25:36 +08:00
zethfoxster
f76c28fa64 convoke
other={convoke} name(Convoke)
delve
other={delve}
they might be able to be added directly to the real manacost.

added an ability that grants an ability while the source remains tapped
grant ability grantend...

added dethrone
abilities=dethrone

added support of multitargeting to extra cost, it acts the same as normal multitargeting, repeats dopay() the effects for each.
2016-07-01 21:29:51 -04:00
Anthony Calosa
547a9fcc17 Add Support for Vedlaken Shackles and the likes
the alias 50120 is there to prevent untap  during untap phase and the
canuntap restriction will trigger if it's possible to untap ie tha card
doesn't have doesnotuntap,, or frozen or is tapped.
2016-06-30 16:18:39 +08:00
Anthony Calosa
e6aafbc8a6 lastController defined when creating copies of itself 2016-06-30 14:06:21 +08:00
Anthony Calosa
39f6867ab0 Fix Cascade 2016-06-30 09:26:00 +08:00
zethfoxster
6ee00c138c Pretty huge patch here(sorry old habits never die :( )
lots of changes, many bug fixes,
first
added auto=count(targetchooser)
and countedamount wparsed int
they work together for cards where it is difficult to get working without knowing in advance how many we had ie: exile blah creatures, for each creature you exiled do effect.
auto=count(creature|mybattlefield)
auto=moveto(exile)
auto=draw:countedamount
it takes into account token creatures, which our old methods did not.

second, added "freeze" which is a "frozen" that automatically taps your target for you, for use when nesting or whenever needed where it was difficult to nest the ability with tap included.

added devotion for "iroas"

added reveal:x and scry x
reveal contains optionone/optiononeend ; optiontwo/optiontwoend ; repeat; afterrevealed/afterrevealed end.

this ability has heavy use of targetListIsSet(<amount>) and upto:amount, you MUST be certain that all cards being revealed have an action that removes them from reveal either in the first, second, or 3rd ability.
there are over 300 examples in the new card code, the ability is VERY easy to understand.

scry contains automatic put on top, put on bottom, then scrycore/scrycoreend which is an ability to fire.
it also contains keywords, dontshow which is nested in scrycore, scry reveals, puts on top or bottom, then reveal AGAIN, and does an effect, dontshow eliminates the 2nd revealing.
is also contains "delayed" keyword, which delays the ability until AFTER the core fires.

added bestow. update rules mtg.txt!!!!
examples are in primitives, every bestow card was supported.

added a new lord based on varibles and restrictions
while(restriction{morbid})
while(varible:blah)
this simplifies and expands on this(, allowing you to even use while(cantarget together and check if a card is targetable by the variable. examples are in primitives

added token(by card name)
auto=token(Eldrazi Scion) 
will search primitives and card dats for this card and give it to you as a token.
valid card dat info is still required.

added variable delirium
added restriction madnessplayed to allow checking if the card was played with madness.

added restriction "geared" for checking if a card has equipment on it.

added abilities words
skulk

menace <--cant be blocked except by 2 or more, if you dont block it with 2 or more we automatically unassign the single blocker and the creature is considered not blocked.

nosolo <--cant attack alone

mustblock <---if you dont assign as a blocker, we assign automatically the first thing it can block legally.

changed iscolorless back to "colorless"

enjoy, cards coming soon, theyre coded but im debating on not alpha sorting, cards being added this patch 965 uniques.

there is a section of the commit which was just VS2016 normalizing line ends, sorry if it makes it a cluster mess.
2016-06-28 18:40:55 -04:00
Anthony Calosa
9d79a85b96 Imprint Class 2016-06-16 07:15:24 +08:00
Anthony Calosa
b38275123a Block Cost Rule
Update rules folder
2016-06-15 22:26:55 +08:00
Anthony Calosa
1f54c7933b Attack Cost Rule
Update your rules folder
2016-06-14 19:40:02 +08:00
Anthony Calosa
06fdf3f0a5 Imprint
todo others...
2016-06-09 15:35:59 +08:00
Anthony Calosa
62fa9acc9f Cascade Class
seperate cascade and fix cant life change :)
2016-06-03 10:40:38 +08:00
Anthony Calosa
f4c17aaf45 Cascade 2016-06-02 20:39:21 +08:00
Anthony Calosa
aabb905313 Cant life change 2016-06-02 09:10:30 +08:00
zethfoxster
7639e18c39 whoops heres the other half. tested with following arbor elf test card
[card]
name=Arbor Elf
auto={0}:add{1}
auto={0}:add{r}
auto={0}:name(waste) add{waste}
auto={waste}:life:1
auto={3}:damage:1
auto={1}{waste}:moveto(mybattlefield) target(<2>*|mylibrary)
text={T}: Untap target Forest.
mana={0}
type=Creature
subtype=Elf Druid
power=12
toughness=12
[/card]
2016-05-30 17:46:51 -04:00
Anthony Calosa
22d4cbbd1e add "colorless" manacost
The symbol {C} will be used going forward to represent one colorless
mana. The numerical and variable mana symbols ({1}, {2}, and so on,
including {X}) will still be used, but only to represent costs that can
be paid with any type of mana.

example card: To cast Spatial Contortion, you pay two mana: one generic
(that's the {1}) and one colorless (that's the {C}). The generic mana
cost can be paid with any type of mana—that means any color or
colorless. But the {C} is different. That can be paid only with
colorless mana.
2016-05-30 01:16:19 +08:00
Anthony Calosa
d4715ddc81 ajani steadfast
ajani steadfast emblem
2016-05-29 14:31:29 +08:00
Anthony Calosa
cccc21c035 changed alias 2015-11-13 05:45:17 +08:00
Anthony Calosa
cd1b629191 Fix Segmentation Fault & Formatting 2015-11-10 11:58:36 +08:00
Anthony Calosa
406f68ac5b Overload Cards
the alias is for the Overload Check and Alternate Cost Restriction...
???Bestow???
2015-11-09 19:04:31 +08:00
Anthony Calosa
e35c9f6087 AI plays zerocast cards, Update Rules folder!
Its basic pay zero for now...
Omniscience is possible :)
2015-11-07 09:59:30 +08:00
Anthony Calosa
71390046f5 anyzone for cdaactive
should handle most of them except sewer nemesis, chameleon colossus
2015-11-06 19:47:30 +08:00