Commit Graph

2437 Commits

Author SHA1 Message Date
zethfoxster
1b54cf56e0 auto close graveyard when delving and we have exiled enough to pay for the card. 2016-07-10 14:04:27 -04:00
zethfoxster
c4581a8889 added imprintedcard as a usable name for castcard 2016-07-09 20:20:55 -04:00
zethfoxster
fdde5b7fe9 ok round 3 2016-07-09 18:57:01 -04:00
zethfox
78e4407c71 Revert "edge case fix, the issue arises from castcard but I'm fixing it at a higher level since init to zone should always have a valid "player 1" in its first constructor."
This reverts commit d247c53136.
2016-07-09 18:21:52 -04:00
zethfoxster
d247c53136 edge case fix, the issue arises from castcard but I'm fixing it at a higher level since init to zone should always have a valid "player 1" in its first constructor. 2016-07-09 17:55:08 -04:00
zethfoxster
a8cbdafe6e unused variables. 2016-07-09 13:12:58 -04:00
zethfoxster
2e92838364 fixed an issue with dredge, where dredge is offered even though theres only one dredger on cards that draw multiple. 2016-07-09 11:38:25 -04: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
zethfoxster
242c7b623f Merge pull request #13 from WagicProject/master
getting master
2016-07-08 17:54:14 -04:00
Anthony Calosa
847e9dffc2 revised 2016-07-08 22:57:47 +08:00
Anthony Calosa
10d81bd47a try to fix segmentation fault 2016-07-08 18:46:07 +08:00
Anthony Calosa
3aa64697d2 "previousbattlefield" for mover 2016-07-08 17:39:47 +08:00
zethfoxster
0ff7e54ff4 this is a good enough fix as waste is colorless which is artifact, and all we do is barrow the kbitmask from land. 2016-07-07 20:47:25 -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
066c40d9c1 close library, exile, or graveyard after we "move" cards from it. 2016-07-06 22:04:59 -04:00
zethfoxster
8265253388 fixed a issue with dredge where it was entering the stack even tho dredging itself is a replacement effect. 2016-07-06 20:26:18 -04:00
zethfoxster
7b8b197a35 another fix 2016-07-06 19:08:41 -04:00
zethfoxster
867e1b8731 fixes 2016-07-06 18:24:45 -04:00
zethfoxster
a500920bb2 Merge pull request #11 from WagicProject/master
got it
2016-07-06 17:57:38 -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
Anthony Calosa
1d80d97d22 Shackled highlight border 2016-07-06 07:55:10 +08:00
Anthony Calosa
935849142c replaced alias with shackler 2016-07-06 06:37:27 +08:00
Anthony Calosa
f45adb5b9e removed alias 1111 2016-07-06 06:28:42 +08:00
Anthony Calosa
d4cc7ca232 removed alias that display chosen color 2016-07-06 06:21:45 +08:00
Anthony Calosa
51d06d8234 removed alias for overload 2016-07-06 05:23:25 +08:00
Anthony Calosa
16f7ae54b8 Fix Deck Mana Symbol Rendering
deckmanaColors was increased to 7, made this >=6 so it's compatible with
old deck stats
2016-07-06 04:26:01 +08:00
Anthony Calosa
e15734d17e White border for Deckmaster Set 2016-07-06 04:24:07 +08:00
zethfoxster
c018e3dcc2 fixed a ton of memleaks, narrowed down the memleaks to just the computeNewCost function.
still working on a fix for this.
2016-07-04 15:13:35 -04:00
zethfoxster
2b8f1b350c added bonus events for eldrazi and werewolves 2016-07-04 11:18:07 -04:00
zethfoxster
a216a6989b more fixes 2016-07-03 17:07:22 -04:00
zethfoxster
775f9eb6b3 unused variable 2016-07-02 23:44:14 -04:00
zethfoxster
aeff6b60e9 forgot to remove this. 2016-07-02 23:20:51 -04:00
zethfoxster
385a48bb43 fixed a bug where {t}{s(creature|mybattlefield)} or similar cost were not allowed to select the source to pay for the cost.
as long as the cost are not similar, the source is a valid target.
{s}{s(creature|mybattlefield)}
or
{t}{t(creature)}
or when the card states specifically that the source is not valid such as 
"{t},sacrifice another creature you control:draw a card"
2016-07-02 22:39:45 -04:00
zethfoxster
2489be93a3 added setting the value of X as you cast a spell with X.
this does not cover abilities yet.
2016-07-02 13:38:07 -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
6dc69ded22 parse "total" cards in set infor 2016-07-01 22:09:08 +08:00
Anthony Calosa
2f277171d1 Soulbond Pair Indicator
Border Indicator for Paired Cards
2016-07-01 03:05:27 +08: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
76bb777f4d Fix crash when lastController is null 2016-06-30 12:19:58 +08:00
Anthony Calosa
39f6867ab0 Fix Cascade 2016-06-30 09:26:00 +08:00
Anthony Calosa
27fd1942d0 Try to Fix IOS Build 2016-06-29 15:03:36 +08:00
Anthony Calosa
69d92bc0ea Unused Variable
MTGRules.cpp:1361:11: error: unused variable ‘player’
[-Werror=unused-variable]
2016-06-29 11:38:51 +08:00
Anthony Calosa
6d09c12f93 Try to fix compilation 2016-06-29 11:08:55 +08:00
Anthony Calosa
140ee7b183 Hide Highlight Border
When revealing cards, Hide Highlight Border
2016-06-29 08:59:58 +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