Commit Graph

138 Commits

Author SHA1 Message Date
omegablast2002@yahoo.com 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. 2011-01-31 13:02:40 +00:00
techdragon.nguyen@gmail.com 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 >
2011-01-31 10:04:18 +00:00
omegablast2002@yahoo.com 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. 2011-01-28 18:26:34 +00:00
wagic.the.homebrew@gmail.com c113c154c1 Erwan
- In line Zethfox's idea with WParsedInt objects inside MTGAbilities, deleted some unused variables.
2011-01-23 08:28:24 +00:00
omegablast2002@yahoo.com 07802134e8 more fixes from the review... 2011-01-22 16:48:55 +00:00
omegablast2002@yahoo.com 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.
2011-01-21 20:18:56 +00:00
techdragon.nguyen@gmail.com 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)
2011-01-16 07:49:34 +00:00
wrenczes@gmail.com 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
-------------------
2011-01-11 10:11:15 +00:00
omegablast2002@yahoo.com 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....
2010-12-17 20:59:08 +00:00
techdragon.nguyen@gmail.com fcefd6385b 2010-12-14 11:54:53 +00:00
techdragon.nguyen@gmail.com cb29f47fe3 2010-12-14 11:54:44 +00:00
techdragon.nguyen@gmail.com f4ec87dbb0 reverted previous change. 2010-12-14 11:45:43 +00:00
techdragon.nguyen@gmail.com 61011b8924 No code changes.
* removed extraneous braces for case statements.
* changed tabs to spaces.
2010-12-14 11:37:32 +00:00
omegablast2002@yahoo.com b247a7e83c just a brace moved, in cases of all(this) the 2nd statement would overide the first one which checks if its an attacker or blocker. 2010-12-14 11:25:01 +00:00
omegablast2002@yahoo.com 91347b38d9 sorry had to add this too, aparently simply putting BLAH_GOOD/BLAH_BAD without actually comparing it to the suggestion from af always returns true... 2010-12-14 11:02:49 +00:00
omegablast2002@yahoo.com cf8cb213cc pump granting needed to be a little more specific, it is not enough to simply tell the Ai if it is "good" it has to also know if its the controller of the creature. otherwise i witnessned it pump opponents creature. small change no huge impact except correcting the use of ai good effects on human player creatures. 2010-12-13 18:54:41 +00:00
omegablast2002@yahoo.com 448099825a just moved a bracket in ai STANDARD_LEVELUP. the 3 condiational was outside of the bracket, causing it to over ride previous. it should ALWAYS consider the "maxlevel" hint. 2010-12-13 14:58:24 +00:00
omegablast2002@yahoo.com 64af4470e4 further improved "prevent" training on ai, while polishing off a Ai deck based on cleric i noticed it was using WAY too much prevent on a creature...sometimes 6 points or more then it should have been using...we only ever want to use *just* enough to survive. this way we can spread the love to the other creatures.
i hope to have a polished cleric Ai deck for release 14.1 within the next day or so. trying to include a couple decks that take adventage of all this great training.

hopefully i can get prevent working as good as equip does...the Ai deck i constructed called
"the kor" is almost an unbeatable white weenie deck.
2010-12-13 12:33:35 +00:00
techdragon.nguyen@gmail.com fe75493ffa No code change. Reformat code 2010-12-11 22:42:48 +00:00
omegablast2002@yahoo.com c54de679d4 couple bug fixes, a slight refactor,
ok here goes, first, fixed a crash that would happen when ever a player would gain more then 2000 life or take more then 2000 damage...the buffer was becoming corrupted i imagine because it was too small, increasing it to 10 slots allowed players to successfully take massive amounts of damage, highest i bothered checking was about 35k gained/lost, no crash...

2nd, removed the and refactored cantcaster rule, moved it to stateEffects() and renamed stateeffects to better reflect what it will be handling,

removed sneak attack rule and moved it into stateeffects

the following ints have been converted into bool, 
all the cantcasters, canputlandsintoplay is becoming a bool, the amount of lands you can play is now handled by a new varible int landsPlayerCanStillPlay (this is for my ability additional lands increase in support on perminents coming after the release)

the changes to bools were for an obvious reason, they were all ints pretending to be bools, my varibles were confusing as you would often see code like this if(cantblahblah > 0)
which to another coder might not make any sense.

these varible ints were returning 0 as false and 1 as true...changed them all to bools, same goes for putlandsinplay int, in half the places it was being used as a bool, AND it was tracking the amount, when i was coding additional land ability, this made it impossible to maintain correct amounts without damaging the rest of the code.
as a bool, controlled by stateeffects, it can now be used correctly as a bool in all cases, and the stateEffects manages the switch on it to false if you no longer have any landsPlayerCanStillPlay left.

the refactor on cantcaster was also a bug fix, it was reported to me that cantcasters were not correctly working, sometimes ai or player would still be allowed to play a card with one in play, because of the old way i had it setup somecases of bothcantcaster were reseting the cantcast to 0, basically making the check do nothing.

it is now handled in stateeffects if you have one in play, then its true, if not then false...this returns very accurate tracking of the cards instantly instead of checking as cards enter or left play.

the "both" versions now have their own bools to avoid future conflicts with the single player cantcast...

added a case for the fancy moving text, some move to library effects were incorrectly returing fetch.
2010-12-10 20:51:50 +00:00
wrenczes@gmail.com f8368d01c4 Found & fixed two memory leaks:
- computeActions would leak a ManaCost.  This was fairly minor.
- AIPlayer::SelectAbility had a major leak.  Basically, there's some code that pulls a random number for an efficiency check - if the action's efficiency value was below that random number, the action pointer was cleared, and none of the actions that were to be discarded would be deleted out of the rankings map.  I've switched out the rankings container to not contain action pointers, but real action objects, so regardless what kind of logic is implemented, the map will properly clear out its objects upon destruction.
2010-12-10 08:37:41 +00:00
techdragon.nguyen@gmail.com 36c096a33c fixed line endingsin AIPlayer.cpp
modified debug output for Manacost.  ToString() wasn't defined correctly.  I refactored the output
for Dump() to just call ToString().
2010-12-09 01:37:49 +00:00
omegablast2002@yahoo.com 682af98bf7 moot pointed out i made a boo boo in STANDARDABILITYGRANT thanks you! forgot to add the "suggest good" part of the condiation...as we dont act to give a creature the ability 2 times. (atleast until stacking abilities are added) 2010-12-08 14:37:39 +00:00
wrenczes@gmail.com 5c819a3b3c Found & fixed a crash while testing trample. The bug: if the AI's player hand dropped to zero cards. This broke in r2696.
Zeth, please review, I put in a comment where there's something that doesn't make sense- probably an early change that's now obsolete.
2010-12-08 07:53:51 +00:00
omegablast2002@yahoo.com d3a4745686 did a couple things here, fixed issue507 but also, very very very possibly fixed issue548, tho i will leave the closing of those 2 tickets to wololo, as he was the one who originally reported them.
another issue i fixed, when last trigger would be resolving in "trigger" substep, the game was moving to next combatstep before you could finish it, NOW the game correctly finishes resolving any triggers that might have fired off in "Triggers" substep, THEN it adds combatdamage step to the stack. this also fixes an issue where if you were multiblocked and combattriggers fired off, then your trigger would be UNDER the "ordering window" and unresolvable.

added waitingforanwsers return to userRequestNextGamePhase
when youre "waiting for anwsers" that means you have a menu box open and the game is waiting for you to decide....this was one of the causes of the rush to combat damage while youre still selecting something on a menu.

moved Trigger step call to requestnextgamephase into stateEffects() and out of updates, works MUCH better this way. i wonder why this isnt handling more of the automated functions, i suggest we consider moving the autopassphase into stateEffects() also as it will most likely be handled much better in there then in the update function.


also,
adjust Ailessons on Adrawer, it was still getting a little too excited about drawing cards. 
moved around the eff setting on grantingability lessons.
having it set to 0 BEFORE actually giving it a value was conter productive.

added a peice of commented out code in "isintop" function that if you uncomment will allow you to have Ai ALWAYS multiblock you.

im pushing this in as i feel comfortable with the positives and havent really come across an adverse effect yet.
however i am just one person and testing something like this is much easier with alot more then 1 person on it.
2010-12-07 17:58:46 +00:00
wagic.the.homebrew@gmail.com c7a17a0e57 Erwan
- some code cleanup, as I am trying to figure out the root cause for issue 548
2010-12-05 14:13:42 +00:00
techdragon.nguyen@gmail.com a7675ec216 issue 547
fixed the bug where the ai "attacks/blocks" its own attackers during the combat phase.
Strangely, creatures only die in this bug when there are two or more suffering from
summoning sickness.

If somebody can double check this code change to make sure that it is appropriate.
My playtesting indicates a success but I don't have the variety of player decks others have.
2010-12-04 21:26:12 +00:00
omegablast2002@yahoo.com ba3ca7018b reduced the Eff by 50 up from 20 on Adrawer, and reduced to 0 if more then 10 cards in hand, theres too high of a chance that Ai will not be able to actually cast any of that and is just milling himself. 2010-12-04 21:12:58 +00:00
omegablast2002@yahoo.com e8582e1413 told Ai not to block its own attacking creatures(?), hopefully this is whats happening in issue 547.
its been discovered and maybe even known that Ai can do alot of illegal actions as if the rules we set inplace for the player don't apply to it.
2010-12-04 20:01:22 +00:00
omegablast2002@yahoo.com 7805e52910 Attempt to fix a bug with Ai and how it manages mana, if an ability or effect would add for exsample 3 black to the manapool, the old way this was set up would be either/or but never both, current mana was always just what was in the pool or what it could make.
with this change, currentmana is now what it could make and if anything is in the pool then add whats in the pool as potential mana., if it could potentially make mana then THIS is its currentpool. as getpotentialMana already handles the rest.

i originally added the manapool at the end of potential as my first attempt to stop this behavior, but this either/or if statement really got in the way of producing the result i wanted, which is, if 
Ai has a 3 swamps, and a dark ritual, and it cast darkritual.
in hand Ai has a 5 black drop.

in OLD set up Ai would see it has 3 mana, then it would see it had 2 mana from the untapped swamps. it would pass the phase thinking that it could not cast the creature.

NOW ai looks for how much it has in mana, it see 3 swamps, it cast dark ritual, it now see what it can create on the next call to findcards, it see 2 swamps + 3 mana in pool, it cast the 5 drop creature.


mind you that this does not fix Ai mindlessly casting dark ritual as we have no current system to tell AI "hey dont cast that card now its useless to do so" like the fancy system to tell it what abilities it should use on cards :) *maybe someday*
2010-12-04 19:45:39 +00:00
omegablast2002@yahoo.com 8a49d2af51 moved the gaurds i introduced in r2734 into the function selectAbility() as a static bool as suggested by jean, its much cleaner this way. 2010-12-04 18:25:59 +00:00
omegablast2002@yahoo.com b5ec029d79 couple changes, first i re-added my fancy getMenuText for becomes/transforms abilities, somewhere in the refactor these were forgotten. Fix "Swap" ueot menutext display, it was returning "ability".
fixed a Ai related bug, taught Ai not to mill itself to death basically. played a few matches which Ai was just destroying himself with a creature that allowed him to draw cards for each(whatever) in play. Ai will be a little more careful not to kill himself by Mill, also not to draw 30 cards in a turn when it clearly cant play them.
2010-12-03 20:59:46 +00:00
omegablast2002@yahoo.com 336b25c0f5 init'ed the variable "mFindingAbility" bool in Aiplayer constructor and changed its name from previous name "findingAbility" to keep in line with recent code rules.
added COMMENTS to explain the variable.
2010-12-03 12:10:35 +00:00
techdragon.nguyen@gmail.com fab5f9da29 fixed formatting 2010-12-03 01:09:30 +00:00
omegablast2002@yahoo.com 0f419144b5 Fixed a bug where Ai was able to do actions such as sacrifice Mogg fanatic 3 time in a row by tripping over its own clickstream, added gaurds to selectAbility() function calls to prevent Ai from running multiple instences of selectAbility before its completed running another which occurs when Ai is offered an interupt after player cast/does an action.
this also fixes the spamming of Abilities like Ai atempting to untap something more then once, or Ai uses regenerate ability multiple times on the same creature.

there will be no noticible difference in Ai game play except now it actually doesnt do the above mentioned bugs.
2010-12-02 21:30:14 +00:00
omegablast2002@yahoo.com 2a4b0e28f0 another tweak, sorry! forgot i needed to compensate for removing the base by increasing the actual. 2010-12-02 17:06:20 +00:00
omegablast2002@yahoo.com 03bc34101f reduced abilitygranting base eff to 0, aparently when Ai has nothing better to do it spams ability grantings, but it should be playing cards. 2010-12-02 16:46:45 +00:00
wagic.the.homebrew@gmail.com 81153939f9 Erwan
- Fix a bug where AI would not check for the NULL status of some variables before calling functions on them. This would cause crashes that could seem random ingame. Possibly fixes issue 541
2010-12-02 14:03:10 +00:00
wrenczes@gmail.com 65e38b0694 Another change that looks bigger than it is: changed out the global extern WResourceManager to a real singleton. This means that it's no longer being init'ed at static initialization time, and we can debug construction/destruction properly; it's also safer in a multithreaded context. 2010-12-01 08:22:17 +00:00
omegablast2002@yahoo.com 29fc58388d Added 2 new cheats, "Optimize starting hand" and "Unlock all Ai decks"
added new mana display option "No Glitter" acciddently(?) lost "both" options somehow.
the new "no glitter mana display is basically "eye candy without particle effects" on PC created 2000 mana...no FPS drop...on PSP created an EXTREMELY large amount of mana before i noticed an FPS drop of any kind, this is dramatically better then 
what was in previous rev, create 20 mana and crash.

if someone could figure out how i manage to lose the "Both" option, please explain to me why it wasnt showing up, i spent 2 hours trying to get it back.

both "optimize starting hand" and "Unlock all Ai Decks" appear in options under the option to "enable cheats"

optimize gives you decent starting hands, and Unlock all Ai decks is basically just a bypass options for the unlock deck mode varible wololo added.

tweaked abilitygranting Eff in Ai lessons to be divided by the number of cards in hand, this will mean Ai will tend to focus on using mana to cast spells instead of using them to grant abilities, until theres only 1 or less cards in hand, at this point it will go all out. there is a splash of randomness in Ai so it will still often do whatever it freaking wants lol, you should notice a proformence increase from Ai in this aspect. no more giving unblockable to a creature in 2nd main.

please note, one of the recent previous revs broke cheat mode "unlock cards" in deck editor, i filed a bug report. its a probelm i was not able to fix myself so there is no fix included in this rev....i came across the bug while testing cheat mode stuff.
2010-11-28 20:55:04 +00:00
wagic.the.homebrew@gmail.com 52fce24bf8 Erwan
- Added AI Decks unlock system. Please update your graphics folder, and crossing fingers that Ilya B. is still around as I don't have the correct fonts.
2010-11-28 04:15:58 +00:00
omegablast2002@yahoo.com 62e1dfa0d0 last adjustment for today, promise...Ai will now use tappers/untappers religously based on card ranking. 2010-11-27 20:47:34 +00:00
omegablast2002@yahoo.com 0dae942cd0 final adjustment, moved a couple things in the foreach and altered a condiation to suit unknown foreachs, generally its always a good idea to use these cards, since thier effects only get better and better. 2010-11-27 19:56:00 +00:00
omegablast2002@yahoo.com 7c7280a8de forcing eff of ability modifying to 0 if creature already has it. 2010-11-27 19:29:18 +00:00
omegablast2002@yahoo.com 01d46fd0d1 changed the target checking function of lifer in Ai training, sometimes it would return the creature as the target and Ai would refuse to use it. 2010-11-27 18:53:52 +00:00
omegablast2002@yahoo.com 6467ab5aa8 reduced abilitymodify eff slightly increased base eff, added abilitygranted to activated. 2010-11-27 18:28:38 +00:00
omegablast2002@yahoo.com e23e3d0728 more Ai training: use ability modifiers on creatures that dont already have the ability and prefferedly during first mains, use life altering cards as often as possible, improved foreach a little more, use untappers on card that are tapped that belong to Ai and tappers on cards that are not tapped that belong to player 2010-11-27 18:05:35 +00:00
omegablast2002@yahoo.com 3151dfd348 Better Ai: Foreach training, reduced Eff on "levelingup" based on cards in hand/maxxed in 2nd main, added a selectAbility() call after lands are played and after all cards were searched if none were found to play. after much playtesting i found that if given the chance to find an ability BEFORE playing cards, Ai does dramatically better during a match, the same goes if its given a chance to find one after it looked for stuff to play.
with this change please try playing a few matchs against vanguards chosen and wraith feast, my 2 most favorate decks to fight now. youre in for a treat :)

keep in mind that even tho ive taught Ai Foreach in a somewhat crude manner it still does not understand how much mana it can gain from a foreach manaproducer, and this does not make it suddenly use dark ritual correctly. however this change was dramatic enough that i wanted it in for 14.1

this is also still under massive play testing, however no issues were found so far with it as it is presented here.
2010-11-26 22:10:43 +00:00
omegablast2002@yahoo.com bce5b9e54b Ai training: some Foreach training, optimizted the equip training to have Ai better use equipment, it should no longer leave equipment sitting around, enticed Ai into paying upcost on cards YAY! no more summon now and lose it next turn! :) enjoy. 2010-11-23 16:52:46 +00:00
wagic.the.homebrew@gmail.com f7bcbb42dc Erwan
- had some problems compiling for the PSP. I assume I was the only one, please let me know if the "include JLogger" lines are not needed (they were needed for me)
- Fix a memory leak when playing in "random deck" mode
- Prevent the AI from playing cards with a cost it cannot understand (ExtraCosts with a target).
2010-11-18 14:04:24 +00:00