Commit Graph

1446 Commits

Author SHA1 Message Date
zethfoxster
520be9dbe8 Merge pull request #24 from WagicProject/master
getting master
2016-07-18 17:23:54 -04:00
Anthony Calosa
b6eea6fe2e Some Changes to Deck Editor and Others
Some Deck Editor changes
2016-07-19 04:33:23 +08:00
Anthony Calosa
1380bc9940 psp cache 2016-07-18 12:44:19 +08: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
Anthony Calosa
c61c17f19c increased cache 2016-07-17 15:05:53 +08:00
Anthony Calosa
9551c9bed4 upped build number
don't know if we can compute travis build number minus the last build of
this
2016-07-17 08:02:04 +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
Anthony Calosa
ed871db1f3 use regular images in grid deck view
i did search for psp-2000 and it has 64mb ram vs psp-1000 32mb ram. use
lowres images for psp to be safe.
2016-07-11 19:16:47 +08:00
Anthony Calosa
69db7f7384 Add support for reducing Hybrid cost
it doesn't remove the hybrid icons but it reduces the cost.
2016-07-11 07:55:12 +08: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
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
Anthony Calosa
3aa64697d2 "previousbattlefield" for mover 2016-07-08 17:39:47 +08: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
a500920bb2 Merge pull request #11 from WagicProject/master
got it
2016-07-06 17:57:38 -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
51d06d8234 removed alias for overload 2016-07-06 05:23:25 +08:00
zethfoxster
2b8f1b350c added bonus events for eldrazi and werewolves 2016-07-04 11:18:07 -04:00
zethfoxster
76f1591b58 removed WParsedInt "morethanfour", "plusone","plustwo","plusthree"
added 2 things
first plus/plusend, minus/minusend
written many ways damage:type:*:myhandminus2minusend
would deal damage equal to the cards in my hand -2
damage:type:creature:mybattlefieldplustype:creature:opponentbattlefieldplusend
damage equal to the number of creatures in my battlefield plus the number of creatures in opponents battlefield.

now there are special cases where we need to know the value BEFORE applying multipliers. life: is one of them. I added "math/mathend"

auto=@each opponent upkeep:target(opponent) life:-mathtype:*:myhandminustype:*:opponenthandminusendmathend opponent
in the example above, without "math" the "-" would be used for the first section of the minus parsed int, instead of being applied as a multiplier for the total of the number.

this is extremely flexible, and can contain any Wparsed int in both parts, you can add or subtract and use the differences between to values as the value of the parsedInt.
2016-07-04 10:43:07 -04:00
zethfoxster
a216a6989b more fixes 2016-07-03 17:07:22 -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
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
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
4d3277f41b fix produce color
when you produce the chosen color, add mana of that color.
2016-06-23 17:44:50 +08:00
Anthony Calosa
6bc7de3370 Minor Fix 2016-06-18 09:11:57 +08:00
Anthony Calosa
68b632857d Most Common Color 2016-06-16 18:14:48 +08: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
dbf78e2bae Split Cant pay life and Cant sacrifice 2016-06-14 10:06:37 +08:00
Anthony Calosa
9ac1540cdc Corrections 2016-06-13 15:27:33 +08:00
Anthony Calosa
70bc60104f try to fix compilation
../projects/mtg/include/AllAbilities.h:706: error: suggest explicit
braces to avoid ambiguous 'else'
2016-06-11 21:44:33 +08:00
Anthony Calosa
0f74558892 Refactor & Fix Devotion
Fix Devotion Count example you have Mogis, God of Slaughter(2 B R),
Ashenmoor  Liege(1 B/R B/R B/R), and Rakdos Cackler (B/R) - will be 6
Devotion to Red and Black, since you count the symbol, B/R (hybrid mana)
should return as 1.
2016-06-11 20:39:56 +08:00
Anthony Calosa
40bb9e2c37 Combat Toughness
Assign combat damage equal to its tougness...
Doran, the Siege Tower
2016-06-10 07:05:29 +08:00
Anthony Calosa
06fdf3f0a5 Imprint
todo others...
2016-06-09 15:35:59 +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
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
ed6755496f parenthesis
try to fix psp build
2016-06-02 12:13:23 +08:00