142fcef4c48b34aeb38e9d884d9d92cac8a5b687
132 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3f40dbc0b4 | Removed crash occuring with linux .directory hidden files | ||
|
|
bd1afebbea | Hid Subtypes behind MTGAllCards and added a mutex to be able to use both singleton from several threads. | ||
|
|
591f0e0d30 |
- fix for issue 772
- fixed some issues in zstream that prevented to use "getline" in zipped streams - added a "pooled buffers" system to keep a cache of file descriptors. This is potentially dangerous though, but shaves several seconds of loading time on the PSP. If problems arise on other platforms I'll make it a compilation parameter - gracefully fail when calling manacost information on a not properly initialized mana cost |
||
|
|
c3dc51aed1 |
I just played 3 long games and I was able to undo two fully and got an assert on the third one after more than 1000 actions... so I commit what I have:
- Modified undo to stop at "next phase" action - Added "muligan" and "force library shuffling" to the list of logged action - Fixed random logging - Fixed double logging of actions - Merged all the "next game" functions into a single one - Created a PlayerType type instead of using int - Moved the player loading code into the GameObserver and out of GameStateDuel to avoid having player references in both and simplify the initialization and termination. Tweeked a bit the humanplayer class to be able to do that. - Added a "load" menu available in testsuite mode, I use that to load problematique game. To use it, just copy-paste a game from the traces into Res/test/game/timetwister.txt. Game in traces starts by "rvalues:..." and ends by "[end]" - Added some untested and commented out code in GuiCombat to use the mouse/touch to setup the damage on the blockers - Broke the network game ... hoh well, I'll repair it when everything else works !! - various code cleanup and compilation fixes on Linux |
||
|
|
6825082d6d |
- Add a simple macro system for auto lines (the goal is to help mostly with repetitive card auto lines such as the ones we have in MotD mod) Check the MotD mod for examples.
-- I added an AbilityParser.cpp file, mid term goal is to move AbilityFactory there, so that MTGAbility.cpp becomes a bit less big. -- I tried to add the file reference in Makefiles, but only tested windows compilation so far - Fixed bugs related to "castRestriction" variables in MTGAbility. these variables were declared in both the parent and children classes, leading to bugs and duplicate code/content The test suite passes |
||
|
|
e6b199f599 |
Modifications to make the game more generic.
Included in a new modrules.xml tags. <cardgui> <background> Stores information concerning the colors </ background> <renderbig> Stores information to draw the card </ renderbig> <rendertinycrop> Stores information to draw the card </ rendertinycrop> </ cardgui> Change the variables array for vectors |
||
|
|
e3d0ab8ba0 |
corrected a mistake i made with name and other manacost, I meant to erase the name from value not s this caused strange issues when a name was given to a "other" cost which contained an actual parseable mana cost inside.
do note tho, our text menues will not display "{" and "}" charectors, so its best to keep them out of "name(" anyways as they serve no purpose.
|
||
|
|
ee4c7e23bd |
- fixed memory leaks introduced in previous revision
- removed incorrect casts of MTGCardInstance into Spell objects. - AI Test system now allows you to put decks in ai/bakaA and ai/bakaB instead of ai/baka. This allows to let AIPlayerBaka and AIPlayerBakaB play with specific decks - Test suite speed improvement. Improved the card name cache. Test suite now runs in 850 seconds instead of 950 on my machine. - minor code cleanup |
||
|
|
6399917d25 |
changes:
added abilities:
proliferate
ProliferateChooser:new targetchooser for cards with counter and poison counters "proliferation".
MenuAbility:new internal ability to create custom menus of abilities which can be activated in sequence one after another.
multikicker, syntax kicker=multi{b}
works with variable word "kicked", the amount of times it was kicked.
target=<number>tc,target=<upto:>tc,target=<anyamount>tc,target(<number>tc),target(<upto:>tc),target(<anynumber>tc);
multitarget is now supported with the exception of "devided any way you choose" which can not be supported becuase we allow detoggling of targeted cards with a "second" click....so you can not click the same card 2 times to add it to the targets list twice for example.
this is minor, as the bulk of multitarget is not "devided"
removed 's' parsing for multitarget, added a limit of 1000 to "unlimited" for easier handling; we currently can't handle activation of an ability on a 1000 cards very well on any platform(infact i don't suggest it)
Countershroud(counterstring), this MTGAbility allows you to denote that a card can not have counters of the type "counterstring" put on it.
"any" is for no counters allowed at all. this is a replacement effect. cards state that they can still be the targets of counter effects, however on resolve nothing is placed on them instead.
@counteradded(counterstring) from(target):,@counterremoved(counterstring) from(target):: these are triggers for cards which state "whenever you add a counter of "counterstring" to "target"; added counterEvents struct;
other changes:
added support for ai handling of multitargeted spells.
changed a few of delete( into SAFE_DELETE(, safed up a couple areas where they did not seem safe to me;
added better handling of menus presented to ai, it will try to select the best based on eff returns.
added varible lastactioncontroller for ai use, it keeps it truely from ever tripping over itself and brings ai more inline with MTG rules.
converted TC into a protected member.
added "abilitybelongsto" string to tc, and set "owner" of the tc. a tc should never belong to "no one" it should always have a owner.
abilitybelongs to string is solely for easier debugging, i found it was a pain to never know what ability created a tc while i coded multitarget. the owner of the tc is the only one that should be using it, if an ability needs to declare the opponent as the owner (choose discard which is currently unsupported for example) this will allow us to better handle that situation by setting the tc owner in the ability which called it.
rewrote the logic of "checkonly" in ai choose targets, the only time it is "checkonly" is when it is trying to see if it had a target for a spell before it cast it, i now set this in the actual function call instead, the old method was far to error prone.
wrote logic for ai checking of menu objects presented to it,
ai will now make better choices when a menu is presented to it based on what it already knows. this changes it from it's old method of "just click the first option".
taught ai how to use multi-mana producers such as birds and duel lands by adding a method for it to find it's mana for a payment. it can effectively use cards like birds of paradise and sol ring(without locking up). It's primary method of pMana searching was maintain for performance(no need to deep search if we have it in pMana).
added a vector to actionlayer to store mana abilities for pMana. this provides us with a dramatic improvement when mana lords are present by reducing the amount of objects that need checking when ai checks pMana.
with 80 mana objects and a ton of lords one instance i checked went from 8000ish checks down to 80<===big difference.
added "tapped" green coloring(sorry i missed that!)...added red coloring to current actionLayers current action card (usually the source).
changed "type(" restrictions second amount from atoi into wparsedint for more flexiable coding.
add "&" parsing to CD targetchooser, removed "iscolorandcolor" variables and functions becuase they were a hack the real fix was this.
cretaure[dragon&black&blue] a creature that is a dragon, and black and also blue.
changed some of the ai computeactions and
removed unneeded gaurds in ai chooseblockers, they did more harm then good.
|
||
|
|
cb0f2b373f | - Fix a bug where JFileSystem would return duplicate results in function scanfolder (can lead to "card id collision" in the previous builds) | ||
|
|
e27cf56fa2 |
- Support for Zip Filesystem. It is now possible to zip the entire Res folder ("store" method preferred, zip so that the root of the zip has ai, player, etc...) in one single file for read only. Write access is done in another folder (hardcoded to be User/ for now, can be updated depending on platforms, etc...
-- zipFS has several limitations... --- in a general way, seekg doesn't work... so getting a file's size needs to be done through JFileSystem. --- getLine on files open with zipFS doesn't work so great. Not sure if it is a normal issue because files are open in binary or not... JFileSystem therefore offers a "readIntoString" function that needs to be used instead of the usual "getline" technique. However getLine can then be used on a stream connected to the string. -- tested on Windows and PSP, I also made sure android still works, but haven't tested zip support on Android. -- I tried to maintain backwards compatibility, but this might break on some platforms, if I broke some platforms and you can't find a way to fix them, please contact me and we'll figure something out -- This removes wagic::ifstream. I didn't reimplement the securities that were involved in this, apologies for that. Might be useful to reimplement such securities in JFileSystem -- I haven't tested options/profiles in a deep way, it is possible I broke that. |
||
|
|
765b6b0412 |
- Moved Cast Restriction variables "out" of CardPrimitives (replaced with a pointer). This frees 64bytes off of CardPrimitives on Windows, I assume something similar on the PSP, which gives a result of more than 500kB freed
- fix for issue 716 (text not rendered in some cases) Test suite passes |
||
|
|
794be140ce |
- graphical representation of counters. see graphics/counters/quest.jpg for an example
- rewrote some code dealing with text formatting for a card when rendering in text mode. I could swear my code has been reverted. If somebody has good reason to believe we should re-process the string formatting on every frame, please let me now. I believe my change can help rendering speed of text mode a lot. - counters change to vector instead of array |
||
|
|
ff6d6e56fe | related to issue 655. The change to bitwise representation of mana required some changes in the deck output methods. | ||
|
|
28cd4acaf8 |
In the most recent update of the basic abilites this iterator was changed to a standard for loop. However, the condition of when to stop was never written, thus when you saved as AI deck, you either ran into an out of bounds error or some other exception.
This seems to have fixed the bug. Issue: 655 |
||
|
|
7beb958067 | Adding a way to mark decks as "locked" based on options requirements (option on or off). Can be used for example to lock a deck until a specific set is not unlocked. Works for both player decks (could be used for premade?) and AI decks. | ||
|
|
691a1e1b91 |
- Fixed a Bug where AI would not block any attacker in Demo mode (bug introduced in r2759)
- Fixed a Bug where AI would not correctly assign blockers if the first attacker is super strong. - Added a hack to prevent AI from an infinite loop while choosing a target. There are edge cases where the AI gets to choose the targets for a TargetChooser that doesn't belong to it. I couldn't dig too long for the root cause, so I added a "return 0" when the case happens. Should probably open a ticket - Added a "Hint" System in AI decks, to help the AI with its strategy. This is not really usable yet, it only works with abilities (not cards to play), and I only added some basic code for counters and tokens. This can probably be extended, but let's wait until we see it working on that other game I'm working on, before rushing into adding hints to all AI decks... - minor cleanup of AI Code |
||
|
|
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. |
||
|
|
a73fd4e99f | Converted CardPrimitive's basicAbilities from a map<int, int> to a bitset. With 92 abilities, that means our base container for abilities is now 16 bytes in size (down from 28), and is a fixed size, whereas the map would grow by 8 bytes per added ability. | ||
|
|
223b067234 | Removed what looks like a leftover temporary trace. | ||
|
|
1b6991107b |
few changes here, mostly small bug fixes,
recoded altercost, its finally not using a dirty clean up. this fixes the bug with it not effecting ai also and the bug where it was ineffective when combined with affinity creatures... removed a aspect of the wolf class... soft coded support for aspect of the wolf...using word variable subkeyword "halfup" and "halfdown" it can go anywhere a parsable word vairable is stringing...i preffer the front of it... these are Wparsedint subkeywords, not keywords you can use with standard abilities... its meant to return half the varible rounds up, or down... fixed player not losing with cantlifelose when they have 10 or more poison...the player should die. reworked taplandformana, i send the main card as a target now, check against the cost if its affordable...anyways, i discussed this bool function a while back with devs and wololo saw the same issues i saw in it...he then removed it from being used as an if statement...i changed it back to an if statement with the new checks...we are either going to go back to a void, or go all the way bool, but not inbetween. |
||
|
|
93d9347566 |
added "colors" to word variables
========================================
added a function to return the action element id by mtgcardinstance.
=======================================
refactored all 5 combat triggers to be handled in a single class, this change helps reduce the "bits and pieces" of trigger restrictions which some did support while others didnt, it also allows for easier editing and debugging if future code needs to be added to it.
refactored the parsing for the combat triggers also, so that a combat trigger can be built from a single object if it only contains "or"...amongst other reasons.
the new syntax is auto=@combat(blocking,attacking,turnlimited,once) source(TC) from(TC):effect...all the same words are still used, except they are now all included inside the combat(-----) this includes restrictions for the triggers. if a card still needs multiple triggers from some reason...it is still 100% allowed to have as many as you want, with whatever you want inside them...check updated primitive for examples.
the required sections are auto=@combat(atleast one trigger) source(TC):effect.
=========================================
moved the limitsperturn "limit:" from genericactivatedability up to its parent class activatedability, did this for the following reason
first rules correction, the previous method tracked uses on resolve, which is incorrect, it should count as the ability is fired and placed on the stack.
second, it keeps all the actiavted ability restrictions in the same place, this is the location we are checking summoning sickness, actived restrictions such as "myturnonly" ect. makes sense to handle it in the parent.
third, it allow any and all future activated abilities easy access to "limit:" if needed, it would only require adding a limit string to pass on construction to the child classes instead of recoding the same exact checks as genericactivated.
=======================================================
reworked "name(" so that it no longer is required to be used inside a "&&" ability, also it no longer will create a MTGAbility object with a false return. that was just dirty of me :/
enabled "name(" to replace the menutext of alternative cost.
"other={cost} name(holy cow)"
will display "holy cow" instead of "pay alternative cost", this change is nice because we ended up using "other" cost for WAY more then originally planned...now we can label it exactly what it should say when you click it.
======================================================
added a subtype keyword for powertoughnessmodifier so that you can basically switch on non-static variables for it...lifetotal/lifetotal nonstatic...PT can now except all word variables as i added reparsing of the ints, had to maintain old methods as ai needs them to decide what to do with them.
======================================================
removed the following extremely redundant classes
both ABecomes classes---atransformer has become far superior to it, i kept the "becomes(" parsing tho, and it will act exactly as it use to, except now it has access to most of the subkeywords of transforms...it also now allows word variables. and excepts "forever" as a tag. added "newcolor" subkeyword to transforms to create the "becomes(" adding a color without removing colors effect. "becomes(" now returns a constructor for ATransformer that emulates becomes( exactly as it worked before.
both forevertransformer classes, the only difference between the 2 was one subkeyword, and "forever" did not return a "destroy()"...i recreated this in less then 4 lines and a bool. that was sloppy of me :( i guess we learn and improve.
============================================================================
i removed the parsing of card casting restriction from the first pass when cards load, instead of making it a cardprimitive object, i now simply pass the string through the card and build the restrictions when theyre actually needed and checked.
this change allowed for alot of clean up, removing enum and dependancy on cardprimitive, and combining both allowedAltCast and allowedtocast functions checks through a new function "parseCastRestrictions"...this change keeps all the cast resrictions in a single place, which makes it easier to debug or add if needed, and while i was at it, i enabled it so cards can now contain as many restrictions as you want *of the available ones*
added "turn:" as a restriction to make it so "fourth turn" could actually be ANY turn you list, this allowed me to remove a dirty line of code which was checking if a card was o converted cost but had a suspend...lotus bloom...which can not be cast normally..for cards like this now you can use restriction=turn:200 or otherrestriction=turn:200....
=========================================================================
added Phyrexian Mana...svntax {p(r)} ....this will always be payable with 2 life, but if you have a red mana for this example, it will charge you the red mana instead...you can have any combination of P mana you want in any of the games manacost.
===================================================
reworked a bit of the ai logic i added, it now has true interrupting and can now correctly target for fizzles, Ai will go into full out counterspell wars with you now...
===================================================
added a ingame reward system with fancy flying text animations, they reward the player with actual credits, but are extremely hard to trigger off, theyre not meant to be something you see every 5 secs, but something that when you see them trigger you go "damn that was cool"
the triggers and effects are as follows
first the combo system:
you have to chain cast 5 or more card, without tapping or being interupted, tiny bonus for this..chain is broken as soon as you or your opponent tap something.
next combo level is
Abundant Resources - chain 10 or more spells same condition
then
killer - chain 15 or more same condition
this will include a flying text render once a chain is successfully started (5+ cast)
this bonus can be triggered multiple times in a match
the next bonus is
+ //creatures entering play consecutively will allow you a chance
+ //to gain a bonus for maintaining force sizes, it will trigger every 10th
+ //creature which enters play consecutively.
this is restarted every time a noncreature enters play.
the levels are as follows,
Deadly Force Bonus! -10 creatures enter play consecutively
Extreme Infantry Bonus! - 10 creatures enter play consecutively and you maintain a force size of 20+
Malignant Conqueror Bonus! -10 creatures enter play consecutively and you maintain a force size of 40+
this can only be triggered once per level per match.
next bonus is given for having alot of a specific type come into play under your control during a match, this bonus only triggers once per match.
the levels are:
Toy Collector!
Beast Tamer!
Vampire King!
Lord of Swarms!
Master of Elements!
Zombie Apocalypse!
Sword And Shield!
Medic!
The Promenade!
Heavenly Host!
Teeth And Scales!
its pretty easy to figure out what each requires to trigger, teeth and scales for example is dragons, wurms, drakes, and snakes.
the final bonus is deal 100 damage from a single source in a single damage event, this one triggers only once per match.
============================================================
fixed the following bugs::::
regenerate was not working for non-creature regeneration ie:welding jar
ai would sometime get stuck in a infinate loop tho extremely rarely while deciding what to do, the cause
if (clickstream.empty())
computeActions();
is NOT enough...ai should NEVER be computing actions (finding a card or ability to play) when it is NOT the active player..meaning, it does not have priority.
g->currentlyActing() is the player that has priority.
if (clickstream.empty() && g->currentlyActing() == this)...loop fixed :)
dynamicability had a couple weird results, from sources which dont have an amount to return, i now check this and if non, the amount is 0.
transformer will no longer add the same types a card already has..
removed an unneeded
if (!activated) ....oris bug seems to be corrected with this change.
wrapped limitsperturn checks in a conditional to skip it if there is no limit string.
added safer method to get the target of the combat trigger. the previous could potentially cause a crash if you interrupted the ability while the combat trigger was on the stack, it would do a call to "getnextopponent" and return a null pointer. i now send the opponent with the event.
fixed a crash that would happen when a card did not have a type= line. having a type or subtype line is now optional. and highly recommended to avoid using "type=nothing"
moved a function call in buyback isreactingtoclick so that it checks if its in the hand before parsing the restrictions for it.
removed allowedtocast function calls from the alternative payment types, they are only supposed to check allowedtocast if it is something like "buyback" and kicker...not "you may pay this instead"....
corrected an issue with type: variable where it would add the amount depending on the activeplayer. to correct i added a method to call TargetZoneChooser::targetsZone( with a mSource...so that you can set the source card for the scan.
note: all test pass.
|
||
|
|
57c9c8a3b1 | Fix a number of NULL/0 errors. | ||
|
|
3f090c7be8 |
added basic suspend.
syntax
suspend(number of time counter)={cost}
suspend(3)={g}
|
||
|
|
73b2d5ded8 |
removed redundant code for card loading. getCardByName already loads by Id and caches the result
duplicating that code in MTGDeck is redundant. |
||
|
|
f4d1154cd6 | reverted latest change | ||
|
|
d9efb408e5 |
* optimized card loading. There was some redundant code that wasn't necessary.
* getCardByName seemed to have a initialization error if you tried to use it before the entire game loaded. The cache would throw an exception if you tried to use find and it was empty. I put a guard around it to avoid this issue. * refactored Zeth's "toggledifficuly" feature to be stored in meta data. http://code.google.com/p/wagic/source/detail?r=3106 -- This is slightly modified as it forces a 1 for 1 swap of cards that are specified. from the example given this is how it seemed to be used anyways. -- since all the information is stored in the meta data, there's no need to alter the deck's definition. |
||
|
|
76653b6f54 |
going to go ahead and commit this now as updating the ai decks to use this tool is going to be a huge task...i originally wanted to commit this when i had a substantial amount of ai decks using it, to show case how it makes a huge difference.
it is a feature that is for ai deck building what it will do is as follows #NAME:sample deck #DESC:The forces of fire and nature unite. #DESC: #DESC:Can you withstand #DESC:their combined fervor? toggledifficulty:lotus petal|black lotus (*) * 4 grizzly bear (*) * 4 someCard (8) *4 notice the toggle dificulty? syntax is ....toggledifficulty:easy card name or number|hard card (optional set if both belong to same set otheriwse use * ) *howmany toggledifficulty:frying pan|machine gun toggledifficulty:tomatoe|pumpkin (MBS) * 3 toggledifficulty:tomatoe|squash grizzly bear (*) * 4 the above exsample as easy will have a deck with: frying pan 4X tomatoe 4X grizzly bear and on hard it will have: machine gun 3x pumpkin squash 4X grizzly bears the entire deck can be built with toggledifficulty cards....its not limited to just a single use. you can also mix it up, some can be toggledifficulty some can be just like normal, you are not limited to having to have a complete deck of toggled cards... if your currently selected deck has an over all win ratio of 65% or higher...this deck will have 4 black lotuses in it...if youre overall win with the current deck you are playing is below 65% then those 4 black lotuses are replaced by 4 lotus petals instead...effectively making it an easier ai deck... note, the 2 cards used are exsamples...its a great way to show you the potential this change can have...an ai deck with 4 black lotuses will do WAY better then the same deck with 4 lotus petal...if you catch my drift... |
||
|
|
93c63cef3d |
reimplemented mana color display for deck selection. This is now totally controlled by
stats generation. No data needs to be written to the deck master files themselves. Now the mana colors will only show if you have battled with a particular deck at least once. This is not retroactive, so you will need to battle the ai again. This can not be edited manually either to prevent tampering with the statistical data. Player deck mana color display is also covered this way. Decks will still be saved in the new layout if a disk write is necessary. So any changes via the deck editor will result in a deck file rewrite is was always the case.:) |
||
|
|
b7b584113b |
- Moved the card collection out of the GameApp class to clean up the dependencies
- Added method to build a card collection independently of the GUI to ease my unitary test application - Added part of some network GUI I'm working on, it's #ifdef out, I'm only committing this part to ease later merges - Added the beginning of a serialization code of the Player and related classes used for network support - various other minor cleanup |
||
|
|
f6bef26243 |
Erwan
- added some cache for function getCardByName. On my machine, this divides the running time of the test suite by almost 2 (now runs in 12 minutes instead of 21) |
||
|
|
767983631a |
* moved deck saving to end of match. It now only saves when you've actually completed a game.
* added additional meta data for decks when saving them back to file.
- decks saved this way now are split into three regions: creatures, spells and lands. It's more for a visual sorting if a
player wanted to look at the deck outside of the game. It does not impact the deck loading negatively at all. It may
increase performance in cases where the deck was previously defined using the canonical names of the cards as the numeric ids
reduce the work done when looking up the cards by name.
* modified ManaCost toString method.
* added toString method for ManaCostHybrid ( possibly make ManaCostHybrid a subclass of ManaCost)
* added additional operator overloading for ManaCost for printing to cover ManaCost when it's a pointer as well as a copy
( TODO: might want to check if making usage of ManaCost as a copy as opposed to a ptr is really necessary in most cases. )
* added alternate version of "trim" to handle trimming temporary strings as returned by things like ostringstream.str().
- This was necessary since the PSP compiler doesn't do the necessary adjustments for those types of calls.
|
||
|
|
8af5870d48 |
* Added new options parameter. "SaveDetailedDeckInfo". This will force the system to save all
deck files in long format. This is not configurable from the game. It must be set manually
inside options.txt.
ie. saveDetailedDeckInfo=1
* added extra debug information (line number inside text file) when card parser fails to recognize a line.
- modified return value from "processConfLine()" to return 0 only when a true error occurs and print out
"MTGDeck: Bad Line:
[<line no>]: <line with error>"
- processConfLine will now return 1 for lines starting with "#". Previously it returned 0 which is incorrect
as comments should not be considered as errors.
* removed DeckMetaDataList class from code. This was duplicating the DeckMetaData storage in DeckManager
* new feature for deck selection screens.
- player decks will now have an indication of what mana color it consists of.
- Ai decks will show symbols once the player has played against the AI deck at least once.
-- This is made possible with a new meta data inside each deck file.
MANA:<string representing color switches - 0/1 >
|
||
|
|
32cabc15c2 | Forcing LF as the line ending style through SVN properties. No actual code changes here. | ||
|
|
beec00c254 |
2 changes, first fixed the bug where auras were causing the cards to slide to the right, auras always have targets, so i added a conditional to guiplay to ignore adding it to the horizontal shift as these auras should never be just laying in the battlefield with no target.
2nd, started laying some ground work for planeswalkers. added the planeswalker rule, as per mtg rules, if you have a type=planeswalker subtype=jace already on the battlefield, both are sent to the graveyard. so you can not have a jace mind scuptor and a jace beleren out at the same time. i choose to use subtype= and type= rather then adding another variable to MTGCard... also, added GuiPlay positioning for planeswalker, i think theres been a HUGE misunderstanding about planeswalkers which has most going "battlefield is too crowded where would be put them...easy...slap them at the end of the lands ..done...theyre not creatures or artifacts/enchantments..so i moved them to the colum with the lands and have guiplay slap them at the end of that colum...btw this is in no means final...if someone can think of a better solution be my guest, but looking at the planeswalker (workaround) thread, its pretty obvious that no one will care where we slap the planeswalkers, as long as theyre supported. planeswalkers have alot more ground to cover... |
||
|
|
07802134e8 | more fixes from the review... | ||
|
|
473abd9814 |
im forced to do this commit in whole instead of parts as originally planned, and before my beta test period of the changes is complete BECAUSE there are people doing "clean up" and the MASSIVE amount of conflicts i have to resolve from it is WAY too much for me to take on after nearly 200 hours of coding this patch. i cant seem to get enough respect to have people hold off on "clean up" so this brings me to being forced to do a full commit before playtest period is done, so they can go ahead with there *super important* clean up.
ok i WAS going to write a full change log with code exsamples ect, but since im rushed you will get the short version of this log.
first bug fixes, and there were many,
indestructible creature bug fixed
halimar execavator *embearessing youtube video" bug is fixed
token text now displays source name and tokens abilities
fixed a card view null pointer in an iterator when code used combinations of foreach and aslongas with CD.
epic struggle bug fixed, aslongas was only parsing one space to the right of the operator.
extra cost containing targetting fixed, cards can now have multiple extra cost in all mana...this includes giving a card 2 targeted sacrifices as its main cost.
angelic chorus bug fixed, the card will be soft coded now.
and many other minor bugs fixed, hard to remember all which were fixed.
now, new abilities = words
"legendarylandwalk",
"desertlandwalk",
"snowforestlandwalk",
"snowplainslandwalk",
"snowmountainlandwalk",
"snowislandlandwalk",
"snowswamplandwalk",
"snowlandwalk",
"nonbasiclandwalk",
"strong",//cant be blocked by creature with less power
"weak",//cant block creatures with more power
"phasing",
all true landwalks will now be supported.
new cost types:
morph which is coded as follows
[card]
name=Bloodstoke Howler
facedown={3}
autofacedown={6}{R}:morph
autofaceup=3/0 all(beast|mybattlefield))
text=Morph {6}{R} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- When Bloodstoke Howler is turned
face up, Beast creatures you control get +3/+0 until end of turn.
mana={5}{R}
type=Creature
subtype=Beast
power=3
toughness=4
[/card]
you will notice new auto lines autofaceup and autofacedown
these are abilities the cards will have when theyre in that state.
the cost is coded as
facedown={cost}
when a card is faced up it gains auto= lines also.
tho is played normally it will NOT gain autofaceup=lines
card restrictions:
cards can now have restrictions placed on them the restrictions are.
all previous restrictions usable in activated abilities
with the follow additions
control two or more vampires
control less creatures
control snow land
casted a spell
one of a kind
fourth turn
before battle damage
after battle
during battle
[card]
name=Blood Frenzy
target=creature[attacking;blocking]
restriction=before battle damage
auto=4/0
auto=treason
text=Cast Blood Frenzy only before the combat damage step. -- Target attacking or blocking creature gets +4/+0 until end of turn. Destroy that creature
at the beginning of the next end step.
mana={1}{R}
type=Instant
[/card]
other cost now can have specail restrictions also:
otherrestriction=mytypemin:1 type(swamp),opponenttypemin:1 opponenttype(plains)
these are minimums required inplay of a type
it can be just you, or you and opponent or just opponent
you can also use the words "more" and "less" and * to compare the 2 players fields.
[card]
name=Cho-Arrim Legate
abilities=protection from black
other={0}
otherrestriction=mytypemin:1 type(swamp) , opponenttypemin:1 opponenttype(plains)
text=Protection from black -- If an opponent controls a Swamp and you control a Plains, you may cast Cho-Arrim Legate without paying its mana cost.
mana={2}{W}
type=Creature
subtype=Human Soldier
power=1
toughness=2
[/card]
activated ability gained a new restriction "opponentturnonly"
variables will now be recalculated during the resolve of the major abilities to produce the most current number.
{x}:draw:x <----
new number variables words:
using draw as an exsample
draw:auras <--auras on a creature
draw:type:ally <---counts the allys in your field. self explanitory
draw:thatmuch <--mostly a triggered effects number.
when you take damage draw that much
draw:lifelost
draw:oplifelost
these return the value of the life lost that turn.
new TRIGGER restricitions
sourcenottap
sourceTap
foelostthree<--card cycle uses opponent lost life
foelosttwo<--same as above
once<--this trigger will only ever trigger one time and never again.
new card discriptor words
[multicolor]
[leveler]
[enchanted]
[blackandgreen]
[blackandwhite]
[redandblue]
[blueandgreen]
[redandwhite]
CD will now recalculate the number again on resolve
meaning {x}:target(CreatureTargetChooser[manacost <=x]) will work, with an added bonus {x}:target(CreatureTargetChooser[manacost <=any word variable])
new this(:
this(tapped)<--for strange case cards.
this(untapped)
this(auras)
new MTGAbility keywords
(blink)
(blink)forsrc <--stay blinked while source inplay
hand(blink <---adding hand to the front makes it target hand.
livingweapon
this is an extension of token, simple attach the words "livingweapon" to the front of token( and it will autoamtically token that and attach the card to it.
token( gained:
"targetcontroller" targetting.
"battleready" if put in the tokens abilities it will be a attacker and tapped as it is entering play.
phaseout <--self explanitory
spiritlink <--stacking lifelink style effect that benifits the OWNER of the card.
combatspiritlink same as above.
stacking flanking, requires 2 abilities unfortunately
[card]
name=Agility
target=creature
auto=teach(creature) flanker
auto=teach(creature) flanking
text=Enchant creature -- Enchanted creature gets +1/+1 and has flanking. (Whenever a creature without flanking blocks this creature, the blocking
creature gets -1/-1 until end of turn.)
mana={1}{R}
type=Enchantment
subtype=Aura
[/card]
removeallcounters(number/number,name)
removes all counters of the type from a card, can all be
"all"
vampire hexmage effect.
added new tools for transforms
,setpower=number
,settoughness=number
removetypes
morph
autofacedown={0}:morph
eradicate <---same as the card name.
cumulativeupcost[ <--self explanitory
upcostmulti[ <--an upcost that will resolve with a && ability
phaseaction[ phase name ] ability
an ability that will trigger on the stated phase name.
also support for phaseactionmulti[
new triggers added:
@vampired( <--sengir vampire effect
@targeted(
@lifeloss(
@lifed(
add a special ability builder called dynamicability
it acts alot like a choose your own adventure book
dynamicability<! variable 1, variable 2, variable 3,variable 4!> optional ability targetting the original target.
variable list 1:
this is the primary amount source
source
mytgt
myself
myfoe
variable list 2:
this is the variable we're after, or the amount
power
toughness
manacost
colors
age
charge
oneonecounters
thatmuch
variable list 3:
this is the main effect
strike
draw
lifeloss
lifegain
pumppow
pumptough
pumpboth
deplete
countersoneone
variable list 4:
how it will do this effect to.
itself
eachother
targetcontroller
targetopponent
tosrc
srccontroller
srcopponent
the best way to explain its usage is to look at cards coded with this ability. or experiment with combinations.
new gameoption
First turn player:player, opponent, random
who takes the first turn
added poisoned status, tho not complete since MBS hasnt spoiled enough cards to see where this variable will be used.
taught ai how to counter spell
improved ai, it will now cast instants during interupts and during your turn.
previously ai treated instant cards the same as it treated sorceries, which was not fair to the ai.
im sure there is some messed items, but the rev directly before this one had formatting in the code that created hundreds of conflicts with this one, so i had to dig this info out of red and green sections.
cards and test are coming soon, i ask PLEASE do not alter these new additions until the test are commited.
im commiting without the test because instead of allowing me to proceed with my beta test period, there are some that wish to rush me into a commit. if you do not like this commit revert it, i absolutely on no grounds give permission to recommit afterwards. and i will not recommit if a revert is called.
|
||
|
|
1be97b76f8 |
code cleanup. No code changes
- removed unused variables - added line breaks between methods (not everywhere just where i saw it while removing unused variables) |
||
|
|
2063e27681 |
Added a debug helper override class for ifstream - this normally washes out to std::ifstream. If #define TRACK_FILE_USAGE_STATS is enabled, it derives from ifstream, but additionally tracks each time we create an instance for a given file name & counts each hit in a map, and dump the statistics on shutdown. This is to help track how often we open up certain files, since i/o is costly on the psp.
Here's an sample run on my win box where I launched & ran the test suite once (note that for more interesting stats, forcing a low memory condition would be more interesting so that it'll thrash more): ------------------- File Usage Statistics ../../../wagic_res/graphics/simon.dat -- 1 ../../wagic_res/graphics/simon.dat -- 1 ../wagic_res/graphics/simon.dat -- 1 22222220.jpg -- 1 42187t.jpg -- 1 4514111t.jpg -- 1 4838511t.jpg -- 1 4838512t.jpg -- 1 51613t.jpg -- 1 89069t.jpg -- 1 Advisor.wav -- 1 Ally.wav -- 1 Angel Token.jpg -- 1 Angel.wav -- 1 Ape.wav -- 1 Archer.wav -- 1 Assassin.wav -- 1 Atog.wav -- 1 Aura.wav -- 1 Barbarian.wav -- 1 Basic.wav -- 1 Bat.wav -- 1 Bear.jpg -- 1 Beast Token.jpg -- 1 Berserker.wav -- 1 Bird.wav -- 1 Centaur.wav -- 1 Cleric.wav -- 1 Cockatrice.wav -- 1 Construct.wav -- 1 Crocodile.wav -- 1 Cyclops.wav -- 1 Dauthi.wav -- 1 Demon.wav -- 1 Dragon.jpg -- 1 Drake.wav -- 1 Druid.wav -- 1 Dryad.wav -- 1 Dwarf.wav -- 1 Efreet.wav -- 1 Elemental.wav -- 1 Elephant.wav -- 1 Elf.wav -- 1 Elk.wav -- 1 Equipment.wav -- 1 Forest.wav -- 1 Frog.wav -- 1 Fungus.wav -- 1 Giant.wav -- 1 Gnome.wav -- 1 Golem.wav -- 1 Horror.wav -- 1 Horse.wav -- 1 Hydra.wav -- 1 Illusion.wav -- 1 Insect Token.jpg -- 1 Insect.jpg -- 1 Insect.wav -- 1 Island.wav -- 1 Juggernaut.wav -- 1 Kithkin.wav -- 1 Kobold.wav -- 1 Kor.wav -- 1 Kraken.wav -- 1 Lair.wav -- 1 Land.wav -- 1 Leech.wav -- 1 Legendary.wav -- 1 Leviathan.wav -- 1 Lhurgoyf.wav -- 1 Lizard.wav -- 1 Masticore.wav -- 1 Mercenary.wav -- 1 Merfolk.wav -- 1 Metathran.wav -- 1 Minion.wav -- 1 Minotaur.wav -- 1 Monk.wav -- 1 Mountain.wav -- 1 Mutant.wav -- 1 Myr.wav -- 1 Nightmare.wav -- 1 Nothing.wav -- 1 Ogre.wav -- 1 Ooze.wav -- 1 Orc.wav -- 1 Orgg.wav -- 1 Ouphe.wav -- 1 Pirate.wav -- 1 Plains.wav -- 1 Plant.wav -- 1 Rat.wav -- 1 Rebel.wav -- 1 Res.txt -- 1 Res/../../../wagic_res/graphics/simon.dat -- 1 Res/../../wagic_res/graphics/simon.dat -- 1 Res/../wagic_res/graphics/simon.dat -- 1 Res//test/Amugaba.txt -- 1 Res//test/Auriok_Sunchaser_ASLONGAS_1.txt -- 1 Res//test/Auriok_Sunchaser_ASLONGAS_2.txt -- 1 Res//test/Call_to_Heel_1.txt -- 1 Res//test/Call_to_Heel_2.txt -- 1 Res//test/Covetous_Dragon_ASLONGAS_3.txt -- 1 Res//test/Covetous_Dragon_ASLONGAS_4.txt -- 1 Res//test/Glimmervoid_ASLONGAS&TRIGGER.txt -- 1 Res//test/Nevinyrrals_Disk.txt -- 1 Res//test/Nevinyrrals_Disk2.txt -- 1 Res//test/Nyxathid.txt -- 1 Res//test/OneDozenEyes.txt -- 1 Res//test/Zombie_Infestation.txt -- 1 Res//test/act_of_treason.txt -- 1 Res//test/aegis_of_the_meek.txt -- 1 Res//test/aether_flash.txt -- 1 Res//test/aether_mutation.txt -- 1 Res//test/afflict.txt -- 1 Res//test/akron_legionnaire.txt -- 1 Res//test/alabaster_dragon.txt -- 1 Res//test/alabaster_leech.txt -- 1 Res//test/alabaster_leech2.txt -- 1 Res//test/alluring_siren.txt -- 1 Res//test/anarchy.txt -- 1 Res//test/ancestors_chosen.txt -- 1 Res//test/angry_mob1.txt -- 1 Res//test/angry_mob2.txt -- 1 Res//test/angry_mob3.txt -- 1 Res//test/angry_mob4.txt -- 1 Res//test/angry_mob4b.txt -- 1 Res//test/angry_mob5.txt -- 1 Res//test/angry_mob7.txt -- 1 Res//test/animate_artifact.txt -- 1 Res//test/animate_artifact2.txt -- 1 Res//test/animate_dead.txt -- 1 Res//test/animate_dead2.txt -- 1 Res//test/animate_dead3.txt -- 1 Res//test/animated_legendaries1_i221.txt -- 1 Res//test/animated_legendaries2_i221.txt -- 1 Res//test/animated_legendaries3_i221.txt -- 1 Res//test/ankh_of_mishra.txt -- 1 Res//test/arcanis_the_omnipotent.txt -- 1 Res//test/arcanis_the_omnipotent2.txt -- 1 Res//test/arcbound.txt -- 1 Res//test/ardakar_wastes.txt -- 1 Res//test/ardent_soldier.txt -- 1 Res//test/argothian_enchantress.txt -- 1 Res//test/armadillo_cloak.txt -- 1 Res//test/ascendant_evincar.txt -- 1 Res//test/ascendant_evincar2.txt -- 1 Res//test/ascendant_evincar3.txt -- 1 Res//test/ashen_firebeast.txt -- 1 Res//test/ashen_firebeast2.txt -- 1 Res//test/aura_mutation.txt -- 1 Res//test/avarice_totem.txt -- 1 Res//test/aven_riftwatcher.txt -- 1 Res//test/aven_riftwatcher2.txt -- 1 Res//test/aysen_bureaucrats.txt -- 1 Res//test/balduvian_conjurer.txt -- 1 Res//test/baneslayer_angel.txt -- 1 Res//test/baneslayer_angel2.txt -- 1 Res//test/barbed_sliver.txt -- 1 Res//test/basal_sliver.txt -- 1 Res//test/beacon_of_creation.txt -- 1 Res//test/beacon_of_destruction.txt -- 1 Res//test/beacon_of_unrest.txt -- 1 Res//test/behemoth_sledge.txt -- 1 Res//test/behemoth_sledge2.txt -- 1 Res//test/behemoth_sledge3.txt -- 1 Res//test/behemoth_sledge4.txt -- 1 Res//test/behemoth_sledge5.txt -- 1 Res//test/belligerent_hatchling.txt -- 1 Res//test/benalish_knight.txt -- 1 Res//test/biorhythm.txt -- 1 Res//test/black_market.txt -- 1 Res//test/black_vise.txt -- 1 Res//test/blessed_wind.txt -- 1 Res//test/blessed_wine.txt -- 1 Res//test/blinking_spirit.txt -- 1 Res//test/blinkmoth_nexus.txt -- 1 Res//test/bloated_toad1.txt -- 1 Res//test/bloated_toad2.txt -- 1 Res//test/bloodfire_colossus.txt -- 1 Res//test/bloodhall_ooze.txt -- 1 Res//test/bloodscale_prowler.txt -- 1 Res//test/body_double.txt -- 1 Res//test/boggart_arsonists.txt -- 1 Res//test/borderland_behemoth.txt -- 1 Res//test/bottle_gnomes.txt -- 1 Res//test/bottle_gnomes2.txt -- 1 Res//test/brainstorm.txt -- 1 Res//test/bramblewood_paragon.txt -- 1 Res//test/brass_man.txt -- 1 Res//test/brass_man_i161.txt -- 1 Res//test/briarhorn.txt -- 1 Res//test/cage_of_hands.txt -- 1 Res//test/castle.txt -- 1 Res//test/cathodion.txt -- 1 Res//test/celestial_purge.txt -- 1 Res//test/chainbreaker.txt -- 1 Res//test/circle_of_protection.txt -- 1 Res//test/circle_of_protection_i211.txt -- 1 Res//test/civic_wayfinder.txt -- 1 Res//test/clone.txt -- 1 Res//test/clone2.txt -- 1 Res//test/clone3.txt -- 1 Res//test/cockatrice.txt -- 1 Res//test/cockatrice_i228.txt -- 1 Res//test/colossus_of_sardia1.txt -- 1 Res//test/colossus_of_sardia2.txt -- 1 Res//test/composite_golem.txt -- 1 Res//test/conservator.txt -- 1 Res//test/control_magic.txt -- 1 Res//test/control_magic2.txt -- 1 Res//test/control_magic3.txt -- 1 Res//test/control_magic4.txt -- 1 Res//test/corrupt.txt -- 1 Res//test/counsel_of_the_soratami.txt -- 1 Res//test/counterspell.txt -- 1 Res//test/counterspell2.txt -- 1 Res//test/counterspell3.txt -- 1 Res//test/counterspell4.txt -- 1 Res//test/cranial_plating.txt -- 1 Res//test/creature_bond.txt -- 1 Res//test/crimson_kobolds.txt -- 1 Res//test/crosis_s_catacombs_1.txt -- 1 Res//test/crosis_s_catacombs_2.txt -- 1 Res//test/crumble.txt -- 1 Res//test/crystal_rod_i172.txt -- 1 Res//test/curiosity1_i217.txt -- 1 Res//test/curiosity2_i217.txt -- 1 Res//test/dark_banishing.txt -- 1 Res//test/dauntless_escort.txt -- 1 Res//test/dauthi_embrace.txt -- 1 Res//test/death_grasp.txt -- 1 Res//test/death_ward.txt -- 1 Res//test/decree_of_justice.txt -- 1 Res//test/deja_vu.txt -- 1 Res//test/delusions_of_mediocrity.txt -- 1 Res//test/dematerialize_flashback.txt -- 1 Res//test/dingus_egg.txt -- 1 Res//test/dingus_staff_i153.txt -- 1 Res//test/divergent_growth.txt -- 1 Res//test/doomed_necromancer.txt -- 1 Res//test/double_strike2_i145.txt -- 1 Res//test/double_strike_i145.txt -- 1 Res//test/dragon_broodmother_i491.txt -- 1 Res//test/dragon_fodder.txt -- 1 Res//test/dragon_fodder2.txt -- 1 Res//test/dragon_whelp_i154.txt -- 1 Res//test/drain_life.txt -- 1 Res//test/dream_fracture_i142.txt -- 1 Res//test/drift_of_the_dead.txt -- 1 Res//test/dromad_purebred.txt -- 1 Res//test/dross_golem.txt -- 1 Res//test/dross_harvester.txt -- 1 Res//test/duskwalker.txt -- 1 Res//test/dust_corona.txt -- 1 Res//test/dwarven_warriors.txt -- 1 Res//test/ebony_horse.txt -- 1 Res//test/ekundu_cyclops1_i218.txt -- 1 Res//test/ekundu_cyclops2_i218.txt -- 1 Res//test/elvish_piper.txt -- 1 Res//test/elvish_promenade.txt -- 1 Res//test/emblem_of_the_warmind.txt -- 1 Res//test/enchanted evening.txt -- 1 Res//test/enchantress_s_presence.txt -- 1 Res//test/enervate.txt -- 1 Res//test/erg_raiders_i157.txt -- 1 Res//test/explore.txt -- 1 Res//test/fangren_pathcutter.txt -- 1 Res//test/farhaven_elf.txt -- 1 Res//test/farmstead.txt -- 1 Res//test/fastbond.txt -- 1 Res//test/fastbond2.txt -- 1 Res//test/fault_line.txt -- 1 Res//test/feral_hydra.txt -- 1 Res//test/fieldmist_borderpost.txt -- 1 Res//test/fire_tempest.txt -- 1 Res//test/firebreathing.txt -- 1 Res//test/fists_of_ironwood.txt -- 1 Res//test/flagstones.txt -- 1 Res//test/flame_fusillade_i265.txt -- 1 Res//test/flare.txt -- 1 Res//test/fledgling_imp.txt -- 1 Res//test/fledgling_imp2.txt -- 1 Res//test/fleshformer.txt -- 1 Res//test/flowstone_hellion.txt -- 1 Res//test/flowstone_slide.txt -- 1 Res//test/fog.txt -- 1 Res//test/fog_bank.txt -- 1 Res//test/foratog.txt -- 1 Res//test/force_of_nature.txt -- 1 Res//test/force_of_nature2.txt -- 1 Res//test/force_of_nature3.txt -- 1 Res//test/fountain_of_youth.txt -- 1 Res//test/frogmite.txt -- 1 Res//test/fungus_sliver.txt -- 1 Res//test/gamble.txt -- 1 Res//test/gelatinous_generation.txt -- 1 Res//test/gempalm_avenger.txt -- 1 Res//test/generic/attacks_each_turn.txt -- 1 Res//test/generic/becomes_transform_i559.txt -- 1 Res//test/generic/becomes_transform_i559_2.txt -- 1 Res//test/generic/bushido_1.txt -- 1 Res//test/generic/bushido_2.txt -- 1 Res//test/generic/cycling.txt -- 1 Res//test/generic/cycling2.txt -- 1 Res//test/generic/deathtouch.txt -- 1 Res//test/generic/doesnotuntap.txt -- 1 Res//test/generic/doesnotuntap2.txt -- 1 Res//test/generic/double_strike.txt -- 1 Res//test/generic/equip_landfall_buff.txt -- 1 Res//test/generic/equip_reach.txt -- 1 Res//test/generic/equip_shroud.txt -- 1 Res//test/generic/equip_shroud2.txt -- 1 Res//test/generic/equip_wither.txt -- 1 Res//test/generic/equipment_i252.txt -- 1 Res//test/generic/exalted.txt -- 1 Res//test/generic/exalted_i143.txt -- 1 Res//test/generic/exalted_i310.txt -- 1 Res//test/generic/fear.txt -- 1 Res//test/generic/fear_i147.txt -- 1 Res//test/generic/first_and_double_strike1_i187.txt -- 1 Res//test/generic/first_and_double_strike2_i187.txt -- 1 Res//test/generic/first_strike.txt -- 1 Res//test/generic/first_strike2.txt -- 1 Res//test/generic/first_strike3.txt -- 1 Res//test/generic/flanking.txt -- 1 Res//test/generic/fresh.txt -- 1 Res//test/generic/hybrid_mana.txt -- 1 Res//test/generic/hybrid_mana_2.txt -- 1 Res//test/generic/hybrid_mana_3.txt -- 1 Res//test/generic/indestructible.txt -- 1 Res//test/generic/kicker.txt -- 1 Res//test/generic/kicker2.txt -- 1 Res//test/generic/landwalk.txt -- 1 Res//test/generic/legendary.txt -- 1 Res//test/generic/level_up.txt -- 1 Res//test/generic/level_up2.txt -- 1 Res//test/generic/lifelink.txt -- 1 Res//test/generic/lord_counter.txt -- 1 Res//test/generic/lord_counter_any.txt -- 1 Res//test/generic/m10_blockers.txt -- 1 Res//test/generic/m10_blockers2.txt -- 1 Res//test/generic/must1.txt -- 1 Res//test/generic/must2.txt -- 1 Res//test/generic/nofizzle.txt -- 1 Res//test/generic/oneblocker.txt -- 1 Res//test/generic/persist.txt -- 1 Res//test/generic/persist2.txt -- 1 Res//test/generic/persist3.txt -- 1 Res//test/generic/phases.txt -- 1 Res//test/generic/preventalldamage.txt -- 1 Res//test/generic/rampage.txt -- 1 Res//test/generic/rampage2.txt -- 1 Res//test/generic/rampage3.txt -- 1 Res//test/generic/rampage_vs_first_strike.txt -- 1 Res//test/generic/regenerate.txt -- 1 Res//test/generic/regenerate_wither_i146.txt -- 1 Res//test/generic/sacrifice.txt -- 1 Res//test/generic/summoning_sickness.txt -- 1 Res//test/generic/sunburst.txt -- 1 Res//test/generic/tap_other_card_as_cost.txt -- 1 Res//test/generic/targetController_damage.txt -- 1 Res//test/generic/targetController_life.txt -- 1 Res//test/generic/targetController_life2.txt -- 1 Res//test/generic/thisforeach.txt -- 1 Res//test/generic/tokens.txt -- 1 Res//test/generic/tokens2.txt -- 1 Res//test/generic/trample.txt -- 1 Res//test/generic/trample_vs_indestructible.txt -- 1 Res//test/generic/trample_vs_multiblock.txt -- 1 Res//test/generic/triggers_at_movedto_i179.txt -- 1 Res//test/generic/triggers_attacking.txt -- 1 Res//test/generic/triggers_blocking.txt -- 1 Res//test/generic/triggers_combatdamaged_1.txt -- 1 Res//test/generic/triggers_combatdamaged_2.txt -- 1 Res//test/generic/triggers_drawn.txt -- 1 Res//test/generic/triggers_noncombatdamaged.txt -- 1 Res//test/generic/triggers_untapped.txt -- 1 Res//test/generic/wither.txt -- 1 Res//test/ghost_warden.txt -- 1 Res//test/giant_growth.txt -- 1 Res//test/giant_growth2.txt -- 1 Res//test/glen_elendra_archmage_i222.txt -- 1 Res//test/glimpse_the_unthinkable.txt -- 1 Res//test/gnarled_effigy.txt -- 1 Res//test/gnat_alley_creeper1.txt -- 1 Res//test/gnat_alley_creeper2.txt -- 1 Res//test/goblin_balloon_brigade.txt -- 1 Res//test/goblin_balloon_brigade2.txt -- 1 Res//test/goblin_gardener.txt -- 1 Res//test/goblin_king.txt -- 1 Res//test/goblin_lackey1.txt -- 1 Res//test/goblin_lackey2.txt -- 1 Res//test/goblin_lackey3.txt -- 1 Res//test/goblin_lackey4.txt -- 1 Res//test/goblin_offensive.txt -- 1 Res//test/goblin_razerunners.txt -- 1 Res//test/golgari_germination_i153.txt -- 1 Res//test/gravedigger.txt -- 1 Res//test/gravity_well.txt -- 1 Res//test/gravity_well2.txt -- 1 Res//test/great_defender.txt -- 1 Res//test/hannas_custody.txt -- 1 Res//test/harpoon_sniper.txt -- 1 Res//test/hellfire.txt -- 1 Res//test/helm_of_kaldra1.txt -- 1 Res//test/holy_day_i226.txt -- 1 Res//test/hope_charm_i267.txt -- 1 Res//test/hopping_automaton_i232.txt -- 1 Res//test/horned_helm.txt -- 1 Res//test/howl_from_beyond.txt -- 1 Res//test/howl_of_the_night_pack.txt -- 1 Res//test/hunted_dragon.txt -- 1 Res//test/hunting_pack.txt -- 1 Res//test/hurricane.txt -- 1 Res//test/hyalopterous_lemure.txt -- 1 Res//test/hymn_of_rebirth.txt -- 1 Res//test/hypnotic_specter.txt -- 1 Res//test/icatian_priest.txt -- 1 Res//test/imaginary_pet.txt -- 1 Res//test/immaculate_magistrate.txt -- 1 Res//test/incinerate.txt -- 1 Res//test/instill_energy_i166.txt -- 1 Res//test/iron_will_i270.txt -- 1 Res//test/ivy_elemental.txt -- 1 Res//test/jodahs_avenger.txt -- 1 Res//test/juggernaut.txt -- 1 Res//test/jump.txt -- 1 Res//test/juniper_order_ranger.txt -- 1 Res//test/karns_touch_i233.txt -- 1 Res//test/keldon_warlord.txt -- 1 Res//test/keldon_warlord2.txt -- 1 Res//test/khalni_hydra.txt -- 1 Res//test/kird_ape.txt -- 1 Res//test/kjeldoran_frostbeast1.txt -- 1 Res//test/kjeldoran_frostbeast2_i167.txt -- 1 Res//test/knight_captain_of_eos_i294.txt -- 1 Res//test/knight_captain_of_eos_i294_2.txt -- 1 Res//test/kormus_bell_i301.txt -- 1 Res//test/kraken_eye.txt -- 1 Res//test/kraken_eye2.txt -- 1 Res//test/kraken_eye3.txt -- 1 Res//test/kraken_eye4.txt -- 1 Res//test/krosan_beast.txt -- 1 Res//test/krosan_beast2.txt -- 1 Res//test/kudzu.txt -- 1 Res//test/kudzu2.txt -- 1 Res//test/kudzu_i168.txt -- 1 Res//test/leveler.txt -- 1 Res//test/lhurgoyf.txt -- 1 Res//test/liability.txt -- 1 Res//test/lifeforce.txt -- 1 Res//test/lifetap.txt -- 1 Res//test/lightmine_field1.txt -- 1 Res//test/lightmine_field2.txt -- 1 Res//test/living_artifact_i169.txt -- 1 Res//test/living_lands.txt -- 1 Res//test/lord_of_the_pit.txt -- 1 Res//test/lord_of_the_pit2.txt -- 1 Res//test/magma_spray.txt -- 1 Res//test/martial_coup.txt -- 1 Res//test/martial_coup2.txt -- 1 Res//test/master_decoy.txt -- 1 Res//test/master_of_etherium.txt -- 1 Res//test/masticore.txt -- 1 Res//test/masticore2.txt -- 1 Res//test/maze_of_ith.txt -- 1 Res//test/meekstone.txt -- 1 Res//test/memnarch.txt -- 1 Res//test/memory_erosion.txt -- 1 Res//test/mephidross_vampire.txt -- 1 Res//test/millstone.txt -- 1 Res//test/mirri_the_cursed.txt -- 1 Res//test/mirri_the_cursed2_i284.txt -- 1 Res//test/misc01.txt -- 1 Res//test/moat.txt -- 1 Res//test/mobile_fort.txt -- 1 Res//test/momir/keldon_warlord.txt -- 1 Res//test/momir/overcost.txt -- 1 Res//test/momir/persist_i304.txt -- 1 Res//test/mortuary.txt -- 1 Res//test/nantuko_husk.txt -- 1 Res//test/natural_order.txt -- 1 Res//test/necrogenesis.txt -- 1 Res//test/nightmare.txt -- 1 Res//test/northern_paladin.txt -- 1 Res//test/northern_paladin2.txt -- 1 Res//test/ondu_cleric.txt -- 1 Res//test/orcish_artillery.txt -- 1 Res//test/orcish_lumberjack.txt -- 1 Res//test/overrun.txt -- 1 Res//test/paradise_mantle.txt -- 1 Res//test/paralysis.txt -- 1 Res//test/paralysis2.txt -- 1 Res//test/persuasion.txt -- 1 Res//test/phytohydra.txt -- 1 Res//test/plague_rats.txt -- 1 Res//test/plumes_of_peace_i260.txt -- 1 Res//test/pouncing_jaguar_i425.txt -- 1 Res//test/promise_of_bunrei_i305.txt -- 1 Res//test/prosperity.txt -- 1 Res//test/protomatter_powder.txt -- 1 Res//test/prowess_of_the_fair.txt -- 1 Res//test/prowess_of_the_fair2.txt -- 1 Res//test/prowess_of_the_fair3.txt -- 1 Res//test/pygmy_troll.txt -- 1 Res//test/pyknite_i426.txt -- 1 Res//test/pyroclasm.txt -- 1 Res//test/quilled_sliver.txt -- 1 Res//test/rain_of_filth_i206.txt -- 1 Res//test/rain_of_filth_i283.txt -- 1 Res//test/rampant_growth.txt -- 1 Res//test/rancid_earth_with_threshold.txt -- 1 Res//test/rancid_earth_without_threshold.txt -- 1 Res//test/rancor.txt -- 1 Res//test/ray_of_command.txt -- 1 Res//test/ray_of_command_i176.txt -- 1 Res//test/razor_golem.txt -- 1 Res//test/reclusive_wight.txt -- 1 Res//test/reclusive_wight2.txt -- 1 Res//test/recover.txt -- 1 Res//test/regal_force.txt -- 1 Res//test/reinforcements_1.txt -- 1 Res//test/resounding_roar.txt -- 1 Res//test/resurrection.txt -- 1 Res//test/resuscitate_i210.txt -- 1 Res//test/righteous_cause.txt -- 1 Res//test/river_kelpie2_i335.txt -- 1 Res//test/rockslide_elemental.txt -- 1 Res//test/rootwalla.txt -- 1 Res//test/royal_assassin.txt -- 1 Res//test/sacred_foundry_i275.txt -- 1 Res//test/safe_passage.txt -- 1 Res//test/safehold_duo.txt -- 1 Res//test/samite_healer.txt -- 1 Res//test/scourge_of_kher_ridges.txt -- 1 Res//test/scourge_of_kher_ridges2.txt -- 1 Res//test/scourglass.txt -- 1 Res//test/scouts_warning.txt -- 1 Res//test/scute_mob.txt -- 1 Res//test/sedge_sliver.txt -- 1 Res//test/seedcradle_witch.txt -- 1 Res//test/seismic_assault.txt -- 1 Res//test/seismic_spike_i191.txt -- 1 Res//test/selesnya_guildmage.txt -- 1 Res//test/shard_volley.txt -- 1 Res//test/shepherd_of_rot.txt -- 1 Res//test/shivan_hellkite.txt -- 1 Res//test/shock.txt -- 1 Res//test/shock2.txt -- 1 Res//test/siege_gang_commander.txt -- 1 Res//test/sigil_captain_i467.txt -- 1 Res//test/silver_seraph_i300.txt -- 1 Res//test/simic_initiate.txt -- 1 Res//test/skullcage0_i239.txt -- 1 Res//test/skullcage1_i239.txt -- 1 Res//test/skullcage2_i239.txt -- 1 Res//test/skullcage3_i239.txt -- 1 Res//test/skullcage4_i239.txt -- 1 Res//test/skullcage5_i239.txt -- 1 Res//test/skullcage6_i239.txt -- 1 Res//test/skullcage7_i239.txt -- 1 Res//test/skullclamp.txt -- 1 Res//test/skullclamp2_i439.txt -- 1 Res//test/slate_of_ancestry.txt -- 1 Res//test/sleeper_agent.txt -- 1 Res//test/slith_bloodletter.txt -- 1 Res//test/sneak_attack.txt -- 1 Res//test/soulblast.txt -- 1 Res//test/souls_attendant_i489.txt -- 1 Res//test/spark_elemental.txt -- 1 Res//test/sphinx_summoner.txt -- 1 Res//test/spirit_link.txt -- 1 Res//test/spitting_earth.txt -- 1 Res//test/spoils_of_evil.txt -- 1 Res//test/spore_frog.txt -- 1 Res//test/stasis.txt -- 1 Res//test/steelclad_serpent1.txt -- 1 Res//test/steelclad_serpent2.txt -- 1 Res//test/stillmoon_cavalier.txt -- 1 Res//test/stonebrow2.txt -- 1 Res//test/stonebrow_i159.txt -- 1 Res//test/stronghold_discipline.txt -- 1 Res//test/sword_to_plowshares.txt -- 1 Res//test/sylvan_scrying_i195.txt -- 1 Res//test/symbiotic_wurm.txt -- 1 Res//test/tangle_golem.txt -- 1 Res//test/tanglesap.txt -- 1 Res//test/telekinetic_sliver.txt -- 1 Res//test/terror.txt -- 1 Res//test/terror2.txt -- 1 Res//test/thallid.txt -- 1 Res//test/thellon_of_havenwood.txt -- 1 Res//test/threaten.txt -- 1 Res//test/throne_of_bone.txt -- 1 Res//test/thunder-thrash_elder.txt -- 1 Res//test/titanic_ultimatum.txt -- 1 Res//test/tolsimir_wolfblood.txt -- 1 Res//test/torture.txt -- 1 Res//test/tranquil_domain.txt -- 1 Res//test/twinstrike.txt -- 1 Res//test/twinstrike2.txt -- 1 Res//test/twinstrike3.txt -- 1 Res//test/twitch.txt -- 1 Res//test/uncle_istvan.txt -- 1 Res//test/undermine_i408.txt -- 1 Res//test/underworld_dreams.txt -- 1 Res//test/unearth1.txt -- 1 Res//test/unearth2.txt -- 1 Res//test/unearth3.txt -- 1 Res//test/unstable_mutation.txt -- 1 Res//test/unstable_mutation2.txt -- 1 Res//test/unwilling_recruit.txt -- 1 Res//test/urzas_lands.txt -- 1 Res//test/urzas_lands2.txt -- 1 Res//test/urzas_mine_i287.txt -- 1 Res//test/vampire_bats.txt -- 1 Res//test/vampiric_link.txt -- 1 Res//test/vine_dryad.txt -- 1 Res//test/volcanic_eruption.txt -- 1 Res//test/walking_wall.txt -- 1 Res//test/wall_of_diffusion.txt -- 1 Res//test/wall_of_diffusion2.txt -- 1 Res//test/warren_instigator.txt -- 1 Res//test/welkin_hawk.txt -- 1 Res//test/whispers_of_the_muse.txt -- 1 Res//test/white_knight1.txt -- 1 Res//test/windswept_heath.txt -- 1 Res//test/wrath_of_god.txt -- 1 Res//test/wrath_of_god2.txt -- 1 Res//test/wreak_havoc.txt -- 1 Res//test/zombie_master.txt -- 1 Res//test/zombify.txt -- 1 Res/22222220.jpg -- 1 Res/42187t.jpg -- 1 Res/4514111t.jpg -- 1 Res/4838511t.jpg -- 1 Res/4838512t.jpg -- 1 Res/51613t.jpg -- 1 Res/89069t.jpg -- 1 Res/Advisor.wav -- 1 Res/Ally.wav -- 1 Res/Angel Token.jpg -- 1 Res/Angel.wav -- 1 Res/Ape.wav -- 1 Res/Archer.wav -- 1 Res/Assassin.wav -- 1 Res/Atog.wav -- 1 Res/Aura.wav -- 1 Res/Barbarian.wav -- 1 Res/Basic.wav -- 1 Res/Bat.wav -- 1 Res/Bear.jpg -- 1 Res/Beast Token.jpg -- 1 Res/Berserker.wav -- 1 Res/Bird.wav -- 1 Res/Centaur.wav -- 1 Res/Cleric.wav -- 1 Res/Cockatrice.wav -- 1 Res/Construct.wav -- 1 Res/Crocodile.wav -- 1 Res/Cyclops.wav -- 1 Res/Dauthi.wav -- 1 Res/Demon.wav -- 1 Res/Dragon.jpg -- 1 Res/Drake.wav -- 1 Res/Druid.wav -- 1 Res/Dryad.wav -- 1 Res/Dwarf.wav -- 1 Res/Efreet.wav -- 1 Res/Elemental.wav -- 1 Res/Elephant.wav -- 1 Res/Elf.wav -- 1 Res/Elk.wav -- 1 Res/Equipment.wav -- 1 Res/Forest.wav -- 1 Res/Frog.wav -- 1 Res/Fungus.wav -- 1 Res/Giant.wav -- 1 Res/Gnome.wav -- 1 Res/Golem.wav -- 1 Res/Horror.wav -- 1 Res/Horse.wav -- 1 Res/Hydra.wav -- 1 Res/Illusion.wav -- 1 Res/Insect Token.jpg -- 1 Res/Insect.jpg -- 1 Res/Insect.wav -- 1 Res/Island.wav -- 1 Res/Juggernaut.wav -- 1 Res/Kithkin.wav -- 1 Res/Kobold.wav -- 1 Res/Kor.wav -- 1 Res/Kraken.wav -- 1 Res/Lair.wav -- 1 Res/Land.wav -- 1 Res/Leech.wav -- 1 Res/Legendary.wav -- 1 Res/Leviathan.wav -- 1 Res/Lhurgoyf.wav -- 1 Res/Lizard.wav -- 1 Res/Masticore.wav -- 1 Res/Mercenary.wav -- 1 Res/Merfolk.wav -- 1 Res/Metathran.wav -- 1 Res/Minion.wav -- 1 Res/Minotaur.wav -- 1 Res/Monk.wav -- 1 Res/Mountain.wav -- 1 Res/Mutant.wav -- 1 Res/Myr.wav -- 1 Res/Nightmare.wav -- 1 Res/Nothing.wav -- 1 Res/Ogre.wav -- 1 Res/Ooze.wav -- 1 Res/Orc.wav -- 1 Res/Orgg.wav -- 1 Res/Ouphe.wav -- 1 Res/Pirate.wav -- 1 Res/Plains.wav -- 1 Res/Plant.wav -- 1 Res/Rat.wav -- 1 Res/Rebel.wav -- 1 Res/Res/ai/baka/deck107.txt -- 1 Res/Rhino.wav -- 1 Res/Rogue.wav -- 1 Res/Samurai.wav -- 1 Res/Saproling.jpg -- 1 Res/Saproling.wav -- 1 Res/Scarecrow.wav -- 1 Res/Scout.wav -- 1 Res/Serpent.wav -- 1 Res/Shade.wav -- 1 Res/Shaman.wav -- 1 Res/Shapeshifter.wav -- 1 Res/Siren.wav -- 1 Res/Skeleton.wav -- 1 Res/Slith.wav -- 1 Res/Sliver.wav -- 1 Res/Snake.wav -- 1 Res/Snow.wav -- 1 Res/Soldier.wav -- 1 Res/Specter.wav -- 1 Res/Sphinx.wav -- 1 Res/Spider.wav -- 1 Res/Spirit.wav -- 1 Res/Swamp.wav -- 1 Res/Thopter.wav -- 1 Res/Treefolk.wav -- 1 Res/Vedalken.wav -- 1 Res/Viashino.wav -- 1 Res/Wall.wav -- 1 Res/Warrior.wav -- 1 Res/Wizard.wav -- 1 Res/Wolf.wav -- 1 Res/Wraith.wav -- 1 Res/affinitygreencreatures.wav -- 1 Res/ai/baka/avatars/baka.jpg -- 521 Res/ai/baka/deck1.txt -- 2 Res/ai/baka/deck10.txt -- 2 Res/ai/baka/deck100.txt -- 2 Res/ai/baka/deck101.txt -- 2 Res/ai/baka/deck102.txt -- 2 Res/ai/baka/deck103.txt -- 2 Res/ai/baka/deck104.txt -- 2 Res/ai/baka/deck105.txt -- 2 Res/ai/baka/deck106.txt -- 2 Res/ai/baka/deck107.txt -- 1 Res/ai/baka/deck11.txt -- 2 Res/ai/baka/deck12.txt -- 2 Res/ai/baka/deck13.txt -- 2 Res/ai/baka/deck14.txt -- 2 Res/ai/baka/deck15.txt -- 2 Res/ai/baka/deck16.txt -- 2 Res/ai/baka/deck17.txt -- 2 Res/ai/baka/deck18.txt -- 2 Res/ai/baka/deck19.txt -- 2 Res/ai/baka/deck2.txt -- 2 Res/ai/baka/deck20.txt -- 2 Res/ai/baka/deck21.txt -- 2 Res/ai/baka/deck22.txt -- 2 Res/ai/baka/deck23.txt -- 2 Res/ai/baka/deck24.txt -- 2 Res/ai/baka/deck25.txt -- 2 Res/ai/baka/deck26.txt -- 2 Res/ai/baka/deck27.txt -- 2 Res/ai/baka/deck28.txt -- 2 Res/ai/baka/deck29.txt -- 2 Res/ai/baka/deck3.txt -- 2 Res/ai/baka/deck30.txt -- 2 Res/ai/baka/deck31.txt -- 2 Res/ai/baka/deck32.txt -- 2 Res/ai/baka/deck33.txt -- 2 Res/ai/baka/deck34.txt -- 2 Res/ai/baka/deck35.txt -- 2 Res/ai/baka/deck36.txt -- 2 Res/ai/baka/deck37.txt -- 2 Res/ai/baka/deck38.txt -- 2 Res/ai/baka/deck39.txt -- 2 Res/ai/baka/deck4.txt -- 2 Res/ai/baka/deck40.txt -- 2 Res/ai/baka/deck41.txt -- 2 Res/ai/baka/deck42.txt -- 2 Res/ai/baka/deck43.txt -- 2 Res/ai/baka/deck44.txt -- 2 Res/ai/baka/deck45.txt -- 2 Res/ai/baka/deck46.txt -- 2 Res/ai/baka/deck47.txt -- 2 Res/ai/baka/deck48.txt -- 2 Res/ai/baka/deck49.txt -- 2 Res/ai/baka/deck5.txt -- 2 Res/ai/baka/deck50.txt -- 2 Res/ai/baka/deck51.txt -- 2 Res/ai/baka/deck52.txt -- 2 Res/ai/baka/deck53.txt -- 2 Res/ai/baka/deck54.txt -- 2 Res/ai/baka/deck55.txt -- 2 Res/ai/baka/deck56.txt -- 2 Res/ai/baka/deck57.txt -- 2 Res/ai/baka/deck58.txt -- 2 Res/ai/baka/deck59.txt -- 2 Res/ai/baka/deck6.txt -- 2 Res/ai/baka/deck60.txt -- 2 Res/ai/baka/deck61.txt -- 2 Res/ai/baka/deck62.txt -- 2 Res/ai/baka/deck63.txt -- 2 Res/ai/baka/deck64.txt -- 2 Res/ai/baka/deck65.txt -- 2 Res/ai/baka/deck66.txt -- 2 Res/ai/baka/deck67.txt -- 2 Res/ai/baka/deck68.txt -- 2 Res/ai/baka/deck69.txt -- 2 Res/ai/baka/deck7.txt -- 2 Res/ai/baka/deck70.txt -- 2 Res/ai/baka/deck71.txt -- 2 Res/ai/baka/deck72.txt -- 2 Res/ai/baka/deck73.txt -- 2 Res/ai/baka/deck74.txt -- 2 Res/ai/baka/deck75.txt -- 2 Res/ai/baka/deck76.txt -- 2 Res/ai/baka/deck77.txt -- 2 Res/ai/baka/deck78.txt -- 2 Res/ai/baka/deck79.txt -- 2 Res/ai/baka/deck8.txt -- 2 Res/ai/baka/deck80.txt -- 2 Res/ai/baka/deck81.txt -- 2 Res/ai/baka/deck82.txt -- 2 Res/ai/baka/deck83.txt -- 2 Res/ai/baka/deck84.txt -- 2 Res/ai/baka/deck85.txt -- 2 Res/ai/baka/deck86.txt -- 2 Res/ai/baka/deck87.txt -- 2 Res/ai/baka/deck88.txt -- 2 Res/ai/baka/deck89.txt -- 2 Res/ai/baka/deck9.txt -- 2 Res/ai/baka/deck90.txt -- 2 Res/ai/baka/deck91.txt -- 2 Res/ai/baka/deck92.txt -- 2 Res/ai/baka/deck93.txt -- 2 Res/ai/baka/deck94.txt -- 2 Res/ai/baka/deck95.txt -- 2 Res/ai/baka/deck96.txt -- 2 Res/ai/baka/deck97.txt -- 2 Res/ai/baka/deck98.txt -- 2 Res/ai/baka/deck99.txt -- 2 Res/ai/baka/stats/testsuite.stats -- 1042 Res/defender.wav -- 1 Res/fear.wav -- 1 Res/first strike.wav -- 1 Res/flash.wav -- 1 Res/forestwalk.wav -- 1 Res/graphics/BattleIcon.png -- 1 Res/graphics/DefenderIcon.png -- 1 Res/graphics/Ok.png -- 521 Res/graphics/artifact_thumb.jpg -- 34 Res/graphics/black_thumb.jpg -- 1 Res/graphics/button_shoulder.png -- 2 Res/graphics/f3.png -- 1 Res/graphics/gold.png -- 1 Res/graphics/gold_thumb.jpg -- 1 Res/graphics/goldglow.png -- 1 Res/graphics/green.jpg -- 1 Res/graphics/green_thumb.jpg -- 5 Res/graphics/magic.png -- 1 Res/graphics/mana.psi -- 1 Res/graphics/manablack.psi -- 1 Res/graphics/manablue.psi -- 1 Res/graphics/managreen.psi -- 1 Res/graphics/manared.psi -- 1 Res/graphics/manawhite.psi -- 1 Res/graphics/menuicons.png -- 1 Res/graphics/menuside.png -- 1 Res/graphics/menutitle.png -- 2 Res/graphics/particle1.psi -- 1 Res/graphics/particle2.psi -- 1 Res/graphics/particle3.psi -- 1 Res/graphics/particle4.psi -- 1 Res/graphics/particle5.psi -- 1 Res/graphics/particles.png -- 1 Res/graphics/phasebar.png -- 1 Res/graphics/shadow.png -- 1 Res/graphics/simon.png -- 1 Res/graphics/smallface.png -- 1 Res/graphics/spade_ul.png -- 1 Res/graphics/spade_ur.png -- 1 Res/graphics/splash.jpg -- 2 Res/graphics/stars.psi -- 1 Res/graphics/style.txt -- 1 Res/graphics/wallpapers.txt -- 1 Res/graphics/wallpapers/final_saga2.jpg -- 1 Res/graphics/white_thumb.jpg -- 1 Res/haste.wav -- 1 Res/lang/dontcare.txt -- 2 Res/lang/en.txt -- 3 Res/lang/en_cards.txt -- 1 Res/lang/en_decks.txt -- 1 Res/lifelink.wav -- 1 Res/ms0:/PSP/wagic_res/graphics/simon.dat -- 1 Res/ms0:/wagic_res/graphics/simon.dat -- 1 Res/mustattack.wav -- 1 Res/nofizzle.wav -- 1 Res/none -- 1 Res/persist.wav -- 1 Res/player/baka.jpg -- 521 Res/player/collection.dat -- 4 Res/player/data.dat -- 2 Res/player/deck1.txt -- 2 Res/player/deck2.txt -- 2 Res/player/deck3.txt -- 2 Res/player/deck4.txt -- 2 Res/player/deck5.txt -- 2 Res/player/deck6.txt -- 2 Res/player/options.txt -- 2 Res/player/stats/player_deck1.txt -- 4 Res/player/stats/player_deck2.txt -- 4 Res/player/stats/player_deck3.txt -- 4 Res/player/stats/player_deck4.txt -- 4 Res/player/stats/player_deck5.txt -- 4 Res/player/stats/player_deck6.txt -- 4 Res/player/tasks.dat -- 2 Res/protection from black.wav -- 1 Res/protection from blue.wav -- 1 Res/protection from white.wav -- 1 Res/reach.wav -- 1 Res/reachshadow.wav -- 1 Res/rules/testsuite.txt -- 1 Res/sets//../_cards.dat -- 1 Res/sets//./_cards.dat -- 1 Res/sets//.svn/_cards.dat -- 1 Res/sets//10E/_cards.dat -- 2 Res/sets//1111114t.jpg -- 1 Res/sets//1924t.jpg -- 1 Res/sets//220579112.jpg -- 1 Res/sets//2ED/_cards.dat -- 2 Res/sets//483851111t.jpg -- 1 Res/sets//4ED/_cards.dat -- 2 Res/sets//5DN/_cards.dat -- 2 Res/sets//5ED/_cards.dat -- 2 Res/sets//6ED/_cards.dat -- 2 Res/sets//7ED/_cards.dat -- 2 Res/sets//8ED/_cards.dat -- 2 Res/sets//9ED/_cards.dat -- 2 Res/sets//ALA/_cards.dat -- 2 Res/sets//ALL/_cards.dat -- 2 Res/sets//APC/_cards.dat -- 2 Res/sets//ARB/_cards.dat -- 2 Res/sets//ARC/_cards.dat -- 2 Res/sets//ARN/_cards.dat -- 2 Res/sets//ATQ/_cards.dat -- 2 Res/sets//BOK/_cards.dat -- 2 Res/sets//BRB/_cards.dat -- 2 Res/sets//BTD/_cards.dat -- 2 Res/sets//Brainstorm's 2nd MoveToTop.jpg -- 1 Res/sets//CFX/_cards.dat -- 2 Res/sets//CHK/_cards.dat -- 2 Res/sets//CHR/_cards.dat -- 2 Res/sets//CSP/_cards.dat -- 2 Res/sets//DIS/_cards.dat -- 2 Res/sets//DRK/_cards.dat -- 2 Res/sets//DST/_cards.dat -- 2 Res/sets//DVD/_cards.dat -- 2 Res/sets//EVE/_cards.dat -- 2 Res/sets//EVG/_cards.dat -- 2 Res/sets//EVT/_cards.dat -- 2 Res/sets//EXO/_cards.dat -- 2 Res/sets//FEM/_cards.dat -- 2 Res/sets//FUT/_cards.dat -- 2 Res/sets//FVD/_cards.dat -- 2 Res/sets//FVE/_cards.dat -- 2 Res/sets//FVR/_cards.dat -- 2 Res/sets//GPT/_cards.dat -- 2 Res/sets//GVL/_cards.dat -- 2 Res/sets//HML/_cards.dat -- 2 Res/sets//HOP/_cards.dat -- 2 Res/sets//ICE/_cards.dat -- 2 Res/sets//INV/_cards.dat -- 2 Res/sets//JUD/_cards.dat -- 2 Res/sets//JVC/_cards.dat -- 2 Res/sets//LEA/_cards.dat -- 2 Res/sets//LEB/_cards.dat -- 2 Res/sets//LEG/_cards.dat -- 2 Res/sets//LGN/_cards.dat -- 2 Res/sets//LRW/_cards.dat -- 2 Res/sets//M10/_cards.dat -- 2 Res/sets//M11/_cards.dat -- 2 Res/sets//ME2/_cards.dat -- 2 Res/sets//ME3/_cards.dat -- 2 Res/sets//ME4/_cards.dat -- 2 Res/sets//MED/_cards.dat -- 2 Res/sets//MIR/_cards.dat -- 2 Res/sets//MOR/_cards.dat -- 2 Res/sets//MRD/_cards.dat -- 2 Res/sets//MRQ/_cards.dat -- 2 Res/sets//NMS/_cards.dat -- 2 Res/sets//ODY/_cards.dat -- 2 Res/sets//ONS/_cards.dat -- 2 Res/sets//One Dozen Eyes Entwine.jpg -- 1 Res/sets//P02/_cards.dat -- 2 Res/sets//PCY/_cards.dat -- 2 Res/sets//PD2/_cards.dat -- 2 Res/sets//PDS/_cards.dat -- 2 Res/sets//PLC/_cards.dat -- 2 Res/sets//PLS/_cards.dat -- 2 Res/sets//POR/_cards.dat -- 2 Res/sets//PPR/_cards.dat -- 2 Res/sets//PTK/_cards.dat -- 2 Res/sets//PVC/_cards.dat -- 2 Res/sets//RAV/_cards.dat -- 2 Res/sets//ROE/_cards.dat -- 2 Res/sets//RV/_cards.dat -- 2 Res/sets//S00/_cards.dat -- 2 Res/sets//S99/_cards.dat -- 2 Res/sets//SCG/_cards.dat -- 2 Res/sets//SHM/_cards.dat -- 2 Res/sets//SOK/_cards.dat -- 2 Res/sets//SOM/_cards.dat -- 2 Res/sets//STH/_cards.dat -- 2 Res/sets//Saproling.jpg -- 1 Res/sets//TMP/_cards.dat -- 2 Res/sets//TOR/_cards.dat -- 2 Res/sets//TSB/_cards.dat -- 2 Res/sets//TSP/_cards.dat -- 2 Res/sets//UDS/_cards.dat -- 2 Res/sets//UGL/_cards.dat -- 2 Res/sets//ULG/_cards.dat -- 2 Res/sets//UNH/_cards.dat -- 2 Res/sets//USG/_cards.dat -- 2 Res/sets//VIS/_cards.dat -- 2 Res/sets//WTH/_cards.dat -- 2 Res/sets//WWK/_cards.dat -- 2 Res/sets//ZEN/_cards.dat -- 2 Res/sets//Zombie.jpg -- 1 Res/sets//artifact.jpg/_cards.dat -- 1 Res/sets//artifact_thumb.jpg/_cards.dat -- 1 Res/sets//back.jpg/_cards.dat -- 1 Res/sets//back_thumb.jpg/_cards.dat -- 1 Res/sets//black.jpg/_cards.dat -- 1 Res/sets//black_thumb.jpg/_cards.dat -- 1 Res/sets//blue.jpg/_cards.dat -- 1 Res/sets//blue_thumb.jpg/_cards.dat -- 1 Res/sets//gold.jpg/_cards.dat -- 1 Res/sets//gold_thumb.jpg/_cards.dat -- 1 Res/sets//green.jpg/_cards.dat -- 1 Res/sets//green_thumb.jpg/_cards.dat -- 1 Res/sets//land.jpg/_cards.dat -- 1 Res/sets//land_thumb.jpg/_cards.dat -- 1 Res/sets//mtg_todo.dat/_cards.dat -- 1 Res/sets//primitives/_cards.dat -- 1 Res/sets//red.jpg/_cards.dat -- 1 Res/sets//red_thumb.jpg/_cards.dat -- 1 Res/sets//scheme_todo.dat/_cards.dat -- 1 Res/sets//thumbnails/1111114t.jpg -- 1 Res/sets//thumbnails/1111135t.jpg -- 1 Res/sets//thumbnails/1924t.jpg -- 1 Res/sets//thumbnails/220579111t.jpg -- 1 Res/sets//thumbnails/220579112.jpg -- 1 Res/sets//thumbnails/220579112t.jpg -- 1 Res/sets//thumbnails/22222223.jpg -- 1 Res/sets//thumbnails/22222226.jpg -- 1 Res/sets//thumbnails/483851111t.jpg -- 1 Res/sets//thumbnails/Brainstorm's 2nd MoveToTop.jpg -- 1 Res/sets//thumbnails/Devour 3 (Mechanic).jpg -- 1 Res/sets//thumbnails/Devour Sac 3.jpg -- 1 Res/sets//thumbnails/One Dozen Eyes Entwine.jpg -- 1 Res/sets//thumbnails/Reinforcements' 3rd Return.jpg -- 1 Res/sets//thumbnails/Saproling.jpg -- 1 Res/sets//thumbnails/ZombInfs First Discard.jpg -- 1 Res/sets//thumbnails/ZombInfs Second Discard.jpg -- 1 Res/sets//thumbnails/Zombie.jpg -- 1 Res/sets//white.jpg/_cards.dat -- 1 Res/sets//white_thumb.jpg/_cards.dat -- 1 Res/sets/artifact_thumb.jpg -- 34 Res/sets/black_thumb.jpg -- 1 Res/sets/gold_thumb.jpg -- 1 Res/sets/green.jpg -- 1 Res/sets/green_thumb.jpg -- 5 Res/sets/primitives/. -- 1 Res/sets/primitives/.. -- 1 Res/sets/primitives/.svn -- 1 Res/sets/primitives/borderline.txt -- 2 Res/sets/primitives/mtg.txt -- 2 Res/sets/splash.jpg -- 1 Res/sets/style.txt -- 1 Res/sets/white_thumb.jpg -- 1 Res/settings/options.txt -- 1 Res/settings/prices.dat -- 1 Res/shadow.wav -- 1 Res/sound/Track0.mp3 -- 3 Res/sound/Track1.mp3 -- 2 Res/sound/none -- 1 Res/sound/sfx/Advisor.wav -- 1 Res/sound/sfx/Ally.wav -- 1 Res/sound/sfx/Angel.wav -- 1 Res/sound/sfx/Ape.wav -- 1 Res/sound/sfx/Archer.wav -- 1 Res/sound/sfx/Artifact.wav -- 1 Res/sound/sfx/Assassin.wav -- 1 Res/sound/sfx/Atog.wav -- 1 Res/sound/sfx/Aura.wav -- 1 Res/sound/sfx/Barbarian.wav -- 1 Res/sound/sfx/Basic.wav -- 1 Res/sound/sfx/Bat.wav -- 1 Res/sound/sfx/Bear.wav -- 1 Res/sound/sfx/Beast.wav -- 1 Res/sound/sfx/Berserker.wav -- 1 Res/sound/sfx/Bird.wav -- 1 Res/sound/sfx/Cat.wav -- 1 Res/sound/sfx/Centaur.wav -- 1 Res/sound/sfx/Cleric.wav -- 1 Res/sound/sfx/Cockatrice.wav -- 1 Res/sound/sfx/Construct.wav -- 1 Res/sound/sfx/Creature.wav -- 1 Res/sound/sfx/Crocodile.wav -- 1 Res/sound/sfx/Cyclops.wav -- 1 Res/sound/sfx/Dauthi.wav -- 1 Res/sound/sfx/Demon.wav -- 1 Res/sound/sfx/Dragon.wav -- 1 Res/sound/sfx/Drake.wav -- 1 Res/sound/sfx/Druid.wav -- 1 Res/sound/sfx/Dryad.wav -- 1 Res/sound/sfx/Dwarf.wav -- 1 Res/sound/sfx/Efreet.wav -- 1 Res/sound/sfx/Elemental.wav -- 1 Res/sound/sfx/Elephant.wav -- 1 Res/sound/sfx/Elf.wav -- 1 Res/sound/sfx/Elk.wav -- 1 Res/sound/sfx/Enchantment.wav -- 1 Res/sound/sfx/Equipment.wav -- 1 Res/sound/sfx/Faerie.wav -- 1 Res/sound/sfx/Forest.wav -- 1 Res/sound/sfx/Frog.wav -- 1 Res/sound/sfx/Fungus.wav -- 1 Res/sound/sfx/Giant.wav -- 1 Res/sound/sfx/Gnome.wav -- 1 Res/sound/sfx/Goblin.wav -- 1 Res/sound/sfx/Golem.wav -- 1 Res/sound/sfx/Horror.wav -- 1 Res/sound/sfx/Horse.wav -- 1 Res/sound/sfx/Human.wav -- 1 Res/sound/sfx/Hydra.wav -- 1 Res/sound/sfx/Illusion.wav -- 1 Res/sound/sfx/Imp.wav -- 1 Res/sound/sfx/Insect.wav -- 1 Res/sound/sfx/Instant.wav -- 1 Res/sound/sfx/Island.wav -- 1 Res/sound/sfx/Juggernaut.wav -- 1 Res/sound/sfx/Kithkin.wav -- 1 Res/sound/sfx/Knight.wav -- 1 Res/sound/sfx/Kobold.wav -- 1 Res/sound/sfx/Kor.wav -- 1 Res/sound/sfx/Kraken.wav -- 1 Res/sound/sfx/Lair.wav -- 1 Res/sound/sfx/Land.wav -- 1 Res/sound/sfx/Leech.wav -- 1 Res/sound/sfx/Legendary.wav -- 1 Res/sound/sfx/Leviathan.wav -- 1 Res/sound/sfx/Lhurgoyf.wav -- 1 Res/sound/sfx/Lizard.wav -- 1 Res/sound/sfx/Masticore.wav -- 1 Res/sound/sfx/Mercenary.wav -- 1 Res/sound/sfx/Merfolk.wav -- 1 Res/sound/sfx/Metathran.wav -- 1 Res/sound/sfx/Minion.wav -- 1 Res/sound/sfx/Minotaur.wav -- 1 Res/sound/sfx/Monk.wav -- 1 Res/sound/sfx/Mountain.wav -- 1 Res/sound/sfx/Mutant.wav -- 1 Res/sound/sfx/Myr.wav -- 1 Res/sound/sfx/Nightmare.wav -- 1 Res/sound/sfx/Nothing.wav -- 1 Res/sound/sfx/Ogre.wav -- 1 Res/sound/sfx/Ooze.wav -- 1 Res/sound/sfx/Orc.wav -- 1 Res/sound/sfx/Orgg.wav -- 1 Res/sound/sfx/Ouphe.wav -- 1 Res/sound/sfx/Pirate.wav -- 1 Res/sound/sfx/Plains.wav -- 1 Res/sound/sfx/Plant.wav -- 1 Res/sound/sfx/Rat.wav -- 1 Res/sound/sfx/Rebel.wav -- 1 Res/sound/sfx/Rhino.wav -- 1 Res/sound/sfx/Rogue.wav -- 1 Res/sound/sfx/Samurai.wav -- 1 Res/sound/sfx/Saproling.wav -- 1 Res/sound/sfx/Scarecrow.wav -- 1 Res/sound/sfx/Scout.wav -- 1 Res/sound/sfx/Serpent.wav -- 1 Res/sound/sfx/Shade.wav -- 1 Res/sound/sfx/Shaman.wav -- 1 Res/sound/sfx/Shapeshifter.wav -- 1 Res/sound/sfx/Siren.wav -- 1 Res/sound/sfx/Skeleton.wav -- 1 Res/sound/sfx/Slith.wav -- 1 Res/sound/sfx/Sliver.wav -- 1 Res/sound/sfx/Snake.wav -- 1 Res/sound/sfx/Snow.wav -- 1 Res/sound/sfx/Soldier.wav -- 1 Res/sound/sfx/Sorcery.wav -- 1 Res/sound/sfx/Specter.wav -- 1 Res/sound/sfx/Sphinx.wav -- 1 Res/sound/sfx/Spider.wav -- 1 Res/sound/sfx/Spirit.wav -- 1 Res/sound/sfx/Swamp.wav -- 1 Res/sound/sfx/Thopter.wav -- 1 Res/sound/sfx/Treefolk.wav -- 1 Res/sound/sfx/Troll.wav -- 1 Res/sound/sfx/Vampire.wav -- 1 Res/sound/sfx/Vedalken.wav -- 1 Res/sound/sfx/Viashino.wav -- 1 Res/sound/sfx/Wall.wav -- 1 Res/sound/sfx/Warrior.wav -- 1 Res/sound/sfx/Wizard.wav -- 1 Res/sound/sfx/Wolf.wav -- 1 Res/sound/sfx/Wraith.wav -- 1 Res/sound/sfx/Wurm.wav -- 1 Res/sound/sfx/Zombie.wav -- 1 Res/sound/sfx/affinitygreencreatures.wav -- 1 Res/sound/sfx/defender.wav -- 1 Res/sound/sfx/fear.wav -- 1 Res/sound/sfx/first strike.wav -- 1 Res/sound/sfx/flash.wav -- 1 Res/sound/sfx/flying.wav -- 1 Res/sound/sfx/forestwalk.wav -- 1 Res/sound/sfx/graveyard.wav -- 1 Res/sound/sfx/haste.wav -- 1 Res/sound/sfx/lifelink.wav -- 1 Res/sound/sfx/mana.wav -- 1 Res/sound/sfx/mustattack.wav -- 1 Res/sound/sfx/nofizzle.wav -- 1 Res/sound/sfx/persist.wav -- 1 Res/sound/sfx/protection from black.wav -- 1 Res/sound/sfx/protection from blue.wav -- 1 Res/sound/sfx/protection from white.wav -- 1 Res/sound/sfx/reach.wav -- 1 Res/sound/sfx/reachshadow.wav -- 1 Res/sound/sfx/shadow.wav -- 1 Res/sound/sfx/storm.wav -- 1 Res/sound/sfx/swampwalk.wav -- 1 Res/sound/sfx/trample.wav -- 1 Res/sound/sfx/vigor.wav -- 1 Res/sound/sfx/wither.wav -- 1 Res/splash.jpg -- 1 Res/storm.wav -- 1 Res/style.txt -- 1 Res/swampwalk.wav -- 1 Res/test/_tests.txt -- 1 Res/testsuite.txt -- 1 Res/themes/White Shrine/BattleIcon.png -- 1 Res/themes/White Shrine/DefenderIcon.png -- 1 Res/themes/White Shrine/Ok.png -- 521 Res/themes/White Shrine/artifact_thumb.jpg -- 34 Res/themes/White Shrine/back.jpg -- 1 Res/themes/White Shrine/back_thumb.jpg -- 1 Res/themes/White Shrine/backdrop.jpg -- 1 Res/themes/White Shrine/baka.jpg -- 521 Res/themes/White Shrine/black_thumb.jpg -- 1 Res/themes/White Shrine/button_shoulder.png -- 2 Res/themes/White Shrine/f3.png -- 1 Res/themes/White Shrine/gold.png -- 1 Res/themes/White Shrine/gold_thumb.jpg -- 1 Res/themes/White Shrine/goldglow.png -- 1 Res/themes/White Shrine/green.jpg -- 1 Res/themes/White Shrine/green_thumb.jpg -- 5 Res/themes/White Shrine/handback.png -- 1 Res/themes/White Shrine/magic.png -- 1 Res/themes/White Shrine/mana.psi -- 1 Res/themes/White Shrine/manablack.psi -- 1 Res/themes/White Shrine/manablue.psi -- 1 Res/themes/White Shrine/managreen.psi -- 1 Res/themes/White Shrine/manared.psi -- 1 Res/themes/White Shrine/manawhite.psi -- 1 Res/themes/White Shrine/menuicons.png -- 1 Res/themes/White Shrine/menuside.png -- 1 Res/themes/White Shrine/menutitle.png -- 2 Res/themes/White Shrine/particle1.psi -- 1 Res/themes/White Shrine/particle2.psi -- 1 Res/themes/White Shrine/particle3.psi -- 1 Res/themes/White Shrine/particle4.psi -- 1 Res/themes/White Shrine/particle5.psi -- 1 Res/themes/White Shrine/particles.png -- 1 Res/themes/White Shrine/phasebar.png -- 1 Res/themes/White Shrine/shadow.png -- 1 Res/themes/White Shrine/simon.png -- 1 Res/themes/White Shrine/smallface.png -- 1 Res/themes/White Shrine/sound/Track0.mp3 -- 2 Res/themes/White Shrine/sound/Track1.mp3 -- 1 Res/themes/White Shrine/sound/none -- 1 Res/themes/White Shrine/sound/sfx/Advisor.wav -- 1 Res/themes/White Shrine/sound/sfx/Ally.wav -- 1 Res/themes/White Shrine/sound/sfx/Angel.wav -- 1 Res/themes/White Shrine/sound/sfx/Ape.wav -- 1 Res/themes/White Shrine/sound/sfx/Archer.wav -- 1 Res/themes/White Shrine/sound/sfx/Artifact.wav -- 1 Res/themes/White Shrine/sound/sfx/Assassin.wav -- 1 Res/themes/White Shrine/sound/sfx/Atog.wav -- 1 Res/themes/White Shrine/sound/sfx/Aura.wav -- 1 Res/themes/White Shrine/sound/sfx/Barbarian.wav -- 1 Res/themes/White Shrine/sound/sfx/Basic.wav -- 1 Res/themes/White Shrine/sound/sfx/Bat.wav -- 1 Res/themes/White Shrine/sound/sfx/Bear.wav -- 1 Res/themes/White Shrine/sound/sfx/Beast.wav -- 1 Res/themes/White Shrine/sound/sfx/Berserker.wav -- 1 Res/themes/White Shrine/sound/sfx/Bird.wav -- 1 Res/themes/White Shrine/sound/sfx/Cat.wav -- 1 Res/themes/White Shrine/sound/sfx/Centaur.wav -- 1 Res/themes/White Shrine/sound/sfx/Cleric.wav -- 1 Res/themes/White Shrine/sound/sfx/Cockatrice.wav -- 1 Res/themes/White Shrine/sound/sfx/Construct.wav -- 1 Res/themes/White Shrine/sound/sfx/Creature.wav -- 1 Res/themes/White Shrine/sound/sfx/Crocodile.wav -- 1 Res/themes/White Shrine/sound/sfx/Cyclops.wav -- 1 Res/themes/White Shrine/sound/sfx/Dauthi.wav -- 1 Res/themes/White Shrine/sound/sfx/Demon.wav -- 1 Res/themes/White Shrine/sound/sfx/Dragon.wav -- 1 Res/themes/White Shrine/sound/sfx/Drake.wav -- 1 Res/themes/White Shrine/sound/sfx/Druid.wav -- 1 Res/themes/White Shrine/sound/sfx/Dryad.wav -- 1 Res/themes/White Shrine/sound/sfx/Dwarf.wav -- 1 Res/themes/White Shrine/sound/sfx/Efreet.wav -- 1 Res/themes/White Shrine/sound/sfx/Elemental.wav -- 1 Res/themes/White Shrine/sound/sfx/Elephant.wav -- 1 Res/themes/White Shrine/sound/sfx/Elf.wav -- 1 Res/themes/White Shrine/sound/sfx/Elk.wav -- 1 Res/themes/White Shrine/sound/sfx/Enchantment.wav -- 1 Res/themes/White Shrine/sound/sfx/Equipment.wav -- 1 Res/themes/White Shrine/sound/sfx/Faerie.wav -- 1 Res/themes/White Shrine/sound/sfx/Forest.wav -- 1 Res/themes/White Shrine/sound/sfx/Frog.wav -- 1 Res/themes/White Shrine/sound/sfx/Fungus.wav -- 1 Res/themes/White Shrine/sound/sfx/Giant.wav -- 1 Res/themes/White Shrine/sound/sfx/Gnome.wav -- 1 Res/themes/White Shrine/sound/sfx/Goblin.wav -- 1 Res/themes/White Shrine/sound/sfx/Golem.wav -- 1 Res/themes/White Shrine/sound/sfx/Horror.wav -- 1 Res/themes/White Shrine/sound/sfx/Horse.wav -- 1 Res/themes/White Shrine/sound/sfx/Human.wav -- 1 Res/themes/White Shrine/sound/sfx/Hydra.wav -- 1 Res/themes/White Shrine/sound/sfx/Illusion.wav -- 1 Res/themes/White Shrine/sound/sfx/Imp.wav -- 1 Res/themes/White Shrine/sound/sfx/Insect.wav -- 1 Res/themes/White Shrine/sound/sfx/Instant.wav -- 1 Res/themes/White Shrine/sound/sfx/Island.wav -- 1 Res/themes/White Shrine/sound/sfx/Juggernaut.wav -- 1 Res/themes/White Shrine/sound/sfx/Kithkin.wav -- 1 Res/themes/White Shrine/sound/sfx/Knight.wav -- 1 Res/themes/White Shrine/sound/sfx/Kobold.wav -- 1 Res/themes/White Shrine/sound/sfx/Kor.wav -- 1 Res/themes/White Shrine/sound/sfx/Kraken.wav -- 1 Res/themes/White Shrine/sound/sfx/Lair.wav -- 1 Res/themes/White Shrine/sound/sfx/Land.wav -- 1 Res/themes/White Shrine/sound/sfx/Leech.wav -- 1 Res/themes/White Shrine/sound/sfx/Legendary.wav -- 1 Res/themes/White Shrine/sound/sfx/Leviathan.wav -- 1 Res/themes/White Shrine/sound/sfx/Lhurgoyf.wav -- 1 Res/themes/White Shrine/sound/sfx/Lizard.wav -- 1 Res/themes/White Shrine/sound/sfx/Masticore.wav -- 1 Res/themes/White Shrine/sound/sfx/Mercenary.wav -- 1 Res/themes/White Shrine/sound/sfx/Merfolk.wav -- 1 Res/themes/White Shrine/sound/sfx/Metathran.wav -- 1 Res/themes/White Shrine/sound/sfx/Minion.wav -- 1 Res/themes/White Shrine/sound/sfx/Minotaur.wav -- 1 Res/themes/White Shrine/sound/sfx/Monk.wav -- 1 Res/themes/White Shrine/sound/sfx/Mountain.wav -- 1 Res/themes/White Shrine/sound/sfx/Mutant.wav -- 1 Res/themes/White Shrine/sound/sfx/Myr.wav -- 1 Res/themes/White Shrine/sound/sfx/Nightmare.wav -- 1 Res/themes/White Shrine/sound/sfx/Nothing.wav -- 1 Res/themes/White Shrine/sound/sfx/Ogre.wav -- 1 Res/themes/White Shrine/sound/sfx/Ooze.wav -- 1 Res/themes/White Shrine/sound/sfx/Orc.wav -- 1 Res/themes/White Shrine/sound/sfx/Orgg.wav -- 1 Res/themes/White Shrine/sound/sfx/Ouphe.wav -- 1 Res/themes/White Shrine/sound/sfx/Pirate.wav -- 1 Res/themes/White Shrine/sound/sfx/Plains.wav -- 1 Res/themes/White Shrine/sound/sfx/Plant.wav -- 1 Res/themes/White Shrine/sound/sfx/Rat.wav -- 1 Res/themes/White Shrine/sound/sfx/Rebel.wav -- 1 Res/themes/White Shrine/sound/sfx/Rhino.wav -- 1 Res/themes/White Shrine/sound/sfx/Rogue.wav -- 1 Res/themes/White Shrine/sound/sfx/Samurai.wav -- 1 Res/themes/White Shrine/sound/sfx/Saproling.wav -- 1 Res/themes/White Shrine/sound/sfx/Scarecrow.wav -- 1 Res/themes/White Shrine/sound/sfx/Scout.wav -- 1 Res/themes/White Shrine/sound/sfx/Serpent.wav -- 1 Res/themes/White Shrine/sound/sfx/Shade.wav -- 1 Res/themes/White Shrine/sound/sfx/Shaman.wav -- 1 Res/themes/White Shrine/sound/sfx/Shapeshifter.wav -- 1 Res/themes/White Shrine/sound/sfx/Siren.wav -- 1 Res/themes/White Shrine/sound/sfx/Skeleton.wav -- 1 Res/themes/White Shrine/sound/sfx/Slith.wav -- 1 Res/themes/White Shrine/sound/sfx/Sliver.wav -- 1 Res/themes/White Shrine/sound/sfx/Snake.wav -- 1 Res/themes/White Shrine/sound/sfx/Snow.wav -- 1 Res/themes/White Shrine/sound/sfx/Soldier.wav -- 1 Res/themes/White Shrine/sound/sfx/Sorcery.wav -- 1 Res/themes/White Shrine/sound/sfx/Specter.wav -- 1 Res/themes/White Shrine/sound/sfx/Sphinx.wav -- 1 Res/themes/White Shrine/sound/sfx/Spider.wav -- 1 Res/themes/White Shrine/sound/sfx/Spirit.wav -- 1 Res/themes/White Shrine/sound/sfx/Swamp.wav -- 1 Res/themes/White Shrine/sound/sfx/Thopter.wav -- 1 Res/themes/White Shrine/sound/sfx/Treefolk.wav -- 1 Res/themes/White Shrine/sound/sfx/Troll.wav -- 1 Res/themes/White Shrine/sound/sfx/Vampire.wav -- 1 Res/themes/White Shrine/sound/sfx/Vedalken.wav -- 1 Res/themes/White Shrine/sound/sfx/Viashino.wav -- 1 Res/themes/White Shrine/sound/sfx/Wall.wav -- 1 Res/themes/White Shrine/sound/sfx/Warrior.wav -- 1 Res/themes/White Shrine/sound/sfx/Wizard.wav -- 1 Res/themes/White Shrine/sound/sfx/Wolf.wav -- 1 Res/themes/White Shrine/sound/sfx/Wraith.wav -- 1 Res/themes/White Shrine/sound/sfx/Wurm.wav -- 1 Res/themes/White Shrine/sound/sfx/Zombie.wav -- 1 Res/themes/White Shrine/sound/sfx/affinitygreencreatures.wav -- 1 Res/themes/White Shrine/sound/sfx/defender.wav -- 1 Res/themes/White Shrine/sound/sfx/fear.wav -- 1 Res/themes/White Shrine/sound/sfx/first strike.wav -- 1 Res/themes/White Shrine/sound/sfx/flash.wav -- 1 Res/themes/White Shrine/sound/sfx/flying.wav -- 1 Res/themes/White Shrine/sound/sfx/forestwalk.wav -- 1 Res/themes/White Shrine/sound/sfx/graveyard.wav -- 1 Res/themes/White Shrine/sound/sfx/haste.wav -- 1 Res/themes/White Shrine/sound/sfx/lifelink.wav -- 1 Res/themes/White Shrine/sound/sfx/mana.wav -- 1 Res/themes/White Shrine/sound/sfx/mustattack.wav -- 1 Res/themes/White Shrine/sound/sfx/nofizzle.wav -- 1 Res/themes/White Shrine/sound/sfx/persist.wav -- 1 Res/themes/White Shrine/sound/sfx/protection from black.wav -- 1 Res/themes/White Shrine/sound/sfx/protection from blue.wav -- 1 Res/themes/White Shrine/sound/sfx/protection from white.wav -- 1 Res/themes/White Shrine/sound/sfx/reach.wav -- 1 Res/themes/White Shrine/sound/sfx/reachshadow.wav -- 1 Res/themes/White Shrine/sound/sfx/shadow.wav -- 1 Res/themes/White Shrine/sound/sfx/storm.wav -- 1 Res/themes/White Shrine/sound/sfx/swampwalk.wav -- 1 Res/themes/White Shrine/sound/sfx/trample.wav -- 1 Res/themes/White Shrine/sound/sfx/vigor.wav -- 1 Res/themes/White Shrine/sound/sfx/wither.wav -- 1 Res/themes/White Shrine/spade_ul.png -- 1 Res/themes/White Shrine/spade_ur.png -- 1 Res/themes/White Shrine/splash.jpg -- 1 Res/themes/White Shrine/stars.psi -- 1 Res/themes/White Shrine/style.txt -- 1 Res/themes/White Shrine/wallpapers/final_saga2.jpg -- 1 Res/themes/White Shrine/white_thumb.jpg -- 1 Res/themes/White Shrine/wood.png -- 1 Res/thumbnails/ -- 1 Res/thumbnails/.jpg -- 1 Res/thumbnails/194078.jpg -- 1 Res/thumbnails/208249.jpg -- 1 Res/thumbnails/209000.jpg -- 1 Res/thumbnails/22222220.jpg -- 1 Res/thumbnails/42187t.jpg -- 1 Res/thumbnails/4514111t.jpg -- 1 Res/thumbnails/4838511t.jpg -- 1 Res/thumbnails/4838512t.jpg -- 1 Res/thumbnails/51613t.jpg -- 1 Res/thumbnails/89069t.jpg -- 1 Res/thumbnails/Angel Token.jpg -- 1 Res/thumbnails/Auriok Sunchaser.jpg -- 1 Res/thumbnails/Bear.jpg -- 1 Res/thumbnails/Beast Token.jpg -- 1 Res/thumbnails/Darksteel Myr.jpg -- 1 Res/thumbnails/Dragon.jpg -- 1 Res/thumbnails/Insect Token.jpg -- 1 Res/thumbnails/Insect.jpg -- 1 Res/thumbnails/Memnite.jpg -- 1 Res/thumbnails/Saproling.jpg -- 1 Res/trample.wav -- 1 Res/vigor.wav -- 1 Res/wagic_res/graphics/simon.dat -- 1 Res/wither.wav -- 1 Rhino.wav -- 1 Rogue.wav -- 1 Samurai.wav -- 1 Saproling.jpg -- 1 Saproling.wav -- 1 Scarecrow.wav -- 1 Scout.wav -- 1 Serpent.wav -- 1 Shade.wav -- 1 Shaman.wav -- 1 Shapeshifter.wav -- 1 Siren.wav -- 1 Skeleton.wav -- 1 Slith.wav -- 1 Sliver.wav -- 1 Snake.wav -- 1 Snow.wav -- 1 Soldier.wav -- 1 Specter.wav -- 1 Sphinx.wav -- 1 Spider.wav -- 1 Spirit.wav -- 1 Swamp.wav -- 1 Thopter.wav -- 1 Treefolk.wav -- 1 Vedalken.wav -- 1 Viashino.wav -- 1 Wall.wav -- 1 Warrior.wav -- 1 Wizard.wav -- 1 Wolf.wav -- 1 Wraith.wav -- 1 affinitygreencreatures.wav -- 1 defender.wav -- 1 fear.wav -- 1 first strike.wav -- 1 flash.wav -- 1 forestwalk.wav -- 1 graphics/splash.jpg -- 1 haste.wav -- 1 lifelink.wav -- 1 ms0:/PSP/wagic_res/graphics/simon.dat -- 1 ms0:/wagic_res/graphics/simon.dat -- 1 mustattack.wav -- 1 nofizzle.wav -- 1 persist.wav -- 1 protection from black.wav -- 1 protection from blue.wav -- 1 protection from white.wav -- 1 reach.wav -- 1 reachshadow.wav -- 1 shadow.wav -- 1 storm.wav -- 1 swampwalk.wav -- 1 testsuite.txt -- 1 thumbnails/ -- 1 thumbnails/.jpg -- 1 thumbnails/194078.jpg -- 1 thumbnails/208249.jpg -- 1 thumbnails/209000.jpg -- 1 thumbnails/22222220.jpg -- 1 thumbnails/42187t.jpg -- 1 thumbnails/4514111t.jpg -- 1 thumbnails/4838511t.jpg -- 1 thumbnails/4838512t.jpg -- 1 thumbnails/51613t.jpg -- 1 thumbnails/89069t.jpg -- 1 thumbnails/Angel Token.jpg -- 1 thumbnails/Auriok Sunchaser.jpg -- 1 thumbnails/Bear.jpg -- 1 thumbnails/Beast Token.jpg -- 1 thumbnails/Darksteel Myr.jpg -- 1 thumbnails/Dragon.jpg -- 1 thumbnails/Insect Token.jpg -- 1 thumbnails/Insect.jpg -- 1 thumbnails/Memnite.jpg -- 1 thumbnails/Saproling.jpg -- 1 trample.wav -- 1 vigor.wav -- 1 wagic_res/graphics/simon.dat -- 1 wither.wav -- 1 End File Usage Statistics ------------------- |
||
|
|
e39c94756b |
added border to extra details popup as per design at
http://wololo.net/forum/viewtopic.php?f=37&t=2380 and http://wololo.net/forum/viewtopic.php?f=37&t=2382 |
||
|
|
7e55039b0a |
* added hashmap for all basic abilities.
* created three new utility functions that return a vector of matching abilities, colors and types
* migrated all activated ability impl into AllAbilities.cpp. Perhaps we could break AllAbilities up into separate impl files for manageability?
One for Activated abilities, another for triggers,etc
|
||
|
|
2a8f8074e6 |
New descriptive text popup feature for deck selection
http://wololo.net/forum/viewtopic.php?f=13&t=2423 |
||
|
|
acd7bb1aa4 |
reformatting code according to guidelines defined at
http://wololo.net/forum/viewtopic.php?f=35&t=2235&start=10 |
||
|
|
5d907f5abe |
Erwan
- Added a possibility to put a file "Res.txt" instead of the folder "Res". The file Res.txt is a simple 1 line text file, telling where to find the Res folder, terminated by "/". For example: "../../wagic_res". This addresses issue 428 . This could also help us in the future, to develop mods. |
||
|
|
150c5f4c99 |
turned the "ai hint" for level up creatures into an MTGAbility.
this fixes a bug(?) that had high priority and maintains same effect as before. removed all traces of the "bugged(?) hint" from CardPrimitive. Issue: 498 |
||
|
|
98627d96ba |
fixed minor bug with Ai deck saving routine.
fixed psp compilation, changed use of char* to ostringstream for menu text. |
||
|
|
28d3b9b9a9 |
fixes ai deck saving bug pointed out by Zethfox.
TODO: fix text to the right of the box when saving ai deck. |
||
|
|
e74c0fcc7c | Moved a few more common shared includes into the precompiled header. | ||
|
|
d5f3e4cfea |
Enabled precompiled headers for the build. This cuts the win compile time in debug by at least half on my laptop; on the psp compile, it shaves it down by ~ 45 seconds. I only did a cursory inspection of what to add to PrecompiledHeader.h, there's probably more that we can throw in there for more incremental speed improvements.
Also fixed the project includes so that we don't need to always use the indirect include path, ie: #include "../include/foo.h" -> #include "foo.h" I'm don't know much about make files - if I busted the linux build, mea culpa, but I think we're okay on that front too. For future reference, here's the most straightforward link on the topic of adding pch support to make files: http://www.mercs-eng.com/~hulud/index.php?2008/06/13/6-writing-a-good-makefile-for-a-c-project |
||
|
|
8cb1f0cc7c | moved the level varible from MTGcard to MTGprimitive. |