Commit Graph

3080 Commits

Author SHA1 Message Date
techdragon.nguyen@gmail.com
2c0da5e7e6 added copy constructor with operator=
updated constructor for ManaCost*

TODO:  May have to look at ManaPool in case that needs updates as well.
2011-02-09 12:03:15 +00:00
omegablast2002@yahoo.com
d336f921d7 added Progenitus and Splinter Twin 2011-02-09 09:48:04 +00:00
solo81@web.de
75e34d9012 Added Ghost Town. 2011-02-08 23:27:26 +00:00
omegablast2002@yahoo.com
d8da946f5d forgot a "break;" here on this restriction 2011-02-08 23:09:20 +00:00
solo81@web.de
adaa589e93 Fixed issue358.
New code for Paralyze uses "teach(...)":

[card]
name=Paralyze
target=creature
auto=tap
auto=doesnotuntap
auto=teach(creature) {4}:untap myUpkeepOnly
text=Enchant creature -- When Paralyze enters the battlefield, tap enchanted creature. -- Enchanted creature doesn't untap during its controller's untap step. -- At the beginning of the upkeep of enchanted creature's controller, that player may pay {4}. If he or she does, untap the creature.
mana={B}
type=Enchantment
subtype=Aura
[/card]
2011-02-08 23:03:43 +00:00
omegablast2002@yahoo.com
44fe3cffec fixed a crash that was happening when ai would try to play a card like wurmcalling. 2011-02-08 20:25:41 +00:00
omegablast2002@yahoo.com
4d28bdd925 fixed a bug where mana icons were not being removed from mana pool when using extracost types...this happened during the refactor..the mana was changed from engaging the players mana pool which sends those events, into a sort of "bypass everything and just subtract the mana from the pool" you actually WANT to engage the players mana pool, as its directly tied to the events which remove those mana from the pool. 2011-02-08 19:20:04 +00:00
omegablast2002@yahoo.com
80b35e8071 fix for black sun zeneth...we were checking the wrong thing for a refreshed number...i had it checking the target instead of the source of that ability. 2011-02-08 15:50:57 +00:00
omegablast2002@yahoo.com
67cdb895b9 removed an incorrect line from Concordant Crossroads 2011-02-08 15:15:25 +00:00
omegablast2002@yahoo.com
39e10dd088 updated clockworks, also corrected a few that were removing the wrong type of counter during combat, they come in with 1/1 counters and were removing 1/0 counters, which was wrong. 2011-02-08 15:13:12 +00:00
omegablast2002@yahoo.com
f7b34295fb added a way to set the max amount a counter ability can give you...aka the clockworks effect...as per mtg rules, you are still allowed to activate the effect but if it would put the target counters higher then the max allowed by that ability, then it will do nothing.
it strings exactly like normal counters did, except now after the name you can add yet another "," and a number or word varible...if you will not have a name it is still required that you add the extra comma, as it is a seperator for the parser. so clock works swarm would be counter(1/0,1,,4)...no matter what, this ability will do nothing if the amount of the target counter is already higher then the max allowed, in this case 4...other effects can give the creature more counters...however..this ability will resolve to nothing if youve exceeded the limit. until you are under the amount again.
2011-02-08 15:12:14 +00:00
omegablast2002@yahoo.com
d852486355 Venerated Teacher was set to 1 counter, should have been 2...all this time i thought that it was a little underpowered then normal. 2011-02-08 12:23:59 +00:00
guzhenjie1@gmail.com
4196754abc Fixed Allay, Glissa, the Traitor and Kuldotha Forgemaster was reported in forum. 2011-02-08 10:07:04 +00:00
techdragon.nguyen@gmail.com
1b5a379387 added empty string check when save and quiting from the deck editor.
Issue: 3052
2011-02-08 06:30:18 +00:00
omegablast2002@yahoo.com
104a626b3b excluding these types from allsubtype transforms subability. 2011-02-07 17:12:12 +00:00
omegablast2002@yahoo.com
cba1849ef6 i subjected poor changelings to planeswalker legend rule lol. 2011-02-07 15:37:21 +00:00
guzhenjie1@gmail.com
b1ae9bf548 Fixed Melt Terrain:
mana={1}{R}{R}
 ==> 
mana={2}{R}{R}
2011-02-07 15:07:54 +00:00
omegablast2002@yahoo.com
79d4312660 it was reported to me that blinking a token can potentially crash the game on the "return" my fault..forgot that once tokens go to exile, we're done with them for good. 2011-02-07 14:00:42 +00:00
omegablast2002@yahoo.com
18c70ec187 found the cause of the loop in inkmoth, it has to do with the way manaproducers set thier "needsTapping" depending on the way the ability is called, it can set it 3 ways, {t}<--sets only the manaproducers "tap" and completely ignores the "doTap" which is the way actiavted mana producers call it. 2011-02-07 13:48:27 +00:00
omegablast2002@yahoo.com
9b076d6791 removed a fix to an infinate loop bug with Ai using cards such as inkmoth nexus...
as it removed ais ability to momir...protip in MTG youre not allowed to interrupt your own abilities...the way momir is working now, it select an action that doesnt pass priority instead it instantly searchs for a momir ability...which is wrong...
2011-02-07 13:29:27 +00:00
guzhenjie1@gmail.com
b0a370c1b7 Fixed following cards reported by ph34rbot in forum:
1. Blightwidow
2. Bonehoard
3. Crush
4. Darksteel Myr
5. Revoke Existence
2011-02-07 10:50:36 +00:00
techdragon.nguyen@gmail.com
6ccc859ca0 The issue is the controller for the menu fails badly when the triangle button is pressed. That particular menu uses the menu item id to index into an array somewhere. Since the triangle key is valued at -200, this causes a negative index into an array.
I've added a guard to ignore the triangle key for now.  If there is a more elegant solution we can find later than great.
Issue: 577
2011-02-07 06:55:04 +00:00
guzhenjie1@gmail.com
3eee274726 Deleted carriage-return between Myr Sire and Myr Turbine:
[/card]

[card]
 ==> 
[/card]
[card]
2011-02-06 22:47:38 +00:00
omegablast2002@yahoo.com
bf427b6402 i actually misinterperated the fading rule...
the difference between vainshing and fading is...
fading sac triggers the NEXT time you try to remove a fade counter but cant, vanishing sac triggers WHEN you remove the last counter.
2011-02-06 18:48:08 +00:00
omegablast2002@yahoo.com
230edd917c did away with the "fading" workaround... 2011-02-06 18:21:25 +00:00
omegablast2002@yahoo.com
de6e5ed7eb extended "vanishing" to support "fading" these 2 abilities are the same with the exception of the name of the counter the creature receive. 2011-02-06 18:20:59 +00:00
omegablast2002@yahoo.com
26b1cd2c34 add mutavault 2011-02-06 16:43:58 +00:00
omegablast2002@yahoo.com
a08729d7e8 a little more {s( to {discard( cost clean up 2011-02-06 16:08:08 +00:00
omegablast2002@yahoo.com
ca15d579d1 updated alot of cards using {S(*|myhand)} as "discard a card" to the support i added a while ago, targetted discard cost...{discard(*|myhand)} 2011-02-06 15:57:06 +00:00
omegablast2002@yahoo.com
5ac735c2f5 updated Fauna Shaman to use {discard(blah)}: cost..... 2011-02-06 15:41:09 +00:00
omegablast2002@yahoo.com
acebda16ca was pointed out that a couple subtypes needed to be added to the changeling ignore list. 2011-02-06 15:35:25 +00:00
omegablast2002@yahoo.com
4fd48777fe yeah im stupid 2011-02-06 15:22:15 +00:00
omegablast2002@yahoo.com
bfd0d24d8d forgot we dont want hard to get this boost. 2011-02-06 15:21:20 +00:00
omegablast2002@yahoo.com
9d728ea0dd refactored this optimizedhand section to remove copy paste code...they all check the same condiations except the rating...so i had it check the codiations first THEN the ratings....makes it a little easier to edit later if needed. 2011-02-06 15:16:27 +00:00
omegablast2002@yahoo.com
156fd4a601 fixed handsize issue in demo.
Issue: 587
2011-02-06 14:50:02 +00:00
techdragon.nguyen@gmail.com
e8a656e61e ManaCost hybrids memeber array wasn't being initialized giving each element of the array an undefined value.
Initialized hybrids array to contain NULL elements and toString now checks for NULL pointers before attempting to print out hybrids.
Issue: 586
2011-02-06 12:42:55 +00:00
guzhenjie1@gmail.com
a717bae839 Added "oneshot" code for cards with "Champion a creature" ability:
Boggart Mob
Changeling Berserker
Changeling Hero
Changeling Titan
Lightning Crafter
Mistbind Clique
Nova Chaser
Supreme Exemplar
Unstoppable Ash
Wren's Run Packmaster
2011-02-06 11:39:57 +00:00
Xawotihs
b7b584113b - Moved the card collection out of the GameApp class to clean up the dependencies
- Added method to build a card collection independently of the GUI to ease my unitary test application
- Added part of some network GUI I'm working on, it's #ifdef out, I'm only committing this part to ease later merges
- Added the beginning of a serialization code of the Player and related classes used for network support
- various other minor cleanup
2011-02-06 11:35:40 +00:00
techdragon.nguyen@gmail.com
91a2cb9c90 fixed deck renaming to make changes immediate. 2011-02-05 22:21:49 +00:00
wrenczes@gmail.com
bb2f784489 Refactored Z's last change slightly, eliminated code duplication. 2011-02-05 21:30:28 +00:00
omegablast2002@yahoo.com
a01898436b changed the order of abilities on a couple cards..
general tip on getting ai to use an ability on a card.
titan forge for exsample
[card]
name=Titan Forge
auto={3}{T}:counter(0/0,1,Charge)
auto={T}{C(0/0,-3,Charge)}:token(Golem,Artifact Creature Golem,9/9)
text={3},{T}: Put a charge counter on Titan Forge. -- {T}, Remove three charge counters from Titan Forge: Put a 9/9 colorless Golem artifact creature token onto the 
battlefield.
mana={3}
type=Artifact
[/card]

with the counter ability above the counter cost ability, ai will rarely ever use the titan forge to make a token.
however if you change the order around, ai will see the token ability first...then if it can afford it then it will make a token.
2011-02-05 14:49:40 +00:00
omegablast2002@yahoo.com
7b3d65e984 changed it a little...now now difference while you have less then 10 artifacts/enchantments...after 9 it reorders them into stacks of 5 to save room.... 2011-02-05 13:26:02 +00:00
omegablast2002@yahoo.com
f504051bfd changed the vertstack count of enchantments and artifacts from 3 per stack, to 5 per stack, i wanted to go 6 but i felt it cropped too much off the 6ths card...
reason for this change is that it becames WAY to hard to player decks which contained mostly artifacts to share the feild, give 9 cards half the screen to display just didnt seem like a good choice compared to the creatures horizontal stack which can display almost 200 cards in the same screen width.
2011-02-05 13:05:51 +00:00
omegablast2002@yahoo.com
8f09e8554c a fix for a strange edge case where ai was caught in a trap trying to activate inkmoth lands becomes ability. it would proceed to contenue to do so even tho it was not producing any results. 2011-02-05 11:11:08 +00:00
omegablast2002@yahoo.com
86308a4acb corrected titan forge, it was "lol" incorrect. it was basically "put a charge counter on titan forge, put a 9/9 in play" 2011-02-05 10:52:10 +00:00
wrenczes@gmail.com
d5777a6565 A simpler way to allow trim() to work with temporary strings. 2011-02-05 06:42:53 +00:00
wrenczes@gmail.com
a0a3c59b29 Replaced unnecessary custom shuffle methods with std::random_shuffle<>. 2011-02-05 06:25:25 +00:00
wagic.the.homebrew@gmail.com
f6bef26243 Erwan
- added some cache for function getCardByName. On my machine, this divides the running time of the test suite by almost 2 (now runs in 12 minutes instead of 21)
2011-02-05 03:46:41 +00:00
techdragon.nguyen@gmail.com
cab5a99833 added processing for todo list as well 2011-02-04 13:41:24 +00:00
techdragon.nguyen@gmail.com
767983631a * moved deck saving to end of match. It now only saves when you've actually completed a game.
* added additional meta data for decks when saving them back to file.
  - decks saved this way now are split into three regions: creatures, spells and lands.  It's more for a visual sorting if a
     player wanted to look at the deck outside of the game.  It does not impact the deck loading negatively at all.  It may
     increase performance in cases where the deck was previously defined using the canonical names of the cards as the numeric ids
     reduce the work done when looking up the cards by name.
* modified ManaCost toString method.
* added toString method for ManaCostHybrid ( possibly make ManaCostHybrid a subclass of ManaCost)
* added additional operator overloading for ManaCost for printing to cover ManaCost when it's a pointer as well as a copy
   ( TODO: might want to check if making usage of ManaCost as a copy as opposed to a ptr is really necessary in most cases. )
* added alternate version of "trim" to handle trimming temporary strings as returned by things like ostringstream.str().
 - This was necessary since the PSP compiler doesn't do the necessary adjustments for those types of calls.
2011-02-04 12:37:44 +00:00