eee23f4344
Performance optimization: when processing for reactions to a card click, instead of looping through all the stored objects a second time, only call reactToClick() on objects that already indicated true to isReactingToClick().
wrenczes@gmail.com
2011-04-10 00:11:03 +00:00
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.
wrenczes@gmail.com
2011-04-10 00:07:34 +00:00
62da8e7ad8
Minor optimization: wrapped a string fetch routine with #ifdef DEBUG, as the string's not actually used in this context for anything. Tripped across this as the HUDDisplay constantly queries for whether the OSD option is on, which in turn calls this string constructor/destructor on every draw.
wrenczes@gmail.com
2011-04-09 21:08:46 +00:00
1343852bc1
- Update French translation - Added call to translation function for some parts where it was missing
wagic.the.homebrew@gmail.com
2011-04-09 10:41:36 +00:00
693f7e156c
Fix a bug reported in the beta, where pressing triangle in the Story mode would crash the game
wagic.the.homebrew@gmail.com
2011-04-09 08:26:43 +00:00
70e3af8579
Spanish translation update by blender2005
wagic.the.homebrew@gmail.com
2011-04-07 13:14:51 +00:00
ab27dded61
Portuguese translation update by vesgo
wagic.the.homebrew@gmail.com
2011-04-07 13:01:54 +00:00
cda965a626
Updated Opalescence and Raging Ravine. Added March of the Machines.
guzhenjie1@gmail.com
2011-04-06 14:47:51 +00:00
89597a547e
Replaced {S} by {discard(this|myhand)} in following cards with "autohand". Absorb Vis Arashi, the Sky Asunder Brainspoil Brighthearth Banneret Burrenton Bombardier Chartooth Cougar Clutch of the Undercity Dimir House Guard Dimir Infiltrator Dizzy Spell Drift of Phantasms Earthbrawn Elvish Aberration Eternal Dragon Ethereal Usher Fiery Fall Ghost-Lit Nourisher Ghost-Lit Raider Ghost-Lit Redeemer Gleam of Resistance Hunting Triad Igneous Pouncer Jhessian Zombies Jiwari, the Earth Aflame Mosquito Guard Muddle the Mixture Netherborn Phalanx Noble Templar Pale Recluse Rustic Clachan Sanctum Plowbeast Shinen of Fear's Chill Shinen of Flight's Wings Shinen of Fury's Fire Shinen of Stars' Light Shoreline Ranger Street Wraith Swell of Courage Sylvan Bounty Tolaria West Traumatic Visions Twisted Abomination Valley Rannet Vedalken AEthermage Wirewood Guardian
guzhenjie1@gmail.com
2011-04-06 10:55:38 +00:00
214855b3e5
Updated following cards to use code "@discarded": Abyssal Nocturnus Confessor Geth's Grimoire Liliana's Caress Megrim Nath of the Gilt-Leaf
guzhenjie1@gmail.com
2011-04-06 10:52:31 +00:00
2f82f1888c
couple things, first i goofed up in 2 spots, the equipment check for legality, yes shroud isnt a case, but it is also not a case of why you shouldnt remove it from a card which is illegal, so reworked it to find that the items i was looking to exclude( the protections) were all in a single spot :) yay to good programing!...so i pass a bool now with cantarget "withoutProtections" defaults to false so protections are always accounted for unless you specify not to include them, which is what ive done....now if only auras had a nice little spot to add such coding we can correct this rule on auras...
omegablast2002@yahoo.com
2011-04-05 16:03:19 +00:00
c0d9c3a834
just being safe here...there is a report of an unreproducible bug that happens completely at random since i moved the parsing of limit into the reactToClick, im guessing it might be that limitPerTurn is never set.
omegablast2002@yahoo.com
2011-04-05 00:16:05 +00:00
553615a563
sending @discarded events for the auto hand cleaning and clean up step discard events
omegablast2002@yahoo.com
2011-04-04 19:52:58 +00:00
a5da77981f
Corrected creature type of Chimeric Coils.
guzhenjie1@gmail.com
2011-04-04 13:13:20 +00:00
f614fa1cde
just adding some of the discarders as random discard in boarderline. theyre playable, but no choosing of the card to be discarded.
omegablast2002@yahoo.com
2011-04-03 16:20:54 +00:00
1c1c6e6497
clean up
omegablast2002@yahoo.com
2011-04-03 14:09:58 +00:00
2176fab573
Blessing of the Nephilim code corrected
omegablast2002@yahoo.com
2011-04-03 12:43:03 +00:00
19b5490729
Withering Wisps updated to fix the bug, it was doing nothing. there is a parser limitation that does not allow limit: to work in foreach( nested activated abilities. the card basically never did anything.
omegablast2002@yahoo.com
2011-04-03 12:26:44 +00:00
4cd0953ebc
Corrected following cards with "world rule": Chaosphere Concordant Crossroads Gravity Sphere Living Plane Mystic Decree Serra Aviary Storm World Tombstone Stairwell
guzhenjie1@gmail.com
2011-04-03 10:45:20 +00:00
dae5478084
move rainbow efferts test to test folder
omegablast2002@yahoo.com
2011-04-03 10:16:55 +00:00
17ac081ed3
fix for rainbow effert
omegablast2002@yahoo.com
2011-04-03 10:13:07 +00:00
442f61b350
Corrected following cards: Animate Artifact Chariot of the Sun Pestilence
guzhenjie1@gmail.com
2011-04-03 09:44:29 +00:00
592cc840c6
Refactored ThreadedCardRetriever into a threaded vs non-threaded implementation.
wrenczes@gmail.com
2011-04-03 08:45:50 +00:00
efe13d7621
Checkpoint - refactored out my ThreadedCardRetriever code into a separate header. This header isn't included by anyone else for the moment, so it currently has no impact on the build.
wrenczes@gmail.com
2011-04-03 07:19:01 +00:00
e867881e16
- Fix issue 552 (Card images too big in deck editor) - Moved big picture display a bit down ingame - Temporarily Reinstantiated "back quad shows first" in deck editor, see my comments in http://code.google.com/p/wagic/source/detail?r=3008 -- This is only temporary, and pending the final Thread work, but I'm afraid this won't make it to 0.15. It is possible to get the previous behavior back with a simple define, in case we want it for windows.
wagic.the.homebrew@gmail.com
2011-04-03 06:07:23 +00:00
2bb0fe996d
Adding Kaioshin's new wallpaper
wagic.the.homebrew@gmail.com
2011-04-03 03:26:54 +00:00
77a1e98bc3
Adding test for issue 616 (Rainbow Efreet phase out)
wagic.the.homebrew@gmail.com
2011-04-03 03:17:36 +00:00
ee0231f4da
shroud is not a case for it, sorry!
omegablast2002@yahoo.com
2011-04-02 22:34:37 +00:00
3deae0137e
changing a int type for pspsdk to stop complaining.
omegablast2002@yahoo.com
2011-04-02 22:22:34 +00:00
785aa505b2
added O-Naginata which was previously not added becuase the rule in the previous commit was not followed.
omegablast2002@yahoo.com
2011-04-02 22:16:19 +00:00
10e576f4b7
Rules correction for equipment, if at any point the currently equipped card is no longer a valid target for the equipment, ie:it was attached to a manland, hidden enchantment, has restrictions in equipment tc such as can't enchant vampires and target became a vampire, ect
omegablast2002@yahoo.com
2011-04-02 22:11:32 +00:00
29ae982253
added Demonspine Whip to demonstrate both fixes in action.
omegablast2002@yahoo.com
2011-04-02 21:02:48 +00:00
67ebd964e1
2 bug fixes; first, while hunting down easter eggs in the todo.dat i started trying to code some un-added equipment...noticed that thisforeach was exhabiting strange behavior. what was happening was in the changed line, abilities.size() was a non-static number, so on most abilities, thisforeach was actually stopping prematurely. which explains why there was no test added for thisforeach, becuase it really wasnt working correctly. what i did to correct the issue was set "i" as an unsigned int = abilities.size()..this way abilities being added don't stop it prematurely in the process of adding the matches.
omegablast2002@yahoo.com
2011-04-02 21:01:33 +00:00
feae8656a7
Corrected Opaline Bracers and text of Suntouched Myr. Updated Infused Arrows.
guzhenjie1@gmail.com
2011-04-02 15:03:07 +00:00
17f90bce66
Reduced size of Christmas theme preview, in the hope to minimize crashes on the PSP in the user settings page
wagic.the.homebrew@gmail.com
2011-04-02 07:58:39 +00:00
fb3aac32ee
sygg, river cutthroat p/t were incorrect...was 2/2...correct 1/3
omegablast2002@yahoo.com
2011-04-01 18:54:15 +00:00
155b909bfd
had to add this eff return becuase ai suddenly became retarded with the addition "teach" and the use of auras.
omegablast2002@yahoo.com
2011-04-01 18:36:36 +00:00
5f3018d6fa
Corrected Karn, Silver Golem. Updated Karn's Touch, Spawning Pool and Stalking Stones.
guzhenjie1@gmail.com
2011-04-01 16:24:12 +00:00
dba143983c
fixed wall of root and found a engine limitation....if a mana producer needs to have a "limit:number" then you NEED to have "all(this)" before it as follows for example auto={C(-0/-1,1)}:all(this) Add{G} limit:1 other wise it parsed as a non=activated ability, don't worry tho, i change activated manaproducers a long time ago so that they dont use the stack, so all this will do is enable using "limit:"...
omegablast2002@yahoo.com
2011-03-31 17:16:21 +00:00
2277e9906b
updated the card creating this effect "it can attack as though it didn't have defender" to use "canattack"
omegablast2002@yahoo.com
2011-03-31 16:44:43 +00:00
dbc5376135
added "abilities=canattack" Warmonger's Chariot 6/15/2010: The second ability doesn't cause the equipped creature to lose defender. It just lets it attack.
omegablast2002@yahoo.com
2011-03-31 16:39:28 +00:00
f5c3f76f0b
updated soft codes for the hard coded cards removed from svn.
omegablast2002@yahoo.com
2011-03-31 16:17:11 +00:00
3789c947a3
had to update this test since the hard coded living artifact was actually incorrect.
omegablast2002@yahoo.com
2011-03-31 16:16:09 +00:00
476a74340a
little bit of hard code clean up, soft coded the following cards and removed thier hard codes Angelic Chorus Lavaborn Muse Pestilence Living Artifact Hypnotic Specter there is test for each of these. btw living artifact hard code was wrong, it was allowing you to remove counters at any phase, the soft code is actually correct. updated living artifact test to the correct version in next rev also fixed a case where "thatmuch" was never set, i now also store the amount on the source of the trigger as well.
omegablast2002@yahoo.com
2011-03-31 16:15:30 +00:00
6572a11848
changed the way aliases set id. the old method was fine when wagic only supported 200 cards, this is so far from the case now. this will avoid bugs being introduced when we add support for a card in soft code. what this was essentially doing was it would load every set but the hardcode card as soft code, and if you used the card which was originally hard coded, you get a bug where soft and hard code are both loaded.
omegablast2002@yahoo.com
2011-03-31 14:50:44 +00:00
eb010093fe
code change for life and limb, auto=lord(*[saproling;forest]) transforms((saproling forest creature land,setpower=1,settoughness=1,newability[{t}:add{g}]))
omegablast2002@yahoo.com
2011-03-31 13:50:48 +00:00
1b77a78cc7
Fixed a typo in Ronin Warclub and text of Sphere of the Suns.
guzhenjie1@gmail.com
2011-03-31 12:46:13 +00:00
8add655df7
Formatting cleanup, modified a function to pass by const reference.
wrenczes@gmail.com
2011-03-31 11:08:58 +00:00
64d421b8b8
Fixed a namespace collision that was causing compile errors in VS2010. bind() was being interpreted as std::bind(), not the winsock bind() call.
wrenczes@gmail.com
2011-03-31 11:07:50 +00:00
e7f2ae4e6e
Added a Boost::recursive_mutex variant to the threading support. Also bumped up the default stack size of a worker thread to 256K, and moved the thread priority slightly down as 0x12 is pretty aggressive for a default value.
wrenczes@gmail.com
2011-03-31 10:37:41 +00:00
d47a31ca47
i keep adjusting this sorry! changed it to a rfind instead, to more correctly build a newability.
omegablast2002@yahoo.com
2011-03-30 23:57:52 +00:00
728410743f
removing empty entries from newabilitieslist.
omegablast2002@yahoo.com
2011-03-30 23:36:48 +00:00
792357b36d
string was sending an extra char.
omegablast2002@yahoo.com
2011-03-30 22:22:40 +00:00
257de9962a
just cleaning up a memleak i created, moving the parsing of the "newability" in transforms into the resolve rather then creating an object that might not be used.
omegablast2002@yahoo.com
2011-03-30 22:10:45 +00:00
3f39b19c87
fix wrap in vigor, all(creature|mybattlefield) regenerate this code works, please do not remove the card again. i added this card once before.
omegablast2002@yahoo.com
2011-03-30 20:16:43 +00:00
4ef328890d
more MTGToDO clean up and added: Endless Scream Everflowing Chalice Evolution Vat Gemini Engine
omegablast2002@yahoo.com
2011-03-30 19:54:39 +00:00
6881787d7d
moved parsing of the power and toughness for token gen into the resolve.
omegablast2002@yahoo.com
2011-03-30 19:25:48 +00:00
cba0c1218f
slight adjustments to transforms parsing to allow for newability to also be a transforms. xx wasnt being set in a couple cases, removed the space i added to the 3 variables so they can be anywhere in the line.
omegablast2002@yahoo.com
2011-03-30 17:45:05 +00:00
8557e441b0
Fixed Goblins of the Flarg, Spawning Pool and Waterspout Djinn. Fixed typo in Moonlace, Sensei Golden-Tail and Spike Tiller. Updated Jeweled Spirit and Recurring Nightmare.
guzhenjie1@gmail.com
2011-03-30 14:39:00 +00:00
d38fd0afbd
Mwonvuli Ooze was only giving 1/1 per age counter.
omegablast2002@yahoo.com
2011-03-30 14:34:00 +00:00
13e5bdb754
Yore-Tiller Nephilim changed it from *|mygraveyard ====> creature|mygraveyard
omegablast2002@yahoo.com
2011-03-30 13:51:40 +00:00
86a69c869f
cleaned up TODO.txt a bit...found some missed gems in there :D Temporary Insanity Tower of Coireall Tower of the Magistrate Transguild Courier Unified Strike Vampiric Sliver Verdeloth the Ancient Veteran's Voice Warbreak Trumpeter Waterspout Djinn Weight of Spires Wild Growth Withering Wisps Wrap in Vigor Yore-Tiller Nephilim Zirilan of the Claw Zombie Mob
omegablast2002@yahoo.com
2011-03-30 04:17:19 +00:00
a645b06433
tiny change, just changed a line to allow ninjutsu to be targeted.
omegablast2002@yahoo.com
2011-03-30 04:13:28 +00:00
948dd212a8
"xx" value wasnt being set if used in activated abilities. >:( why do i need to find out WAY later about these thing. i know someone has come across it becuase there was a morph card which uses {x}{x} that wasnt added because of it.
omegablast2002@yahoo.com
2011-03-30 03:11:06 +00:00
63979190cd
revised "type:" variable in card code to use new syntax. added a few new cards i found along the way: Ersatz Gnomes Extravagant Spirit Ghastly Demise Ghostfire Moonlace
omegablast2002@yahoo.com
2011-03-30 01:04:01 +00:00
d25424cb6c
3 changes 1st had to revise the syntax for my "type:" variable it is now type:blah:location, using the pipe line created nasty returns in some combinations of abilities as the parser confused the pipeline in type: with the one in TC. 2nd more of a correction then a bug fix, i noticed that upcost had instances where it could still trigger its effect in the draw phase becuase the condiational for the ability resolve was in the update, i left the class mostly untouched but move the resolve out of update and into a receiveEvent for upcost, which triggers only once after you declared that you are leaving the upkeep before draw step begins. 3rd reworked the construction of multiability to only produce a single multiability with all the abilities in the string instead of nested multiabilities, it is considerabily easier to debug and creates 1/3 less objects for the engine to deal with in comparison to the old method.
omegablast2002@yahoo.com
2011-03-30 01:01:11 +00:00
696237310f
Tomb of Yawgmoth removed un-needed lord ability.
omegablast2002@yahoo.com
2011-03-29 21:32:26 +00:00
64e42d2570
removed an autoline that snuck in on lotus petal.
omegablast2002@yahoo.com
2011-03-29 20:31:59 +00:00
37e4ba11c0
updated transforms code to use double bracketing.. transforms((effect))...to avoid errors while parsing the ability.
omegablast2002@yahoo.com
2011-03-29 20:28:57 +00:00
f0d104363f
first moved regenerate lower on the parser, 2nd fixed an unforeseen bug with the newability subkeyword and the parser, i now store the string value of the transforms ability and remove it from the main string until transforms is parsed, if I leave it during the whole parsing any ability listed above transforms will not work correctly when granted with this ability. also noticed issues with transforms parsing which i was able to easily correct by making it parse transforms in double brackets, transforms((effects))...updated primitive in next revision. test suite passes, and varified that the fix doesn't effect how "&&" ability works with transforms.
omegablast2002@yahoo.com
2011-03-29 20:28:03 +00:00
827360d226
Reverted Otherworldly Journey and updated Spawning Pool by using Zeth's new code.
guzhenjie1@gmail.com
2011-03-29 14:35:20 +00:00
54b370db4e
reverted the change to the prevent damage cycle of cards. there is a reason they use prevent: instead of "preventalldamage"..for starters "preventalldamage" never worked for permanents which is why i created "fog" 2nd prevent: recreates this cycles ability far better. in the terms of not having strange edge cases where it doesnt work correctly, like that which is seen in preventalldamage.
omegablast2002@yahoo.com
2011-03-29 12:48:16 +00:00
3c891ee271
Changed following cards to use "notatarget" instead of "target". Boggart Mob Changeling Berserker Changeling Hero Changeling Titan Lightning Crafter Mistbind Clique Nova Chaser Supreme Exemplar Unstoppable Ash Wormfang Drake Wren's Run Packmaster
guzhenjie1@gmail.com
2011-03-29 11:00:39 +00:00
07679c6205
Fixed following cards: Artifact Ward Balduvian Horde Champion Lancer Cho-Manno, Revolutionary Desert Nomads Forfend Ghostly Wings Glacial Chasm Glimmervoid Grixis Charm Minotaur Explorer Pillaging Horde River of Tears Spawning Pool Thran Quarry Veteran Swordsmith
guzhenjie1@gmail.com
2011-03-29 10:50:19 +00:00
306c98c02f
had to separate my vectors right bracket from the map bracket for pspsdk.
omegablast2002@yahoo.com
2011-03-28 23:47:33 +00:00
0ac8cd4096
updated prismatic omen, tho im sure there are others.
omegablast2002@yahoo.com
2011-03-28 23:41:46 +00:00
c03a444525
corrected Prismatic omen issue, added newability[whatever ability] to transforms classes. this allows for transforms to also add activated or mtgabilities to cards it targets. example Prismatic omen: auto=lord(land|myBattlefield) transforms(plains forest mountain swamp island,newability[{t}:add{w}],newability[{t}:add{g}],newability[{t}:add{r}],newability[{t}:add{b}],newability[{t}:add{u}]) Issue: 573
omegablast2002@yahoo.com
2011-03-28 23:39:29 +00:00
b600b8c41a
updated Isleback Spawn, i dont have time to hunt down the rest, my apologies.
omegablast2002@yahoo.com
2011-03-28 16:40:25 +00:00
565ee57372
it was reported to me that cards such as Isleback Spawn were not actually working correctly, to fix these i added a compareZone function to aslongas and a tag to use when you want to compare different like zones, example: lets say in the case of Isleback Spawn you want to see if ANY player has less then 20 cards.
omegablast2002@yahoo.com
2011-03-28 16:39:30 +00:00