Commit Graph

2057 Commits

Author SHA1 Message Date
wagic.the.homebrew
1e2ed785eb Fix for issue 646 (Tidal Warrior) 2011-05-06 02:27:49 +00:00
guzhenjie1@gmail.com
f0820697f8 Corrected following cards:
Aspect of Mongoose
Brilliant Halo
Cessation
Despondency
Endless Cockroaches
Fallen Ideal
Fiery Mantle
Fool's Demise
Fortitude
Glistening Oil
Launch
Rancor
Shivan Phoenix
Sleeper's Guile
Sluggishness
Spine of Ish Sah
Spirit Loop
Spreading Algae
Undying Rage
Weatherseed Treefolk

autograveyard=@movedTo(this|graveyard) from(battlefield):moveTo(myhand)
 ==> 
autograveyard=@movedTo(this|graveyard) from(battlefield):moveTo(ownerhand)

Twilight Shepherd
auto=moveTo(myhand) all(creature[fresh]|mygraveyard)
 ==> 
auto=moveTo(myhand) all(*[fresh]|mygraveyard)

Undying Beast
autograveyard=@movedTo(this|graveyard) from(battlefield):moveTo(myhand)
 ==> 
autograveyard=@movedTo(this|graveyard) from(battlefield):moveTo(ownerlibrary)
2011-05-05 12:01:10 +00:00
wagic.the.homebrew
748af5b461 - Adding a generic "ueot" effect. This will be initially confusing, but the ultimate goal is to get rid of all the particular cases we handled with "until end of turn" effects. this "ueot " works like "may " and "choice ", it has to be at the very beginning of the ability(ies) it targets. The reason is to avoid conflicts with the existing "ueot" we have all over the place. I have only tested it with transforms and loseabilities for now (see "ovinize") but hopefully this will become the new norm. This should also reduce the code inside the parser, long term.
- Adding "Ovinize" as an example of this new keyword.
- moved "parseBetween" in utils as I am using it in other files for wome work in Progress.
2011-05-05 06:18:50 +00:00
guzhenjie1@gmail.com
9902b1c74b Corrected a typo in text of Palladium Myr. 2011-05-04 15:34:38 +00:00
wagic.the.homebrew
d922d4fe06 - Added "loseSubtypesOf(type)" ability. For example, loseSubtypesOf(land) means "target loses all its land subtypes"
- Added Evil Presence, as an example of the new keywords loseabilities and losesubtypes. It's quite experimental but I added 3 tests that cover the basics. Please report if you find bugs.
- moved the "lands produce mana" rules outside of the primitives, and into the external rules. This was a necessary step to create cards such as Evil Presence. 
- real support for subtypes. Needs some more testing, but there are now functions in Subtypes.cpp to know if a given subtype is a creature subtype, or a land subtype, etc...
- minor refactor of MTGDeck.cpp

Notes:
- I checked that the AI can still use lands
- This change has a bad impact on primitives loading performance (thanks Wil for the loading time output). This is probably due to suboptimal algorithms and data structures for subtypes. If the impact is strong on lowend devices, I can probably optimize a bit (the map subtypesOf could be changed into a vector with some work)
- The test suite passes, added 3 tests for evil presence.
2011-05-04 04:04:03 +00:00
wagic.the.homebrew
494bcf3315 Adding a "loseAbilities" keyword per Dr.Solomat's request. The Goal was to code Evil Presence, but I think there is still some work to do to achieve this. The main concern is that (according to the Miki), neither transforms(( nor "becomes(" allow to lose some subtypes. A land enchanted with Evil Presence is supposed to lose its land subtypes. Since we don't support subtypes that good, I don't think this is possible. Additionally, Evil PResence would require to move "{T}:Add{X}" from the basic lands primitives into the rules (which sounds quite easy to do). I've nevertheless tested this on Gaea's Cradle, and it works. (Gaea's Cradle loses its abilities) 2011-05-04 01:33:34 +00:00
wagic.the.homebrew
0b9ff076e6 Please update your rules folder
- "Manapool empties at the end of each step" becomes an ability, and was moved into the external rules file. "removemana(*) to remove all, removemana(*{G}) to remove all green, removemana(*{G}{B}{R}) to remove all green black red, removemana({G}{G}{B}{U}) (no "*") to remove a specific value.
- Added a possibility to make abilities non interruptible. With little work, this could be added to the parser if needed. Please use with care, let's discuss what is an acceptable usage of this now functionality, if needed.
2011-05-03 11:59:27 +00:00
solo81@web.de
d8147a0156 Fixed Glistening Oil. 2011-05-02 21:16:44 +00:00
solo81@web.de
4a06f1c9a8 Added Deglamer. 2011-05-02 21:06:08 +00:00
solo81@web.de
3fdd87df66 Fixed Jor Kadeen, the Prevailer. was missing the "Legendary" in its type-line. 2011-05-02 21:00:46 +00:00
solo81@web.de
ecdd781f51 Fixed names of Mortis Dogs and Hovermyr. 2011-05-02 20:36:14 +00:00
solo81@web.de
317cea1f76 Fixed Lavaborn Muse. 2011-05-02 20:30:41 +00:00
solo81@web.de
f754efd2ee Fixed Lymph Sliver and Crib Swap.
Added Orzhov Basilica. I guess it was deleted unintentionally in the past.
2011-05-02 20:29:21 +00:00
wagic.the.homebrew
b7cc42ed67 Moved "reset damage on creatures at cleanup phase" outside of the engine and made it an ability. This is mostly because I need this for the mod I'm working on, but I hope it can be used by others 2011-05-02 14:02:12 +00:00
solo81@web.de
2c4efb9cd5 Fixed Urabrask the Hidden in mtg.txt. 2011-05-01 16:36:51 +00:00
guzhenjie1@gmail.com
14c56f0510 Corrected following cards:
Gitaxian Probe
Glasses of Urza
Ingenious Thief
Lay Bare
Peek
Persecute
Sorcerous Sight
Talas Explorer
Telepathic Spies
Walker of Secret Ways
Wanderguard Sentry

name(look at opponents hand) target(*|opponenthand)
 ==> 
name(look at opponents hand) target(*|opponenthand) 0/0 ueot
2011-05-01 15:39:42 +00:00
guzhenjie1@gmail.com
de12a114e7 Corrected Pith Driller. 2011-05-01 14:17:29 +00:00
guzhenjie1@gmail.com
e31dd9dbf5 Corrected some typo in NPH cards.dat 2011-05-01 12:22:17 +00:00
solo81@web.de
ed420d4f97 1. Added ",sourceinplay" to:
Arrogant Bloodlord
Ceremonial Guard
Cinder Wall
Fog Elemental
Gemini Engine
Goblin Sappers
Rainbow Vale
Stoic Ephemera
Teferi's Veil
Thawing Glaciers
Time Elemental (only to "sacrifice", not to "damage:5 controller"! --> rules on Gatherer)
Undiscovered Paradise
Vebulid
Wall of Nets



2. Removed ", sourceinplay" from:

Wall of Tears

Following the rules, a creature blocked by Wall of Tears is indeed returned to owner's hand even if Wall of Tears has left the battlefield before the end of combat.

This is the same reason why several cards did not get ", sourceinplay":

Example case for not adding ", sourceinplay":


Tolarian Entrancer

"The control change has no duration; you’ll retain control of that creature until the game ends or until some other effect causes it to change control. It doesn’t matter if Tolarian Entrancer leaves the battlefield, 
or if Tolarian Entrancer has already left the battlefield by the time the “at end of combat” ability triggers".

This is also true for all cards which have a certain effect on other creatures blocking or having been blocked by it. 


3. Added "once" to:

Basalt Golem
Frostweb Spider
Joven's Ferrets
Wicker Warcrawler
2011-05-01 11:08:56 +00:00
solo81@web.de
d58e3fe30b Updated Astrolabe and Barbed Sextant by adding the "once" tag to their [phaseaction] code. 2011-05-01 10:23:25 +00:00
solo81@web.de
d28847d929 Updated all Clockwork creatures by adding the "once"-tag to their phaseaction code.
Without this change, the Clockwork family was losing a +1/+0 counter at the end of each end of combat after having attacked for the first time.
2011-05-01 10:11:38 +00:00
solo81@web.de
a9ca76e77e Added New Phyrexia (NPH). 2011-05-01 09:44:30 +00:00
wagic.the.homebrew
cd07248df5 UPDATE YOUR rules FOLDER!!!
- This is some Work in progress to make Wagic less "game" dependent.
This change especially is an attempt at moving away from some dangerous patents owned by some company.
It introduces "modrules.xml", a global configuration file describing dynamic settings for any given Wagic mod. It is very basic for now, but allows to customize a bit. In particular, it allows to remove the concept of shop and deck editor from the game, dynamically generate the main menu, and represent card activation with a mask rather than a rotation.
I have a sample in progress which I hope to submit in the days to come, a proof of concept (nothing fancy yet) for another type of game using these ideas, as well as a few other things I introduced recently.
In the future, I am hoping to extend modrules.xml so that it entirely describes the rules of a given card game. the other files in rules.txt will describe "extensions" to the core rules, just like they do right now, so this new file does not make them obsolete.


- Also fixed minor bugs I stumbled upon while developing
2011-04-29 17:30:57 +00:00
solo81@web.de
95987c6d87 Removed NPH folder. Was unintended, sorry! 2011-04-28 22:19:59 +00:00
solo81@web.de
72e1d8079e Fixed Nullmage Shepherd + Sword of Feast and Famine. 2011-04-28 22:17:49 +00:00
guzhenjie1@gmail.com
86042c206a Added "once" limit for following cards with phaseaction[endofturn]:
Blood Frenzy
Brood of Cockroaches
Celestial Sword
Goatnapper
Crazed Armodon
Dark Maze
Dragon Whelp
Farrelite Priest
Giant Caterpillar
Initiates of the Ebon Hand
Mogg Cannon
Puffer Extract
Rainbow Vale
Rukh Egg
Season of the Witch
Surprise Deployment
Transluminant
2011-04-26 15:20:40 +00:00
guzhenjie1@gmail.com
b8310838f4 Corrected Serene Offering, Stream of Acid and a typo in Blightsteel Colossus' text. 2011-04-25 10:31:42 +00:00
guzhenjie1@gmail.com
e91a6a31a0 Added Preeminent Captain.
Thanks to Spiwy and Zeth!
2011-04-24 16:07:54 +00:00
guzhenjie1@gmail.com
4a308455d1 Corrected following cards:
Boggart Mob
Oculus
Snapback
Weed-Pruner Poplar
2011-04-24 14:11:02 +00:00
wagic.the.homebrew
66ad0f4694 - Files in Res/rules are now loaded dynamically. This allows people to add their own mods fairly easily
- also has a basic support for unlocks (does not yet allow people to create their own unlock rules, though...)
- Some things are still hardcoded and should progressively move to these rules files (such as Game Type, how random decks are created, etc...)
- Test suite doesn't foolishly ask you to choose a game mode (momir, etc...) anymore
- UPDATE YOUR Res/rules/ folder !!!
2011-04-23 13:24:19 +00:00
wagic.the.homebrew
8e4de36588 - unsupported.txt cleanup + conflicts cleanup (had to partly comment out some cards for which we don't have a clean solution yet, "multipart cards" are basically 2 cards that share the same Multiverse ID, such as "Day // night" ) 2011-04-23 04:55:00 +00:00
wagic.the.homebrew
fafa785778 - Cleaned up "borderline" primitives, split into borderline and crappy, which is closer to the way I intended the system to work initially.
- moved mtg_todo.dat into "unsupported.txt"...there are many parsing issues that I need to solve, but give it a try (set the grade level to "unsupported" in your advanced options, and restart the game) , it bumps the number of unique cards to almost 12000 :) (of course, these new cards don't work, that's the point of the "unsupported" grade)
2011-04-23 04:01:42 +00:00
omegablast2002@yahoo.com
4c127f1a59 flipped the default avatar so evil twins stare at each other instead of away from :D 2011-04-22 19:11:47 +00:00
omegablast2002@yahoo.com
1827e99780 fixed a typo in liquid metal coating. 2011-04-22 12:00:03 +00:00
omegablast2002@yahoo.com
feee31a360 updated kicker test by adding "choice 1" pay kicker, it will have no effect on "always pay" option, but if a player has "offer choice" they will still pass... 2011-04-22 11:18:47 +00:00
solo81@web.de
8f51c1d1fe Removed a test relict from Fieldmist Borderpost. 2011-04-21 15:19:01 +00:00
solo81@web.de
1d295c0cef Fixed Fieldmist Borderpost. 2011-04-21 15:10:05 +00:00
guzhenjie1@gmail.com
dca61d1ab0 Corrected Sporoloth Ancient. 2011-04-21 14:30:11 +00:00
solo81@web.de
5eb36fecc0 Fixed Neurok Invisimancer, Poultice Sliver and Fledgling Griffin. 2011-04-21 12:47:23 +00:00
solo81@web.de
0a6a5697f5 Updated all other cards with "other=cost". Same improvement as in last revision. 2011-04-21 12:24:10 +00:00
solo81@web.de
2139291115 Updated all cards with Evoke by adding "name(Evoke)" to their "other=..." line. This small addition makes the choice menu of those cards more readable. 2011-04-21 11:47:07 +00:00
solo81@web.de
35dde15fc6 Reverted rev3497. 2011-04-21 11:36:02 +00:00
solo81@web.de
4db75ac2fe Updated all cards with Kicker.
You now always have the choice if you wanna pay the Kicker cost or not.
2011-04-21 10:20:22 +00:00
omegablast2002@yahoo.com
64ec306cf6 added grade crappy to the discarders using random discard added to borderline.txt...to avoid the confusion that those cards might actually be fully supported. 2011-04-20 22:20:34 +00:00
omegablast2002@yahoo.com
15e8a91ba8 removed the premade evil twin avatar. 2011-04-20 20:26:28 +00:00
omegablast2002@yahoo.com
a02a09444b back thumb scaled for avatar slot 2011-04-20 20:25:52 +00:00
techdragon.nguyen@gmail.com
2fdc80aee1 Synchronized avatar images to be loaded correctly on first display of the opponent selection.
* changed how the avatar images are assigned since how they were before was incorrect.  They are now assigned upon instantiation of the meta file.  Not when the stats are calculated.  
* Added new image for "Evil Twin".  This is a horizontally flipped image of the original player avatar with a red background.  Please feel free to edit the image.
* removed display of avatar image on menu items in deck selection that are not deck related. (ie "Cancel", "Back to Main Menu", etc)  "New Deck" also does not have an image since no deck really exists yet so no avatar.  

Issue: 622
2011-04-20 17:51:40 +00:00
solo81@web.de
e718629707 Added 10 cards.
Abduction
Corrupted Zendikon
Crusher Zendikon
False Demise
Fool's Demise
Guardian Zendikon
Shade's Form
Squee's Embrace
Vastwood Zendikon
Wind Zendikon

All cards have been tested manually.

Code example:

[card]
name=Abduction
target=creature
alias=1194
auto=untap
auto=@movedTo(mytgt|graveyard) from(battlefield):all(trigger[to]) moveTo(opponentbattlefield)
text=Enchant creature -- When Abduction enters the battlefield, untap enchanted creature. -- You control enchanted creature. -- When enchanted creature is put into a graveyard, return that card to the battlefield under its owner's control.
mana={2}{U}{U}
type=Enchantment
subtype=Aura
[/card]
2011-04-19 21:37:55 +00:00
omegablast2002@yahoo.com
28b84a1305 a few other "@damaged(" ====>"@combatdamaged(" 2011-04-19 18:20:35 +00:00
omegablast2002@yahoo.com
6a0a5e6980 Spawnwrithe was using the wrong trigger. 2011-04-19 18:13:26 +00:00