Commit Graph

1879 Commits

Author SHA1 Message Date
wagic.the.homebrew 34311a4499 - Removing "mCount" variable from GuiLayers 2011-05-29 04:40:13 +00:00
omegablast2002@yahoo.com 4e86981231 fix for issue 642. noticed thier is a whole slew of bugs in story mode that didn't exist before. this mode has been neglected and we should consider taking some time to bring it back up to standard.
i'll open some tickets for it later.
2011-05-28 23:31:45 +00:00
wrenczes@gmail.com 68cffde7de Refix on issue 634. Calling EndInstance() on the DeckManager wasn't the right fix here, as it blows away all the instance data and basically nullifies the advantage of caching all the stats data. From what I could see, the problem was more a case of when a new deck was targetted, if no stats file was already present for the new deck, the old values from the previous player deck would persist. Now we clear these up before attempting to assign new values, so if the stat info doesn't exist, it'll show 0 matches / victories /etc instead of stale data belonging to another player deck. 2011-05-28 05:00:40 +00:00
Xawotihs 0e26368c89 Fixed JGE key binding in SDL config 2011-05-26 21:24:17 +00:00
wagic.the.homebrew a84eb8dc22 -Fix for issue 583 (fireball crash)
-- converted an array into a vector to avoid weird edge cases
-- fixed bugs with array "backupTargets"
2011-05-26 12:27:44 +00:00
omegablast2002@yahoo.com 69d6b6d5a8 removed the flying text from stonehewer... 2011-05-23 15:21:36 +00:00
omegablast2002@yahoo.com 0727343ebe first moved the def of handsize for a game into the rules.txt as discussed with wololo...
this update requires you to update your rules folder files!!!

2nd
added 2 new vanguard game modes.
Stone Hewer Basic - when ever a creature enters play, a random equipment with a converted mana cost less than or equal to that creature is put into play and attached to it.
this mode is unlockable, requirement = win a match where 10 or more equipment were in the battlefeild at the moment you won.

Hermit Druid basic- in this game mode, during each of the players upkeeps, a random land card from their deck is placed into the battlefield, these do not count against your 1 land per turn limit.
to unlock this, win any match with less then 10 lands.
2011-05-23 11:46:04 +00:00
omegablast2002@yahoo.com 24049d3da4 fixed a reported bug with blood chief accession, the cause was a goof up in logic, in the refactor to this section, foelost( parsing was changed to be its bool for lifelost....however since it was changed and we now didn't declare that "foelost(" was "found"...found was a null variable when we tried to atoi it.... 2011-05-19 12:35:35 +00:00
omegablast2002@yahoo.com 426cc68950 fixed a bug where "becomes(" was no longer giving more the a single ability to a card, example, inkmoth nexus would only gain flying, and not gain infect, this i imagine was due in part to a goof up...we split the string at the top by comma, in the refactor for this section it was changed to be either "" or becomesblah[2] <--this is incorrect, becuase what if a card would gain 2 abilities or more ...the we need to append the rest of the split portions back into the abilities string for adding.
also a piece that didn't get in my last commit, nothing big just 2 lines...not sure why on earth it didn't commit them before...
2011-05-19 12:17:53 +00:00
omegablast2002@yahoo.com 4793ba76bb taught ai how to use ability fizzlers such as Glen Elendra Archmage...reworked fizzle to cover both cases of ai trying to target a card on the stack. 2011-05-17 13:58:28 +00:00
wagic.the.homebrew 9b63553c3e - Minor code cleanup (removed AABanishCard class and unused banishmentType variables) 2011-05-16 23:41:52 +00:00
wagic.the.homebrew 480875d57a - Subtypes "getValuesById" now returns a reference
- Minor cleanup of Transformer per one of my comments a few days ago.
2011-05-16 23:19:08 +00:00
omegablast2002@yahoo.com 39420a911f 3 fixes,
first you are not allowed to mulligen the opponents hand.

second persist was using the stack on its returning effect, this is incorrect as per MTG rules for persist, the card is supposed to go from the grave directly to inplay(grave -> temp -> inplay, in our case).

third, tokens models don't have names, so i make it check now for a name size on the model before clearing and resetting in tranformer.
2011-05-16 18:36:47 +00:00
techdragon.nguyen@gmail.com a66dc389e2 fixed logic bug for length of src variable in filter. When src is modified the local var representing
its length should also be updated.
2011-05-15 18:41:40 +00:00
wagic.the.homebrew 2f3e6b56e5 - Fix for issue 660 (changelings have become slower)
-- I removed the string comparison, which was expensive (the test is not necessary anymore, since it was "shielding" us from fake types (names), which are not creature subtypes, and therefore do not go through). I also moved one function call outside of the loop, just in case that wasn't optimized by the compiler.
- Removed unused Subtypes.cpp function (I don't really want people to use it, it can be quite expensive if used incorrectly)
- moved a test for issue 501 that has been fixed a while ago (we forgot to add the test to the test suite)
2011-05-15 14:38:41 +00:00
techdragon.nguyen@gmail.com ff6d6e56fe related to issue 655. The change to bitwise representation of mana required some changes in the deck output methods. 2011-05-13 03:40:38 +00:00
techdragon.nguyen@gmail.com 28cd4acaf8 In the most recent update of the basic abilites this iterator was changed to a standard for loop. However, the condition of when to stop was never written, thus when you saved as AI deck, you either ran into an out of bounds error or some other exception.
This seems to have fixed the bug.  
Issue: 655
2011-05-13 03:28:59 +00:00
wagic.the.homebrew@gmail.com 1ee3c9eccc - revert r3645
- fix memory leak in GenericInstantAbility
2011-05-11 08:06:53 +00:00
omegablast2002@yahoo.com 2c9d029bdc fixed a memleak introduced in r3639..
i also changed the logic behind wololo "ueot " instant ability creator...instead of sending it directly to genericinstantability i created a new class called AGenericInstantWrapper...which handles the adding, cloning, removel ect, exactly how we have always handled "instant abilities"...this should correct any further "odd edge case" issues with the new "ueot " code...

later i will varify if it works with every single ability we current build with a wrapper class...and see if i cant remove them all and convert "ueot " into the NEW until end of turn handling method....lets cross our fingers as it would remove ALOT of extra code if successful....
2011-05-10 18:52:51 +00:00
omegablast2002@yahoo.com e275a599b7 ok this may, or may not get me yelled at...but i can explain why i do it in rules...so don't kill me :(
added 
"offerinterruptonphase=blah"
to the parsing of the rules.txt files...the reason i want to handle it inside the rules.txt....
originally i was going to use the options variable for this, then i realized that if i use that variable, it would apply it to every game mode and peoples custom games...so instead i added the parsing in the actual rules.txt files, this way, if we want to offer interrupt on phase blah to MTG, but NOT have this interrupt offered in a mod or different mode, or if the different mod or mode should offer you a chance to interrupt ai in a different phase ...you can set each rule to interrupt in the phase you want...

now for the reason i added it in the first place...previously we were allowed an interrupt when the opponent drew a card in the draw step, this gave us a chance to do stuff on opponents turn....
recently wololo i beleave made draw actions not use the stack anymore(which was a good change, since as per MTG rules the actions of drawing is not a stack action)...but as a side-effect, we lose our chance to interrupt ai and do stuff on ais turn....

also, changed the ingame bonus thing, to start recording stuff towards bonuses on turn 2+...this solves reported issues with story mode "setting up" causing massive bonuses to be gained for doing nothing.....
2011-05-10 17:08:08 +00:00
omegablast2002@yahoo.com e9a2b2f495 added a guard against removing aloseabilities from a card which already has an active aloseabilities, we generally dont want these to remove each other...this also fixes a mem leak i created in the previous fix for an infinate loop this was creating, i left that fix in place just in case some crazy edge case would add it to a card again. 2011-05-10 14:40:54 +00:00
omegablast2002@yahoo.com 8c2c0ae8de made it an else transformer removetypes...reason, you are either
removing the types, removing all types, or adding a type...not ever doing them all in a single transforms.
2011-05-10 14:34:49 +00:00
omegablast2002@yahoo.com da1ec8eed3 moved the readding of types below the removel of abilities incase a becomes would be used as a newability.
2nd, found a infinate loop is created when you cast a loseabilities on a card which has loseabilities, when the 2 effect ends it readds the first one, before it is removed, making the first one remove the 2nd one and repeat forever....

this is only a half fix, it created a memleak in the place of the loop :/ so wololo please review!!!
2011-05-09 19:42:30 +00:00
omegablast2002@yahoo.com 8737aec005 couple tweaks to transforms to it doesn't add subkeywords as types....
2nd, removed a peice of code which was originally added i imagine before list mentioner was created which added cards whos names ended in "s" to the subtypes list, this is completely unrelated to the "s" charector added to targetchooser. this was actually a really nasty hack....
previous subtypes list contained 1200 variables...the new one after this removel is about 237ish....

this does not impact foreach, or any targetchoosers ability to target a card by name, targetchooser is coded to add card names to the subtypes list as it needs them, so using foreach(arbor elf) will add this to subtypes list for targeting purposes, in the future we might want to have this kind of check done and handled outside of the subtypes list, adding card names to that list for the purpose of targeting is just dirty.

this fixes a ugly lag spike introduced with the change to subtypes...for now...we need to consider a better way to sort these in the future to avoid this returning as subtypeslist gets bigger.
2011-05-09 18:10:10 +00:00
omegablast2002@yahoo.com 01cfbf5a02 couple bug fixes, changed a subkeyword of transforms "removesubtypes" to "removealltypes" remove all the types of the card, added "removecreaturesubtypes" to maintain previous support it was used for. 2011-05-09 15:55:34 +00:00
wagic.the.homebrew b1ea63cd79 changed Subtypes map into a vector, hoping for some speed improvements. 2011-05-09 13:56:22 +00:00
omegablast2002@yahoo.com f8406e9de2 fix for maxcast...the currentPlayer is not always the game->currentlyActionPlayer...in the cast of maxcast and play, we want to check restrictions vs the currentAction player.... 2011-05-08 13:38:12 +00:00
omegablast2002@yahoo.com 96c636643a it was reported to me that the new phrexian mana should add to the cards converted mana cost...so a card which cost {b}{p(r)}{p(r)} should be 3 converted... 2011-05-08 12:49:39 +00:00
omegablast2002@yahoo.com 27df1e9172 removed a check that was causing gem hide sliver lorded manaproducer to not reacttoclick...i moved the check for extra cost to activatedability, so this became obsolete.... 2011-05-08 11:59:08 +00:00
techdragon.nguyen@gmail.com 82058e97c5 * fixed some formatting
* pruned out unused local variables. 
----  There's no need to define something if it isn't going to be referenced. It consumes extra memory temporarily and more than anything is a potential cause for confusion down the road.
2011-05-08 11:56:25 +00:00
omegablast2002@yahoo.com 2c34aaf8a5 fixed a bug intruduced by a refactor to the parsing of transforms ability with caused "newability" to be split incorrectly...im sure it was a mistake, or maybe rushed? at the point this code is "parsing between" the abilities have already been split up...all we do here is erase the "newability[" and last of "]" from the string.... 2011-05-08 09:32:07 +00:00
wagic.the.homebrew 2c0b5baab7 Fix for issue 647 (Evil Presence cast on a swamp removes mana ability) 2011-05-08 09:06:56 +00:00
wagic.the.homebrew e713122e7f fix PSP build 2011-05-07 12:43:00 +00:00
wagic.the.homebrew ab33d29682 - Fixed a bug where the AI would block its own attacking creatures (I reintroduced that bug recently when I removed a safeguard Zethfox had added a while ago)
- Added a way to specify "no interrupt" in modrules.xml (I need to write a doc about this file) for a given game. This does not mean the stack does not show up (the stack is interesting to see what the opponent does), but that it only offers to continue.
2011-05-07 11:58:37 +00:00
wagic.the.homebrew fe276ca330 Minor code cleanup in ActionStack 2011-05-07 10:12:45 +00:00
wagic.the.homebrew d652f754d8 Moved "static" mana render a bit to the right for opponent, to avoid rendering it over the opponent's avatar 2011-05-07 08:44:07 +00:00
wagic.the.homebrew 472d593563 remove "cleanup" phase being automatically added to custom phase ring. People who want it should add it manually in their custom ring. 2011-05-07 04:48:56 +00:00
wagic.the.homebrew f96635541d - Fix for issue 650 (tidal Warrior effect doesn't end at end of turn)
- Fix PSP compilation
2011-05-07 04:10:47 +00:00
wagic.the.homebrew 062d5f9485 Fix issue 650 (Deck Editor doesn't count basic land types as mana producers anymore, Filters can't find basic mana ability producers anymore) 2011-05-07 02:42:49 +00:00
wagic.the.homebrew 2f498780a2 Fix: Mana Producers don't use the stack (there already was a partial fix I believe, this one fixes issues with triggered abilities) 2011-05-06 09:01:27 +00:00
wagic.the.homebrew 7beb958067 Adding a way to mark decks as "locked" based on options requirements (option on or off). Can be used for example to lock a deck until a specific set is not unlocked. Works for both player decks (could be used for premade?) and AI decks. 2011-05-06 06:40:00 +00:00
wagic.the.homebrew efad3f652f Minor refactor of menu text for "move" abilities. Zeth, Dr.Solomat, please let me know if something goes wrong. 2011-05-06 04:43:27 +00:00
wagic.the.homebrew 12228b51a0 - Minor refactor of "transforms" ability
- Updated changeling and transforms to only get creature types (as initially intended by the code), removed hardcoded list of "types to avoid"

The test suite passes
2011-05-06 03:52:35 +00:00
wagic.the.homebrew 1e2ed785eb Fix for issue 646 (Tidal Warrior) 2011-05-06 02:27:49 +00:00
wagic.the.homebrew 691a1e1b91 - Fixed a Bug where AI would not block any attacker in Demo mode (bug introduced in r2759)
- Fixed a Bug where AI would not correctly assign blockers if the first attacker is super strong.
- Added a hack to prevent AI from an infinite loop while choosing a target. There are edge cases where the AI gets to choose the targets for a TargetChooser that doesn't belong to it. I couldn't dig too long for the root cause, so I added a "return 0" when the case happens. Should probably open a ticket
- Added a "Hint" System in AI decks, to help the AI with its strategy. This is not really usable yet, it only works with abilities (not cards to play), and I only added some basic code for counters and tokens. This can probably be extended, but let's wait until we see it working on that other game I'm working on, before rushing into adding hints to all AI decks...
- minor cleanup of AI Code
2011-05-05 14:27:46 +00:00
wagic.the.homebrew 748af5b461 - Adding a generic "ueot" effect. This will be initially confusing, but the ultimate goal is to get rid of all the particular cases we handled with "until end of turn" effects. this "ueot " works like "may " and "choice ", it has to be at the very beginning of the ability(ies) it targets. The reason is to avoid conflicts with the existing "ueot" we have all over the place. I have only tested it with transforms and loseabilities for now (see "ovinize") but hopefully this will become the new norm. This should also reduce the code inside the parser, long term.
- Adding "Ovinize" as an example of this new keyword.
- moved "parseBetween" in utils as I am using it in other files for wome work in Progress.
2011-05-05 06:18:50 +00:00
wagic.the.homebrew 4c572a1ffa Fixes for Boosters in the Shop. Fixes issue 644 and issue 621 2011-05-05 05:51:50 +00:00
wrenczes 5041916fdd Fixed the psp build breakage in r3595. Erwan, pls review - I think that the subtypesToType map probably should be unsigned ints instead of signed, but I wasn't about to sweep through the file right now. 2011-05-04 10:27:18 +00:00
wrenczes bfffb169cf Fixed the psp side - darned implicit casts... 2011-05-04 10:15:38 +00:00
wrenczes 0cb8c50b39 Replaced ManaCost's int array with int8_t. Shrinks ManaCost by another 24 bytes, which in turn lowers CardPrimitive's footprint by the same amount. 2011-05-04 10:02:47 +00:00