d2ea81bdbcef9d1b45382d635182bdecfcf2427d
228 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
934e0af004 |
moved the eventsending for drawing cards into the resolve of adrawer. tho i think this will make this event unusable for "card draw replacement effects"...it really doesn't matter as i don't see card draw replacement being added to wagic any time soon, if ever.
2nd, having levelup and counters return effs separately. |
||
|
|
224b140f9f |
First pass at reducing the overall memory footprint: moved GetFormattedText() out of CardPrimitives and into MTGCard. The idea being, only keep the formatted text around for cards that are actually in use.
Also fixed a subtle memory pooling issue in the RenderCountersBig() routine: if you're in regular card display mode, the idea is that formatted text is only fetched if you flip into alternate render mode. However, in this function, if counters are being drawn, it would fetch the formatted text in order to determine where to draw the counters, EVEN IF the counters count was zero. So it had nothing to draw, but it meanwhile pooled the formatted strings into memory anyway. |
||
|
|
6f5919ed06 | Reverting r3496 to fix failing tests | ||
|
|
8bf983e2e5 |
Flagged numerous peices of code that have local variables that are masking either member variables or variables scoped outside the current scope.
I've marked all the ones I found with the following TODO comment: TODO: C6246: <blah blah> a few in particular are the ones related to "oneShot" and "_target". These are local variables that are declared that mask either a method parameter or a member variable. |
||
|
|
3bef78be82 | simplified some logic for evil twin | ||
|
|
935c3da4b5 |
synced evil twin avatar ingame with one from deck selection.
TODO: make the "evil twin" look more different than just a mirror image. |
||
|
|
8e6a3e64f0 | Apparently the code police weren't satisfied... :) Eliminating the duplicate ints & extra assignments. | ||
|
|
2a4a01da5e | changed it to modulo to please the code police.... | ||
|
|
6fe3411656 | whoops brackets wrapped the wrong spot. | ||
|
|
561054ba34 | added a true method to recycle our 100 avatar images, and made sure they stay in line with the menu image if theyre over 100. | ||
|
|
babda2bc0f | Some minor tweaks to make the image prefetching feel less flickery : when a card goes from a player's library into their hand, trigger a prefetch of the image. Also do the same thing when the AI decides on what card to play and creates an action. The idea being, new cards in play will probably want to be viewed by the player (and in the case of the AI playing a spell, we automatically show the image during the interrupt window before it comes into play). This makes for a much smoother gameplay - we have to get the image at some point anyway, and by doing it before we get to the render call, we no longer have the back card image pop up briefly. | ||
|
|
c29e231e45 | couple more changes in Ai, and a fix for a crash which happened with phaseaction when the target was removed before the effect resolved. | ||
|
|
20590c3a0d |
removed the variable doTap in Tap from all classes, all test pass but there could be an edge case where i missed removing one...if so just let me know, tweaked some ai eff returns, trying to teach it to use counters more effectively, i noticed it was not using -1/-1 counters on the players creature and was using off counters +1/-1 on its own creatures to the point where they died.
doTap now only serves a single purpose, to pass Tap variable to amanaproducer class so that "tappedformana" will trigger is a manaproducer was tapped for mana. |
||
|
|
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. |
||
|
|
0fe7a46676 |
few things here,
first, tweaked some ai checks a bit. small changes. 2nd, i removed the following classes, APowerToughnessModifierUntilEndOfTurn APowerToughnessModifierUntilEOT ADragonWhelp i replaced these with soft coded support for dragon whelps "sideffects" of using a ability more then a certain number of times... syntax limit^the effect you want^the use it triggers on. replaced both powertoughnessueot classes with a class which falls more along the lines of how we handle ueot abilitys...PTInstant, creates the wrapper with the ability and adds it to the game, rather then that jumbled mess that was previous version. added support for "phaseaction[" phase words "my" and "opponent" so you can denote which players phases it will happen on. by default it automatically happens on both players turns when the phase matches. modified a few things in phaseaction class...which correct a memory leak which could be created if the source of the phaseaction is destroyed before the phase action resolved. rather then storing an ability which is left floating in memory if phaseaction is destroy...i took a much safer route of passing the string of the ability directly to the phaseaction class...and i build the ability right when it is being used instead. makes much more sense. angry mob is now fully supported. yay to removing nasty ugly workarounds!!!! and i mean UGLY. dragon whelp is now fully soft coded. added the 5 or six other cards which do similar effects. |
||
|
|
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.
|
||
|
|
99ed83c5e8 | Performance improvements/cleanup: card->hasType("foo") performs a string lookup for an integer id. Now that our primitives have over 1000 types (1018, I believe is the number I saw while debugging), this is not the cheapest lookup. Over the course of time, a lot of new rules have crept in the code - support for 'aura', 'equipment', and recently 'planeswalker'. While profiling, I saw an inordinate amount of time being used doing map lookups for these strings. Since they're used so frequently, I've added them to the SubTypes enumeration, and swapped out doing the string lookup in favour of using the int ID directly. I also found a few places where we were using hasType("Creature") or hasType("land") when we already had helper functions to do the int lookup, so I swapped these in as appropriate, as well as a couple of places where we had hasType("instant") instead of hasType(Subtypes::TYPE_INSTANT), etc. | ||
|
|
e23ce580fe | fixed a bug with sunburst and sunburst cards which contained x. | ||
|
|
f9be0a6341 |
- reworked completly the JNetwork, JSocket interface (had to ifdef out the PSP socket code)
- added 2 menus to wait for connection and wait for deck selection - tested compilation on Qt Linux, Qt Windows and PSP - deactivated everywhere (NETWORK_SUPPORT to activate). |
||
|
|
ffa13c8983 |
still tweaking ai interrupt slightly...think i finally got it how i wanted it...if it can interrupt OR if its ALREADY interrupting...
added some extra checks to how Ai determines if it should cast a "all(" or other lord...it was only taking the amount of cards it had into account and not looking at what the suggestion was for the nestedability...meaning it treated "destroy all" the same way it treated "all creature +10/+10" it would only check if it had more cards effected...completely ignore the effects....
|
||
|
|
788ae5e629 |
fixed a division by zero error when AI has equipment on field but no creatures to equip them to.
fixed formatting of getEfficiency code block |
||
|
|
2cd72cc4ca |
we should access the data required within a given context. Using DeckStats in this way works
but only by chance that the previous step set the current deck file. Used victory percentage from the MetaData object rather than forcing what has already been computed. TODO: getVictoryPercentage() needs to represent Overall VictoryPercentage for all decks, not just player decks. AI Decks use getVictoryPercentage() to represent the VictoryPercentage against a specific deck. There should be an additional method that says getVictoryPercentageVsDeck( deckObject ) |
||
|
|
5b365e53f0 |
Erwan
- submit a fix for TestSuiteAI, I don't understand why it wasn't submitted with my other changes yesterday. This fixes a bug in the test suite (One storm test would fail without this) - minor refactor to AI code |
||
|
|
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. |
||
|
|
072a250dc0 |
reverted it completely now in hopes that this is whats stalling ai...for some strange reason im noticing that ai is tapping an extra mana every time it tries to play something...
exsample it wants to play a {2}{b}{b} ...so it taps 5 mana instead of the 4 it would have tapped before....
|
||
|
|
3826355b6b |
reverting a peice of a change i did a couple days ago...
the way getPotentialMana and the payment of cost needs a SERIOUS revamp, i would almost say that these function only work because of bugs..... |
||
|
|
6b89899d1b |
Erwan
- deprecated the following keywords (see list below for new usage)
-- cantcreaturecast => auto=maxCast(creature)0
-- cantspellcast => auto=maxCast(*)0
-- onlyonecast => auto=maxCast(*)1
-- bothcantcast => auto=maxCast(*)0 auto=maxCast(*)0 opponent
-- bothnocreature => auto=maxCast(creature)0 auto=maxCast(creature)0 opponent
-- oneboth => auto=maxCast(*)1 auto=maxCast(*)1 opponent
Strangely enough, I couldn't find most of these keywords in mtg.txt?
I also removed variables such as "spellCastedThisTurn" and stuff like that... now if you want to know how many spells were cast in one turn by a given player, use player->game->stack->seenThisTurn("*").
seenThisTurn can take a string representing a TargetChooser, or better, a TargetChooser.
I can't guarantee I didn't break anything, but the test suite passes and the AI seems to run ok
|
||
|
|
8eac9c587e |
Erwan
- added maxCast and maxPlay abilities, this deprecates the following abilities: nospells,nocreatures,onlyonespell,land I usually don't like to deprecate abilities, but the existing ones, despite having easy to remember names, were really not flexible enough. If you want to use these old keywords, instead use: -- nospells => maxCast(*)0 -- onlyOneSpell => maxCast(*)1 --nocreatures => maxCast(creature)0 --land:1 => maxplay(land)+1 note maxPlay and maxCast. They follow similar rules, but maxPlay monitors the number of cards that are going on the Battlefield, while maxCast monitors the stack. In most cases, maxCast should be the one to use, but lands are a special case because they go directly to play. I unfortunately cannot guarantee I didn't break anything, especially in the AI, but the test suite passes ,and I added a few additional tests yesterday and today, to feel more confident about the change. next step is removing the creatures keywords that do the same kind of thing (cantcast, etc...) and replace them with maxCast |
||
|
|
60017a6652 |
Erwan
- replaced variables canPutLandsIntoPlay and landsPlayerCanStillPlay with a PlayRestrictions class.
- Added seenThisTurn(TargetChooser * tc) in MTGGameZones, which allows to count how many cards matching a targetChooser have been in a given zone in the current turn. With minor work, this can probably be reused by the ability parser for some cards that need to count how many **** where played or put on the stack during a turn.
-- for example player->game->stack->seenThisTurn([put a TypeTargetChooser("creature") here]) would give you the number of creature spells cast by the player this turn.
- This is the first step of a refactor that aims at removing all the adhoc variables for "cant cast". I plan to get rid of the following variables in Player.h (and the associated code, which hopefully will become smaller):
int castedspellsthisturn;
bool onlyonecast;
int castcount;
bool nocreatureinstant;
bool nospellinstant;
bool onlyoneinstant;
bool castrestrictedcreature;
bool castrestrictedspell;
bool onlyoneboth;
bool bothrestrictedspell;
bool bothrestrictedcreature;
They will be replaced by the PlayRestrictions system, and hopefully I'll have time to update the parser to make this more generic as well.
My initial goal with this change was to move the limit of 1 land per turn outside of the code, and make it an external rule in Rules/mtg.txt. I have yet to do it.
|
||
|
|
53477bfae2 | opps if you were at exactly 65% then none of the 2 appeared XD ..this should correct that | ||
|
|
19c3e903bc | just cleaning, removed a double check i added ages ago that isnt really needed anymore, ai handles fine now without having to double check if it can cast after it already did so. | ||
|
|
e3ecc612d0 | removed a part that wasnt actually supposed to be in the change...my bad. | ||
|
|
e9b47944e3 |
reverted a 2nd atempted fix at the infinate loop with ai using inkmoth nexus...
it was making ai tap itself out. i think im about 99% sure i know where the issue is now, hopefully. |
||
|
|
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... |
||
|
|
18c70ec187 | found the cause of the loop in inkmoth, it has to do with the way manaproducers set thier "needsTapping" depending on the way the ability is called, it can set it 3 ways, {t}<--sets only the manaproducers "tap" and completely ignores the "doTap" which is the way actiavted mana producers call it. | ||
|
|
9b076d6791 |
removed a fix to an infinate loop bug with Ai using cards such as inkmoth nexus...
as it removed ais ability to momir...protip in MTG youre not allowed to interrupt your own abilities...the way momir is working now, it select an action that doesnt pass priority instead it instantly searchs for a momir ability...which is wrong... |
||
|
|
8f09e8554c | a fix for a strange edge case where ai was caught in a trap trying to activate inkmoth lands becomes ability. it would proceed to contenue to do so even tho it was not producing any results. | ||
|
|
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.
|
||
|
|
76cba56a1c |
Resuming on my threading support work with the card caching mechanism. This change unfortunately touches quite a few files, but I needed to get it out of the way before things got out of hand: one significant hurdle is the assumed lifetime of a JQuad pointer. In a single threaded model, the life time of the pointer is clear: you fetch it into the cache, the cache makes room, you use the pointer immediately. In a multithreaded context however, it's unsafe, as the drawing thread can request a few JQuads, and the cache operating on a separate thread can potentially bounce a JQuad out of the cache before the draw routine is done using it, which ends up in an access violation when you attempt to draw using an invalidated quad pointer. To prevent this, the bulk of this change swaps out the use of naked JQuad* pointers in the code with a JQuadPtr, which is basically a typedef to a boost shared_ptr<JQuad>.
This btw points out another circular dependancy between the texture and the JQuad - a texture owns a bunch of JQuads, yet the renderer uses JQuads and always assumes that the texture is valid. We're going to need to add more defensiveness to JGE to protect against this. Other changes in this check-in: WResourceManager doesn't derive from JResourceManager anymore. It actually didn't require anything from the base, so I killed the dependency. Also cleaned up the notion of a WTrackedQuad in the WCachedResource - it didn't need a separate class, just a better container. I've build this & tested against PSP, win, linux, QT (linux). I haven't tried against iOS and QT Win, or Maemo. If these other platforms are broken, I apologize in advance! - I'm hoping it should be fairly simple to put them back into play. |
||
|
|
1149f04df6 | fixed a reported issue with regenerate...chooseBlockers appears as if it was never safegaurded at all...tho its understandable, wagic only made it "look" like ai was being offered a chance to interupt...in reality ai used to "check if it can interupt" then immedately "cancel interupt offer"...now its given a chance to interupt and cast instants...over looked in chooseblockers. | ||
|
|
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 >
|
||
|
|
6af545a797 | fixed a bug that arose from giving the Ai the ability to actually interupt with something. found that ai was allowed to run "chooseBlockers()" and has been running this function EVERYTIME even before the update i made, when ever it was choosing actions during blockers. even when its blockers were already choosen and it no longer had proirity. | ||
|
|
c113c154c1 |
Erwan
- In line Zethfox's idea with WParsedInt objects inside MTGAbilities, deleted some unused variables. |
||
|
|
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 ------------------- |
||
|
|
d2a96e69df |
few small items, first since card view are now correctly null'ed, i ran into a few cases while watching demo mode where the game would trigger a stop on the battle hint that uses card views, apon checking the card view would be null at the time. so added a condiational check to prevent the game from trying to alter a null'ed pointer.
2nd, added a block out for optimizedhand in demo mode, ie any time its cpu player vs cpu player, noticed demo was starting matches with no cards. 3rd, added a hackish workaround to allow Ai to get eff returns on abilities using the all(this) lord workaround to target the source. Ai was not getting any returns on these abilities. now basically if the ability is a lord && !target...lets calculate this as tho source == target.... |
||
|
|
fcefd6385b |