Commit Graph

176 Commits

Author SHA1 Message Date
Anthony Calosa
6bd09e42e0 Add support for Amonkhet Mechanics
and fix some cards.
Added exerted trigger, event and add removemc keyword inside transforms
ability so we can soft code Embalm and Eternalize...
2017-08-03 09:49:37 +08:00
Anthony Calosa
417c1af21e hide action stack
if there's a human player and a menu object
2017-03-15 06:31:39 +08:00
Anthony Calosa
4ed44c638f Update Rules
Also fix stack display and removed unnecessary code (border for card is
targetted/targetter since we used forcedborder in actionstack). Also
fixed some cards
2017-03-12 10:53:39 +08:00
Anthony Calosa
8f61b590f8 Hide Action stack if there's a menu object 2017-03-10 19:24:39 +08:00
Anthony Calosa
57f55e4270 corrections 2017-03-08 22:44:34 +08:00
Anthony Calosa
ff6e4aec9a adjust stack display & game credits
the stack will display the latest object always on TOP so we can see
which will resolve first, the last to resolve will always be on
bottom... also increase credit bonus. default is 500 credits and for
momir will be 800 credits.
2017-03-08 13:38:19 +08:00
Anthony Calosa
84fe9fbc74 highlight border fix
all selected/targeted cards ar bordered red while the source is green
border
2017-03-05 22:38:53 +08:00
Anthony Calosa
00da0bd0d1 seperate tabs
Misc setting that I added
2017-03-05 21:28:18 +08:00
Anthony Calosa
4bf5943ac5 show large images on grid deck view user option
also forced border targets and target source
2017-03-05 19:43:49 +08:00
Anthony Calosa
b1d271f1c2 add forced interrupt 2017-02-24 07:25:19 +08:00
Anthony Calosa
039be43c2b set the current controller to do action
let the controller of the action do the abilty, also fix casted cards
that's been casted using castcard and be put into its owner's graveyard
2017-02-23 14:04:16 +08:00
Anthony Calosa
2d383e237f hiddenview
if the target is in library and the source has the hiddenface ability
then hide it
2017-02-14 05:09:28 +08:00
Anthony Calosa
13f590c6a2 hiddenface
if the source has hiddenface ability then all of its targets will not
show on the stack ability, useful for cards like demonic tutor etc...
2017-02-13 08:26:06 +08:00
Anthony Calosa
7a35c253cb refine display 2017-02-12 19:43:10 +08:00
Anthony Calosa
b5129f702e add multi target quads
stack displays target quads up to 10 targets. also displays actual
number of targets...
2017-02-12 10:29:13 +08:00
Anthony Calosa
831c8f73b0 some bug fixes
fix where the copier is treated as the same copied card, also fixes the
display ability of momir (forced), disabled reveal for AI if aicode is
not found (should add alternate for ai).
2017-02-06 21:48:41 +08:00
Anthony Calosa
e2c1d62552 modified Momir 2017-02-05 22:14:20 +08:00
Anthony Calosa
bccb740c45 Minimal mod card scale
it's a minimal graphics mod so it's easier to debug. It's a smaller card
scale of big render so we have more space to view in game.
2016-08-14 14:59:49 +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
d43693fef0 when ingame, try finding the quad
for copier/cloner when copying token generated cards...
2016-08-06 19:41:34 +08:00
Anthony Calosa
1039815017 small adjustment
meld card have a little space between. reduce render big display.
2016-07-30 10:21:39 +08:00
Anthony Calosa
a56e77310d Border Corrections
Removed other border render, and use the one in cardgui::drawcard...
2016-07-29 23:10:01 +08:00
Anthony Calosa
f960cdea9b A little border adjustment
no more very thin borders on awards and in game...
2016-07-24 20:25:20 +08:00
Anthony Calosa
f142363bfa smaller scaled big quad and forced border
Ingame big quads are scaled smaller
2016-07-24 12:40:41 +08:00
Anthony Calosa
4da7f77089 Cleanup tabs 2016-07-07 13:25: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
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
60ba4e3eeb altercost should affect retrace, flashback, buyback costs 2015-11-04 06:41:59 +08:00
Anthony Calosa
9a66b0c6e4 some fix and polished static mana and action stack
I moved the target quad near the source card and moved the action string
forward so there is no overlapping of action string and the target quad
if the action string is too long...
2015-10-13 19:27:25 +08:00
Anthony Calosa
8fe5000ce1 polished action stack 2015-10-12 19:54:03 +08:00
Anthony Calosa
c7b9e6f9b8 fix avatar scaling on guicombat, border on combat 2015-10-11 23:04:28 +08:00
Anthony Calosa
4c86cae7fe disabled wood & gold texture, backdrop size 480x272
blending of wood and/or gold texture on some resolutions(mobile,
tablets, etc) draws line which can be distracting. The backdrop is now
full size of PSP resolution (480x272, 2x res can be loaded like 960x544)
2015-10-11 14:29:36 +08:00
Anthony Calosa
664589c642 Visual Targeting Indicator, Borders 2015-10-05 22:03:30 +08:00
xawotihs
bedd1e8da8 Merge branch 'valgrind' of https://github.com/ZobyTwo/wagic into ZobyTwo-valgrind 2013-11-29 19:41:46 +01:00
Tobias Loose
031f2dbffb Fix Valgrind warnings appearing during the test suit. 2013-11-29 18:21:53 +01:00
Tobias Loose
9ee44ca091 Substitute more char arrays with strings 2013-11-29 11:51:22 +01:00
Tobias Loose
3ca2f1c1ed Replace defines in Damage.h with enums. 2013-11-17 17:12:58 +01:00
Xawotihs@gmail.com
98861dd916 Fixed memory leaks and refactored a bit the ManaCost class while I was at it. 2013-10-19 14:29:17 +00:00
pankdm
0c6d77daa0 Refactored FizzleToZone
Get rid of common code
Better naming of zone (where we put spell after countering)
More generic syntax: fizzleto(X) where X in [hand, exile, librarytop]
which will give more flexibility later
2013-10-08 23:18:42 +00:00
pankdm
17fdedb648 Draft of the "fizzle to zone"
(credit goes to excessum)
2013-10-08 23:17:43 +00:00
omegablast2002@yahoo.com
b61cd2f69a megapatch contents
added
"whenever a creature enters the battlefield you may pay {1}, if you do gain one life"
conditional may pay({cost}) effect 
this version is a super type ability, and can only be used in certain combos.

to nest you will need to use it in its subtype pay[[{cost}]] effect
pay keyword can have sideeffects coded as follows
pay[[{1}]] life:1?life:-1
pay one mana and gain 1 life, if you dont then you lose one life. notice no space between the abilities and the question mark.

added castcard()
a method to cast a targeted card, this contains the following subkeywords which can be used in combinations
(normal)
(restricted)
(copied)
(noevent)
castcard(restricted copied noevent) for example will cast a card that is a copy or the spell without sending a cast event only when the spell is castable.
"normal" subkeyword cast the actual spell, not a copy.

extended the use of exiledeath to everyzone, any card going from any zone to graveyard is placed in exile if it has exiledeath.

limited swipe left to open hand only when hand is closed view.

"moveto(" can now be named.
2013-06-18 01:41:34 +00:00
Xawotihs@gmail.com
26ab65860e Fixed a gazillion of warnings occuring when compiling Wagic with Clang with Werror. 2013-06-09 21:16:39 +00:00
omegablast2002@yahoo.com
c994886ca8 polished the actionstack rendering a little. draw only as much black square as we need to render so we dont make a massive black square for nothing. 2013-03-23 20:53:33 +00:00
omegablast2002@yahoo.com
c078af5f24 fix for crash from not having a playerTarget when ability$! is used on targetedPlayer by an instant. 2013-01-30 03:51:16 +00:00
omegablast2002@yahoo.com
ca3dc49d71 added basic card draw replacement,
auto=replacedraw choice damage:2

auto=replacedraw choice draw:2 noreplace

notice noreplace exempts the draw from sending a draw event. draw events and drawn events are seperate events.

added dredge and it's rules.

[card]
name=Dakmor Salvage
auto=tap
auto={t}:add{b}
dredge=dredge(2)
text=Dakmor Salvage enters the battlefield tapped. -- {T}: Add {B} to your mana pool. -- Dredge 2 (If you would draw a card, instead you may put exactly two cards from the top of your library into your graveyard. If you do, return this card from your graveyard to your hand. Otherwise, draw a card.)
type=Land
[/card]
2013-01-20 20:13:07 +00:00
omegablast2002@yahoo.com
a26f872ff3 add restriction for checking what alternative cost was paid. combined with if/ifnot ability becomes a very powerful tool.
paid(blah)
auto=if paid(alternative) then damage:3 target(creature)
auto=if paid(alternative) then life:10 target(player)
auto=ifnot paid(alternative) then damage:3 controller
auto=ifnot paid(alternative) then life:4 opponent

it can be used any place a restriction can be used. 
rearranged the constants for the payment type keywords to match the order we int the alternatePayment array on a card, added keywords for the remaining payment types, 

    "notpaid",
    "paidmana",
the 2 above pretain to paying the real manacost of a card
it checks the mana={1} cost line and is not joined to the other types.

    "kicker", 
    "alternative", 
    "buyback", 
    "flashback", 
    "retrace", 
    "facedown",
    "suspended"

note: all test pass in this revision.
2013-01-15 02:11:05 +00:00
omegablast2002@yahoo.com
eabbbe3f77 passing the storedcard for use by instants and sorceries with extracost in thier manacost, also fixed a parsing oversight with stored values parsing, "-" would throw off the value of s string parsed for stored by 1, returning 0 for these....this is corrected now. 2012-04-05 11:24:57 +00:00
omegablast2002@yahoo.com
9564250179 added targetedplayer as a who for most abilities and token reciever..
adjusted the way cardsacrificed events were sent

added a ability which is a way to tell a targeted player, yourself, or opponent to do a set of abilities.
ability$! EFFECT _ EFFECT !$ WHO 
the idea here is that the abilities are being added to the targeted players game...so 
target(player) ability$!target(<2>*|myhand) reject!$ targetedplayer

this line tells the player to discard 2 cards...

you can also use it without targeting by using WHO words..
controller, owner, targetcontroller, opponent, targetedplayer

this ability defualts to opponent.

cards coming soon...
2012-03-18 15:57:35 +00:00
Xawotihs@gmail.com
ebc4eb331f Removed modifications that should not have been part of my previous commit and were causing compilation problems. 2012-02-12 08:44:22 +00:00