Commit Graph

597 Commits

Author SHA1 Message Date
Anthony Calosa 5c3a064746 aicode and revised legendary rule
added aicode for cards that uses reveal. since reveal cancels for ai,
aicode is the alternative code. use basic code only.
aicode=activate dosomething...
aicode - use with caution, its very basic atm and you must test each
card that uses it as it can cause crash.
legendary rule moved to game state based effect so it will not conflict
with cards with copy effects and andability. the legendary check applies
only when  legendrule is found.
2017-01-24 16:10:35 +08:00
Anthony Calosa 7f6e96459c added "energized" event
energizedof(player):do something
energizedfoeof(player):do something
also some fixes in the primitives
2017-01-23 11:41:19 +08:00
Anthony Calosa e558f21ebc add penergy & oenergy
count energy counters available
2017-01-20 15:39:27 +08:00
Anthony Calosa d03ebdace8 Support for KLD and AER
Kaladesh & Aether Revolt
2017-01-18 22:13:51 +08:00
Anthony Calosa 7f8339aedf revised "steal" ability
steal - gain control of target/s until it leaves battlefield or  its
current controller loses control of the "stealer"...
2016-09-06 15:47:09 +08:00
Anthony Calosa f957fca162 add custom name for generic reveal 2016-08-29 20:58:55 +08:00
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 ad80b000c9 find missing art on stored source card
when tokencreator is used inside ability$!!$ who, try to get the token
images and id from stored source
2016-08-25 03:40:38 +08:00
Anthony Calosa 9bcc54c56c add "recent" & "raidcount"
the recent attribute is to parse new cards entered play, then turns
itself to 0 if some stuff happened since it's already in play...
2016-08-25 03:40:38 +08:00
Anthony Calosa 1cd6f00c59 add manapool count
also add getStringValue for menutext
2016-08-25 00:17:16 +08:00
Anthony Calosa ce92679be0 add AACloner andAbility 2016-08-22 10:18:23 +08:00
Anthony Calosa 6a213bffa6 Domain count 2016-08-21 11:27:50 +08:00
Anthony Calosa cec4494ce6 fix can produce mana
limited for land...
2016-08-20 00:21:58 +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 51016f9258 revised AACopier 2016-08-11 18:52:18 +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 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 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 1ab88940f9 add nonCombatDamage count 2016-08-04 09:56:53 +08:00
Anthony Calosa c45b5751af cantattack
change some cards since -cantattack overrides cantattack. If there is an
effect that makes creatures can't attack, you can just activate the
ability to remove -cantattack...
2016-08-04 05:41:22 +08:00
Anthony Calosa 52fb40d543 AACloner & AACopier TokenAndAbility
if the token has andAbility, the cloner/copier also has that andAbility
also...
2016-08-04 02:12:59 +08:00
Anthony Calosa adccae7937 switched places 2016-08-03 18:11:29 +08:00
Anthony Calosa 4753f7bb51 andAbility on ATokenCreator, Extend AAFlip, 2016-08-03 16:10:53 +08:00
Anthony Calosa 969511953a vector count of abilities
remove unused ones
2016-08-01 14:45:57 +08:00
Anthony Calosa a20c2ce29a Unused variable 2016-07-29 07:30:20 +08:00
zethfoxster 52df1ad963 the fix for the sacrifice trigger was a ton easier than expected.
treat it like a spell. 
the card after contains all the info we need to determine if it should trigger.
2016-07-28 18:48:47 -04:00
Anthony Calosa 2e71cb08d0 I hope this is correct 2016-07-28 19:24:01 +08:00
Anthony Calosa 30dab27202 Fix Compilation 2016-07-28 16:38:16 +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 014ca36a4a force event for token sacrifice 2016-07-27 07:11:30 +08:00
zethfoxster 61068ee166 big whoops here, this would be a disastrous change. 2016-07-24 11:12:13 -04:00
zethfoxster 3007ddc093 added oplifetotal...or readded, i swear this was already in a long time ago when I added lifetotal as a variable. either way. 2016-07-24 11:08:08 -04:00
zethfoxster 6aafe9dee0 added lifegain and oplifegain variable used the same as lifelost, but stores the value of life gained this turn. 2016-07-21 21:11:15 -04: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 520be9dbe8 Merge pull request #24 from WagicProject/master
getting master
2016-07-18 17:23:54 -04:00
zethfoxster bfaaf7d893 travis int order 2016-07-17 22:37:32 -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
Anthony Calosa d860954c32 fix crash with cdaactive and token
cdaactive is forcedalive, if the token dies, forcedestroy it, token/s go
to garbage
2016-07-18 07:32:02 +08: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 ee91e0698d corrected some logic with computenewcost.
there is a bug im working on with newaffinity and cards that contain targetchoosers with CD tcs. 

experimental change also added with lords. im making the abilities grants by lord forcedalive until the lord is removed from game.
some instances of forcedalive in master primitives did not contain abilities which resolved, meaning they would contenue even though the source had left play.
2016-07-09 00:11:21 -04:00
zethfoxster c0c52e57df what a dumb typo. surprised it was in the engine that way for so long. 2016-07-08 17:48:27 -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