Compare commits

..

367 Commits

Author SHA1 Message Date
Vittorio Alfieri d7838829ad Added/fixed primitives. 2021-03-12 17:06:51 +01:00
Vittorio Alfieri cea45370a6 Added/fixed primitives. 2021-03-11 21:56:03 +01:00
Vittorio Alfieri 2234a508c3 Added/fixed primitives, added a new ability "undamageable" (e.g. Dralnu, Lich Lord). 2021-03-11 16:39:50 +01:00
Vittorio Alfieri 37ce334688 Added TSR and HA4 sets, added/fixed primitives, improved Android downloader, fixed a crash when AI pays a Convoke alternative cost, fixed a random crash on Windows when opening zip files, fixed a random crash in destroy ability method (e.g. blasphemous act). 2021-03-09 19:07:31 +01:00
Vittorio Alfieri 2abb218164 Fixed Synthetic Destiny. 2021-02-24 18:25:06 +01:00
Vittorio Alfieri c8f763173d Improved AI: now during opponent's turn it will not search just for instant cards from hand but it can also play cards with "flash" ability from all the other available zones (e.g. "flash" cards from graveyards which have "canplayfromgraveyard" of Flashback and/or Retrace cost). 2021-02-23 12:59:22 +01:00
Vittorio Alfieri 81d4b3d84f Improved AI: now it can plays cards using alternative cost too, fixed thisturn restriction in some primitives. 2021-02-22 19:16:54 +01:00
Vittorio Alfieri 8d740c6bc1 Fixed Hero of Bretagard. 2021-02-19 22:23:26 +01:00
Vittorio Alfieri d3379c9c08 Fixed a crash when AI try to activate a combo (caused by new ANYTYPEOFMANA management), fixed the Visual C++ project file descriptor, fixed ELD set DAT file, improved Andorid downloader, fixed primitives. 2021-02-19 18:50:25 +01:00
Vittorio Alfieri 89cdeead88 Fixed some borderline primitives. 2021-02-18 19:03:46 +01:00
Vittorio Alfieri 17d6860505 Improved AI: now it can cast spells from graveyard using thier Flashback and Retrace costs, fixed a crash in Deck Editor stats loader when a card ability contains some "add" substrings (e.g. "counteradded" followed by "restriction{"), added/fixed primitives. 2021-02-18 12:48:59 +01:00
Vittorio Alfieri bc9142ad6e Improved AI: now it can activate abilities of cards in all zones such as commandzone, hand, graveyard and exile using the keywords "autohand", "autocommandzone", "autograveyard" and "autoexile" just as normal Human player does. 2021-02-17 15:31:31 +01:00
Vittorio Alfieri 6c9c770f2d Fixed all primitives with Fuse cost (now we use a special kicker cost for them), fixed all primitives with double kicker cost (now we use other and kicker cost togheter), added a new ability "hasnokicker" for primitives which have kicker for other purpose (e.g. Fuse cards), fixed an issue on cost name for both kicker and retrace cost, improved green highlight management for cards which can play in exile and graveyard (such as retrace cards, flashback cards, and so on), improved kicker cost management. 2021-02-16 16:08:08 +01:00
Vittorio Alfieri ed330fa70c Fixed Lukka, Coppercoat Outcast. 2021-02-15 20:56:52 +01:00
Vittorio Alfieri 7bce2a19e2 Fixed Lukka, Coppercoat Outcas. 2021-02-15 20:06:15 +01:00
Vittorio Alfieri 60ca9e05c0 Added the possibility to specify a name for Kicker cost and Retrace cost with "name()" keyword, implemented Escape cost with Retrace cost, implemented Fuse cost with Kicker cost, fixed several primitives. 2021-02-15 18:41:59 +01:00
Vittorio Alfieri f383d0b8a5 Fixed some primitives. 2021-02-13 18:54:15 +01:00
Vittorio Alfieri b17eb2c870 Fixed primitives with "scry" and "reveal" abilities. 2021-02-12 17:00:20 +01:00
Vittorio Alfieri d3c0e397b6 Added/fixed primitives, fixed/improved several primitives with "reveal" ability, added a new keyword "findfirsttype" to allow AI to user a kind of "revealuntil" ability from its library, fixed a crash wthen temp zone has duplicated cards from other zones (such as library). 2021-02-12 11:57:27 +01:00
Vittorio Alfieri a72c35a693 Fixed all cards with "scry" ability, fixed all cards with "surveil" ability, fixed all cards with "explores" ability, fixed all cards with "adventure" ability. 2021-02-10 22:29:08 +01:00
Vittorio Alfieri d0d7554b1d Fixed cost reduction issue for card with X in their main cost or alternative cost. 2021-02-09 12:10:15 +01:00
Vittorio Alfieri cf9f6ed474 Fixed cost reduction issue for card with X in their cost. 2021-02-08 23:10:01 +01:00
Vittorio Alfieri eb8da4d4b2 Fixed issue #1054 (opened by @ranger7271), fixed/added primitives with "scry" ability, improved scry ability for both Human and AI player, added a new ability to replace the scry ability with some actions (e.g. Eligeth, Crossroads Augur). 2021-02-08 17:08:20 +01:00
Vittorio Alfieri a858ed405f Fixed some primitives with "Suspend" ability. 2021-02-06 17:31:13 +01:00
Vittorio Alfieri 8f432718cf Fixed primitives with "preventalldamage from" ability. 2021-02-05 22:27:30 +01:00
Vittorio Alfieri f1ee227b84 Fixed deck selection in Deck Editor Menu (now it shows both Classical Decks and Commander Decks using a CMD suffix) and fixed deck selection in Demo Mode (now it filters decks according to game mode as it happens in normal game mode). 2021-02-05 11:25:04 +01:00
Vittorio Alfieri 8c031585cf Fixed some borderline primitives. 2021-02-04 18:29:49 +01:00
Vittorio Alfieri 74ddb33239 Fixed "anyzone" keyword: now it includes commandzone, reveal and sideboard too. 2021-02-04 12:54:22 +01:00
Vittorio Alfieri a00919cc02 Added/fixed primitives. 2021-02-02 18:39:23 +01:00
Vittorio Alfieri 6fe1e4d351 Fixed some borderline primitives. 2021-02-01 16:58:52 +01:00
Vittorio Alfieri f6274dc914 Fixed C18 set, fixed primitives from KHM set, improved Android downloader. 2021-01-31 15:28:35 +01:00
Vittorio Alfieri 783bcf1142 Added KHM and KHC sets, improved Android downloader, fixed/added primitives, improved "hascnt" keyword, added "myhandexilegrave" and "opponenthandexilegrave" zone targeters. 2021-01-31 00:59:15 +01:00
Vittorio Alfieri b9d6410aba Fixed Garruk's Harbinger and Gishath, Sun's Avatar (issue #1052 by @ranger7271). 2021-01-28 21:59:47 +01:00
Vittorio Alfieri b35e503a0f Fixed Flamerush Rider, added battleready option to "clone with" keyword. 2021-01-28 15:56:15 +01:00
Vittorio Alfieri 024e015dfc Fixed primitives, fixed a random crash in ActionStack.cpp, added a way to search wallpaers in theme folder before to search them in the default folder, improved the keyword to retrieve the highest power and toughness of creatures in play, now it's possibile to use "pwr:" and "ths:" instead of "power:" and "toughness:", so it's possibile to use this keyword in variable{} construct too. 2021-01-27 11:16:41 +01:00
Vittorio Alfieri dd844fc25e Fixed Etchings of the Chosen (issue #1051 by @ranger7271), added primitives with choose card name, added two keywords "chooseaname" and "chooseanameopp" to choose a card name ("chosenname" and "lastchoosenname") between your cards or opponent cards, added a keyword "[attached]" to target equipment attached to a permanent. 2021-01-26 20:47:33 +01:00
Vittorio Alfieri c60f8787d1 Added a new keyword "excessdamage" to retrieve theamount of exceeded damage to creature or planeswalker, fixed an issue on planeswalker damage count, added a new keyword "genrand" to generate a random number between 0 and a specific number (e.g. "genrand3"), improved Flip ability in order to allow the flip back from copy for a generic card name (e.g. "flip(myorigname) undocpy)" 2021-01-25 17:24:15 +01:00
Vittorio Alfieri 4bdc1fdfe1 Fixed Treasure token, added boast trigger event, added new keyword "hascnt" to retrieve the amount of specific counter type on a card (e.g. hascntloyalty). 2021-01-24 20:37:14 +01:00
Vittorio Alfieri f6199719fd Fixed issues #1049 and #1050 opened by @ranger7271, improved imprint keywords, improved boast ability, added a new "hasability" keyword to check if a card has an ability or not. 2021-01-24 15:53:49 +01:00
Vittorio Alfieri 2b7baf7fc8 Improved foretell mechanics, added a trigger for foretold cards, added a new keyword "snowdiffmana" to compare snow mana pool and mana cost of a target card, improved phaseaction "checkexile" condition. 2021-01-22 19:37:09 +01:00
Vittorio Alfieri 5184132e8b Fixed primitives, added "notshare!" keyword (e.g. to search cards with different names), improved decks selection according to chosen game mode (e.g. Game will show commander decks only in commander mode and it will hide them in other modes). 2021-01-22 14:15:43 +01:00
Vittorio Alfieri 3a38e7f4ab Added/fixed primitives, implemented a new keyword to count the greatest number creatures that share same subtype (creatures with changeling counts as +1 for all creature types) 2021-01-21 15:53:27 +01:00
Vittorio Alfieri 17fdc5bc9f Fixed primitives, fixed multiple snow mana cost payments, added keywords to count snow mana pool (total and single colors). 2021-01-20 18:27:20 +01:00
Vittorio Alfieri 0b5f375df6 Fixed primitives, fixed multiple snow mana cost payments, added keywords to count snow mana pool (total and single colors). 2021-01-20 18:11:56 +01:00
Vittorio Alfieri f982124209 Added boast ability, refactored WParsedInt class (this class has been removed from AllAbilities.h file and it has been included into two dedicated .h and .cpp files), refactored all makefiles (Windows, Linux, PSP and Android) in order to to include the new .h and .cpp files added for WParsedInt class. 2021-01-18 17:11:09 +01:00
Vittorio Alfieri 177541b30c Added/fixed primitives, improved "@draw" trigger, added a "@scryed" trigger for scry ability, added a new keyword "placefromthetop" to put a card in a specifc position of owners library from the top. 2021-01-16 16:35:18 +01:00
Vittorio Alfieri 2ff2d4ac79 Added/fixed primitives, improved "anytypeofmana" ability for both player and AI and implemented "anytypeofmanaability" keyword to allow the user and the AI to spend mana of any color to activate abilities. 2021-01-15 18:25:38 +01:00
Vittorio Alfieri 77c48dc1d5 Fixed/refactored primitives after the parser has been improved in order to allow the usage of "^" instead of "," char in a lot of abilities (e.g. to use the token, flip, rampage, phasealter, becomes keywords inside transforms or to target a card with a "," char in its name). 2021-01-15 00:43:13 +01:00
Vittorio Alfieri 91d19e2852 Fixed WAR, C18, PAL00, UST set, added/fixed primitives, improved Android downloader, implemented Foretell ability, improved castcard keyword, improved "can play" restriction, improved primitives parsed in order to allow the nesting of transforms, ability$! reveal, scry, pay, grant keywords. 2021-01-14 17:51:13 +01:00
Vittorio Alfieri 69885cf90a Added/Fixed primitives, improved PAYZERO rule for commandzone. 2021-01-11 16:53:14 +01:00
Vittorio Alfieri 6229de7c55 Fixed MB1 set, added/fixed primitives, improved Android downloader, improved keywords to remove and add counters. 2021-01-10 17:48:08 +01:00
Vittorio Alfieri 7c8b634086 Added a new game option to allow the user to decide how to sort sets in filter and award section (by sector, by name or by release date). 2021-01-09 13:34:42 +01:00
Vittorio Alfieri 7a6c4b2c15 Added ATH and DDN sets, refactored all sets to add a new tag for better sorting in set filter and award section, improved Android downloader. 2021-01-09 02:26:38 +01:00
Vittorio Alfieri eaaa4d783b Fixed/added primitives, added keyword to alter devotion count, added keyword to target cards with flashback cost, added "duplicatecounters(single)" keyword to add a counter of a specific kind already present on a permanent or a player. 2021-01-07 18:56:47 +01:00
Vittorio Alfieri 4c00dfb3b6 Fixed Duplicant primitives. 2021-01-06 18:59:08 +01:00
Vittorio Alfieri fe1a89e67a Improved the Imprint keyword ability and fixed Duplicant primitive. 2021-01-06 16:32:14 +01:00
Vittorio Alfieri 5dbe6f8c9c Fixed primitives. 2021-01-06 11:46:38 +01:00
Vittorio Alfieri 0fce1c591f Improved "can play land" restriction used for double-face modal cards from Zendikar Rising set. 2021-01-05 22:25:40 +01:00
Vittorio Alfieri d9e3101212 Fix for IP Address resolution on Wondows for 2 Players mode. 2021-01-03 14:19:16 +01:00
Vittorio Alfieri 21b5308420 Fixed code trying to make the 2 Players mode work better. 2021-01-03 01:07:18 +01:00
Vittorio Alfieri 0d31ec5b21 Added missing graphics for game modes unlock, fixed italian lang, fixed awards dat file, fixed a bug on Game Award section, refactoring for AllAbilities.h file. 2021-01-01 16:14:58 +01:00
Vittorio Alfieri 65bf650868 Improved and added new "starting life" related keywords, fixed all primitives related to "starting life" keywords. 2021-01-01 03:47:02 +01:00
Vittorio Alfieri e3aff3c23a Fixed trophy image rendering for hi-res quality, fixed all primitives with XX cost, added some missing primitives from ol sets. 2020-12-31 17:32:34 +01:00
Vittorio Alfieri 1444ed6b7c fixed bug causing AI never play a card there are one or more cards in graveyard or other zones, fixed and improved removemana ability, fixed/added primitives. 2020-12-30 17:52:06 +01:00
Vittorio Alfieri 1f98173197 Avoided a memory allocation error of SDL EnginePlayer on Android version when loading more than 32 audio samples at same time. 2020-12-27 01:08:51 +01:00
Vittorio Alfieri b7c6725b44 Fixed Italian and Spanish lang, fized Commander award condition. 2020-12-26 22:14:58 +01:00
Vittorio Alfieri f9e0746e1c Increased Android SDK and NDK version for Android 10, updated Italian and Spanish lang files, patch boost dependencies for TIME_UTC definition, fixed import for usleep. 2020-12-26 17:19:02 +01:00
Vittorio Alfieri b2c55e307c Updated spanish lang, Improved Commander rules and award, fized/added all primitives with divide damage between one or more targets. 2020-12-26 01:45:13 +01:00
Vittorio Alfieri 99033e3fb2 Fixed Edgar Markov, issue #1047 2020-12-25 01:05:10 +01:00
Vittorio Alfieri 053f202f32 Fixed primitives with imprint ability. 2020-12-25 00:00:03 +01:00
Vittorio Alfieri 991625dea4 Fixed Duplicant primitive. 2020-12-24 12:43:32 +01:00
Vittorio Alfieri 0ca310da54 Added feature to allow some cards to copy and flip back at the end of turn, added feature to use type: keyword with chosentype and chosencolor combo, fixed crashes on "can play land" restriction, fixed land primitives with pay life or tap condition to avoid crashes. 2020-12-23 12:39:18 +01:00
Vittorio Alfieri d40d6f319e Fixed/added primitives from older sets. 2020-12-22 17:56:49 +01:00
Vittorio Alfieri 3a8d70ff27 Fixed all primitives with Domain ability, fixed issue #1044 opened by DroidArthas. 2020-12-22 12:38:24 +01:00
Vittorio Alfieri 1aed1c1517 Fixed and improved the Deck Importer (from MTGO) in Android application, fixed frozen and freeze untap bug, fixed/added primitives. 2020-12-21 22:39:18 +01:00
Vittorio Alfieri a801069a3a Improved explores ability, added new trigger to handle the explores event from a card, added/fixed primitives from older sets, fixed RIX dat file. 2020-12-20 23:14:44 +01:00
valfieri e67078355a Improved target chooser to allow a multiple selection for player, creature and planeswalkers, now it's possible to use target(player,creature,planeswalkers) as well as target(<variable>player,creature,planeswalkers) and so on. Added abilities for giving exiledeath and handdeath to instant and sorceries (the previous were not working fine), Added ability to identify the cards with Cycling ability as a target, Updated all primitives with cycling ability, fixed all primitives with choose any target ability, Added/fixed primitives from RIX set. 2020-12-18 19:04:51 +01:00
valfieri 0d2e4af2a3 Added new keyword to count creature of the same type with both unique and common names, added/fixed primitives form M19 set.
Added new keyword to count creature of the same type with both unique and common names, added/fixed primitives form M19 set.
Added new keyword to count creature of the same type with both unique and common names, added/fixed primitives form M19 set.
Added new keyword to count creature of the same type with both unique and common names, added/fixed primitives form M19 set.
Added new keyword to count creature of the same type with both unique and common names, added/fixed primitives form M19 set.
2020-12-16 18:05:29 +01:00
valfieri 3e7ef8c77c Added abilities for cards which have to return battlefield or hand instead of graveyard (e.g. just like exiledeath ability), improved fresh attribute management also for card moved in hand, library, commandzone and for instants and sorcery spells, added/fixed primitives. 2020-12-16 12:21:57 +01:00
valfieri b09763d89e Improved Die Roll event and trigger, added Flip Coin trigger management, added/fixed almost all primitives with "roll a die ability", fixed some tab chars in source files. 2020-12-15 19:49:06 +01:00
valfieri bf3d35463f Added commander mode achievement and improved its graphic resources, added fixed primitives, fixes RNA set file, added new keyword and events to code the ability of six-side die roll. 2020-12-14 19:20:05 +01:00
valfieri a753bb0c1b Implemented new keyword for creatures which have to be blocked from 3 or more other creatures, added/fixed primitives. 2020-12-11 16:41:20 +01:00
valfieri d2ea81bdbc Added/fixed some primitives. 2020-12-10 10:37:32 +01:00
valfieri d4b663220f Fixed compilation issue on AllAbilities.h 2020-12-09 21:12:22 +01:00
valfieri f4353fb0e9 Fix compilation issue. 2020-12-09 20:54:35 +01:00
valfieri 3ec955bf2c Added/fixed primitives. 2020-12-09 20:32:26 +01:00
valfieri 68d21ddd23 Added/fixed primitives and implemented new keywords to count the single color symbols in player's manapool. 2020-12-09 19:28:28 +01:00
valfieri 16e6df9503 Added CC1 set, added/fixed primitives related to commander abilities, fixed cost increase for Commanders who have been cast multiple times. 2020-12-09 15:23:15 +01:00
valfieri 7c696ac213 Improved Commander format card selection rule, added new keyword
"autocommandzone=" to trigger abilities from Command Zone (e.g. Commander Ninjutsu), added/fixed some primitives, added a new GUI Button to show Player's Sideboard.
2020-12-08 20:48:11 +01:00
valfieri d18232df10 Fixed Commander Format selection of identity color, added/fixed primitives related to commanders abilities. 2020-12-08 00:32:33 +01:00
valfieri d6a1a8eda8 Added/fixed some primitives, improved Deck Editor to allow user to choose commanders from collection and add them to their decks. Implemented command color identity rule and single card instance limitation for Commander Format game mode. 2020-12-07 19:25:06 +01:00
valfieri ced2c85076 Implemented Commander mode and rules, added Command Zone to game, added/fixed primitives, increased the major release version. 2020-12-06 20:11:51 +01:00
valfieri 6ef9ecc147 Fixed/added some primitives. 2020-12-01 18:13:59 +01:00
valfieri c704dfbfb2 Added CMR set, added Monarch game mode, added/fix several primitives and improved Android downloader. 2020-11-30 10:55:42 +01:00
valfieri d751ed3540 Fixed and added some primitives. 2020-11-19 14:12:44 +01:00
valfieri 1202ea609e Added KLR set, fixed some primitives and improved Android downloader. 2020-11-18 19:45:26 +01:00
valfieri 252e66736a Fixed a crash occurring on token clone (e.g. Doubling Season) as described in the issue #1040. 2020-11-18 15:22:25 +01:00
valfieri 42f2c34a46 Changed implementation strategy for altercosat in anyzone for some cards due to some problem. 2020-10-27 11:59:33 +01:00
valfieri c78e90a5b5 Fixed Cursed Scroll primitive. 2020-10-21 21:24:14 +02:00
valfieri a52cd305b7 Added Cursed Scroll primitive. 2020-10-21 18:53:44 +02:00
valfieri 6a00c0ad1d Added EasyPBPRX program to the release to sign PRX up to 8Mb size. 2020-10-20 09:59:09 +02:00
valfieri e6c1f652db Added PLIST set and missing primitives, improved Android downloader and fixed all primitives with Adapt ability. 2020-10-19 22:19:51 +02:00
valfieri 48bdc6c951 Fixed The Great Henge primitive. 2020-10-18 19:08:47 +02:00
valfieri 939dc20855 Fixed all primitives with Escape cost, fixed token creation (the movedto triggers were not activating correctly due to a bug). 2020-10-18 17:28:25 +02:00
valfieri 8c39eac856 Removed FTP transfer due to many failures detected. 2020-10-16 23:48:33 +02:00
valfieri 272199dced Modified the timeout for FTP transfer. 2020-10-16 23:07:17 +02:00
valfieri cab90b8fe2 Set timeout for FTP transfer. 2020-10-16 21:31:28 +02:00
valfieri d5a8b80f5a Improved Modal Double Faced Lands of Zendikar Rising set. 2020-10-16 20:52:30 +02:00
valfieri 4f3a179be4 Added a python script to upload Travis-CI build files on external FTP server. 2020-10-16 18:40:27 +02:00
valfieri 519c90dd9d Improved Modal Double Faced Lands of Zendikar Rising set. 2020-10-16 15:55:05 +02:00
valfieri 3d46b41efc Fixed travis.yml file for Travis-CI build.
Fixed travis.yml file for Travis-CI build.
Fixed travis.yml file for Travis-CI build.
2020-10-16 11:46:39 +02:00
valfieri fbf1f9e1e0 Updated the python script to upload the Travis-CI build results to a specific GitHub release. 2020-10-16 00:27:08 +02:00
Vittorio Alfieri d0cd6e8b21 Update .travis.yml 2020-10-15 17:04:32 +02:00
Vittorio Alfieri 90c51fbb2d Update .travis.yml 2020-10-15 17:01:43 +02:00
Vittorio Alfieri edf7714f0c Update .travis.yml 2020-10-15 16:58:58 +02:00
Vittorio Alfieri 77241ee496 Update .travis.yml
Updated GitHub variables
2020-10-15 16:56:24 +02:00
Vittorio Alfieri ad0e8383e4 Update .travis.yml 2020-10-15 16:32:29 +02:00
Vittorio Alfieri 795debeb0d Update .travis.yml
test secure variables
2020-10-15 16:27:26 +02:00
Vittorio Alfieri b7a7efd9db Update .travis.yml
Test with new token and github user
2020-10-15 16:24:20 +02:00
Vittorio Alfieri d005aefdc7 Update .travis.yml
test variables
2020-10-15 16:17:06 +02:00
valfieri 30647615f2 Fixed Archfiend's Vessel and Orah, Skyclave Hierophant primitives. 2020-10-15 13:58:47 +02:00
valfieri 3ee3aaf7d8 Fixed Relic Viel sacrifice ability. 2020-10-15 11:59:37 +02:00
valfieri a2403e4eee Fixed Enhanced Surveillance primitive. 2020-10-14 21:59:31 +02:00
Xawotihs 3e618c062a Update README.md 2020-10-14 17:35:36 +02:00
Xawotihs b1bc13cb0d Switched badge from travis-ci.org to travis-ci.com 2020-10-14 16:14:24 +02:00
valfieri fe60f5fe81 Fix mana cost of Relic Vial. 2020-10-14 14:19:06 +02:00
valfieri 7bf463c7ea Fixed all the Modal Double Faced card from Zendikar Rising set, now we don't use the alternative cost anymore but the autohand keyword instead which required another enhancement for Flip forcetype keywords, fixed a bug on Changezone trigger. 2020-10-14 03:30:32 +02:00
valfieri e1df4e5072 Improved Life gain trigger (now it's possible to specify a "from" clause and it's possible to add the "limitOnceATurn" restriction) and fixed all the primitives with gives life on life gain event without producing any loop and reviewed all the primitives with the "@lifeof" trigger. 2020-10-13 18:32:51 +02:00
valfieri 1b860218e0 Fix primitive from Zendikar Rising set. 2020-10-12 21:29:35 +02:00
valfieri 75347a2f37 Fixed a crash on counterremoved trigger, fixed/add some primitives that have ability to double the damage to any target. 2020-10-12 17:20:07 +02:00
valfieri 29985718a7 Added missing cards from GRN sets, improved mutation trigger, improved Surveil ability, implemented trigger and offset on surveil ability to allow combo with other cards (see issue #1037 opened by luisguerin). 2020-10-12 01:25:34 +02:00
valfieri 8cf2b7ab69 Fixed primitives list contained in issue #1037 opened by luisguerin. 2020-10-11 00:32:20 +02:00
valfieri a99eaac35d Improved kicker cards comparison criteria (now it's possible to search for a multi kicked card in stack), added a new castcard mode with multikicker option, added all Zendikar Risings primitives to borderline collection, changed in all primitives the restriction "kicker" with a new sintax "if paid(kicker) then" in order to fit with the new kicker logic comparison criteria and castcard option. 2020-10-10 02:44:57 +02:00
valfieri c4eb931192 Fixed primitives and planeswalkers, fixed a bug on counter comparison criteria when cards are changing zone (eg. @movedto(creature[counter{1/1}]|mygraveyard) from(mybattlefiled) now it's working fine). 2020-10-09 19:16:03 +02:00
valfieri a6a053e10e Improved the Modal Double Faced cards for Zendikar set, added primitives that deals x damage divided on any target, added/fixed planeswalkers and improved kicker cost event handling. 2020-10-08 19:18:52 +02:00
valfieri ad26450151 Improved Android downloader, fixed snow mana cost, merged opponentlifetotal and oplifetotal keywords 2020-10-06 19:00:39 +02:00
valfieri e4f5d7784a Fixed typos in some primitive's restrictions. 2020-10-05 14:06:21 +02:00
valfieri 023816aa65 Fixed and added cards with kicker, multi-kicker, replicate and strive costs. 2020-10-05 02:56:16 +02:00
valfieri bf6439db00 Improved Kicker cards, now it's possible to target a specific card with kicker cost and handle any event connected to a kicker casting cost. 2020-10-03 16:54:17 +02:00
valfieri 1b320d5325 Fixed party counter routine and removed tabbed chars from cpp file. 2020-10-01 18:29:20 +02:00
valfieri 6d872ed176 Improved the Modal Double Faced cards for Zendikar Rising (es. nofizzle when choosing land face, flip for instant and sorcery, new restriction for playing land face during turn). 2020-09-30 12:18:08 +02:00
valfieri 00ce669edb Fixed primitives and tokens, implemented count for party of creatures in Zendikar cards. 2020-09-29 18:12:24 +02:00
valfieri 61dc3013f4 Added ZNR, ZNE, ZNC sets, fixed some primitives and improved Android downloader. 2020-09-27 22:54:35 +02:00
valfieri c4ba879382 Fixed primitives, fixed alias 1117 and fixed the bug on lastCardDrawn from library. 2020-09-21 17:56:20 +02:00
valfieri 495e5f1429 Fixed primitives. 2020-09-20 21:57:39 +02:00
valfieri 827f5a71bc Fixed primitives. 2020-09-19 22:26:23 +02:00
valfieri 573c72f72d Merged with last master commit, fixed primitives and languages. 2020-09-16 11:32:43 +02:00
Eduardo 612be9737d Changes to some game modes I created and fixes to primitives
Some minor changes to some game modes, by the way, can we make it easier to unlock the random modes?
2020-09-09 22:47:21 -05:00
valfieri 4bc339e82b Fixed primitives and planeswalkers. 2020-09-07 13:24:29 +02:00
valfieri 668fc41862 Fixed and added macros for primitives. 2020-08-31 09:04:34 +02:00
Eduardo 457b8c3bf2 Merge branch 'master' of https://github.com/WagicProject/wagic 2020-08-28 12:13:04 -05:00
Eduardo 135f2a1e45 Bug fixes on primitives, borderline and planeswalkers
Changes tested, fixes to buggy cards or cards that used to crash the game.

Using comma inbetween brackets crashes the game, attributes must be separated by semicolon.

WRONG target(creature[attacking,blocking]|battlefield)
RIGHT    target(creature[attacking;blocking]|battlefield)
2020-08-28 12:12:49 -05:00
valfieri 2d9cab915a Fixed some primitives and merged with last GIT commit. 2020-08-26 09:25:49 +02:00
Eduardo 22d8d16b71 Merge branch 'master' of https://github.com/WagicProject/wagic 2020-08-25 12:46:58 -05:00
valfieri 453906e350 Added AKR and ANB sets, Fixed Aftermath primitives and DAT files for AKH and HOU sets, Added extended art cards to 2XM set and improved Android downloader. 2020-08-15 20:45:50 +02:00
Eduardo 5e16e0d1ba Fixes to borderline cards mostly and to rules.cpp
-----fix-----
magosi,
astroblade
sinew and steel
echo of eons
spy network
drudge sentinel
crash of rhino
crashing footfalls
kelsien
Crumbling Vestige
make obsolete
desperate cast
gravebreaker lamia
2020-08-10 20:13:01 -05:00
valfieri 1c09918225 Fixed and added some card prmitives. 2020-08-10 10:17:52 +02:00
valfieri 251e1634f7 Fixed tokens and planeswalkers primitives. 2020-08-09 12:21:49 +02:00
valfieri 727d4579a0 Added 2XM set, fixed card and planeswalkers primitives, fixed a crash on token creation, fixed prowess and mentor abilities, added new restrictions, improved Android downloader. 2020-08-08 19:46:07 +02:00
valfieri 52e3177ef2 Added new features and triggers to game about tokens and counters, fixed and added new primitives. 2020-07-10 19:53:46 +02:00
valfieri fc40971dc7 Added JMP, SSR and M21 sets, fixed C14 set, added new primitives and improved Android downloader. 2020-07-04 22:29:09 +02:00
valfieri ccc26f400d Fixed crash on Dread Presence and added new primitives. 2020-06-24 21:20:39 +02:00
valfieri 210a250dce Added new primitives and added a new menu choice to toggle all creature to attacking mode during attack phase. 2020-06-22 22:35:33 +02:00
valfieri a2594f1fb7 Fix X cost for Alternative payment, added new primitives. 2020-06-15 17:14:22 +02:00
valfieri 587155353c Fixed Legend rule for mutating cards, avoided spell targeting for mutated down cards, added new primitives. 2020-06-14 14:03:00 +02:00
valfieri 2b398b425d Fixed Sliding Menu for Android App, added new primitives and fix mutating cards. 2020-06-12 16:47:11 +02:00
Vittorio Alfieri 67c7102687 Fix !share!types! keyword 2020-06-11 00:10:41 +02:00
Vittorio Alfieri 6212af0f48 Fix !share!types! keyword 2020-06-11 00:09:32 +02:00
Vittorio Alfieri 5688b28981 Fix !share!types! problem for creatures with no subtypes 2020-06-10 23:50:07 +02:00
valfieri c162eff8cf Fix build error to_string 2020-06-10 23:36:49 +02:00
valfieri 60e6d314e0 Fixed some primitives and fixed a problem with share!types! keyword. 2020-06-10 23:13:18 +02:00
Vittorio Alfieri 7cf722114b Fix VERSION_GAME macro for 3 params.
Error on build.
2020-06-10 00:26:52 +02:00
valfieri 8645cb9e1e Fix date in Dat files, Added IKO and HA3 sets, updated the manifest and build files, Added SD card support for Android, Fix the Android app crash when resuming from background, Improved Android downloader, added finger sliding popup menu for Android devices without sidebar menu, fixed several crashes during game, added the mutating card ability, fixed the adventure card ability, added new borderline primitives. 2020-06-10 00:10:59 +02:00
valfieri 275eb9e06e Merged and sorted all primitives in their respective files. 2020-05-09 15:31:46 +02:00
valfieri 60b4bb31f5 Added more C20 primitives. 2020-05-08 23:23:41 +02:00
valfieri a5eb2eba37 Fixed C20 set file and improved Android downloader. 2020-05-08 18:29:31 +02:00
valfieri a00cf2a1d1 Added borderless images support on Android card images downloader. 2020-04-19 17:22:14 +02:00
valfieri b863188c3c Fixed card types and subtypes visualization, added C20 set and improved Android downloader. 2020-04-16 21:21:34 +02:00
valfieri 21778de9fb Fix primitives with Escalation keyword. 2020-03-30 11:15:31 +02:00
valfieri c81eecf6d2 Fix on primitives with Explores and Escalation keywords. 2020-03-29 16:28:57 +02:00
valfieri 402323a990 Fix primitives with Explores and Escalation keywords. 2020-03-28 16:35:08 +01:00
valfieri 75b335e59c Fixed some primitives. 2020-03-23 19:51:24 +01:00
valfieri 9f69336c94 Added HA2 set and improved Android downloader. 2020-03-17 20:57:21 +01:00
valfieri 331e54a732 Added THB and UND sets, improved Android image downloader. 2020-03-12 18:58:24 +01:00
valfieri 3d25630dd6 Added MB1 set and improved Android downloader. 2019-12-11 00:22:13 +01:00
valfieri 5b652ba688 Removed MB1 set. 2019-12-09 23:02:19 +01:00
valfieri c60df6c99d Fixed MB1 set and improved Android downloader. 2019-12-09 17:04:18 +01:00
valfieri 8bef671a70 Added MB1 set and improved Android downloader. 2019-12-08 16:43:15 +01:00
valfieri 9df8e90ab6 Reverted .travis.yml 2019-12-08 12:38:48 +01:00
valfieri 45d7cecaf3 Test Travis secure vars. 2019-12-08 12:30:22 +01:00
valfieri 730c8479f9 Test travis secure vars. 2019-12-08 12:02:42 +01:00
valfieri 1dca08a33b Fixed Android Downloader. 2019-12-06 11:37:07 +01:00
valfieri 233cec7a9f Added CN2, ME1 and SLD set, fixed primitives, fixed test and improved Android Downloader. 2019-12-06 11:32:27 +01:00
valfieri 08f69dc832 Added HA1 set, fixed primitives and improved Android downloader. 2019-11-22 22:22:25 +01:00
valfieri 464a6ff1b8 Fixed GN2 set/primitives and improved Android downloader. 2019-11-15 18:04:44 +01:00
valfieri c664760359 Removed duplicated card in Guild Kit sets and improved Android downloader. 2019-11-09 16:47:09 +01:00
valfieri f180b8cc56 Added GK1_AZORIU, GK1_BOROS, GK1_DIMIR, GK1_GOLGAR, GK1_IZZET, GK1_SELESN, GK2_GRUUL, GK2_ORZHOV, GK2_RADKOS, GK2_SIMIC, GN2, PAL00, PAL01, PAL02, PAL03, PAL04, PAL05, PAL06, PAL99, PARL sets, improved Android downloader, added new primitives and updated the release version to 0.22.2 2019-11-08 16:54:05 +01:00
valfieri 044bbb3d4b Fixed MH1 set and primitives. 2019-11-04 17:05:52 +01:00
valfieri c4884e4715 Added DPA, PDP10, PDP11, PDP12, PDP13, PDP14, PMPS, PMPS06, PMPS07, PMPS07, PMPS08, PMPS09, PMPS10, PMPS11 sets and improved Android downloader. 2019-11-03 14:16:15 +01:00
valfieri 253be9e9bd Fixed Flaxen Intruder primitives of ELD set. 2019-11-01 22:56:31 +01:00
valfieri db517858fa Added PS11, PSAL sets and improved Android downloader. 2019-11-01 21:12:42 +01:00
valfieri 923a8e8fd9 Fixed primitives. 2019-10-25 23:56:03 +02:00
valfieri 8d395620a1 Fixed ELD set. 2019-10-25 21:19:45 +02:00
valfieri a547591608 Added ANA, H17, HTR, HTR17, MPS, PGRU, PHPR, PI13, PI14, PIDW and improved Android downloader. 2019-10-25 18:08:09 +02:00
valfieri 601a4432dc Added new option to show/hide card borders. 2019-10-25 00:23:46 +02:00
valfieri ca7c8f5cf9 Removed outer border from rendered cards. 2019-10-24 17:53:43 +02:00
valfieri f44ad43413 Added PZ2 set and improved Android Downloader. 2019-10-22 19:16:37 +02:00
valfieri 1ec448daef Fixed ELD Adventure primitives. 2019-10-13 15:50:25 +02:00
valfieri adee84d60f Fix GRN and RIX primitives. 2019-10-12 22:17:47 +02:00
valfieri a46786eb28 Fixed a GRN primitive. 2019-10-12 18:14:25 +02:00
valfieri 5c7b4b7618 Fixed ELD primitive. 2019-10-12 17:56:43 +02:00
valfieri bdcb10a54f Fixed primitives of GRN and ELD sets. 2019-10-12 17:25:30 +02:00
valfieri 6083ad76d6 Fixed Midnight Reaper primitive in GRN set. 2019-10-10 23:26:25 +02:00
valfieri b66674492b Fixed Crash on Dread Presence deletion, Fixed primitives for ELD set. 2019-10-08 22:20:53 +02:00
valfieri 0f0e627cf5 Fixed M20 primitives. 2019-10-07 19:40:45 +02:00
valfieri 83e7bfffd0 Fixed primitives of ELD, GRN and M20 sets. 2019-10-06 20:59:57 +02:00
valfieri 28b1c0e86f Fixed primitives for ELD and XLN sets. 2019-10-06 17:11:23 +02:00
valfieri d0e4aa635b Fixed M20 primitives. 2019-10-06 16:21:43 +02:00
valfieri a82a2e3571 Fixed some primitives for M20 and ELD sets. 2019-10-06 15:51:47 +02:00
valfieri 68161b2aaa Added new primitives for ELD set. 2019-10-06 00:29:07 +02:00
valfieri 4e7463c77e Added PZ1 set and improved Android downloader. 2019-10-05 16:02:38 +02:00
valfieri 8ab7212aa2 Added new primitives for PRM and ELD sets, removed some duplicated primitives. 2019-10-04 21:24:55 +02:00
valfieri 16d989e8ca Added ELD set and improved Android downloader. 2019-10-01 18:29:58 +02:00
valfieri 0c8e51693a Added PRM and TD0 set and Improved Android Downloader. 2019-09-27 19:14:01 +02:00
valfieri 9f4e7fb7b2 Fixed image name search bug on Android Downloader. 2019-09-25 19:44:59 +02:00
valfieri 9dd5807cae Added TPR set and improved Android Downloader. 2019-09-22 11:33:06 +02:00
valfieri 7441ae2e8b Added VMA set and Improved Android Downloader. 2019-09-21 15:27:03 +02:00
valfieri c8869f4048 Fix Yawgmoth, Thran Physician 2019-09-20 18:54:22 +02:00
valfieri 21440c977d Fix Android Downloader. 2019-09-19 19:06:40 +02:00
valfieri 06ccc923ea Added GS1 set and Improved Android Downloader. 2019-09-19 17:58:32 +02:00
valfieri c82fc3b5ce Added GNT set and Improved Android Downloader 2019-09-17 14:07:51 +02:00
valfieri 7a19ae8f40 Fix Android Downloader, Added zombie to 10E set, fixed Liliana the Last Hope. 2019-09-17 00:14:34 +02:00
valfieri 43be15e832 Fixed Loxodon Lifechanter 2019-09-16 20:57:51 +02:00
valfieri 4ce2a5c36e Fixed Liliana of the Veil, Bloodthirsty Aerialist and Twinblade Paladin. Improved Android Downloader 2019-09-16 16:59:51 +02:00
valfieri 82e53a8c39 Added MD1/V16/W16 sets and updated Android Downloader. 2019-09-14 09:51:00 +02:00
valfieri dcc7e23b84 Fix Resources zip filename on Android downloader. 2019-09-13 19:48:21 +02:00
Vittorio Alfieri 54e4d881a7 Merge pull request #1027 from Vitty85/master
Added TD2 set, increased Wagic version to 0.22.1, fixed some bugs in Android Java wrapper.
2019-09-13 19:01:27 +02:00
valfieri 83f8d1c5d7 Added TD2 set, increased Wagic version to 0.22.1, fixed some bugs in Android Java wrapper. 2019-09-13 18:35:23 +02:00
Xawotihs cf738e76d3 Merge pull request #1026 from Vitty85/master
Removed almost all duplicated primitives fixed life gain loop adding new keyword "except", added PCA/W17/DDR sets and merged the PSP graphic Folder with PC/Android one
2019-09-12 13:33:25 +02:00
valfieri 744e380df9 Added DDR set and improved Android Downloader. 2019-09-12 00:27:00 +02:00
Xawotihs 8970fa673b Should fix broken QT build 2019-09-11 22:30:03 +02:00
valfieri 88e09bbd05 Added W17 set 2019-09-11 19:40:04 +02:00
valfieri 7d86578152 fix missing bracket 2019-09-11 19:00:36 +02:00
valfieri 6fd6f9061c Added several ifdef PSP for different resolution image to merge the graphics folders. 2019-09-11 18:39:42 +02:00
valfieri ba918b27ee merged the graphics dir with PSP one, modified code with ifdef PSP in order to load different resolution images for different devices. 2019-09-11 17:22:28 +02:00
valfieri 0b90a471d6 Correctly renamed PSP menu background image for deck selection 2019-09-11 00:56:40 +02:00
valfieri 24fd17ecf8 Added testcases for new keyword except used by Angel of Vitality. 2019-09-10 19:59:35 +02:00
valfieri 06ec97676e Fixed Angel of Vitality in M20 set and added new keyword "except" for @lifeof trigger in order to avoid a life gain loop when a card needs to increment life gaining in that phase (eg. Angel of Vitality). 2019-09-10 17:02:50 +02:00
xawotihs 4e4752856b Removed mac specific build files 2019-09-09 23:39:54 +02:00
Xawotihs bc79115985 Added a build specific for mac 2019-09-09 22:16:40 +02:00
valfieri 6ecd762d18 Added Vitty85 to credits. 2019-09-09 20:38:22 +02:00
valfieri 0fa1f04e71 Fixed Angel of Vitality primitive (still a bit buggy but not looping) 2019-09-09 17:50:21 +02:00
valfieri 225be4d9aa Added PCA set to Resources 2019-09-09 11:53:19 +02:00
Xawotihs 29b89ba562 Removes -qt=qt5 for osx 2019-09-09 00:00:59 +02:00
Xawotihs 7d51b985a6 Sorting the qmake path 2019-09-08 23:47:19 +02:00
Xawotihs 91bfa11a4f we build res if we build psp, removed the ref to the mac script 2019-09-08 23:27:47 +02:00
Xawotihs 46834a6ee9 Let's build the res zip only if needed 2019-09-08 23:11:31 +02:00
valfieri 07119b88f6 Fix Glacial Revelation primitives in MH1.txt 2019-09-08 20:45:29 +02:00
Xawotihs 95af76a3b2 installing ant on osx as well 2019-09-08 20:18:46 +02:00
valfieri 0132f7aa5e Removed almost all duplicated primitives 2019-09-08 18:59:08 +02:00
xawotihs 4df34c82c2 Fied typo for osx 2019-09-08 18:49:34 +02:00
xawotihs 50d49e47e7 Merge branch 'master' into matrix 2019-09-08 18:31:39 +02:00
xawotihs b29c37eb25 Should fix a typo 2019-09-08 18:30:59 +02:00
xawotihs c7d09d8389 First try on matrix without cmake 2019-09-08 18:17:51 +02:00
Xawotihs 87ce6df145 Merge pull request #1025 from Vitty85/master
Fix for PSP/Android and added new sets M20/MH1/SS2/C19 and fixed UST/V17 sets
2019-09-08 17:49:11 +02:00
valfieri f5a20110c4 Removed duplicated Tireless Tracker 2019-09-08 17:02:45 +02:00
valfieri 264183a42a Recompilef libs wtih JDK 1.7 2019-09-08 13:10:45 +02:00
valfieri af0de566fe Set travis toolchain android target to 23 2019-09-08 12:36:33 +02:00
valfieri 480adfe83a Target android back to 29 2019-09-08 12:26:51 +02:00
valfieri ce5b07b5b1 Removed java.util.stream dependency because not supported in Travis CI Android compiler. 2019-09-08 10:15:15 +02:00
valfieri 09098893e6 Removed dependencies from java.nio package and decreased target android version from 29 to 13 2019-09-08 09:57:00 +02:00
valfieri 414d99525d Fix Prismatic Vista card 2019-09-08 01:56:55 +02:00
valfieri 4f42ddadb5 Restored 29 target platform for Android 2019-09-07 23:17:13 +02:00
valfieri 901a7ca984 Revert TIME_UTC_ to TIME_UTC because Travis CI compile errors. 2019-09-07 22:38:46 +02:00
valfieri d3feccff75 restored gnustl_static flag for android compile since travis toolchain doesn't support c++_static flag 2019-09-07 22:26:50 +02:00
valfieri ccd17d32d0 Restored Android version to 16, Removed modification to boost, fixed primitives MH1 and M20, Fixed Snow mana issue. 2019-09-07 22:05:01 +02:00
valfieri 5c67d11aa6 fix spaces 2019-09-06 08:41:27 +02:00
Vitty85 7a529bac6d Merge branch 'master' into master 2019-09-06 08:38:04 +02:00
valfieri 2c62cfd487 replaced tabs with 4 spaces. 2019-09-06 08:31:39 +02:00
Xawotihs a27216c317 Deactivating mac/ios build as currently broken 2019-09-05 22:24:33 +02:00
xawotihs 8315acbe86 Removed death_grasp.txt and ai/goblin_artillery.txt from the testsuite (see issue#1023) 2019-09-04 22:39:41 +02:00
Xawotihs 7a2f23db45 Using trusty dist as it seems the only one supported for Android. 2019-09-04 16:01:50 +02:00
Xawotihs 711f52e5ce Updating JDK to 7 2019-09-03 23:15:48 +02:00
valfieri 91f50009e1 Fix 2 cards mana cost in MH1 set. 2019-09-03 22:52:08 +02:00
Xawotihs 0cf8c1a970 Installing ant for android build 2019-09-03 22:40:11 +02:00
Xawotihs 2750b34b4f Trying to fix python dependencies 2019-09-03 22:24:39 +02:00
xawotihs b023dd89b6 - Should remove an error with the PSP compiler 2019-09-03 22:09:44 +02:00
valfieri 9504027fdc Fix on token image saving in Android Downloader 2019-09-03 18:18:25 +02:00
valfieri 5c7528dbcf Fix timeout on image database download. 2019-09-03 14:04:07 +02:00
valfieri e856538259 Added retries on image and database file download for Android Downloader program. 2019-09-02 19:52:46 +02:00
valfieri 1749330e8a Fix on some token images. 2019-09-02 12:01:45 +02:00
valfieri 893e64e4f7 Fix on 439538t token image 2019-09-01 17:04:22 +02:00
valfieri 169467158a Fix for some duplicated token on Android Image Downloader. 2019-09-01 16:59:59 +02:00
valfieri ab0a5496b0 Set socket timeout on Android Downloader and fixed some minor exceptions. 2019-09-01 13:12:56 +02:00
valfieri 0c4deea3ed Fix names of Tokens in Android Image downloader. 2019-09-01 00:50:13 +02:00
valfieri dd785a872e Fix some token names on Android Downloader 2019-08-31 14:15:20 +02:00
valfieri c8603204ac Removed one comment on old IFDEF PSP 2019-08-31 11:23:56 +02:00
valfieri ae81568463 Fixed a bug on set name when using the fast download method 2019-08-31 10:52:33 +02:00
valfieri 2fe9924fe5 Improved the Android downloader, now it's a lot faster because all the image urls have been indexed. 2019-08-31 01:23:36 +02:00
valfieri 818233213e Fix on UST card download image 2019-08-29 21:11:24 +02:00
valfieri d9019c0808 Fix on some indexes on image donwloader. 2019-08-29 19:20:11 +02:00
valfieri fdaed6503a Fixed V17 set total card numbers from 16 to 29 in dat file. Improved Android card image downloader. 2019-08-29 17:54:26 +02:00
valfieri e10213a373 Improved Android Downloader: Bug Fixing and boosted token searching algorithm. 2019-08-28 23:55:36 +02:00
valfieri 34732a5f54 Improved Android downloader: the token searching algorithm has been boosted in terms of speed and reliability. 2019-08-28 17:35:40 +02:00
valfieri d8d6025652 Fixed minor bugs on downloader. 2019-08-28 00:46:08 +02:00
valfieri 01117f4cb7 Improved Token searching algorithm and fixed some image URLs with higher resolution from DeckmMster and ScryFall. 2019-08-28 00:12:53 +02:00
valfieri a25448cde7 Improved downloader, added pause/resume. 2019-08-27 12:02:55 +02:00
valfieri ef4b18b394 Fix on UST set for Android Downloader and fix on StopDownload action. 2019-08-26 19:30:58 +02:00
valfieri 683b2fbed8 Improved Android Downloader, fix on UST set. 2019-08-26 17:19:28 +02:00
valfieri cdfadec38b Improved Android Downloader and bug fixing 2019-08-26 17:08:23 +02:00
valfieri 7b434f33e8 Improved Android Downloader: added Image Resolution chooser and fixed several bugs. 2019-08-26 15:36:26 +02:00
valfieri 29f1420abc Improved Android Downloader and added the multiple set selection in the download option menu. 2019-08-26 00:44:12 +02:00
valfieri 39884d9711 Improved Dowloader: Set Async thread and displayed a progress bar for resource loading and card image downloading. 2019-08-25 22:29:24 +02:00
valfieri a5c9f877f7 Improved Downloader and Option Menu handlers. 2019-08-25 00:52:05 +02:00
valfieri c603765908 Improved Android Image Downloader adding execptions and errors handling 2019-08-24 23:58:59 +02:00
valfieri a0b4a1f77c Improved Android Image Downloader 2019-08-24 23:54:42 +02:00
valfieri e0a2a45037 Improvement on token search algorithm, not it even uses deckmaster website. 2019-08-23 23:00:46 +02:00
valfieri 4c6f5126a6 Improved token search algorithm. 2019-08-23 16:17:16 +02:00
valfieri 50da2fef42 Fix on C19 _cards.dat file (added double cards such as dusk/dawn, etc.) 2019-08-23 15:24:31 +02:00
valfieri 9dfd513ad3 Fix on Android downloader and code indent 2019-08-23 12:58:10 +02:00
valfieri 30622010df Fix Exception on Android downloader. 2019-08-23 12:45:17 +02:00
valfieri f4d9de9490 Added the C19 set and primitives 2019-08-23 01:27:03 +02:00
valfieri 1092d4121a Improved Downloader adding retries and a better token search algorithm. 2019-08-22 18:52:40 +02:00
valfieri 2ec4b78a8a Improved the Image Downloader (now Zip works at the end of download!) 2019-08-22 04:26:38 +02:00
valfieri 1b88f7d3f9 Improved Image Downloader (but still zipper not working on Android) 2019-08-22 00:50:02 +02:00
valfieri 2ac3ec6f09 Added SS2 set. 2019-08-20 15:27:07 +02:00
valfieri 73138d2176 Downloader for Card Images now working on Android version with OptionMenuButton (no zip) 2019-08-20 00:49:38 +02:00
valfieri 7cb0d8b843 Retored Option Menu Android and added a draft of card images downloader (not working yet) 2019-08-19 00:20:02 +02:00
valfieri 1dc5c48ff6 Separated graphics of PSP from PC/Android version 2019-08-18 17:48:06 +02:00
valfieri 42754fd83c Fix on Primitives and Fix Android 2019-08-18 17:44:07 +02:00
valfieri 301de0f6f7 Android Fix 2019-08-18 17:33:00 +02:00
valfieri 9be1d44788 Android Fix 2019-08-18 17:11:20 +02:00
valfieri 7328c45013 Added PSP res file, fixed bug for PSP version and added M20, MH1 and UST sets and primitives. 2019-08-10 01:10:26 +02:00
Eduardo 3d9526a1dd Commander Anthology (CMA) Correction 2019-05-08 16:37:47 -05:00
Eduardo 1b8157ef0e Merge branch 'master' of https://github.com/WagicProject/wagic 2019-05-05 21:17:22 -05:00
Eduardo 8d20fd6483 Fixes to primitives 2019-05-05 21:17:15 -05:00
Eduardo 66741957c3 Revert "Fixes to primitives"
This reverts commit eb7d8850f4.
2019-05-05 21:14:27 -05:00
Eduardo eb7d8850f4 Fixes to primitives 2019-05-05 21:13:48 -05:00
Eduardo MG 934b9d2856 Delete CM1.zip 2019-05-04 15:57:56 -05:00
Eduardo MG 0af443b753 Commander's Arsenal (CM1)
Commander's Arsenal (CM1) had the wrong name, this is the correct name and set code.
2019-05-04 15:53:57 -05:00
Eduardo MG 41e160ae34 War of the Spark _cards.dat 2019-05-01 17:57:12 -05:00
Eduardo 8b620627d9 Major Corrections to WAR and removing crashing cards
Cards that check the colors of mana that lands on the opponent battlefield crashes the game, hard to reproduce but happens often enought that I decided to remove them.

Minor fixes in set and Major fixes in WAR primitives
2019-05-01 17:19:01 -05:00
Eduardo d943778309 Double face cards should be marked as tokens 2019-05-01 17:09:27 -05:00
Eduardo 06cb835a5b Teaching AI proliferate and shocklands
Some minor changes, corrections to XLN and C17, changing name of game mode from horde to tribal wars
2019-05-01 17:00:48 -05:00
Eduardo f1a529576e Preparing for a release, bug fixes and adjustments to game modes
Updating macros and new cards marked as borderline
2019-04-25 18:03:41 -05:00
Eduardo MG 1af3cff419 Uploading sets since Amonkhet until War of the spark
These are graded as borderline, each set has it's individual txt file, not integrated to the main mtg.txt to make them easier to manage, with the appropiate tools and more testing the files can be integrated. 

Includes standard sets(expansions) and supplemental products(masters sets, commander) since Amonkhet.
2019-04-25 17:53:49 -05:00
Eduardo 5db6b807ba Set limited game mode, AI changes, primitives and _cards.dat corrections
New set limited ,where you get a deck two random sets.

Still playing with the AI values and hueristics.

Cards fixes. Masters Edition should be named ME1 and the Mythic Edition is MED, the cards multiverse ids are still the same so the decks and references should not change.
2019-04-20 15:51:52 -05:00
Eduardo MG 1c6b0bdfd5 New game modes
Rules for several new game modes and rules

horde, get a random tribe and summon a creature from your deck each turn
paradise, lands tap for all mana
false god, exchange permanents at upkeep
morinfen, lose 1 life for every permanent you control at upkeep, starts at 50 life
2019-04-20 12:25:58 -05:00
Eduardo 3dfcc65fa6 Bug fix for the biggest crash and fixes to the primitives
I figured a while ago that the cause of the crash was a rendering issue, not an engine issue, since you could copy spells in the stack if you didn't targeted them. The crash was most likely in ActionStack, just had to follow the trace. It doesn't affect anithing else, that line was trying to render something in the stack that's a permanent but it always had bad ptrs.
2019-04-17 20:28:43 -05:00
Eduardo c3937ce517 Fixing primitives and mayor bugs report
Game crashes when AI plays a card with cost {X} and that targets a player, this cards can be coded around that restriction and still work as per the rules.

The BIGGEST BUG the game has now is that crashes occur when a PERMANENT TARGETS A SPELL IN THE STACK, sometimes the AI can make this cards work (WTH!?) but never the player.

Effects like mirari and similar could be coded so that you don't target the spell but trigger and copy the source of the trigger, look at the code of mirari for this to be more clear.

This effect used to work for many many years I remember  Glen Elendra Archmage being one of my favorite cards back in the day. This bug has been present since god knows when, as early as october 2016: https://wololo.net/forum/viewtopic.php?f=4&t=66296&start=150#p98160

Also freaking Lemures caused the AI to just keep repeating the effect so I put a limit on activations on them.
2019-04-14 21:56:20 -05:00
Eduardo ab1fbaa806 New game modes, bug fixes in primitives, improving AI, new planeswalkers type rule
New rules based on vanguard, 3 new random game modes, one is tribal and one uses any card in the game.

Several corrections and bugs fixes. Cards with x in their cost and that can target any player used to crash the game.

Teaching AI new things and changing values of efficiency.

You can have multiple "Jace" planeswalkers, you can't have two of the exact same name (no two Jace, the mind sculptor).
2019-04-14 19:57:01 -05:00
Eduardo 6eca5bea2f Last March Update
Some bug fixing to the primitives, the fetchlands are so buggy that I restored to a simple version

Some minor UI improvements
2019-03-31 20:53:13 -06:00
Rolzad73 e4d73d95ec - removing debug info after travis build fix 2019-03-27 22:50:10 -04:00
Rolzad73 363383df6d - try to fix travis build travis script debug pt 7 (groovy, Java 8 incompatibility) 2019-03-27 22:15:48 -04:00
Rolzad73 0d05804376 - try to fix travis build travis script debug pt 6 (ant error log too long) 2019-03-27 22:04:11 -04:00
Rolzad73 cdd36a404b - try to fix travis build travis script debug pt 5 2019-03-27 21:42:37 -04:00
Rolzad73 64c509980c - fix bad commit travis.yml 2019-03-27 21:39:38 -04:00
Rolzad73 46ba018201 - try to fix travis build travis script debug pt 4 2019-03-27 21:37:38 -04:00
Rolzad73 0cb931e6e2 - try to fix travis build travis script debug pt 3 2019-03-27 21:25:26 -04:00
Rolzad73 58af6f73d9 - try to fix travis build travis script debug pt 2 2019-03-27 21:12:46 -04:00
Rolzad73 e81f1299cb - try to fix travis build travis script debug 2019-03-27 21:03:40 -04:00
Rolzad73 9b5f9684b0 - try to fix travis build android dependancies pt 3 2019-03-27 20:48:21 -04:00
Rolzad73 d934c0948c - try to fix travis build android dependancies pt 2 2019-03-27 20:45:05 -04:00
Rolzad73 917a3a88df - try to fix travis build android dependancies 2019-03-27 20:38:51 -04:00
Rolzad73 dc5b8a8c52 - try to fix travis build 2019-03-27 15:50:08 -04:00
Eduardo MG d2b44e652b Uploading a couple of years of sets
RNA Guild Kit		Set Code: GK2
Ravnica Allegiance	Set Code: RNA
Ultimate Box Topper Set Code: PUMA
Ultimate Masters	Set Code: UMA
GRN Guild Kit		Set Code: GK1
Guilds of Ravnica	Set Code: GRN
Commander 2018	Set Code: C18
Core Set 2019		Set Code: M19
Signature 
Spellbook: Jace	Set Code: SS1
Battlebond 		Set Code: BBD
Commander Anthology 
Volume II			Set Code: CM2
Dominaria		Set Code: DOM
Duel Decks: Elves 	
vs. Inventors		Set Code: DDU
Masters 25 		Set Code: A25
Rivals of Ixalan	Set Code: RIX
Unstable			Set Code: UST
Explorers of Ixalan   Set Code: E02
From the Vault: 
Transform		Set Code: V17
Iconic Masters		Set Code: IMA
Duel Decks: Merfolk
vs. Goblins		Set Code: DDT
Ixalan			Set Code: XLN
Commander 2017	Set Code: C17
Hour of Devastation Set Code: HOU
Archenemy: Nicol 
Bolas			Set Code: E01
Commander Anthology	Set Code: CMA
Amonkhet			Set Code: AKH
Amonkhet 
Invocations			Set Code: MP2
Duel Decks: Mind 
vs. Might			        Set Code: DDS
Modern Masters 2017	Set Code: MM3
2019-03-26 20:35:45 -06:00
Eduardo 1ce3b469e7 Update primitives
Added the supertype Legendary to Planeswalkers.

When you pay life the code should be {L:1}  not just {L} or else the cards ave very buggy.

Several bug fixes, card corrections and typos.
2019-03-26 16:50:34 -06:00
465 changed files with 355088 additions and 192774 deletions
+14 -17
View File
@@ -1,4 +1,5 @@
language: cpp language: cpp
dist: trusty
branches: branches:
except: except:
- latest-master - latest-master
@@ -9,16 +10,16 @@ before_install:
- export BUILD_Qt=YES - export BUILD_Qt=YES
- export BUILD_MAC=NO - export BUILD_MAC=NO
# Only building on Mac when not handling pull request # Only building on Mac when not handling pull request
- if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then # - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
export BUILD_MAC=YES; # export BUILD_MAC=YES;
fi # fi
- sudo apt-get update -qq - sudo apt-get update -qq
# Building for PSP here # Building for PSP here
- if [ "$BUILD_PSP" == "YES" ]; then - if [ "$BUILD_PSP" == "YES" ]; then
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" && export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
export PSPSDK="$PSPDEV/psp/sdk" && export PSPSDK="$PSPDEV/psp/sdk" &&
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" && export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
wget -O sdk.lzma http://superb-sea2.dl.sourceforge.net/project/minpspw/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma; wget -O sdk.lzma http://downloads.sourceforge.net/project/minpspw/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma;
fi fi
# Building for Qt here # Building for Qt here
- if [ "$BUILD_Qt" == "YES" ]; then - if [ "$BUILD_Qt" == "YES" ]; then
@@ -31,9 +32,11 @@ before_install:
# Building for Android here # Building for Android here
- if [ "$BUILD_ANDROID" == "YES" ]; then - if [ "$BUILD_ANDROID" == "YES" ]; then
export ANDROID="android-sdk-linux/tools/android" && export ANDROID="android-sdk-linux/tools/android" &&
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi && if [ `uname -m` = x86_64 ]; then
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv && sudo dpkg --add-architecture i386 && sudo apt-get update &&
wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz -nv; sudo apt-get install -qq --force-yes libgd2-xpm-dev libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jq ant; fi &&
wget https://dl.google.com/android/repository/android-ndk-r22-linux-x86_64.zip -nv &&
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz -nv;
fi fi
install: install:
@@ -41,22 +44,16 @@ install:
tar -x --xz -f sdk.lzma; tar -x --xz -f sdk.lzma;
fi fi
- if [ "$BUILD_ANDROID" == "YES" ]; then - if [ "$BUILD_ANDROID" == "YES" ]; then
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 && unzip android-ndk-r22-linux-x86_64.zip &&
tar -zxf android-sdk_r24.3.4-linux.tgz && tar -zxf android-sdk_r24.4.1-linux.tgz &&
$ANDROID list sdk --extended -a && $ANDROID list sdk --extended -a &&
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https; echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-23 --no-ui --force --no-https;
fi fi
- sudo python -m easy_install --upgrade pyOpenSSL
- sudo pip install pyjavaproperties - sudo pip install pyjavaproperties
- sudo pip install github3.py - sudo pip install github3.py
- sudo pip install cpp-coveralls - sudo pip install cpp-coveralls
env:
global:
- JAVA_HOME=/usr/lib/jvm/java-7-oracle # Force set JVM version to comply with Travis Ant version (1.8.2)
- secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8="
- secure: "X5dTQfofqAutnXxmu11Ep2MQ5QYnMN8m0AITRtwymhEF2UclcOudI1+skPtuhAGbWQnSO+lhunV3cvMfw2/Ml3k/VDz6VdFSKFrzAu7ja1VLJfcxr7chi0s8q30pVBb66tGydjIBac3B+RQyqgmZQW1frbRrhC/kPFQ6wPWOJdQ="
- secure: "T97NUPnxCpVZ/c5HH0zfo0FO3DPSRMSmze58ubW5EUTZOjAMtEt+OFdsrNZvUTCugUj2M1agtonZbAbczpaAL+lgZcHDgXgWMkfO0pMnsWX1yyCNqMuE/iTMpJr/xsLQeyWlftWjJLsseQU45abZsd1XVmda/G+ZhrDLF1y55SA="
script: "tools/travis-script.sh" script: "tools/travis-script.sh"
after_success: after_success:
+2 -2
View File
@@ -20,7 +20,7 @@ namespace boost {
enum xtime_clock_types enum xtime_clock_types
{ {
TIME_UTC=1 TIME_UTC_=1
// TIME_TAI, // TIME_TAI,
// TIME_MONOTONIC, // TIME_MONOTONIC,
// TIME_PROCESS, // TIME_PROCESS,
@@ -68,7 +68,7 @@ inline xtime get_xtime(boost::system_time const& abs_time)
inline int xtime_get(struct xtime* xtp, int clock_type) inline int xtime_get(struct xtime* xtp, int clock_type)
{ {
if (clock_type == TIME_UTC) if (clock_type == TIME_UTC_)
{ {
*xtp=get_xtime(get_system_time()); *xtp=get_xtime(get_system_time());
return clock_type; return clock_type;
+2 -2
View File
@@ -350,7 +350,7 @@ namespace boost
cond.timed_wait(lock, xt); cond.timed_wait(lock, xt);
# endif # endif
xtime cur; xtime cur;
xtime_get(&cur, TIME_UTC); xtime_get(&cur, TIME_UTC_);
if (xtime_cmp(xt, cur) <= 0) if (xtime_cmp(xt, cur) <= 0)
return; return;
} }
@@ -365,7 +365,7 @@ namespace boost
BOOST_VERIFY(!pthread_yield()); BOOST_VERIFY(!pthread_yield());
# else # else
xtime xt; xtime xt;
xtime_get(&xt, TIME_UTC); xtime_get(&xt, TIME_UTC_);
sleep(xt); sleep(xt);
# endif # endif
} }
+8 -8
View File
@@ -20,8 +20,8 @@ const int NANOSECONDS_PER_MICROSECOND = 1000;
inline void to_time(int milliseconds, boost::xtime& xt) inline void to_time(int milliseconds, boost::xtime& xt)
{ {
int res = 0; int res = 0;
res = boost::xtime_get(&xt, boost::TIME_UTC); res = boost::xtime_get(&xt, boost::TIME_UTC_);
BOOST_ASSERT(res == boost::TIME_UTC); BOOST_ASSERT(res == boost::TIME_UTC_);
xt.sec += (milliseconds / MILLISECONDS_PER_SECOND); xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) * xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
@@ -57,8 +57,8 @@ inline void to_timespec_duration(const boost::xtime& xt, timespec& ts)
{ {
boost::xtime cur; boost::xtime cur;
int res = 0; int res = 0;
res = boost::xtime_get(&cur, boost::TIME_UTC); res = boost::xtime_get(&cur, boost::TIME_UTC_);
BOOST_ASSERT(res == boost::TIME_UTC); BOOST_ASSERT(res == boost::TIME_UTC_);
if (boost::xtime_cmp(xt, cur) <= 0) if (boost::xtime_cmp(xt, cur) <= 0)
{ {
@@ -88,8 +88,8 @@ inline void to_duration(boost::xtime xt, int& milliseconds)
{ {
boost::xtime cur; boost::xtime cur;
int res = 0; int res = 0;
res = boost::xtime_get(&cur, boost::TIME_UTC); res = boost::xtime_get(&cur, boost::TIME_UTC_);
BOOST_ASSERT(res == boost::TIME_UTC); BOOST_ASSERT(res == boost::TIME_UTC_);
if (boost::xtime_cmp(xt, cur) <= 0) if (boost::xtime_cmp(xt, cur) <= 0)
milliseconds = 0; milliseconds = 0;
@@ -110,8 +110,8 @@ inline void to_microduration(boost::xtime xt, int& microseconds)
{ {
boost::xtime cur; boost::xtime cur;
int res = 0; int res = 0;
res = boost::xtime_get(&cur, boost::TIME_UTC); res = boost::xtime_get(&cur, boost::TIME_UTC_);
BOOST_ASSERT(res == boost::TIME_UTC); BOOST_ASSERT(res == boost::TIME_UTC_);
if (boost::xtime_cmp(xt, cur) <= 0) if (boost::xtime_cmp(xt, cur) <= 0)
microseconds = 0; microseconds = 0;
+1 -1
View File
@@ -474,7 +474,7 @@
#ifndef PNG_VERSION_INFO_ONLY #ifndef PNG_VERSION_INFO_ONLY
/* include the compression library's header */ /* include the compression library's header */
#include "zlib.h" #include "../include/zlib.h"
#endif #endif
/* include all user configurable info, including optional assembler routines */ /* include all user configurable info, including optional assembler routines */
+1 -1
View File
@@ -84,7 +84,7 @@ OBJS = $(GENERIC_OBJS) $(LINUX_OBJS)
TARGET_LIB = libjge.a TARGET_LIB = libjge.a
TARGET_HGE = libhgetools.a TARGET_HGE = libhgetools.a
INCDIR = $(shell freetype-config --cflags 2> /dev/null) -I/usr/X11/include -I/usr/include/boost -Isrc/zipFS -Iinclude/ INCDIR = $(shell freetype-config --cflags 2> /dev/null) -I/usr/X11/include -I/usr/include/boost -Isrc/zipFS -Iinclude/
CXXFLAGS += -DLINUX $(FMOD) CXXFLAGS += -DLINUX -DNETWORK_SUPPORT $(FMOD)
CXXFLAGS += $(INCDIR) CXXFLAGS += $(INCDIR)
LIBDIR = lib/linux LIBDIR = lib/linux
endif endif
+1
View File
@@ -394,6 +394,7 @@ class JGE
void SetJNIEnv(JNIEnv * env, jclass cls); void SetJNIEnv(JNIEnv * env, jclass cls);
void sendJNICommand(std::string command); void sendJNICommand(std::string command);
std::string getFileSystemLocation(); std::string getFileSystemLocation();
std::string getFileUserFolderPath();
#endif #endif
protected: protected:
+1
View File
@@ -30,6 +30,7 @@ const int kInfoMenuID = -200;
const int kRandomPlayerMenuID = -11; const int kRandomPlayerMenuID = -11;
const int kRandomAIPlayerMenuID = -12; const int kRandomAIPlayerMenuID = -12;
const int kEvilTwinMenuID = -14; const int kEvilTwinMenuID = -14;
const int kCommanderMenuID = -33;
class JGuiListener class JGuiListener
{ {
+5 -3
View File
@@ -131,10 +131,11 @@ JFileSystem::JFileSystem(const string & _userPath, const string & _systemPath)
systemPath = [[documentsDirectory stringByAppendingString: @"/Res/"] cStringUsingEncoding:1]; systemPath = [[documentsDirectory stringByAppendingString: @"/Res/"] cStringUsingEncoding:1];
#elif defined (ANDROID) #elif defined (ANDROID)
userPath = JGE::GetInstance()->getFileSystemLocation(); userPath = JGE::GetInstance()->getFileUserFolderPath();
systemPath = ""; systemPath = JGE::GetInstance()->getFileSystemLocation();
DebugTrace("User path " << userPath); DebugTrace("User path " << userPath);
DebugTrace("System path " << systemPath);
#elif defined (QT_CONFIG) #elif defined (QT_CONFIG)
QDir sysDir(RESDIR); QDir sysDir(RESDIR);
@@ -259,6 +260,7 @@ void JFileSystem::clearZipCache()
bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */) bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL */)
{ {
#ifndef WIN32
if (mZipAvailable && mZipFile.is_open()) if (mZipAvailable && mZipFile.is_open())
{ {
if (mZipFileName != zipfile) if (mZipFileName != zipfile)
@@ -266,7 +268,7 @@ bool JFileSystem::AttachZipFile(const string &zipfile, char *password /* = NULL
else else
return true; return true;
} }
#endif
mZipFileName = zipfile; mZipFileName = zipfile;
mPassword = password; mPassword = password;
+31 -2
View File
@@ -668,7 +668,7 @@ string JGE::getFileSystemLocation()
if (env == NULL) if (env == NULL)
{ {
DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic"); DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic");
return "/mnt/sdcard/Wagic"; return "/mnt/sdcard/Wagic/Res";
}; };
jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity"); jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity");
@@ -677,7 +677,36 @@ string JGE::getFileSystemLocation()
if (methodId == 0) if (methodId == 0)
{ {
DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic"); DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic");
return "/mnt/sdcard/Wagic"; return "/mnt/sdcard/Wagic/Res";
};
jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId);
// Now convert the Java String to C++ char array
const char* cstr = env->GetStringUTFChars(systemPath, 0);
string retVal (cstr);
env->ReleaseStringUTFChars(systemPath, cstr);
env->DeleteLocalRef(systemPath);
return retVal;
}
string JGE::getFileUserFolderPath()
{
JNIEnv * env = getJNIEnv();
if (env == NULL)
{
DebugTrace("An Error Occurred in getting the JNI Environment whie trying to get the system folder location. Defaulting to /mnt/sdcard/net.wagic.app/Wagic");
return "/mnt/sdcard/Wagic/User";
};
jclass jniClass = env->FindClass("org/libsdl/app/SDLActivity");
jmethodID methodId = env->GetStaticMethodID( jniClass, "getUserFolderPath", "()Ljava/lang/String;");
if (methodId == 0)
{
DebugTrace("An Error Occurred in getting the JNI methodID for getSystemFolderPath. Defaulting to /mnt/sdcard/Wagic");
return "/mnt/sdcard/Wagic/User";
}; };
jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId); jstring systemPath = (jstring) env->CallStaticObjectMethod(jniClass, methodId);
+16 -1
View File
@@ -18,6 +18,11 @@
#include <stdexcept> #include <stdexcept>
#include <iostream> #include <iostream>
#include <math.h> #include <math.h>
#ifndef WIN32
#include <unistd.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#if (defined FORCE_GLES) #if (defined FORCE_GLES)
#undef GL_ES_VERSION_2_0 #undef GL_ES_VERSION_2_0
@@ -53,6 +58,7 @@ JGameLauncher* g_launcher = NULL;
#ifdef ANDROID #ifdef ANDROID
JNIEnv * mJNIEnv = NULL; JNIEnv * mJNIEnv = NULL;
jclass * mJNIClass = NULL; jclass * mJNIClass = NULL;
int SDL_ResumeSyncTime = 0;
#endif #endif
class SdlApp; class SdlApp;
@@ -78,6 +84,7 @@ extern "C" void Java_org_libsdl_app_SDLActivity_nativeResume(
{ {
if (!g_engine) if (!g_engine)
return; return;
SDL_ResumeSyncTime = 100000;
g_engine->Resume(); g_engine->Resume();
} }
@@ -136,10 +143,18 @@ public:
if(!g_engine->IsPaused()) if(!g_engine->IsPaused())
OnEvent(&Event); OnEvent(&Event);
} }
if(!g_engine->IsPaused()) if(!g_engine->IsPaused()){
#ifdef ANDROID
// Fix for SDL crash on resuming Android app from background.
if(SDL_ResumeSyncTime){
usleep(SDL_ResumeSyncTime);
SDL_ResumeSyncTime = 0;
}
#endif
OnUpdate(); OnUpdate();
} }
} }
}
OnCleanup(); OnCleanup();
+12
View File
@@ -185,6 +185,12 @@ JMusic *JSoundSystem::LoadMusic(const char *fileName)
result = (*engineEngine)->CreateAudioPlayer(engineEngine, &music->playerObject, &audioSrc, &audioSnk, 2, ids, req); result = (*engineEngine)->CreateAudioPlayer(engineEngine, &music->playerObject, &audioSrc, &audioSnk, 2, ids, req);
DebugTrace("result " << result); DebugTrace("result " << result);
if(result == SL_RESULT_MEMORY_FAILURE){
delete music;
mCurrentMusic = NULL;
return NULL;
}
// realize the player // realize the player
result = (*music->playerObject)->Realize(music->playerObject, SL_BOOLEAN_FALSE); result = (*music->playerObject)->Realize(music->playerObject, SL_BOOLEAN_FALSE);
DebugTrace("result " << result); DebugTrace("result " << result);
@@ -303,6 +309,12 @@ JSample *JSoundSystem::LoadSample(const char *fileName)
1, ids, req); 1, ids, req);
DebugTrace("result " << result); DebugTrace("result " << result);
if(result == SL_RESULT_MEMORY_FAILURE){
delete sample;
mCurrentSample = NULL;
return NULL;
}
// realize the player // realize the player
result = (*sample->playerObject)->Realize(sample->playerObject, SL_BOOLEAN_FALSE); result = (*sample->playerObject)->Realize(sample->playerObject, SL_BOOLEAN_FALSE);
DebugTrace("result " << result); DebugTrace("result " << result);
+1
View File
@@ -96,6 +96,7 @@ hgeParticleSystem::hgeParticleSystem(hgeParticleSystemInfo *psi)
{ {
//hge=hgeCreate(HGE_VERSION); //hge=hgeCreate(HGE_VERSION);
if (psi)
memcpy(&info, psi, sizeof(hgeParticleSystemInfo)); memcpy(&info, psi, sizeof(hgeParticleSystemInfo));
vecLocation.x=vecPrevLocation.x=0.0f; vecLocation.x=vecPrevLocation.x=0.0f;
+3 -1
View File
@@ -48,7 +48,9 @@ JSocket::JSocket(string ipAddr)
#ifdef WIN32 #ifdef WIN32
unsigned int addr_dest = inet_addr(ipAddr.c_str()); unsigned int addr_dest = inet_addr(ipAddr.c_str());
hostentptr=gethostbyaddr((char*) &addr_dest, 4, AF_INET); hostentptr = gethostbyaddr((char*) &addr_dest, 4, AF_INET);
if (hostentptr == NULL)
hostentptr = gethostbyname(ipAddr.c_str()); // Fix for Windows if IP Address cannot be resolved.
#elif LINUX #elif LINUX
hostentptr = gethostbyname(ipAddr.c_str()); hostentptr = gethostbyname(ipAddr.c_str());
#endif #endif
+1 -1
View File
@@ -1,7 +1,7 @@
#Wagic the Homebrew #Wagic the Homebrew
[![Build Status](https://travis-ci.org/WagicProject/wagic.png?branch=master)](https://travis-ci.org/WagicProject/wagic) [![Build Status](https://travis-ci.com/WagicProject/wagic.png?branch=master)](https://travis-ci.com/WagicProject/wagic)
[![Build status](https://ci.appveyor.com/api/projects/status/7j4fbr6m62aqej59/branch/master)](https://ci.appveyor.com/project/xawotihs/wagic/branch/master) [![Build status](https://ci.appveyor.com/api/projects/status/7j4fbr6m62aqej59/branch/master)](https://ci.appveyor.com/project/xawotihs/wagic/branch/master)
[![Coverage Status](https://coveralls.io/repos/WagicProject/wagic/badge.png?branch=master)](https://coveralls.io/r/WagicProject/wagic?branch=master) [![Coverage Status](https://coveralls.io/repos/WagicProject/wagic/badge.png?branch=master)](https://coveralls.io/r/WagicProject/wagic?branch=master)
+22 -10
View File
@@ -1,16 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="0201" android:versionName="@string/app_version" package="net.wagic.app"> <manifest xmlns:android="http://schemas.android.com/apk/res/android"
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> android:versionCode="0231"
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> android:installLocation="preferExternal"
<uses-permission android:name="android.permission.INTERNET"/> android:versionName="@string/app_version"
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> package="net.wagic.app">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<activity android:debuggable="false" android:configChanges="keyboard|keyboardHidden|orientation" android:label="@string/app_name" android:name="org.libsdl.app.SDLActivity" android:screenOrientation="sensorLandscape"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<activity android:debuggable="false"
android:configChanges="keyboard|keyboardHidden|orientation"
android:label="@string/app_name"
android:name="org.libsdl.app.SDLActivity"
android:screenOrientation="sensorLandscape">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
</application> </application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/> <uses-sdk android:minSdkVersion="10"
android:targetSdkVersion="29" />
</manifest> </manifest>
+1 -1
View File
@@ -8,4 +8,4 @@
# project structure. # project structure.
# Project target. # Project target.
target=android-10 target=android-23
+2 -1
View File
@@ -12,7 +12,7 @@ BOOST_PATH := $(MY_WAGIC_ROOT)/Boost
JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg JPEG_PATH := $(JGE_PATH)/Dependencies/libjpeg
PNG_PATH := $(JGE_PATH)/Dependencies/libpng PNG_PATH := $(JGE_PATH)/Dependencies/libpng
LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG LOCAL_CFLAGS += -DLINUX -DANDROID -DSDL_CONFIG -DNETWORK_SUPPORT
LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL LOCAL_CFLAGS += -D_STLP_USE_SIMPLE_NODE_ALLOC -DTIXML_USE_STL
LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS LOCAL_CFLAGS += -D__arm__ -D_REENTRANT -D_GLIBCXX__PTHREADS
LOCAL_STATIC_LIBRARIES := libpng libjpeg LOCAL_STATIC_LIBRARIES := libpng libjpeg
@@ -133,6 +133,7 @@ LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \
$(MTG_PATH)/src/WFilter.cpp \ $(MTG_PATH)/src/WFilter.cpp \
$(MTG_PATH)/src/WFont.cpp \ $(MTG_PATH)/src/WFont.cpp \
$(MTG_PATH)/src/WGui.cpp \ $(MTG_PATH)/src/WGui.cpp \
$(MTG_PATH)/src/WParsedInt.cpp \
$(MTG_PATH)/src/WResourceManager.cpp \ $(MTG_PATH)/src/WResourceManager.cpp \
$(MTG_PATH)/src/DeckView.cpp \ $(MTG_PATH)/src/DeckView.cpp \
$(MTG_PATH)/src/CarouselDeckView.cpp \ $(MTG_PATH)/src/CarouselDeckView.cpp \
+2 -2
View File
@@ -1,8 +1,8 @@
APP_PROJECT_PATH := $(call my-dir)/.. APP_PROJECT_PATH := $(call my-dir)/..
APP_CPPFLAGS += -frtti -fexceptions APP_CPPFLAGS += -frtti -fexceptions
APP_ABI := armeabi armeabi-v7a APP_ABI := armeabi-v7a
#APP_ABI := x86 # mainly for emulators #APP_ABI := x86 # mainly for emulators
APP_STL := gnustl_static APP_STL := c++_static
APP_MODULES := libpng libjpeg main SDL APP_MODULES := libpng libjpeg main SDL
#APP_OPTIM is 'release' by default #APP_OPTIM is 'release' by default
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -11,4 +11,4 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target. # Project target.
target=android-10 target=android-23
+1
View File
@@ -4,6 +4,7 @@
android:id="@+id/mainLayout" android:id="@+id/mainLayout"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:keepScreenOn="true"
> >
<TextView <TextView
android:layout_width="fill_parent" android:layout_width="fill_parent"
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Wagic</string> <string name="app_name">Wagic</string>
<string name="app_version">0.20.1</string> <string name="app_version">0.23.1</string>
<string name="info_text">Wagic v0.20.1\\nAll Rights Reserved.</string> <string name="info_text">All Rights Reserved.</string>
</resources> </resources>
@@ -16,7 +16,7 @@ public class DeckImporter
String message = ""; String message = "";
String deck = ""; String deck = "";
String deckname = ""; String deckname = "";
String prefix = "#SB:"; String prefix = "";
int cardcount = 0; int cardcount = 0;
if(f.exists() && !f.isDirectory()) if(f.exists() && !f.isDirectory())
{ {
@@ -36,7 +36,14 @@ public class DeckImporter
{ {
String line = scanner.nextLine(); String line = scanner.nextLine();
line = line.trim(); line = line.trim();
if (!line.equals("") && cardcount < 61) // don't write out blank lines if (line.equals("")) {
line = scanner.nextLine();
if (line.equals("")) {
line = scanner.nextLine();
prefix = "#SB:"; // Sideboard started from next card (we assumed that there are 2 blank lines from main deck and sideboard).
}
}
if (!line.equals("")) // don't write out blank lines
{ {
String[] slines = line.split("\\s+"); String[] slines = line.split("\\s+");
String arranged = ""; String arranged = "";
@@ -50,33 +57,35 @@ public class DeckImporter
{ {
arranged = arranged.substring(5); arranged = arranged.substring(5);
slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]", ""); slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]", "");
deck += arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n"; deck += prefix + arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n";
} else } else
{ {
deck += arranged + "(*) * " + slines[0] + "\n"; deck += prefix + arranged + "(*) * " + slines[0] + "\n";
} }
cardcount += Integer.parseInt(slines[0]); cardcount += Integer.parseInt(slines[0]);
} }
} }
} }
File profile = new File(activePath + "/Res/settings/options.txt"); File profile = new File(activePath + "/User/settings/options.txt");
String profileName = "Default";
if (profile.exists() && !profile.isDirectory()) if (profile.exists() && !profile.isDirectory())
{ profileName = getActiveProfile(profile);
String profileName = getActiveProfile(profile); File rootDecks = null;
if (profileName != "Missing!") if (!profileName.equalsIgnoreCase("Default"))
{ rootDecks = new File(activePath + "/User/profiles/" + profileName);
File rootProfiles = new File(activePath + "/Res/profiles/" + profileName); else
if (rootProfiles.exists() && rootProfiles.isDirectory()) rootDecks = new File(activePath + "/User/player/");
if (rootDecks.exists() && rootDecks.isDirectory())
{ {
//save deck //save deck
int countdeck = 1; int countdeck = 1;
File[] files = rootProfiles.listFiles(); File[] files = rootDecks.listFiles();
for (int i = 0; i < files.length; i++) for (int i = 0; i < files.length; i++)
{//check if there is available deck... {//check if there is available deck...
if (files[i].getName().startsWith("deck")) if (files[i].getName().startsWith("deck"))
countdeck++; countdeck++;
} }
File toSave = new File(rootProfiles + "/deck" + countdeck + ".txt"); File toSave = new File(rootDecks + "/deck" + countdeck + ".txt");
try try
{ {
FileOutputStream fop = new FileOutputStream(toSave); FileOutputStream fop = new FileOutputStream(toSave);
@@ -91,19 +100,14 @@ public class DeckImporter
fop.write(contentInBytes); fop.write(contentInBytes);
fop.flush(); fop.flush();
fop.close(); fop.close();
message = "Import Deck Success!\n" + cardcount + " total cards in this deck\n\n" + deck; message = "The deck has been successfully imported as: " + toSave.getName() + "\n" + cardcount + " total cards in this deck\n\n" + deck;
} catch (IOException e) } catch (IOException e)
{ {
message = e.getMessage(); message = e.getMessage();
} }
} else } else
{ {
message = "Missing Folder!"; message = "Problem opening decks folder: " + rootDecks.getAbsolutePath();
}
}
} else
{
message = "Invalid Profile!";
} }
} else } else
{ {
@@ -143,12 +147,12 @@ public class DeckImporter
} }
else else
{ {
return "Missing!"; return "Default";
} }
} }
catch(IOException e) catch(IOException e)
{ {
return "Missing!"; return "Default";
} }
return name; return name;
} }
File diff suppressed because it is too large Load Diff
@@ -23,7 +23,7 @@ public class StorageOptions
public static int count = 0; public static int count = 0;
public static String defaultMountPoint; public static String defaultMountPoint;
public static void determineStorageOptions() public static void determineStorageOptions(android.content.Context mContext)
{ {
initializeMountPoints(); initializeMountPoints();
if (findForcemount()){ if (findForcemount()){
@@ -36,6 +36,16 @@ public class StorageOptions
} }
compareMountsWithVold(); compareMountsWithVold();
testAndCleanMountsList(); testAndCleanMountsList();
File[] externalStorageVolumes = mContext.getExternalFilesDirs("");
for(int i = 0; i < externalStorageVolumes.length; i++){
mMounts.add(externalStorageVolumes[i].getAbsolutePath());
}
for(int i = 0; i < mMounts.size(); i++){
for(int j = 0; j < mMounts.size(); j++){
if(i!=j && mMounts.get(i).startsWith(mMounts.get(j)))
mMounts.remove(i);
}
}
setProperties(); setProperties();
} }
@@ -264,22 +274,22 @@ public class StorageOptions
for (String path : mMounts) for (String path : mMounts)
{//with forcemount menu {//with forcemount menu
if ("/mnt/sdcard".equalsIgnoreCase(path) || "/storage/sdcard0".equalsIgnoreCase(path)) if ("/mnt/sdcard".equalsIgnoreCase(path) || "/storage/sdcard0".equalsIgnoreCase(path))
mLabels.add("Internal SD " + "[" + path + "]"); mLabels.add("Internal SD " + "[" + path + "/]");
else if (path.contains("emulated")) else if (path.contains("emulated"))
mLabels.add("Emulated SD " + " [" + path + "]"); mLabels.add("Emulated SD " + " [" + path + "/]");
else else
mLabels.add("External SD " + " [" + path + "]"); mLabels.add("External SD " + " [" + path + "/]");
} }
} }
else else
{ {
for (String path : mMounts) for (String path : mMounts)
{ {
// TODO: /mnt/sdcard is assumed to always mean internal storage. Use this comparison until there is a better way to do this // TODO: /mnt/sdcard and emulated are assumed to always mean internal storage. Use this comparison until there is a better way to do this
if ("/mnt/sdcard".equalsIgnoreCase(path)) if ("/mnt/sdcard".equalsIgnoreCase(path) || path.contains("emulated"))
mLabels.add("Built-in Storage"); mLabels.add("Built-in Storage " + "[" + path + "/]");
else else
mLabels.add("External SD Card " + i++); mLabels.add("External SD Card " + "[" + path + "/]");
} }
} }
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -27,7 +27,7 @@ OBJS = objs/InteractiveButton.o objs/AbilityParser.o objs/ActionElement.o\
objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o\ objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o\
objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o\ objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o\
objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o\ objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o\
objs/WFont.o objs/CarouselDeckView.o objs/GridDeckView.o objs/DeckView.o objs/WFont.o objs/WParsedInt.o objs/CarouselDeckView.o objs/GridDeckView.o objs/DeckView.o
DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS)) DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS))
RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache) RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache)
@@ -82,7 +82,7 @@ OBJS += objs/TestSuiteAI.o
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I/usr/include/boost -I../../JGE/src/zipFS INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I/usr/include/boost -I../../JGE/src/zipFS
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lpthread $(FMOD) LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lpthread $(FMOD)
CFLAGS = $(INCDIR) -DLINUX -DUSE_PRECOMPILED_HEADERS=1 -DTIXML_USE_STL -Wno-nonnull-compare CFLAGS = $(INCDIR) -DLINUX -DNETWORK_SUPPORT -DUSE_PRECOMPILED_HEADERS=1 -DTIXML_USE_STL -Wno-nonnull-compare
ASFLAGS = $(CXXFLAGS) ASFLAGS = $(CXXFLAGS)
@@ -93,7 +93,7 @@ OBJS += objs/TestSuiteAI.o
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I../../Boost -I../../JGE/src/zipFS INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I../../Boost -I../../JGE/src/zipFS
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib -L../../Boost/lib LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib -L../../Boost/lib
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lboost_thread $(FMOD) LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lboost_thread $(FMOD)
CFLAGS = $(INCDIR) -DLINUX -DUSE_PRECOMPILED_HEADERS=1 -Wno-nonnull-compare CFLAGS = $(INCDIR) -DLINUX -DNETWORK_SUPPORT -DUSE_PRECOMPILED_HEADERS=1 -Wno-nonnull-compare
ASFLAGS = $(CXXFLAGS) ASFLAGS = $(CXXFLAGS)
Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
name=Blitzkrieg name=Mode Blitzkrieg
unlock=prx_geirkztilb unlock=prx_geirkztilb
[INIT] [INIT]
mode=mtg mode=mtg
+81
View File
@@ -0,0 +1,81 @@
name=Commander Format
unlock=prx_commander
[INIT]
mode=commander
#MTG Game specific rules
auto=bonusrule
auto=putinplayrule
auto=kickerrule
auto=alternativecostrule
auto=buybackrule
auto=flashbackrule
auto=retracerule
auto=suspendrule
auto=morphrule
auto=payzerorule
auto=overloadrule
auto=attackrule
auto=attackcostrule
auto=blockrule
auto=blockcostrule
auto=combattriggerrule
auto=legendrule
auto=planeswalkerrule
auto=planeswalkerdamage
auto=planeswalkerattack
auto=tokencleanuprule
auto=persistrule
auto=vampirerule
auto=unearthrule
auto=lifelinkrule
auto=deathtouchrule
auto=soulbondrule
auto=dredgerule
auto=bestowrule
[PLAYERS]
life:40
offerinterruptonphase=draw
auto=ability$!all(*[iscommander]|myzones) moveto(mycommandzone)!$ controller
auto=shuffle
auto=draw:7
auto=sethand:7
auto=@each my draw:draw:1
auto=maxPlay(land)1
#Lands Mana Rules
auto=lord(Plains[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{W}
auto=lord(Island[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{U}
auto=lord(Swamp[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{B}
auto=lord(Mountain[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{R}
auto=lord(Forest[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{G}
#Mana Empties from manapool at the end of each phase
auto=@each untap:removeMana(*)
auto=@each upkeep:removeMana(*)
auto=@each draw:removeMana(*)
auto=@each firstmain:removeMana(*)
auto=@each combatbegins:removeMana(*)
auto=@each attackers:removeMana(*)
auto=@each blockers:removeMana(*)
auto=@each combatdamage:removeMana(*)
auto=@each combatEnds:removeMana(*)
auto=@each secondmain:removeMana(*)
auto=@each end:removeMana(*)
auto=@each cleanup:removeMana(*)
#Monarch rule
auto=@each my endofturn restriction{compare(pmonarch)~morethan~0}:draw:1
#reset Creature damage at the cleanup phase
auto=@each cleanup:all(*|myBattlefield) resetDamage
#Commander put back rule
auto=@movedTo(*[iscommander]|mygraveyard):may name(Put back to command zone) ability$!name(Put back to command zone) name(Put back to command zone) target(*[iscommander;fresh]|mygraveyard) moveto(mycommandzone)!$ controller
auto=@movedTo(*[iscommander]|myexile):may name(Put back to command zone) ability$!name(Put back to command zone) name(Put back to command zone) target(*[iscommander;fresh]|myexile) moveto(mycommandzone)!$ controller
auto=@movedTo(*[iscommander]|mylibrary):may name(Put back to command zone) ability$!name(Put back to command zone) name(Put back to command zone) target(*[iscommander;fresh]|mylibrary) moveto(mycommandzone)!$ controller
auto=@movedTo(*[iscommander]|myhand):may name(Put back to command zone) ability$!name(Put back to command zone) name(Put back to command zone) target(*[iscommander;fresh]|myhand) moveto(mycommandzone)!$ controller
+63
View File
@@ -35,3 +35,66 @@ teaser=Like to play fast? Unlock Blitzkrieg Mode :)
trophyroom_text=Won with more than 18 lands. trophyroom_text=Won with more than 18 lands.
unlock_condition=type(land|myBattlefield)~morethan~18 unlock_condition=type(land|myBattlefield)~morethan~18
[/award] [/award]
[award]
name=Paradise
id=prx_paradise
unlock_img=paradise_unlocked.png
unlock_text=Birds of Paradise Mode Unlocked
teaser=Utopia! Bring me down to the Paradise City.
Lands you control have "{T}: Add one mana of any color."
trophyroom_text=Won with Birds of Paradise on the battlefield.
unlock_condition=type(Birds of Paradise|mybattlefield)~morethan~0
[/award]
[award]
name=Morinfen Mode
id=prx_morinfen
unlock_img=morinfen_unlocked.png
unlock_text=Morinfen Mode Unlocked
teaser="I looked into its eyes, and its soul was so empty I saw no reflection, no light there." — Crovax
At the beginning of your upkeep, you lose 1 life for each permanent you control.
trophyroom_text=Won with less than 5 life.
unlock_condition=this(controllerlife < 5)
[/award]
[award]
name=Horde
id=prx_horde
unlock_img=horde_unlocked.png
unlock_text=Tribal Horde Mode Unlocked
teaser="From shards and splinters I call forth my living horde." -Molimo, maro-sorcerer
trophyroom_text=Won with more than 25 life.
unlock_condition=this(controllerlife > 25)
[/award]
[award]
name=False God
id=prx_karona
unlock_img=falsegod_unlocked.png
unlock_text=False God Mode Unlocked
teaser=At the beginning of your upkeep, exchange control of a permanent you control chosen at random and a permanent target opponent controls chosen at random.
trophyroom_text=Devotion to red more than 7.
unlock_condition=this(variable{type:manar}>7)
[/award]
[award]
name=Titania Mode
id=prx_titania
unlock_img=titania_unlocked.png
unlock_text=Titania Mode Unlocked
teaser=Voice of the Argoth forest, defender of its creatures, and enforcer of its laws, Titania is literally an aspect of the forest itself.
You may play an additional land on each of your turns.
trophyroom_text=Devotion to green more than 7.
unlock_condition=this(variable{type:manag}>7)
[/award]
[award]
name=Commander Format
id=prx_commander
unlock_img=commander_unlocked.png
unlock_text=Commander Format Unlocked
teaser=Do you think you can dominate over other commanders? Take a big challenge in the commander format.
trophyroom_text=Win a game with 40 or more life and with less cards in your graveyard than your opponent.
unlock_condition=type(*|mygraveyard)~lessthan~type(*|opponentgraveyard),this(controllerlife > 39)
[/award]
+15
View File
@@ -0,0 +1,15 @@
include mtg.txt
name=False God
unlock=prx_karona
[INIT]
mode=mtg
[PLAYERS]
life:28
auto=shuffle
auto=draw:6
auto=@each myupkeep:auto=moverandom(*) from(opponentBattlefield) to(myBattlefield)
auto=@each myupkeep:auto=moverandom(*) from(myBattlefield) to(opponentBattlefield)
auto=maxPlay(land)+1
+14
View File
@@ -0,0 +1,14 @@
include mtg.txt
name=Tribal Wars
unlock=prx_horde
[INIT]
mode=horde
[PLAYERS]
life:20
auto=shuffle
auto=draw:7
auto=@each my upkeep:if type(creature[manacost<=3]|mylibrary)~lessthan~1 then moverandom(creature[manacost<=4]) from(library) to(battlefield)
auto=@each my upkeep:if type(creature[manacost<=2]|mylibrary)~lessthan~1 then moverandom(creature[manacost<=3]) from(library) to(battlefield)
auto=@each my upkeep:moverandom(creature[manacost<=2]) from(library) to(battlefield)
+12
View File
@@ -0,0 +1,12 @@
include mtg.txt
name=Morifen
unlock=prx_morinfen
[INIT]
mode=mtg
[PLAYERS]
life:50
auto=shuffle
auto=draw:7
auto=@each myupkeep:foreach(*|mybattlefield) life:-1
+3
View File
@@ -68,5 +68,8 @@ auto=@each secondmain:removeMana(*)
auto=@each end:removeMana(*) auto=@each end:removeMana(*)
auto=@each cleanup:removeMana(*) auto=@each cleanup:removeMana(*)
#Monarch rule
auto=@each my endofturn restriction{compare(pmonarch)~morethan~0}:draw:1
#reset Creature damage at the cleanup phase #reset Creature damage at the cleanup phase
auto=@each cleanup:all(*|myBattlefield) resetDamage auto=@each cleanup:all(*|myBattlefield) resetDamage
+20
View File
@@ -0,0 +1,20 @@
include mtg.txt
name=Paradise
unlock=prx_paradise
[INIT]
mode=mtg
[PLAYERS]
life:17
auto=shuffle
auto=draw:7
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{W}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{U}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{R}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{B}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{G}
+9
View File
@@ -0,0 +1,9 @@
include mtg.txt
name=Random 3 Colors
unlock=prx_rnddeck
[INIT]
mode=random3
[PLAYERS]
auto=shuffle
auto=draw:7
+16
View File
@@ -0,0 +1,16 @@
include mtg.txt
name=Random 5 Colors
unlock=prx_rnddeck
[INIT]
mode=random5
[PLAYERS]
life:20
auto=shuffle
auto=draw:7
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{W}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{U}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{B}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{R}
auto=lord(*[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{G}
+11
View File
@@ -0,0 +1,11 @@
include mtg.txt
name=Set Limited
unlock=prx_rnddeck
[INIT]
mode=set_limited
[PLAYERS]
life:20
auto=shuffle
auto=draw:7
+17
View File
@@ -0,0 +1,17 @@
include mtg.txt
name=Titania
unlock=prx_titania
[INIT]
mode=mtg
[PLAYERS]
life:15
auto=shuffle
auto=draw:9
auto=maxPlay(land)+1
#auto=@each myupkeep:auto=moverandom(*) from(myBattlefield) to #(opponentBattlefield)
#auto=@each myupkeep:auto=moverandom(*) from(opponentBattlefield) #to(myBattlefield)
#auto=@each myupkeep:draw:1
#auto=@each myupkeep:life:-1
+8 -2
View File
@@ -1,8 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Tenth Edition name=Tenth Edition
year=2007 orderindex=COR-A.10E
total=383 year=2007-07-13
total=384
[/meta] [/meta]
[card] [card]
primitive=Abundance primitive=Abundance
@@ -1919,3 +1920,8 @@ primitive=Youthful Knight
id=129790 id=129790
rarity=C rarity=C
[/card] [/card]
[card]
primitive=Zombie
id=-4143881
rarity=T
[/card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Unlimited Edition name=Unlimited Edition
year=1993 orderindex=COR-2.2ED
year=1993-12-01
total=302 total=302
[/meta] [/meta]
[card] [card]
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -1,8 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Fourth Edition name=Fourth Edition
year=1995 orderindex=COR-4.4ED
total=378 year=1995-04-01
total=379
[/meta] [/meta]
[card] [card]
primitive=Abomination primitive=Abomination
+3 -2
View File
@@ -2,8 +2,9 @@
author=Wagic Team author=Wagic Team
name=Fifth Dawn name=Fifth Dawn
block=Mirrodin block=Mirrodin
year=2004 orderindex=EXP-X.5DN
total=165 year=2004-06-04
total=166
[/meta] [/meta]
[card] [card]
primitive=Abuna's Chant primitive=Abuna's Chant
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Fifth Edition name=Fifth Edition
year=1997 orderindex=COR-5.5ED
year=1997-03-24
total=449 total=449
[/meta] [/meta]
[card] [card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Classic Sixth Edition name=Classic Sixth Edition
year=1999 orderindex=COR-6.6ED
year=1999-04-21
total=350 total=350
[/meta] [/meta]
[card] [card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Seventh Edition name=Seventh Edition
year=2001 orderindex=COR-7.7ED
year=2001-04-11
total=350 total=350
[/meta] [/meta]
[card] [card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Eighth Edition name=Eighth Edition
year=2003 orderindex=COR-8.8ED
year=2003-07-28
total=357 total=357
[/meta] [/meta]
[card] [card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Ninth Edition name=Ninth Edition
year=2005 orderindex=COR-9.9ED
year=2005-07-29
total=359 total=359
[/meta] [/meta]
[card] [card]
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -1,7 +1,9 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Aether Revolt name=Aether Revolt
year=2017 block=Kaladesh
orderindex=EXP-ZZ4.AER
year=2017-01-20
total=194 total=194
[/meta] [/meta]
[card] [card]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -1,9 +1,10 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Shards of Alara name=Shards of Alara
block=Shards of Alara block=Alara
year=2008 orderindex=EXP-ZD.ALA
total=249 year=2008-10-03
total=250
[/meta] [/meta]
[card] [card]
primitive=Ad Nauseam primitive=Ad Nauseam
+3 -2
View File
@@ -1,9 +1,10 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Alliances name=Alliances
orderindex=EXP-8.ALL
block=Ice Age block=Ice Age
year=1996 year=1996-06-10
total=199 total=201
[/meta] [/meta]
[card] [card]
primitive=Aesthir Glider primitive=Aesthir Glider
+262
View File
@@ -0,0 +1,262 @@
[meta]
author=Wagic Team
name=Arena New Player Experience
orderindex=PRO-Z.ANA
year=2018-07-14
total=51
[/meta]
[card]
primitive=Goblin
id=-16787
rarity=T
[/card]
[card]
primitive=Spirit
id=-16759
rarity=T
[/card]
[card]
primitive=Angelic Reward
id=16755
rarity=U
[/card]
[card]
primitive=Blinding Radiance
id=16757
rarity=U
[/card]
[card]
primitive=Confront the Assault
id=16759
rarity=U
[/card]
[card]
primitive=Inspiring Commander
id=16760
rarity=R
[/card]
[card]
primitive=Knight's Pledge
id=16761
rarity=C
[/card]
[card]
primitive=Loxodon Line Breaker
id=16762
rarity=C
[/card]
[card]
primitive=Sanctuary Cat
id=16763
rarity=C
[/card]
[card]
primitive=Serra Angel
id=16764
rarity=U
[/card]
[card]
primitive=Shrine Keeper
id=16765
rarity=C
[/card]
[card]
primitive=Spiritual Guardian
id=16766
rarity=C
[/card]
[card]
primitive=Tactical Advantage
id=16767
rarity=C
[/card]
[card]
primitive=Take Vengeance
id=16768
rarity=C
[/card]
[card]
primitive=Divination
id=16769
rarity=C
[/card]
[card]
primitive=Overflowing Insight
id=16770
rarity=M
[/card]
[card]
primitive=River's Favor
id=16771
rarity=C
[/card]
[card]
primitive=Shorecomber Crab
id=16772
rarity=C
[/card]
[card]
primitive=Titanic Pelagosaur
id=16773
rarity=U
[/card]
[card]
primitive=Waterknot
id=16774
rarity=C
[/card]
[card]
primitive=Zephyr Gull
id=16775
rarity=C
[/card]
[card]
primitive=Altar's Reap
id=16776
rarity=C
[/card]
[card]
primitive=Ambition's Cost
id=16777
rarity=U
[/card]
[card]
primitive=Cruel Cut
id=16778
rarity=C
[/card]
[card]
primitive=Miasmic Mummy
id=16779
rarity=C
[/card]
[card]
primitive=Nimble Pilferer
id=16780
rarity=C
[/card]
[card]
primitive=Renegade Demon
id=16781
rarity=C
[/card]
[card]
primitive=Rise from the Grave
id=16782
rarity=U
[/card]
[card]
primitive=Soulhunter Rakshasa
id=16783
rarity=R
[/card]
[card]
primitive=Chaos Maw
id=16784
rarity=R
[/card]
[card]
primitive=Doublecast
id=16785
rarity=U
[/card]
[card]
primitive=Goblin Bruiser
id=16786
rarity=U
[/card]
[card]
primitive=Goblin Gang Leader
id=16787
rarity=U
[/card]
[card]
primitive=Goblin Grenade
id=16788
rarity=U
[/card]
[card]
primitive=Ogre Painbringer
id=16789
rarity=R
[/card]
[card]
primitive=Raging Goblin
id=16790
rarity=C
[/card]
[card]
primitive=Seismic Rupture
id=16791
rarity=U
[/card]
[card]
primitive=Volcanic Dragon
id=16792
rarity=U
[/card]
[card]
primitive=Feral Roar
id=16793
rarity=C
[/card]
[card]
primitive=Rumbling Baloth
id=16794
rarity=C
[/card]
[card]
primitive=Treetop Warden
id=16795
rarity=C
[/card]
[card]
primitive=Plains
id=16796
rarity=C
[/card]
[card]
primitive=Island
id=16797
rarity=C
[/card]
[card]
primitive=Swamp
id=16798
rarity=C
[/card]
[card]
primitive=Mountain
id=16799
rarity=C
[/card]
[card]
primitive=Forest
id=16800
rarity=C
[/card]
[card]
primitive=Plains
id=16801
rarity=C
[/card]
[card]
primitive=Island
id=16802
rarity=C
[/card]
[card]
primitive=Swamp
id=16803
rarity=C
[/card]
[card]
primitive=Mountain
id=16804
rarity=C
[/card]
[card]
primitive=Forest
id=16805
rarity=C
[/card]
+612
View File
@@ -0,0 +1,612 @@
[meta]
author=Wagic Team
name=Arena Beginner Set
orderindex=PRO-Z8.ANB
year=2020-08-13
total=121
[/meta]
[card]
primitive=Goblin
id=-294806
rarity=T
[/card]
[card]
primitive=Goblin
id=-294790
rarity=T
[/card]
[card]
primitive=Goblin
id=-294789
rarity=T
[/card]
[card]
primitive=Cat
id=-294732
rarity=T
[/card]
[card]
primitive=Spirit
id=-294725
rarity=T
[/card]
[card]
primitive=Angel of Vitality
id=294720
rarity=U
[/card]
[card]
primitive=Angelic Guardian
id=294721
rarity=R
[/card]
[card]
primitive=Angelic Reward
id=294722
rarity=U
[/card]
[card]
primitive=Bond of Discipline
id=294723
rarity=U
[/card]
[card]
primitive=Charmed Stray
id=294724
rarity=C
[/card]
[card]
primitive=Confront the Assault
id=294725
rarity=U
[/card]
[card]
primitive=Fencing Ace
id=294726
rarity=C
[/card]
[card]
primitive=Goring Ceratops
id=294727
rarity=R
[/card]
[card]
primitive=Hallowed Priest
id=294728
rarity=U
[/card]
[card]
primitive=Impassioned Orator
id=294729
rarity=C
[/card]
[card]
primitive=Inspiring Commander
id=294730
rarity=R
[/card]
[card]
primitive=Knight's Pledge
id=294731
rarity=C
[/card]
[card]
primitive=Leonin Warleader
id=294732
rarity=R
[/card]
[card]
primitive=Loxodon Line Breaker
id=294733
rarity=C
[/card]
[card]
primitive=Moorland Inquisitor
id=294734
rarity=C
[/card]
[card]
primitive=Pacifism
id=294735
rarity=C
[/card]
[card]
primitive=Sanctuary Cat
id=294736
rarity=C
[/card]
[card]
primitive=Serra Angel
id=294737
rarity=U
[/card]
[card]
primitive=Shrine Keeper
id=294738
rarity=C
[/card]
[card]
primitive=Soulmender
id=294739
rarity=C
[/card]
[card]
primitive=Spiritual Guardian
id=294740
rarity=C
[/card]
[card]
primitive=Tactical Advantage
id=294741
rarity=C
[/card]
[card]
primitive=Air Elemental
id=294742
rarity=U
[/card]
[card]
primitive=Armored Whirl Turtle
id=294743
rarity=C
[/card]
[card]
primitive=Cloudkin Seer
id=294744
rarity=C
[/card]
[card]
primitive=Coral Merfolk
id=294745
rarity=C
[/card]
[card]
primitive=Frilled Sea Serpent
id=294746
rarity=C
[/card]
[card]
primitive=Glint
id=294747
rarity=C
[/card]
[card]
primitive=Octoprophet
id=294748
rarity=C
[/card]
[card]
primitive=Overflowing Insight
id=294749
rarity=R
[/card]
[card]
primitive=Riddlemaster Sphinx
id=294750
rarity=R
[/card]
[card]
primitive=River's Favor
id=294751
rarity=C
[/card]
[card]
primitive=Sleep
id=294752
rarity=U
[/card]
[card]
primitive=Soulblade Djinn
id=294753
rarity=R
[/card]
[card]
primitive=Sworn Guardian
id=294754
rarity=C
[/card]
[card]
primitive=Unsummon
id=294755
rarity=C
[/card]
[card]
primitive=Wall of Runes
id=294756
rarity=C
[/card]
[card]
primitive=Warden of Evos Isle
id=294757
rarity=U
[/card]
[card]
primitive=Waterkin Shaman
id=294758
rarity=C
[/card]
[card]
primitive=Waterknot
id=294759
rarity=C
[/card]
[card]
primitive=Windreader Sphinx
id=294760
rarity=R
[/card]
[card]
primitive=Windstorm Drake
id=294761
rarity=U
[/card]
[card]
primitive=Winged Words
id=294762
rarity=C
[/card]
[card]
primitive=Zephyr Gull
id=294763
rarity=C
[/card]
[card]
primitive=Bad Deal
id=294764
rarity=U
[/card]
[card]
primitive=Compound Fracture
id=294765
rarity=C
[/card]
[card]
primitive=Cruel Cut
id=294766
rarity=C
[/card]
[card]
primitive=Demon of Loathing
id=294767
rarity=R
[/card]
[card]
primitive=Eternal Thirst
id=294768
rarity=U
[/card]
[card]
primitive=Krovikan Scoundrel
id=294769
rarity=C
[/card]
[card]
primitive=Malakir Cullblade
id=294770
rarity=U
[/card]
[card]
primitive=Mardu Outrider
id=294771
rarity=R
[/card]
[card]
primitive=Murder
id=294772
rarity=U
[/card]
[card]
primitive=Nightmare
id=294773
rarity=R
[/card]
[card]
primitive=Nimble Pilferer
id=294774
rarity=C
[/card]
[card]
primitive=Raise Dead
id=294775
rarity=C
[/card]
[card]
primitive=Sanitarium Skeleton
id=294776
rarity=C
[/card]
[card]
primitive=Savage Gorger
id=294777
rarity=C
[/card]
[card]
primitive=Scathe Zombies
id=294778
rarity=C
[/card]
[card]
primitive=Sengir Vampire
id=294779
rarity=U
[/card]
[card]
primitive=Skeleton Archer
id=294780
rarity=C
[/card]
[card]
primitive=Soulhunter Rakshasa
id=294781
rarity=R
[/card]
[card]
primitive=Typhoid Rats
id=294782
rarity=C
[/card]
[card]
primitive=Unlikely Aid
id=294783
rarity=C
[/card]
[card]
primitive=Vampire Opportunist
id=294784
rarity=C
[/card]
[card]
primitive=Witch's Familiar
id=294785
rarity=C
[/card]
[card]
primitive=Bombard
id=294786
rarity=C
[/card]
[card]
primitive=Burn Bright
id=294787
rarity=C
[/card]
[card]
primitive=Fearless Halberdier
id=294788
rarity=C
[/card]
[card]
primitive=Goblin Gang Leader
id=294789
rarity=U
[/card]
[card]
primitive=Goblin Gathering
id=294790
rarity=C
[/card]
[card]
primitive=Goblin Trashmaster
id=294791
rarity=R
[/card]
[card]
primitive=Goblin Tunneler
id=294792
rarity=C
[/card]
[card]
primitive=Hurloon Minotaur
id=294793
rarity=C
[/card]
[card]
primitive=Immortal Phoenix
id=294794
rarity=R
[/card]
[card]
primitive=Inescapable Blaze
id=294795
rarity=U
[/card]
[card]
primitive=Maniacal Rage
id=294796
rarity=C
[/card]
[card]
primitive=Molten Ravager
id=294797
rarity=C
[/card]
[card]
primitive=Nest Robber
id=294798
rarity=C
[/card]
[card]
primitive=Ogre Battledriver
id=294799
rarity=R
[/card]
[card]
primitive=Raging Goblin
id=294800
rarity=C
[/card]
[card]
primitive=Raid Bombardment
id=294801
rarity=U
[/card]
[card]
primitive=Reduce to Ashes
id=294802
rarity=C
[/card]
[card]
primitive=Shock
id=294803
rarity=C
[/card]
[card]
primitive=Siege Dragon
id=294804
rarity=R
[/card]
[card]
primitive=Storm Strike
id=294805
rarity=C
[/card]
[card]
primitive=Tin Street Cadet
id=294806
rarity=C
[/card]
[card]
primitive=Volcanic Dragon
id=294807
rarity=U
[/card]
[card]
primitive=Affectionate Indrik
id=294808
rarity=U
[/card]
[card]
primitive=Baloth Packhunter
id=294809
rarity=C
[/card]
[card]
primitive=Charging Badger
id=294810
rarity=C
[/card]
[card]
primitive=Colossal Majesty
id=294811
rarity=U
[/card]
[card]
primitive=Epic Proportions
id=294812
rarity=R
[/card]
[card]
primitive=Feral Roar
id=294813
rarity=C
[/card]
[card]
primitive=Generous Stray
id=294814
rarity=C
[/card]
[card]
primitive=Gigantosaurus
id=294815
rarity=R
[/card]
[card]
primitive=Greenwood Sentinel
id=294816
rarity=C
[/card]
[card]
primitive=Ilysian Caryatid
id=294817
rarity=C
[/card]
[card]
primitive=Jungle Delver
id=294818
rarity=C
[/card]
[card]
primitive=Prized Unicorn
id=294819
rarity=U
[/card]
[card]
primitive=Rabid Bite
id=294820
rarity=C
[/card]
[card]
primitive=Rampaging Brontodon
id=294821
rarity=R
[/card]
[card]
primitive=Rumbling Baloth
id=294822
rarity=C
[/card]
[card]
primitive=Sentinel Spider
id=294823
rarity=U
[/card]
[card]
primitive=Stony Strength
id=294824
rarity=C
[/card]
[card]
primitive=Titanic Growth
id=294825
rarity=C
[/card]
[card]
primitive=Treetop Warden
id=294826
rarity=C
[/card]
[card]
primitive=Wildwood Patrol
id=294827
rarity=C
[/card]
[card]
primitive=Woodland Mystic
id=294828
rarity=C
[/card]
[card]
primitive=World Shaper
id=294829
rarity=R
[/card]
[card]
primitive=Evolving Wilds
id=294830
rarity=C
[/card]
[card]
primitive=Forest
id=294831
rarity=C
[/card]
[card]
primitive=Island
id=294832
rarity=C
[/card]
[card]
primitive=Mountain
id=294833
rarity=C
[/card]
[card]
primitive=Plains
id=294834
rarity=C
[/card]
[card]
primitive=Swamp
id=294835
rarity=C
[/card]
+2 -1
View File
@@ -2,7 +2,8 @@
author=Wagic Team author=Wagic Team
name=Apocalypse name=Apocalypse
block=Invasion block=Invasion
year=2001 orderindex=EXP-O.APC
year=2001-06-04
total=143 total=143
[/meta] [/meta]
[card] [card]
+4 -3
View File
@@ -1,9 +1,10 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Alara Reborn name=Alara Reborn
block=Shards of Alara block=Alara
year=2009 orderindex=EXP-ZF.ARB
total=145 year=2009-04-30
total=146
[/meta] [/meta]
[card] [card]
primitive=Anathemancer primitive=Anathemancer
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Archenemy name=Archenemy
year=2010 orderindex=COM-2.ARC
year=2010-06-18
total=150 total=150
[/meta] [/meta]
[card] [card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Arabian Nights name=Arabian Nights
year=1993 orderindex=EXP-1.ARN
year=1993-12-17
total=92 total=92
[/meta] [/meta]
[card] [card]
+452
View File
@@ -0,0 +1,452 @@
[meta]
author=Wagic Team
name=Anthologies
orderindex=REP-2.ATH
year=1998-11-01
total=89
[/meta]
[card]
primitive=Goblin
id=-295861
rarity=T
[/card]
[card]
primitive=Goblin
id=-295856
rarity=T
[/card]
[card]
primitive=Pegasus
id=-295832
rarity=T
[/card]
[card]
primitive=Pegasus
id=-295831
rarity=T
[/card]
[card]
primitive=Armageddon
id=295820
rarity=R
[/card]
[card]
primitive=Armored Pegasus
id=295821
rarity=C
[/card]
[card]
primitive=Benalish Knight
id=295822
rarity=C
[/card]
[card]
primitive=Combat Medic
id=295823
rarity=C
[/card]
[card]
primitive=Disenchant
id=295824
rarity=C
[/card]
[card]
primitive=Freewind Falcon
id=295825
rarity=C
[/card]
[card]
primitive=Icatian Javelineers
id=295826
rarity=C
[/card]
[card]
primitive=Infantry Veteran
id=295827
rarity=C
[/card]
[card]
primitive=Order of the White Shield
id=295828
rarity=U
[/card]
[card]
primitive=Pacifism
id=295829
rarity=C
[/card]
[card]
primitive=Pegasus Charger
id=295830
rarity=C
[/card]
[card]
primitive=Pegasus Stampede
id=295831
rarity=U
[/card]
[card]
primitive=Sacred Mesa
id=295832
rarity=R
[/card]
[card]
primitive=Samite Healer
id=295833
rarity=C
[/card]
[card]
primitive=Serra Angel
id=295834
rarity=U
[/card]
[card]
primitive=Swords to Plowshares
id=295835
rarity=U
[/card]
[card]
primitive=Warrior's Honor
id=295836
rarity=C
[/card]
[card]
primitive=White Knight
id=295837
rarity=U
[/card]
[card]
primitive=Youthful Knight
id=295838
rarity=C
[/card]
[card]
primitive=Black Knight
id=295839
rarity=U
[/card]
[card]
primitive=Cuombajj Witches
id=295840
rarity=C
[/card]
[card]
primitive=Feast of the Unicorn
id=295841
rarity=C
[/card]
[card]
primitive=Hymn to Tourach
id=295842
rarity=C
[/card]
[card]
primitive=Hypnotic Specter
id=295843
rarity=U
[/card]
[card]
primitive=Ihsan's Shade
id=295844
rarity=U
[/card]
[card]
primitive=Knight of Stromgald
id=295845
rarity=U
[/card]
[card]
primitive=Terror
id=295846
rarity=C
[/card]
[card]
primitive=Unholy Strength
id=295847
rarity=C
[/card]
[card]
primitive=Fireball
id=295848
rarity=C
[/card]
[card]
primitive=Goblin Balloon Brigade
id=295849
rarity=C
[/card]
[card]
primitive=Goblin Digging Team
id=295850
rarity=C
[/card]
[card]
primitive=Goblin Grenade
id=295851
rarity=C
[/card]
[card]
primitive=Goblin Hero
id=295852
rarity=C
[/card]
[card]
primitive=Goblin King
id=295853
rarity=R
[/card]
[card]
primitive=Goblin Matron
id=295854
rarity=U
[/card]
[card]
primitive=Goblin Mutant
id=295855
rarity=U
[/card]
[card]
primitive=Goblin Offensive
id=295856
rarity=U
[/card]
[card]
primitive=Goblin Recruiter
id=295857
rarity=U
[/card]
[card]
primitive=Goblin Snowman
id=295858
rarity=U
[/card]
[card]
primitive=Goblin Tinkerer
id=295859
rarity=C
[/card]
[card]
primitive=Goblin Vandal
id=295860
rarity=C
[/card]
[card]
primitive=Goblin Warrens
id=295861
rarity=R
[/card]
[card]
primitive=Lightning Bolt
id=295862
rarity=C
[/card]
[card]
primitive=Mogg Fanatic
id=295863
rarity=C
[/card]
[card]
primitive=Mogg Flunkies
id=295864
rarity=C
[/card]
[card]
primitive=Mogg Raider
id=295865
rarity=C
[/card]
[card]
primitive=Pyrokinesis
id=295866
rarity=U
[/card]
[card]
primitive=Pyrotechnics
id=295867
rarity=C
[/card]
[card]
primitive=Raging Goblin
id=295868
rarity=U
[/card]
[card]
primitive=Uthden Troll
id=295869
rarity=U
[/card]
[card]
primitive=Volcanic Dragon
id=295870
rarity=R
[/card]
[card]
primitive=Canopy Spider
id=295871
rarity=C
[/card]
[card]
primitive=Carnivorous Plant
id=295872
rarity=C
[/card]
[card]
primitive=Erhnam Djinn
id=295873
rarity=U
[/card]
[card]
primitive=Giant Growth
id=295874
rarity=C
[/card]
[card]
primitive=Giant Spider
id=295875
rarity=C
[/card]
[card]
primitive=Gorilla Chieftain
id=295876
rarity=C
[/card]
[card]
primitive=Hurricane
id=295877
rarity=U
[/card]
[card]
primitive=Llanowar Elves
id=295878
rarity=C
[/card]
[card]
primitive=Mirri, Cat Warrior
id=295879
rarity=R
[/card]
[card]
primitive=Overrun
id=295880
rarity=U
[/card]
[card]
primitive=Scavenger Folk
id=295881
rarity=C
[/card]
[card]
primitive=Spectral Bears
id=295882
rarity=U
[/card]
[card]
primitive=Woolly Spider
id=295883
rarity=C
[/card]
[card]
primitive=Lady Orca
id=295884
rarity=U
[/card]
[card]
primitive=Ranger en-Vec
id=295885
rarity=U
[/card]
[card]
primitive=Aesthir Glider
id=295886
rarity=C
[/card]
[card]
primitive=Jalum Tome
id=295887
rarity=U
[/card]
[card]
primitive=Nevinyrral's Disk
id=295888
rarity=R
[/card]
[card]
primitive=Serrated Arrows
id=295889
rarity=C
[/card]
[card]
primitive=Brushland
id=295890
rarity=R
[/card]
[card]
primitive=Drifting Meadow
id=295891
rarity=C
[/card]
[card]
primitive=Pendelhaven
id=295892
rarity=U
[/card]
[card]
primitive=Polluted Mire
id=295893
rarity=C
[/card]
[card]
primitive=Slippery Karst
id=295894
rarity=C
[/card]
[card]
primitive=Smoldering Crater
id=295895
rarity=C
[/card]
[card]
primitive=Strip Mine
id=295896
rarity=R
[/card]
[card]
primitive=Plains
id=295897
rarity=C
[/card]
[card]
primitive=Plains
id=295898
rarity=C
[/card]
[card]
primitive=Swamp
id=295899
rarity=C
[/card]
[card]
primitive=Swamp
id=295900
rarity=C
[/card]
[card]
primitive=Mountain
id=295901
rarity=C
[/card]
[card]
primitive=Mountain
id=295902
rarity=C
[/card]
[card]
primitive=Forest
id=295903
rarity=C
[/card]
[card]
primitive=Forest
id=295904
rarity=C
[/card]
+2 -1
View File
@@ -1,7 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Antiquities name=Antiquities
year=1994 orderindex=EXP-2.ATQ
year=1994-03-04
total=100 total=100
[/meta] [/meta]
[card] [card]
+2 -2
View File
@@ -1,8 +1,8 @@
[meta] [meta]
author=Wagic Team author=Wagic Team
name=Duel Decks: Ajani vs. Nicol Bolas name=Duel Decks: Ajani vs. Nicol Bolas
block=Duel orderindex=DUE-9.DDH
year=2011 year=2011-09-02
total=80 total=80
[/meta] [/meta]
[card] [card]

Some files were not shown because too many files have changed in this diff Show More