Commit Graph

250 Commits

Author SHA1 Message Date
Anthony Calosa
f11cc41df8 revised "colorless" attribute in targetchooser
also fix worldly tutor
2016-09-04 13:14:19 +08:00
Anthony Calosa
75921e1130 add some cards from CMD to C13 2016-08-31 14:02:16 +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
5b49530df9 add reset alternate cost paid 2016-08-25 22:22:55 +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
20ba624de2 commented out this
commented out the the spelltargettypes (I think I added these before for
debugging purposes)
2016-08-25 00:20:52 +08:00
Anthony Calosa
60411027ca change plandtype & olandtype parsing 2016-08-19 23:34:01 +08:00
Anthony Calosa
1eae3a032f Fixed some cards
replaced @lifed with @lifeof, had to hardcode conduit of ruin...
2016-08-16 12:17:53 +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
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
1ab88940f9 add nonCombatDamage count 2016-08-04 09:56:53 +08:00
Anthony Calosa
969511953a vector count of abilities
remove unused ones
2016-08-01 14:45:57 +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
e855ca72aa Fix Mirror Gallery & enters "tapped" cards
If Mirror Gallery leaves play, you must check for legendary status.
Fix some cards that enters tapped.
2016-07-27 01:44:18 +08: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
e81346f881 more work on cascade, I think I figured out what was causing a weird crash. 2016-07-14 20:28:19 -04:00
Anthony Calosa
2d763d106d try to fix failed logic here 2016-07-12 02:27:06 +08:00
zethfoxster
f82bc39473 ok found the massive draw, it was trenisphere. the card lords every single card in the game a mana modifier. affinity normally didnt see these issues cause the cards effected are just either in your hand or the source themselves. but when trin was put in play it would cause 120 cards to have to update thier cost, which can not be done in acceptible cpu time. anyways, this should solve the issue.
that card is a desaster, please do not add any more code to support it, though with it in its current state im wondering why its not in supported and is placed in borderline.
2016-07-09 01:24:55 -04:00
zethfoxster
b5976035e3 actually i changed my mind, instead lets update affinity after events are processed, that should take into account cards untapping,moving, ect.... 2016-07-09 00:58:19 -04:00
zethfoxster
14f65c55b5 going to try only updating affinity() when cards move from anywhere to anywhere to help minimize the calls to this function. this atleast allows me to debug albeit slowly the follow issue ive been working to fix. not sure when this was introduced but it was not happening when i first coded this function. manacost->copy() did not slow the game to a crawl.
anyways, trinisphere and any card containing 
other={H(land[basic]|mybattlefield)}{1} name(Pay /1/ and Return a Basic Land to Hand)

cost such as this with a CD tc.
2016-07-09 00:48:08 -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
Anthony Calosa
4da7f77089 Cleanup tabs 2016-07-07 13:25:36 +08:00
zethfoxster
066c40d9c1 close library, exile, or graveyard after we "move" cards from it. 2016-07-06 22:04:59 -04:00
zethfoxster
861366dd71 Fixed the memleaks caused by computeNewCost, moved them to gameobserver where affinity takes place, removed repeative code that was in game observer, moved the game observer components into computenewcost, removed the calls for "new mana" in all alternative play type that were added with this function. 2016-07-06 00:02:15 -04: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
27fd1942d0 Try to Fix IOS Build 2016-06-29 15:03:36 +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
a4c536740e Revised Imprint 2016-06-16 09:14:37 +08:00
Anthony Calosa
06fdf3f0a5 Imprint
todo others...
2016-06-09 15:35:59 +08:00
Anthony Calosa
d8e28dad7f Fix damage render 2016-06-07 18:20:30 +08:00
Anthony Calosa
52de1e7b02 Trinisphere
TODO: Morph and Kicker... Morph can be done but how to implement the
increased total cost with kicker? multi kicker? manual kicker??? Count
the mana pool if you can pay the cost+kicker if less than 3 increase
it???
2016-06-05 12:39:11 +08:00
Anthony Calosa
87515de57f Affinity affects other costs
Affinity should affect other costs such as flashback, buyback,  to cast
since its also a cost reducer...
2016-06-04 21:50:49 +08:00
Anthony Calosa
ce8e117b0b Fix Cost Increaser, Cost Reducer
Should fix most of them.  TODO: Trinisphere and Morph...
2016-06-03 22:32:10 +08:00
Anthony Calosa
0026153a2c Update GameObserver.cpp 2016-06-03 13:21:31 +08:00
Anthony Calosa
62fa9acc9f Cascade Class
seperate cascade and fix cant life change :)
2016-06-03 10:40:38 +08:00
xawotihs
956d0a736d Should fix Macosx build 2016-06-02 20:57:09 +02:00
zethfoxster
1369a08863 added abilities= keyword "devoid"
abilities=haste,flying,devoid
would make a flying haste colorless creature.
2016-06-01 18:47:19 -04:00
Anthony Calosa
ac9dfd570a minor skip phase
if there is no possible attacker then skip phase
2016-06-01 18:04:15 +08:00
Anthony Calosa
a454c3e564 Snow
Mana produced by snow permanent
2016-06-01 08:31:19 +08:00
Anthony Calosa
7a34543004 Nasty memleak crashing devices and its fix. #664
thanks zethfox
2016-05-26 09:42:17 +08:00
Anthony Calosa
cd1b629191 Fix Segmentation Fault & Formatting 2015-11-10 11:58:36 +08:00
Anthony Calosa
536a0e429a AI considers playing from exile and graveyard 2015-11-05 07:17:58 +08:00
Anthony Calosa
60ba4e3eeb altercost should affect retrace, flashback, buyback costs 2015-11-04 06:41:59 +08:00
Anthony Calosa
c580d89c94 Altercost, Exile Zone & Handsize Modifier 2015-10-31 10:59:37 +08:00
Anthony Calosa
8793feb9ba Altercost
Altercost alter cards to be cast...
Removed Trinisphere temporarily...
2015-10-30 07:11:16 +08:00
Anthony Calosa
cdf94b281f exile zone
enabled exile zones for both players
2015-10-26 19:14:50 +08:00
Anthony Calosa
cf0f9d43fa exile zone
player only, todo opponent and ability activation for exile
2015-10-26 06:50:19 +08:00
Anthony Calosa
7810c65862 added Raid support
thisturn(creature[attacking]|mybattlefield)~morethan~0 only triggers
once... use raid keyword... if raid then blah...
2015-10-20 11:09:57 +08:00
Anthony Calosa
b060c4205c targetter, targetted reset 2015-10-19 11:10:49 +08:00