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

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:

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;

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
} }

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;

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 */

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

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:

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
{ {

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;

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);

View File

@@ -197,7 +197,7 @@ bool JGuiController::CheckUserInput(JButton key)
mObjects[mCurr]->Entering(); mObjects[mCurr]->Entering();
} }
mEngine->LeftClickedProcessed(); mEngine->LeftClickedProcessed();
mEngine->ResetInput(); mEngine->ResetInput();
return true; return true;
} }
mEngine->LeftClickedProcessed(); mEngine->LeftClickedProcessed();

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,8 +143,16 @@ 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();
}
} }
} }

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);

View File

@@ -96,7 +96,8 @@ hgeParticleSystem::hgeParticleSystem(hgeParticleSystemInfo *psi)
{ {
//hge=hgeCreate(HGE_VERSION); //hge=hgeCreate(HGE_VERSION);
memcpy(&info, psi, sizeof(hgeParticleSystemInfo)); if (psi)
memcpy(&info, psi, sizeof(hgeParticleSystemInfo));
vecLocation.x=vecPrevLocation.x=0.0f; vecLocation.x=vecPrevLocation.x=0.0f;
vecLocation.y=vecPrevLocation.y=0.0f; vecLocation.y=vecPrevLocation.y=0.0f;

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

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)

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" />
<intent-filter> <uses-permission android:name="android.permission.INTERNET" />
<action android:name="android.intent.action.MAIN"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<category android:name="android.intent.category.LAUNCHER"/> <application android:icon="@drawable/icon"
</intent-filter> android:label="@string/app_name"
</activity> android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/> <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>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="10"
android:targetSdkVersion="29" />
</manifest> </manifest>

View File

@@ -8,4 +8,4 @@
# project structure. # project structure.
# Project target. # Project target.
target=android-10 target=android-23

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 \

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.

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

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"

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>

View File

@@ -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,60 +57,57 @@ 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);
File rootDecks = null;
if (!profileName.equalsIgnoreCase("Default"))
rootDecks = new File(activePath + "/User/profiles/" + profileName);
else
rootDecks = new File(activePath + "/User/player/");
if (rootDecks.exists() && rootDecks.isDirectory())
{ {
String profileName = getActiveProfile(profile); //save deck
if (profileName != "Missing!") int countdeck = 1;
File[] files = rootDecks.listFiles();
for (int i = 0; i < files.length; i++)
{//check if there is available deck...
if (files[i].getName().startsWith("deck"))
countdeck++;
}
File toSave = new File(rootDecks + "/deck" + countdeck + ".txt");
try
{ {
File rootProfiles = new File(activePath + "/Res/profiles/" + profileName); FileOutputStream fop = new FileOutputStream(toSave);
if (rootProfiles.exists() && rootProfiles.isDirectory())
{
//save deck
int countdeck = 1;
File[] files = rootProfiles.listFiles();
for (int i = 0; i < files.length; i++)
{//check if there is available deck...
if (files[i].getName().startsWith("deck"))
countdeck++;
}
File toSave = new File(rootProfiles + "/deck" + countdeck + ".txt");
try
{
FileOutputStream fop = new FileOutputStream(toSave);
// if file doesn't exists, then create it // if file doesn't exists, then create it
if (!toSave.exists()) if (!toSave.exists())
{
toSave.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = deck.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
message = "Import Deck Success!\n" + cardcount + " total cards in this deck\n\n" + deck;
} catch (IOException e)
{
message = e.getMessage();
}
} else
{ {
message = "Missing Folder!"; toSave.createNewFile();
} }
// get the content in bytes
byte[] contentInBytes = deck.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
message = "The deck has been successfully imported as: " + toSave.getName() + "\n" + cardcount + " total cards in this deck\n\n" + deck;
} catch (IOException e)
{
message = e.getMessage();
} }
} else } else
{ {
message = "Invalid Profile!"; message = "Problem opening decks folder: " + rootDecks.getAbsolutePath();
} }
} 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

View File

@@ -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

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

View File

@@ -1,4 +1,4 @@
name=Blitzkrieg name=Mode Blitzkrieg
unlock=prx_geirkztilb unlock=prx_geirkztilb
[INIT] [INIT]
mode=mtg mode=mtg

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

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]

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

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)

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

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

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}

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

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}

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

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

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]

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

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

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

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]

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]

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]

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]

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

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

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

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

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]

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]

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]

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

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]

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]

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]

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]

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