Compare commits

..

5792 Commits

Author SHA1 Message Date
Michael Kamensky
13b1a4150c [maven-release-plugin] prepare release forge-1.6.46 2021-11-15 07:33:45 +03:00
Michael Kamensky
b0b70dd43e Merge branch 'cantDrawLimit' into 'master'
Cant draw limit

See merge request core-developers/forge!5778
2021-11-14 13:10:29 +00:00
Hans Mackowiak
2e5f2186f0 Cant draw limit 2021-11-14 13:10:29 +00:00
Michael Kamensky
3b2bfb3dce Merge branch 'master' into 'master'
DigAi: override chkAIDrawback, fixes e.g. Oona, Queen of the Fae activation

See merge request core-developers/forge!5829
2021-11-14 07:34:44 +00:00
Michael Kamensky
c6fa80a12a - DigAi: override chkAIDrawback, fixes e.g. Oona, Queen of the Fae activation 2021-11-14 10:34:10 +03:00
Michael Kamensky
8835af58ce Merge branch 'master' into 'master'
Improve no ordering for randomized shuffle of cards into library (ChangeZoneAllEffect)

See merge request core-developers/forge!5828
2021-11-14 06:41:02 +00:00
Michael Kamensky
0d4e9716d9 - A little bit more specific restriction. 2021-11-14 09:28:12 +03:00
Michael Kamensky
3e7a8efb60 - Improve no ordering for randomized shuffle of cards into library (ChangeZoneAllEffect) 2021-11-14 08:22:53 +03:00
Michael Kamensky
6d3eff40a4 Merge branch 'master' into 'master'
NPE guard when generating description in DamageDealEffect.

See merge request core-developers/forge!5827
2021-11-14 04:52:34 +00:00
Michael Kamensky
76dd1829c8 - NPE guard when generating description in DamageDealEffect. 2021-11-14 07:51:57 +03:00
Michael Kamensky
84c1345d87 Merge branch 'master' into 'master'
Fix/improve ExilePreference AI logic

See merge request core-developers/forge!5826
2021-11-14 04:48:20 +00:00
Michael Kamensky
318f15c8a2 - Fix/improve ExilePreference AI logic 2021-11-14 07:46:31 +03:00
Michael Kamensky
0d2255259f Merge branch 'npe' into 'master'
Fix NPE when checking facedown card with Disturb

See merge request core-developers/forge!5825
2021-11-13 19:29:01 +00:00
tool4EvEr
5a1f9fa327 getAlternativeCosts: only build spells when in correct zone 2021-11-13 19:36:42 +01:00
tool4EvEr
6c7706cdd1 Fix NPE when checking facedown card with Disturb 2021-11-13 19:23:57 +01:00
Michael Kamensky
cb28723081 Merge branch 'master' into 'master'
Basic AI logic support for the Cemetery cycle (VOW)

See merge request core-developers/forge!5824
2021-11-13 16:34:03 +00:00
Michael Kamensky
6d8443ccde - Fix imports 2021-11-13 19:33:36 +03:00
Michael Kamensky
b9dd52760f - Basic AI logic support for the Cemetery cycle (VOW) 2021-11-13 19:31:59 +03:00
Michael Kamensky
7e94464a4c - Move AILogic FellTheMighty into SpecialCardAi (card-specific). 2021-11-13 18:04:49 +03:00
Michael Kamensky
5937a49783 Merge branch 'master' into 'master'
Mark Fell the Mighty as AI-playable (logic present in code).

See merge request core-developers/forge!5823
2021-11-13 15:01:56 +00:00
Michael Kamensky
0e049a6a54 - Mark Fell the Mighty as AI-playable (logic present in code). 2021-11-13 18:01:20 +03:00
Michael Kamensky
bba3bd802d Merge branch 'ai-redundant-pump' into 'master'
Fix a bug for sorcery speed AI pumping

See merge request core-developers/forge!5822
2021-11-13 04:16:35 +00:00
Michael Kamensky
446c4fa830 Merge branch 'voc_12' into 'master'
VOC: 12 Nov

See merge request core-developers/forge!5820
2021-11-13 04:15:48 +00:00
Michael Kamensky
d3c98102b8 Merge branch 'pumping' into 'master'
Rework Fell the Mighty without Pump

See merge request core-developers/forge!5817
2021-11-13 04:15:16 +00:00
friarsol
4d020e389b Fix a bug for sorcery speed AI pumping 2021-11-12 22:35:22 -05:00
Sol
122a87ff9f Merge branch 'fix' into 'master'
fearful_villager_fearsome_werewolf.txt fix ManaCost

See merge request core-developers/forge!5821
2021-11-13 01:21:42 +00:00
Northmoc
956dfbc9a9 fearful_villager_fearsome_werewolf.txt fix ManaCost 2021-11-12 20:19:08 -05:00
Northmoc
ea0e65e338 hollowhenge_overlord.txt add BuffedBy 2021-11-12 18:34:11 -05:00
Northmoc
d283d1ec5c hollowhenge_overlord.txt (Suthro) 2021-11-12 18:32:25 -05:00
Northmoc
f79f30901f glass_cast_heart.txt 2021-11-12 17:57:39 -05:00
Bug Hunter
2d712806d7 Merge branch 'fix' into 'master'
overcharged_amalgam.txt fix PT

See merge request core-developers/forge!5819
2021-11-12 22:06:00 +00:00
Northmoc
ac49c5a08b overcharged_amalgam.txt fix PT 2021-11-12 16:57:16 -05:00
tool4EvEr
f8e0fcd9a3 Rework Fell the Mighty without Pump 2021-11-12 22:20:04 +01:00
Northmoc
a2da9fa82f storm_of_souls.txt 2021-11-12 14:44:54 -05:00
Michael Kamensky
e962d3e99c Merge branch 'master' into 'master'
Add VOW/VOC planeswalker and alt wincon achievements by Marek14.

See merge request core-developers/forge!5816
2021-11-12 18:34:29 +00:00
Michael Kamensky
301ccf3a86 - Add VOW/VOC planeswalker and alt wincon achievements by Marek14. 2021-11-12 21:33:14 +03:00
Michael Kamensky
6ec93dc46c Merge branch 'vow_lands' into 'master'
VOW Missing Lands

See merge request core-developers/forge!5815
2021-11-12 17:41:38 +00:00
Michael Kamensky
4689d34ab0 Merge branch 'voc_12' into 'master'
VOC: 12 Nov

See merge request core-developers/forge!5814
2021-11-12 17:41:24 +00:00
Michael Kamensky
1c222035a1 Merge branch 'riskfactor' into 'master'
Rework Risk Factor without Pump

See merge request core-developers/forge!5812
2021-11-12 17:41:04 +00:00
Northmoc
cf4ecc97a2 mirage_phalanx.txt remove unneeded 2021-11-12 11:35:04 -05:00
paul_snoops
a95570105b VOW Missing Lands 2021-11-12 16:20:52 +00:00
TRT
e9bef5ffa9 Improve AI for Risk Factor 2021-11-12 17:06:15 +01:00
Hans Mackowiak
3268a1a488 Merge branch 'donal' into 'master'
VOC: Donal and support

See merge request core-developers/forge!5801
2021-11-12 14:31:18 +00:00
Tim Mocny
41d14f8e51 VOC: Donal and support 2021-11-12 14:31:17 +00:00
Northmoc
da130e730d mirage_phalanx.txt 2021-11-12 09:14:08 -05:00
Northmoc
38f862993e arterial_alchemy.txt 2021-11-12 09:13:59 -05:00
TRT
11ac8127c2 Rework Risk Factor without Pump 2021-11-12 14:50:17 +01:00
Michael Kamensky
822bab00e2 Merge branch 'fix-pivotedition-on-sections-with-only-lands' into 'master'
Quick Fix PivotEdition on DeckSections containing just lands

See merge request core-developers/forge!5811
2021-11-12 13:11:03 +00:00
Valerio Maggio
0d99dd6df0 Quick Fix PivotEdition on DeckSections containing just lands 2021-11-12 12:59:19 +00:00
Michael Kamensky
cff17f0100 Merge branch 'johnwilliams7-master-patch-23701' into 'master'
Year of the Ox 2021

See merge request core-developers/forge!5809
2021-11-12 12:58:30 +00:00
Michael Kamensky
8ad3d662c7 Merge branch 'master' into 'master'
Reorder VOW and MID draft ranking set locations to maintain the usual order in rankings.txt.

See merge request core-developers/forge!5810
2021-11-12 12:57:43 +00:00
John Williams
bc962f8a7d Merge branch 'master' into 'johnwilliams7-master-patch-23701'
# Conflicts:
#   forge-gui/res/editions/Year of the Ox 2021.txt
2021-11-12 12:56:12 +00:00
Michael Kamensky
b6b0dc266d - Reorder VOW and MID draft ranking set locations to maintain the usual order in rankings.txt. 2021-11-12 15:55:21 +03:00
John Williams
253dc62870 Add new file 2021-11-12 12:52:21 +00:00
Michael Kamensky
fbea3627eb Merge branch 'master' into 'master'
Update STX draft rankings to make the AI properly draft Mystic Archive cards

See merge request core-developers/forge!5808
2021-11-12 12:48:28 +00:00
Michael Kamensky
b6f8aa0b3d - Update STX draft rankings to properly account for the STA (Mystic Archive) cards. 2021-11-12 15:47:12 +03:00
Michael Kamensky
d6e450075e Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-11-12 15:43:57 +03:00
Michael Kamensky
2c616670f5 Merge branch 'johnwilliams7-master-patch-84405' into 'master'
MagicFest2021

See merge request core-developers/forge!5807
2021-11-12 12:43:18 +00:00
Michael Kamensky
cac607eedb Merge branch 'Svaldan-master-patch-04656' into 'master'
4 VOC cards

See merge request core-developers/forge!5799
2021-11-12 12:42:23 +00:00
Michael Kamensky
0cf12823e9 Merge branch 'TRT-master-patch-50453' into 'master'
Update forge-gui/res/cardsfolder/upcoming/ancestral_anger.txt

See merge request core-developers/forge!5805
2021-11-12 12:42:12 +00:00
Bug Hunter
94f73d0812 Merge branch 'hx-master-patch-27087' into 'master'
fixed cost for Apprentice Sharpshooter and Dreadlight Monstrosity

See merge request core-developers/forge!5806
2021-11-12 12:42:07 +00:00
hx hyper
cff23a9f42 fixed cost for Apprentice Sharpshooter and Dreadlight Monstrosity 2021-11-12 12:42:07 +00:00
John Williams
8bb48af04c Add new file 2021-11-12 12:34:55 +00:00
Job Spijker
130d712f08 Fixed \n typo in oracle text 2021-11-12 10:24:32 +00:00
Bug Hunter
200dbbd37e Update forge-gui/res/cardsfolder/upcoming/ancestral_anger.txt 2021-11-12 10:02:33 +00:00
Michael Kamensky
d8bcee5f0b Merge branch 'TRT-master-patch-94392' into 'master'
Update forge-gui/res/cardsfolder/upcoming/millicent_restless_revenant.txt

See merge request core-developers/forge!5804
2021-11-12 08:59:18 +00:00
Bug Hunter
748a8f2c42 Update forge-gui/res/cardsfolder/upcoming/millicent_restless_revenant.txt 2021-11-12 08:54:58 +00:00
Job Spijker
2c0f5e4266 Added newline to Haunted Library 2021-11-12 07:04:56 +00:00
Job Spijker
9afb565673 Added deck hint to Drogskol Reinforcements 2021-11-12 07:04:21 +00:00
Job Spijker
8f47c10627 Removed melee reminder text from Mode$ Continuous 2021-11-12 07:03:39 +00:00
Michael Kamensky
01333ff67e Merge branch 'voc_11' into 'master'
VOC: 11 Nov

See merge request core-developers/forge!5802
2021-11-12 05:54:24 +00:00
Michael Kamensky
0840dc30a2 Merge branch 'fix' into 'master'
various minor fixes

See merge request core-developers/forge!5803
2021-11-12 05:51:14 +00:00
Northmoc
0bbaef9a32 honored_heirloom.txt add ManaCost 2021-11-11 22:49:47 -05:00
Northmoc
9b967f7092 courier_bat.txt fix Oracle 2021-11-11 22:49:33 -05:00
Michael Kamensky
eca72342c7 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-11-12 06:47:22 +03:00
Michael Kamensky
7fbb6a5ff4 Merge branch 'vowdraft' into 'master'
set up VOW draft

See merge request core-developers/forge!5798
2021-11-12 03:46:29 +00:00
Michael Kamensky
4ac5dabbea Merge branch 'triggerzones' into 'master'
Fix bad TriggerZone param

See merge request core-developers/forge!5800
2021-11-12 03:46:08 +00:00
Northmoc
5e61f8029c timothar_baron_of_bats.txt and slight CostExile prompt tweak 2021-11-11 22:45:39 -05:00
Michael Kamensky
bf18ba2cd7 Merge branch 'cem_des' into 'master'
VOW: Cemetery Desecrator (tricky Charm templating)

See merge request core-developers/forge!5750
2021-11-12 03:45:30 +00:00
Northmoc
a28d5e373f umbris_fear_manifest.txt 2021-11-11 22:43:40 -05:00
Northmoc
3f1ff4b064 imperious_mindbreaker.txt add AI hint 2021-11-11 22:39:39 -05:00
Northmoc
4cca378710 priest_of_the_blessed_graf.txt 2021-11-11 22:39:24 -05:00
Northmoc
e1323d0336 imperious_mindbreaker.txt 2021-11-11 21:59:05 -05:00
tool4EvEr
9fb09c1d90 Fix bad TriggerZone param 2021-11-11 23:26:06 +01:00
Job Spijker
7dc538f7b0 VOC: Timin, Youthful Geist 2021-11-11 21:23:51 +00:00
Job Spijker
2b2de73b3b VOC: Rhoda, Geist Avenger 2021-11-11 21:23:20 +00:00
Job Spijker
f492e9d7bf VOC: Haunted Library 2021-11-11 21:06:29 +00:00
Job Spijker
6366583610 VOC: Drogskoll Reinforcements 2021-11-11 21:05:33 +00:00
Northmoc
83fcd6e6cd VOW rankings 2021-11-11 14:12:36 -05:00
Northmoc
ce5acd1845 set up VOW draft 2021-11-11 14:10:59 -05:00
Michael Kamensky
637c8a010e Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-11-11 21:21:31 +03:00
Michael Kamensky
433d9482ba Merge branch 'Svaldan-master-patch-80692' into 'master'
Final VOW cards by Svaldan

See merge request core-developers/forge!5790
2021-11-11 18:20:59 +00:00
Job Spijker
badde0f297 Improved stack description of VOW:Wolf Strike 2021-11-11 18:05:21 +00:00
Michael Kamensky
be239c55b0 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-11-11 20:28:41 +03:00
Michael Kamensky
d6b2711e0a Merge branch 'veil' into 'master'
veil_of_summer.txt tidy Desc and AI

See merge request core-developers/forge!5797
2021-11-11 17:27:41 +00:00
Bug Hunter
6bf24309ba Merge branch 'master' into 'master'
Tweak Dollhouse of Horrors implementation

See merge request core-developers/forge!5796
2021-11-11 16:52:14 +00:00
Michael Kamensky
87147c5c4b Tweak Dollhouse of Horrors implementation 2021-11-11 16:52:14 +00:00
Bug Hunter
50114fc6d0 Merge branch 'odric' into 'master'
VOW: Odric and support

See merge request core-developers/forge!5773
2021-11-11 16:50:39 +00:00
Northmoc
26814de95a veil_of_summer.txt tidy Desc and AI 2021-11-11 11:49:32 -05:00
Michael Kamensky
64a3b6579a - Tweak Dollhouse of Horrors implementation. 2021-11-11 18:33:54 +03:00
Michael Kamensky
8bbf8148eb - Tweak Dollhouse of Horrors implementation. 2021-11-11 18:32:50 +03:00
Michael Kamensky
97683d52ef Merge branch 'deald' into 'master'
VOW: Some DealDamage red commons + support + cleanup

See merge request core-developers/forge!5784
2021-11-11 14:57:13 +00:00
Northmoc
58be4989a2 lacerate_flesh.txt newline 2021-11-11 08:20:20 -05:00
Northmoc
d303eba24e brutal_expulsion.txt picky 2021-11-11 08:12:53 -05:00
Job Spijker
e889a7b1e2 Added newline to g_3_1_boar.txt tokenscript 2021-11-11 07:56:58 +00:00
Job Spijker
2e1d519bc7 Update forge-gui/res/cardsfolder/upcoming/wolf_strike.txt 2021-11-11 07:52:25 +00:00
Job Spijker
e813cff9d7 Update forge-gui/res/cardsfolder/upcoming/rural_recruit.txt 2021-11-11 06:59:56 +00:00
Michael Kamensky
f1895bf33d Merge branch 'master' into 'master'
Improve AI prediction of rampage-like and similar dangerous triggers when reinforcing blockers

See merge request core-developers/forge!5795
2021-11-11 06:06:13 +00:00
Michael Kamensky
fde8691865 - Improve AI prediction of rampage-like and similar dangerous triggers when trying to reinforce blockers 2021-11-11 09:04:03 +03:00
Michael Kamensky
a336fa5774 Merge branch 'master' into 'master'
Try-catch in ItemManager to catch odd NPE flukes in mobile deck editor (as recommended by Kev)

See merge request core-developers/forge!5794
2021-11-11 05:13:27 +00:00
Michael Kamensky
e9b329523e - Try-catch in ItemManager to catch odd flukes in the form of unreproducible NPEs when removing stuff in deck editors (as recommended by Kev). 2021-11-11 08:11:16 +03:00
Michael Kamensky
3b9ab85b7d Merge branch 'master' into 'master'
Make Disturb cards show up in Flashback zone.

See merge request core-developers/forge!5793
2021-11-11 04:26:23 +00:00
Michael Kamensky
4f81eda60d - Make Disturb cards show up in Flashback zone. 2021-11-11 07:24:58 +03:00
Michael Kamensky
a5107664d0 Merge branch 'Svaldan-master-patch-80934' into 'master'
VOW: Nature's Embrace

See merge request core-developers/forge!5786
2021-11-11 04:08:12 +00:00
Michael Kamensky
3a37370531 Merge branch 'Svaldan-master-patch-47401' into 'master'
VOW: Pyre Spawn

See merge request core-developers/forge!5788
2021-11-11 04:07:45 +00:00
Michael Kamensky
fb2bba7d5c Merge branch 'vow_10' into 'master'
VOW: 10 Nov

See merge request core-developers/forge!5792
2021-11-11 04:07:15 +00:00
Michael Kamensky
c951734ee8 Merge branch 'Svaldan-master-patch-86566' into 'master'
VOW: Hookhand Mariner // Riphook Raider

See merge request core-developers/forge!5787
2021-11-11 04:05:38 +00:00
Michael Kamensky
a875040cc2 Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!5791
2021-11-11 04:04:38 +00:00
Michael Kamensky
b08f2187e8 Merge branch 'Svaldan-master-patch-49241' into 'master'
VOW: Voldaren Epicure

See merge request core-developers/forge!5789
2021-11-11 04:04:24 +00:00
Michael Kamensky
96560a9069 Merge branch 'master' into 'master'
Remove debug lines

See merge request core-developers/forge!5783
2021-11-11 04:03:31 +00:00
Michael Kamensky
04e00504e6 Merge branch 'svaldan_scripts' into 'master'
Some VOW scripts by Svaldan

See merge request core-developers/forge!5779
2021-11-11 04:02:59 +00:00
Michael Kamensky
1a19131552 Merge branch 'Svaldan-master-patch-28560' into 'master'
VOW - Lightning Wolf

See merge request core-developers/forge!5782
2021-11-11 04:02:20 +00:00
Northmoc
2e9f610e0f improve old DealDamage ReplaceDying cards 2021-11-10 22:36:31 -05:00
Northmoc
a064aca5b9 broaden Log readout for Planeswalker case 2021-11-10 20:04:13 -05:00
Northmoc
860983cc4c flame_blessed_bolt.txt 2021-11-10 20:04:13 -05:00
Northmoc
bf1b44aa34 DamageDealEffect improve StackDescription for "ReplaceDyingDefined" cards 2021-11-10 20:04:12 -05:00
Northmoc
573963707c lacerate_flesh.txt 2021-11-10 20:04:12 -05:00
Northmoc
a154c6b175 DamageDealEffect: support "ExcessSVar" 2021-11-10 20:04:11 -05:00
Churrufli
53b3183dfb Net Decks Archive Updates 2021-11-10 23:28:36 +01:00
Job Spijker
f26650ea55 VOW: Wolf Strike 2021-11-10 21:51:19 +00:00
Job Spijker
a1e9f426c5 VOW: Witch's Web 2021-11-10 21:51:00 +00:00
Job Spijker
b60f955c62 VOW: Toxic Scorpion 2021-11-10 21:50:40 +00:00
Job Spijker
bbe1bf7aff VOW: Sporeback Wolf 2021-11-10 21:50:16 +00:00
Job Spijker
18148b681b VOW: Ceremonial Knife 2021-11-10 21:49:49 +00:00
Job Spijker
5d407c608e VOW: Blood Servitor 2021-11-10 21:49:24 +00:00
Job Spijker
dcebe1e110 Update kaldra_compleat.txt - Triggered ability should only trigger on combat damage 2021-11-10 21:38:37 +00:00
Job Spijker
20a1d3b6e9 VOW: Spore Crawler 2021-11-10 20:51:07 +00:00
Job Spijker
3ceb668acc VOW: green 3/1 Boar creature token (for Rural Recruit) 2021-11-10 20:46:56 +00:00
Job Spijker
247f264bfb VOW: Sheltering Boughs 2021-11-10 20:38:53 +00:00
Job Spijker
d908f2190f VOW: Rural Recruit 2021-11-10 20:36:38 +00:00
Job Spijker
b0f48690d4 VOW: Voldaren Epicure 2021-11-10 19:56:08 +00:00
Job Spijker
967a8b4510 VOW: Pyre Spawn 2021-11-10 19:53:41 +00:00
Job Spijker
0bb0675ea8 Nature's Embrace 2021-11-10 19:39:58 +00:00
Job Spijker
df8e545de7 Hookhand Mariner // Riphook Raider 2021-11-10 19:38:46 +00:00
Hans Mackowiak
dd0ddb4aab Merge branch 'TRT-master-patch-45054' into 'master'
Update forge-gui/res/cardsfolder/o/oathsworn_vampire.txt

See merge request core-developers/forge!5785
2021-11-10 19:29:13 +00:00
Bug Hunter
e578393701 Update forge-gui/res/cardsfolder/o/oathsworn_vampire.txt 2021-11-10 19:19:06 +00:00
Northmoc
f62b811b10 jacob_hauken_inspector_haukens_insight.txt remove unneeded SubAbility 2021-11-10 13:37:56 -05:00
Matt Crawford
7bb76cd52f Remove debug lines I left in log ago 2021-11-10 10:09:21 -08:00
Paul Hammerton
88fd0a4fb5 Update pointed_discussion.txt 2021-11-10 17:23:40 +00:00
Paul Hammerton
b61c5b7e81 Update desperate_farmer_depraved_harvester.txt 2021-11-10 17:23:40 +00:00
Paul Hammerton
66e5af85a0 Update pointed_discussion.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
2f2af3003a Update blood_petal_celebrant.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
6309b50278 Update vampires_kiss.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
19d9029542 Update undying_malice.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
19d97dfe9d Update desperate_farmer_depraved_harvester.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
c190d28de6 Update ragged_recluse_odious_witch.txt 2021-11-10 17:23:39 +00:00
Paul Hammerton
f2cfedac87 Update pointed_discussion.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
21c0bfbdb1 Update panicked_bystander_cackling_culprit.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
f4503f1272 Update gutter_skulker_gutter_shortcut.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
d6e5e68937 Update desperate_farmer_depraved_harvester.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
5bac5434e6 Update blood_petal_celebrant.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
266cdf6ec5 Update ancestral_anger.txt 2021-11-10 17:23:38 +00:00
Paul Hammerton
b0a34d1831 Update undying_malice.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
d2b396732c Update undying_malice.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
3feeab48da Update panicked_bystander_cackling_culprit.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
35d94285c7 Update ragged_recluse_odious_witch.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
606fe774f9 blood_petal_celebrant.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
5c063684e7 ancestral_anger.txt 2021-11-10 17:23:37 +00:00
Paul Hammerton
b25182bf40 vampires_kiss.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
bcab475e26 undying_malice.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
4527f4fbdb ragged_recluse_odious_witch.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
d5b49a0fad pointed_discussion.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
d43f7bdadb desperate_farmer_depraved_harvester.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
e2e2562085 gutter_skulker_gutter_shortcut.txt 2021-11-10 17:23:36 +00:00
Paul Hammerton
7f6b5745ad panicked_bystander_cackling_culprit.txt 2021-11-10 17:23:35 +00:00
Northmoc
7affee39a2 falkenrath_celebrants.txt 2021-11-10 11:22:45 -05:00
Northmoc
d1e9a6ea7b soulcipher_board_cipherbound_spirit.txt 2021-11-10 11:12:38 -05:00
Northmoc
9958d6dbce bloody_betrayal.txt 2021-11-10 11:09:59 -05:00
Job Spijker
331a10cf36 My first commit :) 2021-11-10 16:09:05 +00:00
Northmoc
a982e44400 end_the_festivities.txt 2021-11-10 11:07:54 -05:00
Hans Mackowiak
1d900283dd Merge branch 'fix2' into 'master'
remove unneeded "AllNonLegendaryCreatureNames" line

See merge request core-developers/forge!5771
2021-11-10 15:25:43 +00:00
Tim Mocny
886309426e remove unneeded "AllNonLegendaryCreatureNames" line 2021-11-10 15:25:43 +00:00
Northmoc
f6812fec3d lantern_of_the_lost.txt 2021-11-10 10:19:33 -05:00
Michael Kamensky
533848f82c Merge branch 'cobble' into 'master'
corpse_cobble.txt with AnnounceTitle

See merge request core-developers/forge!5781
2021-11-10 14:33:38 +00:00
Northmoc
233da36496 corpse_cobble.txt with AnnounceTitle 2021-11-10 09:30:44 -05:00
Michael Kamensky
73ffeb9a21 Merge branch 'master' into 'master'
Improve/fix Sludge Monster AI

See merge request core-developers/forge!5780
2021-11-10 14:18:10 +00:00
Michael Kamensky
4f4a85926d - Improve/fix Sludge Monster AI.
- Add a line to ANNOUNCEMENTS.txt.
2021-11-10 17:06:56 +03:00
Michael Kamensky
7335e58a29 Merge branch 'austeregrim-vow-boosterdata-patch' into 'master'
update vow boosterdata for quest boosterbox error

See merge request core-developers/forge!5777
2021-11-10 08:05:56 +00:00
Austere Grim
75980e61bb update vow boosterdata for quest boosterbox error 2021-11-10 04:39:41 +00:00
Michael Kamensky
bb1284b4ef Merge branch 'apost' into 'master'
replace curly apost with '

See merge request core-developers/forge!5774
2021-11-10 03:54:41 +00:00
Michael Kamensky
b301c210ed Merge branch 'exileFromMiscZone' into 'master'
Better fix for exileFromMiscZone

See merge request core-developers/forge!5775
2021-11-10 03:53:56 +00:00
Michael Kamensky
c88a061d2e Merge branch 'twosat-master-patch-79236' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5772
2021-11-10 03:53:06 +00:00
Michael Kamensky
a07a7cd349 Merge branch 'master' into 'master'
Update minimum Java version for Forge Desktop executable

See merge request core-developers/forge!5769
2021-11-10 03:51:41 +00:00
Michael Kamensky
498555f3c3 Merge branch 'vow_9' into 'master'
VOW: 9 Nov

See merge request core-developers/forge!5770
2021-11-10 03:51:30 +00:00
Northmoc
e80cd9e6b2 persistent_specimen.txt (Svaldan) 2021-11-09 22:39:15 -05:00
Northmoc
cd30b1fdcd grisly_ritual.txt (Svaldan) 2021-11-09 22:38:17 -05:00
Northmoc
b20b33fe78 gift_of_fangs.txt (Svaldan) 2021-11-09 22:37:10 -05:00
Northmoc
6c0a2af2b1 dread_fugue.txt (Svaldan) 2021-11-09 22:34:41 -05:00
Northmoc
5ae39967d5 diregraf_scavenger.txt (Svaldan) 2021-11-09 22:31:43 -05:00
Northmoc
e63afb103f blood_fountain.txt (Svaldan) 2021-11-09 22:29:11 -05:00
Northmoc
90d5412a4a bleed_dry.txt (Svaldan) 2021-11-09 22:27:14 -05:00
Northmoc
d9c62d6893 aim_for_the_head.txt (Svaldan) 2021-11-09 22:25:41 -05:00
Northmoc
21b50df8aa wanderlight_spirit.txt (ForgeScribe) 2021-11-09 22:21:07 -05:00
Northmoc
4b9f1a781b steelclad_spirit.txt (ForgeScribe) 2021-11-09 22:18:28 -05:00
Northmoc
8629c2fbf8 skywarp_skaab.txt (Svaldan) 2021-11-09 22:16:15 -05:00
Northmoc
29a00ddb04 selhoff_entomber.txt (Svaldan) 2021-11-09 22:15:44 -05:00
Northmoc
b23d0bf0f2 serpentine_ambush.txt 2021-11-09 22:11:03 -05:00
Northmoc
38ceed3e82 syphon_essence.txt 2021-11-09 22:02:44 -05:00
Northmoc
d244c7cad3 repository_skaab.txt (Svaldan - AI Northmoc) 2021-11-09 21:58:38 -05:00
Northmoc
89a25203b7 stitched_assistant.txt (ForgeScribe) 2021-11-09 21:57:57 -05:00
Northmoc
5280bae31e fear_of_death.txt (Svaldan) 2021-11-09 21:50:33 -05:00
Northmoc
98a2982625 wolfkin_outcast_wedding_crasher.txt 2021-11-09 21:46:11 -05:00
Northmoc
f97114431c foreboding_statue_forsaken_thresher.txt 2021-11-09 21:46:01 -05:00
Northmoc
45b0822437 dreadlight_monstrosity.txt (Svaldan) 2021-11-09 21:37:37 -05:00
Northmoc
4dcc488e61 cruel_witness.txt (Svaldan) 2021-11-09 21:30:29 -05:00
Northmoc
a0b8aaea6f cradle_of_safety.txt (Svaldan) 2021-11-09 21:28:05 -05:00
Northmoc
51863b8559 binding_geist_spectral_binding.txt (Svaldan) 2021-11-09 21:26:01 -05:00
Northmoc
4b13e9117d chill_of_the_grave.txt (Svaldan) 2021-11-09 21:20:56 -05:00
Northmoc
73116af859 alchemists_retrieval.txt (Svaldan) 2021-11-09 21:18:52 -05:00
Northmoc
519e6996ad vampire_slayer.txt (Svaldan) 2021-11-09 21:16:21 -05:00
Northmoc
dd2d12fd3f traveling_minister.txt (Svaldan) 2021-11-09 21:14:25 -05:00
Northmoc
106446e633 supernatural_rescue.txt (Svaldan) 2021-11-09 21:13:10 -05:00
Northmoc
8c07eb23c4 nurturing_presence.txt (Svaldan) 2021-11-09 21:11:38 -05:00
Northmoc
92f7004245 piercing_light.txt (Svaldan) 2021-11-09 21:09:18 -05:00
Northmoc
83c0353363 parish_blade_trainee.txt (Svaldan) 2021-11-09 21:08:18 -05:00
Northmoc
c942f45c44 nebelgast_beguiler.txt (Svaldan) 2021-11-09 21:06:22 -05:00
Northmoc
2d3a901870 heron_blessed_geist.txt (Svaldan) 2021-11-09 21:04:48 -05:00
Northmoc
b878b348b1 fierce_retribution.txt (Svaldan) 2021-11-09 21:01:46 -05:00
Northmoc
2d2a2323de estwald_shieldbasher.txt 2021-11-09 20:59:34 -05:00
Northmoc
db59346a3a welcoming_vampire.txt (Svaldan) 2021-11-09 20:21:02 -05:00
Northmoc
ecfcaa7041 howling_moon.txt (Suthro) 2021-11-09 20:19:10 -05:00
Northmoc
fba6842552 kaya_geist_hunter.txt 2021-11-09 20:04:23 -05:00
Anthony Calosa
bc02725dcf update name
- -old.exe to -java8.exe
2021-11-10 07:19:07 +08:00
tool4EvEr
9e44672d55 Better fix for exileFromMiscZone 2021-11-09 23:35:11 +01:00
Northmoc
45bfd5819d AbilityUtils: support "AbilityYouCtrl" 2021-11-09 16:51:31 -05:00
Northmoc
4054ed6887 odric_blood_cursed.txt 2021-11-09 16:50:58 -05:00
Northmoc
391bee82f5 ill_tempered_loner_howlpack_avenger.txt 2021-11-09 16:49:46 -05:00
Andreas Bendel
a19abce57e Update de-DE.properties
corrected cbpMusicSets and nlpSoundSets
translated nlpMusicSets and lblDoYouWantSacrificeThis
2021-11-09 21:20:49 +00:00
Northmoc
a88fd60feb unholy_officiant.txt (Svaldan) 2021-11-09 15:59:25 -05:00
Northmoc
a71e56feed sanguine_statuette.txt 2021-11-09 15:46:34 -05:00
Northmoc
49391b16f9 edgar_charmed_groom_edgar_markovs_coffin.txt and token and counter 2021-11-09 15:46:21 -05:00
Northmoc
c4d598168b brides_gown.txt (Svaldan) 2021-11-09 15:42:00 -05:00
Northmoc
ced9459148 gryffwing_cavalry.txt (Svaldan) 2021-11-09 15:16:36 -05:00
Northmoc
88f4c6f0b7 cemetery_illuminator.txt 2021-11-09 14:52:24 -05:00
Northmoc
bd883a2af5 jacob_hauken_inspector_haukens_insight.txt 2021-11-09 14:07:03 -05:00
Northmoc
77eaa9a00b cemetery_gatekeeper.txt 2021-11-09 14:00:50 -05:00
Northmoc
8103811711 olivias_attendants.txt 2021-11-09 13:43:59 -05:00
Northmoc
0afe08c368 crawling_infestation.txt 2021-11-09 13:35:58 -05:00
Northmoc
1d44e56ad9 avabruck_caretaker_hollowhenge_huntmaster.txt (Suthro) 2021-11-09 11:55:36 -05:00
Northmoc
2c10ff875d catapult_fodder_catapult_captain.txt (Svaldan) 2021-11-09 11:52:56 -05:00
Northmoc
14b0e68586 creepy_puppeteer.txt 2021-11-09 10:55:55 -05:00
Northmoc
0e60087f27 cobbled_lancer.txt 2021-11-09 10:53:57 -05:00
Michael Kamensky
7320bc88d0 Merge branch 'vow_8' into 'master'
VOW: 8 Nov

See merge request core-developers/forge!5759
2021-11-09 15:25:56 +00:00
Michael Kamensky
326ca7026f Merge branch 'thirst' into 'master'
VOW: Thirst for Discovery and support

See merge request core-developers/forge!5746
2021-11-09 15:25:30 +00:00
Michael Kamensky
68219dbeae Merge branch 'sac' into 'master'
VOW: Stensia Uprising and some streamlining of SacrificeEffect

See merge request core-developers/forge!5744
2021-11-09 15:22:56 +00:00
Northmoc
570c66306e replace curly apost with ' 2021-11-09 09:56:21 -05:00
Northmoc
a96d7c81d3 dawnhart_disciple.txt add BuffedBy 2021-11-09 09:07:21 -05:00
Anthony Calosa
6454fd579d Add "Deck: " string for deck export
- fixes exporting a deck and re importing
2021-11-09 22:04:58 +08:00
Anthony Calosa
40d7b89823 Update minimum Java version for Forge Desktop executable
- forge.exe and forge-adventure.exe needs at least Java 11.0.1
- for Java 8, user should use forge-old.exe for Forge Desktop, and forge-adventure-old.exe for Forge Adventure
2021-11-09 21:46:42 +08:00
Michael Kamensky
4d1ff75c10 Merge branch 'voc' into 'master'
VOC edition update

See merge request core-developers/forge!5768
2021-11-09 12:44:51 +00:00
paul_snoops
d593660d81 VOC edition update 2021-11-09 10:46:30 +00:00
Anthony Calosa
1cea6c7fd2 Merge branch 'master' into 'master'
unused import

See merge request core-developers/forge!5766
2021-11-09 05:43:13 +00:00
Anthony Calosa
d5462db931 unused import 2021-11-09 13:42:14 +08:00
Michael Kamensky
24338e8aae Merge branch 'cleanup' into 'master'
Cleanup cards: use cost instead of remembering

See merge request core-developers/forge!5762
2021-11-09 03:55:53 +00:00
Michael Kamensky
ae5d241a52 Merge branch 'adventure' into 'master'
Fixed major thread bug in adventure matches

See merge request core-developers/forge!5763
2021-11-09 03:55:33 +00:00
Michael Kamensky
12bbc381a2 Merge branch 'spacing' into 'master'
add space for Presence/MayFlash

See merge request core-developers/forge!5764
2021-11-09 03:53:42 +00:00
Michael Kamensky
dafee0535f Merge branch 'daynight' into 'master'
Move daynight prompt where it should be

See merge request core-developers/forge!5765
2021-11-09 03:53:28 +00:00
Michael Kamensky
e288b84863 Merge branch 'prowler' into 'master'
VOW: Cemetery Prowler and support

See merge request core-developers/forge!5735
2021-11-09 03:53:04 +00:00
friarsol
bbbf7ec53c Move daynight prompt where it should be 2021-11-08 22:08:34 -05:00
Northmoc
6193445df1 winged_portent.txt 2021-11-08 22:02:29 -05:00
Northmoc
44d340ce5d cartographers_survey.txt 2021-11-08 22:02:20 -05:00
Northmoc
6188b215e4 fleeting_spirit.txt (Svaldan) 2021-11-08 20:36:14 -05:00
Northmoc
c1a42f30b9 katilda_dawnhart_martyr_katildas_rising_dawn.txt (Svaldan) 2021-11-08 20:36:00 -05:00
Northmoc
851fd355a3 restless_bloodseeker_bloodsoaked_reveler.txt (Svaldan) 2021-11-08 20:33:16 -05:00
Northmoc
681ecbd23f add space for Presence/MayFlash 2021-11-08 20:08:38 -05:00
Northmoc
00ee1781c2 ballista_watcher_ballista_wielder.txt (Svaldan) 2021-11-08 19:54:11 -05:00
Northmoc
68b04936d6 wash_away.txt 2021-11-08 19:52:37 -05:00
Northmoc
9ad5d7f233 oakshade_stalker_moonlit_ambusher.txt 2021-11-08 19:48:36 -05:00
Northmoc
43374a3bc2 lambholt_raconteur_lambholt_ravager.txt 2021-11-08 19:46:30 -05:00
Northmoc
7a1d2a2ce7 bloodcrazed_socialite.txt (Svaldan) 2021-11-08 19:45:42 -05:00
Northmoc
e203cca97e infestation_expert_infested_werewolf.txt 2021-11-08 19:44:59 -05:00
Grimm
bcb7bd9a98 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into adventure 2021-11-09 00:50:42 +01:00
Grimm
eba6430713 Fixed major tread bug in adventure matches
Changed save file structure for adventure
Changed startup for the main adventure class to support more standard feature
fixed some configuration in the adventure files
2021-11-08 23:26:03 +01:00
Bug Hunter
d03743b8c5 Merge branch 'fix' into 'master'
welkin_hawk.txt various fixes

See merge request core-developers/forge!5761
2021-11-08 19:21:46 +00:00
Tim Mocny
79b1a5e831 welkin_hawk.txt various fixes 2021-11-08 19:21:45 +00:00
Michael Kamensky
b67942cbdf Merge branch 'hullbreaker' into 'master'
VOW: Hullbreaker Horror and keyword refactor

See merge request core-developers/forge!5743
2021-11-08 19:10:41 +00:00
Northmoc
7b2e0afdcb wretched_throng.txt remove unneeded 2021-11-08 14:10:00 -05:00
tool4EvEr
c19ef9d1a1 Cleanup cards: use cost instead of remembering 2021-11-08 19:22:45 +01:00
Michael Kamensky
c681f407b3 Merge branch 'curse_of_hos' into 'master'
VOW: Curse of Hospitality

See merge request core-developers/forge!5731
2021-11-08 17:57:16 +00:00
Northmoc
d656b39f06 CardProperty: implement generic "attacking DefinedGameEntity" 2021-11-08 12:42:06 -05:00
Northmoc
1329b52b3c curse_of_hospitality.txt 2021-11-08 12:42:04 -05:00
Michael Kamensky
76dc6e1f03 Merge branch 'kaalia' into 'master'
Fix attacking self with Kaalia trigger

See merge request core-developers/forge!5760
2021-11-08 17:31:16 +00:00
Northmoc
26364e5a1b AbilityUtils support "TypesSharedWith" 2021-11-08 12:17:29 -05:00
Northmoc
947b3b06a8 cemetery_prowler.txt 2021-11-08 12:17:28 -05:00
tool4EvEr
f652bd5f29 Fix attacking self with Kaalia trigger 2021-11-08 18:13:37 +01:00
Northmoc
654b7dd113 militia_rallier.txt 2021-11-08 12:13:24 -05:00
Northmoc
c068d60acb heron_of_hope.txt 2021-11-08 12:13:16 -05:00
Northmoc
62be0b004f wretched_throng.txt 2021-11-08 12:11:14 -05:00
Northmoc
284befd9f0 courier_bat.txt (Svaldan) 2021-11-08 10:53:51 -05:00
Northmoc
1adec9457c daybreak_combatants.txt 2021-11-08 10:48:00 -05:00
Northmoc
9faff7a7bd kessig_flamebreather.txt 2021-11-08 10:31:30 -05:00
Northmoc
81ef90055a hungry_ridgewolf.txt 2021-11-08 10:22:28 -05:00
Northmoc
a14616fad4 dawnhart_disciple.txt 2021-11-08 10:06:28 -05:00
Northmoc
7828a9318c flourishing_hunter.txt 2021-11-08 10:05:08 -05:00
Michael Kamensky
fa57889a89 Merge branch 'vow_7' into 'master'
VOW: 7 Nov

See merge request core-developers/forge!5749
2021-11-08 15:01:45 +00:00
Northmoc
916c466303 skulking_killer.txt All -> Random 2021-11-08 09:19:15 -05:00
Northmoc
845b777a89 Card.Other 2021-11-08 08:11:21 -05:00
Northmoc
843f395832 faithbound_judge_sinners_judgment.txt AI hint 2021-11-08 08:09:18 -05:00
Michael Kamensky
afff59e29f Merge branch 'editions' into 'master'
VOW, VOC & DBL edition updates

See merge request core-developers/forge!5758
2021-11-08 09:45:51 +00:00
paul_snoops
816bdf1398 VOW, VOC & DBL edition updates 2021-11-08 09:44:38 +00:00
Michael Kamensky
bd4577b859 Merge branch 'prosper' into 'master'
Fix Prosper

See merge request core-developers/forge!5757
2021-11-08 09:42:08 +00:00
Michael Kamensky
a58eacb072 Merge branch 'pay' into 'master'
Fix exileFromMiscZone paying with less than needed

See merge request core-developers/forge!5756
2021-11-08 09:41:27 +00:00
Michael Kamensky
ba96043ebd Merge branch 'smart-card-art-deck-import-desktop-and-mobile' into 'master'
Smart Card Art option in deck Importer for Desktop and Mobile + updates to Deck Import on Mobile

See merge request core-developers/forge!5754
2021-11-08 09:41:23 +00:00
TRT
98f752244c Fix Prosper 2021-11-08 09:49:55 +01:00
TRT
6bc8d595bc Fix exileFromMiscZone paying with less than needed 2021-11-08 09:14:16 +01:00
Bug Hunter
7ec1066e2a Merge branch 'ordering-random' into 'master'
ChangeZoneAllEffect: don't ask to order cards when they're going to end up being randomized.

See merge request core-developers/forge!5753
2021-11-08 08:04:56 +00:00
leriomaggio
e86745fb34 Merge remote-tracking branch 'upstream/master' into smart-card-art-deck-import-desktop-and-mobile 2021-11-08 07:20:07 +00:00
Michael Kamensky
e2e32204e2 - ChangeZoneAllEffect: don't ask to order cards when they're going to end up being randomized. 2021-11-08 07:16:20 +03:00
Michael Kamensky
564873d05d Merge branch 'backport-rightclick' into 'master'
Implement right clicking to zoom in mobile backport (desktop use only).

See merge request core-developers/forge!5752
2021-11-08 04:13:19 +00:00
Michael Kamensky
8ff377444a - Implement right clicking to zoom in mobile backport (desktop use only). 2021-11-08 07:12:16 +03:00
Michael Kamensky
177ab00021 Merge branch 'music-profiles' into 'master'
Selectable Music sets + Assorted AI improvements, card fixes

See merge request core-developers/forge!5751
2021-11-08 04:09:20 +00:00
Michael Kamensky
2ab830717e - Update de-DE.properties. 2021-11-08 07:06:25 +03:00
Michael Kamensky
459f704521 Merge remote-tracking branch 'origin/music-profiles' into music-profiles
# Conflicts:
#	forge-gui/res/languages/de-DE.properties
2021-11-08 07:05:39 +03:00
Michael Kamensky
37e965d9ee Merge branch 'master' of https://git.cardforge.org/agetian/forge into music-profiles
 Conflicts:
	forge-gui/res/languages/de-DE.properties
2021-11-08 07:05:07 +03:00
Michael Kamensky
7bc4c9eb05 Merge branch 'master' into 'music-profiles'
# Conflicts:
#   forge-gui/res/languages/de-DE.properties
2021-11-08 04:03:40 +00:00
Michael Kamensky
cde8a122eb Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-11-08 07:00:43 +03:00
Michael Kamensky
f09416fb94 Merge branch 'voc_5' into 'master'
VOC: 5 Nov

See merge request core-developers/forge!5748
2021-11-08 03:57:45 +00:00
Northmoc
3927e1ab55 cemetery_desecrator.txt add cleanup 2021-11-07 22:52:58 -05:00
Michael Kamensky
a832cf9c46 Merge branch 'hiveheart' into 'master'
VOW: Hiveheart Shaman and support

See merge request core-developers/forge!5742
2021-11-08 03:52:03 +00:00
Northmoc
a9a4149fcd cemetery_desecrator.txt 2021-11-07 22:49:58 -05:00
Northmoc
a1a27b4fdd moldgraf_millipede.txt 2021-11-07 22:49:27 -05:00
Michael Kamensky
efc6a373d3 Merge branch 'vow_6' into 'master'
VOW: 6 Nov

See merge request core-developers/forge!5741
2021-11-08 03:49:07 +00:00
Michael Kamensky
420f1618cf Merge branch 'vow_5' into 'master'
VOW: 5 Nov

See merge request core-developers/forge!5740
2021-11-08 03:49:02 +00:00
Michael Kamensky
51992223be Merge branch 'vow_4' into 'master'
VOW: 4 Nov

See merge request core-developers/forge!5739
2021-11-08 03:48:47 +00:00
Michael Kamensky
2c028c68df Merge branch 'vow_3' into 'master'
VOW: 3 Nov

See merge request core-developers/forge!5738
2021-11-08 03:41:35 +00:00
Michael Kamensky
349878ab4e Merge branch 'SacCostCap' into 'master'
Cleaning up some capitalization in SacCost

See merge request core-developers/forge!5745
2021-11-08 03:39:16 +00:00
Michael Kamensky
96689b974f Merge branch 'tidy' into 'master'
Tidy up various cards

See merge request core-developers/forge!5737
2021-11-08 03:39:14 +00:00
Northmoc
6bfd10304b hopeful_initiate.txt 2021-11-07 22:34:38 -05:00
Northmoc
e96b73033f unhallowed_phalanx.txt (Svaldan) 2021-11-07 22:30:37 -05:00
Northmoc
a923d70222 circle_of_confinement.txt (Svaldan) 2021-11-07 22:11:49 -05:00
Northmoc
9c41fe0fc0 faithbound_judge_sinners_judgment.txt and counter 2021-11-07 22:08:27 -05:00
Northmoc
e205d0ad86 eruth_tormented_prophet.txt 2021-11-07 22:08:07 -05:00
Northmoc
951a67556a stormchaser_drake.txt 2021-11-07 21:09:42 -05:00
Northmoc
f025081f2a alchemists_gambit.txt 2021-11-07 21:09:35 -05:00
Northmoc
2242e164c8 demonic_tutor.txt fix stackdesc 2021-11-07 20:41:00 -05:00
Northmoc
56c2f6c46c witness_the_future.txt 2021-11-07 19:48:02 -05:00
Northmoc
c5bc048dcb skulking_killer.txt 2021-11-07 19:47:16 -05:00
Northmoc
9c5fefc48f sawblade_slinger.txt 2021-11-07 19:00:52 -05:00
Northmoc
98a0517d59 old_rutstein.txt 2021-11-07 19:00:36 -05:00
Northmoc
408ae82351 strefan_maurer_progenitor.txt fix Pump 2021-11-06 20:46:35 -04:00
Northmoc
b0da2cd79c support "sharesLandTypeWith" for Hiveheart Shaman 2021-11-06 20:45:41 -04:00
Northmoc
d04d66db41 hiveheart_shaman.txt 2021-11-06 20:45:05 -04:00
Northmoc
bdb5d5593a dreamshackle_geist.txt 2021-11-06 20:44:34 -04:00
Northmoc
1420c2e276 reclusive_taxidermist.txt 2021-11-06 20:33:50 -04:00
Northmoc
786437cef6 blood_hypnotist.txt 2021-11-06 19:55:43 -04:00
Northmoc
6393ee6d68 spiked_ripsaw.txt 2021-11-06 19:55:33 -04:00
Northmoc
09f46cfe10 markov_waltzer.txt 2021-11-06 19:39:00 -04:00
Northmoc
5cb2d8c6eb bloodtithe_harvester.txt 2021-11-06 14:24:26 -04:00
Northmoc
2081c3631a child_of_the_pack_savage_packmate.txt 2021-11-06 14:20:43 -04:00
Northmoc
567398d098 skull_skaab.txt 2021-11-06 14:07:59 -04:00
Northmoc
d610a37acb markov_purifier.txt 2021-11-06 13:59:29 -04:00
Northmoc
4d04c30e4c mirrorhall_mimic_ghastly_mimicry.txt 2021-11-06 13:52:28 -04:00
Northmoc
1f6a12329c screaming_swarm.txt 2021-11-06 13:52:20 -04:00
Northmoc
68d352862c bramble_wurm.txt 2021-11-06 13:46:44 -04:00
Northmoc
3daacb57bc followed_footsteps.txt tidy 2021-11-06 13:34:05 -04:00
Northmoc
cc30ebf885 parasitic_grasp.txt 2021-11-06 11:20:49 -04:00
Northmoc
7f6a45ac9f graf_reaver.txt 2021-11-06 11:17:04 -04:00
Northmoc
4b0cd677fd alluring_suitor_deadly_dancer.txt 2021-11-06 11:16:54 -04:00
Northmoc
57539db39e wandering_mind.txt 2021-11-06 11:04:19 -04:00
Northmoc
54b22dd988 sanctify.txt 2021-11-06 10:42:52 -04:00
Northmoc
1b4a80b99a runebound_wolf.txt 2021-11-06 10:40:39 -04:00
Northmoc
a1636fba81 into_the_night.txt 2021-11-06 10:38:28 -04:00
Northmoc
a440e7b413 scattered_thoughts.txt 2021-11-06 09:47:37 -04:00
Northmoc
f16e470fb6 belligerent_guest.txt 2021-11-06 09:44:46 -04:00
Northmoc
21abdd462c glorious_sunrise.txt 2021-11-06 09:37:18 -04:00
Northmoc
528f2c65c6 reckless_impulse.txt 2021-11-05 22:56:19 -04:00
Northmoc
c797a5bc61 voltaic_visionary_volt_charged_berserker.txt 2021-11-05 22:54:39 -04:00
Northmoc
6ef39f971e henrika_domnathi_henrika_infernal_seer.txt (Marvel) 2021-11-05 22:48:39 -04:00
Northmoc
9472df663a chandra_dressed_to_kill.txt (medusa) 2021-11-05 22:15:58 -04:00
Northmoc
71adea6531 sigardian_paladin.txt 2021-11-05 21:55:40 -04:00
Northmoc
92818fb8dd consuming_tide.txt 2021-11-05 21:25:27 -04:00
Northmoc
bb8252fe44 fixup bad () 2021-11-05 21:21:52 -04:00
Northmoc
520c9fb28f new Sac prompt 2021-11-05 20:24:16 -04:00
Northmoc
295f34bdd7 giant_opportunity.txt refactor param 2021-11-05 20:24:02 -04:00
Northmoc
e25de294fa SacrificeEffect streamline optional 2021-11-05 20:21:41 -04:00
Northmoc
b0f87d9da1 stensia_uprising.txt 2021-11-05 20:21:10 -04:00
Northmoc
172415891b magda_brazen_outlaw.txt remove unneeded 2021-11-05 20:08:04 -04:00
Northmoc
a942b031df refactor keyword 2021-11-05 20:02:36 -04:00
Northmoc
18559d0cb0 add support for K:This spell can't be countered. 2021-11-05 19:59:39 -04:00
Northmoc
aabd502e13 hullbreaker_horror.txt (Marvel) 2021-11-05 19:59:01 -04:00
Northmoc
c47811ed80 undead_butler.txt 2021-11-05 19:45:19 -04:00
Northmoc
445a99ebd0 remove unneeded Mandatory param 2021-11-05 18:57:48 -04:00
Northmoc
32758c696a weaver_of_blossoms_blossom_clad_werewolf.txt 2021-11-05 14:39:41 -04:00
Northmoc
ad029ffc68 ancient_lumberknot.txt 2021-11-05 14:33:16 -04:00
Northmoc
483823a99b boarded_window.txt 2021-11-05 13:51:44 -04:00
Northmoc
4875ae5d8f support Basic Land as uType 2021-11-05 10:55:22 -04:00
Northmoc
2cf197e9de thirst_for_discovery.txt 2021-11-05 10:53:57 -04:00
Northmoc
3426e73ec4 honeymoon_hearse.txt 2021-11-05 10:45:59 -04:00
Northmoc
dd2c6c67be bloodvial_purveyor.txt 2021-11-05 10:28:33 -04:00
Northmoc
2e9afce987 headless_rider.txt 2021-11-05 09:42:40 -04:00
Northmoc
81e118fa2f markov_retribution.txt 2021-11-05 09:22:59 -04:00
Northmoc
4567df070c breathkeeper_seraph.txt (Marvel) 2021-11-05 09:11:34 -04:00
Northmoc
ad0b59d8dc dying_to_serve.txt 2021-11-05 09:08:57 -04:00
Northmoc
2bc48f25ae edgars_awakening.txt 2021-11-05 08:32:04 -04:00
Northmoc
c9a2d28188 honored_heirloom.txt 2021-11-05 08:28:34 -04:00
Northmoc
f81850c0a8 patchwork_crawler.txt 2021-11-05 08:14:05 -04:00
Northmoc
537cd7684b voice_of_the_blessed.txt 2021-11-05 08:13:54 -04:00
Michael Kamensky
117ff621be - Improve the bounce permanent logic a little. 2021-11-05 08:41:16 +03:00
Michael Kamensky
987dc3e48a - Fix Diligent Farmhand 2021-11-05 08:33:43 +03:00
Michael Kamensky
40ce78401b - Fix Pardic Firecat 2021-11-05 08:33:18 +03:00
Northmoc
7f98ab938e distracting_geist_clever_distraction.txt 2021-11-04 22:42:38 -04:00
Northmoc
721b3fc6b5 concealing_curtains_revealing_eye.txt 2021-11-04 22:42:32 -04:00
Northmoc
636ce397bc hamlet_vanguard.txt 2021-11-04 22:23:48 -04:00
Northmoc
20aa760007 ascendant_packleader.txt (Suthro) 2021-11-04 22:18:56 -04:00
Northmoc
590e490932 inspired_idea.txt 2021-11-04 21:52:48 -04:00
Northmoc
0ad17ed9a9 cultivator_colossus.txt 2021-11-04 21:49:09 -04:00
Northmoc
daf67043dd lantern_bearer_lanterns_lift.txt 2021-11-04 21:31:24 -04:00
Northmoc
808621c041 mischievous_catgeist_catlike_curiosity.txt 2021-11-04 21:25:21 -04:00
Northmoc
c3e8b911ac whispering_wizard.txt 2021-11-04 20:43:14 -04:00
Northmoc
b1ab16cc63 type capping can/should be dealt with elsewhere 2021-11-04 20:06:36 -04:00
Northmoc
5d3d93226c wedding_security.txt 2021-11-04 20:04:25 -04:00
Northmoc
9a477bce77 falkenrath_forebear.txt 2021-11-04 20:04:05 -04:00
Northmoc
5d0b36fc05 sigardas_imprisonment.txt 2021-11-04 19:44:54 -04:00
Northmoc
3cde05539a dollhouse_of_horrors.txt 2021-11-04 19:38:46 -04:00
Northmoc
7851f8c94c arm_the_cathars.txt 2021-11-04 12:13:20 -04:00
Northmoc
b362402d33 suspicious_stowaway_seafaring_werewolf.txt 2021-11-04 06:44:53 -04:00
Michael Kamensky
2ddf38a60e - Improve AI logic for bouncing creatures, e.g. Restoration Angel. 2021-11-04 10:59:49 +03:00
leriomaggio
e4cddbef1b Removed unnecessary duplication in deck for card art optimisation
All the logic for smart card art in deck import is embedded in DeckImportController - leveraging on fetch method from StaticData :)
2021-11-04 07:32:45 +00:00
leriomaggio
c0c2f024cf Since callback is not fed into constructor anymore, making sure to avoid any NPE 2021-11-04 07:29:30 +00:00
leriomaggio
34449ffc64 Import/Replace deck after import in Deck Editor
The editor has been slightly change to support the new modality in deck Importer to replace/import cards into current deck (if any).
Also, this commit fixes a bug also considering deck name to be replaced if deck from importer has a name.

To do so, the DeckImport won't take the callback to run directly into the constructor, but the callback will be fed into with a separated method. This is because the callback would need to access the dialog instance to access which option was selected by the user about replace/import.
2021-11-04 07:27:34 +00:00
leriomaggio
b069c19452 Extended DeckImport on mobile to support smart card art and crete/import deck
The mobile deck importer has been extended by adding two new options for smart card art selection, and to decide whether decklist should import or replace current deck (if any).
2021-11-04 07:24:25 +00:00
Michael Kamensky
b92c331646 - Fix Living Weapon AI 2021-11-04 10:20:25 +03:00
Michael Kamensky
2b76ddd49e - Reset to default sound/music set if the current one is no longer available. 2021-11-04 08:30:20 +03:00
Michael Kamensky
d942f89162 - Add support for multiple music sets. 2021-11-04 08:09:36 +03:00
Northmoc
982caaefe2 howlpack_piper_wildsong_howler.txt (Suthro) 2021-11-03 22:51:19 -04:00
Northmoc
68d71e2a17 resistance_squad.txt 2021-11-03 22:46:25 -04:00
Northmoc
439a0a9c6a ollenbock_escort.txt 2021-11-03 22:43:50 -04:00
Northmoc
ea677a9f23 magma_pummeler.txt 2021-11-03 22:20:50 -04:00
Northmoc
86ba85d552 retrieve.txt 2021-11-03 20:24:04 -04:00
Northmoc
b06ed827b3 diver_skaab.txt 2021-11-03 20:06:02 -04:00
Michael Kamensky
d246fce768 Merge branch 'twosat-master-patch-57305' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5736
2021-11-03 19:57:11 +00:00
Andreas Bendel
569c802591 Update de-DE.properties
translated the new soundset lines
2021-11-03 19:56:07 +00:00
Michael Kamensky
18068df90c Merge branch 'vow_3' into 'master'
VOW: 3 Nov

See merge request core-developers/forge!5734
2021-11-03 19:31:27 +00:00
Northmoc
4385a022dd cemetery_protector.txt add DeckHints 2021-11-03 14:57:36 -04:00
Northmoc
3d0751eb6a laid_to_rest.txt 2021-11-03 14:57:14 -04:00
Michael Kamensky
6c78256341 Merge branch 'conquest-classic-and-new' into 'master'
Planar Conquest: "Classic" original versions of several planes

See merge request core-developers/forge!5733
2021-11-03 18:30:29 +00:00
Michael Kamensky
7264965b32 - Add Classic versions of Ravnica, Theros, and Zendikar planes - with original events and without newer sets, for those who prefer the "pure" versions. 2021-11-03 21:22:07 +03:00
Michael Kamensky
ae35db2856 Merge branch 'vow_2' into 'master'
VOW: 2 Nov

See merge request core-developers/forge!5728
2021-11-03 18:10:12 +00:00
Northmoc
0605cb7543 radiant_grace_radiant_restraints.txt 2021-11-03 12:55:04 -04:00
Northmoc
bab727d624 grooms_finery.txt 2021-11-03 12:55:03 -04:00
Northmoc
89d7686efa bloodsworn_squire_bloodsworn_knight.txt 2021-11-03 12:55:03 -04:00
Northmoc
997f0a070e necroduality.txt 2021-11-03 12:55:02 -04:00
Northmoc
e2952d19ec frenzied_devils.txt 2021-11-03 12:55:02 -04:00
Northmoc
fb84c400dc fearful_villager_fearsome_werewolf.txt 2021-11-03 12:55:01 -04:00
Northmoc
304c8517ac lunar_rejection.txt 2021-11-03 12:55:01 -04:00
Northmoc
524139f1ac cloaked_cadet.txt 2021-11-03 12:55:00 -04:00
Northmoc
1e84a16a66 angelic_quartermaster.txt 2021-11-03 12:54:59 -04:00
Northmoc
4e4b1a4870 lantern_flare.txt 2021-11-03 12:51:37 -04:00
leriomaggio
9f563616e4 Card Art optimisation algorithm for DeckImport
The card art optimisation algorithm integrated into DeckImportController leverages (in terms of general logic) on the card art optimisation in Deck.
However, several are differences in terms of context and interactions so a specialised implementation is needed.

First, the smart card art optimisation has been added as an option in DeckImport. Therefore, smart card art is not a static game option to be used when loading decks with cards with no edition, but also as an option to tweak the deck list.

The second specialisation required is that this implementation takes into account any game format constraint (in terms of allowed sets for optimisation).

Last but not least, the current deck in editor (if any) will be also considered during optimisation.
In particular, when _importing cards_ in current deck (therefore, when not creating a new deck with the deck list) will also take into account the pools of current deck so that harmonisation will already consider where cards will be imported to.
2021-11-03 16:46:30 +00:00
leriomaggio
3184f90e62 Created new method in DeckController to return current deck in editor.
This method will be invoked by DeckImport (desktop) to pass on current deck in editor (if any) to the DeckImportController.

This deck will be eventually used as part of the smart card optimisation.
2021-11-03 16:39:51 +00:00
leriomaggio
a93eb31629 Changes to Token to replace card, new filter on types as for cardToken importable, and getText method to be dynamic for card tokens. 2021-11-03 16:32:44 +00:00
leriomaggio
4e355a7589 New entries for smart card art in Deck Import
(Italian translation is the only one submitted)
2021-11-03 16:31:05 +00:00
Michael Kamensky
bff581066d Merge branch 'tidy' into 'master'
Tidy up one thing!

See merge request core-developers/forge!5729
2021-11-03 15:37:53 +00:00
Michael Kamensky
f82f55a132 Merge branch 'disturb' into 'master'
Disturb mechanic: specifically looking for Auras

See merge request core-developers/forge!5730
2021-11-03 15:37:00 +00:00
Northmoc
1c4b28f827 basris_acolyte.txt better TgtPrompt 2021-11-03 11:31:58 -04:00
Northmoc
8b1eb0ee2e specifically looking for Auras 2021-11-03 10:28:32 -04:00
Michael Kamensky
b972f04089 Merge branch 'master' into 'master'
Added puzzle PS_MID3.

See merge request core-developers/forge!5727
2021-11-03 10:34:08 +00:00
Michael Kamensky
8083b88680 - Added puzzle PS_MID3. 2021-11-03 13:33:17 +03:00
Michael Kamensky
bd0191e63e Merge branch 'sound-profiles' into 'master'
Selectable sound sets

See merge request core-developers/forge!5724
2021-11-03 10:08:09 +00:00
Michael Kamensky
607c1d41d4 Merge branch 'master' into 'master'
AICheckSVar: check in separate ways for AB/DBs and for REs

See merge request core-developers/forge!5726
2021-11-03 10:02:25 +00:00
Michael Kamensky
8cb079e2f9 - Tweak AICheckSVar implementation for abilities and REs. 2021-11-03 12:59:08 +03:00
Michael Kamensky
dc9dddb81f Revert "- Refactor AI SVar checking for both abilities and replacement effects."
This reverts commit 10cddb7c19.
2021-11-03 12:57:21 +03:00
Michael Kamensky
778d714ccd - Don't require restart when changing sound sets. 2021-11-03 12:27:44 +03:00
Michael Kamensky
affedb7fe1 Merge branch 'olivia' into 'master'
Fix Discard not counting as effect

Closes #1937

See merge request core-developers/forge!5722
2021-11-03 09:08:51 +00:00
Michael Kamensky
8c4f2ba58b Merge branch 'master' into 'master'
Minor Performance

See merge request core-developers/forge!5725
2021-11-03 08:14:09 +00:00
Anthony Calosa
1ef45fe3a5 Merge remote-tracking branch 'core/master' 2021-11-03 15:55:34 +08:00
Anthony Calosa
de74c9e62d Minor Performance
- Clear image cache if necessary (prevent clearing if the downloaded data is not image)
- Cache missing cards (prevent finding missing cards unless the user has fetched/downloads an image)
- Clear preselected options for New Gauntlet Match (easier to filter decks for Gauntlet)
2021-11-03 15:50:07 +08:00
Michael Kamensky
a4c21c623f - Fix imports.
- Add the sound set announcement and a couple other announcements as well.
2021-11-03 09:39:46 +03:00
Michael Kamensky
61ce25f2dd - Change the name "sound profile" to "sound set", which makes more sense.
- Reset to Default profile in absence of custom sound sets.
2021-11-03 09:33:01 +03:00
Michael Kamensky
74fbb1ed57 - Mobile settings for the sound profile.
- Tweaked the sound profile setting hint.
2021-11-03 09:14:57 +03:00
Michael Kamensky
5aa25f7ad0 - Initial implementation of sound profiles, part 2. 2021-11-03 09:01:53 +03:00
Michael Kamensky
238a3ea17a - Initial implementation of sound profiles, part 1. 2021-11-03 08:49:52 +03:00
Michael Kamensky
af2ae37451 Merge branch 'adventure' into 'master'
Fixed some bugs and save/load

See merge request core-developers/forge!5723
2021-11-03 04:04:15 +00:00
Grimm
81917407b3 Merge remote-tracking branch 'origin/adventure' into adventure 2021-11-03 03:07:53 +01:00
Grimm
0e51edd949 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into adventure 2021-11-03 03:04:17 +01:00
Grimm
ae80b533e4 Fixed memory leak in UIScene
Fixed spelling errors in data
Reworked save/load to get backward compatibility possibilities.
added auto save and quick save.
Fixed card downloads in shops/reward screens
2021-11-03 03:04:02 +01:00
tool4EvEr
89e345e5be Fix Discard not counting as effect 2021-11-02 23:08:55 +01:00
Michael Kamensky
db81fb9e57 Merge branch 'disturb' into 'master'
VOW: Disturb Enchantments should target (and a few cards)

See merge request core-developers/forge!5712
2021-11-02 19:27:30 +00:00
Michael Kamensky
7adfe45cc4 Merge branch 'modifying' into 'master'
orderCardsByTheirOwners: Fix modifying original collection

See merge request core-developers/forge!5720
2021-11-02 19:26:54 +00:00
Michael Kamensky
78c8c9f958 Merge branch 'toxrill' into 'master'
VOW: Toxrill, the Corrosive

See merge request core-developers/forge!5719
2021-11-02 19:26:22 +00:00
Michael Kamensky
3e4ddeed5f Merge branch 'vow_2' into 'master'
VOW: 2 Nov

See merge request core-developers/forge!5717
2021-11-02 19:25:58 +00:00
Michael Kamensky
1271f30a4c Merge branch 'master' into 'master'
Improve AI handling for AICheckSVar

See merge request core-developers/forge!5721
2021-11-02 19:25:47 +00:00
Michael Kamensky
7800d0c6a6 - Tweak a comment. 2021-11-02 22:25:09 +03:00
Michael Kamensky
10cddb7c19 - Refactor AI SVar checking for both abilities and replacement effects. 2021-11-02 22:19:39 +03:00
Michael Kamensky
829b9069e2 - AiController: support AICheckSVar/AISVarCompare for ordinary SAs (abilities). 2021-11-02 22:12:17 +03:00
tool4EvEr
ae69417630 orderCardsByTheirOwners: Fix modifying original collection 2021-11-02 20:06:14 +01:00
Michael Kamensky
4bbdd5951b Merge branch 'ward' into 'master'
Ward only works on Permanents

See merge request core-developers/forge!5718
2021-11-02 18:57:03 +00:00
Northmoc
6949ce45fc allow for -AffectedX and other variations 2021-11-02 14:23:14 -04:00
Northmoc
ba94d8b589 toxrill_the_corrosive.txt 2021-11-02 14:22:34 -04:00
Northmoc
3e9a02d84e toxrill_the_corrosive.txt 2021-11-02 14:22:14 -04:00
tool4EvEr
4ab76d94db Ward only works on Permanents 2021-11-02 19:10:06 +01:00
Northmoc
8ead75042c ulvenwald_oddity_ulvenwald_behemoth.txt 2021-11-02 14:01:56 -04:00
leriomaggio
28ccf346b3 Import Basic lands alternative art wrt. current card art pref. settings.
Note: not sure whether last card art was overimposed earlier. can't remember, really!?!
2021-11-02 17:57:09 +00:00
leriomaggio
79923806c8 Few typos in Doc + added a new parameter for alternative card art to consider also a list of allowed set codes.
This change relies on the robust cardDb methods to retrieve a card also under the circumstances of a filter in place.
This change has been introduced as this is going to be leveraged by Card Art optimisation applied to DeckList in DeckImport.
2021-11-02 17:51:16 +00:00
leriomaggio
3cbd974f18 Renamed method to bluntly optimise all card art in Main (used on Mobile)
Renamed method only to make it more clearly distinguishable from other internal method for card optimisation.
2021-11-02 17:49:22 +00:00
leriomaggio
6e1979fc0c Updated Token creation with new flag 2021-11-02 17:48:03 +00:00
leriomaggio
915aa75a99 DeckRecognizer.Token to include whether request in card list had any set code
This commit adds in a new piece of information to Token in DeckRecognizer to mark whether original card request included or not a set code.
This flag will be only used by actual CardToken and will be leveraged later on by "smart card optimisation option" to be added to DeckImport on desktop too.

Majority of tests in DeckRecognizerTest have been updated to cross-check that no bug has been unintentionally introduced.
2021-11-02 17:47:30 +00:00
Northmoc
3b17728da4 vilespawn_spider.txt 2021-11-02 13:34:26 -04:00
Michael Kamensky
94defab3ce Merge branch 'vow_1' into 'master'
VOW: 1 Nov

See merge request core-developers/forge!5713
2021-11-02 17:15:59 +00:00
Northmoc
ef36a5f233 Disturb check for Enchantment 2021-11-02 12:42:40 -04:00
Northmoc
9838cef11d improve AI hints 2021-11-02 10:52:58 -04:00
Michael Kamensky
1e9b3579f3 Merge branch 'master' into 'master'
Falling Star: add the previously missing "tap all damaged" step

See merge request core-developers/forge!5716
2021-11-02 08:19:37 +00:00
Michael Kamensky
ebbff37ee7 - Falling Star: add the previously missing "tap all damaged" step 2021-11-02 11:16:20 +03:00
Michael Kamensky
c3ca54a63e Merge branch 'master' into 'master'
Some improvements in FlipOntoBattlefieldEffect and SweepCreatures AI Logic

See merge request core-developers/forge!5715
2021-11-02 04:43:52 +00:00
Michael Kamensky
df74666176 - Comment tweak. 2021-11-02 07:42:52 +03:00
Michael Kamensky
48b999031d - SweepCreatures logic: generalize a bit further. 2021-11-02 07:40:55 +03:00
Michael Kamensky
099305d973 - SweepCreatures logic: generalize and improve 2021-11-02 07:36:26 +03:00
Michael Kamensky
45d7068bd9 - FlipOntoBattlefieldEffect: checking for the controller of the aura is not reliable, since auras are visualized differently in different UIs. So allow all attachments to be hit. 2021-11-02 07:21:19 +03:00
Michael Kamensky
440877c764 Merge branch 'tidy' into 'master'
reduce_to_ashes.txt fix bad SpellDesc

See merge request core-developers/forge!5714
2021-11-02 04:07:24 +00:00
Northmoc
cac1db5287 kessig_wolfrider.txt and token 2021-11-01 22:41:08 -04:00
Northmoc
08527605d5 dreadfeast_demon.txt 2021-11-01 22:40:46 -04:00
Northmoc
2735ce089d twinblade_geist_twinblade_invocation.txt 2021-11-01 22:10:47 -04:00
Northmoc
c2b4881fc9 brine_comber_brinebound_gift.txt 2021-11-01 22:10:30 -04:00
Northmoc
ac85cbd4fa Disturbing Enchantments use targeting 2021-11-01 22:10:02 -04:00
Northmoc
f02d6daced packsong_pup.txt 2021-11-01 18:12:33 -04:00
Northmoc
f137777d44 cemetery_protector.txt add Secondary 2021-11-01 18:11:25 -04:00
Northmoc
d2004e03ab rending_flame.txt 2021-11-01 16:31:44 -04:00
Northmoc
96955b36d6 cemetery_protector.txt improve SelectPrompt 2021-11-01 16:03:54 -04:00
Northmoc
9c7ed454d0 cemetery_protector.txt 2021-11-01 15:29:02 -04:00
Northmoc
705340111a reduce_to_ashes.txt fix bad SpellDesc 2021-11-01 15:15:07 -04:00
Northmoc
eafe9f6136 innocent_traveler_malicious_invader.txt 2021-11-01 15:12:22 -04:00
Michael Kamensky
febe85a7ea Merge branch 'master' into 'master'
Generalize SweepCreatures logic (By Invitation Only)

See merge request core-developers/forge!5711
2021-11-01 19:08:35 +00:00
Michael Kamensky
993e460cbe - Generalize SweepCreatures logic (By Invitation Only) 2021-11-01 22:07:51 +03:00
Michael Kamensky
a4beec94a7 Merge branch 'vow_1' into 'master'
VOW: 1 Nov

See merge request core-developers/forge!5709
2021-11-01 19:01:38 +00:00
Michael Kamensky
f13ced8357 Merge branch 'tidy' into 'master'
Random tidying

See merge request core-developers/forge!5710
2021-11-01 19:01:25 +00:00
Northmoc
611a2d9260 delver_of_secrets_insectile_aberration.txt streamline with PeekAndReveal 2021-11-01 14:46:50 -04:00
Northmoc
c07c5aeb4b esikas_chariot.txt kill curly apost 2021-11-01 14:44:55 -04:00
Northmoc
06b4636876 biolume_egg_biolume_serpent.txt 2021-11-01 14:10:53 -04:00
Northmoc
20d05ad136 investigators_journal.txt 2021-11-01 14:02:20 -04:00
Northmoc
23f16da523 runo_stromkirk_krothuss_lord_of_the_deep.txt 2021-11-01 13:43:09 -04:00
Northmoc
7cb5445d81 dormant_grove_gnarled_grovestrider.txt 2021-11-01 13:32:40 -04:00
Northmoc
393e8c7f29 kindly_ancestor_ancestors_embrace.txt 2021-11-01 13:26:52 -04:00
Michael Kamensky
8093b276b4 Merge branch 'sac' into 'master'
Some sac prompt touch-ups (Exploit)

See merge request core-developers/forge!5708
2021-11-01 16:42:51 +00:00
Michael Kamensky
5ea9ed6f5b Merge branch 'lands' into 'master'
VOW dual land cycle - new templating

See merge request core-developers/forge!5680
2021-11-01 14:52:23 +00:00
Michael Kamensky
5f29d09f52 Merge branch 'vow_1' into 'master'
VOW: 1 Nov

See merge request core-developers/forge!5707
2021-11-01 14:40:04 +00:00
Northmoc
4b579466c8 Some sac prompt touch-ups (Exploit) 2021-11-01 09:19:12 -04:00
Northmoc
317ba3034d geralf_visionary_stitcher.txt 2021-11-01 09:16:19 -04:00
Northmoc
874657fc40 mindleech_ghoul.txt 2021-11-01 09:15:47 -04:00
Michael Kamensky
7b20ca11e1 Merge branch 'cleave' into 'master'
VOW Cleave keyword and some cards

See merge request core-developers/forge!5668
2021-11-01 06:21:09 +00:00
Michael Kamensky
907fb93f72 Merge branch 'vow_31' into 'master'
VOW: 31 Oct

See merge request core-developers/forge!5705
2021-11-01 04:12:31 +00:00
Michael Kamensky
7429a73a15 Merge branch 'nick' into 'master'
if/else for Nickname

See merge request core-developers/forge!5706
2021-11-01 04:08:08 +00:00
Northmoc
c720996872 path_of_peril.txt 2021-10-31 21:42:44 -04:00
Northmoc
5bd65e6f94 initial Cleave 2021-10-31 21:42:43 -04:00
Northmoc
0067702836 if/else for Nickname 2021-10-31 21:40:29 -04:00
Northmoc
44527cd6b7 archghoul_of_thraben.txt 2021-10-31 21:39:43 -04:00
Northmoc
08c4e77750 halana_and_alena_partners.txt 2021-10-31 20:01:43 -04:00
Northmoc
d20c2df914 hallowed_haunting.txt and token 2021-10-31 19:56:28 -04:00
Northmoc
522cb122d1 dawnhart_geist.txt 2021-10-31 17:40:56 -04:00
Northmoc
307fead240 manaform_hellkite.txt and token 2021-10-31 16:05:56 -04:00
Northmoc
1f6fd5c542 change_of_fortune.txt 2021-10-31 16:05:55 -04:00
Northmoc
18f19b7d01 vampires_vengeance.txt (Suthro) 2021-10-31 16:05:54 -04:00
Northmoc
102eed0abb volatile_arsonist_dire_strain_anarchist.txt (Suthro) 2021-10-31 15:56:11 -04:00
Northmoc
3fe9871faa geistlight_snare.txt (medusa) 2021-10-31 15:50:27 -04:00
Northmoc
f146ea45c4 demonic_bargain.txt fix StackDesc and NoReveal 2021-10-31 15:46:54 -04:00
Michael Kamensky
ce171b366a Merge branch 'vow_31' into 'master'
VOW: 31 Oct

See merge request core-developers/forge!5704
2021-10-31 19:38:10 +00:00
Michael Kamensky
9d9aad7d1d Merge branch 'poison-trigs' into 'master'
Predict Poison from triggers like Poisonous or Fynn

See merge request core-developers/forge!5702
2021-10-31 19:36:55 +00:00
Northmoc
8d25ab383c fell_stinger.txt 2021-10-31 15:16:18 -04:00
Northmoc
1309832181 dominating_vampire.txt 2021-10-31 15:16:05 -04:00
Northmoc
941e77ad33 demonic_bargain.txt (medusa) 2021-10-31 15:08:52 -04:00
tool4EvEr
fc8a5dd52d Extend predictPoisonFromTriggers for other deathtouchers with Fynn 2021-10-31 20:05:35 +01:00
Northmoc
2f405b7a45 anje_maid_of_dishonor.txt 2021-10-31 14:53:54 -04:00
Michael Kamensky
b6631f190f Merge branch 'master' into 'master'
Fix imports.

See merge request core-developers/forge!5703
2021-10-31 16:26:42 +00:00
Michael Kamensky
34346b38a3 - Fix imports. 2021-10-31 19:25:58 +03:00
Michael Kamensky
c35ca9e88c - Minor tweak (remove an accidental change) 2021-10-31 19:12:36 +03:00
Michael Kamensky
020c405a42 - Predict poison from triggers for Poisonous 2021-10-31 19:10:56 +03:00
Michael Kamensky
9fdc7c604e Merge branch 'deck-importer-decks-file-format' into 'master'
Better control on Deck save and editor state set + FIX set deck name

See merge request core-developers/forge!5699
2021-10-31 15:25:34 +00:00
Hans Mackowiak
cfe346f34c StaticAbilityContinuous: fix setPower & setToughness 2021-10-31 16:23:02 +01:00
leriomaggio
27ab606824 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-31 11:14:21 +00:00
leriomaggio
1109cc15bf FIXING same bug for all editor, generalising **same** implementation on Constructed Editors (View and Controller) 2021-10-31 11:14:12 +00:00
Michael Kamensky
04639af59d Merge branch 'ward' into 'master'
Improve Ward checking

See merge request core-developers/forge!5700
2021-10-31 10:27:02 +00:00
Michael Kamensky
235f8266a8 Merge branch 'master' into 'ward'
# Conflicts:
#   forge-ai/src/main/java/forge/ai/AiController.java
#   forge-ai/src/main/java/forge/ai/ComputerUtilCost.java
2021-10-31 10:25:32 +00:00
Michael Kamensky
2eafcb0aad Merge branch 'master' into 'master'
More advanced implementation for vs-Ward AI

See merge request core-developers/forge!5701
2021-10-31 09:46:26 +00:00
Michael Kamensky
50442b9909 - More advanced implementation for vs-Ward AI 2021-10-31 12:43:20 +03:00
tool4EvEr
bc7867c58c Improve Ward checking 2021-10-31 10:07:35 +01:00
leriomaggio
c0e7e2f63a FIXING same bug for Commander editor too 2021-10-31 08:54:05 +00:00
leriomaggio
003646be6e Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-31 08:39:22 +00:00
Michael Kamensky
b580daee8e Merge branch 'master' into 'master'
Add a TODO for Ward AI

See merge request core-developers/forge!5698
2021-10-31 06:20:57 +00:00
Michael Kamensky
fcc1380712 - Add a TODO for Ward AI 2021-10-31 09:20:17 +03:00
Michael Kamensky
266ca8286e Merge branch 'master' into 'master'
Tweak Savior of Ollenbock AI logic.

See merge request core-developers/forge!5697
2021-10-31 06:14:25 +00:00
Michael Kamensky
28f7a56c46 - Tweak Savior of Ollenbock AI logic. 2021-10-31 09:13:34 +03:00
Michael Kamensky
f30dbac72e Merge branch 'master' into 'master'
Reimplement the AI logic for Astral cards again.

See merge request core-developers/forge!5696
2021-10-31 05:15:56 +00:00
Michael Kamensky
1e161359dc - Reimplement the AI logic for Astral cards again. 2021-10-31 08:14:40 +03:00
Michael Kamensky
bc982fde74 Merge branch 'master' into 'master'
Improved AI logic vs. Ward

See merge request core-developers/forge!5695
2021-10-31 04:38:44 +00:00
Michael Kamensky
2275771714 - Improved AI logic vs. Ward. 2021-10-31 07:37:33 +03:00
Grimm
deb813a768 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into adventure 2021-10-30 23:52:28 +02:00
Michael Kamensky
c2b52e2218 Merge branch 'retrace' into 'master'
Fix Wrenn and Six Emblem not allowing to retrace adventures

See merge request core-developers/forge!5694
2021-10-30 17:58:26 +00:00
tool4EvEr
a40592ce72 Fix Wrenn and Six Emblem not allowing to retrace adventures 2021-10-30 19:55:28 +02:00
Michael Kamensky
4e7bbfbd32 Merge branch 'twosat-master-patch-16548' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5693
2021-10-30 17:38:47 +00:00
Andreas Bendel
80a9cf4094 Update de-DE.properties
translated lblTrains
2021-10-30 16:54:59 +00:00
Michael Kamensky
8885d4cb44 Merge branch 'master' into 'master'
ChooseNumberAi: logic for By Invitation Only.

See merge request core-developers/forge!5692
2021-10-30 14:38:54 +00:00
Michael Kamensky
a2de2ba7ed - ChooseNumberAi: logic for By Invitation Only. 2021-10-30 17:37:38 +03:00
Michael Kamensky
18c6db3fd9 Merge branch 'vow_30' into 'master'
VOW: 30 Oct

See merge request core-developers/forge!5690
2021-10-30 14:06:00 +00:00
Michael Kamensky
86149f69b8 Merge branch 'disturb' into 'master'
VOW: Disturb keyword tweaks and cards

See merge request core-developers/forge!5678
2021-10-30 14:05:23 +00:00
Michael Kamensky
24528da790 Merge branch 'vow_29' into 'master'
VOW: 29 Oct

See merge request core-developers/forge!5676
2021-10-30 14:05:16 +00:00
Michael Kamensky
44d8b2d788 Merge branch 'blood' into 'master'
add Blood to ArtifactTypes

See merge request core-developers/forge!5689
2021-10-30 14:04:43 +00:00
Michael Kamensky
b883a402f8 Merge branch '1997-flashback-checking-fails-in-some-scenarios-with-alternate-state-cards' into 'master'
Resolve "Flashback checking fails in some scenarios with alternate state cards"

Closes #1997

See merge request core-developers/forge!5691
2021-10-30 14:03:03 +00:00
Michael Kamensky
4f4cd6e9d6 Merge branch 'master' into 'master'
[Mobile] Show target/imprinted card if possible for input confirmation

See merge request core-developers/forge!5688
2021-10-30 14:02:37 +00:00
Hans Mackowiak
b5ed6ef87e GameActionUtil: remove only keywords from static abilities, not from Pump 2021-10-30 15:34:28 +02:00
Anthony Calosa
80fb8b3f41 [Mobile] Support showing imprinted card on Play effect (ie Cascade) 2021-10-30 21:04:24 +08:00
Northmoc
aef9aa0a69 wedding_announcement_wedding_festivity.txt and token 2021-10-30 08:55:58 -04:00
Northmoc
7b3e19728d massive_might.txt 2021-10-30 08:45:53 -04:00
Northmoc
74abe68ede wedding_invitation.txt 2021-10-30 08:45:12 -04:00
Northmoc
4c0339ecf1 savior_of_ollenbock.txt Oracle typo 2021-10-30 08:22:38 -04:00
Northmoc
3bd6e2096a by_invitation_only.txt add RemoveDeck for now 2021-10-30 08:22:12 -04:00
Anthony Calosa
e96b91a718 [Mobile] Show target card if possible for input confirmation
- If the host card has a card target (ie Merrow Reejerey targets a permanent to Tap or Untap), show the card target instead
2021-10-30 20:08:23 +08:00
Michael Kamensky
bb4eddbba5 Merge branch 'layer3TextChange' into 'master'
Card: do Layer3 Text Change better

Closes #1983

See merge request core-developers/forge!5687
2021-10-30 09:32:15 +00:00
Hans Mackowiak
6e4924bd86 Card: do Layer3 Text Change better 2021-10-30 09:32:13 +00:00
Michael Kamensky
8f8b5822a4 Merge branch 'master' into 'master'
Faerie Dragon AI logic, minor tweaks to the Crazy Dungeon Master deck.

See merge request core-developers/forge!5686
2021-10-30 06:03:59 +00:00
Michael Kamensky
d8fa4ce4b4 - Minor tweaks to the Crazy Dungeon Master deck. 2021-10-30 09:03:05 +03:00
Michael Kamensky
2a86c7a471 - Logic setting for Faerie Dragon AB. 2021-10-30 09:02:20 +03:00
Michael Kamensky
8d839937de Merge branch 'master' into 'master'
Minor AI tweak

See merge request core-developers/forge!5685
2021-10-30 05:43:55 +00:00
Michael Kamensky
9001a47fb0 - Minor tweak 2021-10-30 08:43:00 +03:00
Michael Kamensky
5346ece7c8 Merge branch 'master' into 'master'
Implement Savior of Ollenbock AI

See merge request core-developers/forge!5684
2021-10-30 05:42:10 +00:00
Michael Kamensky
b59612f7b3 - Implement Savior of Ollenbock AI 2021-10-30 08:41:20 +03:00
Michael Kamensky
ee2a3a1790 Merge branch 'master' into 'master'
Actually update the Crazy Dungeon Master deck.

See merge request core-developers/forge!5683
2021-10-30 04:48:59 +00:00
Michael Kamensky
fb9f5fbb1b - Actually update the Crazy Dungeon Master deck. 2021-10-30 07:48:10 +03:00
Michael Kamensky
4efdb83371 Merge branch 'master' into 'master'
Unstable Realm update and some funny card fixes.

See merge request core-developers/forge!5682
2021-10-30 04:45:41 +00:00
Michael Kamensky
51f878842a - Fix Elvish Impersonators.
- Fix Whimsy AI.
- Add PAST cards to Unstable Realm in Planar Conquest.
- Update the Crazy Dungeon Master deck to be a 60-card deck showcasing some of the PAST cards.
2021-10-30 07:44:40 +03:00
Northmoc
4c4cf94f9b add Blood to ArtifactTypes 2021-10-29 18:47:52 -04:00
Northmoc
31f40ff262 by_invitation_only.txt 2021-10-29 17:25:12 -04:00
Anthony Calosa
bd3f1ebf27 Merge branch 'master' into 'master'
[Mobile] Auto optimize card art when importing

See merge request core-developers/forge!5681
2021-10-29 21:09:37 +00:00
Anthony Calosa
0f8898b082 Merge remote-tracking branch 'core/master' 2021-10-30 05:05:03 +08:00
Anthony Calosa
cb0101fc52 [Mobile] Auto optimize card art when importing 2021-10-30 04:58:45 +08:00
Northmoc
bc8cc186f9 gluttonous_guest.txt 2021-10-29 16:56:32 -04:00
Northmoc
959e67a240 weary_prisoner_wrathful_jailbreaker.txt 2021-10-29 16:40:47 -04:00
Northmoc
dc3a075f7c sigardas_summons.txt (Marvel) 2021-10-29 16:35:49 -04:00
Northmoc
2b5591adbd rot_tide_gargantua.txt 2021-10-29 16:28:17 -04:00
Northmoc
7b5d0477a9 voldaren_estate.txt 2021-10-29 16:22:57 -04:00
Northmoc
739dedc02d overcharged_amalgam.txt 2021-10-29 16:22:57 -04:00
Northmoc
3660e0798d sorin_the_mirthless.txt and token 2021-10-29 16:22:57 -04:00
Northmoc
7b76a33baf olivia_crimson_bride.txt (Suthro) 2021-10-29 16:22:56 -04:00
Northmoc
86463b1298 grolnok_the_omnivore.txt and counter 2021-10-29 16:22:55 -04:00
Northmoc
7292556ff8 dual land cycle - new templating 2021-10-29 16:17:47 -04:00
Michael Kamensky
086ee5f007 Merge branch 'vold' into 'master'
VOW: Voldaren Bloodcaster // Bloodbat Summoner + support

See merge request core-developers/forge!5675
2021-10-29 19:46:27 +00:00
Michael Kamensky
205bafdd8c Merge branch 'training' into 'master'
VOW: Training keyword and some cards

See merge request core-developers/forge!5665
2021-10-29 19:45:56 +00:00
Anthony Calosa
aa9ebe8daf Merge branch 'master' into 'master'
[Mobile] Display cards that cannot be imported on Deck Import Dialog

See merge request core-developers/forge!5679
2021-10-29 19:31:39 +00:00
Anthony Calosa
88dac20908 [Mobile] Display cards that cannot be imported on Deck Import Dialog 2021-10-30 03:30:06 +08:00
Northmoc
463bf1077b drogskol_infantry_drogskol_armaments.txt 2021-10-29 14:24:37 -04:00
Northmoc
d38da4c149 Trains Trigger 2021-10-29 12:07:19 -04:00
Northmoc
d2453eb96c savior_of_ollenbock.txt 2021-10-29 12:07:18 -04:00
Northmoc
4c19a2b3f8 Training keyword support 2021-10-29 12:07:18 -04:00
Northmoc
8dac9454c4 token 2021-10-29 12:07:17 -04:00
Northmoc
3c81f7bde1 basic cards 2021-10-29 12:07:16 -04:00
Northmoc
aa5e7d5f43 proper description for non-creature Disturbed stuff 2021-10-29 12:04:22 -04:00
Northmoc
9f4042ca6e dorothea_vengeful_victim_dorotheas_retribution.txt and token 2021-10-29 12:03:02 -04:00
Michael Kamensky
8c8193ca4c Merge branch 'typo' into 'master'
ghostly_touch.txt tidy

See merge request core-developers/forge!5677
2021-10-29 14:30:06 +00:00
Michael Kamensky
8fd1dc6d0b Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!5674
2021-10-29 14:21:35 +00:00
Northmoc
161bea7c0d ghostly_touch.txt 2021-10-29 10:21:21 -04:00
Northmoc
75e67df228 support "Whenever you create a X token" 2021-10-29 09:52:45 -04:00
Northmoc
ad107410ac voldaren_bloodcaster_bloodbat_summoner.txt 2021-10-29 09:51:34 -04:00
CCTV-1
2ec8630942 translate the newly added string. 2021-10-29 20:57:10 +08:00
Michael Kamensky
12831af604 Merge branch 'master' into 'master'
Minor tweak to FlipOntoBattlefieldEffect.

See merge request core-developers/forge!5673
2021-10-29 10:41:32 +00:00
Michael Kamensky
a46bed2629 - Minor tweak. 2021-10-29 13:41:04 +03:00
Michael Kamensky
2ecefa4921 Merge branch 'master' into 'master'
FlipOntoBattlefield: somewhat improve the chance to hit an attachment when targeting the card it's attached to.

See merge request core-developers/forge!5672
2021-10-29 10:40:26 +00:00
Michael Kamensky
b7a4175d61 - FlipOntoBattlefieldEffect: somewhat improve the chance to hit an attachment when targeting the card it's attached to. 2021-10-29 13:39:06 +03:00
Michael Kamensky
7a4423bc90 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-29 13:38:30 +03:00
Michael Kamensky
091ea87290 Merge branch 'afr-plane' into 'master'
Forgotten Realms plane for Planar Conquest

See merge request core-developers/forge!5503
2021-10-29 10:37:51 +00:00
Michael Kamensky
5f6987a016 - Added an event to the W region.
- Finished the W region.
- Slightly improved the Braids, Conjurer Adept Avatar AI logic.
2021-10-29 10:37:50 +00:00
Michael Kamensky
9a419ef97b Merge branch 'edition_updates' into 'master'
Crimson Vow edition updates

See merge request core-developers/forge!5671
2021-10-29 10:37:37 +00:00
leriomaggio
e20b46dde2 Constructed Deck Editor controller updates the decklist cursor to select current deck in editor (if any).
The DeckView = when initialised = after editing the current deck in editor, tries to select it in the decklist view. However, at startup this won't be actually successful due to an un-initialised table model.

The issue only happens at startup time, and it is related to the fact that despite any selected item can be set (with the current Deck in editor) - see `populate` - the `update` method that initialise the (table)models is only called afterwards.
Therefore, the update method of Controller has been modified to re-try a selection with current deck in editor.

The whole procedure is skipped if the selected index is different from zero = assuming zero is the default fallback option.
If that's not the case, say the zero first deck should be indeed selected, the selected item shouldn't be activated twice anyway if that's exactly what's already been selected.
2021-10-29 11:25:51 +01:00
paul_snoops
9903a274c2 CC2 date change 2021-10-29 11:22:37 +01:00
paul_snoops
1dcf336f83 Crimson Vow edition updates 2021-10-29 11:20:42 +01:00
leriomaggio
b7b11ffba7 Deck Editor init which is null-aware. 2021-10-29 10:37:43 +01:00
leriomaggio
acb60979b9 Fixed outdated docstrings to avoid annoying IDE warnings 2021-10-29 10:37:12 +01:00
leriomaggio
237a423180 Added caching strategy when (deep) comparing decks
Deck model comparison may be triggered a certain number of times, and the new deep-comparison on each part may slow down performance in deck editor. Therefore, a caching strategy has been integrated to avoid comparing the same objects multiple times.
2021-10-29 10:36:34 +01:00
Michael Kamensky
d4b4fc38a4 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-29 07:24:38 +03:00
Michael Kamensky
3c5182e15c Merge branch 'voc_28' into 'master'
VOC: 28 Oct

See merge request core-developers/forge!5669
2021-10-29 04:15:45 +00:00
Northmoc
739bb6416e Wedding Ring trigger support 2021-10-28 22:36:10 -04:00
Northmoc
3bf3f69bdb wedding_ring.txt 2021-10-28 22:35:49 -04:00
Northmoc
7c3696cc7e millicent_restless_revenant.txt 2021-10-28 22:08:41 -04:00
Northmoc
ac1d3c1afb typo fix 2021-10-28 21:49:08 -04:00
Tim Mocny
6505c8c55c Merge branch 'blood' into 'master'
VOW blood token

See merge request core-developers/forge!5670
2021-10-29 00:25:59 +00:00
Northmoc
e69dd1cebe VOW blood token 2021-10-28 20:25:23 -04:00
Northmoc
9d62cfa710 strefan_maurer_progenitor.txt 2021-10-28 20:24:09 -04:00
leriomaggio
663ebd4120 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-28 23:20:48 +01:00
leriomaggio
35eca6f038 Better control on Deck save and editor state set + FIX set deck name
the loadDeck method now has a better handling of the deck (model) status, also wrt. the state of the UI editor.
If the deck is Stored, the editor will be in "modified - not saved" state.
2021-10-28 23:20:31 +01:00
Anthony Calosa
1ae7a4513d Merge branch 'fix-smart-card-art-net-decks' into 'master'
QuickFIX deckSection validation in Decks that inhibited the smart card art option to trigger

See merge request core-developers/forge!5667
2021-10-28 20:38:20 +00:00
leriomaggio
c465350517 Merge remote-tracking branch 'upstream/master' into fix-smart-card-art-net-decks 2021-10-28 21:36:08 +01:00
leriomaggio
40dac70ebf QuickFIX deckSection validation in Decks that inhibited the smart card art option to trigger
This MR brings a quick FIX to `validateDeferredSections` method in Deck which erroneously considered entries in filtered Card Pool as for the valid deck entries, instead of the original one.
Incidentally this affected only decks with no specified edition, imposing one given by card Db query using default Card Art Preference.
In other word, no card with NO edition was found and smart card art was never triggered.

This now won't be the case!

Another quick fix in `getAllCardNamesWithNoSpecifiedEdition` to skip all sections that are not MAIN | SIDE | Commander for which card art harmonisation is necessary.
2021-10-28 21:35:32 +01:00
Michael Kamensky
d87d609765 Merge branch 'VOW_edition' into 'master'
VOW and VOC initial edition files

See merge request core-developers/forge!5664
2021-10-28 19:54:26 +00:00
Michael Kamensky
8f8363f12a Merge branch 'foiling' into 'master'
Fix dropping foil from card when copying

See merge request core-developers/forge!5666
2021-10-28 19:54:20 +00:00
tool4EvEr
2de6fc476c Fix dropping foil from card when copying 2021-10-28 21:20:45 +02:00
paul_snoops
d1769c12d4 VOW and VOC initial edition files 2021-10-28 19:19:17 +01:00
Michael Kamensky
45ab214cee Merge branch 'TRT-master-patch-83249' into 'master'
Update forge-gui/res/cardsfolder/l/ludevic_necro_alchemist.txt

See merge request core-developers/forge!5663
2021-10-28 14:06:48 +00:00
Bug Hunter
65fd0974ca Update forge-gui/res/cardsfolder/l/ludevic_necro_alchemist.txt 2021-10-28 13:25:47 +00:00
Michael Kamensky
218c9e4ea1 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-28 07:11:01 +03:00
Sol
0892d6de4a Update kolvori_god_of_kinship_the_ringhart_crest.txt 2021-10-28 01:24:11 +00:00
Michael Kamensky
bae0675d00 Merge branch 'fury' into 'master'
Fix Fury

Closes #1995

See merge request core-developers/forge!5662
2021-10-27 18:39:27 +00:00
tool4EvEr
1d0739d728 Fix Fury 2021-10-27 20:38:15 +02:00
Michael Kamensky
4af9cd9034 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-27 19:47:39 +03:00
Michael Kamensky
0fd1e9256f Merge branch 'tidy' into 'master'
StackDescription tweaks

See merge request core-developers/forge!5661
2021-10-27 16:34:51 +00:00
Bug Hunter
7e28570ed3 Merge branch 'piles' into 'master'
TwoPilesEffect fix

See merge request core-developers/forge!5660
2021-10-27 14:51:34 +00:00
Northmoc
04c52e95e6 MillEffect improve StackDesc 2021-10-27 10:51:24 -04:00
Northmoc
49b54e3d30 DigEffect improve StackDesc 2021-10-27 10:51:02 -04:00
Northmoc
24be7eb802 fact_or_fiction.txt improve StackDesc 2021-10-27 10:50:41 -04:00
Northmoc
9353587b89 TwoPilesEffect fix 2021-10-27 10:47:37 -04:00
Michael Kamensky
cdd4947c15 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-27 14:39:29 +03:00
Anthony Calosa
4df02c943e Merge branch 'master' into 'master'
prevent NPE

See merge request core-developers/forge!5659
2021-10-27 05:34:34 +00:00
Anthony Calosa
d921677e60 prevent NPE 2021-10-27 13:33:16 +08:00
Michael Kamensky
1ca7eb6c52 Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!5655
2021-10-27 04:22:27 +00:00
Michael Kamensky
7370f2a6cf Merge branch 'foiling' into 'master'
Fix deck loading not restoring foiled status

See merge request core-developers/forge!5656
2021-10-27 04:22:23 +00:00
Michael Kamensky
ac6bdc09e2 Merge branch 'typo' into 'master'
sorin_lord_of_innistrad.txt typo

See merge request core-developers/forge!5658
2021-10-27 04:21:54 +00:00
Michael Kamensky
93cd28f40c Merge branch 'urza' into 'master'
Urza, Academy Headmaster

See merge request core-developers/forge!5657
2021-10-27 04:21:39 +00:00
Northmoc
9d02c0c39f Match.java final Urza work 2021-10-26 20:36:57 -04:00
Northmoc
cd6cf320de urza tweak 2021-10-26 20:36:56 -04:00
Northmoc
89a91c6df8 placeholder for special param that picks new ability if no legal targets 2021-10-26 20:36:56 -04:00
Northmoc
f3a2f72106 add Urza planeswalker type 2021-10-26 20:36:55 -04:00
Northmoc
63c7852ded urza_academy_headmaster.txt (need to finish ultimates and change ChangeTo param) 2021-10-26 20:36:55 -04:00
Northmoc
17f3b24fa4 sorin_lord_of_innistrad.txt typo 2021-10-26 20:33:39 -04:00
TRT
cbbdd8584c Fix NPE when trying to remove card 2021-10-27 01:12:17 +02:00
Churrufli
9bced99419 Net Decks Archive Updates 2021-10-26 22:21:26 +02:00
leriomaggio
c31d4cbb1f Implementing (deep) deck comparison based on similarity of parts (cardPool) 2021-10-26 17:30:28 +02:00
TRT
5e050765a3 Clean up 2021-10-26 13:41:31 +02:00
Michael Kamensky
58faf536e1 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master
 Conflicts:
	forge-gui/res/languages/de-DE.properties
2021-10-26 11:10:29 +03:00
Michael Kamensky
68ae23b494 Merge branch 'twosat-master-patch-67711' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5654
2021-10-26 03:35:10 +00:00
tool4EvEr
fb88fcfe9c Fix deck loading not restoring foiled status 2021-10-25 23:54:08 +02:00
Andreas Bendel
bfb5b588ca Update de-DE.properties
translated #FlipOntoBattlefieldEffect
2021-10-25 20:52:20 +00:00
Michael Kamensky
849e3d0719 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-25 18:51:05 +03:00
Michael Kamensky
81c288f3fc - Clarify the new FlipOntoBattlefield mechanics text labels a little (according to the Oracle wording). 2021-10-25 18:50:51 +03:00
Michael Kamensky
f9d933c6bd Merge branch 'aicombat' into 'master'
Fix predictToughnessBonusOfAttacker logic

See merge request core-developers/forge!5653
2021-10-25 12:52:22 +00:00
TRT
f0f6592a38 Fix predictToughnessBonusOfAttacker logic 2021-10-25 13:56:35 +02:00
Michael Kamensky
6ae88ea82b Merge branch 'java-11plus' into 'master'
Update Forge scripts for Java 11+ and Java 17+

See merge request core-developers/forge!5566
2021-10-25 09:41:50 +00:00
Michael Kamensky
130ffde80a Merge branch 'look' into 'master'
Blacker Lotus and Look at Me, I'm the DCI

See merge request core-developers/forge!5630
2021-10-25 09:01:44 +00:00
Tim Mocny
f0c852c54f Blacker Lotus and Look at Me, I'm the DCI 2021-10-25 09:01:43 +00:00
Michael Kamensky
ff55215016 Merge branch 'master' into 'master'
Improve some AI hints for AFR.

See merge request core-developers/forge!5652
2021-10-25 08:58:01 +00:00
Michael Kamensky
668ed97ed1 - Improve some AI hints for AFR. 2021-10-25 11:56:20 +03:00
Michael Kamensky
3ed10fb112 Merge branch 'master' into 'master'
Tweak a comment.

See merge request core-developers/forge!5651
2021-10-25 06:14:08 +00:00
Michael Kamensky
c70b6d13c1 - Tweak a comment. 2021-10-25 09:13:42 +03:00
Michael Kamensky
eee4e08b89 Merge branch 'master' into 'master'
No need to sort cards by ID for FlipOntoBattlefieldEffect

See merge request core-developers/forge!5650
2021-10-25 06:12:43 +00:00
Michael Kamensky
470fe5fba4 - No need to sort cards by ID for FlipOntoBattlefieldEffect 2021-10-25 09:11:22 +03:00
Michael Kamensky
0399e52bf6 Merge branch 'manual-dexterity' into 'master'
Initial implementation for simulated manual dexterity cards (Chaos Orb and Falling Star)

See merge request core-developers/forge!5647
2021-10-25 05:08:15 +00:00
Michael Kamensky
c9b94710b2 - Initial implementation for simulated manual dexterity cards (Chaos Orb and Falling Star) with basic AI support. 2021-10-25 05:08:14 +00:00
Michael Kamensky
d0afefb5ab Merge branch 'mpfix' into 'master'
Fix SA not fizzling when targeting cards that left game

See merge request core-developers/forge!5649
2021-10-25 03:44:45 +00:00
tool4EvEr
47a1a93625 Fix SA not fizzling when targeting cards that left game 2021-10-24 22:10:22 +02:00
Michael Kamensky
81ec2c1a55 Merge branch 'twosat-master-patch-04851' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5648
2021-10-24 19:06:58 +00:00
Andreas Bendel
066ede2237 Update de-DE.properties
translated lblfromdungeondeck and LimitedPoolType
2021-10-24 19:04:39 +00:00
Michael Kamensky
916b73e4b9 Merge branch 'master' into 'master'
Enable Harm's Way in MTGO Core Cube 2018.

See merge request core-developers/forge!5646
2021-10-24 15:08:39 +00:00
Michael Kamensky
bbe0a5b76b - Enable Harm's Way in MTGO Core Cube 2018. 2021-10-24 18:07:58 +03:00
Michael Kamensky
6c1b5d2ea3 Merge branch 'master' into 'master'
Bag of Holding AI spec.

See merge request core-developers/forge!5645
2021-10-24 14:55:35 +00:00
Michael Kamensky
c827769da7 - Bag of Holding AI spec. 2021-10-24 17:54:55 +03:00
Michael Kamensky
9afa3908b8 Merge branch 'master' into 'master'
Enable some of the recently implemented cards in Oldschool 93-94 Magic Full Set cube list.

See merge request core-developers/forge!5644
2021-10-24 14:39:38 +00:00
Michael Kamensky
a91699bc07 - Enable some of the recently implemented cards in Oldschool 93-94 Magic Full Set cube list. 2021-10-24 17:39:00 +03:00
Michael Kamensky
75c6e9ef5e Merge branch 'deck-importer-decks-file-format' into 'master'
FIX Issue with Race Condition in Decks + Extras to CustomCube Draft and Deck Editor

See merge request core-developers/forge!5643
2021-10-24 14:36:37 +00:00
leriomaggio
669a10820e Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-24 16:20:21 +02:00
leriomaggio
d303c0e8ff Saving a Deck is now performed ONLY if there is any actual change to save onto disk. Otherwise, the whole op is skipped. 2021-10-24 16:18:18 +02:00
leriomaggio
1a7288815c Updated resetTable to reuse the code in setEditorMode and to update the DeckSection Dropdown
This FIXES a bug causing the Deck Editor to not properly restore its state after saving a Deck and not originally in Main Decksection.
This commit also avoids repeating code and reset tables only if necessary.
2021-10-24 16:17:05 +02:00
leriomaggio
3035f81e35 FIXED all cards in custom cube decks from wrong edition (mostly STX instead of STA) 2021-10-24 12:34:12 +02:00
leriomaggio
0a4d2005c5 Added i18n support to LimitedType 2021-10-24 11:14:16 +02:00
leriomaggio
b350a2d110 FIXED issue with race condition when updating deferredSections 2021-10-24 10:40:27 +02:00
leriomaggio
526d41bddd Added dungeon section in DeckSection matching for cards 2021-10-24 10:39:59 +02:00
Michael Kamensky
cb90d4b328 Merge branch 'equinox' into 'master'
Equinox

See merge request core-developers/forge!5641
2021-10-24 08:27:33 +00:00
Michael Kamensky
c75552f54b - Account for random destruction (Wild Swing)
- Some minor reorganization/refactoring.
2021-10-24 08:27:32 +00:00
Michael Kamensky
a509fb643e Merge branch 'twosat-master-patch-09458' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5642
2021-10-24 03:50:38 +00:00
leriomaggio
2d40d0135c Added support for new Dungeon DeckSection in Constructed Editor (w/ i18n) 2021-10-23 22:14:15 +02:00
leriomaggio
3c65d993e8 Added new static method to retrieve DungeonPool of cards (so far just 3) 2021-10-23 21:49:20 +02:00
leriomaggio
0343da977c Removed FIXME and added note 2021-10-23 21:48:35 +02:00
leriomaggio
9f97b34a3a Recognise new Dungeon DeckSection Placeholder, and improved support to .dec files
.Dec files have collector nr//art-index as separated by a Pipe.
RegExps with collector numbers have been extended to further support decks in this format (with simply copy & paste the listing).
Tests updated/added to verify the new regexp & behaviour.
2021-10-23 21:45:04 +02:00
leriomaggio
ed19bf0a22 New Dungeon DeckSection and corresponding validator 2021-10-23 21:43:24 +02:00
Andreas Bendel
c94f48660c Update de-DE.properties
translated lblLogRandomMode, lblChosenCard etc., lblRandomColorChosen and lblRandomTypeChosen
2021-10-23 19:35:56 +00:00
Michael Kamensky
2bd17ffb16 Merge branch 'master' into 'master'
No need to limit the phase in SetPT logic itself (AnimateAi).

See merge request core-developers/forge!5640
2021-10-23 15:08:57 +00:00
Michael Kamensky
ffc3140fdf - No need to limit the phase in SetPT logic itself (AnimateAi). 2021-10-23 18:08:14 +03:00
Anthony Calosa
a295a38101 Merge branch 'J17_rules_lawyer' into 'master'
Exclude Rules Lawyer (J17) from audit

See merge request core-developers/forge!5639
2021-10-23 14:56:06 +00:00
paul_snoops
eb01191720 Exclude Rules Lawyer (J17) from audit 2021-10-23 15:55:11 +01:00
Bug Hunter
35b7cf2236 Merge branch 'TRT-master-patch-78786' into 'master'
Update forge-gui/res/cardsfolder/r/rush_of_ice.txt

See merge request core-developers/forge!5638
2021-10-23 09:57:36 +00:00
Bug Hunter
4e3669e7be Update forge-gui/res/cardsfolder/r/rush_of_ice.txt 2021-10-23 09:57:07 +00:00
Anthony Calosa
84bd65e2bd Merge branch 'master' into 'master'
Update funny cards

See merge request core-developers/forge!5637
2021-10-23 09:14:38 +00:00
Anthony Calosa
0f59c30b15 Merge remote-tracking branch 'core/master' 2021-10-23 17:13:43 +08:00
Anthony Calosa
c1a56f95d2 Update funny cards
collector number that starts with "F" denotes funny, to filter funny cards from legal sets and exclude them in the card audit
2021-10-23 17:12:02 +08:00
Michael Kamensky
b91c7a87c8 Merge branch 'master' into 'master'
Rudimentary AI logic for Minsc's activated ability

See merge request core-developers/forge!5636
2021-10-23 07:05:08 +00:00
Michael Kamensky
5ecd63686e - Rudimentary AI logic for Minsc's activated ability. 2021-10-23 10:04:22 +03:00
Anthony Calosa
45fbe8d8ef Merge branch 'master' into 'master'
update set lookup

See merge request core-developers/forge!5635
2021-10-23 06:43:56 +00:00
Anthony Calosa
d989d22420 update set lookup
- add missing set alias
2021-10-23 14:43:14 +08:00
Anthony Calosa
fa0b31c9df Merge branch 'master' into 'master'
[Desktop] Update card audit

See merge request core-developers/forge!5634
2021-10-23 05:37:03 +00:00
Anthony Calosa
0d194ba645 [Desktop] Update card audit
- only display the missing cards and not implemented cards.
2021-10-23 13:36:00 +08:00
Michael Kamensky
fb497b8b1d Merge branch 'master' into 'master'
Some logic improvement for Inferno of the Star Mounts.

See merge request core-developers/forge!5633
2021-10-23 05:30:44 +00:00
Michael Kamensky
b28ce0f1bb Some logic improvement for Inferno of the Star Mounts. 2021-10-23 05:30:43 +00:00
Michael Kamensky
63d4cb5daa - Minor tweak. 2021-10-23 08:30:00 +03:00
Michael Kamensky
161eddae7f - Some logic improvement for Inferno of the Star Mounts. 2021-10-23 08:28:35 +03:00
Michael Kamensky
abdfe58bb2 Merge branch 'master' into 'master'
Added puzzle PS_MID2 - Possibility Storm - Innistrad Midnight Hunt 02

See merge request core-developers/forge!5632
2021-10-23 04:58:18 +00:00
Michael Kamensky
4aabd478f7 - Added puzzle PS_MID2. 2021-10-23 07:57:43 +03:00
Michael Kamensky
75231395c5 Merge branch 'TRT-master-patch-61920' into 'master'
Update forge-gui/res/cardsfolder/b/bloodthirsty_adversary.txt

See merge request core-developers/forge!5631
2021-10-23 04:05:36 +00:00
Michael Kamensky
13f3ec8e9f Merge branch 'control' into 'master'
Control changing effects should not overwrite default controller

Closes #1990

See merge request core-developers/forge!5624
2021-10-23 04:03:55 +00:00
Michael Kamensky
7ad0fea6f4 Merge branch 'awaken' into 'master'
Fix Awaken targeting

Closes #1991

See merge request core-developers/forge!5629
2021-10-23 04:03:37 +00:00
Bug Hunter
847e703509 Update forge-gui/res/cardsfolder/b/bloodthirsty_adversary.txt 2021-10-22 21:36:50 +00:00
tool4EvEr
66c03856b1 Fix Awaken targeting 2021-10-22 20:49:09 +02:00
Michael Kamensky
502b6be1a5 Merge branch 'awol' into 'master'
AWOL

See merge request core-developers/forge!5621
2021-10-22 15:22:11 +00:00
Bug Hunter
7716496b89 Merge branch 'typo' into 'master'
vexing_arcanix.txt fix typos in desc

See merge request core-developers/forge!5628
2021-10-22 14:42:14 +00:00
Northmoc
a92db22518 vexing_arcanix.txt fix typos in desc 2021-10-22 10:29:00 -04:00
Northmoc
0f0d7d5f9e SpellApiToAi add RemoveFromGame 2021-10-22 10:00:35 -04:00
Michael Kamensky
3d96dc9d93 Merge branch 'astral' into 'master'
MicroProse Astral cards!?!

See merge request core-developers/forge!5465
2021-10-22 12:45:15 +00:00
Tim Mocny
f535c8bc8e MicroProse Astral cards!?! 2021-10-22 12:45:14 +00:00
Michael Kamensky
14ed47a722 Merge branch 'audit' into 'master'
Exclude "funny" cards from audit

See merge request core-developers/forge!5627
2021-10-22 12:44:20 +00:00
tool4EvEr
6f8a5071ee Control changing effects should not overwrite default controller 2021-10-22 14:33:38 +02:00
paul_snoops
c409e907c2 Exclude "funny" cards from audit 2021-10-22 12:59:41 +01:00
Anthony Calosa
c8aa496b41 Merge branch 'master' into 'master'
Gauntlets Updates

See merge request core-developers/forge!5626
2021-10-22 11:09:13 +00:00
Michael Kamensky
6b84130757 Merge branch 'master' into 'master'
Attempt deleting gitlab-ci.yml after the Adventures merge.

See merge request core-developers/forge!5625
2021-10-22 09:50:18 +00:00
Michael Kamensky
14563b8f65 - Attempt deleting gitlab-ci.yml after the Adventures merge. 2021-10-22 12:49:01 +03:00
Churrufli
0693f6ee3c Gauntlets Updates 2021-10-22 11:39:25 +02:00
Michael Kamensky
eaaf61ba10 Merge branch 'master' into 'master'
Add AI logic for Delina, Wild Mage

See merge request core-developers/forge!5623
2021-10-22 06:53:24 +00:00
Michael Kamensky
b6354907bc - Add AI logic for Delina, Wild Mage. 2021-10-22 09:52:12 +03:00
Michael Kamensky
5a4828d886 Merge branch 'aicombat' into 'master'
Fix miscalculation of damage shields

See merge request core-developers/forge!5622
2021-10-22 03:42:14 +00:00
tool4EvEr
f1467d5a3e Fix miscalculation of damage shields 2021-10-21 22:55:50 +02:00
Michael Kamensky
4233ee160e Merge branch 'shoe_tree' into 'master'
Shoe Tree!

See merge request core-developers/forge!5619
2021-10-21 19:21:29 +00:00
Northmoc
a319d7882d add AI hint 2021-10-21 14:24:16 -04:00
Michael Kamensky
1deb890f93 Merge branch 'cleanup/added-DB$-space' into 'master'
Cleanup/added db$ space

See merge request core-developers/forge!5341
2021-10-21 17:59:27 +00:00
Stu Bob
efcb45546c Cleanup/added db$ space 2021-10-21 17:59:24 +00:00
Michael Kamensky
dede976ce5 Merge branch 'fix' into 'master'
haktos_the_unscarred.txt NICKNAME flag

See merge request core-developers/forge!5620
2021-10-21 17:56:44 +00:00
Northmoc
9dd5f0b590 add RemoveFromGameEffect 2021-10-21 12:56:16 -04:00
Northmoc
947deb4b8d awol.txt 2021-10-21 12:55:08 -04:00
Northmoc
d913d0519a haktos_the_unscarred.txt NICKNAME flag 2021-10-21 12:48:08 -04:00
Northmoc
37036332f7 shoe_tree.txt 2021-10-21 12:46:25 -04:00
Michael Kamensky
4f8247c443 Merge branch 'orderCardsByTheirOwners' into 'master'
orderCardsByTheirOwners adjustment

See merge request core-developers/forge!5617
2021-10-21 15:26:41 +00:00
Michael Kamensky
e4394d135d Merge branch 'gray2' into 'master'
improve Gray Text preference implementation

See merge request core-developers/forge!5618
2021-10-21 15:26:25 +00:00
TRT
de3edd52cc orderCardsByTheirOwners adjustment 2021-10-21 15:42:50 +02:00
Northmoc
843a2a643c improve Gray Text preference implementation 2021-10-21 09:31:20 -04:00
Michael Kamensky
158de07d60 Merge branch 'sld_hawkins' into 'master'
SLD Edition for missing Stranger Things Card

See merge request core-developers/forge!5612
2021-10-21 12:37:24 +00:00
Michael Kamensky
c3b860998b Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!5615
2021-10-21 12:37:05 +00:00
Michael Kamensky
94141e6e7f Merge branch 'TRT-master-patch-24531' into 'master'
Update forge-gui/res/cardsfolder/t/tevesh_szat_doom_of_fools.txt

See merge request core-developers/forge!5616
2021-10-21 12:36:32 +00:00
Michael Kamensky
656a8a9fac Merge branch 'blockfix' into 'master'
AiBlockController: fix for menace + trample

See merge request core-developers/forge!5614
2021-10-21 12:36:13 +00:00
Bug Hunter
21b037e2e7 Update forge-gui/res/cardsfolder/t/tevesh_szat_doom_of_fools.txt 2021-10-21 12:35:26 +00:00
CCTV-1
9f0680b20a update new Importer strings. 2021-10-21 19:54:25 +08:00
TRT
88312465cd AiBlockController: fix for menace + trample 2021-10-21 13:28:31 +02:00
Anthony Calosa
50a7437fbd Merge branch 'master' into 'master'
unused imports

See merge request core-developers/forge!5613
2021-10-21 07:46:21 +00:00
Anthony Calosa
165a564caf unused imports 2021-10-21 15:45:30 +08:00
paul_snoops
83441c6e75 SLD Edition for missing Stranger Things Card 2021-10-21 08:37:30 +01:00
Michael Kamensky
6cfc5041c7 Merge branch 'master' into 'master'
[Mobile] Prevent Card Animations when FScrollPane is moving

See merge request core-developers/forge!5611
2021-10-21 05:25:21 +00:00
Anthony Calosa
a6570491ea Merge remote-tracking branch 'core/master' 2021-10-21 12:40:54 +08:00
Michael Kamensky
7306f69c4a Merge branch 'twosat-master-patch-36825' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5606
2021-10-21 04:34:54 +00:00
Michael Kamensky
da838bdb4c Merge branch 'layout' into 'master'
Add some more modern resolution choices

See merge request core-developers/forge!5608
2021-10-21 04:34:44 +00:00
Michael Kamensky
b19f01ef8b Merge branch 'gildedrake' into 'master'
Fix AI refusing Gilded Drake trigger when no targets

See merge request core-developers/forge!5607
2021-10-21 04:30:40 +00:00
Michael Kamensky
ba3e0c01ea Merge branch 'run-quest-tourney-on-edt' into 'master'
Fix Quest Tournament not running on EDT

See merge request core-developers/forge!5609
2021-10-21 04:29:50 +00:00
Michael Kamensky
dc765ed2b2 Merge branch 'hawkins' into 'master'
hawkins_national_laboratory_the_upside_down.txt

See merge request core-developers/forge!5610
2021-10-21 04:29:40 +00:00
Anthony Calosa
6179c991a0 fix NPE 2021-10-21 12:18:24 +08:00
Anthony Calosa
8c438261dc [Mobile] Prevent Card Animations when FScrollPane is moving
- cleaner looks when the user is scrolling through the cards
2021-10-21 10:10:38 +08:00
Northmoc
627461546a hawkins_national_laboratory_the_upside_down.txt 2021-10-20 21:07:15 -04:00
friarsol
92d5a00750 Fix Quest Tournament not running on EDT 2021-10-20 20:40:32 -04:00
tool4EvEr
cb5cf75e9e Clean up 2021-10-20 23:13:38 +02:00
tool4EvEr
43019b3881 Add some more modern resolution choices 2021-10-20 22:27:36 +02:00
tool4EvEr
e7c9cdb111 Fix AI refusing Gilded Drake trigger when no targets 2021-10-20 22:14:55 +02:00
Andreas Bendel
f75c457e66 Update de-DE.properties
translated a lot of deck importer related lines
2021-10-20 18:39:44 +00:00
Michael Kamensky
253cf35841 Merge branch 'SLD' into 'master'
SLD Extra Life 2021

See merge request core-developers/forge!5605
2021-10-20 16:33:43 +00:00
Michael Kamensky
15cc56add2 Merge branch 'TRT-master-patch-93812' into 'master'
Update forge-gui/res/cardsfolder/b/brain_in_a_jar.txt

See merge request core-developers/forge!5604
2021-10-20 16:33:04 +00:00
Michael Kamensky
50ad8c5204 Merge branch 'flashback' into 'master'
Flashback reminder remove "extrawurst"

See merge request core-developers/forge!5603
2021-10-20 16:32:54 +00:00
paul_snoops
96a604d6e9 SLD Extra Life 2021 2021-10-20 16:25:20 +01:00
Bug Hunter
bda03f44cf Update forge-gui/res/cardsfolder/b/brain_in_a_jar.txt 2021-10-20 14:56:36 +00:00
Northmoc
58925880b4 Flashback reminder remove "extrawurst" 2021-10-20 10:20:40 -04:00
Michael Kamensky
898f3e91e0 Merge branch 'evoke' into 'master'
tidy up non-mana Evoke costs

See merge request core-developers/forge!5602
2021-10-20 14:07:55 +00:00
Michael Kamensky
a49ab3828e Merge branch 'imp' into 'master'
maddening_imp.txt streamline with IsTriggerRemembered

See merge request core-developers/forge!5601
2021-10-20 14:06:54 +00:00
Northmoc
d51de2a1a1 tidy up non-mana Evoke costs 2021-10-20 10:01:50 -04:00
Northmoc
53670a4dd7 maddening_imp.txt streamline with IsTriggerRemembered 2021-10-20 09:09:20 -04:00
Michael Kamensky
e8d229e3a2 Merge branch 'fix' into 'master'
surtland_elementalist.txt restrict play ability

See merge request core-developers/forge!5600
2021-10-20 12:38:52 +00:00
Northmoc
8c25623ffc surtland_elementalist.txt restrict play ability 2021-10-20 08:25:17 -04:00
Michael Kamensky
7d913685d8 Merge branch 'aifix' into 'master'
Fix NPE when moving commander created by ApiBased SA (e.g. Hogaak)

See merge request core-developers/forge!5597
2021-10-20 09:32:16 +00:00
Michael Kamensky
a18546065d Merge branch 'deck-importer-decks-file-format' into 'master'
Improved support for Unknown cards in DeckImport

See merge request core-developers/forge!5599
2021-10-20 09:31:35 +00:00
Grimm
419a97affa Delete .gitlab-ci.yml 2021-10-20 09:01:25 +00:00
leriomaggio
87439388db Improved support for Unknown cards in DeckImport
DeckImport now avoids including non-deck and metadata info in decklist as UnknownText, whilst any line that looks like a card request (i.e. includes a card quantity in the beginning) is interpreted as Unknown card.

This seems a good compromise with showing typo and any mispelling in card list whilst avoiding flooding decklist with unnecessary info.
2021-10-20 10:47:44 +02:00
Michael Kamensky
0d67e7950e Merge branch 'adventure' into 'master'
Adventure mode

See merge request core-developers/forge!5584
2021-10-20 04:54:04 +00:00
Grimm
49f7128240 Restore the adventure merge
This reverts commit e69cf66ec8.
2021-10-20 04:54:01 +00:00
Michael Kamensky
2213f7c925 Merge branch 'master' into 'master'
Slight tweak to ChooseTypeAi

See merge request core-developers/forge!5596
2021-10-20 04:48:54 +00:00
Michael Kamensky
86431ec6f2 - Slight tweak to ChooseTypeAi 2021-10-20 07:48:21 +03:00
Michael Kamensky
60da1c88f3 Merge branch 'aiETB' into 'master'
checkETBeffects: be a bit less greedy when facing death

See merge request core-developers/forge!5593
2021-10-20 04:27:28 +00:00
Michael Kamensky
144a0c6e71 Merge branch 'deck-importer-decks-file-format' into 'master'
Small Improvements to Deck Importer

See merge request core-developers/forge!5594
2021-10-20 04:26:59 +00:00
Michael Kamensky
48f894b1ae - Fix shared params lines. 2021-10-20 07:09:00 +03:00
Michael Kamensky
ee0ad5789c Merge branch 'master' into 'master'
Improve ChooseTypeAi trigger logic

See merge request core-developers/forge!5595
2021-10-20 04:03:57 +00:00
Michael Kamensky
90d18b3096 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-20 07:02:35 +03:00
Michael Kamensky
df2ef8ca8c - Improve ChooseTypeAi trigger logic. 2021-10-20 07:02:16 +03:00
leriomaggio
a67da59564 Unknown/Unrecognised text is not muted anymore and displayed as unknown card.
Added new entry in language files (ITA already translated too)
2021-10-20 00:48:02 +02:00
tool4EvEr
3b2ca119db Fix NPE when moving commander created by ApiBased SA (e.g. Hogaak) 2021-10-20 00:06:56 +02:00
leriomaggio
ca45deb935 Added patch to handle corner case with Conspiracy section as formatted in dec files. 2021-10-19 23:32:51 +02:00
tool4EvEr
25e35e3468 checkETBeffects: be a bit less greedy when facing death 2021-10-19 21:24:36 +02:00
Michael Kamensky
445d655dd3 - Consolidate shared parameters in a variable. 2021-10-19 19:35:35 +03:00
Michael Kamensky
dc3c117ba8 Merge branch 'custody' into 'master'
Custody Battle refactor

See merge request core-developers/forge!5591
2021-10-19 16:01:38 +00:00
Michael Kamensky
7424f765b0 Merge branch 'twosat-master-patch-42991' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5589
2021-10-19 15:54:17 +00:00
Michael Kamensky
dae1c33a6d Merge branch 'fix' into 'master'
fix larder_zombie.txt

See merge request core-developers/forge!5590
2021-10-19 15:54:13 +00:00
Michael Kamensky
080ed15c28 Merge branch 'aifix' into 'master'
Fix for Dewdrop Spy

See merge request core-developers/forge!5592
2021-10-19 15:34:16 +00:00
TRT
0762d0877a Fix for Dewdrop Spy 2021-10-19 17:29:09 +02:00
Northmoc
3fe18188ac custody_battle.txt add AI hint 2021-10-19 10:31:18 -04:00
Northmoc
98af39a140 custody_battle.txt refactor 2021-10-19 10:30:45 -04:00
Andreas Bendel
e37d42efa4 Update de-DE.properties
translated lblWouldYouLikeInvestigate
2021-10-19 13:56:59 +00:00
Northmoc
04792a2086 fix larder_zombie.txt 2021-10-19 09:56:22 -04:00
Michael Kamensky
016001fba2 Merge branch 'stranger' into 'master'
Stranger Things

See merge request core-developers/forge!5556
2021-10-19 13:49:32 +00:00
Michael Kamensky
d752e6dea3 Merge branch 'aifix' into 'master'
AttachAi: Add chkAIDrawback for Halvar

See merge request core-developers/forge!5588
2021-10-19 13:48:55 +00:00
TRT
75b3363a51 Add chkAIDrawback for Halvar 2021-10-19 15:11:09 +02:00
Michael Kamensky
b0e07cd284 Merge branch 'aifix' into 'master'
Fix Muse Vessel + Hexproof

See merge request core-developers/forge!5587
2021-10-19 11:31:47 +00:00
TRT
386c30a8ae Fix NPE 2021-10-19 12:56:46 +02:00
TRT
c2d44efbc5 Fix Muse Vessel + Hexproof 2021-10-19 12:05:33 +02:00
Michael Kamensky
cc0d4eedfd Merge branch 'pwcombat' into 'master'
Smarter check for AI if specific attacker should go for PW

See merge request core-developers/forge!5585
2021-10-19 04:05:05 +00:00
Michael Kamensky
30416e87ab Merge branch 'fix' into 'master'
Dragon's Fire tweaks

See merge request core-developers/forge!5586
2021-10-19 04:04:57 +00:00
Grimm
287b7b7e7c sprites to lowercase and added *.sh + *.command 2021-10-19 02:33:34 +02:00
Grimm
0df58969ad sprites to lowercase and added *.sh + *.command 2021-10-19 02:32:58 +02:00
Grimm
dc0f78205e rename folder so that windows see the rename to lowercase 2021-10-19 02:32:12 +02:00
Northmoc
61673b05f4 support "OptionalGenericCostPaid" 2021-10-18 18:53:56 -04:00
Northmoc
15a3d1ee9d dragons_fire.txt streamline 2021-10-18 18:53:08 -04:00
Northmoc
e6823049c5 will_the_wise.txt 2021-10-18 18:42:57 -04:00
Northmoc
c1df6ddf87 max_the_daredevil.txt 2021-10-18 18:20:10 -04:00
Northmoc
cbaf707822 lucas add AI hint 2021-10-18 18:15:24 -04:00
tool4EvEr
f21c6867c6 Clean up 2021-10-18 23:01:36 +02:00
tool4EvEr
baf89b344c Update script 2021-10-18 22:39:11 +02:00
tool4EvEr
3653b800a4 Multiplayer improvements 2021-10-18 22:15:53 +02:00
tool4EvEr
ae68e6b9b2 Clean up 2021-10-18 22:00:23 +02:00
TRT
ea65f77d16 Simple check for AI if specific attacker should go for PW 2021-10-18 20:49:31 +02:00
Grimm
035976d165 - Removed copy of libgdx gui
- added shaders to adventure module
- changed build order to build adventure module before desktop to pack it in the same zip but not add it as dependency
- adjusted mobile gui module to support adventure module.
2021-10-18 20:11:06 +02:00
Michael Kamensky
ff43491d07 Merge branch 'reusable-costs-ai-fix' into 'master'
Improve Clay Golem AI behavior, switch CostFlipCoin/CostRollDice to being reusable.

See merge request core-developers/forge!5582
2021-10-18 16:27:43 +00:00
Michael Kamensky
33566c037c Merge branch 'gauntletfix' into 'master'
Fix some more NPE related to gauntlets

See merge request core-developers/forge!5583
2021-10-18 16:27:26 +00:00
Northmoc
d095dc7156 InvestigateEffect - support Optional and RememberInvestigatingPlayers 2021-10-18 10:33:21 -04:00
Northmoc
e29407d868 lucas_the_sharpshooter.txt 2021-10-18 10:00:43 -04:00
TRT
5b72d1f682 Fix some more NPE related to gauntlets 2021-10-18 15:26:09 +02:00
Michael Kamensky
4644305733 - Switch CostFlipCoin and CostRollDice to being reusable.
- Somewhat improve the AI behavior for Clay Golem.
2021-10-18 16:22:33 +03:00
Northmoc
338465889a mike_the_dungeon_master.txt 2021-10-18 07:58:02 -04:00
Northmoc
631c9c671d chief_jim_hopper.txt 2021-10-18 07:58:02 -04:00
Northmoc
75e66f9469 dustin_gadget_genius.txt 2021-10-18 07:58:02 -04:00
Northmoc
8a52de252f eleven_the_mage.txt 2021-10-18 07:58:02 -04:00
Northmoc
80171918dd initial Friends forever 2021-10-18 07:58:01 -04:00
Northmoc
e499d9bed8 CardProperty - support BottomLibrary 2021-10-18 07:58:01 -04:00
Northmoc
c641f6950c mind_flayer_the_shadow.txt 2021-10-18 07:58:01 -04:00
TRT
501d5501db Fix Master of the Wild Hunt 2021-10-18 12:01:43 +02:00
Michael Kamensky
5c97a0f835 Merge branch 'johnwilliams7-master-patch-02550' into 'master'
Update Year of the Ox 2021.txt

See merge request core-developers/forge!5580
2021-10-18 08:41:22 +00:00
John Williams
487956ec2c Update Year of the Ox 2021.txt 2021-10-18 08:39:08 +00:00
tool4EvEr
c6bf9e3c6d Clean up 2021-10-18 10:21:28 +02:00
Michael Kamensky
cc49f02f09 Merge branch 'disable-in-app-updater' into 'master'
Disable in-game updater for now

See merge request core-developers/forge!5579
2021-10-18 03:37:31 +00:00
Michael Kamensky
d55479dc39 Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!5578
2021-10-18 03:37:06 +00:00
Churrufli
d3eabbd1d5 Update net-decks-archive-pauper.txt 2021-10-17 23:05:44 +00:00
Churrufli
2f8aaab41e Net Decks Archive Updates 2021-10-18 00:03:11 +02:00
friarsol
399ea54088 Disable in-game uploader for now 2021-10-17 17:40:24 -04:00
Michael Kamensky
1f0e7f7348 Merge branch 'vulns' into 'master'
update to fix known vulnerabilities

See merge request core-developers/forge!5576
2021-10-17 13:49:21 +00:00
Michael Kamensky
beefb001b6 Merge branch 'TRT-master-patch-69088' into 'master'
Update forge-gui/res/cardsfolder/v/volition_reins.txt

See merge request core-developers/forge!5577
2021-10-17 13:38:21 +00:00
Bug Hunter
afae48e04e Update forge-gui/res/cardsfolder/v/volition_reins.txt 2021-10-17 10:40:17 +00:00
Jamin W. Collins
061ce30d8d fix transitive dependency vulnerability
* https://snyk.io/vuln/SNYK-JAVA-COMMONSCODEC-561518

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 21:26:21 -07:00
Jamin W. Collins
086118be07 fix transitive dependency vulnerability
* https://snyk.io/vuln/SNYK-JAVA-ORGTESTNG-174823

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 21:26:11 -07:00
Jamin W. Collins
ce6d142f6e fix transitive dependency vulnerabilites
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-1048058
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-451097
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-32018
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-31517
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-30647
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-30644
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-30646

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 21:24:46 -07:00
Jamin W. Collins
1aa64bac4a fix transitive dependency vulnerabilites
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHELOGGINGLOG4J-567761
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHELOGGINGLOG4J-31409

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 21:04:00 -07:00
Jamin W. Collins
920c5bceea upgrade to fix known vulnerabilities
* https://snyk.io/vuln/SNYK-JAVA-COMGOOGLEGUAVA-1015415
* https://snyk.io/vuln/SNYK-JAVA-COMGOOGLEGUAVA-32236

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 20:54:11 -07:00
Jamin W. Collins
dc2fa6a78e update to fix known vulnerability
* https://snyk.io/vuln/SNYK-JAVA-COMBEUST-174815

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 20:46:12 -07:00
Jamin W. Collins
859c170e75 update to fix known vulnerabilities
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569178
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569179
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569180
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569181
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569182
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569183
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569185
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569186
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569187
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569189
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569190
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569191
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569176
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1569177
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1294540
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088338
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088336
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088337
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088335
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088334
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088332
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088331
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088330
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088333
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088329
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1088328
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1051966
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1051967
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-1040458
* https://snyk.io/vuln/SNYK-JAVA-COMTHOUGHTWORKSXSTREAM-456705

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 20:37:38 -07:00
Jamin W. Collins
4f6096bd3a update to fix known vulnerabilities
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHELOGGINGLOG4J-567761
* https://snyk.io/vuln/SNYK-JAVA-ORGAPACHELOGGINGLOG4J-31409

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 20:34:42 -07:00
Michael Kamensky
a3385b2430 Merge branch 'johnwilliams7-master-patch-65807' into 'master'
Pioneer Challenge Decks 2021 Promos

See merge request core-developers/forge!5574
2021-10-17 03:14:55 +00:00
Michael Kamensky
f6aac5e419 Merge branch 'hasManaAbility' into 'master'
Fix hasManaAbility

See merge request core-developers/forge!5552
2021-10-17 03:14:16 +00:00
Michael Kamensky
351298f1ff Merge branch 'cleanup' into 'master'
Fix NPE when starting Quick Gauntlet with no deck selected

See merge request core-developers/forge!5575
2021-10-17 03:14:07 +00:00
tool4EvEr
18eace5fbb Fix card 2021-10-16 23:33:31 +02:00
tool4EvEr
654e671afb Clean up 2021-10-16 23:16:32 +02:00
tool4EvEr
fd9ee82b53 Fix NPE when starting Quick Gauntlet with no deck selected 2021-10-16 22:52:28 +02:00
Jamin W. Collins
2966bdfc6a update module version to match parent
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 13:40:37 -07:00
Jamin W. Collins
e31faf4e06 set a version for org.jetbrains.annotations
fixes:

[WARNING] 'dependencies.dependency.version' for
org.jetbrains:annotations:jar is either LATEST or RELEASE (both of them
are being deprecated) @ line 178, column 22

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-10-16 12:48:32 -07:00
Jamin W. Collins
339c9cec40 Restore the adventure merge
This reverts commit e69cf66ec8.
2021-10-16 12:43:12 -07:00
tool4EvEr
1a1088399e Cleanup 2021-10-16 21:34:12 +02:00
John Williams
e00faa8ffc Add new file 2021-10-16 19:29:45 +00:00
Michael Kamensky
6c217f56aa Merge branch 'master' into 'master'
Fix compile and tests

See merge request core-developers/forge!5573
2021-10-16 18:15:50 +00:00
Michael Kamensky
67b4e31a5a - Fix compile and tests 2021-10-16 21:15:09 +03:00
Michael Kamensky
1c39eae563 Merge branch 'revert-c89c0181' into 'master'
Revert "Merge branch 'adventure' into 'master'"

See merge request core-developers/forge!5572
2021-10-16 18:10:05 +00:00
Michael Kamensky
e69cf66ec8 Revert "Merge branch 'adventure' into 'master'"
This reverts merge request !5318
2021-10-16 18:09:31 +00:00
Michael Kamensky
6cda07f5ea Merge branch 'twosat-master-patch-31634' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5571
2021-10-16 17:55:07 +00:00
Andreas Bendel
5a9fea3f55 Update de-DE.properties
translation #VStatisticsImporter
2021-10-16 16:57:12 +00:00
Michael Kamensky
87521416b2 Merge branch 'deck-importer-decks-file-format' into 'master'
NEW Deck Importer

See merge request core-developers/forge!5296
2021-10-16 16:47:29 +00:00
Michael Kamensky
c89c0181d3 Merge branch 'adventure' into 'master'
Add Adventure mode

See merge request core-developers/forge!5318
2021-10-16 16:47:21 +00:00
Michael Kamensky
79518f43d6 Merge branch 'master' into 'master'
Prepare Forge for Android publish 1.6.45.001

See merge request core-developers/forge!5570
2021-10-16 16:02:46 +00:00
Michael Kamensky
2129a1dcf2 - Prepare Forge for Android publish 1.6.45.001 [incremental]. 2021-10-16 19:01:47 +03:00
Michael Kamensky
5520cd2a67 [maven-release-plugin] prepare for next development iteration 2021-10-16 18:52:21 +03:00
Michael Kamensky
340a6b2af5 [maven-release-plugin] prepare release forge-1.6.45 2021-10-16 18:52:12 +03:00
Michael Kamensky
6c8ea1de96 Merge branch 'master' into 'master'
Rudimentary Announcements update, part 2

See merge request core-developers/forge!5569
2021-10-16 15:46:42 +00:00
Michael Kamensky
8653d97081 - Rudimentary Announcements update, part 2 2021-10-16 18:46:10 +03:00
Michael Kamensky
2d355be51d Merge branch 'master' into 'master'
- Rudimentary Announcements update.

See merge request core-developers/forge!5568
2021-10-16 15:44:39 +00:00
Michael Kamensky
0c998f971b - Rudimentary Announcements update. 2021-10-16 18:44:11 +03:00
Michael Kamensky
22469cd604 Merge branch 'master' into 'master'
Migrate Upcoming (MID/MIC)

See merge request core-developers/forge!5567
2021-10-16 15:41:24 +00:00
Michael Kamensky
dcb398f195 - Migrate Upcoming (MID/MIC) 2021-10-16 18:40:22 +03:00
Michael Kamensky
6b94871b78 - A Linux script that tries to detect the Java version and run the game in a way specific to the given version. Seems to work with OpenJDK. 2021-10-16 18:29:18 +03:00
Anthony Calosa
7c150c36b1 Merge branch 'master' into 'master'
[Mobile] Auto Adjust Zoom Display on local Multiplayer (landscape mode)

See merge request core-developers/forge!5565
2021-10-16 13:31:11 +00:00
Anthony Calosa
025c195a70 [Mobile] Auto Adjust Zoom Multiplayer Local
When playing local multiplayer game on landscape mode, adjust zoom display automatically when 3rd/4th player has lost.
2021-10-16 21:28:55 +08:00
Anthony Calosa
473cd7cfe0 Merge branch 'master' into 'master'
Announce non doublefaced transform cards only

See merge request core-developers/forge!5564
2021-10-16 13:24:30 +00:00
Anthony Calosa
c7864ee374 Announce non doublefaced transform cards only
Doublefaced card transformation has trigger (except daybound/nightbound) when flipping back and forth making announcement redundant.
2021-10-16 21:23:18 +08:00
Anthony Calosa
e3a1a5b7f4 Merge branch 'master' into 'master'
[Mobile] fix facedown splitcard showing different cardbacks when zoomed

See merge request core-developers/forge!5563
2021-10-16 13:06:44 +00:00
Anthony Calosa
9829ed36c7 Merge remote-tracking branch 'core/master' 2021-10-16 21:05:41 +08:00
Anthony Calosa
f5b0e3d068 [Mobile] fix facedown splitcard showing different cardbacks when zoomed 2021-10-16 21:04:46 +08:00
tool4EvEr
c82826cf09 Clean up 2021-10-16 14:39:56 +02:00
Michael Kamensky
d3a94167ab Merge branch 'johnwilliams7-master-patch-23793' into 'master'
Update Resale Promos.txt

See merge request core-developers/forge!5562
2021-10-16 09:59:06 +00:00
John Williams
804c1c2961 Update Resale Promos.txt 2021-10-16 09:53:09 +00:00
leriomaggio
2858abd551 reworded method name
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 09:25:28 +01:00
leriomaggio
700e4f1d8e Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-16 08:58:49 +01:00
leriomaggio
842e292537 Restored mobile options for DeckImporter + setup controller game type/format too
This commit reinstate mobile old options to select card art.
The two components setup options in controller, and their initial state depends on current Card Art Preference Settings.

Moreover, now the dialog support (small) customisation based on current Game type to allow for some automation in DeckImporter to be triggered based on "editorType".

Changes in FDeckEditor reflects this change by passing the extra parameter to the constructor, and to allow checking that current editorType is not Limited (achieved via new public static method)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 08:56:56 +01:00
leriomaggio
eb7f3d75c3 Restored FDeckImportDialog mobile translation entries
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 08:24:49 +01:00
Anthony Calosa
aaeb387f6c Merge branch 'master' into 'master'
[Mobile] prevent crash empty deck

See merge request core-developers/forge!5561
2021-10-16 07:20:28 +00:00
Anthony Calosa
7a25f0b5b8 [Mobile] prevent crash empty deck 2021-10-16 15:19:33 +08:00
leriomaggio
8b58f6caa2 Restored FDeckImportDialog mobile translation entries
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 08:12:16 +01:00
Anthony Calosa
9e29e98e89 Merge branch 'master' into 'master'
[Mobile] prevent NPE on deck import

See merge request core-developers/forge!5560
2021-10-16 06:46:36 +00:00
Anthony Calosa
b7e6d51f97 [Mobile] prevent NPE on deck import 2021-10-16 14:45:13 +08:00
Michael Kamensky
3a7878f182 Merge branch 'master' into 'master'
Minor tweaks to DayTimeAi

See merge request core-developers/forge!5559
2021-10-16 04:38:18 +00:00
Michael Kamensky
037b8250cf - Minor tweaks to DayTimeAi 2021-10-16 07:35:22 +03:00
Anthony Calosa
6a7dd633d9 Merge branch 'master' into 'master'
show indicator when needed

See merge request core-developers/forge!5558
2021-10-16 04:13:06 +00:00
Anthony Calosa
d364896f98 show indicator when needed 2021-10-16 12:11:38 +08:00
leriomaggio
7c386b5ddf Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-16 00:47:30 +01:00
leriomaggio
ef03ea37d8 Finalised full Italian Translation for DeckImport
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 00:47:10 +01:00
leriomaggio
9590db52b8 included "Special" in Card Rarity examples in Instructions
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-16 00:44:49 +01:00
TRT
dffd95dd08 Fix hasManaAbility 2021-10-15 23:36:40 +02:00
Michael Kamensky
2aec1b7609 Merge branch 'attach' into 'master'
ChangeZoneAi: Fix NPE for attaching cards

See merge request core-developers/forge!5557
2021-10-15 20:04:18 +00:00
leriomaggio
ccf556f01b Setting accept button label properly
New Deck is set when current deck is empty

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 20:33:45 +01:00
leriomaggio
350c6a6fa4 Added translations for VStatisticsImporter
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 20:33:44 +01:00
leriomaggio
672014ce8a Setting up all new translation entries as they are in English for DeckImport and DeckImport Controller
Note: Translation NEEDED

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 20:33:44 +01:00
tool4EvEr
99c5cf87d2 Fix NPE for ChangeZone Attach 2021-10-15 21:14:07 +02:00
Michael Kamensky
ad1c08c0d8 Merge branch 'fix' into 'master'
arlinn fix

See merge request core-developers/forge!5555
2021-10-15 18:55:30 +00:00
leriomaggio
d056d2a683 Added "Special" placeholder for card rarity
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 19:40:02 +01:00
leriomaggio
30a7c6aed4 Adding support for Dual/Double-sided cards in parsing + patch for commander export from Deckstats
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 19:33:13 +01:00
leriomaggio
f56cf00a6f Adding DB tests for dual and double cards
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 19:32:28 +01:00
leriomaggio
80268e95fd Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-15 19:15:38 +01:00
Northmoc
c06cc29075 arlinn fix 2021-10-15 14:15:03 -04:00
Michael Kamensky
1234c6c04e Merge branch 'master' into 'master'
Add (mostly stubbed) DaytimeAi

See merge request core-developers/forge!5554
2021-10-15 18:13:09 +00:00
Michael Kamensky
7892be0269 - Add (mostly stubbed) DaytimeAi 2021-10-15 21:12:09 +03:00
Anthony Calosa
815edd5c87 Merge branch 'master' into 'master'
update bg

See merge request core-developers/forge!5553
2021-10-15 17:51:29 +00:00
Anthony Calosa
b3c3b82fe5 Merge remote-tracking branch 'core/master' 2021-10-16 01:48:54 +08:00
Anthony Calosa
94add3ad09 update bg
add credits to artist
2021-10-16 01:48:05 +08:00
Michael Kamensky
f1f907a532 Merge branch 'fixup' into 'master'
Fix TargetsWithRelatedProperty

See merge request core-developers/forge!5551
2021-10-15 17:21:30 +00:00
tool4EvEr
ce016180a7 Fix TargetsWithRelatedProperty 2021-10-15 15:49:36 +02:00
Sol
0e97d822bb Merge branch '1978-daybound-nightbound' into 'master'
Resolve "Daybound & Nightbound"

Closes #1978

See merge request core-developers/forge!5462
2021-10-15 13:20:37 +00:00
Hans Mackowiak
997e566af0 Resolve "Daybound & Nightbound" 2021-10-15 13:20:36 +00:00
leriomaggio
eef331b589 Fixed typo in Translation
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 14:14:27 +01:00
leriomaggio
e3eafb0b4f Fixed typo in Translation
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 14:08:33 +01:00
leriomaggio
e91277f271 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-10-15 13:39:00 +01:00
leriomaggio
30628db5ed Finalised all translations (DeckImport welcome text, and DeckImportController Dialog)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 13:38:33 +01:00
leriomaggio
f35164c0d6 Full updates with latest translations and Token types
This commit introduces major refactoring to code of Deck Import to extend support to all DeckRecognizer.Token types, as well as better-organised methods for message and status display. On this note, the CSS has been updated, along with decklist HTML which now leverages on HTML-table to display tokens and status messages separately and all well-aligned.
Card Preview has been also refined, with proper CSS classes and messages.
Finally, the HTML_WELCOME_TEXT now reflects the latest changes in translation file (e.g. included an additional example, and extra paragraph in Options)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 13:15:18 +01:00
leriomaggio
9ef6c05396 Added deck name token retrieval and warning msg before saving.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 13:12:21 +01:00
leriomaggio
a012b236a5 Few changes to Deck Name and CC tokens trimmed and uppercase (resp).
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-15 13:11:25 +01:00
Michael Kamensky
fa09c3fa7b Merge branch 'fix-mantleoftheancients' into 'master'
Fix Mantle of the Ancients allowing to target stuff in other graveyards

See merge request core-developers/forge!5550
2021-10-15 11:30:31 +00:00
Michael Kamensky
60cbfa4739 Merge branch 'edition_fixes' into 'master'
New SLD cards and PPRO fixes

See merge request core-developers/forge!5549
2021-10-15 09:30:35 +00:00
Michael Kamensky
602027be0f - Fix Mantle of the Ancients. 2021-10-15 12:29:26 +03:00
paul_snoops
a35b82e6b5 rarity_fixes 2021-10-15 09:14:10 +01:00
paul_snoops
66b20b4800 oops 2021-10-15 09:02:01 +01:00
paul_snoops
bc932ba039 New SLD cards and PPRO fixes 2021-10-15 08:58:31 +01:00
Michael Kamensky
5fd4c2e3d2 Merge branch 'aifix' into 'master'
Fix NPE with Mount Velus Manticore

See merge request core-developers/forge!5548
2021-10-14 13:31:25 +00:00
tool4EvEr
3b86f4f0c2 Fix NPE with Mount Velus Manticore 2021-10-14 13:26:31 +02:00
Anthony Calosa
8dca774d95 Merge branch 'master' into 'master'
unused imports

See merge request core-developers/forge!5547
2021-10-14 08:28:44 +00:00
Anthony Calosa
18eddce33a unused imports 2021-10-14 16:28:15 +08:00
Anthony Calosa
1d74e27ee7 Merge branch 'master' into 'master'
[Mobile] fix NPE

See merge request core-developers/forge!5546
2021-10-14 08:21:15 +00:00
Anthony Calosa
40ea769ac5 [Mobile] fix NPE 2021-10-14 16:19:53 +08:00
Michael Kamensky
e00c4da560 Merge branch 'master' into 'master'
Fix Split the Party AI

See merge request core-developers/forge!5544
2021-10-14 05:28:00 +00:00
Michael Kamensky
3f6a7c2d12 - Fix Split the Party AI 2021-10-14 08:27:24 +03:00
Michael Kamensky
cf0221554c Merge branch 'master' into 'master'
October 13, 2021 Banned and Restricted announcement

See merge request core-developers/forge!5542
2021-10-14 04:01:02 +00:00
Hythonia
1d014b6a63 Update subversive_acolyte.txt 2021-10-13 17:37:46 +00:00
Hythonia
fc901735c3 Update sarkhan_wanderer_to_shiv.txt 2021-10-13 17:35:44 +00:00
Hythonia
780cd830e0 Update faceless_agent.txt 2021-10-13 17:34:12 +00:00
Hythonia
a4dd05efec Update davriel_soul_broker.txt 2021-10-13 17:33:46 +00:00
Hythonia
adbd51f05e Update davriels_withering.txt 2021-10-13 17:32:16 +00:00
Hythonia
ce3ef1544b October 13, 2021 Banned and Restricted Announcement 2021-10-13 17:30:53 +00:00
Michael Kamensky
cf86688b61 Merge branch 'brawl' into 'master'
Brawl Pithing Needle banned and HTR20 update

See merge request core-developers/forge!5541
2021-10-13 17:24:08 +00:00
paul_snoops
20cecd0985 Brawl Pithing Needle banned and HTR20 update 2021-10-13 14:35:50 +01:00
Michael Kamensky
1617c433d0 Merge branch 'panhar' into 'master'
Panharmonicon: Fix missing trigger due to ETB with old state

Closes #1986

See merge request core-developers/forge!5540
2021-10-13 09:06:04 +00:00
TRT
fa9dd99f6e Fix missing trigger due to ETB with old state 2021-10-12 17:13:53 +02:00
Bug Hunter
09900d112f Merge branch 'TRT-master-patch-53744' into 'master'
Update forge-gui/res/cardsfolder/r/rousing_of_souls.txt

See merge request core-developers/forge!5539
2021-10-12 08:41:16 +00:00
Bug Hunter
fed312a862 Update forge-gui/res/cardsfolder/r/rousing_of_souls.txt 2021-10-12 08:40:56 +00:00
Michael Kamensky
53dd6d6933 Merge branch 'cleanup' into 'master'
CardLists.filter(*).isEmpty -> Iterables.any

See merge request core-developers/forge!5538
2021-10-11 20:14:42 +00:00
tool4EvEr
091cb077e9 Clean up 2021-10-11 21:42:38 +02:00
tool4EvEr
1280cb384a CardLists.filter(*).isEmpty -> Iterables.any 2021-10-11 20:20:32 +02:00
Michael Kamensky
e224d8790d Merge branch 'aifix' into 'master'
staticDamagePrevention: fix check

See merge request core-developers/forge!5537
2021-10-11 04:19:59 +00:00
Michael Kamensky
a855979d06 Merge branch 'counters' into 'master'
CountersAi: skip for only one against Vorinclex

See merge request core-developers/forge!5536
2021-10-11 04:19:30 +00:00
tool4EvEr
72d0de96e2 Improve poison combat checks 2021-10-10 23:57:02 +02:00
tool4EvEr
76f7fbbb08 staticDamagePrevention: fix check 2021-10-10 23:14:23 +02:00
tool4EvEr
f0a3d19d38 CountersAi: skip for only one against Vorinclex 2021-10-10 19:17:35 +02:00
Michael Kamensky
a5016c4afc Merge branch 'klaxnek-master-patch-24357' into 'master'
Update es-ES.properties (UseLaserArrows and ReplaceCard)

See merge request core-developers/forge!5535
2021-10-10 10:06:09 +00:00
klaxnek
a7fc9b0882 Update es-ES.properties (UseLaserArrows and ReplaceCard) 2021-10-10 08:27:34 +00:00
leriomaggio
1718ca9020 Added full support to card preview with foil and correct updates
Now all cards displayed in cardpreview panel will automatically adapt to any change in the decklist.
That is, the panel will be reset only if current-displayed card is not in decklist anymore. In all other cases, the preview will adjust depending on the new token status, and/or whether the card is/was foiled!

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-10 09:10:19 +01:00
leriomaggio
44cfc76552 Added support for Foiled cards in Token Key (w. tests)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-10 08:24:47 +01:00
Michael Kamensky
e773868f18 Merge branch 'commander-tracker' into 'master'
Add a tracker unfreeze-refreeze to State Based Action 903.9a to avoid Commander visualization issues

See merge request core-developers/forge!5533
2021-10-10 04:53:02 +00:00
Michael Kamensky
77b46d0a84 Merge branch 'junk' into 'master'
Fix Junk Winder

See merge request core-developers/forge!5534
2021-10-10 04:46:41 +00:00
tool4EvEr
d359d6dc3c Fix Junk Winder 2021-10-10 01:05:05 +02:00
leriomaggio
89daddd643 New method to retrieve displayed item.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-10 00:01:33 +01:00
Michael Kamensky
a693083b05 - Minor refactoring to make the ugliness less ugly. 2021-10-09 16:51:59 +03:00
Michael Kamensky
ca71fa97cf - Remove unneeded variable. 2021-10-09 16:42:39 +03:00
Michael Kamensky
02de8ee70a - Add a tracker unfreeze-refreeze to State Based Action 903.9a to avoid Commander visualization issues. 2021-10-09 16:39:57 +03:00
Bug Hunter
e9b93e2215 Merge branch 'payfix' into 'master'
canPlayAndPayFor: Improve check

See merge request core-developers/forge!5532
2021-10-09 11:11:00 +00:00
tool4EvEr
53499296bc Improve check 2021-10-09 13:00:10 +02:00
Michael Kamensky
29f836344b Merge branch 'payfix' into 'master'
canPlayAndPayFor: check for RaiseCost

Closes #871

See merge request core-developers/forge!5531
2021-10-09 10:52:09 +00:00
Michael Kamensky
e99e535ee4 Merge branch 'twosat-master-patch-15209' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5530
2021-10-09 10:51:38 +00:00
tool4EvEr
6789c29c6b canPlayAndPayFor: check for RaiseCost 2021-10-09 12:37:21 +02:00
Andreas Bendel
ab6fc6e2bf Update de-DE.properties
translated UseLaserArrows and ReplaceCard
2021-10-09 10:06:34 +00:00
Michael Kamensky
514cd61863 Merge branch 'gristAgain' into 'master'
Card: fix Grist again

Closes #1985

See merge request core-developers/forge!5529
2021-10-09 09:18:20 +00:00
Hans Mackowiak
93a0a83854 Card: fix Grist again 2021-10-09 10:37:36 +02:00
Michael Kamensky
029b72573b Merge branch 'bearer' into 'master'
Bearer of the Heavens: fix crash

See merge request core-developers/forge!5528
2021-10-09 04:17:34 +00:00
Michael Kamensky
3f810f3907 Merge branch 'changezoneall' into 'master'
Allow additional reordering when moving cards together

See merge request core-developers/forge!5524
2021-10-09 04:17:16 +00:00
leriomaggio
1934f27da3 Typo in documentation
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-09 00:17:34 +01:00
tool4EvEr
04c1b2664f Clean up 2021-10-08 21:35:50 +02:00
tool4EvEr
9f7012f718 fix crash 2021-10-08 20:00:49 +02:00
Michael Kamensky
77f7966a2c Merge branch 'kamahl' into 'master'
Kamahl's Sledge: fix crash

See merge request core-developers/forge!5527
2021-10-08 17:54:43 +00:00
tool4EvEr
ffacead162 fix crash 2021-10-08 19:45:22 +02:00
tool4EvEr
8c3fe81669 Allow reordering of multiple attachments 2021-10-08 19:34:23 +02:00
tool4EvEr
421474b025 Fix for Null Profusion 2021-10-08 19:34:23 +02:00
TRT
7dfab9c54e Reorder for Genesis Ultimatum 2021-10-08 19:34:22 +02:00
TRT
4939a5ef8c Allow additional reordering when moving cards together 2021-10-08 19:34:21 +02:00
leriomaggio
e9aa12bc46 Extensive code refactoring, updates with new token types, and new support for allowed deck sections
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-08 16:46:33 +01:00
Hans Mackowiak
c905dd753b Merge branch '1984' into 'master'
move eff.updateStateForView() in other effects

Closes #1984

See merge request core-developers/forge!5526
2021-10-08 15:33:17 +00:00
Northmoc
e29718444e move eff.updateStateForView() in other effects 2021-10-08 11:10:05 -04:00
Michael Kamensky
7af36d7c0f Merge branch 'master' into 'master'
VentureAi timing tweaks, minor AI hint

See merge request core-developers/forge!5525
2021-10-08 14:56:59 +00:00
Michael Kamensky
dd63093642 - Tweak the timing for VentureAi activations when it has an associated cost. 2021-10-08 17:55:04 +03:00
Michael Kamensky
e417d510c4 - Added an AI hint to Devoted Paladin. 2021-10-08 17:42:53 +03:00
Michael Kamensky
6a15f3d30c Merge branch 'damageprevent' into 'master'
DamagePreventAi: Add extra sanity check

See merge request core-developers/forge!5523
2021-10-08 13:17:36 +00:00
TRT
b5800afa65 Add extra sanity check 2021-10-08 15:14:24 +02:00
leriomaggio
affc37ed0c Updates from getNumber to getQuantity from parsed tokens.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-08 13:55:00 +01:00
leriomaggio
c2f3b7d4fc Added support to game format, allowed sections, and B&R inclusion. ParseInput moved + specialised FIX for commander
This commit includes additional support to game format and banned/restricted cards in deck import controller. These settings will be passed on to DeckRecognizer when preparing for card list processing.
The whole card list parsing has been moved to deckrecognizer now, but DeckImportController still integrates later-stage (specialised) FIX for Commanders.
In particular, specialised checks are performed (whenever commander section is supported in current editor) to Sideboard and Commander sections checking whether (A) any commander is in side, and in case raise warning, or to check whether commanders in commander section are way too many.

Those will always result in Additional warnings ADDED to the (displayed) decklist, and won't interfere in any way with the import process.

If one wants to import 3 commanders in commander section who am I to say no!? :D

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-08 13:54:12 +01:00
leriomaggio
9f04f0cec7 Improved Token Mana Symbol Regexp with support for two colours tokens (and symbols)
All corresponding tests have been extended, and improved to cover the new supported Mana Tokens

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-08 13:45:31 +01:00
Michael Kamensky
490c1ce7bc Merge branch 'damagedeal' into 'master'
DamageDealAi: Improve mandatory targeting with stuff like Fury, so AI less masochistic

See merge request core-developers/forge!5522
2021-10-08 09:24:05 +00:00
TRT
5b99cea173 Clean up 2021-10-08 11:21:25 +02:00
Michael Kamensky
7e8b8e9f6d Merge branch 'changedTypeTable' into 'master'
Card: changed Color/Type as Table

Closes #1982

See merge request core-developers/forge!5521
2021-10-08 09:02:03 +00:00
Michael Kamensky
7380de6bb5 Merge branch 'master' into 'master'
[Mobile] Add Replace Card Variant Option for Deck Editor

See merge request core-developers/forge!5520
2021-10-08 09:01:15 +00:00
tool4EvEr
d3a24a93ce Improve mandatory targeting with stuff like Fury, so AI less masochistic 2021-10-08 09:42:29 +02:00
Hans Mackowiak
b83174e6ee Card: changed Color/Type as Table 2021-10-08 07:22:00 +02:00
Anthony Calosa
f867c99113 update 2021-10-08 11:49:29 +08:00
Anthony Calosa
0fb7ea9e00 Merge remote-tracking branch 'core/master' 2021-10-08 11:41:29 +08:00
Anthony Calosa
9061f36a34 [Mobile] Add Replace Card option for Deck Editor 2021-10-08 11:35:58 +08:00
Michael Kamensky
88c29ce2a3 Merge branch 'manifest' into 'master'
Fix ManifestAi

See merge request core-developers/forge!5519
2021-10-08 03:35:54 +00:00
tool4EvEr
34b19c0207 Clean up 2021-10-07 23:38:14 +02:00
Sol
35ee2aa80b Update seismic_shift.txt 2021-10-07 19:59:47 +00:00
Sol
c7d0d65aab Update seismic_shift.txt 2021-10-07 19:59:33 +00:00
tool4EvEr
2b2545d4ae Fix ManifestAi 2021-10-07 21:55:26 +02:00
Michael Kamensky
6e39e698b0 Merge branch 'master' into 'master'
Patch getPaperCardFromImageKey not to crash for the Commander replacement effect

See merge request core-developers/forge!5518
2021-10-07 19:14:48 +00:00
Michael Kamensky
ccc423dd26 - Patch getPaperCardFromImageKey not to crash for the Commander replacement effect 2021-10-07 22:09:53 +03:00
Michael Kamensky
476edd03ea Merge branch 'master' into 'master'
[Mobile] Refactor Targeting Arrows

See merge request core-developers/forge!5515
2021-10-07 13:33:49 +00:00
Michael Kamensky
64a91fd534 Merge branch 'hideaway2' into 'master'
better Hideaway reminder text fix

See merge request core-developers/forge!5516
2021-10-07 13:33:15 +00:00
Michael Kamensky
e9dc4a5442 Merge branch 'fix' into 'master'
tidy up sublime_epiphany.txt

See merge request core-developers/forge!5517
2021-10-07 13:32:35 +00:00
Michael Kamensky
760a25a5fa Merge branch 'sacrifice' into 'master'
getPlayers: use APNAP order

See merge request core-developers/forge!5510
2021-10-07 13:32:12 +00:00
Bug Hunter
ff257f89f7 getPlayers: use APNAP order 2021-10-07 13:32:12 +00:00
Northmoc
7a224548a5 better Hideaway fix 2021-10-07 09:26:54 -04:00
Northmoc
1e83e5364f tidy up sublime_epiphany.txt 2021-10-07 09:10:02 -04:00
Anthony Calosa
3c2f618faf adjust avatar targeting origin 2021-10-07 16:44:55 +08:00
Anthony Calosa
ad939ea3bd [Mobile] Refactor Targeting Arrows
- Added option to use new arrow overlay
2021-10-07 16:22:56 +08:00
Michael Kamensky
cb5f0f360b Merge branch 'hideaway' into 'master'
allow for Watcher for Tomorrow to have correct reminder text

See merge request core-developers/forge!5514
2021-10-07 03:49:39 +00:00
Michael Kamensky
5124c04ce4 Merge branch 'fix' into 'master'
fix wandering_archaic_explore_the_vastlands.txt

See merge request core-developers/forge!5513
2021-10-07 03:49:36 +00:00
Northmoc
63a7b68642 allow for Watcher for Tomorrow to have correct reminder text 2021-10-06 20:18:20 -04:00
Northmoc
3cb322ae5f fix wandering_archaic_explore_the_vastlands.txt 2021-10-06 17:59:41 -04:00
Michael Kamensky
fdb2c87d57 Merge branch 'master' into 'master'
[Mobile] refactor netplay phase indicator

See merge request core-developers/forge!5511
2021-10-06 20:05:55 +00:00
Michael Kamensky
e7f06887f0 Merge branch 'ai' into 'master'
Add ReplaceDamageAi

See merge request core-developers/forge!5512
2021-10-06 20:05:51 +00:00
leriomaggio
fd776a3ae9 Updated Stats Panel to be normal instances, as panel didn't get updated with singletons.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 20:34:08 +01:00
leriomaggio
835b05e573 Added support for corner case to match correct section accounting for unsupported sections.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 20:13:25 +01:00
tool4EvEr
d175f6cb6d Clean up 2021-10-06 20:59:51 +02:00
tool4EvEr
c8ed52a309 Fix NeedsPrevention logic 2021-10-06 18:26:15 +02:00
tool4EvEr
e21871b1e7 Clean up 2021-10-06 18:09:57 +02:00
leriomaggio
c5ac93a12e Heavy refactoring of DeckRecognizer to introduce cardList parsing, allowed sections, and revised TokenTypes
This commit includes a substantial change//integration into main body of DeckRecognizer API.
First off, the types of tokens emitted by recognised as now increased, leaving place to newly specialised WARNING messages, as well as tokens for cards in invalid set or sections. Moreover, a new token for UNSUPPORTED_DECK_SECTION has been introduced, which works in pair with the new extra addition of allowed Deck sections.
This new list of allowed sections is also used whenever a new DeckSection token is created (constructor) so that if the section is not currently supported, an UNSUPPORTED_DECK_SECTION token is emitted instead.

Similarly, the card recognition step has been updated so that now deck validation mechanism has been integrated at the token level. In other words, everytime each card token is now matched to the most correct section, regardless of what's been specified in card list.

Last but not least, DeckRecognizer now includes the method to parse the whole card list (and not just a single line) to better encapsulate all the logics.
Added control to include Banned and Restricted cards, as well as a newly regExp to specify Mana colour tokens using MANA symbols placeholders (e.g. {G} for green).

Tests for new features have been added and internal documentation improved, and old ones updated with new tokens and APIs.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 17:07:29 +01:00
leriomaggio
65001478b7 Heavy refactoring of DeckRecognizer to introduce cardList parsing, allowed sections, and revised TokenTypes
This commit includes a substantial change//integration into main body of DeckRecognizer API.
First off, the types of tokens emitted by recognised as now increased, leaving place to newly specialised WARNING messages, as well as tokens for cards in invalid set or sections. Moreover, a new token for UNSUPPORTED_DECK_SECTION has been introduced, which works in pair with the new extra addition of allowed Deck sections.
This new list of allowed sections is also used whenever a new DeckSection token is created (constructor) so that if the section is not currently supported, an UNSUPPORTED_DECK_SECTION token is emitted instead.

Similarly, the card recognition step has been updated so that now deck validation mechanism has been integrated at the token level. In other words, everytime each card token is now matched to the most correct section, regardless of what's been specified in card list.

Last but not least, DeckRecognizer now includes the method to parse the whole card list (and not just a single line) to better encapsulate all the logics.
Added control to include Banned and Restricted cards, as well as a newly regExp to specify Mana colour tokens using MANA symbols placeholders (e.g. {G} for green).

Tests for new features have been added and internal documentation improved, and old ones updated with new tokens and APIs.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 16:43:24 +01:00
leriomaggio
2e1777265d Specialised Stats for Commander decks
Stats panel now includes card count also for commander deck section (instead of total) for commander (sub)type game format // editor.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 15:54:00 +01:00
leriomaggio
73e5e5095d Setting constants for Localiser Mock so return value is testable
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-06 15:52:35 +01:00
Anthony Calosa
050ecb51bd [Mobile] refactor netplay phase indicator 2021-10-06 21:28:39 +08:00
Anthony Calosa
38f7d1ba83 Merge branch 'master' into 'master'
fix disable card images

See merge request core-developers/forge!5509
2021-10-06 09:47:08 +00:00
Anthony Calosa
eb01aa8e58 phase indicator 2021-10-06 17:46:00 +08:00
Anthony Calosa
0c2b0b3d9a fix disable card images 2021-10-06 17:33:02 +08:00
tool4EvEr
24f84c2835 Add ReplaceDamageAi 2021-10-06 10:10:47 +02:00
tool4EvEr
c65aa86f6b Clean up 2021-10-06 10:10:19 +02:00
Hans Mackowiak
164784fdad Update the_bears_of_littjara: fix SpellDescription 2021-10-06 07:28:51 +00:00
Michael Kamensky
a8115d8a44 Merge branch 'refrain' into 'master'
Add AI for Rousing Refrain

See merge request core-developers/forge!5508
2021-10-05 18:31:46 +00:00
tool4EvEr
8ea9eb6118 Add AI for Rousing Refrain 2021-10-05 20:16:34 +02:00
Anthony Calosa
27b0fb3247 Merge branch 'master' into 'master'
move back the targeting arrows so they wouldn't drawn on top of the game menu overlay

See merge request core-developers/forge!5507
2021-10-05 14:18:30 +00:00
Anthony Calosa
df100b5b77 move back the targeting arrows so they wouldn't drawn on top of the game menu overlay 2021-10-05 22:15:54 +08:00
Anthony Calosa
48d5d7112a Merge branch 'master' into 'master'
unused import

See merge request core-developers/forge!5506
2021-10-05 08:17:50 +00:00
Anthony Calosa
7edab67dd1 unused import 2021-10-05 16:17:09 +08:00
Anthony Calosa
6949cb0cb6 Merge branch 'master' into 'master'
move indicators and arrows out of drawoverlay

See merge request core-developers/forge!5505
2021-10-05 08:09:29 +00:00
Anthony Calosa
3c78e6b1b2 move indicators and arrows out of drawoverlay 2021-10-05 16:07:49 +08:00
Anthony Calosa
8b63c71a05 Merge branch 'master' into 'master'
minor adjustments

See merge request core-developers/forge!5504
2021-10-05 06:34:46 +00:00
Anthony Calosa
a1ff670df2 minor adjustments 2021-10-05 14:33:51 +08:00
Michael Kamensky
31ad3bf7a5 Merge branch 'master' into 'master'
[Mobile] Fix targeting arrows on Netplay

See merge request core-developers/forge!5502
2021-10-05 06:16:02 +00:00
Anthony Calosa
30c5ef6aeb remove unused vars 2021-10-05 14:08:32 +08:00
Anthony Calosa
ca0a012106 Merge remote-tracking branch 'core/master' 2021-10-05 14:04:34 +08:00
Anthony Calosa
7c24c529fa [Mobile] Fix targeting arrows on Netplay. 2021-10-05 14:03:08 +08:00
Anthony Calosa
3de2410280 Merge branch 'master' into 'master'
# fix Cleanup Phase Highlight

See merge request core-developers/forge!5501
2021-10-05 05:07:10 +00:00
Anthony Calosa
eafd04c6e6 # fix Cleanup Phase Highlight
- todo: find out why this is needed, something is affecting the getplayerturn on every eot..
2021-10-05 13:05:10 +08:00
Michael Kamensky
04ceec158a Merge branch 'master' into 'master'
Added puzzle PS_MID1 - Possibility Storm - Innistrad Midnight Hunt 01

See merge request core-developers/forge!5500
2021-10-05 04:55:17 +00:00
Michael Kamensky
d444c7ec82 - Added puzzle PS_MID1. 2021-10-05 07:54:28 +03:00
Michael Kamensky
0416240809 Merge branch 'master' into 'master'
Attempt to fix FightAi for Back for More.

See merge request core-developers/forge!5497
2021-10-05 04:06:50 +00:00
Michael Kamensky
94d8342279 - Remove unintended commit. 2021-10-05 07:06:31 +03:00
Michael Kamensky
baff2a5486 - Minor change to the code. 2021-10-05 07:04:43 +03:00
Michael Kamensky
9ced0e0d76 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-10-05 07:02:29 +03:00
Michael Kamensky
fd41a0c00f Merge branch 'combo' into 'master'
Fix Combo Attack

See merge request core-developers/forge!5499
2021-10-05 04:01:43 +00:00
tool4EvEr
2435111048 Fix Combo Attack 2021-10-04 23:06:13 +02:00
Anthony Calosa
693d5c4597 Merge branch 'master' into 'master'
[Mobile] fix accuracy for mouse hover

See merge request core-developers/forge!5498
2021-10-04 20:27:13 +00:00
Anthony Calosa
58403fde5b [Mobile] fix accuracy for mouse hover 2021-10-05 04:25:50 +08:00
Michael Kamensky
fe60e5ef31 - Attempt to fix FightAi for Back for More, part 2. 2021-10-04 23:04:11 +03:00
Michael Kamensky
40af8ba071 - Attempt to fix FightAi for Back for More. 2021-10-04 23:03:37 +03:00
Bug Hunter
5bd6be02c6 Merge branch 'aifix' into 'master'
Fix DamageDealAi when not targeting players

See merge request core-developers/forge!5496
2021-10-04 19:53:52 +00:00
tool4EvEr
34fdad4379 Fix DamageDealAi when not targeting players 2021-10-04 21:54:13 +02:00
Michael Kamensky
c6e072cc1a Merge branch 'master' into 'master'
Fix imports.

See merge request core-developers/forge!5495
2021-10-04 19:24:50 +00:00
Michael Kamensky
4885898588 - Fix imports. 2021-10-04 22:24:14 +03:00
Michael Kamensky
2aa70f7dc3 Merge branch 'suspend' into 'master'
Fix Quicken + Suspend

See merge request core-developers/forge!5494
2021-10-04 18:09:53 +00:00
tool4EvEr
4470cdc0bf Don't allow suspend when Split Second 2021-10-04 18:31:13 +02:00
TRT
8e35f0b4ce Clean up 2021-10-04 17:19:15 +02:00
TRT
d24bbf1979 Cleanup usesTargeting 2021-10-04 17:13:37 +02:00
TRT
68f3879f11 Fix Quicken + Suspend 2021-10-04 14:05:13 +02:00
Michael Kamensky
ecf1843922 Merge branch 'aifix' into 'master'
Improvements for Oath of Mages, Grimoire Thief & Tyrant of Discord

See merge request core-developers/forge!5493
2021-10-04 03:44:53 +00:00
tool4EvEr
42b6d39726 Improvements for Oath of Mages, Grimoire Thief & Tyrant of Discord 2021-10-04 00:51:34 +02:00
Anthony Calosa
97b5100fc9 Merge branch 'master' into 'master'
update TrackableProperty

See merge request core-developers/forge!5492
2021-10-03 09:58:45 +00:00
Anthony Calosa
194b4b2128 update TrackableProperty 2021-10-03 17:57:40 +08:00
Michael Kamensky
fc1a291bdc Merge branch 'master' into 'master'
Fix local Multiplayer Phase Indicator

See merge request core-developers/forge!5491
2021-10-03 04:32:42 +00:00
Michael Kamensky
fbb7ce8938 Merge branch 'npe' into 'master'
Fix NPE when attaching aura with Genesis Hydra

See merge request core-developers/forge!5488
2021-10-03 04:32:21 +00:00
Anthony Calosa
64c7e5b5cb update empty stack not hidden on local multiplayer 2021-10-03 11:32:48 +08:00
tool4EvEr
50c5d479e6 copyLastState must happen before any move 2021-10-02 21:52:01 +02:00
leriomaggio
88ec398e8c Changed API to make isSectionImportable public rather than protected
This is to allow DeckImport to get all the supported DeckSections in current editor, without relying on using the content of the cbxSection dropdown UI component.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-02 08:27:27 +01:00
leriomaggio
f065d460c3 Updated Parameter cast to pass in DeckImport Constructor
DeckImport will now get an instance of the CDeckEditor rather than the more generic ACEditorBase.
This is to allow more refined access to methods. Also, all lives in forge-gui-desktop, therefore there should be no conflict with mobile app ui.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-02 08:25:47 +01:00
leriomaggio
08ca0bf175 Improved implementation of DeckSection Matching
Previous implementation was lacking to check for commander section, plus re-used the code of validators. This one is a refined and refactored implementation.

Note: as default, the method will always return Main, as there is no possibility, in general, to say whether Sideboard should be preferred instead - without any other knowledge about the deck.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-02 07:38:17 +01:00
Anthony Calosa
3bf4c33044 Fix local Multiplayer Phase Indicator 2021-10-02 13:56:40 +08:00
Michael Kamensky
2cec5db777 Merge branch 'twosat-master-patch-24386' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5490
2021-10-02 03:52:32 +00:00
Andreas Bendel
13e1840da0 Update de-DE.properties
GrayText translation
2021-10-01 21:02:52 +00:00
Michael Kamensky
10a21fb1a6 Merge branch 'johnwilliams7-master-patch-48251' into 'master'
Update Pro Tour Promos.txt

See merge request core-developers/forge!5489
2021-10-01 20:27:47 +00:00
John Williams
356e9ff477 Update Pro Tour Promos.txt 2021-10-01 19:57:12 +00:00
Michael Kamensky
bb421ea2e6 Merge branch 'gray_text' into 'master'
Gray text preference

See merge request core-developers/forge!5485
2021-10-01 17:09:36 +00:00
tool4EvEr
c1fa46df39 Fix NPE when attaching aura with Genesis Hydra 2021-10-01 18:51:14 +02:00
leriomaggio
65b7df63f7 Extended support to log both unknown and unsupported cards.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-10-01 17:00:47 +01:00
Michael Kamensky
f452e86221 Merge branch 'aifix' into 'master'
EffectAi: fix logic for targeting spells for prevent

See merge request core-developers/forge!5487
2021-10-01 14:54:31 +00:00
tool4EvEr
9a4b60aaf5 Fix targeting 2021-10-01 16:32:47 +02:00
tool4EvEr
781de0fd5a Clean up 2021-10-01 16:28:03 +02:00
Michael Kamensky
cda73ae992 Merge branch 'austeregrim-add-m4a-music-filter' into 'master'
Update forge-gui/src/main/java/forge/sound/MusicPlaylist.java

See merge request core-developers/forge!5484
2021-10-01 03:42:33 +00:00
Northmoc
0d13edd84e clean up a few things 2021-09-30 22:13:19 -04:00
Northmoc
c73395e98b add prompts in all languages 2021-09-30 22:04:39 -04:00
Northmoc
c2dfde32fb implement preference in getAbilityText 2021-09-30 22:01:05 -04:00
Northmoc
aa0b390cde GameRules set up useGrayText boolean 2021-09-30 22:00:33 -04:00
Northmoc
7a86f84d0d add the pref to different rules sets 2021-09-30 22:00:02 -04:00
Northmoc
b3a7a8aecf add the pref to different rules sets 2021-09-30 21:59:45 -04:00
Northmoc
0c7b0621cd note for mobile version pref handling 2021-09-30 12:53:59 -04:00
Michael Kamensky
e131ad1f2c Merge branch 'master' into 'master'
Fix imports.

See merge request core-developers/forge!5486
2021-09-30 16:25:41 +00:00
Michael Kamensky
e02168b3e4 - Fix imports. 2021-09-30 19:25:14 +03:00
Northmoc
36a8c93bc8 setting up the pref 2021-09-30 12:21:52 -04:00
Northmoc
d4e0202e20 ForgePreferences 2021-09-30 12:21:51 -04:00
Austere Grim
2e27a95f3e Update forge-gui/src/main/java/forge/sound/MusicPlaylist.java 2021-09-30 16:20:15 +00:00
Anthony Calosa
080bd7324b Merge branch 'master' into 'master'
Add Foretold Event

See merge request core-developers/forge!5483
2021-09-30 13:48:46 +00:00
Anthony Calosa
54ee4d451e Merge remote-tracking branch 'remotes/core/master' 2021-09-30 21:46:47 +08:00
Anthony Calosa
ca3e19c289 Add Foretold Event
When a player foretolds a card, the exile is shown
2021-09-30 21:45:40 +08:00
Michael Kamensky
abf498f746 Merge branch 'klaxnek-master-patch-82600' into 'master'
Update es-ES.properties (translated lblShowBattlefield)

See merge request core-developers/forge!5481
2021-09-30 12:44:29 +00:00
Michael Kamensky
8a31f74bdf Merge branch 'languageinnistrad' into 'master'
Updated card translations (Innistrad)

See merge request core-developers/forge!5482
2021-09-30 12:44:25 +00:00
klaxnek
11fb7fd296 Updated card translations (Innistrad) 2021-09-30 14:14:14 +02:00
klaxnek
c63519b644 Update es-ES.properties (translated lblShowBattlefield) 2021-09-30 10:14:31 +00:00
leriomaggio
c3f2c820be Re-enabled card image auto-download and better imagePanel alpha for disabled cards
CardPicturePanel now supports back auto-download of card image whenever a placeholder image is being used. This has been enabled for PaperCard instances only, and currently being activated from DeckImport UI. This change won't affect in any way the deck editor as card image is being downloaded from catalog.

Also, the alpha level set to image panel has been now set to 0.5 to control grey-coloured overlay.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-30 07:06:05 +01:00
leriomaggio
1a8347805c Improved overlay effect to display "disabled" cards
The "disabled" card effect will be used in Deck Import to show the preview of those cards that won't be imported in the deck. The new improved overlay effect has been achieved by adding a grey colour to image with alpha.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-30 07:02:50 +01:00
Anthony Calosa
623525146f Merge branch 'master' into 'master'
[Mobile] Disable mouse events for Android

See merge request core-developers/forge!5480
2021-09-30 05:49:14 +00:00
Anthony Calosa
cbaaf381ed Merge remote-tracking branch 'remotes/core/master' 2021-09-30 13:47:52 +08:00
Anthony Calosa
e06a97a6db [Mobile] Disable mouse events for Android
- should have a mouse hotplug detection
2021-09-30 13:47:19 +08:00
leriomaggio
7be8c1bf2a New method in ImageCache to get the full info of a card original image (img + is_placeholder)
ImageCache now includes a new method to get the full info pair (image, placeHolderFlag) when retrieving a card image.
This will be used in CardPicturePanel to re-enable support for auto-download now that default image is not being used anymore.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-30 06:36:32 +01:00
Michael Kamensky
9438299590 Merge branch 'master' into 'master'
ChangeZoneAi: don't return a legend to the battlefield if another is already present.

See merge request core-developers/forge!5479
2021-09-30 05:28:53 +00:00
Michael Kamensky
cd0659d518 - ChangeZone: don't return a legend to the battlefield if another is already present. 2021-09-30 08:28:11 +03:00
Michael Kamensky
52c78eca90 Merge branch 'master' into 'master'
[Mobile] Only respond to abilities on stack with Y/N keyboard shortcuts

See merge request core-developers/forge!5478
2021-09-30 05:12:23 +00:00
Michael Kamensky
4d95708065 - [Mobile] Only respond to abilities on stack with Y/N keyboard shortcuts 2021-09-30 08:11:51 +03:00
Michael Kamensky
1319c90c8b Merge branch 'master' into 'master'
Basic support for auto-yield keyboard shortcuts on mobile Forge (Y / N)

See merge request core-developers/forge!5477
2021-09-30 04:51:14 +00:00
Michael Kamensky
d1af3ccd4d - Minor clarification for Y/N shortcuts. 2021-09-30 07:50:59 +03:00
Michael Kamensky
a3e5ae1999 - Basic support for auto-yield keyboard shortcuts on mobile Forge (Y / N) 2021-09-30 07:48:04 +03:00
Anthony Calosa
bea555ce0f Merge branch 'master' into 'master'
[Mobile] minor update

See merge request core-developers/forge!5476
2021-09-30 04:26:45 +00:00
Anthony Calosa
ac10b94412 [Mobile] Remove unsupported libs
As of LibGDX 1.10.0, armeabi support is dropped (android ARMv5). https://libgdx.com/news/2021/04/the-ultimate-migration-guide
2021-09-30 12:23:39 +08:00
Anthony Calosa
4f8fb837e6 Merge remote-tracking branch 'remotes/core/master' 2021-09-30 12:20:02 +08:00
Anthony Calosa
100eb19bd1 [Mobile] Update LobbyScreen
-switch places of variants and players combo boxes for landscape layout
2021-09-30 12:15:31 +08:00
Michael Kamensky
d97f3cdd9f Merge branch 'master' into 'master'
Drop the Alpha bs on Mobile Forge (hasn't been true for a long time)

See merge request core-developers/forge!5475
2021-09-30 04:13:25 +00:00
Michael Kamensky
77ed2db604 - Drop the Alpha bs on Mobile Forge (hasn't been true for a long time) 2021-09-30 07:12:55 +03:00
Michael Kamensky
0ed61fcee7 Merge branch 'draw_reveal' into 'master'
tweak Sindbad effect to reveal drawn to player before discard

See merge request core-developers/forge!5473
2021-09-30 03:42:18 +00:00
Anthony Calosa
e4c720e8c2 Merge branch 'master' into 'master'
[Mobile] Fix cards hovered on MatchScreen

See merge request core-developers/forge!5474
2021-09-30 00:51:28 +00:00
Anthony Calosa
c943386ca8 [Mobile] Fix cards hovered on MatchScreen 2021-09-30 08:49:15 +08:00
Northmoc
cf2086a79b tweak Sindbad effect to reveal drawn to player before discard 2021-09-29 19:35:42 -04:00
Michael Kamensky
f33010b9d7 Merge branch 'twosat-master-patch-61985' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5472
2021-09-29 19:03:06 +00:00
Andreas Bendel
1a8ab764fe Update de-DE.properties
translated lblShowBattlefield
2021-09-29 18:47:06 +00:00
Anthony Calosa
82e163aa95 Merge branch 'master' into 'master'
[Mobile] reset hovered when mouseMoved

See merge request core-developers/forge!5471
2021-09-29 12:11:18 +00:00
Anthony Calosa
4939e18d2c [Mobile] reset hovered when mouseMoved 2021-09-29 20:10:19 +08:00
Michael Kamensky
b3d0e1c81d Merge branch 'custom-sound-fx' into 'master'
Auto-detect custom sound files for cards if they exist

See merge request core-developers/forge!5468
2021-09-29 11:01:14 +00:00
Michael Kamensky
3458a3adea Merge branch 'master' into 'master'
[Mobile] enable mouseMoved and update some selectable element

See merge request core-developers/forge!5470
2021-09-29 10:44:33 +00:00
Michael Kamensky
a367d6dbc4 Merge branch 'pir' into 'master'
Fix AssignGroup skipping triggers

See merge request core-developers/forge!5469
2021-09-29 09:50:28 +00:00
Anthony Calosa
660d827c54 [Mobile] enable mouseMoved and update some selectable element 2021-09-29 17:42:03 +08:00
TRT
cc2cb8cdd1 Fix AssignGroup skipping triggers 2021-09-29 11:26:42 +02:00
leriomaggio
3e3cdc6808 Remove duplicated code to align all card tokens to have the same message.
All card tokens (those having an instance of PaperCard set) now share the same message with no code duplication.
The message has been also update - and so corresponding tests - to include set code in square brackets, and collector number (identified by sharp symbol).
This change will also simplify token formatting in Deck import.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-29 08:03:39 +01:00
leriomaggio
1020c8d0f0 Added support for "include BnR" check from UI
Now statistics do also support to account for any "Limited Card"-Type token found in the list, if the flag to include them is set to true.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-29 07:34:25 +01:00
leriomaggio
c9faba36a9 Change to isCardType Matching: from contains to startswith
This is to avoid matching things like "island" as a "land" card type token

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-29 07:30:55 +01:00
Michael Kamensky
0454786545 - Auto-detect custom sound files for cards if they exist. 2021-09-29 09:30:53 +03:00
Michael Kamensky
9a7fe7c4f0 Merge branch 'tapcap' into 'master'
Fix some tap-related capitalization issues

See merge request core-developers/forge!5463
2021-09-29 03:49:05 +00:00
Michael Kamensky
37837810bb Merge branch 'fix' into 'master'
blood_lust.txt streamline

See merge request core-developers/forge!5464
2021-09-29 03:48:48 +00:00
Michael Kamensky
f86018817e Merge branch 'cleanup' into 'master'
Cleanup Duel for Dominance

See merge request core-developers/forge!5466
2021-09-29 03:48:26 +00:00
Michael Kamensky
e7427b9836 Merge branch 'master' into 'master'
Update simplified chinese translation

See merge request core-developers/forge!5467
2021-09-29 03:47:31 +00:00
Michael Kamensky
fded22318f Merge branch 'lynde' into 'master'
MIC: Lynde and support

See merge request core-developers/forge!5451
2021-09-29 03:47:17 +00:00
CCTV-1
88a18af329 translate new settings. 2021-09-29 11:13:04 +08:00
tool4EvEr
756dbf08c1 Cleanup Duel for Dominance 2021-09-28 23:15:25 +02:00
Northmoc
9e84e2b359 implement specific isAttachedTo 2021-09-28 16:42:33 -04:00
Northmoc
78e2998cc6 support "RememberAttached" 2021-09-28 16:42:33 -04:00
Northmoc
e25a966abc lynde_cheerful_tormentor.txt 2021-09-28 16:42:32 -04:00
Northmoc
4cfe47901c blood_lust.txt streamline 2021-09-28 16:35:31 -04:00
Northmoc
39c96322f8 fix capitalization in prompts 2021-09-28 14:36:20 -04:00
Northmoc
6ffd8e28a3 capitalize the tap button! 2021-09-28 14:26:09 -04:00
Michael Kamensky
63bfa9aefb Merge branch 'master' into 'master'
Improve scripted sound effect support

See merge request core-developers/forge!5461
2021-09-28 05:07:40 +00:00
Michael Kamensky
286fabdeb9 - Improve scripted sound effect support. 2021-09-28 08:06:12 +03:00
Michael Kamensky
962a99f38d Merge branch 'mic_26' into 'master'
MIC - 27 Sep

See merge request core-developers/forge!5450
2021-09-28 03:42:23 +00:00
Michael Kamensky
4d315c2c07 Merge branch 'announce' into 'master'
allow for multi-word AnnounceTitle when the VarName won't do

See merge request core-developers/forge!5460
2021-09-28 03:42:01 +00:00
Michael Kamensky
7ab272e11a Merge branch 'fixai' into 'master'
Fix predictThreatenedObjects

See merge request core-developers/forge!5459
2021-09-28 03:41:39 +00:00
Northmoc
3a52c711bf primitive_justice.txt - add AnnounceTitle 2021-09-27 18:13:00 -04:00
Northmoc
3cec314b9a allow for multi-word AnnounceTitle when the VarName won't do 2021-09-27 18:11:23 -04:00
tool4EvEr
666796c906 Clean up 2021-09-27 23:17:42 +02:00
Michael Kamensky
c39f71bf94 Merge branch 'nickname' into 'master'
Nickname improvements

See merge request core-developers/forge!5457
2021-09-27 20:31:56 +00:00
tool4EvEr
c00732f3bb Fix predictThreatenedObjects 2021-09-27 22:20:54 +02:00
leriomaggio
1267136dc9 Updated on new TokenType for Legal Cards.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-27 18:53:37 +01:00
leriomaggio
45114fc7e0 DeckRecognizer (and Tokens) extended with support for Banned and Restricted Cards
TokenType instantiated by the DeckRecognizer have been further specialised and extended to also include Banned and Restricted Cards.
Therefore, controls when recognising cards has also been extended and improved.

Now DeckRecognizer include specific extensions for additional constraints imposed by Game Format, Deck Format, release date and art preference. Consequently, all methods used to retrieve cards from CardDb have been updated accordingly, using recognizer settings.

Test suite has been updated accordingly - and all tests re-organised with comments for better code navigation.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-27 18:53:04 +01:00
Michael Kamensky
baf1b11785 Merge branch 'costfix' into 'master'
better build for SubCounter<All

See merge request core-developers/forge!5456
2021-09-27 17:25:57 +00:00
Anthony Calosa
993eb634da Merge branch 'master' into 'master'
[Mobile] Update fix for exiled facedown

See merge request core-developers/forge!5458
2021-09-27 17:23:33 +00:00
Anthony Calosa
99c7743e46 Merge remote-tracking branch 'remotes/core/master' 2021-09-28 01:23:07 +08:00
Anthony Calosa
80e9830395 [Mobile] Update fix for exiled facedown
take into account the sleeves selected for other exiled facedown that are not foretold..
2021-09-28 01:20:08 +08:00
Northmoc
d4e1d3020a better build for SubCounter<All 2021-09-27 13:09:41 -04:00
Michael Kamensky
b707a23710 Merge branch 'master' into 'master'
MayView improvement for Foretell on desktop Forge.

See merge request core-developers/forge!5455
2021-09-27 17:07:14 +00:00
Michael Kamensky
c0efa887f4 - MayView improvement for Foretell on desktop Forge. 2021-09-27 20:06:45 +03:00
Northmoc
93ca04b2aa improved cardscripts 2021-09-27 13:05:49 -04:00
Northmoc
40e9f13806 better regex 2021-09-27 13:02:52 -04:00
Anthony Calosa
1f9048091e Merge branch 'master' into 'master'
[Mobile] Fix zoom foretell

See merge request core-developers/forge!5454
2021-09-27 16:48:37 +00:00
Anthony Calosa
4c8cc195cf Merge remote-tracking branch 'remotes/core/master' 2021-09-28 00:47:02 +08:00
Anthony Calosa
d114af3a0b fix zoom for foretold 2021-09-28 00:45:11 +08:00
Michael Kamensky
0b649270e4 Merge branch 'fixes' into 'master'
goldspan_dragon.txt fix Desc

See merge request core-developers/forge!5453
2021-09-27 15:49:32 +00:00
Northmoc
f253f50787 goldspan_dragon.txt fix Desc 2021-09-27 11:47:51 -04:00
Northmoc
d179d7512e prowling_geistcatcher.txt improve 2021-09-27 11:38:45 -04:00
Michael Kamensky
a615a2cbed Merge branch 'fixes' into 'master'
remove unneeded

See merge request core-developers/forge!5452
2021-09-27 15:22:16 +00:00
Northmoc
8ca4ecab90 bunch of MIC cards from Marvel 2021-09-27 11:17:35 -04:00
Northmoc
fb09401ca3 remove unneeded 2021-09-27 10:47:50 -04:00
Anthony Calosa
a98e5510c6 Merge branch 'master' into 'master'
[Mobile] update gdx libs 1.10.0

See merge request core-developers/forge!5449
2021-09-27 05:45:55 +00:00
Anthony Calosa
3ff1a86aed [Mobile] update gdx libs 1.10.0 2021-09-27 13:44:13 +08:00
Anthony Calosa
73995fbde6 Merge branch 'master' into 'master'
Outlinedtext for better visibility when animating life gained/loss

See merge request core-developers/forge!5448
2021-09-27 04:05:36 +00:00
Anthony Calosa
939779e847 Outlinedtext for better visibility when animating life gained/loss 2021-09-27 12:04:25 +08:00
Michael Kamensky
53162d45da Merge branch 'foreach' into 'master'
Fix Clarion Ultimatum and co.

Closes #1980

See merge request core-developers/forge!5446
2021-09-27 03:50:57 +00:00
Michael Kamensky
186efc854a Merge branch 'fixes' into 'master'
Fixes

See merge request core-developers/forge!5447
2021-09-27 03:49:55 +00:00
Northmoc
964da6ac0a stonewise_fortifier.txt remove unneeded IsCombat 2021-09-26 20:15:45 -04:00
Northmoc
7d1c9c8ac3 kurbis_harvest_celebrant.txt prevention as replacement effect instead of keyword 2021-09-26 20:15:10 -04:00
Northmoc
1938e65d9c call keywordsToText only once 2021-09-26 20:12:40 -04:00
Northmoc
7114329586 add ActiveZones to LifeReduced replacement effects 2021-09-26 20:04:02 -04:00
Northmoc
020d40bc5c fix Will -3 2021-09-26 20:03:27 -04:00
Northmoc
d1a0d703fe support "QuasiLibrarySearch" to pick multiple cards from libraries for ChangeZone effects 2021-09-26 17:21:53 -04:00
Northmoc
b76f2d4705 support "Searched" for cards that quasi-search many times, then change Defined 2021-09-26 17:21:52 -04:00
Northmoc
bca8f9457f dichotomancy.txt improve 2021-09-26 17:21:52 -04:00
Northmoc
8306361607 doubling_chant.txt improve 2021-09-26 17:21:51 -04:00
Northmoc
21536abda7 clarion_ultimatum.txt improve 2021-09-26 17:21:51 -04:00
Hans Mackowiak
fd9ffbb84b Merge branch '1964-red-mana-battery-should-be-2-steps' into 'master'
Resolve "Red Mana Battery should be 2 steps"

Closes #1964

See merge request core-developers/forge!5436
2021-09-26 20:23:52 +00:00
Hans Mackowiak
c5dc50fc38 Mana Battery: better coding for ManaRitualBattery 2021-09-26 22:23:25 +02:00
Bug Hunter
17c925267d Merge branch 'soulecho' into 'master'
AI: Small fix for Soul Echo

See merge request core-developers/forge!5445
2021-09-26 19:24:08 +00:00
tool4EvEr
6ba50a9381 AI: Small fix for Soul Echo 2021-09-26 21:23:14 +02:00
Michael Kamensky
dbc3fbdb69 Merge branch 'twosat-master-patch-17025' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5444
2021-09-26 18:20:51 +00:00
Andreas Bendel
e937da8f82 Update de-DE.properties
translated new lblChooseCreatureWith strings
2021-09-26 18:14:44 +00:00
Michael Kamensky
3f1af977a0 Merge branch 'master' into 'master'
Improve AI logic for Cleaver Skaab.

See merge request core-developers/forge!5443
2021-09-26 18:02:41 +00:00
Michael Kamensky
66636a47b8 - Improve AI logic for Cleaver Skaab. 2021-09-26 21:01:58 +03:00
Michael Kamensky
00dba3b946 Merge branch 'mic_25' into 'master'
MIC - 25 Sep

See merge request core-developers/forge!5438
2021-09-26 17:55:08 +00:00
Michael Kamensky
8755cebaa3 Merge branch 'sacz' into 'master'
MIC: Some "sacrifice Zombie" cards

See merge request core-developers/forge!5440
2021-09-26 17:53:36 +00:00
Michael Kamensky
4ba9472a60 Merge branch 'discard' into 'master'
DiscardAi: Improve targeting

See merge request core-developers/forge!5441
2021-09-26 17:48:55 +00:00
Michael Kamensky
3967814f0b Merge branch 'master' into 'master'
Fix Lotus Cobra.

See merge request core-developers/forge!5442
2021-09-26 15:58:57 +00:00
Michael Kamensky
6c64483c2a - Fix Lotus Cobra. 2021-09-26 18:58:13 +03:00
tool4EvEr
889c5fbf86 Improve targeting 2021-09-26 17:53:41 +02:00
Northmoc
9864b0c880 empty_the_laboratory.txt 2021-09-26 11:38:12 -04:00
Northmoc
593ccf2264 ravenous_rotbelly.txt 2021-09-26 11:37:54 -04:00
Michael Kamensky
90f7d32b7c Merge branch 'master' into 'master'
Add 2 XMage cubes, update some other cubes.

See merge request core-developers/forge!5439
2021-09-26 14:46:08 +00:00
Michael Kamensky
6d64381539 - Add 2 XMage cubes, update some other cubes. 2021-09-26 17:44:05 +03:00
Michael Kamensky
eceb60d4a2 Merge branch 'aifix' into 'master'
Fix Pinnacle of Rage

See merge request core-developers/forge!5437
2021-09-26 13:45:19 +00:00
Michael Kamensky
6cd701bb04 Merge branch 'dif_pow' into 'master'
MIC: Celestial Judgment, Sigarda's Vanguard, Sigardian Zealot – and support

See merge request core-developers/forge!5418
2021-09-26 13:43:59 +00:00
Northmoc
82c06711e5 drown_in_dreams.txt 2021-09-26 08:57:37 -04:00
Northmoc
6894a2cca5 enable Charm mode StackDescriptions 2021-09-26 08:56:30 -04:00
Northmoc
3799505e35 cleaver_skaab.txt 2021-09-26 08:48:42 -04:00
tool4EvEr
1331e0ca40 Fix Pinnacle of Rage 2021-09-26 13:08:25 +02:00
Michael Kamensky
4909a1983c Merge branch 'klaxnek-master-patch-87216' into 'master'
Update es-ES.properties (AnimatedCardTapUntap text)

See merge request core-developers/forge!5433
2021-09-26 10:35:54 +00:00
Michael Kamensky
b023a14692 Merge branch 'master' into 'master'
[Mobile] Update Avatar Life Loss/Gain Animation

See merge request core-developers/forge!5435
2021-09-26 10:35:40 +00:00
Anthony Calosa
da61ae7fac [Mobile] Update Avatar Life Loss/Gain Animation 2021-09-26 17:13:53 +08:00
Hans Mackowiak
988f92e8b7 Merge branch 'changezone' into 'master'
Fix Animate Dead

See merge request core-developers/forge!5434
2021-09-26 08:52:54 +00:00
tool4EvEr
dbad0451dc Fix Animate Dead 2021-09-26 10:48:29 +02:00
klaxnek
c2e33519f7 Update es-ES.properties (AnimatedCardTapUntap text) 2021-09-26 08:05:39 +00:00
Michael Kamensky
2d4d8940c5 Merge branch 'attachRework' into 'master'
Attach rework

Closes #1447

See merge request core-developers/forge!5059
2021-09-26 03:37:05 +00:00
Hans Mackowiak
6f5a2ccd67 Attach rework 2021-09-26 03:37:04 +00:00
Michael Kamensky
b6b4fc70b5 Merge branch 'master' into 'master'
[Mobile] Refactor Player Turn/Priority Indicator

See merge request core-developers/forge!5432
2021-09-26 03:36:54 +00:00
Michael Kamensky
7331507214 Merge branch 'fix-ui-desktop-adds-lands-dialog' into 'master'
Quick Fix and Improvements to AddBasicLandsDialog

See merge request core-developers/forge!5431
2021-09-26 03:35:01 +00:00
Anthony Calosa
6ea4c6a084 [Mobile] Refactor Player Turn/Priority Indicator 2021-09-26 10:33:52 +08:00
leriomaggio
a576085e79 Merge remote-tracking branch 'upstream/master' into fix-ui-desktop-adds-lands-dialog 2021-09-26 00:36:29 +01:00
leriomaggio
76b19cc8a4 Quick FIX to AddBasicLandsDialog
This FIX includes:
- improvements to general UI for better rendering;
- full added support to localisation
- CardEditions in ComboBox are now sorted (using getSortedEditions) in descending order, from recent first.
- inverted order of + and - button (IMHO more intuitive)
2021-09-26 00:33:34 +01:00
leriomaggio
56358ecbde When current deck is Empty, CardEdition returned is not ZEN anymore but one depending on current Art Preference 2021-09-26 00:30:17 +01:00
leriomaggio
2e35935aca new Predicate to get CardEdition with Basic Lands based on Art Preference
A new CardEdition.Predicates has been added to return the CardEdition with all basic lands according to current default Card Art Preference.
This predicate will be used in DeckProxy to getDefaultSet whenever None is specified.
Moreover, quick fix to javadoc and made "isCustomEditions" final.
2021-09-26 00:29:28 +01:00
Michael Kamensky
baa415723b Merge branch 'master' into 'master'
Mistype fix.

See merge request core-developers/forge!5430
2021-09-25 17:36:36 +00:00
Michael Kamensky
a320ef24c2 - Mistype fix. 2021-09-25 20:36:03 +03:00
Northmoc
e62044ef04 shadow_kin.txt 2021-09-25 09:36:55 -04:00
Anthony Calosa
ee5ede38d4 Merge branch 'master' into 'master'
[Mobile] Minor fixes

See merge request core-developers/forge!5429
2021-09-25 09:50:59 +00:00
Anthony Calosa
bf5aadf1cf [Mobile] Prevent card animation while moving FScroller
- prevents confusion for tapping and untapping permanents automatically since the card animation needs update when drawn.
2021-09-25 17:37:03 +08:00
Anthony Calosa
af2d02e9f2 #Update Meld Transform 2021-09-25 17:34:36 +08:00
Anthony Calosa
215268cf81 [Mobile] Clear Stagnant Matches screen 2021-09-25 17:32:09 +08:00
Anthony Calosa
45e1ff0494 Merge branch 'venture' into 'master'
VentureAi: Fix NPE

See merge request core-developers/forge!5428
2021-09-25 09:28:36 +00:00
tool4EvEr
7f4d71842f Fix NPE 2021-09-25 11:24:41 +02:00
Michael Kamensky
88027d39e2 Merge branch 'master' into 'master'
Fix "Assorted Card Art" in the generate basic lands dialog.

See merge request core-developers/forge!5427
2021-09-25 06:51:42 +00:00
Michael Kamensky
49d35d909d - Fix "Assorted Card Art" in the generate basic lands dialog. 2021-09-25 09:49:29 +03:00
Michael Kamensky
0abbedbc95 Merge branch 'kurbis' into 'master'
MIC: Kurbis, Harvest Celebrant and cost tweak

See merge request core-developers/forge!5426
2021-09-25 05:06:21 +00:00
Michael Kamensky
cbc60e3071 Merge branch 'gorex' into 'master'
MIC: Gorex, the Tombshell and some stringbuilder updates

See merge request core-developers/forge!5425
2021-09-25 05:06:02 +00:00
Michael Kamensky
e5269a1f7f Merge branch 'fixes' into 'master'
Fixes

Closes #1977 and #1976

See merge request core-developers/forge!5422
2021-09-25 05:05:30 +00:00
Michael Kamensky
5c209ae380 Merge branch 'troupe' into 'master'
Fix AI for Ludevic

See merge request core-developers/forge!5424
2021-09-25 05:05:22 +00:00
Northmoc
e04af38625 triumphant_adventurer.txt fix 2021-09-24 21:48:57 -04:00
Northmoc
d06de1ec85 CostRemoveCounter allow for NICKNAME in desc 2021-09-24 19:44:13 -04:00
Northmoc
734545c2b3 kurbis_harvest_celebrant.txt 2021-09-24 19:43:03 -04:00
Northmoc
d0ddbf07a0 gorex_the_tombshell.txt 2021-09-24 18:34:51 -04:00
Northmoc
50a713365c CostExile support X as amount to exile 2021-09-24 17:57:27 -04:00
Northmoc
a8db6f9370 Card ability stringbuilder updates + support AdditionalDesc 2021-09-24 17:56:47 -04:00
Northmoc
1fb3cc0ca0 falcon_abomination.txt add Flying 2021-09-24 17:16:10 -04:00
tool4EvEr
58e4bc9519 Clean up 2021-09-24 22:15:18 +02:00
Northmoc
1dfc6608dc liesa_forgotten_archangel.txt 2021-09-24 16:06:15 -04:00
Northmoc
731e610ced gavony_silversmith.txt fix PT 2021-09-24 16:02:37 -04:00
tool4EvEr
c88d5b373a Fix AI for Ludevic 2021-09-24 21:55:01 +02:00
Northmoc
0e488ebbac ChangeZoneEffect support SkipCancelPrompt 2021-09-24 15:51:57 -04:00
Northmoc
eb2a864fea distant_memories.txt without ChooseCard 2021-09-24 15:22:30 -04:00
Michael Kamensky
d2b3880cb3 Merge branch 'TRT-master-patch-37742' into 'master'
Update forge-gui/res/cardsfolder/upcoming/harvesttide_sentry.txt

See merge request core-developers/forge!5423
2021-09-24 18:53:39 +00:00
Bug Hunter
59000df8ec Update forge-gui/res/cardsfolder/upcoming/harvesttide_sentry.txt 2021-09-24 17:31:31 +00:00
Northmoc
fba174419e distant_memories.txt improve functionality and AI 2021-09-24 09:15:24 -04:00
Northmoc
c306789e14 increasing_confusion.txt fix SVar:Y 2021-09-24 09:14:41 -04:00
Michael Kamensky
d0abc02bc5 Merge branch 'edition_changes' into 'master'
Edition changes

See merge request core-developers/forge!5421
2021-09-24 12:34:40 +00:00
paul_snoops
c2723e1c9f primal_adversary fix 2021-09-24 12:18:51 +01:00
paul_snoops
f1527b1451 artist fix 2021-09-24 10:43:36 +01:00
paul_snoops
63330b53a5 Edition changes 2021-09-24 10:39:35 +01:00
Michael Kamensky
b3e878b015 Merge branch 'removeIntrinsic' into 'master'
Card: remove removeIntrinsic from Trait and Keyword Changes, check ChangedType instead

See merge request core-developers/forge!5420
2021-09-24 05:41:51 +00:00
Hans Mackowiak
bacf387657 Card: remove removeIntrinsic from Trait and Keyword Changes, check ChangedType instead 2021-09-24 07:23:59 +02:00
Michael Kamensky
2a4f5ef3a3 Merge branch 'mic_23' into 'master'
MIC - 23 Sep

See merge request core-developers/forge!5419
2021-09-24 04:56:14 +00:00
Michael Kamensky
dbbb8ec95d Merge branch 'when_dies_this_turn' into 'master'
Refactor "when X dies this turn" cards from Effect to DelayedTrigger

See merge request core-developers/forge!5351
2021-09-24 03:56:59 +00:00
Tim Mocny
725eee27e8 Refactor "when X dies this turn" cards from Effect to DelayedTrigger 2021-09-24 03:56:58 +00:00
Northmoc
73e9d4b1c6 new messages 2021-09-23 19:07:47 -04:00
Northmoc
f42ef251a7 celestial_judgment.txt 2021-09-23 19:07:46 -04:00
Northmoc
3fb5e5ea87 sigardian_zealot.txt 2021-09-23 19:07:45 -04:00
Northmoc
4e6abaff0f sigardas_vanguard.txt 2021-09-23 19:07:45 -04:00
Northmoc
59549ef7b0 ChooseCardEffect "EachDifferentPower" 2021-09-23 19:07:45 -04:00
Northmoc
a5ee24e23d ChooseCardEffect "WithDifferentPowers" 2021-09-23 19:07:44 -04:00
Northmoc
3df72b446b crowded_crypt.txt (Marvel) 2021-09-23 19:05:07 -04:00
Northmoc
af0b0df71a curse_of_conformity.txt (Marvel) 2021-09-23 19:05:07 -04:00
Northmoc
1907cf4d41 moorland_rescuer.txt (Marvel) 2021-09-23 19:05:07 -04:00
Northmoc
5655b3b3c2 curse_of_unbinding.txt (Marvel) 2021-09-23 19:05:07 -04:00
Michael Kamensky
6c62df0a48 Merge branch 'stackdesc' into 'master'
auto Stackdesc updates

See merge request core-developers/forge!5417
2021-09-23 15:03:29 +00:00
Michael Kamensky
f190bd991e Merge branch 'MID/cards-3' into 'master'
MID Cards

See merge request core-developers/forge!5338
2021-09-23 15:03:17 +00:00
Stu Bob
776b83e353 Something is wrong with bat whisperer it crashes the game.
Something is wrong with crawl_from_the_cellar - after targeting it doesn't work
Something is wrong with fateful_absence - it doesn't investigate correctly.
2021-09-23 15:03:12 +00:00
Northmoc
2bf6d1d0c3 DrawEffect auto stackdesc improvements 2021-09-23 10:43:11 -04:00
Northmoc
fc25e911ff DiscardEffect auto stackdesc improvements 2021-09-23 10:42:57 -04:00
Northmoc
5ec4f4253b CounterEffect auto stackdesc improvements 2021-09-23 10:42:35 -04:00
Michael Kamensky
877e78f844 Merge branch 'fix-unique-card-filter-catalog' into 'master'
Fix Issue #1975: Unique cards card catalog

Closes #1975

See merge request core-developers/forge!5416
2021-09-23 13:03:58 +00:00
Michael Kamensky
a98b1cceb9 Merge branch 'fix-issue-npe-cardeditiontype' into 'master'
FIX Issue #1974: NPE on Card Edition Statistics in Card Pool

Closes #1974

See merge request core-developers/forge!5415
2021-09-23 13:02:47 +00:00
leriomaggio
9a0c26b2a2 Fix Issue #1975
Fixed Issue in CardManager for Unique Card Filters.
Now, only one entry of card will be returned per-edition, also accounting for Card images.
In other words, Card entry will be selected considering the default Card Art Preference. Therefore, candidate editions will be iterated in order, looking for an entry having a card with an image.
If none could be found, the original first entry (even with no image) will be returned instead.
2021-09-23 13:21:19 +01:00
leriomaggio
6c782448dd Adding translation support in Tooltip for Unique Card Filter 2021-09-23 13:18:42 +01:00
leriomaggio
5f138b1123 FIX Issue #1974
Fixing NPE occurring when gathering statistics on Card Edition in CardPool and the Edition does not exist.
This patch simply discards any stats about not-found card editions
2021-09-23 12:24:09 +01:00
Michael Kamensky
12052b973e Merge branch 'cg_sb' into 'master'
ControlGainEffect improve StringBuilder

See merge request core-developers/forge!5414
2021-09-23 03:36:31 +00:00
Northmoc
e90428a18d ControlGainEffect improve StringBuilder 2021-09-22 19:11:10 -04:00
Michael Kamensky
04d5958bb9 Merge branch 'cleanup' into 'master'
Cleanup predictDamageTo

See merge request core-developers/forge!5413
2021-09-22 17:46:55 +00:00
Michael Kamensky
1da1f119c4 Merge branch 'mid_22' into 'master'
MID - 22 Sep

See merge request core-developers/forge!5412
2021-09-22 17:46:34 +00:00
Michael Kamensky
1bc327330b Merge branch 'master' into 'master'
[Mobile] Transform Animation

See merge request core-developers/forge!5409
2021-09-22 17:46:10 +00:00
tool4EvEr
e578448daf Cleanup predictDamageTo 2021-09-22 18:41:49 +02:00
Anthony Calosa
e223db61ee Fix 10X Speed up 2021-09-22 23:15:26 +08:00
Anthony Calosa
de452e2da5 Fix 10X Speed up 2021-09-22 23:05:00 +08:00
Anthony Calosa
e2738b361c NPE Guard 2021-09-22 21:15:52 +08:00
Northmoc
b4d4bb8da6 support ConditionPlayerTrue$ False 2021-09-22 08:46:42 -04:00
Northmoc
887e10be45 stolen_vitality.txt 2021-09-22 08:46:08 -04:00
Northmoc
7f8ab75b4f packs_betrayal.txt 2021-09-22 08:45:18 -04:00
Anthony Calosa
5a5b0095ec refactor Tap Untap Animation 2021-09-22 20:08:14 +08:00
Anthony Calosa
e9d9ce4832 Merge remote-tracking branch 'remotes/core/master' 2021-09-22 15:52:58 +08:00
Anthony Calosa
2f75e37368 cleanup 2021-09-22 15:50:54 +08:00
Michael Kamensky
612e1fcb11 Merge branch 'replaceLifeLossDamage' into 'master'
Player: lifeloss now uses Replacement for Worship

Closes #1971

See merge request core-developers/forge!5411
2021-09-22 06:44:29 +00:00
Anthony Calosa
d2fd534964 update transform animation 2021-09-22 14:02:20 +08:00
Anthony Calosa
834d74d5f2 Merge remote-tracking branch 'remotes/core/master' 2021-09-22 13:58:42 +08:00
Hans Mackowiak
18eedb1dc4 Player: lifeloss now uses Replacement for Worship 2021-09-22 07:45:13 +02:00
Michael Kamensky
d3e91ddedf Merge branch 'vamp' into 'master'
Krovikan Vampire: Add missing trigger

See merge request core-developers/forge!5410
2021-09-22 03:15:47 +00:00
Michael Kamensky
e38a35d9bc Merge branch 'twosat-master-patch-03590' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5408
2021-09-22 03:15:25 +00:00
Michael Kamensky
b526842c39 Merge branch 'MID_cards' into 'master'
MID/MIC cards 21 Sep

See merge request core-developers/forge!5405
2021-09-22 03:15:21 +00:00
Michael Kamensky
b4ab53b1e8 Merge branch 'unblink' into 'master'
MID: Unblinking Observer and support

See merge request core-developers/forge!5407
2021-09-22 03:14:54 +00:00
Northmoc
7abb206b4c support RestrictValid$ Disturb 2021-09-21 20:20:14 -04:00
Northmoc
10b3df681b unblinking_observer.txt 2021-09-21 20:18:32 -04:00
leriomaggio
3f961a14ab Moving getBlockFormats from FModel to GameFormat.Collection
getBlockFormat becomes also getBlockList, inline with other methods in GameFormat.Collection. DeckManager and CardManager have been updated accordingly.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-21 23:16:56 +01:00
tool4EvEr
22a328b64c Improve cleanup 2021-09-21 22:58:49 +02:00
Anthony Calosa
9fc4a09ce3 update 2021-09-22 03:49:33 +08:00
tool4EvEr
7f3bd2dfa4 Add missing trigger 2021-09-21 21:33:49 +02:00
Anthony Calosa
e9c21aa08a Merge remote-tracking branch 'remotes/core/master' 2021-09-22 03:29:50 +08:00
Anthony Calosa
5925d63ccb [Mobile] Transform Animation 2021-09-22 03:25:45 +08:00
Andreas Bendel
d9acacf786 Update de-DE.properties
translated lblHowManyTimesToPay
2021-09-21 19:08:44 +00:00
paul_snoops
82123be7a4 update heronblade_elite 2021-09-21 17:24:10 +01:00
Michael Kamensky
f0de6a79dd Merge branch 'tokens' into 'master'
MID/MIC tokens

See merge request core-developers/forge!5406
2021-09-21 16:19:45 +00:00
paul_snoops
9b98e2f912 fixes 2021-09-21 17:18:09 +01:00
paul_snoops
d6f2b2bda1 remove day & night 2021-09-21 16:38:05 +01:00
paul_snoops
47f4c4e3f6 update kyler_sigardian_emissary 2021-09-21 15:32:30 +01:00
paul_snoops
de1a150373 MID/MIC tokens 2021-09-21 15:28:17 +01:00
paul_snoops
6c3898155f MID/MIC cards 21 Sep 2021-09-21 14:56:58 +01:00
Michael Kamensky
53f6abf726 Merge branch 'master' into 'master'
Generalize AI support for Announce$ NumTimes

See merge request core-developers/forge!5404
2021-09-21 08:58:03 +00:00
Michael Kamensky
eb04fb9cae Merge branch 'master' into 'master'
[Mobile] update bg animation and overlays

See merge request core-developers/forge!5403
2021-09-21 08:56:43 +00:00
Michael Kamensky
fe1f8fa00a - Generalize AI support for Announce$ NumTimes 2021-09-21 11:56:17 +03:00
Anthony Calosa
aed59750f9 [Mobile] update bg animation and overlays 2021-09-21 15:35:03 +08:00
Michael Kamensky
b09a7e7d65 Merge branch 'master' into 'master'
Fix imports

See merge request core-developers/forge!5402
2021-09-21 06:35:07 +00:00
Michael Kamensky
9faab0c4b9 - Fix imports 2021-09-21 09:34:34 +03:00
Michael Kamensky
a2a61916b1 Merge branch 'master' into 'master'
Added puzzle PS_AFR5 - Possibility Storm - Adventures in the Forgotten Realms 05.

See merge request core-developers/forge!5401
2021-09-21 05:54:30 +00:00
Michael Kamensky
e0f4bbf72d - Added puzzle PS_AFR5. 2021-09-21 08:53:51 +03:00
Michael Kamensky
05481e2338 Merge branch 'mid_20' into 'master'
MID - 20 Sep

See merge request core-developers/forge!5400
2021-09-21 04:53:56 +00:00
Michael Kamensky
1720c9b67d - Emulate scry AI logic for Otherworldly Gaze. 2021-09-21 07:52:36 +03:00
Michael Kamensky
e85ced740d Merge branch 'adversary' into 'master'
MID – Adversary cycle

See merge request core-developers/forge!5339
2021-09-21 04:35:13 +00:00
Michael Kamensky
6ab610507c - AI support implementation 2021-09-21 07:34:28 +03:00
Michael Kamensky
4e117d7de9 Merge branch 'typo' into 'master'
clean up Gerrard's Command

See merge request core-developers/forge!5399
2021-09-21 04:06:53 +00:00
Michael Kamensky
dbbde9f221 Merge branch 'teferi' into 'master'
MID: Teferi and support

See merge request core-developers/forge!5389
2021-09-21 04:06:46 +00:00
Tim Mocny
ea58eb7f17 MID: Teferi and support 2021-09-21 04:06:45 +00:00
Michael Kamensky
cb83473ce0 Merge branch 'smolder' into 'master'
MID: Smoldering Egg // Ashmouth Dragon and support

See merge request core-developers/forge!5390
2021-09-21 04:06:32 +00:00
Michael Kamensky
c8b9bdcc51 Merge branch 'ludevic' into 'master'
MID: Ludevic and (lots of) support

See merge request core-developers/forge!5387
2021-09-21 04:06:23 +00:00
Tim Mocny
8773b28a92 MID: Ludevic and (lots of) support 2021-09-21 04:06:22 +00:00
Northmoc
e7c68cf364 neonates_rush.txt 2021-09-20 21:14:11 -04:00
Northmoc
16db68412b mounted_dreadknight.txt 2021-09-20 21:13:57 -04:00
Northmoc
986b3e5b23 winterthorn_blessing.txt 2021-09-20 20:21:00 -04:00
Northmoc
4dbf986f07 shipwreck_sifters.txt 2021-09-20 20:03:37 -04:00
Northmoc
f0928bf739 ardent_elementalist.txt (Aoki-Kujo) 2021-09-20 20:03:20 -04:00
Northmoc
638d70094f otherworldly_gaze.txt 2021-09-20 19:12:17 -04:00
Northmoc
f689206ad3 search_party_captain.txt 2021-09-20 19:08:20 -04:00
Northmoc
7b5ea23ebf path_to_the_festival.txt 2021-09-20 19:07:15 -04:00
Northmoc
784b18bcd4 jerren_corrupted_bishop_ormendahl_the_corruptor.txt 2021-09-20 19:05:14 -04:00
Northmoc
13cd38751d lord_of_the_forsaken.txt 2021-09-20 18:52:48 -04:00
Northmoc
cb06ea86f0 parse Count$TriggeredManaSpent 2021-09-20 15:42:39 -04:00
Northmoc
0541510e84 smoldering_egg_ashmouth_dragon.txt and ember counter 2021-09-20 15:42:38 -04:00
Northmoc
228e513139 cleanup gerrards_command.txt 2021-09-20 15:21:46 -04:00
Michael Kamensky
f16ed73fe2 Merge branch 'typo' into 'master'
elvish_rejuvenator.txt cleanup

See merge request core-developers/forge!5396
2021-09-20 18:59:21 +00:00
Michael Kamensky
6b8f2b44a1 Merge branch 'sprout' into 'master'
MID: Deathbonnet Sprout and Support

See merge request core-developers/forge!5397
2021-09-20 18:59:15 +00:00
Michael Kamensky
9dd9a07e2f Merge branch 'strangler' into 'master'
MID: Vengeful Strangler and a minor tweak

See merge request core-developers/forge!5398
2021-09-20 18:59:05 +00:00
Northmoc
5ae8b0168a hungry_for_more.txt AI hint 2021-09-20 13:46:22 -04:00
Northmoc
772dbe9ec5 PlayerProperty give startsWith "controls" a fallback 2021-09-20 13:25:33 -04:00
Northmoc
95f9b00f57 vengeful_strangler_strangling_grasp.txt 2021-09-20 13:24:34 -04:00
Northmoc
d59efe61f7 bloodtithe_collector.txt 2021-09-20 13:06:51 -04:00
Northmoc
f8fc679cc8 Make "ConditionZone" functional 2021-09-20 08:44:44 -04:00
Northmoc
29ef201b19 deathbonnet_sprout_deathbonnet_hulk.txt 2021-09-20 08:43:58 -04:00
Northmoc
8229d9eea1 hallowed_respite.txt 2021-09-20 08:33:42 -04:00
Northmoc
50169671b9 the_meathook_massacre.txt 2021-09-20 08:13:31 -04:00
Northmoc
4f105770cc more fixes 2021-09-20 08:10:39 -04:00
Michael Kamensky
8305ebde4a Merge branch 'mid_19' into 'master'
MID - Sep 19

See merge request core-developers/forge!5395
2021-09-20 03:20:20 +00:00
Northmoc
235e17fa42 burn_down_the_house.txt (Aoki-Kujo) 2021-09-19 22:17:29 -04:00
Northmoc
8415b847cd angelfire_ignition.txt 2021-09-19 21:49:07 -04:00
Northmoc
632127e383 memory_deluge.txt 2021-09-19 21:49:06 -04:00
Northmoc
bee7d8b7de florian_voldaren_scion.txt 2021-09-19 21:49:06 -04:00
Northmoc
6c6f1cf353 elvish_rejuvenator.txt cleanup 2021-09-19 21:44:26 -04:00
Northmoc
071fbbf41c avoid Announcing twice? 2021-09-19 17:27:32 -04:00
Northmoc
54d8e19516 CostPartMana build cost after choosing how many times 2021-09-19 17:27:32 -04:00
Northmoc
619d50816f primal_adversary.txt 2021-09-19 17:27:31 -04:00
Northmoc
8f31c13e4e Better prompt 2021-09-19 17:27:30 -04:00
Northmoc
414715d818 bloodthirsty_adversary.txt 2021-09-19 17:27:29 -04:00
Northmoc
79da930522 spectral_adversary.txt 2021-09-19 17:27:28 -04:00
Northmoc
2099ceba85 tainted_adversary.txt 2021-09-19 17:27:27 -04:00
Northmoc
944f4fa25e add Valor counter 2021-09-19 17:27:26 -04:00
Northmoc
d5892cfa58 intrepid_adversary.txt 2021-09-19 17:27:26 -04:00
Bug Hunter
a63c554c6c Merge branch 'TRT-master-patch-66594' into 'master'
Update forge-gui/res/cardsfolder/t/trusted_pegasus.txt

See merge request core-developers/forge!5394
2021-09-19 17:19:29 +00:00
Bug Hunter
c57d26ae3e Update forge-gui/res/cardsfolder/t/trusted_pegasus.txt 2021-09-19 17:18:41 +00:00
Michael Kamensky
beca5a5d2e Merge branch 'clue' into 'master'
allow Clue Sac cost to use more generic formatting (match Oracle)

See merge request core-developers/forge!5392
2021-09-19 12:24:34 +00:00
Michael Kamensky
27c8eb3cd8 Merge branch 'mid_19' into 'master'
MID - 19 Sep

See merge request core-developers/forge!5393
2021-09-19 12:23:58 +00:00
Michael Kamensky
23fb686523 Merge branch 'master' into 'master'
[Mobile] Add Player Avatar Animation

See merge request core-developers/forge!5388
2021-09-19 12:22:33 +00:00
Michael Kamensky
686abff580 Merge branch 'typo' into 'master'
fix bad TrigDesc

See merge request core-developers/forge!5391
2021-09-19 12:22:07 +00:00
Anthony Calosa
610e258602 update Avatar Animation on lifeloss 2021-09-19 19:23:31 +08:00
Anthony Calosa
73b540328c update Card Animation 2021-09-19 18:59:28 +08:00
Northmoc
0935391569 allow Clue Sac cost to use more generic formatting (match Oracle) 2021-09-19 05:42:46 -04:00
Northmoc
2078d6b184 fix bad TrigDesc 2021-09-19 05:40:17 -04:00
Northmoc
f6c208cb00 dennick_pious_apprentice_dennick_pious_apparition.txt 2021-09-19 05:39:37 -04:00
Northmoc
8d8ab613a9 storm_the_festival.txt 2021-09-19 05:39:22 -04:00
Northmoc
45cf5ee827 seize_the_storm.txt and token 2021-09-19 03:13:24 -04:00
Northmoc
703999980b slaughter_specialist.txt 2021-09-19 02:28:38 -04:00
Anthony Calosa
0007b299a3 Merge remote-tracking branch 'remotes/core/master' 2021-09-19 14:14:45 +08:00
Northmoc
377d83a093 katilda_dawnhart_prime.txt 2021-09-19 01:58:53 -04:00
Michael Kamensky
fceb443618 Merge branch 'twosat-master-patch-33566' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5385
2021-09-19 03:55:50 +00:00
Michael Kamensky
73c37e453b Merge branch 'vine' into 'master'
Fix Portcullis Vine

See merge request core-developers/forge!5386
2021-09-19 03:55:46 +00:00
Anthony Calosa
82d6a7bbd6 [Mobile] Add Player Avatar Animation 2021-09-19 11:28:54 +08:00
tool4EvEr
69464e165c Fix Portcullis Vine 2021-09-18 20:20:40 +02:00
Andreas Bendel
e7f0178b04 Update de-DE.properties
translated AnimatedCardTapUntap
2021-09-18 17:43:12 +00:00
leriomaggio
1b5564760a Latest UI changes
Latest version of the UI with expandable panel with options.
Options include Release Date, Card Art Preference, and Block Filter (if available).

This new UI update also fixes some small imperfections in the previous version, with better management of spacing.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-18 14:10:51 +01:00
leriomaggio
812946a889 Latest additions with Art Preference and Block Filter
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-18 14:08:53 +01:00
leriomaggio
7efb2167f4 FIX white border subimage cut with Foil effect
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-18 14:07:31 +01:00
leriomaggio
ee35fd9e37 FIX to recognise SB as Sideboard placeholder
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-18 12:17:28 +01:00
leriomaggio
bdd4a7083c New tests and FIX bug on foil request.
Added tests for new setting w/ CardArtPreference and FIX bug on foil request when no edition is specified.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-18 10:46:31 +01:00
Michael Kamensky
f397bceb39 Merge branch 'master' into 'master'
[Mobile] Add Card Tap/Untap & Match Background Animation

See merge request core-developers/forge!5384
2021-09-18 07:03:11 +00:00
Anthony Calosa
54b252c33c [Mobile] Add Card Tap/Untap & Match Background Animation 2021-09-18 13:40:13 +08:00
Michael Kamensky
633d97ca5a Merge branch 'master' into 'master'
Added MID planeswalker/alt wincon achievements by Marek14.

See merge request core-developers/forge!5383
2021-09-18 05:00:38 +00:00
Michael Kamensky
c1277c5706 - Added MID planeswalker/alt wincon achievements by Marek14. 2021-09-18 07:59:28 +03:00
Michael Kamensky
12d49e37fe Merge branch 'mid_17' into 'master'
MID - 17 Sep

See merge request core-developers/forge!5382
2021-09-18 04:24:10 +00:00
Northmoc
e3ac334bc5 rem_karolus_stalwart_slayer.txt 2021-09-17 20:44:49 -04:00
Northmoc
d95742ee60 moonsilver_key.txt 2021-09-17 20:44:29 -04:00
Northmoc
61eae8816f lier_disciple_of_the_drowned.txt 2021-09-17 19:59:58 -04:00
leriomaggio
e6cfafb431 Adding ArtPreference attr to allow for more flexibility when recognising cards
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-17 19:29:03 +01:00
leriomaggio
7d1542ced3 Updating new methods in StaticData to also support a specified CardArtPreference
This artPreference will be passed in by DeckImport for extra flexibility

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-17 19:28:05 +01:00
Michael Kamensky
987950f739 Merge branch 'cost_sb_tweak' into 'master'
CostRemoveCounter cleanup

See merge request core-developers/forge!5381
2021-09-17 15:27:26 +00:00
Michael Kamensky
e0d8ab5bf1 Merge branch 'mid_17' into 'master'
MID - 17 Sep

See merge request core-developers/forge!5380
2021-09-17 15:27:14 +00:00
Northmoc
6d69d65b23 CostRemoveCounter cleanup 2021-09-17 11:04:24 -04:00
Northmoc
accdd14026 arcane_infusion.txt 2021-09-17 11:02:11 -04:00
Northmoc
f8102d4325 slogurk_the_overslime.txt 2021-09-17 11:01:21 -04:00
Northmoc
02588a8516 sigardas_splendor.txt - check on draw, not trigger 2021-09-17 09:06:11 -04:00
Northmoc
8da059889d sigardas_splendor.txt 2021-09-17 09:04:09 -04:00
Michael Kamensky
90448451ae Merge branch 'MID_cards' into 'master'
MID cards 17 Sep

See merge request core-developers/forge!5379
2021-09-17 10:59:07 +00:00
paul_snoops
a3f4ca12a9 fixes 2021-09-17 11:27:44 +01:00
paul_snoops
6f2fd8702b MID cards 17 Sep 2021-09-17 10:28:50 +01:00
Michael Kamensky
a396bb996f Merge branch 'MID_fixes' into 'master'
Small cardscript fixes

See merge request core-developers/forge!5377
2021-09-17 03:58:54 +00:00
Michael Kamensky
feee042fa4 Merge branch 'mid_16' into 'master'
MID - 16 Sep

See merge request core-developers/forge!5378
2021-09-17 03:58:49 +00:00
Northmoc
f97226b99a wake_to_slaughter.txt 2021-09-16 22:34:02 -04:00
Northmoc
3f98bd9777 falkenrath_perforator.txt 2021-09-16 22:25:01 -04:00
Northmoc
2497bb50d8 willow_geist.txt 2021-09-16 19:37:29 -04:00
Northmoc
091061ff39 dawnhart_mentor.txt 2021-09-16 19:37:08 -04:00
paul_snoops
86434958ae Small fixes 2021-09-16 20:41:16 +01:00
leriomaggio
7674d5c1fa Refactoring method in FModel to return all block formats
This method is currently used in CardManager and DeckManager for Block Filter when Historic format are supported in forge. However, now the same method will also be used in Deck Import so this refactoring was very much necessary!

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 20:34:55 +01:00
Michael Kamensky
da64c3231e Merge branch 'typo' into 'master'
Various small script fixes

See merge request core-developers/forge!5376
2021-09-16 19:10:16 +00:00
Michael Kamensky
6a2f010130 Merge branch 'sungold' into 'master'
MID: Sungold Sentinel and support

See merge request core-developers/forge!5375
2021-09-16 19:09:50 +00:00
Tim Mocny
2f390aaa42 MID: Sungold Sentinel and support 2021-09-16 19:09:48 +00:00
Michael Kamensky
5d7f07ba23 Merge branch 'mid_16' into 'master'
MID - 16 Sep

See merge request core-developers/forge!5372
2021-09-16 19:09:25 +00:00
leriomaggio
4d90d4f7e4 Latest on Hyperlink display, Multicolor CSS, and FIX (right) panel sizes.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 19:50:43 +01:00
leriomaggio
3fc4389f30 Restoring back card-parsing first.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 19:18:22 +01:00
leriomaggio
c8df68a947 Increased value of alpha when setting disabled.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 19:12:57 +01:00
leriomaggio
4f86e9d494 adding support to sb as for sideboard, multicolo(u)r and swapping non-token recognition prior to card tokens.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 19:12:35 +01:00
leriomaggio
00723b462c FIX typo in DeckSection extraction from token Key
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-16 18:49:39 +01:00
Northmoc
9b22051e25 add missing trigger 2021-09-16 13:40:41 -04:00
Northmoc
d54e7605b2 rousing_of_souls.txt cleanup 2021-09-16 13:40:19 -04:00
Northmoc
09b311ab2b remove unneeded param 2021-09-16 13:39:42 -04:00
Northmoc
a47f6f8117 Changezone -> ChangeZone 2021-09-16 13:39:16 -04:00
Northmoc
08d5214a4f Merge remote-tracking branch 'origin/typo' into typo 2021-09-16 13:38:28 -04:00
Northmoc
b7bebaea8c add cleanup line 2021-09-16 13:38:04 -04:00
Northmoc
0ea37b65bd clean up unicycle.txt 2021-09-16 13:37:40 -04:00
Northmoc
e436ec74c1 geistwave.txt 2021-09-16 11:31:22 -04:00
Michael Kamensky
432320441d Merge branch 'MID_cards' into 'master'
MID cards 16 Sep

See merge request core-developers/forge!5374
2021-09-16 14:36:48 +00:00
Michael Kamensky
8e8ba29d4c Merge branch 'keyword' into 'master'
keyword stringbuilder tweaks

See merge request core-developers/forge!5373
2021-09-16 14:34:44 +00:00
paul_snoops
972b6e20e6 More cards 2021-09-16 15:17:13 +01:00
paul_snoops
76beb59a4b MID cards 16 Sep 2021-09-16 13:43:33 +01:00
Hans Mackowiak
72986f34c9 Merge branch 'hostile' into 'master'
MID: Hostile Hostel // Creeping Inn and support

See merge request core-developers/forge!5367
2021-09-16 12:20:27 +00:00
Tim Mocny
7c3368a32e MID: Hostile Hostel // Creeping Inn and support 2021-09-16 12:20:27 +00:00
Northmoc
a99d0391d3 geistwave.txt 2021-09-16 07:42:41 -04:00
Northmoc
8aec7e6492 duel_for_dominance.txt 2021-09-16 07:41:58 -04:00
Northmoc
4684dca5f5 keyword stringbuilder tweaks 2021-09-16 07:40:56 -04:00
Hans Mackowiak
603fdec980 Merge branch 'sac' into 'master'
SacrificedThisTurn: switch to List

See merge request core-developers/forge!5371
2021-09-16 09:11:10 +00:00
TRT
baee7c605e SacrificedThisTurn: switch to List 2021-09-16 10:11:41 +02:00
Michael Kamensky
6492ff4e62 Merge branch 'counters_sb' into 'master'
CountersPutEffect – improve Stack Description string builder

See merge request core-developers/forge!5364
2021-09-16 04:25:45 +00:00
Michael Kamensky
7f9c65ca51 Merge branch 'mid_15' into 'master'
MID - 15 Sep

See merge request core-developers/forge!5369
2021-09-16 04:25:05 +00:00
Michael Kamensky
e67722adef Merge branch 'fix-foil-crash' into 'master'
Fix quest foil crash

See merge request core-developers/forge!5370
2021-09-16 04:24:35 +00:00
friarsol
74688f2a40 I think this fixes quest foil crash 2021-09-15 20:46:53 -04:00
Northmoc
45ac11a34a curse_of_surveillance.txt + new PlayerProperty 2021-09-15 19:52:18 -04:00
Northmoc
5e4d174bb3 mystic_skull_mystic_monstrosity.txt 2021-09-15 19:52:17 -04:00
Northmoc
652ba57ac3 diregraf_horde.txt 2021-09-15 19:52:16 -04:00
Northmoc
c0fabf3528 dryads_revival.txt 2021-09-15 19:52:16 -04:00
Northmoc
0b4df8c859 remove unneeded and tidy up a few more lines 2021-09-15 17:10:38 -04:00
leriomaggio
b3c825860a Latest updates and finalisation to deck import stats (with translation)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-15 20:18:46 +01:00
leriomaggio
02fcc0efb5 FIX incorporating tokenKey with tokenSection if Any
(tokenSection is null for non-legal-card-type token)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-15 20:07:47 +01:00
leriomaggio
5e1b85c924 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-15 19:36:54 +01:00
leriomaggio
ac2c085324 Incorporating FIX to Image copy on subimage + method to reset alpha.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-15 19:36:38 +01:00
Michael Kamensky
9deb569764 Merge branch 'mid_15' into 'master'
MID - 15 Sep

See merge request core-developers/forge!5365
2021-09-15 18:33:12 +00:00
Michael Kamensky
30e8327dd5 Merge branch 'formats_update' into 'master'
MID formats update

See merge request core-developers/forge!5368
2021-09-15 18:32:56 +00:00
Michael Kamensky
ae75b54ade Merge branch 'MID_MIC_cards' into 'master'
MIC/MID cards 15 Sep

See merge request core-developers/forge!5366
2021-09-15 18:32:29 +00:00
Northmoc
559dd9581e mask_of_griselbrand.txt add AI hint 2021-09-15 13:48:15 -04:00
Northmoc
9447230406 mask_of_griselbrand.txt 2021-09-15 13:47:39 -04:00
Northmoc
beecd0eb4e clean up unicycle.txt 2021-09-15 13:47:06 -04:00
Northmoc
489062390b normalize "*+" for Consuming Blob and token 2021-09-15 13:32:32 -04:00
Northmoc
38934bfce4 consuming_blob.txt and token 2021-09-15 13:32:03 -04:00
paul_snoops
97585b37a1 fixes 2021-09-15 18:15:17 +01:00
paul_snoops
44ab79ae80 MID formats update 2021-09-15 17:53:03 +01:00
Northmoc
eb72996822 rise_of_the_ants.txt and token 2021-09-15 12:49:22 -04:00
paul_snoops
44fa10eeff MIC/MID cards 15 Sep 2021-09-15 15:05:46 +01:00
Michael Kamensky
98301b0113 Merge branch 'patch-cardpicture-panel-image-copy-from-subimage' into 'master'
Patch to CardPicturePanel to work on cropped Card Images

See merge request core-developers/forge!5362
2021-09-15 13:08:01 +00:00
Bug Hunter
29ea9e2d7b Merge branch 'typo' into 'master'
gargantuan_gorilla.txt cleanup

See merge request core-developers/forge!5363
2021-09-15 11:35:03 +00:00
Northmoc
9f5e90cff1 ritual_of_hope.txt 2021-09-15 07:17:21 -04:00
Northmoc
84cbc4c078 gargantuan_gorilla.txt cleanup 2021-09-15 07:14:51 -04:00
Northmoc
fdd3a8fdf3 improve StackDesc sb 2021-09-15 07:11:33 -04:00
leriomaggio
62bd8efd1c Patch to CardPicturePanel to work on cropped Card Images
BufferedImage (deep) copy procedure applied in CardPicturePanel may not always work when the input image has been originally cropped.

The issue is caused by `image.copyData(null)` which may sometimes work on the original (uncropped) underlying raster.
This patch fixes this issue!

Source: https://stackoverflow.com/a/26894825/2969461
2021-09-15 11:46:22 +01:00
Michael Kamensky
16612a8c7a Merge branch 'MIC_edition' into 'master'
MIC edition update

See merge request core-developers/forge!5361
2021-09-15 10:19:20 +00:00
paul_snoops
657ff62583 MIC edition update 2021-09-15 08:46:06 +01:00
Michael Kamensky
ea5b9d9bc0 Merge branch 'mid_14' into 'master'
MID – 14 Sep

See merge request core-developers/forge!5360
2021-09-15 04:31:48 +00:00
Northmoc
5efb43c22e siphon_insight.txt 2021-09-14 17:19:08 -04:00
Northmoc
d2b7bd7101 dire_strain_rampage.txt 2021-09-14 17:18:36 -04:00
Michael Kamensky
c7c6343d67 Merge branch 'mid_14' into 'master'
MID - 14 Sep

See merge request core-developers/forge!5357
2021-09-14 20:29:27 +00:00
Michael Kamensky
8d5517ecff Merge branch 'TRT-master-patch-24147' into 'master'
Update forge-gui/res/cardsfolder/p/pirs_whim.txt

See merge request core-developers/forge!5358
2021-09-14 20:29:24 +00:00
Michael Kamensky
eb290dd4a9 Merge branch 'pump_sb' into 'master'
Pump auto stackdescription sb improvements

See merge request core-developers/forge!5359
2021-09-14 20:28:53 +00:00
Michael Kamensky
69f560d25f Merge branch 'MID_cards' into 'master'
MID 13 Sep

See merge request core-developers/forge!5346
2021-09-14 20:28:37 +00:00
paul_snoops
d5fa07ebe4 delete blessed_defiance.txt for another MR once working 2021-09-14 21:21:33 +01:00
paul_snoops
991b0783b8 fixes 2021-09-14 21:19:47 +01:00
paul_snoops
8089224fe7 fixes 2021-09-14 21:19:47 +01:00
paul_snoops
521dcdca75 fixes 2021-09-14 21:19:47 +01:00
paul_snoops
76fd4a754d MID 13 Sep 2021-09-14 21:19:46 +01:00
Bug Hunter
a82bb3b075 Merge branch 'moonveil' into 'master'
MID: Moonveil Regent

See merge request core-developers/forge!5353
2021-09-14 17:57:20 +00:00
Northmoc
cac9d8fbf0 moonveil_regent.txt 2021-09-14 13:52:34 -04:00
Northmoc
1c6a460d93 corrections for 1 or 2 keywords 2021-09-14 13:41:58 -04:00
Northmoc
32a14fa82a Pump auto stackdescription sb improvements 2021-09-14 13:25:17 -04:00
Northmoc
c0727134d2 flare_of_faith.txt 2021-09-14 13:24:08 -04:00
Bug Hunter
91dfad9c9f Update forge-gui/res/cardsfolder/p/pirs_whim.txt 2021-09-14 14:55:56 +00:00
Northmoc
29c8a6dba2 rootcoil_creeper.txt 2021-09-14 10:30:29 -04:00
Northmoc
b3edb1b0a4 grizzly_ghoul.txt 2021-09-14 10:19:23 -04:00
Michael Kamensky
f2c3d3cd27 Merge branch 'hanmac-isTriggerRemembered' into 'master'
CardProperty: add isTriggerRemembered

See merge request core-developers/forge!5355
2021-09-14 10:50:38 +00:00
Michael Kamensky
cb851dd099 Merge branch 'TRT-master-patch-26956' into 'master'
Update forge-gui/res/cardsfolder/m/maskwood_nexus.txt

See merge request core-developers/forge!5356
2021-09-14 10:50:12 +00:00
Bug Hunter
660ffadda2 Update forge-gui/res/cardsfolder/m/maskwood_nexus.txt 2021-09-14 08:25:30 +00:00
Hans Mackowiak
f3799d3982 CardProperty: add isTriggerRemembered 2021-09-14 07:51:33 +00:00
leriomaggio
c732289690 Updates to DeckRecognizer (& tests) by using the new methods from StaticData
(Any reference to CardDb has been dropped, along with corresponding card fetching methods).

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-14 08:18:24 +01:00
leriomaggio
82372ec5ba New methods to retrieve cards from all supported databases.
The API now includes three new methods to proxy card requests to any available database of cards. These methods are currently used by the DeckRecognizer to match any card request from the Deck Importer - so the API adapts to those particular use cases.
However, method signatures are general enough to be further used elsewhere in forge, if necessary.

The first immediate advantage here is that with this addition, Deck Import automagically extends support to also including custom cards.
Moreover, this avoids DeckRecognizer to have lower-level references to CardDb - therefore, better encapsulation so that any DB interaction is correctly proxied by StaticData.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-14 08:13:25 +01:00
leriomaggio
d03bdb2773 Disabled benchmark tests to exclude in battery
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-14 07:57:13 +01:00
leriomaggio
9562064213 Updated (w/ tests) behaviour for compose with foil request, when input card Name is or isn't foil already
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-14 07:56:33 +01:00
Michael Kamensky
41725e7e9f Merge branch 'flash_format' into 'master'
some keyword formatting updates

See merge request core-developers/forge!5350
2021-09-14 03:54:44 +00:00
Michael Kamensky
7591bd6def Merge branch 'cost' into 'master'
Add confirm when discarding hand as payment

See merge request core-developers/forge!5354
2021-09-14 03:54:10 +00:00
Michael Kamensky
ece8f2f2d7 Merge branch 'mid_13' into 'master'
MID - 13 Sep

See merge request core-developers/forge!5348
2021-09-14 03:53:51 +00:00
Northmoc
a35be3968b sludge_monster.txt AITgts 2021-09-13 18:11:11 -04:00
Northmoc
abb6f24327 necrosynthesis.txt 2021-09-13 16:56:07 -04:00
Northmoc
1218986c99 old_stickfingers.txt 2021-09-13 16:38:24 -04:00
Northmoc
ba8daebf98 vanquish_the_horde.txt 2021-09-13 15:50:01 -04:00
Northmoc
d058584278 startle.txt 2021-09-13 15:38:06 -04:00
Northmoc
d175e6dcbd sunset_revelry.txt 2021-09-13 15:19:38 -04:00
Northmoc
7a458f49f6 hungry_for_more.txt and token 2021-09-13 15:10:50 -04:00
Northmoc
e54b886bab briarbridge_tracker.txt 2021-09-13 14:50:16 -04:00
tool4EvEr
664a3471c9 Add confirm when discarding hand as payment 2021-09-13 20:40:59 +02:00
Northmoc
7c90200ca3 loyal_gryff.txt 2021-09-13 14:31:28 -04:00
leriomaggio
f8cb6141bd Further optimised cardDb method with filter using AlwaysTrue + and Chain
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-13 18:58:54 +01:00
leriomaggio
a9f1cd3c97 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-13 18:47:35 +01:00
leriomaggio
de4763cd71 New translation entries (en-US) for DeckImport and the new VStatisticsImporter
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-13 18:47:26 +01:00
Northmoc
cf1a637585 chaplain_of_alms_chapel_shieldgeist.txt 2021-09-13 13:43:55 -04:00
Bug Hunter
71eae2f1a8 Merge branch 'commander_ban' into 'master'
Commander: Golas banned; Worldfire unbanned

See merge request core-developers/forge!5352
2021-09-13 17:42:55 +00:00
paul_snoops
4f1219b305 Commander: Golas banned; Worldfire unbanned 2021-09-13 18:32:49 +01:00
Northmoc
1e6beae1e1 grafted_identity.txt 2021-09-13 12:27:49 -04:00
Northmoc
e51b4d9abf some keyword formatting updates 2021-09-13 11:42:52 -04:00
Northmoc
76dbd6311b nebelgast_intruder.txt 2021-09-13 11:41:48 -04:00
Northmoc
f744404bee mysterious_tome_chilling_chronicle.txt 2021-09-13 11:41:47 -04:00
Anthony Calosa
aa1c1a10c5 Merge branch 'master' into 'master'
[Mobile] Fix card image not loading

See merge request core-developers/forge!5349
2021-09-13 15:07:00 +00:00
Anthony Calosa
ac350a0bfb [Mobile] Fix card image not loading 2021-09-13 23:01:13 +08:00
Michael Kamensky
5d61f2f938 Merge branch 'mid_12' into 'master'
MID - 12 Sep

See merge request core-developers/forge!5337
2021-09-13 14:58:32 +00:00
Northmoc
928a1df4e7 fix typo 2021-09-13 10:42:50 -04:00
Northmoc
2473ace8a1 add AI hints 2021-09-13 10:42:22 -04:00
Michael Kamensky
ad1086cd79 Merge branch 'MID/some-cards' into 'master'
MID Cards

See merge request core-developers/forge!5328
2021-09-13 14:10:16 +00:00
Stu Bob
4f1eec23e6 Bounding Wolf
Raze the Effigy
Novice Occultist
Shadowbeast Sighting
Gavony Trapper
Defend the Celestus

As well as fixing typos.
2021-09-13 14:10:14 +00:00
Michael Kamensky
176f86aa62 Merge branch 'patch-carddb-performance' into 'master'
HOT FIX: CardDb Tests with ImageKeys Interactions

See merge request core-developers/forge!5344
2021-09-13 11:01:31 +00:00
leriomaggio
adf44be732 removed unused imports 2021-09-13 11:26:05 +01:00
Michael Kamensky
7e723d48cd Merge branch 'cleanup' into 'master'
Minor Cleanup

See merge request core-developers/forge!5345
2021-09-13 10:03:17 +00:00
tool4EvEr
90e5bef028 Clean up 2021-09-13 11:33:56 +02:00
tool4EvEr
4e2a6d3c24 Remove old code 2021-09-13 11:33:44 +02:00
leriomaggio
3685724fb7 Merge remote-tracking branch 'upstream/master' into patch-carddb-performance 2021-09-13 10:16:00 +01:00
leriomaggio
236fd99862 FIX cardDb tests in Maven for ImageKeys Mock configuration between subclasses 2021-09-13 10:15:32 +01:00
Anthony Calosa
d185f16991 Merge branch 'kevlahnota-master-patch-62431' into 'master'
Update Commander Collection Black.txt

See merge request core-developers/forge!5343
2021-09-13 08:04:54 +00:00
Anthony Calosa
e97cdbb293 Update Commander Collection Black.txt 2021-09-13 08:04:31 +00:00
Michael Kamensky
99fdd4b551 Merge branch 'MID/cards-2' into 'master'
More cards

See merge request core-developers/forge!5335
2021-09-13 03:28:51 +00:00
Stu Bob
9cfc6897c5 More cards:
clarion_cathars
gavony_silversmith
soul_guide_gryff
homestead_courage

Something is wrong with Hedgewitch's Mask the can't be blocked clause doesn't seem to be working.
2021-09-13 03:28:49 +00:00
Michael Kamensky
3785caa9b7 Merge branch 'typo' into 'master'
Minor typos and AI

See merge request core-developers/forge!5340
2021-09-13 03:24:06 +00:00
Michael Kamensky
3b5fe84bb2 Merge branch 'MID/initial-draft-rankings' into 'master'
Initial Draft ranking

See merge request core-developers/forge!5342
2021-09-13 03:19:29 +00:00
Michael Kamensky
33a32517ad Merge branch 'smallfix' into 'master'
Follow up fixes

See merge request core-developers/forge!5336
2021-09-13 03:19:05 +00:00
stubob
01516d2019 Initial Draft ranking from https://draftsim.com/MID-pick-order.php 2021-09-12 20:25:08 -06:00
Northmoc
db34d1f341 covert_cutpurse_covetous_geist.txt add missing triggers 2021-09-12 21:45:32 -04:00
Northmoc
75d7f2abf3 ritual_guardian.txt 2021-09-12 21:20:22 -04:00
Northmoc
257e32a4e3 candlegrove_witch.txt & covetous_castaway_ghostly_castigator.txt 2021-09-12 21:18:07 -04:00
Northmoc
2d1c665fc0 gravebreaker_lamia.txt add AI hints 2021-09-12 20:50:44 -04:00
Northmoc
d5c8b0106d patrician_geist.txt 2021-09-12 20:49:47 -04:00
Northmoc
e24d6a6495 augur_of_autumn.txt 2021-09-12 20:41:39 -04:00
Northmoc
fdec280baa turn_the_earth.txt 2021-09-12 20:41:38 -04:00
Northmoc
2a46e193f3 purifying_dragon.txt 2021-09-12 20:41:37 -04:00
Northmoc
b6c281529c dawnhart_wardens.txt 2021-09-12 20:41:37 -04:00
Northmoc
e4cd251a4b voldaren_ambusher.txt (Suthro) 2021-09-12 20:41:36 -04:00
Northmoc
8257f16a5d ghoulcallers_harvest.txt 2021-09-12 20:41:36 -04:00
Northmoc
bd3ca5115b fleshtaker.txt 2021-09-12 20:41:35 -04:00
Northmoc
2bf4821b8e unnatural_growth.txt 2021-09-12 20:41:35 -04:00
Northmoc
fcd29e27be diregraf_rebirth.txt 2021-09-12 20:41:35 -04:00
Northmoc
074439200f croaking_counterpart.txt 2021-09-12 20:41:34 -04:00
Northmoc
accd7c667e minor typos 2021-09-12 20:40:37 -04:00
Northmoc
daa3a66d5e minor typos 2021-09-12 20:40:37 -04:00
Northmoc
901b715947 fix SpellDesc 2021-09-12 20:40:36 -04:00
tool4EvEr
819c92c28a Follow up fixes 2021-09-12 21:08:23 +02:00
leriomaggio
60a1e1975a FIX full localisation support for V|CStatistics
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 19:55:32 +01:00
leriomaggio
5f46af3fd1 Support for Deck Section highlight in Deck Import following XMage integration
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 18:31:30 +01:00
leriomaggio
ab0b964772 Full support to XMage format recognition with tests
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 18:30:59 +01:00
Michael Kamensky
fdc387245b Merge branch 'hiddenKeywords' into 'master'
Card: refactor hidden keywords into Table Structure

See merge request core-developers/forge!5271
2021-09-12 15:48:35 +00:00
Hans Mackowiak
bfc938be57 Card: refactor hidden keywords into Table Structure 2021-09-12 15:48:34 +00:00
Michael Kamensky
5ec5cf0a96 Merge branch 'master' into 'master'
Added puzzles PS_AFR2 - PS_AFR4. Updated GameState to support PS_AFR3, renamed PS_AFR1.

See merge request core-developers/forge!5334
2021-09-12 15:46:24 +00:00
Michael Kamensky
49ea4b99e7 - Added puzzles PS_AFR2 - PS_AFR4.
- Tweaked GameState to allow precasting spells from alternate card faces.
- Renamed puzzle PS_AFR1.
2021-09-12 18:45:13 +03:00
Michael Kamensky
15f1526d95 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-09-12 17:43:54 +03:00
leriomaggio
5beb350faf Support for DeckNames as in NetDecks with brackets and hashtags
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 11:42:10 +01:00
Michael Kamensky
83a7cc8a3e Merge branch 'Meerkov-master-patch-85773' into 'master'
AI Ban Camouflage

See merge request core-developers/forge!5331
2021-09-12 10:07:18 +00:00
Michael Kamensky
3d830f532e Merge branch 'fireball' into 'master'
Fix Fireball

Closes #1970

See merge request core-developers/forge!5333
2021-09-12 10:06:38 +00:00
leriomaggio
014783dfbe Added planes deck section to nonCardToken recognition (left out by mistake)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 11:06:07 +01:00
leriomaggio
95f1d6df07 Updated Card Tokens (with test) to retain cards even if not legal.
This will be now used in DeckImporter in combination with Card Preview.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:56:32 +01:00
leriomaggio
764ccd703c slightly reduce constraint on items' height
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:32:22 +01:00
leriomaggio
19b8865e10 New UI version with Hyperlinks and Card Preview
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:31:57 +01:00
leriomaggio
936bb15bf9 New methods to directly set a bufferedImage and to control alpha value of FImagePanel
This will be used in deck import card preview (default state)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:31:34 +01:00
leriomaggio
b5bb07c827 New static method to return default card image
This will be used in deck import card preview (default state)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:30:42 +01:00
leriomaggio
c0059c351f Adding support to add alpha over images (to show them as disabled)
This will be used in deck import card preview.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:29:54 +01:00
leriomaggio
5400546399 Aligned with bug fixed on multipleArts with SmartCardArt
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-12 10:28:50 +01:00
tool4EvEr
df4c64070d Fix Fireball 2021-09-12 10:29:49 +02:00
Anthony Calosa
2e437dcbae Merge branch 'master' into 'master'
[Mobile] Fix blinking card images while using online image fetcher

See merge request core-developers/forge!5332
2021-09-12 07:58:05 +00:00
Anthony Calosa
6f0ba03d24 [Mobile] Fix blinking card images while using online image fetcher
- also cache card list for faster lookup
2021-09-12 15:52:57 +08:00
Meerkov
615ec642d2 AI Ban Camouflage 2021-09-12 06:20:52 +00:00
Michael Kamensky
8149cbb507 Merge branch 'white-corners' into 'master'
Crop out white corners when importing images

Closes #1965

See merge request core-developers/forge!5326
2021-09-12 03:45:15 +00:00
Michael Kamensky
410df067bd Merge branch 'TRT-master-patch-19508' into 'master'
Update forge-gui/res/cardsfolder/r/riftmarked_knight.txt

See merge request core-developers/forge!5327
2021-09-12 03:44:07 +00:00
Michael Kamensky
29a274ed93 Merge branch 'quick-fix-smart-card-art' into 'master'
BUG FIX for Smart Card Art selection

See merge request core-developers/forge!5329
2021-09-12 03:43:51 +00:00
Michael Kamensky
6f45745c6d Merge branch 'mid_10' into 'master'
MID - 11 Sep

See merge request core-developers/forge!5330
2021-09-12 03:42:58 +00:00
Michael Kamensky
bbbfe8ddb1 Merge branch 'cost_formats' into 'master'
Update some cost and prompt formats

See merge request core-developers/forge!5314
2021-09-12 03:42:37 +00:00
Michael Kamensky
d00c5c81a6 Merge branch 'ea_ae' into 'master'
Enduring Angel // Angelic Enforcer and support

See merge request core-developers/forge!5317
2021-09-12 03:42:11 +00:00
Northmoc
6e0b6a2b9e counter name to lower case in prompt 2021-09-11 23:13:46 -04:00
Northmoc
957e3ebfb0 Various typos and formatting fixes 2021-09-11 23:13:45 -04:00
Northmoc
cfc143f398 improve CostRemoveCounter prompt formatting 2021-09-11 23:13:45 -04:00
Northmoc
23967b3d85 improve CostRemoveAnyCounter prompt formatting 2021-09-11 23:13:44 -04:00
Northmoc
db988abb4f Change SimpleString to comma for multiple parts 2021-09-11 23:13:44 -04:00
Northmoc
60d4d14320 SetLife instead of GainLife 2021-09-11 23:12:23 -04:00
Northmoc
eb25257a18 Player.java - add replacement to loseLife 2021-09-11 23:12:23 -04:00
Northmoc
be9c1d7c91 fix desc 2021-09-11 23:12:22 -04:00
Northmoc
0df5526452 add ReplaceLifeReduced 2021-09-11 23:12:22 -04:00
Northmoc
314df20711 enduring_angel_angelic_enforcer.txt 2021-09-11 23:12:21 -04:00
Northmoc
b13f4f4ae2 faithful_mending.txt 2021-09-11 23:10:02 -04:00
Northmoc
abbe687419 vampire_socialite.txt (Suthro) 2021-09-11 23:10:02 -04:00
leriomaggio
fb092c77a4 BUG FIX for Smart Card Art selection
This subtle bug occurred whenever the algorithm for smart card art selection wanted to add a card with multiple arts and the number of cards per art to add was not even. To avoid zeros, the cardsPerArtIndex was set at least to one, and so the rest - leading then to adding too many (extra) cards not originally present in the deck.

Thanks to @Snoops for the heads up.
2021-09-12 00:56:44 +01:00
Bug Hunter
c03fc6cfd0 Update forge-gui/res/cardsfolder/r/riftmarked_knight.txt 2021-09-11 19:41:15 +00:00
Mark Wiggans
bcaf23c5ff Have ImageCache recognize images with white corners and crop them out 2021-09-11 11:32:37 -04:00
leriomaggio
f8d5eae4ce Removed unused import
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-11 16:03:42 +01:00
leriomaggio
0d022c0f7e Latest changes to DeckImporter UI using HTML text and Statistics borrowed from Deck Editor.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-11 13:48:35 +01:00
leriomaggio
91246ecd83 Latest translation and UI of DeckImport (removing unused labels)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-11 13:47:53 +01:00
leriomaggio
98dd5f4b8b Replacing "replace deck" with "create new deck" command
The new one makes things a bit self explanatory than "replace deck" since the current deck isn't actually replaced (i.e. not eliminated).

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-11 13:46:16 +01:00
Anthony Calosa
a5aa29f65e Merge branch 'kevlahnota-master-patch-56985' into 'master'
Update Forge.java

See merge request core-developers/forge!5325
2021-09-11 10:25:05 +00:00
Anthony Calosa
2dd5a49e62 Update Forge.java 2021-09-11 10:23:49 +00:00
Michael Kamensky
1328b0bc7d Merge branch 'MID_update' into 'master'
MID update

See merge request core-developers/forge!5324
2021-09-11 09:35:46 +00:00
Michael Kamensky
def434bdb7 Merge branch 'cleanup' into 'master'
Minor Cleanup

See merge request core-developers/forge!5322
2021-09-11 09:35:17 +00:00
Michael Kamensky
e781825f31 Merge branch 'Meerkov-master-patch-21940' into 'master'
Unban Orcish Artillery

See merge request core-developers/forge!5321
2021-09-11 09:34:21 +00:00
Michael Kamensky
88658dcf87 Merge branch 'Meerkov-master-patch-67925' into 'master'
AI Ban: False Orders

See merge request core-developers/forge!5320
2021-09-11 09:33:57 +00:00
paul_snoops
1bb053adaf MID update 2021-09-11 10:29:04 +01:00
Anthony Calosa
5db87cf0a1 Merge branch 'master' into 'master'
[Mobile] Disable cardBG Texture for Android 9 and below

See merge request core-developers/forge!5323
2021-09-11 09:18:05 +00:00
Anthony Calosa
01b80cfc78 Merge remote-tracking branch 'remotes/core/master' 2021-09-11 17:14:17 +08:00
Anthony Calosa
eddbc1e94a [Mobile] Disable cardBG Texture for Android 9 and below
on Android 10+ (4 GB RAM) it works fine however Android 9 and below with at least 4 GB RAM, it crashes at startup if it tries to read and load the big texture file. Needs investigation
2021-09-11 17:13:20 +08:00
tool4EvEr
052b73bda2 Minor Cleanup 2021-09-11 10:26:01 +02:00
Meerkov
49fdfdbe61 Unban Orcish Artillery 2021-09-11 08:15:36 +00:00
Meerkov
cefc86b13f The AI doesn't know how to use this card, and currently it's clogging up AI decks in LEB. 2021-09-11 08:04:08 +00:00
Michael Kamensky
1e359236ae Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!5319
2021-09-11 03:22:13 +00:00
Churrufli
d327e789c1 Net Decks Archive Updates 2021-09-10 20:41:21 +02:00
leriomaggio
455acffeab Update to SmartCardArt accounting for any preferred art.
If there is any preferredArt, update will never be applied.
The scenario is: if card was originally without any specified edition, AND there is preferred art, that would've been returned in the first place.

Thus, if the smartCardArt optimisation is enabled, any card with the preferred art won't be updated iff edition and artIndex coincide.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-10 18:23:36 +01:00
Grimm
6d2dd7ad92 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into adventure 2021-09-10 17:41:33 +02:00
Grimm
639cd42c43 Added some comments, cleaned up names and code 2021-09-10 17:36:05 +02:00
leriomaggio
e90b0323b7 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-10 16:10:13 +01:00
Michael Kamensky
fb24fe1d3d Merge branch 'artpreference-carddb-fix' into 'master'
Re-add to carddb the integration with CardPreferences on Mobile version

See merge request core-developers/forge!5316
2021-09-10 13:52:19 +00:00
leriomaggio
ade839bec4 Removed from Deck controls on Deck Sections as now the DeckSection validation mechanism has been already integrated when loading deck.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-10 14:27:31 +01:00
leriomaggio
3d3ed1a281 Merge remote-tracking branch 'upstream/master' into artpreference-carddb-fix 2021-09-10 14:22:14 +01:00
leriomaggio
edfbbfb789 CardPreferences to work with latest setPreferredArt API in CardDb w/ backward compatibility 2021-09-10 14:10:21 +01:00
leriomaggio
27ab4c35a3 Re-add to carddb the integration with CardPreferences on Mobile version
On Mobile Forge Port (only) there is the possibility to set a preferred art for a card, from card catalog.
Once a card art is selected, it will always be returned for that specific art whenever no other specific edition is specified.
This commit adds changes to cardDb setPreferredArtMethod (API) and CardRequest.fromString to work with any preferred art (if any).

CardRequests reflects this change by adding another (private) constructor which expects to create a CardRequest from a preferredArt entry in the form of (CardName|SetCode|ArtIndex)
2021-09-10 14:09:25 +01:00
leriomaggio
9d235924ec Re-add to carddb the integration with CardPreferences on Mobile version
On Mobile Forge Port (only) there is the possibility to set a preferred art for a card, from card catalog.
Once a card art is selected, it will always be returned for that specific art.
This commit adds changes to cardDb setPreferredArtMethod (API) and CardRequest.fromString to work with any preferred art (if any).

CardRequests reflects this change by adding another (private) constructor which expects to create a CardRequest from a preferredArt entry in the form of (CardName|SetCode|ArtIndex)
2021-09-10 13:26:30 +01:00
Michael Kamensky
9faae6009e Merge branch 'master' into 'master'
Update formats

See merge request core-developers/forge!5315
2021-09-10 11:38:22 +00:00
Snoops
6b52b796e9 Merge branch 'format_updates' into 'master'
Format updates

See merge request paul_snoops/forge!1
2021-09-10 10:16:40 +00:00
Snoops
b62d9fd375 Update Vintage.txt 2021-09-10 10:10:23 +00:00
Snoops
7305f8e949 Update Legacy.txt 2021-09-10 10:03:46 +00:00
Snoops
e19062267f Update Standard.txt 2021-09-10 09:54:23 +00:00
Snoops
bd989f1e1d Update Extended.txt 2021-09-10 09:48:06 +00:00
Snoops
45ff8c8919 Update Oathbreaker.txt 2021-09-10 09:46:37 +00:00
Snoops
e686eaa0de Update Commander.txt 2021-09-10 09:38:44 +00:00
Snoops
58d660a682 Update Pauper.txt 2021-09-10 09:01:35 +00:00
Hans Mackowiak
63cc173c79 Merge branch 'flashbackCostFix' into 'master'
GameActionUtil: fix Flashback cost so it only replaces ManaCost

See merge request core-developers/forge!5310
2021-09-10 05:19:45 +00:00
Hans Mackowiak
7d7964aae3 GameActionUtil: fix Flashback cost so it only replaces ManaCost 2021-09-10 05:19:44 +00:00
Michael Kamensky
5dae60be29 Merge branch 'mid_9' into 'master'
MID - 9 Sep

See merge request core-developers/forge!5312
2021-09-10 04:09:29 +00:00
Michael Kamensky
8e8a383771 Merge branch 'fix' into 'master'
Small keyword fix

See merge request core-developers/forge!5313
2021-09-10 04:04:00 +00:00
Sol
39cd84f7f3 Update guardian_of_faith.txt 2021-09-10 03:52:52 +00:00
Northmoc
07bbd32af5 devoted_grafkeeper_departed_soulkeeper.txt 2021-09-09 22:18:27 -04:00
Northmoc
6ebff84f72 curse_of_silence.txt 2021-09-09 22:17:27 -04:00
Northmoc
d390be2812 blast_from_the_past.txt 2021-09-09 21:42:14 -04:00
Anthony Calosa
ffbfb06530 Merge branch 'fix' into 'master'
Quest mode precon: card is now implemented

See merge request core-developers/forge!5311
2021-09-10 01:00:38 +00:00
Northmoc
e22069021c card is now implemented 2021-09-09 20:50:22 -04:00
Northmoc
d82a412480 make all Coven hyphens long 2021-09-09 20:49:41 -04:00
Northmoc
b90b2477fd hobbling_zombie.txt 2021-09-09 20:48:39 -04:00
Northmoc
554f34c0f1 contortionist_troupe.txt 2021-09-09 20:48:16 -04:00
leriomaggio
b9d468bf70 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-09 20:20:16 +01:00
Michael Kamensky
8c49535c6e Merge branch 'mid_7' into 'master'
MID - 8 Sep

See merge request core-developers/forge!5309
2021-09-09 04:02:51 +00:00
Grimm
5f0656bf03 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into adventure 2021-09-09 03:56:39 +02:00
Grimm
88b6ac0964 commit res 2021-09-09 02:44:56 +02:00
Grimm
b5450d47d3 commit res 2021-09-09 02:43:59 +02:00
Grimm
7acb42a01c commit res 2021-09-09 02:42:14 +02:00
Northmoc
cd6b7963c4 geistflame_reservoir.txt 2021-09-08 19:27:56 -04:00
Grimm
84b6ebfec6 commit res 2021-09-09 00:02:22 +02:00
leriomaggio
2297f34ce2 Added full support to all Deckstats deck exports + bug fix&extra tests
Now DeckRecognizer supports all the exports of decks from Deckstats.net.
This now also includes card lists grouped by Rarity, CMC, and Mana Colours.

A new set of tests have been also added to test for the new non-card token types parsing, as well as a condition with multiple constraints imposed on the deck recogniser at a time. In particular, now all the combinations of constraints (also together) have been tested, and therefore the types of token returned has been adjusted.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-08 21:27:43 +01:00
Northmoc
f471d062cb life is lowercase in MtG syntax in this context 2021-09-08 08:18:39 -04:00
Northmoc
78b23e4316 heirloom_mirror_inherited_fiend.txt and ritual counters 2021-09-08 08:17:51 -04:00
Michael Kamensky
93a85b06ff Merge branch 'MID_update' into 'master'
MID update

See merge request core-developers/forge!5308
2021-09-08 04:03:34 +00:00
Grimm
70f8302bcf commit res 2021-09-08 03:49:54 +02:00
paul_snoops
8e865b939e MID update 2021-09-07 18:33:27 +01:00
paul_snoops
fda597a3c9 MID update 2021-09-07 15:05:31 +01:00
leriomaggio
20d9dbdb57 Perf Impro to Deck Editor Loading Issue #1847
This is another extra improvement which avoids setting up card catalog in current editor whenever it is actually **not** needed.

To do so, ItemPool now implements and equal method, which reflects to equality of contained items.
This is because card pool is set up multiple times whenever the Deck Editor tab is initialised - and the operation of setting up the catalog manager is particularly expensive (let alone useless when it's already done!)

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 11:46:44 +01:00
leriomaggio
7c1bcaaf34 Re-enabling Basic Lands in Rarity Statistics
This is done similarly in DeckStats (Rarity grouped) deck export.

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 11:43:09 +01:00
Michael Kamensky
c21c7b8471 Merge branch 'johnwilliams7-master-patch-18874' into 'master'
Update Online Promos.txt

See merge request core-developers/forge!5307
2021-09-07 10:17:23 +00:00
leriomaggio
c2e34573f8 Merge branch 'deck-importer-decks-file-format' of git.cardforge.org:leriomaggio/forge into deck-importer-decks-file-format 2021-09-07 10:44:26 +01:00
leriomaggio
e3eb012b20 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-07 10:43:40 +01:00
leriomaggio
ed8772c613 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-07 10:43:28 +01:00
Northmoc
9cc6c1772d brackish_trudge.txt fix bad SpellDescription 2021-09-07 10:43:22 +01:00
leriomaggio
43196e7c74 FIX a bug which caused the deck catalog not to update after saving the deck when current game type was not constructed!
This commit FIX #1961

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 10:43:22 +01:00
John Williams
36a5ae3573 Update Online Promos.txt 2021-09-07 08:33:20 +00:00
Anthony Calosa
70f6246941 Merge branch 'master' into 'master'
Update check for NYX

See merge request core-developers/forge!5306
2021-09-07 03:44:08 +00:00
Anthony Calosa
08af6a52db Update check 2021-09-07 11:42:21 +08:00
Michael Kamensky
2ccdfb7ce0 Merge branch 'MID_update' into 'master'
MID 06 Sep

See merge request core-developers/forge!5301
2021-09-07 03:38:58 +00:00
Michael Kamensky
d27b8e9a57 Merge branch 'mid_6' into 'master'
MID - 6 Sep

See merge request core-developers/forge!5302
2021-09-07 03:38:25 +00:00
Michael Kamensky
88b1206df2 Merge branch 'tweaks' into 'master'
MID – Various Q.O.L. fixes tied to Corpse Cobble

See merge request core-developers/forge!5300
2021-09-07 03:38:01 +00:00
Michael Kamensky
fad5798d2a Merge branch 'master' into 'master'
Update CardBG for PW and NYX

See merge request core-developers/forge!5305
2021-09-07 03:37:03 +00:00
Michael Kamensky
3fc6f9deef Merge branch 'TRT-master-patch-54277' into 'master'
Update forge-gui/res/cardsfolder/m/murktide_regent.txt

See merge request core-developers/forge!5299
2021-09-07 03:36:37 +00:00
Bug Hunter
2782ca0d1b Update forge-gui/res/cardsfolder/m/murktide_regent.txt 2021-09-07 03:36:36 +00:00
Anthony Calosa
ab14772304 Update CardBG for PW and NYX 2021-09-07 11:25:19 +08:00
Northmoc
4b0ae93dd2 allow reminder text insert for Flashback 2021-09-06 21:51:26 -04:00
Northmoc
355773ed98 tweak for prompt 2021-09-06 21:51:26 -04:00
Northmoc
c04a3944d3 remove "a" (for things like "Select a artifact") 2021-09-06 21:51:25 -04:00
Northmoc
cc9fbb8a13 Straighten out stringbuilder for Sac<X costs 2021-09-06 21:51:25 -04:00
Northmoc
4e96312f86 corpse_cobble.txt and token 2021-09-06 21:51:24 -04:00
Northmoc
68befe5951 add space 2021-09-06 21:51:24 -04:00
Northmoc
38482b7c40 brackish_trudge.txt fix bad SpellDescription 2021-09-06 21:51:24 -04:00
leriomaggio
00dd6d99b8 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-07 01:13:16 +01:00
leriomaggio
cafdfbc33b FIX a bug which caused the deck catalog not to update after saving the deck when current game type was not constructed!
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 01:11:49 +01:00
leriomaggio
84763e5dbc Adding support for deck name in Forge Deck Format
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 00:35:08 +01:00
leriomaggio
dabb40714e Updated translations and added new DeckStats classes to automate stats report generation with less duplications.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-07 00:24:35 +01:00
Bug Hunter
120edf85e4 Merge branch 'typo' into 'master'
brackish_trudge.txt fix bad SpellDescription

See merge request core-developers/forge!5303
2021-09-06 21:17:19 +00:00
Northmoc
db469affcc cant_stay_away.txt 2021-09-06 16:23:49 -04:00
Northmoc
d57c2d849d brackish_trudge.txt fix bad SpellDescription 2021-09-06 13:57:17 -04:00
Northmoc
9f139a8a35 foul_play.txt 2021-09-06 13:56:10 -04:00
Northmoc
2015a03c59 dawnhart_rejuvenator.txt 2021-09-06 13:49:47 -04:00
Northmoc
dda4dde655 stormrider_spirit.txt 2021-09-06 13:48:18 -04:00
Northmoc
21338a7f1e famished_foragers.txt 2021-09-06 13:47:11 -04:00
paul_snoops
2537cf4cd7 lunar frenzy fix 2021-09-06 18:43:52 +01:00
paul_snoops
f6ff8ca38c fixes 2021-09-06 18:30:14 +01:00
Northmoc
0ab8c24a1a arrogant_outlaw.txt 2021-09-06 13:13:56 -04:00
Northmoc
502d0685f6 apply spacing to the extra param part 2021-09-06 13:02:26 -04:00
Northmoc
5d35cd9f82 gisa_glorious_resurrector.txt add CheckSelfLKIZone param 2021-09-06 12:46:29 -04:00
paul_snoops
3e122fa76e MID 06 Sep 2021-09-06 17:26:55 +01:00
paul_snoops
a21488ee43 MID 06 Sep 2021-09-06 17:24:54 +01:00
Northmoc
813e5ccf1f GameActionUtil.java allow multiple extra params to be added to Flashback costs 2021-09-06 11:46:05 -04:00
leriomaggio
ef1ea8e60d FIX Issue #1413
This commit includes support to the XMage format in Deck Recognizer along with corresponding new tests and updates to labels for UI

Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-06 12:41:04 +01:00
leriomaggio
6118f67b08 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-06 12:09:28 +01:00
leriomaggio
f81e7364a1 Improvements to deck import labels (instructions)
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-06 12:09:12 +01:00
leriomaggio
151c6d3ec9 Removed displaying comment tokens, and unsued translation labels + impros to UI
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-06 12:08:06 +01:00
leriomaggio
54193e0ac0 Added support to TappedOut Markdown format, and to TOARENA MTGGOLDFISH export.
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-06 12:07:11 +01:00
Michael Kamensky
553dba687f Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-09-06 07:20:12 +03:00
Michael Kamensky
ac3afbdd8c Merge branch 'typo' into 'master'
primeval_titan.txt typos

See merge request core-developers/forge!5297
2021-09-06 04:19:47 +00:00
Michael Kamensky
9ddaacc8df Merge branch 'mid_5' into 'master'
MID - 5 Sep

See merge request core-developers/forge!5298
2021-09-06 04:19:21 +00:00
Northmoc
fd38b52007 rite_of_harmony.txt (Suthro) 2021-09-05 23:15:24 -04:00
Northmoc
552d082074 primeval_titan.txt typos 2021-09-05 23:00:38 -04:00
Northmoc
85fdda07b7 little more Flashback keyword tweaking - allows exact Oracle wording for complicated costs 2021-09-05 22:59:46 -04:00
Northmoc
c3a083749f light_up_the_night.txt 2021-09-05 22:58:39 -04:00
Northmoc
6123cf7fde sludge_monster.txt 2021-09-05 22:21:33 -04:00
leriomaggio
544b7af746 Fixed Typo in Deck Importer Win title
Signed-off-by: leriomaggio <valeriomaggio@gmail.com>
2021-09-06 02:06:42 +01:00
leriomaggio
8e5df641c4 Merge branch 'deck-importer-decks-file-format' of git.cardforge.org:leriomaggio/forge into deck-importer-decks-file-format 2021-09-06 01:58:27 +01:00
leriomaggio
60f93853c4 Revert "Replacing GetFilteredPoolWithCount with GetFilteredPool"
This reverts commit 64b72bbf89.
2021-09-06 01:56:14 +01:00
Bug Hunter
6847ef665a Update forge-gui/res/cardsfolder/b/body_double.txt 2021-09-06 01:55:43 +01:00
Tim Mocny
98d9dce88e MIC: Visions cycle and support (Flashback enhancements) 2021-09-06 01:55:43 +01:00
Tim Mocny
c6b8d83f3b MIC/MID - 4 Sep 2021-09-06 01:55:42 +01:00
klaxnek
e8b6505f88 Update es-ES.properties 2021-09-06 01:55:42 +01:00
Northmoc
38b762fe57 howl_of_the_hunt.txt 2021-09-06 01:55:42 +01:00
Northmoc
62e0a51f30 might_of_the_old_ways.txt 2021-09-06 01:55:42 +01:00
Northmoc
24d7134dae candlelit_cavalry.txt 2021-09-06 01:55:42 +01:00
Northmoc
ffb49ba542 pestilent_wolf.txt 2021-09-06 01:55:42 +01:00
Northmoc
879ce7e06a snarling_wolf.txt 2021-09-06 01:55:42 +01:00
Northmoc
d0b1f7d3fb festival_crasher.txt 2021-09-06 01:55:42 +01:00
Northmoc
9a2b2ab9c7 avacyns_memorial.txt 2021-09-06 01:55:42 +01:00
tool4EvEr
ae50a6ff5d Clean up 2021-09-06 01:55:42 +01:00
tool4EvEr
ba5ef78f31 Revert Comment out some currently unsupported cards in Commander precons 2021-09-06 01:55:42 +01:00
Anthony Calosa
3e9e9396b0 [Mobile] fix Adventure Card on "Art" mode 2021-09-06 01:55:42 +01:00
Northmoc
7c1dfaabdd baithook_angler_hook_haunt_drifter.txt 2021-09-06 01:55:42 +01:00
Northmoc
de468a8a80 GameActionUtil.java improve Disturb 2021-09-06 01:55:42 +01:00
Northmoc
b1fca235ba SpellAbility.java isDisturb boolean 2021-09-06 01:55:42 +01:00
Northmoc
334fba0996 GameActionUtil.java build Disturb SA 2021-09-06 01:55:42 +01:00
Northmoc
86c176506c CardProperty.java - various IntelliJ autocorrects 2021-09-06 01:55:42 +01:00
Northmoc
2d35bd7fcc add Disturb to AlternativeCost 2021-09-06 01:55:42 +01:00
Northmoc
3456981c5e Card.java Disturb keyword desc builder 2021-09-06 01:55:42 +01:00
Northmoc
75363a4041 beloved_beggar_generous_soul.txt 2021-09-06 01:55:42 +01:00
Northmoc
f176e62e8c Keyword.java - Disturb 2021-09-06 01:55:42 +01:00
Anthony Calosa
9ea7772d7b add Artist & adjust crop for modern/old frames 2021-09-06 01:55:42 +01:00
Anthony Calosa
6c339328f2 fix classic module crop on "art" mode 2021-09-06 01:55:42 +01:00
Anthony Calosa
9738d9faf5 fix theme logo, refactor fakeduals overlay 2021-09-06 01:55:41 +01:00
Anthony Calosa
c54421cdfc add alpha line design (dual lands) 2021-09-06 01:55:41 +01:00
Anthony Calosa
c9deab88bc distinguish hybrid and gold frames from manacost 2021-09-06 01:55:41 +01:00
Anthony Calosa
44951fa371 fix aftermath for art mode 2021-09-06 01:55:41 +01:00
Anthony Calosa
cbe1544707 fix facedown card details for split types 2021-09-06 01:55:41 +01:00
Anthony Calosa
de79b33cc9 fix facedown card art for flip types 2021-09-06 01:55:41 +01:00
Anthony Calosa
3251f5149b fix facedown card art for split types 2021-09-06 01:55:41 +01:00
Anthony Calosa
94e0fb7731 fix card detail for choicelist 2021-09-06 01:55:41 +01:00
Anthony Calosa
089598a125 update card renders 2021-09-06 01:55:40 +01:00
Anthony Calosa
ee9133be3d fix PW Crop 2021-09-06 01:55:40 +01:00
Anthony Calosa
32fda05aed fix NPE 2021-09-06 01:55:40 +01:00
Anthony Calosa
9bf67e7231 update names 2021-09-06 01:55:40 +01:00
Anthony Calosa
97cc59f535 [Mobile] added "Art" Border Masking Option & Card BG Textures 2021-09-06 01:55:40 +01:00
Northmoc
a3da960cf4 gisa_glorious_resurrector.txt 2021-09-06 01:55:40 +01:00
Northmoc
7fb3d18b6f wilhelt_the_rotcleaver.txt 2021-09-06 01:55:40 +01:00
Northmoc
05f9add443 jadar_ghoulcaller_of_nephalia.txt add AI tags 2021-09-06 01:55:40 +01:00
Northmoc
2abbcea1fb improve Decayed keyword trigger implementation 2021-09-06 01:55:39 +01:00
paul_snoops
fcbc873044 fixes 2021-09-06 01:55:39 +01:00
paul_snoops
6c5a7825ca Editions 2021-09-06 01:55:39 +01:00
paul_snoops
697d3497ca MID update 2021-09-06 01:55:39 +01:00
Northmoc
f1eaf9877b finish implementing Decayed keyword 2021-09-06 01:55:39 +01:00
Northmoc
e270720c56 jadar_ghoulcaller_of_nephalia.txt 2021-09-06 01:55:39 +01:00
Northmoc
152e4f4ebb b_2_2_zombie_decayed.txt token 2021-09-06 01:55:39 +01:00
Northmoc
744aac0c4f add Decayed keyword 2021-09-06 01:55:39 +01:00
Bug Hunter
860656f340 Update forge-gui/res/cardsfolder/p/promise_of_tomorrow.txt 2021-09-06 01:55:39 +01:00
Bug Hunter
c31e51e839 Update forge-gui/res/cardsfolder/d/devour_intellect.txt 2021-09-06 01:55:39 +01:00
Bug Hunter
2c9fcf3b95 Update forge-gui/res/cardsfolder/k/kathril_aspect_warper.txt 2021-09-06 01:55:39 +01:00
John Williams
f162fe5f85 Update Judge Gift Cards 2021.txt 2021-09-06 01:55:39 +01:00
John Williams
8544017a12 Update Judge Gift Cards 2021.txt 2021-09-06 01:55:39 +01:00
leriomaggio
fbde1f8e60 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-06 01:47:30 +01:00
leriomaggio
64b72bbf89 Replacing GetFilteredPoolWithCount with GetFilteredPool 2021-09-06 01:47:12 +01:00
leriomaggio
dfb2d7b9dc Updated with new TokenType Names 2021-09-06 01:46:43 +01:00
leriomaggio
26375e941a Updated according to latest TokenType names and DeckRecognizer APIs. 2021-09-06 01:46:13 +01:00
leriomaggio
e56b9183b1 Renamed validator for Main and Side. 2021-09-06 01:45:51 +01:00
leriomaggio
59e1203b0c Completely redesigned DeckImport with new panel for statistics and full support for i18n 2021-09-06 01:45:17 +01:00
leriomaggio
71793fb747 Added tests for latest additions in supporting MTGGoldfish (special) format for collector numbers.
DeckRecognizer now also support the (special) format for request lines in MTGGoldfish deck exports.
In Addition, changes to reduce comparisons, and general performance in card matching.
2021-09-05 20:44:03 +01:00
Bug Hunter
cf315e924f Merge branch 'TRT-master-patch-54258' into 'master'
Update forge-gui/res/cardsfolder/b/body_double.txt

See merge request core-developers/forge!5295
2021-09-05 18:30:29 +00:00
Bug Hunter
3449be1e75 Update forge-gui/res/cardsfolder/b/body_double.txt 2021-09-05 18:30:11 +00:00
Michael Kamensky
5188673551 Merge branch 'mic_visions' into 'master'
MIC: Visions cycle and support (Flashback enhancements)

See merge request core-developers/forge!5293
2021-09-05 04:01:27 +00:00
Tim Mocny
8166fd00c1 MIC: Visions cycle and support (Flashback enhancements) 2021-09-05 04:01:27 +00:00
Michael Kamensky
18ca012065 Merge branch 'mic_4' into 'master'
MIC/MID - 4 Sep

See merge request core-developers/forge!5294
2021-09-05 04:00:18 +00:00
Tim Mocny
5499f7f597 MIC/MID - 4 Sep 2021-09-05 04:00:13 +00:00
Michael Kamensky
5446a8b3a0 Merge branch 'klaxnek-master-patch-65069' into 'master'
Update es-ES.properties

See merge request core-developers/forge!5292
2021-09-05 03:59:38 +00:00
klaxnek
9fdab2a40c Update es-ES.properties 2021-09-04 21:20:49 +00:00
Anthony Calosa
73c4de209d Merge branch 'master' into 'master'
[Mobile] fix Adventure Card on "Art" mode

See merge request core-developers/forge!5291
2021-09-04 20:00:26 +00:00
Anthony Calosa
227f06e37f Merge remote-tracking branch 'remotes/core/master' 2021-09-05 03:54:01 +08:00
Anthony Calosa
d8842f8fb3 [Mobile] fix Adventure Card on "Art" mode 2021-09-05 03:53:37 +08:00
Michael Kamensky
d367f8abf9 Merge branch 'master' into 'master'
[Mobile] add Artist & adjust crop for modern/old frames

See merge request core-developers/forge!5290
2021-09-04 18:46:15 +00:00
Michael Kamensky
2d95c34990 Merge branch 'mic_3' into 'master'
MIC/MID - Sep 3

See merge request core-developers/forge!5287
2021-09-04 18:45:28 +00:00
Michael Kamensky
72d802dc19 Merge branch 'decks' into 'master'
Revert Comment out some currently unsupported cards in Commander precons

See merge request core-developers/forge!5289
2021-09-04 18:44:43 +00:00
tool4EvEr
50a1cf3a8f Clean up 2021-09-04 20:39:51 +02:00
Anthony Calosa
6b37213403 Merge remote-tracking branch 'remotes/core/master' 2021-09-04 21:07:32 +08:00
Northmoc
70a28208d6 howl_of_the_hunt.txt 2021-09-04 08:09:17 -04:00
Northmoc
bee62e193f might_of_the_old_ways.txt 2021-09-04 08:09:17 -04:00
Northmoc
e27b64b3df candlelit_cavalry.txt 2021-09-04 08:09:17 -04:00
Northmoc
3424948c47 pestilent_wolf.txt 2021-09-04 08:09:16 -04:00
Northmoc
1b752e8e71 snarling_wolf.txt 2021-09-04 08:09:16 -04:00
Northmoc
8944ab2f81 festival_crasher.txt 2021-09-04 08:09:15 -04:00
Northmoc
fe4cecf407 avacyns_memorial.txt 2021-09-04 08:09:15 -04:00
Anthony Calosa
cd47c591b3 add Artist & adjust crop for modern/old frames 2021-09-04 18:54:49 +08:00
tool4EvEr
3bf978991c Revert Comment out some currently unsupported cards in Commander precons 2021-09-04 11:33:44 +02:00
Michael Kamensky
d36c7677d7 Merge branch 'disturb' into 'master'
MID: add Disturb keyword

See merge request core-developers/forge!5285
2021-09-04 04:14:40 +00:00
Anthony Calosa
e1d8b5f01a Merge branch 'master' into 'master'
fix classic module crop on "art" mode

See merge request core-developers/forge!5288
2021-09-04 03:04:37 +00:00
Anthony Calosa
9c6f21adb4 fix classic module crop on "art" mode 2021-09-04 10:47:22 +08:00
Northmoc
4680f33b56 baithook_angler_hook_haunt_drifter.txt 2021-09-03 22:11:20 -04:00
Northmoc
2283116844 GameActionUtil.java improve Disturb 2021-09-03 22:11:20 -04:00
Northmoc
f28b91c0c2 SpellAbility.java isDisturb boolean 2021-09-03 22:11:20 -04:00
Northmoc
33b7a3a0bd GameActionUtil.java build Disturb SA 2021-09-03 22:11:20 -04:00
Northmoc
1ad30900fe CardProperty.java - various IntelliJ autocorrects 2021-09-03 22:11:20 -04:00
Northmoc
8e037b4f14 add Disturb to AlternativeCost 2021-09-03 22:11:20 -04:00
Northmoc
e4c938035c Card.java Disturb keyword desc builder 2021-09-03 22:11:20 -04:00
Northmoc
b817fbc6d1 beloved_beggar_generous_soul.txt 2021-09-03 22:11:20 -04:00
Northmoc
52a63c5d98 Keyword.java - Disturb 2021-09-03 22:11:20 -04:00
Anthony Calosa
26fb63b1f5 Merge branch 'master' into 'master'
fix theme logo, refactor fakeduals overlay

See merge request core-developers/forge!5286
2021-09-04 01:15:20 +00:00
Anthony Calosa
0457ae605d fix theme logo, refactor fakeduals overlay 2021-09-04 09:10:35 +08:00
Michael Kamensky
63c728f86d Merge branch 'master' into 'master'
[Mobile] added "Art" Border Masking Option & Card BG Textures

See merge request core-developers/forge!5278
2021-09-03 19:37:41 +00:00
Michael Kamensky
bc25b25d7d Merge branch 'dec' into 'master'
MID: improvements to Decayed keyword

See merge request core-developers/forge!5284
2021-09-03 19:37:07 +00:00
Michael Kamensky
6502573721 Merge branch 'MID_update' into 'master'
MID card scripts 03 Sep

See merge request core-developers/forge!5283
2021-09-03 19:36:23 +00:00
Northmoc
25798bb66e gisa_glorious_resurrector.txt 2021-09-03 14:01:39 -04:00
Anthony Calosa
16a291090e add alpha line design (dual lands) 2021-09-03 22:32:32 +08:00
Northmoc
b599bbfd18 wilhelt_the_rotcleaver.txt 2021-09-03 09:04:52 -04:00
Northmoc
622ae1e67c jadar_ghoulcaller_of_nephalia.txt add AI tags 2021-09-03 09:04:51 -04:00
Northmoc
c3b249ab9f improve Decayed keyword trigger implementation 2021-09-03 09:04:51 -04:00
paul_snoops
536a85bc06 fixes 2021-09-03 10:21:47 +01:00
paul_snoops
1dc1092333 Editions 2021-09-03 10:04:18 +01:00
paul_snoops
cbdd503184 MID update 2021-09-03 09:27:09 +01:00
Anthony Calosa
693aa9f344 distinguish hybrid and gold frames from manacost 2021-09-03 16:27:06 +08:00
Anthony Calosa
d3274ebeed Merge remote-tracking branch 'remotes/core/master' 2021-09-03 12:49:45 +08:00
Michael Kamensky
a52f915cf2 Merge branch 'dec' into 'master'
MID: new "decayed" keyword

See merge request core-developers/forge!5282
2021-09-03 04:26:08 +00:00
Michael Kamensky
aab3907fdb Merge branch 'TRT-master-patch-32261' into 'master'
Update forge-gui/res/cardsfolder/p/promise_of_tomorrow.txt

See merge request core-developers/forge!5281
2021-09-03 04:25:38 +00:00
Anthony Calosa
a45ba09d6c fix aftermath for art mode 2021-09-03 10:44:40 +08:00
Anthony Calosa
2777d3c65a fix facedown card details for split types 2021-09-03 10:14:59 +08:00
Anthony Calosa
348f72b349 fix facedown card art for flip types 2021-09-03 09:47:08 +08:00
Northmoc
3e668fb2fb finish implementing Decayed keyword 2021-09-02 21:32:25 -04:00
Northmoc
8ee9438684 jadar_ghoulcaller_of_nephalia.txt 2021-09-02 21:30:45 -04:00
Northmoc
164594d838 b_2_2_zombie_decayed.txt token 2021-09-02 21:30:36 -04:00
Anthony Calosa
35ee223de2 fix facedown card art for split types 2021-09-03 09:07:30 +08:00
Anthony Calosa
f2f1b3d873 Merge remote-tracking branch 'remotes/core/master' 2021-09-03 09:04:39 +08:00
Northmoc
d2630e5e76 add Decayed keyword 2021-09-02 20:57:47 -04:00
Bug Hunter
0ebd6abcc8 Update forge-gui/res/cardsfolder/p/promise_of_tomorrow.txt 2021-09-02 20:32:16 +00:00
Bug Hunter
7df2696e79 Merge branch 'TRT-master-patch-70638' into 'master'
Update forge-gui/res/cardsfolder/d/devour_intellect.txt

See merge request core-developers/forge!5280
2021-09-02 19:10:22 +00:00
Bug Hunter
c6dbeeaa98 Update forge-gui/res/cardsfolder/d/devour_intellect.txt 2021-09-02 19:09:41 +00:00
leriomaggio
83853280b6 Completely re-implemented and tested Matchers for DeckRecognizer
The new DeckRecognizer implementation comes fully tested to check the new multiple line request format supported.
The DeckRecognizer has been made very versatile for card recognition - supporting request with multiple formats - as well as for NON-CARD tokens including "Deck Name", "Deck Sections", and "Card (Core) Types".

There is also integration for constraints imposed on card matching due to
restrictions (in set) from Game Format, Deck Format (banned cards), and Date (Release Before).
In those cases, new Token Types will be returned (i.e. "IllegalCard" and "InvalidCard", respectively) that could be pretty-printed or emphasised in DeckImport.
2021-09-02 17:43:13 +01:00
leriomaggio
624dd62665 Added new method to getCard from Editions released before certain date, and filter (but using default card art preference) 2021-09-02 17:39:12 +01:00
leriomaggio
e50ce6c7b9 Added new testcase to test whether lowercase set code are also accepted 2021-09-02 17:37:58 +01:00
Anthony Calosa
fb26931520 fix card detail for choicelist 2021-09-02 21:23:45 +08:00
Anthony Calosa
30e7e3242a update card renders 2021-09-02 20:31:48 +08:00
Anthony Calosa
c50858e67d Merge remote-tracking branch 'remotes/core/master' 2021-09-02 20:29:20 +08:00
Michael Kamensky
d7d56d6fbe Merge branch 'TRT-master-patch-10861' into 'master'
Update forge-gui/res/cardsfolder/k/kathril_aspect_warper.txt

See merge request core-developers/forge!5279
2021-09-02 07:40:22 +00:00
Michael Kamensky
e75e5ecf8c Merge branch 'johnwilliams7-master-patch-31128' into 'master'
Update Judge Gift Cards 2021.txt

See merge request core-developers/forge!5277
2021-09-02 07:38:16 +00:00
Bug Hunter
930ebcd6c4 Update forge-gui/res/cardsfolder/k/kathril_aspect_warper.txt 2021-09-02 05:31:06 +00:00
Anthony Calosa
a88ac4ec00 fix PW Crop 2021-09-02 04:42:50 +08:00
Anthony Calosa
49d968a5d7 fix NPE 2021-09-02 03:56:08 +08:00
Anthony Calosa
9f21d17429 update names 2021-09-02 02:24:24 +08:00
Anthony Calosa
5690b0625c [Mobile] added "Art" Border Masking Option & Card BG Textures 2021-09-02 01:59:04 +08:00
leriomaggio
d8a79548ed Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-09-01 17:47:50 +01:00
John Williams
dfae166e34 Update Judge Gift Cards 2021.txt 2021-09-01 15:19:38 +00:00
John Williams
29c7aa2452 Update Judge Gift Cards 2021.txt 2021-09-01 15:18:50 +00:00
Grimm
eabec766a4 commit res 2021-08-31 20:27:25 +02:00
Grimm
655668c222 First playable 2021-08-31 20:16:16 +02:00
Michael Kamensky
cc8c17b0dd Merge branch 'phantom' into 'master'
Phantom Steed: Fix creating copies of tokens

See merge request core-developers/forge!5276
2021-08-31 14:03:40 +00:00
leriomaggio
4576f7be6f Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-08-31 08:49:41 +01:00
TRT
5d93b22b74 Fix creating copies of tokens 2021-08-31 09:09:17 +02:00
Michael Kamensky
f356f3ef5b Merge branch 'psdg' into 'master'
Sega Dreamcast cards :)

See merge request core-developers/forge!5275
2021-08-31 04:23:04 +00:00
Michael Kamensky
d5ccccf42b Merge branch 'johnwilliams7-master-patch-95033' into 'master'
Update Secret Lair Drop Series.txt

See merge request core-developers/forge!5273
2021-08-31 04:22:32 +00:00
Michael Kamensky
31f48b0565 Merge branch 'checkForManaSacrificeCost' into 'master'
checkForManaSacrificeCost: skip from autopay for now

See merge request core-developers/forge!5274
2021-08-31 04:22:29 +00:00
TRT
3a39ffa05e checkForManaSacrificeCost: skip from autopay for now 2021-08-30 22:35:05 +02:00
Northmoc
a30ddcf5ee velican_dragon.txt 2021-08-30 16:33:50 -04:00
Northmoc
ef488fc0d4 tornellan_protector.txt 2021-08-30 16:33:50 -04:00
Northmoc
faf3efdf74 sajis_torrent.txt 2021-08-30 16:33:49 -04:00
Northmoc
ff64b8f926 murgish_cemetery.txt 2021-08-30 16:33:49 -04:00
Northmoc
4def4271b0 ashuzas_breath.txt with Count$Random 2021-08-30 16:33:49 -04:00
Northmoc
025fa88aa4 lydari_elephant.txt 2021-08-30 16:33:49 -04:00
Northmoc
b583fe3a5e lydari_druid.txt 2021-08-30 16:33:49 -04:00
Northmoc
16f043f6a1 hapatos_might.txt 2021-08-30 16:33:49 -04:00
Northmoc
8a60d7006e camato_scout.txt 2021-08-30 16:33:49 -04:00
Northmoc
a67686ee8a ChooseTypeEffect support AtRandom 2021-08-30 16:33:49 -04:00
Northmoc
60ed3bf48b ashuzas_breath.txt 2021-08-30 16:33:49 -04:00
Northmoc
5c0ee31698 arden_angel.txt 2021-08-30 16:33:49 -04:00
Northmoc
4a4983cd6d Sega Dreamcast Cards edition file 2021-08-30 16:33:49 -04:00
John Williams
8560b8bd89 Update Secret Lair Drop Series.txt 2021-08-30 13:08:22 +00:00
Michael Kamensky
9996bef604 Merge branch 'patch-carddb-performance' into 'master'
Code to cover cases for Randomly generated Deck (from Archetypes)

See merge request core-developers/forge!5268
2021-08-30 08:15:21 +00:00
Michael Kamensky
f2b128985e Merge branch 'venture' into 'master'
Fix VentureAi

See merge request core-developers/forge!5272
2021-08-30 08:14:22 +00:00
TRT
93421a753d Fix VentureAi 2021-08-30 07:44:25 +02:00
Anthony Calosa
17f60dbfd8 Merge branch 'master' into 'master'
Update Venture Effect

See merge request core-developers/forge!5270
2021-08-29 13:21:48 +00:00
Anthony Calosa
eb0a6d47b1 updateTest 2021-08-29 21:19:30 +08:00
Anthony Calosa
d19f30e9ab Update Venture Effect 2021-08-29 21:11:42 +08:00
leriomaggio
24c31e9de9 Restored sort in CardPool using Collections to allow for Android comp. 2021-08-29 11:02:26 +01:00
leriomaggio
b1ed8565d3 FIXED typo in using iterator rather than keyset directly 2021-08-29 08:06:43 +01:00
leriomaggio
37283634b6 removed one line at the end of the file. 2021-08-29 07:58:59 +01:00
leriomaggio
872fca65a4 Extended CardDB API (w/ Tests) adding a Predicate filter for getCardFromEditions series
The getCardFromEditions series now include new variants (also for released before/after) accepting an extra filter to be
passed used as an extra filter for returned cards!
2021-08-29 01:40:45 +01:00
leriomaggio
831b40e753 Removed unused imports! 2021-08-28 21:13:59 +01:00
leriomaggio
924c57be70 FIX typo, and renamed vars! 2021-08-28 20:58:06 +01:00
leriomaggio
eea2b754ec Added new Lookup table for sortable collector number to avoid repeated computations for the same coll numbers!
FIX typo and made map final!
2021-08-28 20:55:33 +01:00
leriomaggio
e2034ebd51 Added new Lookup table for sortable collector number to avoid repeated computations for the same coll numbers! 2021-08-28 20:48:27 +01:00
leriomaggio
8d35f747c0 Restored original implementation (but still using iterator) 2021-08-28 20:47:03 +01:00
leriomaggio
a8acbf0491 Improved CountAll method implementation using Maps 2021-08-28 20:46:44 +01:00
leriomaggio
8768900cf8 FIX cardDb bug for lazy card loading when issuing a request with a non-existing set code.
Code FIX + Test
Now the implementation in CardDb will automatically try to get the card with that name from an existing edition
2021-08-28 18:29:07 +01:00
leriomaggio
a7d1e7398a FIX cardDb bug for lazy card loading when issuing a request with a non-existing set code.
Code FIX + Test
2021-08-28 17:54:53 +01:00
leriomaggio
876a00c101 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-08-28 17:16:24 +01:00
leriomaggio
b1c50599e9 Improvements to getFilteredPool method.
Previous implementation did not consider the amount per card included in the pool already - so the filtered pool always got 1 amount for each card passing the filter.

This should be no problem considering where this method is used. However, to make it portable to other cases, I made the implementation to report the same amount of cards in the new filtered pool.
2021-08-28 16:59:26 +01:00
leriomaggio
c72d8c87b7 Merge remote-tracking branch 'upstream/master' into patch-carddb-performance 2021-08-28 16:49:46 +01:00
leriomaggio
7613b27e6e Still scratching a little of performance impros by avoiding checking class instance.
When StatTypeFilter is used withing Deck Editor (with all PaperCard instance in ItemPool), avoiding checking instance class improves performance a bit (saving a couple of hundreds of milliseconds).

However, when this filter with also other inventory items (pack or deck), the same code as before is executed.
2021-08-28 16:47:10 +01:00
leriomaggio
42e91b60ea Code to cover cases for Randomly generated Deck (from Archetypes) not having collectorNumbers and Artist Set 2021-08-28 16:39:59 +01:00
Bug Hunter
ad88a0223f Merge branch 'keys' into 'master'
Fix checkForManaSacrificeCost check

See merge request core-developers/forge!5267
2021-08-28 05:54:58 +00:00
TRT
fc802e3395 Fix checkForManaSacrificeCost check 2021-08-28 07:54:11 +02:00
Bug Hunter
f8c35d7d9b Merge branch 'keys' into 'master'
Fix ImageKeys again

See merge request core-developers/forge!5266
2021-08-28 05:39:13 +00:00
TRT
1529ffe630 Fix ImageKeys again 2021-08-28 07:38:32 +02:00
Michael Kamensky
efb8ff00c4 Merge branch 'companion' into 'master'
Correctly setup ChooseCompanionAi

See merge request core-developers/forge!5264
2021-08-28 05:05:46 +00:00
Michael Kamensky
18ab34e3d5 Merge branch 'patch-carddb-performance' into 'master'
Card Hover FIX in Catalog + extra optimisation in performance and refactoring

See merge request core-developers/forge!5263
2021-08-28 05:05:21 +00:00
Anthony Calosa
6b16b7a18b Merge branch 'kevlahnota-master-patch-46581' into 'master'
fix ImageKeys.java

See merge request core-developers/forge!5265
2021-08-27 22:14:20 +00:00
Anthony Calosa
f6341a2bc9 fix ImageKeys.java 2021-08-27 22:13:46 +00:00
TRT
13695a5d49 Correctly setup ChooseCompanionAi 2021-08-27 22:38:36 +02:00
leriomaggio
cb82fc2f4b Removed unused imports 2021-08-27 20:56:43 +01:00
leriomaggio
27399440dd Merge remote-tracking branch 'upstream/master' into patch-carddb-performance 2021-08-27 20:05:49 +01:00
leriomaggio
b413b777bf Few impros for performance in itempool countAll
This implementation leverages on iterables.filter to filter all keys matching the input condition, which will be iterated for counting.
2021-08-27 20:05:12 +01:00
leriomaggio
7a7b23e593 Replacing with Lists.sort for better performance 2021-08-27 20:02:47 +01:00
leriomaggio
8f9dfea099 FIX card hover switch for Split and Modal cards in Card Catalog (and removed unused preference settings)
This commit FIXES a bug in card catalog which did not allow to switch the view (on hover) on cards with backface that have more than one instance!

The implementation has been simplified, also removing an unused attr!
The corresponding related Preference in settings has been also simplified to two values (being the other not even used anywhere in the game).
Therefore, now in game settings it will be possible to choose between "NEVER" switch card states, and "SWITCH on HOVER".
The default value in Constant has been updated accordingly!
2021-08-27 17:38:20 +01:00
leriomaggio
e92871a3c7 Replacing all calls to ImageUtil.hasBackFacePicture to corresponding new methods in PaperCard class (hasBackFace)
The ImageUtil.hasBackFacePicture has been removed completely as not being in use anymore after the refactoring.
2021-08-27 17:30:32 +01:00
leriomaggio
68fc6b0fd6 Replacing all calls to ImageUtil.getImageKey to corresponding new methods in PaperCard class 2021-08-27 17:24:11 +01:00
leriomaggio
ad7cad9a56 Added to iPaperCard new methods to get card art (alternate) keys, and whether there is a BackFace
These new methods will be used to cache the values of Image keys, as well as to determine whether a card has an alternate image (and so key).

Methods on CardImageKeys have been distinguished in names to not confuse them with similar names (but completely different use and output) from InventoryItems interface.
CardImageKeys for PaperCard are also cached in private attribute to reduce OPS in Card Catalogs that are consistently the same.
As for Tokens, the output of these two new methods is the same as getImageKey.

These methods have been also moved to interface (and so class) as this would result in better encapsulation (esp. hasBackFace - using CardRules within the card - similar to `Card` class).

ImageUtil.getImageKey calls will be replaced with these methods, limiting their use only to downloaders (when set attribute can be added or not). PaperCard will always add the set info).
2021-08-27 17:22:10 +01:00
Michael Kamensky
3ded936e03 Merge branch 'johnwilliams7-master-patch-21835' into 'master'
Update Promos

See merge request core-developers/forge!5261
2021-08-27 14:16:08 +00:00
Anthony Calosa
7e02aebb86 Merge branch 'patch-carddb-performance' into 'master'
FIX in ImageKeys.hasImage removing Pattern.quote for //

See merge request core-developers/forge!5262
2021-08-27 11:37:32 +00:00
leriomaggio
172c170b2d Merge remote-tracking branch 'upstream/master' into patch-carddb-performance 2021-08-27 12:13:23 +01:00
leriomaggio
dbe0e15674 FIX in ImageKeys.hasImage removing Pattern.quote for //
Pattern.quote has some corner cases on MAC not working (`ME/` ended up in three splits).
Resorted back to `//` as the key will never be a true file path anyway!
2021-08-27 12:12:57 +01:00
John Williams
6a9441b211 Add new file 2021-08-27 08:43:46 +00:00
John Williams
100bd57f24 Update Wizards Play Network 2021.txt 2021-08-27 08:37:26 +00:00
John Williams
3d2cf97b7f Update Magazine Inserts.txt 2021-08-27 08:34:26 +00:00
Michael Kamensky
33850f45ce Merge branch 'statics' into 'master'
Fixes for triggers depending on payment

See merge request core-developers/forge!5257
2021-08-27 08:23:49 +00:00
Anthony Calosa
905a855321 Merge branch 'patch-carddb-performance' into 'master'
FIX in ImageKeys.hasImage for Windows users

See merge request core-developers/forge!5260
2021-08-27 08:15:01 +00:00
leriomaggio
50dded5169 FIX in ImageKeys.hasImage using Pattern.quote to allow for Windows compatibility 2021-08-27 09:04:32 +01:00
Michael Kamensky
be34d5ee6c Merge branch 'patch-carddb-performance' into 'master'
CardDb Optimisations

See merge request core-developers/forge!5258
2021-08-27 04:20:40 +00:00
Michael Kamensky
6c41f6ad0d Merge branch 'random_lands_from_block_Momir' into 'master'
Random lands from block set code for Momir, MoJhoSto

See merge request core-developers/forge!5259
2021-08-26 08:50:54 +00:00
Anthony Calosa
290140bca3 Update GameType.java 2021-08-26 07:31:39 +00:00
leriomaggio
fb3db3d83a removed unused import 2021-08-26 08:05:53 +01:00
leriomaggio
970d9b4b8d removed unused import 2021-08-26 08:04:26 +01:00
leriomaggio
26ec34e019 Updated tests and capped artIndex to be two digits! 2021-08-26 07:23:09 +01:00
Anthony Calosa
7c56d50192 addAny must be random art 2021-08-26 05:43:41 +00:00
Anthony Calosa
9c172833e8 Update GameType.java 2021-08-26 04:45:44 +00:00
Anthony Calosa
74f86aa0c6 Update CardPool.java 2021-08-26 04:33:38 +00:00
Anthony Calosa
62ac73c916 Update CardPool.java 2021-08-26 04:12:37 +00:00
Anthony Calosa
35ded5bd95 Update GameType.java 2021-08-26 04:12:05 +00:00
Anthony Calosa
cb06cf9029 Update GameType.java 2021-08-26 03:55:12 +00:00
Anthony Calosa
cb82d570eb Update FModel.java 2021-08-26 03:48:01 +00:00
Anthony Calosa
847d165300 Update StaticData.java 2021-08-26 03:43:43 +00:00
leriomaggio
18a537bb5e Merge remote-tracking branch 'upstream/master' into patch-carddb-performance 2021-08-26 03:03:25 +01:00
leriomaggio
4fc0234ccc Improved performance w/ cached content for ImageKeys.hasImage
THe content of the setFolder is cached, filtering only images and key prefixes.
Working on prefixes only to get rid of all .full or .fullborder possible variations.
2021-08-26 03:02:52 +01:00
leriomaggio
c2ff9cf3c9 Re-using default ImageKeyFromSet from PaperCard instance
(This sort of things should be looked for, and optimised!)
2021-08-26 02:50:11 +01:00
leriomaggio
dde96156be Simplified condition on artIndex when retrieving relative path for card image. 2021-08-26 02:49:26 +01:00
leriomaggio
119ac88ad5 PaperCard now includes an ImageKeyFromSet attr. cached for later re-use! 2021-08-26 02:48:57 +01:00
leriomaggio
6fef56c8b7 Simplified isDirectoryWithFiles reducing I/O ops
(as per Grimm suggestions!)
2021-08-26 02:48:15 +01:00
leriomaggio
3acf7384e3 FIXED Sneaky bug that capped art index in DB requests to one digit!
(Added tests in cardDb and CardRequest to cover the case!)
2021-08-26 02:47:35 +01:00
leriomaggio
fed48e01c2 Pushed even further on improvements, making it run even faster than legacy
The huge improvement is due to a re-use of a getAllCards(Name, Predicate) method I started implementing into another branch for DeckImporter - re-using this method internally resolves a **lot** of duplicated iterations, and checks, which made the whole method to run even faster than the original legacy implementation!

An extra test method has been added to verify the corner case of querying for a card from editions with a very high (and weird) artIndex (like a land) - making sure that exact card is finally returned!
2021-08-25 21:03:15 +01:00
TRT
811766a77f Fixes for triggers depending on payment 2021-08-25 21:06:57 +02:00
leriomaggio
bccf6e0a27 new method with tests to get all cards with a filter predicate.
New method in Interface API to get all cards in a given setCode.
This has changed the implementation of getArtCount avoiding to iterate over all the possible card prints.
2021-08-25 19:39:54 +01:00
leriomaggio
02a241de12 worst case benchmark forcing all candidates with no image! 2021-08-25 19:03:38 +01:00
leriomaggio
f507edada5 Same optimisation using iterator on getCardFromSet 2021-08-25 18:49:03 +01:00
leriomaggio
7b70a34da0 further optimisation by using iterator rather than forloop with if-clauses 2021-08-25 18:44:59 +01:00
leriomaggio
eff9bc4d89 typo - has to return true not false! 2021-08-25 18:31:26 +01:00
leriomaggio
841c98dc12 First round of optimisation to CardDb
This optimisation removes redundant queries when looking for cards by specificed Art Preference.

getCardsFromSet has been worked-around, avoiding querying for potential candidates already in memory.
A preliminary benchmark/tests is implemented too.
2021-08-25 18:15:28 +01:00
leriomaggio
637aadc188 Forcing ImageKeys.hasImage to true in Mock objects!
The alternative case is covered by another specific testcase
2021-08-25 18:13:39 +01:00
Michael Kamensky
7462f796ec Merge branch 'cascade' into 'master'
Fix Cascade from opponents zone

See merge request core-developers/forge!5228
2021-08-25 17:07:12 +00:00
Bug Hunter
dddacd5215 Fix Cascade from opponents zone 2021-08-25 17:07:11 +00:00
leriomaggio
d8f19fdda2 First CardDb optimisation - reusing same strategy for lazyLoading
There was a FIXME/TODO comment I just have found out relating to putCard implementation being inefficient.
I've re-used the new-methods implemented for lazyCardLoading to improve existing implementation.
Also, now all the PaperCard constructors won't miss collectorNumber and ArtistNames as gathered from CardInSet in CardEdition - YAY
2021-08-25 12:28:13 +01:00
leriomaggio
f45f9f6c04 Updated Foil of PaperCard - re-using getFoiled method instead of useless removed constructor. 2021-08-25 12:23:00 +01:00
leriomaggio
c726cf6fb0 Various Optimisations for re-use and removed dead-code
Various optimisation to the PaperCard implementation:

- removed once and for all retrieveCollectorNumber method - we're now safe and sound that all PaperCard instances will have a collector Number matched.

- That is also made sure by removing all the many (legacy) class constructors. Only left two - with correct parameter passing!

- finally, collectorNumberSortingKey is created onces, and saved - as this won't change (for better performance)
2021-08-25 12:22:02 +01:00
leriomaggio
0db01499b3 Returning correct foiled card (no code reps) 2021-08-25 12:19:19 +01:00
leriomaggio
b49fe104fc Added constant for NO artist name (for later re-use) 2021-08-25 12:18:53 +01:00
leriomaggio
fb27b66621 Added docstring to getCardInSet method 2021-08-25 12:07:00 +01:00
leriomaggio
5608b110f8 Merge remote-tracking branch 'upstream/master' into deck-importer-decks-file-format 2021-08-25 08:44:50 +01:00
Michael Kamensky
cecaf5e7ea Merge branch 'changedCardKeywordsTraitsTable' into 'master'
Card: use TreeTable for changes Keywords and Traits

See merge request core-developers/forge!5256
2021-08-25 04:41:43 +00:00
Hans Mackowiak
a7a1dddf85 Card: use TreeTable for changes Keywords and Traits 2021-08-24 19:22:47 +02:00
Michael Kamensky
1db47de281 Merge branch 'SLD' into 'master'
SLD Update

See merge request core-developers/forge!5255
2021-08-24 09:55:40 +00:00
paul_snoops
1ca3483664 SLD Update 2021-08-24 10:07:49 +01:00
Michael Kamensky
f052372d22 Merge branch 'choosenum' into 'master'
fix ChooseNumberEffect range for random

See merge request core-developers/forge!5253
2021-08-23 16:06:24 +00:00
Michael Kamensky
0e1033a075 Merge branch 'Meerkov-master-patch-21510' into 'master'
Unban AI - Wu Spy

See merge request core-developers/forge!5254
2021-08-23 16:05:52 +00:00
Michael Kamensky
5a51c896d2 Merge branch 'johnwilliams7-master-patch-76098' into 'master'
Update Secret Lair Drop Series.txt

See merge request core-developers/forge!5252
2021-08-23 16:05:35 +00:00
Meerkov
d769e4f80b Unban AI - Wu Spy 2021-08-23 15:35:38 +00:00
Northmoc
1a2229afe6 fix ChooseNumberEffect range for random 2021-08-23 08:05:48 -04:00
John Williams
eeb3d594a1 Update Secret Lair Drop Series.txt 2021-08-23 09:22:09 +00:00
Michael Kamensky
ca6351a6ed Merge branch 'fix_possiblecard_removeaideck' into 'master'
Fix possiblecard with removeaideck

See merge request core-developers/forge!5251
2021-08-23 05:16:11 +00:00
Michael Kamensky
ad6acca93d Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-08-23 08:11:47 +03:00
Michael Kamensky
585cc9a955 Merge branch 'Meerkov-master-patch-37226' into 'master'
Unban Absorb Identity for AI

See merge request core-developers/forge!5248
2021-08-23 05:09:07 +00:00
Michael Kamensky
b7d4d91d01 Merge branch 'Meerkov-master-patch-70676' into 'master'
Unban AI from using abunas_chant

See merge request core-developers/forge!5249
2021-08-23 05:08:54 +00:00
Michael Kamensky
c9b204a29d Merge branch 'images' into 'master'
Card Renderer: do not display hidden cards

See merge request core-developers/forge!5250
2021-08-23 05:08:35 +00:00
Michael Kamensky
25fa631344 Merge branch 'fixDelayedDestroySacrifice' into 'master'
cards: fix cards with DelayedTrigger Sacrifice and Destory

See merge request core-developers/forge!5247
2021-08-23 05:06:55 +00:00
leriomaggio
e165805b8c Updated dialog mobile deck import (removed useless field) + translations 2021-08-23 00:33:44 +01:00
leriomaggio
a4982b29a9 Updated and NEW labels related to Deck Import and controllers.
Current labels have not been extended yet to other languages.
2021-08-23 00:08:38 +01:00
leriomaggio
7c2a2de12f Updates to new card formats, and support for new token types.
DeckRecognizer is **the** core of the new Deck Import functionalities.
DeckRecognizer has been extended with more flexible, and alternative reg/exp for better card recognition, as well as Deck sections, card types, and deck name.

When retrieving cards from the db, the recogniser will also incorporate validation to check against illegal (from set) or banned cards considering current game/deck format.

The new set of regexp guarantee support for several M:TG deck format, including deckstats.net; tappedout; mtg-arena; mtgo
2021-08-23 00:02:58 +01:00
leriomaggio
697cbcca18 Updated constructor invocation for DeckImport 2021-08-22 23:59:29 +01:00
leriomaggio
dc845b1f67 Improved controller to incorporate restrictions from game and deck formats
The new controller has been extended with new attributes to enable the validation to cards recognised from card list performed by DeckRecognizer.
in particular, the controller will keep track of current game format (i.e. allowedSetCodes), as well as current deck format.
Lastly, it extends support for import/replace deck
2021-08-22 23:58:56 +01:00
leriomaggio
e220d2157a Extended loadDeck method to support the non-complete replacement of underline model
The loadDeck overloading support passing in a boolean flag to check whether current deck (if any) should be erased or not.
This will be useful when importing cards with deck importer without clearing current deck.
2021-08-22 23:56:02 +01:00
leriomaggio
a6b590df61 New version of the Deck Import with support for new tokens, and more
First round of improvements to deck import now including the current game type in the title - and so keep track of current deck format.
This will be particularly relevant for the improved DeckRecognizer which incorporates a new validation mechanism for on-the-fly card validation.

Now Deck Importer also include a very thorough set of instructions as welcome message (still WIP - to be updated and refined!)

Last but not least, there is automatic option to Import cards, or to Replace current deck (if any)
2021-08-22 23:53:41 +01:00
leriomaggio
0b9a0f41cd Added method to make current game type accessible 2021-08-22 23:49:47 +01:00
Anthony Calosa
f59d1d106d Update PlayEffect.java 2021-08-22 22:44:35 +00:00
Anthony Calosa
5764e95529 Update CopyPermanentEffect.java 2021-08-22 22:42:47 +00:00
leriomaggio
0f8541154a Added method to **set** the name of a Deck
name attribute is now also accessible in write. This will make possible to set the name of a deck after the import process.
2021-08-22 23:30:06 +01:00
leriomaggio
89687a45ed Deck now integrates validation of Deck Sections
Validation of Deck Sections is applied only once per deck.
2021-08-22 23:28:48 +01:00
leriomaggio
057213342c DeckSection have been extended in order to support validation
Each section requiring Validation, now can incorporate a method for sanity check. This will be useful when the deck importer will import cards that are placed in the wrong section in the list.
2021-08-22 23:27:52 +01:00
leriomaggio
2950a567d8 New Method to filter a card pool based on a Predicate
This method will be used during the validation of each deck section.
2021-08-22 23:26:19 +01:00
leriomaggio
f541199cca New test cases for new methods + a few tests to check predicates and get cards by name 2021-08-22 23:25:19 +01:00
leriomaggio
215c47b61d Updated with new API methods implementations & new compose for request
CardRequest now include a compose (parameter) alternative to just create a CardRequest by name, and/or a boolean flag.
Other changes include actual implementation of the new API methods (see prev. commit)
2021-08-22 23:13:17 +01:00
leriomaggio
4448cfca68 Extended DB API with pair of new methods
GetCardFromEditions (series of) methods now support to specify
a Predicate to filter the set of available candidates when gathering all the same card prints (by name).

For this reason, a new Predicate (isLegal) has been added to include limitations (filtering) based on set codes.

getAllCards method now include the possibility to provide a predicate
as a filter.
2021-08-22 23:10:53 +01:00
TRT
bc1a91186f Card Renderer: do not display hidden cards 2021-08-22 21:14:21 +02:00
Meerkov
fa697d0e60 Unban AI from using abunas_chant 2021-08-22 16:48:02 +00:00
Meerkov
2948d816d0 Unban Absorb Identity for AI 2021-08-22 16:41:08 +00:00
Hans Mackowiak
4c231ace0f cards: fix cards with DelayedTrigger Sacrifice and Destory 2021-08-22 17:56:59 +02:00
Hans Mackowiak
949e338a29 Merge branch 'protection' into 'master'
Fix protection from colorless

See merge request core-developers/forge!5246
2021-08-22 15:01:52 +00:00
TRT
12e9728e01 Fix protection from colorless 2021-08-22 16:55:26 +02:00
Michael Kamensky
4573f2a32a Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-08-22 09:57:48 +03:00
Michael Kamensky
512048b185 Merge branch 'timestamp' into 'master'
Fix new timestamp on ETB

Closes #1955

See merge request core-developers/forge!5245
2021-08-22 03:39:13 +00:00
TRT
731803f620 Fix new timestamp on ETB 2021-08-21 22:15:28 +02:00
Anthony Calosa
b80efd103e Merge branch 'master' into 'master'
update textbox tint

See merge request core-developers/forge!5244
2021-08-21 06:29:32 +00:00
Anthony Calosa
b9205b4b1e update textbox tint 2021-08-21 14:20:47 +08:00
Michael Kamensky
2f78d910e1 Merge branch 'manafix' into 'master'
Fix generating mana from negative amount

See merge request core-developers/forge!5243
2021-08-21 03:54:37 +00:00
TRT
7b60877cae Fix generating mana from negative amount 2021-08-20 21:53:39 +02:00
Anthony Calosa
64c4d5cfd0 Merge branch 'master' into 'master'
Update land watermarks

See merge request core-developers/forge!5242
2021-08-20 11:25:59 +00:00
Anthony Calosa
2c3df8842f remove unused variables 2021-08-20 19:25:10 +08:00
Michael Kamensky
341edbc653 Merge branch 'johnwilliams7-master-patch-59848' into 'master'
Update Wizards Play Network 2021.txt

See merge request core-developers/forge!5241
2021-08-20 11:24:42 +00:00
Anthony Calosa
d62a6333a3 Update land watermarks 2021-08-20 19:11:18 +08:00
John Williams
2b6431744f Update Wizards Play Network 2021.txt 2021-08-20 09:53:11 +00:00
Michael Kamensky
1e5b3d09d1 Merge branch 'npe' into 'master'
Fix NPE for UntilCommand from ReplacementEffect

See merge request core-developers/forge!5239
2021-08-20 07:27:49 +00:00
Michael Kamensky
ac42912c77 Merge branch 'master' into 'master'
Add Forge SetLogo for Desktop and Mobile

See merge request core-developers/forge!5240
2021-08-20 07:27:31 +00:00
Anthony Calosa
b355d7fc84 Add Forge SetLogo for Desktop and Mobile
Common, Uncommon, Rare, Mythic and Special Forge logos
2021-08-20 13:22:09 +08:00
Anthony Calosa
3f65f56b31 Merge remote-tracking branch 'remotes/core/master' 2021-08-20 13:11:15 +08:00
TRT
3c32828138 Fix costs 2021-08-19 22:31:36 +02:00
TRT
dd6999eaa7 Fix NPE when adding Command from ReplacementEffect 2021-08-19 20:08:23 +02:00
Michael Kamensky
28c3cd9d6d Merge branch 'twosat-master-patch-92667' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5238
2021-08-19 15:49:34 +00:00
Andreas Bendel
a6c08ae72c Update de-DE.properties
retranslated AllowCustomCardsInDecks
added missing d in Bildspeicher in line 1057
2021-08-19 14:49:39 +00:00
Anthony Calosa
6d13ecaa22 Merge remote-tracking branch 'remotes/core/master' 2021-08-19 20:37:50 +08:00
Anthony Calosa
0b17072d45 Merge branch 'kevlahnota-master-patch-39000' into 'master'
Update ImageKeys.java

See merge request core-developers/forge!5237
2021-08-19 12:34:23 +00:00
Anthony Calosa
e1a3c722cd Update ImageKeys.java 2021-08-19 12:33:07 +00:00
Anthony Calosa
8a4f78849f Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!5236
2021-08-19 12:30:15 +00:00
Churrufli
87ccfe1889 Net Decks Archive Updates 2021-08-19 12:17:45 +02:00
Anthony Calosa
e513a61fda Merge remote-tracking branch 'remotes/core/master' 2021-08-19 11:46:12 +08:00
Michael Kamensky
d8d94b7833 Merge branch 'fixes' into 'master'
Fix Shifting Shadow trigger

See merge request core-developers/forge!5235
2021-08-18 13:00:39 +00:00
tool4EvEr
e88f8c9672 Clean up 2021-08-18 14:36:24 +02:00
tool4EvEr
f44eca100a Fix Shifting Shadow trigger 2021-08-18 13:26:50 +02:00
Anthony Calosa
f7daf44775 Merge remote-tracking branch 'remotes/core/master' 2021-08-18 14:51:09 +08:00
Michael Kamensky
a2a66f4084 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-08-18 07:29:58 +03:00
Michael Kamensky
22857352c1 Merge branch 'fix-fatpacks' into 'master'
Fix broken bundles

See merge request core-developers/forge!5234
2021-08-18 03:37:11 +00:00
friarsol
b2488d9779 Fix broken bundles 2021-08-17 23:10:43 -04:00
Grimm
51f8d08a05 Built on server test 2021-08-17 18:53:29 +02:00
Grimm
b92d8a476f Built on server test 2021-08-17 18:30:11 +02:00
Grimm
62521f56ba Built on server test 2021-08-17 18:09:57 +02:00
Michael Kamensky
d377e88b02 Merge branch 'Xyx-master-patch-68244' into 'master'
Update tempt_with_discovery.txt: RepeatOptionalMessage$ fixed (their -> your).

See merge request core-developers/forge!5233
2021-08-17 15:20:37 +00:00
Jochem H
354c9ccb4f Update tempt_with_discovery.txt: RepeatOptionalMessage$ fixed (their -> your). 2021-08-17 10:09:54 +00:00
Anthony Calosa
ea446db71e Merge branch 'kevlahnota-master-patch-69962' into 'master'
Update ImageKeys.java

See merge request core-developers/forge!5232
2021-08-17 09:11:55 +00:00
Anthony Calosa
96f8dc0791 Update ImageKeys.java 2021-08-17 09:11:10 +00:00
Anthony Calosa
3b058e20ec Merge remote-tracking branch 'remotes/core/master' 2021-08-17 05:47:09 +08:00
Anthony Calosa
82318426a8 Merge branch 'kevlahnota-master-patch-26283' into 'master'
Update J21.txt

See merge request core-developers/forge!5231
2021-08-16 21:44:49 +00:00
Anthony Calosa
9f2911d492 Update J21.txt 2021-08-16 21:44:14 +00:00
Anthony Calosa
511eef9b22 Merge remote-tracking branch 'remotes/core/master' 2021-08-17 01:19:56 +08:00
Anthony Calosa
6545470f09 Merge branch 'twosat-master-patch-40221' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5230
2021-08-16 17:19:04 +00:00
Andreas Bendel
1bb2326a1d Update de-DE.properties
corrected german translation reffering Preferred Card Art
in this case card art should not be translated as Kartenkunst, Kartenbild is better
not erverything can be translated literally (both ways)
2021-08-16 17:16:58 +00:00
Anthony Calosa
73065e54d7 Merge remote-tracking branch 'remotes/core/master' 2021-08-17 00:22:32 +08:00
Michael Kamensky
6a009977f8 Merge branch 'master' into 'master'
Support Set lookup for J21 and other future sets.

See merge request core-developers/forge!5229
2021-08-16 15:12:04 +00:00
Anthony Calosa
7d80a663a4 Merge remote-tracking branch 'remotes/core/master' 2021-08-16 22:39:03 +08:00
Hans Mackowiak
e4625c6306 Update ComputerUtilCost.java : Cherry Pick NPE fix 2021-08-16 11:34:17 +00:00
Anthony Calosa
6a99ee00f1 Simulation test don't need setlookup 2021-08-16 13:42:05 +08:00
Anthony Calosa
4c09b11b63 remove redundant code 2021-08-16 12:48:19 +08:00
Anthony Calosa
3d322e47ee Support Set lookup for J21 and other future sets.
Forge loads all files found on the setlookup folder.
Example J21.txt (J21 set code) contains a list of set codes (sorted from Newest to Oldest beforehand) to lookup for images on other sets.
2021-08-16 12:06:20 +08:00
Michael Kamensky
dfd448a323 Merge branch 'master' into 'master'
Set X cost for AnimateAI, add a couple AlwaysOnDiscard logic hints

See merge request core-developers/forge!5227
2021-08-15 11:46:17 +00:00
Michael Kamensky
c1043e3b9d - Delete an accidentally committed file. 2021-08-15 14:45:47 +03:00
Michael Kamensky
13747b8fd6 - Set X cost for AnimateAi 2021-08-15 14:43:43 +03:00
Michael Kamensky
b5ade0c7bc - More AlwaysOnDiscard AI logic hints. 2021-08-15 14:40:47 +03:00
Michael Kamensky
4f8055cfdc Merge branch 'master' into 'master'
Improve the CostDiscard logic a little for cases where CARDNAME itself is discarded.

See merge request core-developers/forge!5226
2021-08-15 06:41:36 +00:00
Michael Kamensky
de4072f0c8 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-08-15 09:35:33 +03:00
Michael Kamensky
207d8fc97c Merge branch 'fix_ai_x_cannot_be_zero' into 'master'
Adds check for AI when X cost is not allowed to be zero

See merge request core-developers/forge!5224
2021-08-15 06:33:42 +00:00
Michael Kamensky
43c68ddfcb - Improve the CostDiscard logic a little for cases where CARDNAME itself is discarded. 2021-08-15 09:29:55 +03:00
Michael Kamensky
16f7ac2949 Merge branch 'NPE' into 'master'
Fix NPE with Thunderous Might

See merge request core-developers/forge!5223
2021-08-15 04:34:33 +00:00
Wendell Wilkerson
9da3686ecb Adds check for X cannot be zero for AI player 2021-08-14 23:34:18 -05:00
tool4EvEr
e0e5d212f6 Clean up 2021-08-14 23:28:36 +02:00
tool4EvEr
d304655ecd Fix NPE with Thunderous Might 2021-08-14 21:19:51 +02:00
Michael Kamensky
afae2ef25a Merge branch 'manabondCounter' into 'master'
moved ManaBond counter into Engine

Closes #1950

See merge request core-developers/forge!5222
2021-08-14 14:14:09 +00:00
Hans Mackowiak
0a46d9ebc8 moved ManaBond counter into Engine 2021-08-14 15:38:56 +02:00
Michael Kamensky
5d51cf468e Merge branch 'collector-number-in-card-list-and-card-db-refactoring' into 'master'
Card Art Preference, New Feature for "Smart Selection" of Card Art in Decks, Refactoring CardDb w/ Tests & Various FIXES

See merge request core-developers/forge!5220
2021-08-14 10:36:39 +00:00
Michael Kamensky
c2ee17050e Merge branch 'tappay' into 'master'
Fix TapXType & CostSacrifice payment fails

See merge request core-developers/forge!5213
2021-08-14 10:35:26 +00:00
Bug Hunter
b7eaca6483 Fix TapXType & CostSacrifice payment fails 2021-08-14 10:35:25 +00:00
Michael Kamensky
e0435aa309 Merge branch 'gamestate' into 'master'
Fix GameState for partner commanders

See merge request core-developers/forge!5221
2021-08-14 10:34:26 +00:00
tool4EvEr
65de007894 Fix GameState for partner commanders 2021-08-14 10:04:44 +02:00
leriomaggio
838f817be7 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-14 08:27:09 +01:00
Michael Kamensky
f6b8a41775 Merge branch 'small_fixes' into 'master'
Small edition fixes

See merge request core-developers/forge!5219
2021-08-14 04:27:39 +00:00
Michael Kamensky
01da67676d Merge branch 'lost' into 'master'
Fix life lost triggers

See merge request core-developers/forge!5218
2021-08-14 04:27:08 +00:00
Michael Kamensky
f919f90974 Merge branch 'TRT-master-patch-72745' into 'master'
Fixes for Grist

See merge request core-developers/forge!5217
2021-08-14 04:26:31 +00:00
Bug Hunter
c9d88ae384 Fixes for Grist 2021-08-14 04:26:30 +00:00
leriomaggio
d72d48a11f FIXED bug for unique filter with missing break statement and reverse for correct iteration 2021-08-14 01:10:02 +01:00
leriomaggio
017a4c579e Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-14 00:12:27 +01:00
paul_snoops
d9411ae2a2 Small edition fixes 2021-08-13 23:27:07 +01:00
tool4EvEr
be81ba5e15 Fix life lost triggers 2021-08-13 21:25:24 +02:00
Michael Kamensky
33959fc087 Merge branch 'conspiracy' into 'master'
Fix Conspiracy Theorist

See merge request core-developers/forge!5216
2021-08-13 11:46:55 +00:00
Bug Hunter
1084a972c1 Fix Conspiracy Theorist 2021-08-13 11:46:55 +00:00
leriomaggio
9e3d97b452 Finally added option in settings for smart card art selection in Mobile Settings pane too. 2021-08-13 11:37:17 +01:00
leriomaggio
258f57e080 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-13 11:25:38 +01:00
leriomaggio
6d8e935203 FIX a but that avoided Brawl card catalog to properly distribute art indices of cards
This FIX relies on the new method in CardDb to query cards by also using collector numbers.
This has solved the issue of repeated card index/images in card catalog for Brawl (or any other limited game format in the future)
2021-08-13 11:16:02 +01:00
leriomaggio
afaed6fea5 RENEWED and Refined implementation of getUnique for cards, also taking into account current Card Art Preference
getUnique previously returned random results, based on the internal order in which entries were found.

Now, filtering by Unique Cards in Catalog is aware of the current Cart Art Preference
Also, the algorithm takes into account the case in which card image is missing.
In that case, the method tries to fill in the gaps with those alternatives having images. If not possible, the original entries are returned.
2021-08-13 11:14:31 +01:00
leriomaggio
b870d519c9 Updating Deck to use the new method in StaticData to get Card Art Preference Name
(Forgot to include this in prev. commit)
2021-08-13 10:19:37 +01:00
leriomaggio
b09b5972ab FORCING all Deck Editors to not have a Unique Cards Only filter 2021-08-13 10:17:51 +01:00
leriomaggio
d171170c45 FIX bug allowing WantUnique filter possible even if alwaysNonUnique is set to true 2021-08-13 10:17:14 +01:00
leriomaggio
50be83ee9d Disabling Unique Cards Only filter for Deck Editors (completely useless and misleading) 2021-08-13 10:16:32 +01:00
leriomaggio
beaf98793b Renamed method to retrieve card art preference name and new method to return actual card art preference instance. 2021-08-13 10:15:08 +01:00
Michael Kamensky
678bd9a9e1 Merge branch 'osgir' into 'master'
Fix Osgir looping too much

See merge request core-developers/forge!5214
2021-08-12 19:48:19 +00:00
leriomaggio
bd2971d6e9 Smart Card Art Selection Options and Preferred Art Updated for all Languages 2021-08-12 17:41:25 +01:00
leriomaggio
4b1e9b6c0c Improved Implementation for Card Art Optimisation
The new implementation now contains a completely refactored version of the algorithm, also including the invocation of the latest method for getAlternativeCardPrint in StaticData (with extra statistics paramenters gathered from current pool). This include optimisation for card frame, and cards from Expansion sets.

Moreover, the new implementation now automatically distribute card arts for **all** the cards in the pool - regardless they need to be "replaced" with alternative print or not.

THE ONLY case when this is not happening is when there is NO card to update in the current pool. This makes sense as this means editions has been specified, so the Deck won't receive any UNDESIRED alteration.
2021-08-12 16:35:08 +01:00
leriomaggio
e54916e837 Extended API with new methods to gather Pool Statistics and the Pivot CardEdition
CardPool API has been extended by including utility methods to gather specific statistics about a cardPool. These statistics include:
- Distribution (card count frequency) of the Card Edition included in the Pool
- Distribution of the Card Edition Type included in the Pool
- Retrieving the most common Card Edition Type among those included in the Pool
- Determine whether or not the Pool "isModern" (i.e. the majority of cards is gathered from Modern Sets)
- get the PivotCardEdition: this is the cornerstone of card art optimisation for decks

The PivotCardEdition is the edition that will be considered the threshold boundary for cards in the pool. Any decision of card arts for other cards will be considered based on the PivotEdition, that is "alternativeCardPrint" released BEFORE or AFTER (depending on the current Card Art Preference) the PIVOT EDITION RELEASE DATE.

Also, this commit includes an optimisation in add method implementation, getting rid of lots of duplicated code!
2021-08-12 16:30:33 +01:00
leriomaggio
13429991ee Updated method call reflecting the API change in StaticData 2021-08-12 16:18:01 +01:00
leriomaggio
788c2d8c14 Better renaming to existing methods for Card Art Preference and NEW getAlternativeCardPrint implementations
Methods related to Card Art Preference Settings, and for Card Art Smart Selection have been renamed with better wording.

Most importantly, StaticData now includes a new method to retrieve the number of art count for a given PaperCard, as well as a completely refactored and improved method for getAlternativeCardPrint.
In particular, the class now provides three different implementation of getAlternativeCardPrint, with the more sophisticated one also including normalisation wrt. the card frame, and whether or not the chosen alternative print should be gathered from an Expansion edition.

All these specialisation are part of the "Card Art Optimisation" algorithm included in Deck, and instructed by statistics gathered from Card Pool (next commit)
2021-08-12 16:17:31 +01:00
leriomaggio
000622cfae Added MEMO comment to get rid of retrieveCollectorNumber method 2021-08-12 15:52:58 +01:00
leriomaggio
21da278eec Aligned to latest constructor including Artist Name for foiled version. 2021-08-12 15:52:11 +01:00
Michael Kamensky
39722f9e26 Merge branch 'TRT-master-patch-54796' into 'master'
Update forge-gui/res/cardsfolder/h/hellrider.txt

See merge request core-developers/forge!5215
2021-08-12 11:57:02 +00:00
Hans Mackowiak
f935b30632 Mercurial Transformation: remove Card and Sub Types 2021-08-12 11:03:25 +00:00
Bug Hunter
3522220938 Update forge-gui/res/cardsfolder/h/hellrider.txt 2021-08-12 06:19:17 +00:00
tool4EvEr
aaa195ca38 Fix Osgir looping too much 2021-08-11 23:54:40 +02:00
Michael Kamensky
dc03ff599c Merge branch 'editions_update' into 'master'
Update J21 and SLD

See merge request core-developers/forge!5211
2021-08-11 18:21:55 +00:00
Michael Kamensky
dad9811bad Merge branch 'Williams-master-patch-56974' into 'master'
Update Judge Gift Cards 2021.txt

See merge request core-developers/forge!5212
2021-08-11 13:23:48 +00:00
leriomaggio
a195bfd2b6 Minor adjustment to getArtCount implementation. 2021-08-11 08:16:21 +01:00
leriomaggio
f0e1d123b2 FIX Issue #1948
DeckChooser uses it's own `selectedDeckType` to get current selected deck type (instead of querying it from deckComboBox) to update forge perferences, accordingly.
2021-08-11 08:14:47 +01:00
leriomaggio
e71a44e76e FIX Issue #1949
All the NetDeckXX classes now traverse their corresponding download dir recursively to look for deck files to load.
So far, from what I can tell, this is only necessary to correctly (re)load Net Decks >> Pro Tour.

However, this opens up the possibility to enable Net Decks to be organised in subfolders that will still be loaded back into Forge.
2021-08-11 08:08:51 +01:00
leriomaggio
8f99123059 Add new method to traverse and extract all directories recursively given a FilenameFilter
This method is part of the FIX for Issue #1949, that will be invoked by all the NetDeckXXX classes.
2021-08-11 08:05:08 +01:00
John
491826004c Update Judge Gift Cards 2021.txt 2021-08-11 06:27:58 +00:00
Michael Kamensky
3681a0ac43 Merge branch 'combat' into 'master'
Small combat fixes for Planeswalkers

See merge request core-developers/forge!5210
2021-08-11 03:56:58 +00:00
Michael Kamensky
2fde82502b Merge branch 'egon' into 'master'
Fix Egon exiling single card

See merge request core-developers/forge!5209
2021-08-11 03:56:31 +00:00
Michael Kamensky
69358cd77f Merge branch 'fix' into 'master'
various fixes

See merge request core-developers/forge!5208
2021-08-11 03:56:01 +00:00
Sol
a3049e1d3e Fix missing booster definition crash 2021-08-11 00:55:21 +00:00
leriomaggio
fd7e5b1bba Added test case to verify that null is returned whenever a request for a card after date of release of latest edition ever is requested. 2021-08-11 00:54:04 +01:00
paul_snoops
a0332dda19 Update J21 and SLD 2021-08-10 23:42:03 +01:00
tool4EvEr
805e65d30c Small combat fixes for Planeswalkers 2021-08-10 21:10:45 +02:00
tool4EvEr
41ce9920ae Fix Egon exiling single card 2021-08-10 19:28:38 +02:00
Northmoc
f25e51d8f2 koma_cosmos_serpent.txt fix stackdesc 2021-08-10 12:49:52 -04:00
Northmoc
931ed2b4ef rals_dispersal.txt fix typo 2021-08-10 12:44:06 -04:00
Northmoc
baf7c84bf9 runeforge_champion.txt - add OriginAlternative$ Graveyard 2021-08-10 12:43:48 -04:00
Michael Kamensky
b049c8c09b Merge branch 'narfi' into 'master'
Narfi round 2

See merge request core-developers/forge!5206
2021-08-10 16:09:07 +00:00
Michael Kamensky
80154de19d Merge branch 'update_skyshroud_ambush' into 'master'
Update Skyshroud Ambush implementation

See merge request core-developers/forge!5207
2021-08-10 16:08:53 +00:00
Alumi
8c1a1da2ee Update Skyshroud Ambush implementation 2021-08-10 16:08:52 +00:00
Northmoc
9c47e7fd36 support "Optional"/"OptionPrompt" in RepeatEachEffect 2021-08-09 19:04:50 -04:00
Northmoc
05fa2bb7be king_narfis_betrayal.txt v 2.0 2021-08-09 19:04:10 -04:00
Sol
eacda0596c Update toralf_god_of_fury_toralfs_hammer.txt 2021-08-09 15:18:37 +00:00
Anthony Calosa
97e69e70a7 Merge branch 'kevlahnota-master-patch-18734' into 'master'
Update VStack.java

See merge request core-developers/forge!5205
2021-08-09 11:48:00 +00:00
Anthony Calosa
4986b31a50 Update VStack.java 2021-08-09 11:47:08 +00:00
Hans Mackowiak
6ca9f1b195 fix CARDNAME enters the battlefield tapped description 2021-08-09 07:27:20 +02:00
Michael Kamensky
ab3a410026 Merge branch 'fix' into 'master'
Fix ArithmeticException

See merge request core-developers/forge!5204
2021-08-09 04:05:35 +00:00
tool4EvEr
9db88b6d62 Fix ArithmeticException 2021-08-08 23:01:53 +02:00
Michael Kamensky
723c38e7bd Merge branch 'reset' into 'master'
Clear manaPaid before Targeting

See merge request core-developers/forge!5203
2021-08-08 16:53:44 +00:00
Michael Kamensky
e3e201ddc0 Merge branch 'narfi' into 'master'
king_narfis_betrayal.txt tidy up Exile process

See merge request core-developers/forge!5199
2021-08-08 16:52:16 +00:00
Michael Kamensky
512b6e78d7 Merge branch 'master' into 'master'
fix translations

See merge request core-developers/forge!5201
2021-08-08 16:51:25 +00:00
Michael Kamensky
a36f935144 Merge branch 'charm' into 'master'
Fix missing Charm triggers

See merge request core-developers/forge!5202
2021-08-08 16:50:26 +00:00
Michael Kamensky
76e7bb9530 Merge branch 'blockfix' into 'master'
Fix onlyOneBlockerPerOpponent

See merge request core-developers/forge!5200
2021-08-08 16:48:24 +00:00
tool4EvEr
7afc17b514 Clean up 2021-08-08 17:09:58 +02:00
tool4EvEr
aae01f913e Fix chooser 2021-08-08 16:55:58 +02:00
tool4EvEr
daf2075075 Fix missing Charm triggers 2021-08-08 15:44:49 +02:00
tool4EvEr
3bdbb5bfbf Clear manaPaid before Targeting 2021-08-08 15:09:51 +02:00
CCTV-1
e77c869ae7 fix translate key:'lblNetArchivePauperDecks' missspell. 2021-08-08 20:50:15 +08:00
tool4EvEr
e5f53febf8 Fix onlyOneBlockerPerOpponent 2021-08-08 14:42:43 +02:00
Northmoc
64cbeec265 king_narfis_betrayal.txt tidy up Exile process 2021-08-08 08:35:42 -04:00
Michael Kamensky
0b08b15617 Merge branch 'ambush' into 'master'
J21: Skyshroud Ambush

See merge request core-developers/forge!5191
2021-08-08 02:10:22 +00:00
Michael Kamensky
2987ebd974 Merge branch 'changeszoneLKI' into 'master'
support a tag for use of LKI with any ChangesZone triggers with any Origin/Destination

See merge request core-developers/forge!5198
2021-08-08 02:08:43 +00:00
Michael Kamensky
6e90ccf579 Merge branch 'maylook' into 'master'
Fix looking at cards too early

See merge request core-developers/forge!5189
2021-08-08 02:07:43 +00:00
Michael Kamensky
007a0b9797 Merge branch 'deathtouchFix' into 'master'
GameAction: fix deathtouch with wither

See merge request core-developers/forge!5197
2021-08-08 02:07:01 +00:00
Northmoc
efbca3ac49 support a tag for use of LKI with any ChangesZone triggers with any Origin/Destination 2021-08-07 16:40:28 -04:00
tool4EvEr
8f62c5f8f0 Clean up 2021-08-07 21:11:22 +02:00
Hans Mackowiak
15d28ed5ce GameAction: fix deathtouch with wither 2021-08-07 19:16:33 +02:00
Michael Kamensky
88a94fb137 Merge branch 'historic' into 'master'
Update Historic format

See merge request core-developers/forge!5195
2021-08-07 15:14:44 +00:00
tool4EvEr
32cdb0b0f2 Clean up 2021-08-07 16:30:27 +02:00
tool4EvEr
f78c3ba441 Fix drawn card being revealed during ability resolve 2021-08-07 16:30:26 +02:00
tool4EvEr
058ad2b1dd Clean up 2021-08-07 16:30:25 +02:00
tool4EvEr
d805393514 Remove useless SVar 2021-08-07 16:30:24 +02:00
tool4EvEr
d5fd5e5077 Fix MayLook revealing new library top before cast finishes 2021-08-07 16:30:23 +02:00
paul_snoops
351e23818c Update Historic format 2021-08-07 12:20:59 +01:00
paul_snoops
e392e8e213 Merge remote-tracking branch 'origin/master' 2021-08-07 11:08:42 +01:00
Bug Hunter
4a850c8808 Merge branch 'card_fix' into 'master'
fix planar_ally.txt

See merge request core-developers/forge!5194
2021-08-07 06:51:46 +00:00
CCTV-1
c09cf436f1 fix trigger description. 2021-08-07 12:47:46 +08:00
Michael Kamensky
21d0614e62 Merge branch 'mid_edition' into 'master'
Add Innistrad: Midnight Hunt edition file and cards

See merge request core-developers/forge!5185
2021-08-07 04:12:06 +00:00
Michael Kamensky
6687ad0b76 Merge branch 'eldrainequest' into 'master'
Eldraine Quest World! – by Xyx

See merge request core-developers/forge!5186
2021-08-07 04:11:41 +00:00
Michael Kamensky
a4af507992 Merge branch 'master' into 'master'
Preparing Forge for Android publish 1.6.44.001

See merge request core-developers/forge!5193
2021-08-07 03:43:08 +00:00
Michael Kamensky
1ef490bf5e - Preparing Forge for Android publish 1.6.44.001 [incremental]. 2021-08-07 06:42:00 +03:00
Michael Kamensky
1a7845117b [maven-release-plugin] prepare for next development iteration 2021-08-07 06:30:54 +03:00
Michael Kamensky
5c768baf64 [maven-release-plugin] prepare release forge-1.6.44 2021-08-07 06:30:45 +03:00
Michael Kamensky
789ed51ca6 Merge branch 'command' into 'master'
Resolve "Word of Command: crash when trying to play card outside of timing restriction (e. g. Chaotic Strike)"

Closes #1857

See merge request core-developers/forge!5190
2021-08-07 03:20:56 +00:00
Michael Kamensky
307c8e5dd1 Merge branch 'prey' into 'master'
prey_upon.txt cleanup descs

See merge request core-developers/forge!5192
2021-08-07 03:20:36 +00:00
Northmoc
4d4c427ca9 prey_upon.txt cleanup descs 2021-08-06 20:47:01 -04:00
Northmoc
8ea2cae285 Support "winning" Fights 2021-08-06 19:52:52 -04:00
Northmoc
974e0879b0 GameAction - allow some SAs to check states if specified 2021-08-06 19:52:15 -04:00
Northmoc
dd89e0eb64 skyshroud_ambush.txt initial try 2021-08-06 19:51:16 -04:00
tool4EvEr
7838a9dfba Fix crash when empty 2021-08-07 00:22:56 +02:00
Michael Kamensky
8a64097a85 Merge branch 'wc' into 'master'
wintermoor_commander.txt add AI logic - by Xyx

See merge request core-developers/forge!5187
2021-08-06 17:33:12 +00:00
Snoops
8c1ad25c7d Update Jumpstart Historic Horizons.txt 2021-08-06 17:11:48 +00:00
Snoops
5be1453287 Update Jumpstart Historic Horizons.txt 2021-08-06 17:10:07 +00:00
Sol
a8e11227f9 Merge branch 'announce' into 'master'
announcements

See merge request core-developers/forge!5188
2021-08-06 16:17:39 +00:00
Snoops
98029331f3 Update play_with_fire.txt 2021-08-06 13:48:40 +00:00
Snoops
3417b138df Update play_with_fire.txt 2021-08-06 13:46:12 +00:00
Northmoc
ea9001f582 announcement 2021-08-06 09:44:43 -04:00
Northmoc
dc42f9caa7 announcement 2021-08-06 09:32:29 -04:00
Northmoc
bbdc74f9a4 wintermoor_commander.txt add AI logic - by Xyx 2021-08-06 09:29:37 -04:00
Snoops
697b0bd980 Update g_x_x_treefolk_reach_total_lands.txt 2021-08-06 13:18:28 +00:00
Snoops
089db5e557 Update wrenn_and_seven.txt 2021-08-06 13:17:23 +00:00
Snoops
ee870af50d Update infernal_grasp.txt 2021-08-06 13:15:24 +00:00
Northmoc
f494e8fdf9 Eldraine Quest World! – by Xyx 2021-08-06 09:13:52 -04:00
Snoops
96db343470 Update infernal_grasp.txt 2021-08-06 12:39:24 +00:00
Snoops
e880252b04 Update champion_of_the_perished.txt 2021-08-06 12:38:14 +00:00
Snoops
dfdd2c8828 Update wrenn_and_seven.txt 2021-08-06 11:10:46 +00:00
Snoops
b809b22e58 Update champion_of_the_perished.txt 2021-08-06 11:10:15 +00:00
Snoops
7d793e422c Add g_x_x_treefolk_reach_total_lands.txt 2021-08-06 10:54:42 +00:00
Snoops
2c8a074977 Add join_the_dance.txt 2021-08-06 10:53:15 +00:00
Snoops
d287f5ce28 Add wrenn_and_seven.txt 2021-08-06 10:52:38 +00:00
Snoops
73921591cf Add play_with_fire.txt 2021-08-06 10:51:29 +00:00
Snoops
a388e47a9a Add infernal_grasp.txt 2021-08-06 10:50:34 +00:00
Snoops
74aaa97ef6 Add champion_of_the_perished.txt 2021-08-06 10:49:53 +00:00
Snoops
c8b2b6b2b2 Add triskaidekaphile.txt 2021-08-06 10:48:46 +00:00
Snoops
41dea0519e Add consider.txt 2021-08-06 10:47:58 +00:00
Snoops
53887c081a Update Innistrad Midnight Hunt 2021-08-06 10:46:42 +00:00
Snoops
b1600f6c83 Add Innistrad: Midnight Hunt edition file 2021-08-06 10:33:25 +00:00
Michael Kamensky
2a7fa0f691 Merge branch 'mulligan' into 'master'
Fix mulligan with zero cards

Closes #1945

See merge request core-developers/forge!5183
2021-08-06 03:30:00 +00:00
Michael Kamensky
37de739a9c Merge branch 'fix_phyrexian_mana' into 'master'
Add pure Phyrexian mana symbol for Rage Extractor

See merge request core-developers/forge!5184
2021-08-06 03:29:42 +00:00
Lyu Zong-Hong
763d509638 Add pure Phyrexian mana symbol for Rage Extractor 2021-08-06 09:46:59 +09:00
tool4EvEr
32b4407b04 Fix mulligan with zero cards 2021-08-05 21:42:04 +02:00
leriomaggio
9f3e78459e Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-05 19:25:52 +01:00
Michael Kamensky
1d4f68d95f Merge branch 'fixes' into 'master'
Fix Minimus Containment

See merge request core-developers/forge!5182
2021-08-05 15:59:06 +00:00
tool4EvEr
bb2c967f6e Fix Minimus Containment on equipment 2021-08-05 17:48:51 +02:00
tool4EvEr
6ccb41cfa6 NPE protection 2021-08-05 17:48:27 +02:00
Michael Kamensky
118e81d046 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!5181
2021-08-05 11:42:55 +00:00
leriomaggio
05cfc48b43 Improved mechanism for on-the-fly (no restart) card art update in decks.
Now the smart card art selection is also included in the set of checkings that are performed to see whether or not card arts in Pools require any update.
2021-08-05 12:36:43 +01:00
CCTV-1
a146996c33 translate new settings. 2021-08-05 16:40:12 +08:00
Michael Kamensky
f6977fad35 Merge branch 'j21_4' into 'master'
J21 - 4 Aug

See merge request core-developers/forge!5179
2021-08-05 03:44:32 +00:00
Michael Kamensky
9c71c7914b Merge branch 'twosat-master-patch-87442' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5180
2021-08-05 03:44:21 +00:00
Andreas Bendel
88e3f473d7 Update de-DE.properties
translated cbpCardArtFormat and nlCardArtFormat
2021-08-04 20:08:45 +00:00
leriomaggio
fe9274dabb Added mechanism to update card art when necessary
Deferred sections for deck are only used once, and just when the deck needs to be loaded. At that time, if any optimisation to card art is enabled (and required, that is "there are cards with no pre-specified edition").

After that, sections are memorised and later updated if anything needs updates, and the last used card art preference was different.
2021-08-04 18:00:13 +01:00
Northmoc
a44452f3c9 benalish_partisan.txt 2021-08-04 12:20:19 -04:00
leriomaggio
13687a0380 New test for cardDb with lazy card loading
CardDatabaseHelper has been extended to also support a db with lazy card loading.
2021-08-04 16:50:09 +01:00
leriomaggio
f0f881dbeb Attempt to load Card now with setcode in use (also overloaded when not necessary) 2021-08-04 16:01:56 +01:00
leriomaggio
7dc65d2ef1 Removed duplicate and trailing spaces 2021-08-04 16:01:17 +01:00
leriomaggio
40b20e961a CASE INSENSITIVE card map lookup for lazy card load 2021-08-04 15:59:57 +01:00
leriomaggio
a9c1c01a20 FIXED bug in CardStorageReader to support numbers in card names w/ lazy card loading
Borrowing 100,000 Arrows was the driver test case
2021-08-04 15:59:31 +01:00
leriomaggio
58b2a070ed Added test for corner cases with different case in card name and set code (also compared to legacy implementation)
Also, now LoadCard also uses the provided setCode (if any).
If null or empty string is provided in request, all editions will be used!
2021-08-04 15:58:41 +01:00
Michael Kamensky
54569bffeb Merge branch 'j21_3' into 'master'
J21 – Most of the rest

See merge request core-developers/forge!5175
2021-08-04 14:14:51 +00:00
Michael Kamensky
97fa6f1312 Merge branch 'j21_teyo' into 'master'
J21 - Teyo, Freyalise, and conjure improvements

See merge request core-developers/forge!5169
2021-08-04 14:14:15 +00:00
Northmoc
4201fa63db MakeCardEffect - put made card in None zone before moving to destination 2021-08-04 07:48:22 -04:00
Northmoc
caf067ec68 freyalise_skyshroud_partisan.txt 2021-08-04 07:38:22 -04:00
Northmoc
606ded6fc2 fix typo 2021-08-04 07:38:21 -04:00
Northmoc
18b3e14f2e teyo_aegis_adept.txt 2021-08-04 07:38:21 -04:00
Northmoc
80a24a1f93 fix desc typo 2021-08-04 07:37:47 -04:00
Northmoc
53653d5cc6 finish common "perpetually boost creature in hand" cycle 2021-08-04 07:37:46 -04:00
Northmoc
e718903957 bounty_of_the_deep.txt 2021-08-04 07:37:46 -04:00
Northmoc
ca27221188 update Editions file 2021-08-04 07:37:45 -04:00
Northmoc
21e9dd3976 add "Perpetually" to Effect names for fun 2021-08-04 07:37:45 -04:00
Northmoc
dcdf064e43 scion_of_shiv.txt 2021-08-04 07:37:44 -04:00
Northmoc
3103e4d575 baffling_defenses.txt 2021-08-04 07:37:44 -04:00
Northmoc
ea3353ee2c ethereal_grasp.txt 2021-08-04 07:37:44 -04:00
Northmoc
4360cc7fd5 add AI hint 2021-08-04 07:37:43 -04:00
Northmoc
babd2deb71 davriels_withering.txt 2021-08-04 07:37:43 -04:00
Northmoc
7c657dadf1 skyshroud_lookout.txt 2021-08-04 07:37:42 -04:00
leriomaggio
09822bdda2 Overloading PaperCard constructor without artIndex with default constant 2021-08-04 10:59:34 +01:00
leriomaggio
ce589ca6e8 removed previously introduced workaround for lowercase comparison 2021-08-04 10:58:23 +01:00
leriomaggio
8fba92acde Fixing remaining AEther to Aether to rename 2021-08-04 09:03:14 +01:00
leriomaggio
ead4d134ea Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-04 08:51:56 +01:00
leriomaggio
eb9646a0c9 Faster method to load card w/ lazy card load 2021-08-04 08:24:11 +01:00
leriomaggio
5ff8174b4d New data structure in CardEdition allocated for quick cardInset lookup
CardEdition now includes a new Map data strcuture that is allocated only if necessary (i.e. when lazy card loading is enabled) and it will be used for faster card in set lookup by card name. The Map will return a List of cards to account for multiple versions (prints) of a card with the same name within a CardEdition
2021-08-04 08:23:48 +01:00
Hans Mackowiak
f292ad2fb6 Card fix disabled static ability conditions 2021-08-04 07:21:28 +02:00
Michael Kamensky
49b4db24ea Merge branch 'cleanup' into 'master'
Clean up some triggers

See merge request core-developers/forge!5173
2021-08-04 05:10:00 +00:00
Michael Kamensky
904524ea6d Merge branch 'changetargets' into 'master'
ChangeTargets: Fix same choices

See merge request core-developers/forge!5174
2021-08-04 05:09:35 +00:00
Michael Kamensky
2d16490aab Merge branch 'reveal' into 'master'
allow "Random" and "RevealValid" in same Reveal

See merge request core-developers/forge!5178
2021-08-04 05:08:47 +00:00
Michael Kamensky
048995fb47 Merge branch 'fix_the_deck_of_many_things' into 'master'
Fix lose effect of The Deck of Many Things

See merge request core-developers/forge!5177
2021-08-04 05:08:38 +00:00
Michael Kamensky
aa46867e31 Merge branch 'dicesfx' into 'master'
Sound effect for dice rolling!

See merge request core-developers/forge!5176
2021-08-04 05:08:28 +00:00
Northmoc
39e9434901 allow "Random" and "RevealValid" in same Reveal 2021-08-03 23:47:06 -04:00
Lyu Zong-Hong
ead0d809cd Fix lose effect of The Deck of Many Things 2021-08-04 10:29:06 +09:00
Northmoc
db4ac4db9d add GameEventRollDie 2021-08-03 21:04:58 -04:00
Northmoc
b0c2421419 royalty-free die roll mp3 from SoundBible.com 2021-08-03 21:04:28 -04:00
Northmoc
62ab654497 add die roll event to RollDiceEffect and RollPlanarDiceEffect 2021-08-03 21:04:00 -04:00
Northmoc
5c033655c7 SoundEffectType.java add RollDie filename 2021-08-03 21:03:18 -04:00
tool4EvEr
5b4653754f Fix same choices 2021-08-03 22:27:58 +02:00
tool4EvEr
8339745956 Clean up 2021-08-03 21:19:23 +02:00
tool4EvEr
444bc8cfdd Clean up 2021-08-03 19:16:08 +02:00
Michael Kamensky
9886a16c6e Merge branch 'davriel' into 'master'
J21 - fix Davriel, Soul Broker -2 ability

See merge request core-developers/forge!5172
2021-08-03 13:32:37 +00:00
Northmoc
d54df10ccd davriel_soul_broker.txt limit number of choices for -2 ability 2021-08-03 09:19:58 -04:00
Northmoc
8f53b89b25 support "NumRandomChoices" for davriel_soul_broker.txt 2021-08-03 09:18:01 -04:00
Anthony Calosa
c24f3ed288 Merge branch 'kevlahnota-master-patch-12307' into 'master'
Update EffectEffect.java

See merge request core-developers/forge!5171
2021-08-03 10:45:43 +00:00
Anthony Calosa
b9b71e8535 Update EffectEffect.java 2021-08-03 10:45:25 +00:00
Anthony Calosa
7421e59454 Merge branch 'kevlahnota-master-patch-13781' into 'master'
Revert EffectEffect add set to Emblem imagekey

See merge request core-developers/forge!5170
2021-08-03 10:43:01 +00:00
Anthony Calosa
356baae747 Revert EffectEffect add set to Emblem imagekey 2021-08-03 10:39:48 +00:00
Michael Kamensky
471a9e1513 Merge branch 'j21_2' into 'master'
Jumpstart Historic Horizons – 2 Aug

See merge request core-developers/forge!5167
2021-08-03 03:33:13 +00:00
Michael Kamensky
9ada642605 Merge branch 'gamestate#' into 'master'
GameState: Fix typechange Auras not attaching on reload (e.g. Minimus Containment)

See merge request core-developers/forge!5168
2021-08-03 03:32:53 +00:00
tool4EvEr
a634860ffd Fix typechange Auras not attaching on reload (e.g. Minimus Containment) 2021-08-02 23:37:21 +02:00
Northmoc
131fd8f7cf lumbering_lightshield.txt 2021-08-02 17:26:47 -04:00
Northmoc
d280317ff8 shoreline_scout.txt 2021-08-02 16:03:06 -04:00
Michael Kamensky
a882f56b7e Merge branch 'j21_30' into 'master'
J21 - 30 July

See merge request core-developers/forge!5147
2021-08-02 19:13:25 +00:00
Northmoc
e79fbad31d fix StackDescs 2021-08-02 15:10:27 -04:00
Northmoc
5bd3062ce2 fix spelling 2021-08-02 15:10:26 -04:00
Northmoc
d3a464304d longtusk_stalker.txt 2021-08-02 15:10:26 -04:00
Northmoc
fa70d55432 add whitespace 2021-08-02 15:10:25 -04:00
Northmoc
873ff52224 kiora_the_tides_fury.txt 2021-08-02 15:10:25 -04:00
Northmoc
87e6af657f J21 edition update 2021-08-02 15:10:24 -04:00
Michael Kamensky
7f4f0a18f6 Merge branch 'chicken' into 'master'
Chicken à la King in editions fix

See merge request core-developers/forge!5165
2021-08-02 13:01:39 +00:00
Michael Kamensky
8db5c771dc Merge branch 'TRT-master-patch-45006' into 'master'
Update forge-gui/res/cardsfolder/v/vanish_into_memory.txt

See merge request core-developers/forge!5166
2021-08-02 13:01:29 +00:00
Bug Hunter
47d103f493 Update forge-gui/res/cardsfolder/v/vanish_into_memory.txt 2021-08-02 11:40:48 +00:00
paul_snoops
bf3379279d Chicken à la King in editions fix 2021-08-02 11:03:50 +01:00
Alumi
6d72415556 Merge branch 'renderer_minor_fix' into 'master'
Minor fix of size calculation for rendering split cards

See merge request core-developers/forge!5164
2021-08-02 09:53:37 +00:00
Lyu Zong-Hong
f824c33a85 Minor fix of size calculation for rendering split cards 2021-08-02 18:51:27 +09:00
Michael Kamensky
ddf8eeb5c9 Merge branch 'art_crop' into 'master'
Support art crop in Card Image Renderer

See merge request core-developers/forge!5150
2021-08-02 08:21:25 +00:00
Alumi
2c9b3f648d Support art crop in Card Image Renderer 2021-08-02 08:21:23 +00:00
Michael Kamensky
d5388b8831 Merge branch 'fix_token_crash' into 'master'
Fix token related crash

See merge request core-developers/forge!5162
2021-08-02 07:00:05 +00:00
leriomaggio
0e5611cfea Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-08-02 07:49:18 +01:00
Bug Hunter
a3a6bd20a5 Merge branch 'TRT-master-patch-94208' into 'master'
Update forge-gui/res/cardsfolder/h/hazorets_monument.txt

See merge request core-developers/forge!5163
2021-08-02 06:37:04 +00:00
Bug Hunter
90ffdcba11 Update forge-gui/res/cardsfolder/h/hazorets_monument.txt 2021-08-02 06:36:38 +00:00
Lyu Zong-Hong
1cd8255ab6 Fix token related crash 2021-08-02 14:29:53 +09:00
Michael Kamensky
ab869853ac Merge branch 'j21_31' into 'master'
Fixing/adding some goofy Skeletons

See merge request core-developers/forge!5154
2021-08-02 04:00:09 +00:00
Northmoc
8bdf7fe388 fix typo in AI hint 2021-08-01 20:58:27 -04:00
Bug Hunter
e71c05a985 Merge branch 'TRT-master-patch-35684' into 'master'
Update forge-gui/res/cardsfolder/e/exploding_borders.txt

See merge request core-developers/forge!5161
2021-08-01 17:20:37 +00:00
Bug Hunter
416f877100 Update forge-gui/res/cardsfolder/e/exploding_borders.txt 2021-08-01 17:20:01 +00:00
Michael Kamensky
e74e89b737 Merge branch 'manalki' into 'master'
ManaSpent: check source at time it produced

See merge request core-developers/forge!5158
2021-08-01 16:58:22 +00:00
Bug Hunter
2ded193dda Merge branch 'TRT-master-patch-11670' into 'master'
Update forge-gui/res/cardsfolder/p/peregrination.txt

See merge request core-developers/forge!5160
2021-08-01 15:48:16 +00:00
Bug Hunter
6a4c35272b Update forge-gui/res/cardsfolder/p/peregrination.txt 2021-08-01 15:47:58 +00:00
tool4EvEr
45ca346703 ManaSpent: check source at time it produced 2021-08-01 16:42:30 +02:00
Bug Hunter
0f431a21a6 Merge branch 'aifix' into 'master'
AI: Fix MDFC check

See merge request core-developers/forge!5159
2021-08-01 14:40:55 +00:00
tool4EvEr
1639a07e07 AI: Fix MDFC check 2021-08-01 16:41:04 +02:00
Anthony Calosa
8bd1222b90 Merge branch 'restart' into 'master'
RestartGameEffect: Fully clean Blessing & Monarch

See merge request core-developers/forge!5157
2021-08-01 07:36:01 +00:00
tool4EvEr
75f674cfca Fix target 2021-08-01 09:13:55 +02:00
tool4EvEr
c2e4b8fab0 Fully clean Blessing & Monarch 2021-08-01 09:09:35 +02:00
Bug Hunter
7a615c3a7c Merge branch 'fixnpe' into 'master'
Fix NPE

See merge request core-developers/forge!5156
2021-08-01 06:53:21 +00:00
tool4EvEr
0114d8c9db Fix NPE 2021-08-01 08:53:07 +02:00
Michael Kamensky
9f39857dad Merge branch 'master' into 'master'
Added puzzle PS_AFR01

See merge request core-developers/forge!5155
2021-08-01 05:06:51 +00:00
Michael Kamensky
32a6c7e001 - Added puzzle PS_AFR01. 2021-08-01 08:05:54 +03:00
Michael Kamensky
07d71143b6 Merge branch 'tramplePW' into 'master'
Trample over PW as Variant of Trample

See merge request core-developers/forge!5153
2021-08-01 04:53:54 +00:00
Michael Kamensky
2873fe6dd3 Merge branch 'legendary' into 'master'
LegendaryRuleAi: Support SacMe

See merge request core-developers/forge!5146
2021-08-01 03:42:51 +00:00
Bug Hunter
b7b647746e LegendaryRuleAi: Support SacMe 2021-08-01 03:42:51 +00:00
Northmoc
426acedb76 flameskull.txt add Condition 2021-07-31 22:31:24 -04:00
Northmoc
72eb2b4409 boneyard_aberration.txt 2021-07-31 22:31:07 -04:00
Northmoc
1500729128 bone_rattler.txt add ImmediateTrigger 2021-07-31 22:30:50 -04:00
Sol
d53270514f Merge branch 'npeguard' into 'master'
Add NPE Guard

See merge request core-developers/forge!5152
2021-08-01 02:13:14 +00:00
Hans Mackowiak
c7e6076f8b Trample over PW as Variant of Trample 2021-08-01 01:40:26 +02:00
tool4EvEr
d6aa6ac4c1 Add NPE Guard 2021-07-31 20:26:59 +02:00
Michael Kamensky
fd03367ac4 Merge branch 'crashfix' into 'master'
Fix crash with The Monarch

See merge request core-developers/forge!5151
2021-07-31 17:49:27 +00:00
tool4EvEr
168cc31955 Fix crash with The Monarch 2021-07-31 19:21:45 +02:00
Michael Kamensky
cb7d8e572c Merge branch 'fix' into 'master'
fix vengeful_ancestor.txt second trigger

See merge request core-developers/forge!5149
2021-07-31 15:04:13 +00:00
Michael Kamensky
e0165ef99d Merge branch 'effect' into 'master'
move updateStateForView after moveTo Command Zone

See merge request core-developers/forge!5148
2021-07-31 15:04:00 +00:00
Northmoc
5c2b16f35e move updateStateForView after moveTo Command Zone 2021-07-31 08:12:39 -04:00
Michael Kamensky
ddb4bce2cc Merge branch 'classcast' into 'master'
Fix ClassCastException

See merge request core-developers/forge!5145
2021-07-31 09:34:54 +00:00
tool4EvEr
d46a529c74 Fix ClassCastException 2021-07-31 09:59:19 +02:00
Bug Hunter
d8b376e8b1 Merge branch 'TRT-master-patch-25340' into 'master'
Update forge-gui/res/cardsfolder/b/battlefield_scavenger.txt

See merge request core-developers/forge!5144
2021-07-31 07:30:36 +00:00
Bug Hunter
34c98119b3 Update forge-gui/res/cardsfolder/b/battlefield_scavenger.txt 2021-07-31 07:29:51 +00:00
Michael Kamensky
1601afdfc0 Merge branch 'costs' into 'master'
Fix CostSacrifice paying from Effect

See merge request core-developers/forge!5138
2021-07-31 04:47:24 +00:00
Bug Hunter
a9f5ab8772 Fix CostSacrifice paying from Effect 2021-07-31 04:47:23 +00:00
Michael Kamensky
74038eefb5 Merge branch 'fixnpe' into 'master'
Fix NPE

See merge request core-developers/forge!5141
2021-07-31 04:47:09 +00:00
Michael Kamensky
04174c2cea Merge branch 'twosat-master-patch-00612' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5142
2021-07-31 04:46:47 +00:00
Michael Kamensky
fda99c3006 Merge branch 'fix_unknown_token' into 'master'
Fix crash when create token with unknown edition

See merge request core-developers/forge!5143
2021-07-31 04:46:39 +00:00
Lyu Zong-Hong
ac516168e4 Fix crash when create token with unknown edition 2021-07-31 13:44:38 +09:00
Sol
71070e66cd Update birgi_god_of_storytelling_harnfel_horn_of_bounty.txt 2021-07-31 02:31:31 +00:00
Andreas Bendel
d0d220330b Update de-DE.properties
translated new rendering options
2021-07-30 22:02:18 +00:00
tool4EvEr
a2f1b258a3 Small AI fix 2021-07-30 22:24:51 +02:00
tool4EvEr
39bf803a92 Clean up 2021-07-30 21:39:44 +02:00
Northmoc
4fecc76394 fix vengeful_ancestor.txt second trigger 2021-07-30 15:39:19 -04:00
tool4EvEr
3445c65eb5 Fix NPE 2021-07-30 20:42:38 +02:00
Michael Kamensky
33377abc9f Merge branch 'managorger' into 'master'
J21: Managorger Phoenix and support

See merge request core-developers/forge!5140
2021-07-30 17:01:05 +00:00
Michael Kamensky
90fc581d9c Merge branch 'jhh_29' into 'master'
J21 version of Momir and Momir tweak

See merge request core-developers/forge!5139
2021-07-30 17:01:02 +00:00
Northmoc
46efa00f36 add Count$TriggeredManaCostDevotion.<Color> 2021-07-30 11:10:42 -04:00
Northmoc
5ad8efe535 managorger_phoenix.txt 2021-07-30 11:09:01 -04:00
Northmoc
86ed6c7059 momir_vig_simic_visionary_avatar.txt remove unneeded 2021-07-30 11:08:08 -04:00
Michael Kamensky
b17875b5fd Merge branch 'phase' into 'master'
Fix failing triggers when removed from combat

See merge request core-developers/forge!5106
2021-07-30 04:24:51 +00:00
Bug Hunter
358c6986e0 Fix failing triggers when removed from combat 2021-07-30 04:24:48 +00:00
Michael Kamensky
e8113dc203 Merge branch 'costs' into 'master'
Some cost fixes

See merge request core-developers/forge!5135
2021-07-30 04:24:45 +00:00
Michael Kamensky
7dd18e9a7b Merge branch 'fixes' into 'master'
Couple small fixes

See merge request core-developers/forge!5137
2021-07-30 04:23:40 +00:00
Michael Kamensky
ce70015d08 Merge branch 'aifix' into 'master'
AI fixes

See merge request core-developers/forge!5132
2021-07-30 04:23:12 +00:00
Northmoc
b2fca7c27f pool_of_vigorous_growth.txt 2021-07-29 22:22:34 -04:00
tool4EvEr
048dd90003 Fix costs 2021-07-29 22:47:15 +02:00
tool4EvEr
39c7c18386 Fix Standstill 2021-07-29 22:01:47 +02:00
tool4EvEr
4980bb235c Fix Strive check 2021-07-29 20:59:18 +02:00
tool4EvEr
024db5c198 Clean up 2021-07-29 20:59:17 +02:00
tool4EvEr
9148ca3806 AI fixes 2021-07-29 20:59:16 +02:00
tool4EvEr
7d4e9667c0 Turn into cost 2021-07-29 19:06:25 +02:00
tool4EvEr
9bd67d1a17 Support UnlessCost for random Discard 2021-07-29 18:41:37 +02:00
Michael Kamensky
788b34194a Merge branch 'card_text_rendering_preferences' into 'master'
Add preferences for card text rendering

See merge request core-developers/forge!5134
2021-07-29 16:30:51 +00:00
Lyu Zong-Hong
3b690d8c2a Move label position 2021-07-29 22:19:38 +09:00
Lyu Zong-Hong
72e734faba Add preferences for card text rendering 2021-07-29 21:47:09 +09:00
leriomaggio
857cf20466 Aligned implementations to add card to pool from cardrequest
Implementation aligned with method getting in cardName, setcode and artIndex.
2021-07-29 13:30:17 +01:00
Michael Kamensky
69a65da77c Merge branch 'fix_phyrexian_mana' into 'master'
Fix crash when rendering Phyrexian mana symbols in card text and fix issues for Level up cards

See merge request core-developers/forge!5133
2021-07-29 11:45:34 +00:00
leriomaggio
5cc9ddb041 Accounting for any null in CardEdition - for those cards not having one. 2021-07-29 12:18:44 +01:00
leriomaggio
a9f64a52e0 Updating DeckProxy wit the new method on CardEdition.Collection used to determine the edition of a Deck
The edition (set) of a Deck corresponds to the LATEST edition found among the cards in the DECK, considering their ORIGINAL editions.
2021-07-29 12:17:56 +01:00
leriomaggio
e09826a1f0 Improved verification on CardEdition not null for a card (also on date)
When this happens, no card update will be issued!
2021-07-29 12:16:19 +01:00
leriomaggio
556894296f Adding controls on ProgressBar that might avoid sudden NPE with downloading net decks.
I am still not sure how to reproduce the issue, but I do sometimes get a NPE on progress bar (directly raised by Java Swing, tbh) when downloading certain net decks.
I have the feeling there might be some sort of concurrency issue//race condition so just in case, any update to the progress bar is now surrounded by a check that's not null.
2021-07-29 12:14:55 +01:00
leriomaggio
e382fd31ef FIXED collector numbers for lands in Master25 2021-07-29 12:12:30 +01:00
Lyu Zong-Hong
c936b9fed9 Fix some issues when rendering Level up cards 2021-07-29 17:36:16 +09:00
leriomaggio
247fbc57f1 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-29 08:00:28 +01:00
Lyu Zong-Hong
35749300ce Fix crash when rendering Phyrexian mana symbols in card text 2021-07-29 15:59:37 +09:00
Michael Kamensky
43cf318007 Merge branch 'perpetual' into 'master'
Jumpstart Historic Horizons – some cards with "perpetual" mechanic

See merge request core-developers/forge!5129
2021-07-29 05:15:15 +00:00
Michael Kamensky
c213dc0ecd Merge branch 'tome' into 'master'
Jumpstart Historic Horizons – Tome of the Infinite

See merge request core-developers/forge!5130
2021-07-29 05:14:38 +00:00
Michael Kamensky
72c053c4b9 Merge branch 'tidy' into 'master'
Attempt to tidy up prismari_command.txt

See merge request core-developers/forge!5131
2021-07-29 05:13:55 +00:00
Michael Kamensky
22fc15c3c8 Merge branch 'NetDeck-fix' into 'master'
Fixed Net Decks Archive not working on Mobile when in the Deck Manager

See merge request core-developers/forge!5126
2021-07-29 05:13:31 +00:00
Northmoc
da7225dc33 can't use ThisTargetedCard for "any target" 2021-07-28 16:32:19 -04:00
Northmoc
955e1552ca Attempt to tidy up prismari_command.txt 2021-07-28 16:28:05 -04:00
Northmoc
0822a4de0d add "RememberMade" to MakeCardEffect 2021-07-28 16:06:59 -04:00
Northmoc
c9dae7c666 support using ChosenName for MakeCardEffect 2021-07-28 16:06:25 -04:00
Northmoc
09795207ff add "ClearNamedCard" to CleanUpEffect 2021-07-28 16:05:17 -04:00
Northmoc
af5d8cd988 ChooseCardNameEffect - support choosing from list, with support for random too 2021-07-28 16:03:55 -04:00
Northmoc
f705634b5c tome_of_the_infinite.txt 2021-07-28 16:00:39 -04:00
Northmoc
0bbe2828ef sarkhan_wanderer_to_shiv.txt 2021-07-28 15:21:03 -04:00
leriomaggio
beec4915c4 Just cleanup and formattings for getMaxArtIndex and getArtCount 2021-07-28 16:51:32 +01:00
leriomaggio
6ae1a7a5d7 Refined implementation (refactored and optimised) for add method in a CardPool from cardName, Set code and artIndex. 2021-07-28 16:51:10 +01:00
leriomaggio
6726d1f776 New method to retrieve all available databases in a MAP (w/ names)
This method is used in CardPool to add a card, and keep track of the original DB.
2021-07-28 16:50:18 +01:00
leriomaggio
cf006d1c16 Updated and Aligned implementation for DeckController whenever a pick for limited catalog is required.
Most of this commit is for code formatting and cleaning. Major changes include the use fo getAlternativeCardPrint from Static Data (using the same policy that was used before) and the use of the `getTheLatestOfAllEditionsForCardsIn` method :D
2021-07-28 16:07:38 +01:00
leriomaggio
3e63a0c54d Renamed attr. and methods related to "allowCustomCardsInDecksConformance" options and improved API for alternativeCardArt
The new `getAlternativeCardArt` method builds on the previous `getCardFromEdition` which generates alternative card art given a PaperCard and a reference date.
Extension to this method is also incorporated to force the options to adopt for card art preference policy.
If None provided, default options set up in Game preferences will be used!
2021-07-28 16:02:34 +01:00
leriomaggio
dc10c6217e Improved code formatting and extensive refactoring of code for smart card art optimisation
Note: deferred section are still kept alive for live testing. Will be restored and fixed next commit.
2021-07-28 15:59:55 +01:00
leriomaggio
93fa6b28b2 All the logic used in Deck for OptimisedCardArt relating to Pivot Edition and Editions Frequency Map has been now moved in CardPool
CardPool now includes the logic to (a) retrieve the edition frequency map of itself, as well as retrieving its corresponding PivotEdition (depending on cards in the pool).

This refactoring optimises the code in Deck class for "smartCardArt" selection
2021-07-28 15:58:39 +01:00
leriomaggio
1eaf644e5b Renamed and optimised implementation for getTheLatestOfAllTheOriginalEditionsOfCardsIn + tests
`getTheLatestOfAllTheOriginalEditionsOfCardsIn` is the new name for `getEarliestEditionWithAllCards` which better clarifies the intent of the method.
The implementation has been optimised, according to the new CardDb behaviour and APIs.

The tests have been extended to verify that the output of the method is always consistent regardless of the edition of cards in the input CardPool.
2021-07-28 15:56:17 +01:00
Northmoc
953430255e - I'm dumb 2021-07-28 10:42:51 -04:00
Michael Kamensky
47ad20523e Merge branch 'refine_card_image_renderer' into 'master'
Refine card image renderer

See merge request core-developers/forge!5128
2021-07-28 14:42:26 +00:00
Northmoc
a14b13164f - clean up line that sets "prompt" 2021-07-28 09:54:07 -04:00
Northmoc
d903cb1a84 add Command to "perpetual" AffectedZone list 2021-07-28 09:52:13 -04:00
Northmoc
baa7855ff5 natures_wrath.txt fix Description 2021-07-28 09:48:59 -04:00
Northmoc
4e02f01bf8 knight_of_the_ebon_legion.txt - Players not Opponents 2021-07-28 09:48:26 -04:00
Northmoc
87faa670e1 davriel_soul_broker.txt - make each Effect name unique 2021-07-28 09:47:30 -04:00
Northmoc
bd7ab26f3e Support "ChoicePrompt" for GenericChoice 2021-07-28 09:36:16 -04:00
Northmoc
d58191283e davriel_soul_broker.txt 2021-07-28 09:35:25 -04:00
Northmoc
8dcf4b7a19 plaguecrafters_familiar.txt 2021-07-28 09:33:16 -04:00
Lyu Zong-Hong
e029149893 Use a darker color for bottom column of Level up cards 2021-07-28 20:42:12 +09:00
Lyu Zong-Hong
57acff9bff Handle Level up cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
f5ee502601 Handle Adventure cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
b07f97bf34 Handle flip cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
4bbf397f7a Handle Aftermath cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
98c778b298 Handle split cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
56ed95a94d Handle Saga, Class and Dungeon cards 2021-07-28 20:34:15 +09:00
Lyu Zong-Hong
f171a3be09 Center card text if there is only one line 2021-07-28 20:34:15 +09:00
Michael Kamensky
ab85ccaff9 Merge branch 'assign' into 'master'
Fix assigning damage to lost players

See merge request core-developers/forge!5127
2021-07-28 07:18:17 +00:00
Michael Kamensky
ad55566a98 Merge branch 'aifix' into 'master'
Fix DamageDealAi math for untargeted players

See merge request core-developers/forge!5125
2021-07-28 07:18:10 +00:00
tool4EvEr
9a621f2179 Improve Crackling Doom logic 2021-07-28 07:15:10 +02:00
tool4EvEr
a00e408c84 Fix assigning damage to lost players 2021-07-28 06:30:06 +02:00
Michael Kamensky
40ef4de16e Merge branch 'J21' into 'master'
Added Jumpstart: Historic Horizons edition file

See merge request core-developers/forge!5123
2021-07-28 03:49:21 +00:00
Nigol
f5bf7a4581 Fixed Net Decks Archive not working on Mobile when in the Deck Manager
(cherry picked from commit 8585d49e246d4c936f1ddbad2b39f5c1381f64dc)
2021-07-27 21:04:47 -04:00
leriomaggio
1697c1205f Refined implementation (+ test) for getEarliestEditionWithAllCards
This method should still be optimised, and definetly renamed.
2021-07-28 01:19:41 +01:00
leriomaggio
2cc1ee724d Merged Conflict with CardDB method call 2021-07-28 01:16:20 +01:00
leriomaggio
b893283abc Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-28 01:14:00 +01:00
tool4EvEr
ef7ff4dd66 Fix DamageDealAi math for untargeted players 2021-07-27 22:57:21 +02:00
leriomaggio
c8052e00a8 New method processCardList that generates the List of Pair per request.
This method will be also re-used in Decks when inspecting the list of cards to add in a Deck Section.

This refactoring avoids code duplications, and improves modularization.
2021-07-27 17:58:49 +01:00
leriomaggio
f3eb862737 FIXED typo 2021-07-27 16:19:00 +01:00
leriomaggio
f7e85b1f64 Updated with new method call from StaticData to account for conformance of custom cards 2021-07-27 16:16:26 +01:00
leriomaggio
79a4e71968 New test cases (and extended implementation) accounting for cards from UNKNONW sets to be correctly retrieved. 2021-07-27 16:15:25 +01:00
leriomaggio
e5350c83d6 Extended test cases to verify that any CardRequest passed in works with no side effect.
New tests (and fixed updated CardRequest implementation) verify that any method used for Card Retrieval when receiving directly CardRequest formatted strings as cardName won't have any side effect. In particular, the code is reliable to be robust enough to support passing in both card name (only) or a full cardRequest string.

If the latter, any parameter in the request will be updated - accordingly - only when explicit params in function calls are provided.
Also, new tests demonstrate that the current implementation has NO side effect when testing for multiple combinations. Therefore, whatever is requested in requestString won't be overruled, unless really requested too.
2021-07-27 14:31:37 +01:00
paul_snoops
e645dd3eaf Formats fixed 2021-07-27 14:24:44 +01:00
Alumi
3f30f45972 Merge branch 'fix_unknown_cards' into 'master'
Get PaperCard for unknown edition

See merge request core-developers/forge!5124
2021-07-27 13:19:52 +00:00
Lyu Zong-Hong
26adc5ca7b Get Paper Card for unknown edition 2021-07-27 22:17:10 +09:00
paul_snoops
4e99063750 Added Jumpstart: Historic Horizons 2021-07-27 12:01:25 +01:00
leriomaggio
b1a2af4868 Updated Translations for "Custom Cards in Deck Conformance" Option for remaining languages. 2021-07-27 11:11:38 +01:00
leriomaggio
5a7d0c7b6b Updated Mobile Settings Panel with the upd vars and labels for "Custom Cards in Deck conformance" option. 2021-07-27 10:53:01 +01:00
leriomaggio
9978632c10 Improved ITALIAN translations on Custom Card Check in Deck Conformance and other minors.
Clarified (imho) a ton my own previous wording about this option - also for Italian. Moreover, this update aligns all the "RESTART REQUIRED" labels with the same translation and case.
2021-07-27 10:52:04 +01:00
leriomaggio
59b9ed1c4d Improved wording for Custom Card Check in Deck Conformance
Clarified (imho) a ton my own previous wording about this option.
2021-07-27 10:49:47 +01:00
leriomaggio
b6bfa2fd16 Renamed Preference for Custom Card in Deck Conformance Check
Previous naming (pref and vars) was very confusing. Updated.
2021-07-27 10:48:03 +01:00
Hans Mackowiak
3a1bd57fcb Merge branch 'maven_build_fix' into 'master'
Fix for broken Maven build

See merge request core-developers/forge!5122
2021-07-27 07:05:35 +00:00
leriomaggio
38a63bb4ce FIXED duplicated entries 2021-07-27 08:04:49 +01:00
leriomaggio
6320857864 Code formatting cleanup.
Also, it is important to emphasise that previous implementation of the "Strict" Card Art Preference policy were too stringent, and did not account for corner cases when the card could not be retrieved. This has been FIXED in the new API implementation.
2021-07-27 07:40:13 +01:00
leriomaggio
286533cf90 Aligned CardDb calls after API revision for getCardFromEditionsReleasedBefore(date). 2021-07-27 07:40:13 +01:00
leriomaggio
e2aa8874b6 Refactoring and Extension to CardDb Test cases
Huge refactoring in variable names and test case optimisations. Also, new tests for the new API are also included. In particular, additional corner cases tested, as well as verification with Legacy (previous) CardDb implementation.
2021-07-27 07:40:13 +01:00
leriomaggio
8de07821e0 Refactoring and Second Update to the new ICardDatabase APIs
This new revision of the APi brings a more consistent distribution of the different parameters and settings in DB API calls.
In particular, the changes affect the getCardFromEditions which are now separated into three sets of methods:

- methods to retrieve a card based on CardArtPreference
- methods to also include a Release Date restriction,
that can be now considered in both directions
(as in "releasedBefore" and "releasedAfter" a specified date).

These changes will be functional for new additions in future changes to Deck Importer, as well as will be used
to refine the implementation of the new Smart Card Art Selection in Decks.

From an implementation perspective, it is important to emphasise that all those methods are just syntactic sugar
for parameter passing to the **same** core (private) retrieval method (centralised single point of failure)
which incorporates all the required parameters, that would also be cumbersome to use in a public API.
2021-07-27 07:40:12 +01:00
Lyu Zong-Hong
106515d217 Fix for broken Maven build 2021-07-27 14:38:22 +09:00
Hans Mackowiak
70531a8f31 Merge branch 'classLevelStatic' into 'master'
Class: use Static Ability to follow CR

See merge request core-developers/forge!5115
2021-07-27 04:59:51 +00:00
Hans Mackowiak
6562a04667 Class: use Static Ability to follow CR 2021-07-27 04:59:50 +00:00
Michael Kamensky
4decf8bf64 Merge branch 'jumphh' into 'master'
Some other new Jumpstart cards

See merge request core-developers/forge!5120
2021-07-27 04:55:27 +00:00
Michael Kamensky
bb65d4d2ec Merge branch 'manor' into 'master'
JHH: Some "seek" cards

See merge request core-developers/forge!5119
2021-07-27 04:55:21 +00:00
Michael Kamensky
119a53b0fd Merge branch 'acolyte' into 'master'
JHH: Subversive Acolyte

See merge request core-developers/forge!5118
2021-07-27 04:54:36 +00:00
Michael Kamensky
c9036f90ef Merge branch 'mdfc' into 'master'
Correctly evaluate modal faces

See merge request core-developers/forge!5112
2021-07-27 04:53:19 +00:00
Michael Kamensky
0cb35f7c84 Merge branch 'target' into 'master'
Fix hasAllTargets

See merge request core-developers/forge!5117
2021-07-27 04:52:51 +00:00
Michael Kamensky
3e3f0729a9 Merge branch 'render_token_emblem' into 'master'
Also render tokens and emblems when not using images

See merge request core-developers/forge!5121
2021-07-27 04:52:36 +00:00
Lyu Zong-Hong
8f70a6ab96 Pass CardView from scaleImage() too 2021-07-27 13:48:46 +09:00
Lyu Zong-Hong
5f39b98cc5 Also render tokens and emblems when not using images 2021-07-27 12:10:26 +09:00
Sol
d8dfbcf1a3 Update birgi_god_of_storytelling_harnfel_horn_of_bounty.txt 2021-07-27 02:49:04 +00:00
Northmoc
13217aaa3e wingsteed_trainer.txt 2021-07-26 22:46:57 -04:00
Northmoc
da6162180e sarkhans_scorn.txt 2021-07-26 22:22:48 -04:00
Northmoc
175db96e4f CardFactoryUtil - add getMostProminentCreatureType 2021-07-26 19:44:19 -04:00
Northmoc
64e95df6a2 CardProperty - add "MostProminentCreatureTypeInLibrary" 2021-07-26 19:42:43 -04:00
Northmoc
d10a1e1a78 faceless_agent.txt 2021-07-26 19:41:04 -04:00
Northmoc
de4ae7bb3c CharmEffect.java support GameActivationLimit in formatted desc 2021-07-26 19:09:25 -04:00
Northmoc
f0ead44849 subversive_acolyte.txt 2021-07-26 19:08:34 -04:00
Northmoc
f3ecd98f8a manor_guardian.txt 2021-07-26 19:06:34 -04:00
tool4EvEr
7eec98db61 Fix CostSacrifice OriginalHost 2021-07-26 21:55:50 +02:00
tool4EvEr
5de3bab789 Fix targetPlayableSpellCard 2021-07-26 21:55:50 +02:00
tool4EvEr
9c57f10461 Fix achievement 2021-07-26 21:55:49 +02:00
tool4EvEr
91e8c24769 Clean up 2021-07-26 21:55:48 +02:00
tool4EvEr
20bc46c0fd Correctly evaluate modal faces 2021-07-26 21:55:47 +02:00
tool4EvEr
ed8e5e3f2e Fix hasAllTargets 2021-07-26 21:50:51 +02:00
Michael Kamensky
ab16bd9c19 Merge branch 'rebuke' into 'master'
AFC: Hellish Rebuke

See merge request core-developers/forge!5077
2021-07-26 16:59:41 +00:00
Michael Kamensky
114d23a6b8 Merge branch 'glade' into 'master'
you_happen_on_a_glade.txt cleanup

See merge request core-developers/forge!5116
2021-07-26 16:58:42 +00:00
Northmoc
f1054cf026 - add whitespace 2021-07-26 10:31:47 -04:00
Northmoc
2ff040d7d4 you_happen_on_a_glade.txt cleanup 2021-07-26 10:31:46 -04:00
Michael Kamensky
0d49de243f Merge branch 'desktop_card_image_renderer' into 'master'
Port the mobile CardImageRenderer to Desktop

See merge request core-developers/forge!5114
2021-07-26 14:08:25 +00:00
Northmoc
329b5953cc AbilityUtils.java - support "Caster" as Defined 2021-07-26 10:06:53 -04:00
Northmoc
5ae43b65ff hellish_rebuke.txt finale tweaks 2021-07-26 10:04:12 -04:00
Lyu Zong-Hong
6e831a262d Don't update image cache if automatically download missing card images is enabled 2021-07-26 22:46:44 +09:00
Lyu Zong-Hong
e6c5c8989c Implement custom text box renderer 2021-07-26 22:15:08 +09:00
Northmoc
ef00ba8a8a Support "Condition$ TargetIsTriggerRemembered" in TriggerDamageDone.java 2021-07-26 07:50:08 -04:00
Northmoc
9815acfbdb move "IsTriggerRemembered" check from ValidTarget to trigger-specific Condition param 2021-07-26 07:50:07 -04:00
Northmoc
4ce37bcaf8 Add "TriggerRememberDefined" (seems to work) 2021-07-26 07:50:07 -04:00
Northmoc
133262a920 hellish_rebuke.txt draft 2021-07-26 07:50:06 -04:00
leriomaggio
29b9cb3ab0 New Set of Testcases (subclassing for regression and backlog) to force card with no Image and being sure same results apply. 2021-07-26 11:31:54 +01:00
leriomaggio
04ae8fc28a FIX cardDB implementation (and corresponding Tests) for a bug not accounting for too-strict art preference policy for some cards. 2021-07-26 11:31:11 +01:00
Michael Kamensky
572cc75866 Merge branch 'leinore' into 'master'
leinore_autumn_sovereign.txt

See merge request core-developers/forge!5111
2021-07-26 03:55:29 +00:00
Michael Kamensky
fee731edde Merge branch 'morden' into 'master'
Fix Mordenkainen's Polymorph

Closes #1942

See merge request core-developers/forge!5110
2021-07-26 03:55:10 +00:00
Michael Kamensky
dd3d26191a Merge branch 'Fix_Sacrifice_Cards' into 'master'
Fixed Sacrificed cards that needed LKI

See merge request core-developers/forge!5113
2021-07-26 03:54:45 +00:00
Sol
77d9575e53 Update ANNOUNCEMENTS.txt 2021-07-26 03:31:06 +00:00
Lyu Zong-Hong
27856e65a0 Port Card Image Renderer to Desktop 2021-07-26 11:33:50 +09:00
Wendell Wilkerson
e75bdd2d5f card updates to handle sacrificed LKI properly 2021-07-25 17:12:47 -05:00
Northmoc
cd4d0a3be1 leinore_autumn_sovereign.txt 2021-07-25 15:53:04 -04:00
tool4EvEr
8f4d58d762 Fix Mordenkainen's Polymorph 2021-07-25 21:01:22 +02:00
Michael Kamensky
da86b24155 Merge branch 'sealed' into 'master'
SealedProduct: fix crash

See merge request core-developers/forge!5109
2021-07-25 18:01:24 +00:00
Michael Kamensky
7e8b9c0b5a Merge branch 'sefris' into 'master'
CounterEffect: fix missing trigger

See merge request core-developers/forge!5107
2021-07-25 18:01:03 +00:00
tool4EvEr
c3d276f3a9 SealedProduct: fix crash 2021-07-25 18:27:30 +02:00
Hans Mackowiak
a2a2c11e4b more TargetsValid fixes 2021-07-25 17:52:13 +02:00
Hans Mackowiak
8caf3fdcbf fix Orvar the all Form: should only trigger on battlefield targets 2021-07-25 17:46:28 +02:00
Hans Mackowiak
c92d1812fd fix The Prismatic Bridge: rest in random order 2021-07-25 17:37:03 +02:00
Hans Mackowiak
90791a7184 Merge branch 'wurm' into 'master'
wurmcoil_engine.txt consolidate token lines

See merge request core-developers/forge!5108
2021-07-25 15:29:21 +00:00
Northmoc
ad9371b4af wurmcoil_engine.txt consolidate token lines 2021-07-25 07:58:39 -04:00
tool4EvEr
8a80a39416 CounterEffect: fix missing trigger 2021-07-25 13:11:51 +02:00
leriomaggio
cc3cafa964 Added Docstring for test documentation 2021-07-25 11:17:57 +01:00
leriomaggio
e803899d6a Renamed param in constructor for artPreference and BUG FIX in load unknown Card
Even if UNKNOWN card load is enabled, we should check whether the card was not found because of originally filtered.

Therefore, the actual UNKNOWN card will be added now ONLY IF it is not contained in the filtered Blacklist.
2021-07-25 11:17:37 +01:00
Michael Kamensky
6dcad6fad0 Merge branch 'AFC_Fiendlash' into 'master'
Added Fiendlash for review

See merge request core-developers/forge!5061
2021-07-25 09:31:05 +00:00
leriomaggio
1fecdd255a Simplified attemptToLoadCard by removing extra unused setCode param 2021-07-25 08:45:48 +01:00
leriomaggio
e28f6cf16f Removed useless param from attemptLoadCard 2021-07-25 08:44:22 +01:00
leriomaggio
c8e3eef7cf Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-25 08:09:22 +01:00
leriomaggio
2d189cda9a Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-25 08:09:09 +01:00
Michael Kamensky
ba7f08d5ec Merge branch 'tokenset' into 'master'
Some improvements to token image fetching (especially emblems)

See merge request core-developers/forge!5105
2021-07-25 04:27:44 +00:00
Northmoc
222448d29c Add extra try for "setless" token image (Desktop) 2021-07-24 13:06:47 -04:00
Northmoc
377cbca39b Add extra try for "setless" token image (Android) 2021-07-24 13:06:13 -04:00
Northmoc
97225782c1 Emblems - common rarity 2021-07-24 13:05:06 -04:00
Northmoc
8b96079f6e EffectEffect add set to Emblem imagekey 2021-07-24 13:04:27 -04:00
Michael Kamensky
921369628b Merge branch 'dealdamage' into 'master'
Fix dealDamage ignoring amount changes

See merge request core-developers/forge!5104
2021-07-24 16:42:44 +00:00
tool4EvEr
2480296113 Fix dealDamage ignoring amount changes 2021-07-24 14:15:52 +02:00
leriomaggio
d9620a5556 TEMP implementation of Smart Card Art Selection method 2021-07-24 11:33:37 +01:00
leriomaggio
56080cdf3f Added support to the new Smart Card Art Preference Option
The new "Smart Card Art Selection" option for card images in deck has been added.
The Ui and forge preferences have been updated (default is False), as well as corresponding support in StaticData.
On this note, the old `getAlternativeCardPrint` has been re-implemented to enforce a "Latest_Art" based preference selection so that editions could be selected accordingly (as the smart method was originally designed)

Actual implementation of the method will be part of future commits as still under dev - and requires better encapsulation
2021-07-24 11:07:20 +01:00
leriomaggio
6277bc0c0f Added note on behaviour for candidate w/ no edition
Left note only for (internal) documentation purposes!
2021-07-24 11:02:05 +01:00
leriomaggio
ec89ff755b more robust and reliable method to check for card images
The getImagefile will be invoked since this method will also account for any difference in `full` and `fullborder` naming for card images.
In particular, it will try everything possible before giving up and assume the card has no image.
This is **crucial** for cardDB card retrieval, as well as determines the boolean value returned by PaperCard.hasImage method/property
2021-07-24 10:51:26 +01:00
leriomaggio
4c001b9462 Nothing serious - explicit null initialisation 2021-07-24 10:48:08 +01:00
Bug Hunter
3b357207a4 Merge branch 'import' into 'master'
Fix imports

See merge request core-developers/forge!5103
2021-07-24 09:27:39 +00:00
tool4EvEr
ac6219f4bd Clean up 2021-07-24 11:27:37 +02:00
leriomaggio
513eed297d removed annoying blank line in code formatting :D 2021-07-24 10:09:41 +01:00
Wendell Wilkerson
c70ab7b722 fix for LKI on DamageDoneOnce trigger 2021-07-24 00:22:48 -05:00
Michael Kamensky
004ea04a0e Merge branch 'move-fatpacks-to-editions' into 'master'
Move fatpacks to editions

See merge request core-developers/forge!5102
2021-07-24 05:18:05 +00:00
Michael Kamensky
2b342d7118 Merge branch 'dungeon' into 'master'
Add Dungeon to EditionSectionWithCollectorNumbers

See merge request core-developers/forge!5099
2021-07-24 05:17:57 +00:00
Michael Kamensky
5645f2212e Merge branch 'predict' into 'master'
Fix predictDamageTo

See merge request core-developers/forge!5100
2021-07-24 05:17:23 +00:00
Michael Kamensky
e5cb062644 Merge branch 'anger' into 'master'
Fix ReplaceDyingDefined on cards that use DamageAll effect

Closes #1938

See merge request core-developers/forge!5097
2021-07-24 05:17:14 +00:00
Michael Kamensky
4bce4a9a84 Merge branch 'thirst' into 'master'
Bloodchief's Thirst: improve StackDescription to show target when kicked (band-aid)

See merge request core-developers/forge!5101
2021-07-24 05:16:21 +00:00
Wendell Wilkerson
8a6a0c5d85 Merge branch 'master' into AFC_Fiendlash 2021-07-23 23:51:23 -05:00
friarsol
da0f7ed15e Include D&D set 2021-07-23 22:49:32 -04:00
friarsol
6210fdd9fc Move FatPacks to editions file 2021-07-23 22:47:48 -04:00
Northmoc
610fe7fada - typo 2021-07-23 20:45:29 -04:00
Northmoc
4108b56135 serpentine_spike.txt tidy up StackDesc 2021-07-23 20:40:37 -04:00
tool4EvEr
1534636a64 Fix Serpentine Spike 2021-07-23 20:24:17 -04:00
Northmoc
94da5f3c3a add Remember objects from Damage effects to GameAction before the maps are cleared 2021-07-23 20:24:16 -04:00
Northmoc
a8205192ca remove Remember functions from DamageAllEffect 2021-07-23 20:24:09 -04:00
Northmoc
22337e4a7b remove Remember functions from DamageDealEffect 2021-07-23 20:21:18 -04:00
tool4EvEr
ffb40f1195 Fix Price of Loyalty 2021-07-24 00:09:52 +02:00
leriomaggio
01d117b07e Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-23 22:38:23 +01:00
leriomaggio
b3ce4bf9ff New Options for Smart Card Art Selection 2021-07-23 22:38:19 +01:00
tool4EvEr
df160a751e Fix predictDamageTo 2021-07-23 21:56:37 +02:00
tool4EvEr
911511d039 Add Dungeon to EditionSectionWithCollectorNumbers 2021-07-23 21:33:25 +02:00
leriomaggio
f52dbdb996 Requires Restart for Preferred Art was set to the wrong label 2021-07-23 20:01:23 +01:00
leriomaggio
7d2a62714c Removed repeated/duplicate entries 2021-07-23 19:43:52 +01:00
Michael Kamensky
ef917a91b9 Merge branch 'update_translation_dice_class' into 'master'
Fix translation issues for Class and dice rolling cards

See merge request core-developers/forge!5098
2021-07-23 15:59:52 +00:00
Northmoc
589f714d70 improve StackDescription to show target when kicked (band-aid) 2021-07-23 11:13:12 -04:00
Lyu Zong-Hong
b28e32460d Fix translation issues for Class and dice rolling cards 2021-07-23 23:40:04 +09:00
Northmoc
2fffb11d72 anger_of_the_gods.txt tidy up 2021-07-23 10:00:05 -04:00
leriomaggio
f0c584f9d0 FIX bug of DeckViewer on window auto-resize
On my laptop, the dimensions of the deck viewer rescaled were ridiculously small, and smaller even than "small deck viewer".
I've removed the scaling factor, which caused the issue.
2021-07-23 10:53:17 +01:00
Michael Kamensky
7dcf2c6131 Merge branch 'afr_update_translation' into 'master'
Update translations for AFR release

See merge request core-developers/forge!5096
2021-07-23 09:46:13 +00:00
Michael Kamensky
49fe438790 Merge branch 'afr_oracle_update' into 'master'
Update oracles with AFR release

See merge request core-developers/forge!5095
2021-07-23 09:45:57 +00:00
leriomaggio
32d0e14a35 New Preferred Card Art Preference with two separate controllers
Now menu settings (on Desktop App) includes the preferred art option selection as separated in two settings.
The former is to decide whether Latest or Original Art should be used; the latter specifies whether only core, exp. and reprint sets should be considered.

All translation files have been updated, aligned, and extended accordingly.
The MAJOR update here is that now options for Art are fully localised too!! (so far only for Desktop App)
2021-07-23 10:45:54 +01:00
Lyu Zong-Hong
f559bd98ef Update translations for AFR release 2021-07-23 16:19:40 +09:00
leriomaggio
5c27c57f74 New and Refined methods to get and set cart art preferences for all instances of CardDb 2021-07-23 07:57:30 +01:00
leriomaggio
89bdb79d03 New methods (w. tests) to setup card art preferences
CardDb now includes a more refined mechanism to set up values for CardArt Preference.

These methods do now support the proper setup for legacy values and string values (as supported previously in mobile version).
Moreover, new methods are now defined to support the new (separated) pair of settings as integrated into the Desktop App.
2021-07-23 07:45:59 +01:00
leriomaggio
6be921c1a2 FIX for CustomCardReader to support instantiation when no custom edition has been found 2021-07-23 07:37:32 +01:00
Lyu Zong-Hong
a3372980e5 Update oracles with AFR release 2021-07-23 15:31:40 +09:00
Lyu Zong-Hong
a42d64353e Update oracles with AFR release 2021-07-23 15:02:11 +09:00
Michael Kamensky
445826e50e Merge branch 'NPE' into 'master'
Fix some NPE from token table

See merge request core-developers/forge!5089
2021-07-23 04:25:47 +00:00
Michael Kamensky
998873f311 Merge branch 'mathas' into 'master'
Fix Mathas

See merge request core-developers/forge!5090
2021-07-23 04:25:07 +00:00
Michael Kamensky
85b2d97a4c Merge branch 'lorcan' into 'master'
Added Lorcan, Warlock Collector

See merge request core-developers/forge!5091
2021-07-23 04:24:49 +00:00
Michael Kamensky
eaa6d6acd6 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!5092
2021-07-23 04:24:23 +00:00
Michael Kamensky
d1c0d7f49b Merge branch 'fix_fevered_suspicion' into 'master'
Fixed Fevered Suspicion  (issue #1934)

See merge request core-developers/forge!5093
2021-07-23 04:24:14 +00:00
Michael Kamensky
20712cc652 Merge branch 'share_the_spoils' into 'master'
Add Share the Spoils

See merge request core-developers/forge!5084
2021-07-23 04:24:00 +00:00
Lyu Zong-Hong
ebcfa5b084 Add ValidSA check to LandPlayed trigger 2021-07-23 11:38:55 +09:00
Wendell Wilkerson
cb2d44a35c missing Amount$ All added 2021-07-22 21:11:41 -05:00
CCTV-1
62ef92364f update simplified chinese translation 2021-07-23 10:06:00 +08:00
Wendell Wilkerson
9c38466c33 fixed formating 2021-07-22 20:51:53 -05:00
Wendell Wilkerson
b28526cfe3 Merge branch 'master' into AFC_Fiendlash 2021-07-22 20:48:33 -05:00
Lyu Zong-Hong
5d9e0f54a6 Merge branch 'master' into share_the_spoils 2021-07-23 10:38:42 +09:00
paul_snoops
10645c4da8 Added Lorcan, Warlock Collector 2021-07-22 19:52:34 +01:00
tool4EvEr
28ab74ce06 Fix Mathas 2021-07-22 20:48:00 +02:00
tool4EvEr
0c745c51fd Fix some NPE from token table 2021-07-22 20:14:12 +02:00
Michael Kamensky
e1f3293126 Merge branch 'tidy' into 'master'
tidy up dungeon_crawler.txt

See merge request core-developers/forge!5088
2021-07-22 16:48:54 +00:00
Northmoc
fed5b9af3d tidy up dungeon_crawler.txt 2021-07-22 12:29:03 -04:00
Michael Kamensky
09a4d6f4e2 Merge branch 'kheru' into 'master'
Kheru Spellsnatcher: Fix playing MDFC lands

See merge request core-developers/forge!5086
2021-07-22 15:37:30 +00:00
Michael Kamensky
66d37c324f Merge branch 'TRT-master-patch-88120' into 'master'
Update forge-gui/res/cardsfolder/p/precipitous_drop.txt

Closes #1936

See merge request core-developers/forge!5087
2021-07-22 15:36:13 +00:00
Bug Hunter
ff1cd7d01b Update forge-gui/res/cardsfolder/p/precipitous_drop.txt 2021-07-22 15:08:11 +00:00
tool4EvEr
1665d3ec67 Kheru Spellsnatcher: Fix playing MDFC lands 2021-07-22 13:32:13 +02:00
Alumi
b7534d3c97 Merge branch 'landplay' into 'master'
PlayEffect fixes

Closes #1932

See merge request core-developers/forge!5074
2021-07-22 10:53:57 +00:00
Bug Hunter
21e16e24be PlayEffect fixes 2021-07-22 10:53:56 +00:00
Bug Hunter
85e8446f32 Merge branch 'TRT-master-patch-21564' into 'master'
Update forge-gui/res/cardsfolder/t/thieves_tools.txt

See merge request core-developers/forge!5085
2021-07-22 10:11:11 +00:00
Bug Hunter
47337a8414 Update forge-gui/res/cardsfolder/t/thieves_tools.txt 2021-07-22 10:10:39 +00:00
Michael Kamensky
6e41ad9288 Merge branch 'master' into 'master'
Ban Commander Only Cards in Limited

See merge request core-developers/forge!5083
2021-07-22 09:45:01 +00:00
Meerkov
b4928378c9 Fix CARDNAME on 6 cards
Some spell descriptions were not properly using CARDNAME. This is relevant because Mutate, etc.
2021-07-22 09:45:01 +00:00
Lyu Zong-Hong
996d6011f4 Add Share the Spoils 2021-07-22 16:34:11 +09:00
Alumi
4b5eb736e0 Merge branch 'master' into 'master'
Fix CARDNAME on 5 cards

See merge request core-developers/forge!5082
2021-07-22 06:21:18 +00:00
Meerkov
4c08a961d7 Fix CARDNAME on 6 cards
Some spell descriptions were not properly using CARDNAME. This is relevant because Mutate, etc.
2021-07-22 06:21:17 +00:00
Michael Kamensky
fcf645e8d0 Merge branch 'master' into 'master'
Unban Hasran Ogress & King Suleiman

See merge request core-developers/forge!5081
2021-07-22 04:50:10 +00:00
Meerkov
3b3e4a3d42 Unban Hasran Ogress & King Suleiman
Motivation: There are too many cards banned for AI use in the ARN set. It's something like half of the cards. This unbans 2 cards that are viable for the AI to use.

King Suleiman has no AI problems. It kills Efreets and Djinns in ARN, but also kills Changelings in newer sets. There is no reason for this card to be banned.

Hasran Ogress is banned because the AI currently will never attack using it, even when it has mana open. However, you can still do a lot worse than a 2 mana 3/2 defender. Hasran Ogress is better than several walls in Alpha, and allowing the AI to play this card will make the AI decks stronger, even when played as a defender.
2021-07-21 21:48:53 -07:00
Michael Kamensky
b363db47bc Merge branch 'master' into 'master'
Bug Fix: Regenerate Tribal permanents

See merge request core-developers/forge!5079
2021-07-22 04:33:44 +00:00
Meerkov
dbf8ffd4a6 Change + to .
Hanmac said to do change this. I didn't test it.
2021-07-21 15:32:54 -07:00
Michael Kamensky
d883bdd67f Merge branch 'net_decks_archive' into 'master'
Net Deck Archive Pauper (Desktop & Android)

See merge request core-developers/forge!5078
2021-07-21 16:55:00 +00:00
leriomaggio
5b500bc568 Updated tests with newest cardart preference + new tests for counterspell for the many reprints. 2021-07-21 17:37:06 +01:00
leriomaggio
086b86b9c7 Removed default constructor with no cardArt preference, and so removed the default pref attribute 2021-07-21 17:35:08 +01:00
leriomaggio
a5ee901bba Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-21 17:32:02 +01:00
paul_snoops
e64655280c Net Deck Archive Pauper (Desktop & Android) 2021-07-21 15:19:46 +01:00
paul_snoops
512bf18381 Net Deck Archive Pauper (Desktop & Android) 2021-07-21 14:46:31 +01:00
paul_snoops
df8de75a28 Net Deck Archive Pauper (Desktop & Android) 2021-07-21 13:32:26 +01:00
Michael Kamensky
d36d4398ac Merge branch 'thisturnentered' into 'master'
getThisTurnEntered: check all players

See merge request core-developers/forge!5075
2021-07-21 06:57:42 +00:00
Michael Kamensky
08ad1e4189 Merge branch 'clean_play_effect' into 'master'
Cleanup PlayEffect a bit

See merge request core-developers/forge!5076
2021-07-21 04:04:40 +00:00
Michael Kamensky
adb7cd643e Merge branch 'master' into 'master'
AI Restrict Elephant Graveyard

See merge request core-developers/forge!5073
2021-07-21 04:04:17 +00:00
Lyu Zong-Hong
da7d20ea60 Cleanup PlayEffect a bit 2021-07-21 07:55:56 +09:00
tool4EvEr
d0c1d730d6 Fix filename 2021-07-20 23:40:24 +02:00
Meerkov
a2c85718b9 Bug Fix: Regenerate Tribal permanents
Tribal Permanents create a way to have creature types on non-creature permanents. Those permanents are supposed to be targetable by these 4 cards.

This removes the incorrect "Creature" specification on these card scripts.

In practice, this allows you to use regeneration shields on some ~19 tribal permanents (that might somehow end up with the relevant creature types).
2021-07-20 14:07:20 -07:00
tool4EvEr
7deffd8b7b getThisTurnEntered: check all players 2021-07-20 22:33:08 +02:00
Meerkov
06cad4e182 AI Restrict Elephant Graveyard
Elephant Graveyard is a combo card with Elephants. The AI shouldn't include it if there are no elephants, as it's worse than a basic land.

This fix removes Elephant Graveyard from ~60% of decks in ARN draft where it does nothing (only White has any elephants in ARN).
2021-07-20 12:24:37 -07:00
Michael Kamensky
02afdc5a29 Merge branch 'master' into 'master'
Unban War Elephant

See merge request core-developers/forge!5072
2021-07-20 18:41:24 +00:00
Meerkov
60d98913eb Unban War Elephant
For simplicity I will call AI:RemoveDeck:Random as the same thing as "Banned" for the AI.

War Elephant is banned from AI draft decks because it has banding.

The AI does not know how to use banding intelligently, but has no trouble casting, attacking, and blocking with War Elephant, even if it's not optimal. Giving white a 2/2 Trample for 4 is still better than nothing.

Additionally, right now 5 of 11 white cards are banned in ARN. This makes the AI that plays white decks short on playables consistently.

Therefore, this unbans War Elephant given that it's better to give the AI a creature it can play sub-optimally, rather than give it nothing at all.
2021-07-20 11:19:01 -07:00
Michael Kamensky
f050f572ec Merge branch 'rod_of_absorption' into 'master'
Add Rod of Absorption

See merge request core-developers/forge!5066
2021-07-20 16:03:27 +00:00
Alumi
3c9462ff34 Add Rod of Absorption 2021-07-20 16:03:25 +00:00
Michael Kamensky
719eb4f64f Merge branch 'validblocker' into 'master'
Fix ValidBlocker

See merge request core-developers/forge!5067
2021-07-20 09:06:42 +00:00
Bug Hunter
ec08814230 Merge branch 'master' into 'validblocker'
# Conflicts:
#   forge-gui/res/cardsfolder/u/unexpected_windfall.txt
2021-07-20 08:52:23 +00:00
Michael Kamensky
9c9531ff8c Merge branch 'master' into 'master'
Check AI Deckbuilding Hints on non-basic lands

See merge request core-developers/forge!5071
2021-07-20 07:57:20 +00:00
Meerkov
9cff9ebf98 Check AI Deckbuilding Hints on non-basic lands
Before, the AI would ignore deckbuilding hints on lands. This fixes that by checking after non-basic lands are added.
2021-07-19 23:55:51 -07:00
Michael Kamensky
890034da1d Merge branch 'master' into 'master'
Fix unused imports

See merge request core-developers/forge!5070
2021-07-20 04:01:08 +00:00
Michael Kamensky
d878569ac1 - Fix unused imports. 2021-07-20 06:59:58 +03:00
Michael Kamensky
88df48fffe Merge branch 'master' into 'master'
Draft AI Improvement: Guaranteed land for splash cards / No longer splash 4th and 5th colors.

See merge request core-developers/forge!5069
2021-07-20 03:33:17 +00:00
Michael Kamensky
165bf3ac6f Merge branch 'cleanup' into 'master'
Minor clean up

See merge request core-developers/forge!5068
2021-07-20 03:27:23 +00:00
Sol
6a109b64d2 Update unexpected_windfall.txt 2021-07-20 02:24:43 +00:00
Wendell Wilkerson
d396af5e2f Revert "work around for LKI bug"
This reverts commit 6f1fe2d0ee.
2021-07-19 21:22:24 -05:00
Sol
a7d8e9fde3 Update reject.txt 2021-07-20 01:50:00 +00:00
Meerkov
db3bf2ee6e AI Improvement: Guaranteed land for splash cards
This fixes the land distribution to always includes a minimum of 2 lands when the AI splashes a color.

In practice, this should greatly improve AI decks in multi-colored sets.
2021-07-19 14:27:11 -07:00
tool4EvEr
a1a326adc6 Minor clean up 2021-07-19 23:20:10 +02:00
tool4EvEr
c832116ea8 Fix ValidBlocker 2021-07-19 21:02:11 +02:00
Michael Kamensky
590ab2c93d Merge branch 'phantom' into 'master'
AFC: Phantom Steed

See merge request core-developers/forge!5057
2021-07-19 09:17:09 +00:00
Michael Kamensky
bc854a0572 Merge branch 'afc_18' into 'master'
AFC - 18 Jul

See merge request core-developers/forge!5062
2021-07-19 05:44:45 +00:00
Michael Kamensky
81838f4b21 Merge branch 'AFC_Cards_20210717' into 'master'
next batch of AFC cards

See merge request core-developers/forge!5051
2021-07-19 05:44:14 +00:00
Michael Kamensky
fc7c01013b Merge branch 'nihiloor' into 'master'
AFC: Nihiloor

See merge request core-developers/forge!5022
2021-07-19 05:44:04 +00:00
Michael Kamensky
c7bad2bbd8 Merge branch 'master' into 'master'
Preparing Forge for Android release 1.6.43.001 [incremental]

See merge request core-developers/forge!5065
2021-07-19 04:57:07 +00:00
Michael Kamensky
9eaa836e7d - Preparing Forge for Android release 1.6.43.001 [incremental]. 2021-07-19 07:55:35 +03:00
Michael Kamensky
e46e1af8c5 [maven-release-plugin] prepare for next development iteration 2021-07-19 07:30:01 +03:00
Michael Kamensky
fbb1c906ea [maven-release-plugin] prepare release forge-1.6.43 2021-07-19 07:29:51 +03:00
Michael Kamensky
959ed6ed23 Merge branch 'master' into 'master'
Added AFR/AFC achievements by Marek14.

See merge request core-developers/forge!5064
2021-07-19 04:03:12 +00:00
Michael Kamensky
c747957cf3 - Added AFR/AFC achievements by Marek14. 2021-07-19 07:02:20 +03:00
Michael Kamensky
72b9ad8651 Merge branch 'small_fix' into 'master'
AFC edition tokens fixes

See merge request core-developers/forge!5055
2021-07-19 03:13:49 +00:00
Michael Kamensky
716503ea38 Merge branch 'master' into 'master'
AI Deck Building Bug Fixes

See merge request core-developers/forge!5060
2021-07-19 03:11:20 +00:00
Michael Kamensky
163aa7edbe Merge branch 'release-file-update' into 'master'
Update ANNOUNCEMENTS.txt

See merge request core-developers/forge!5063
2021-07-19 03:10:16 +00:00
Sol
2365e61256 Update secret_door.txt 2021-07-19 03:05:26 +00:00
Wendell Wilkerson
a9b82b1eba Vengeful Ancestor fixes 2021-07-18 21:41:57 -05:00
Wendell Wilkerson
6f1fe2d0ee work around for LKI bug 2021-07-18 20:54:05 -05:00
Sol
7636c35fb5 Update Dungeons & Dragons Adventures in the Forgotten Realms.txt 2021-07-19 01:51:15 +00:00
Sol
7a78432976 Update ANNOUNCEMENTS.txt 2021-07-19 01:36:17 +00:00
Northmoc
efa9d9138d wand_of_orcus.txt 2021-07-18 19:47:08 -04:00
Wendell Wilkerson
5099978ee0 added Fiendlash for review 2021-07-18 17:49:37 -05:00
Meerkov
6c89f2053e Fix: Multiple RemoveDeck hints now properly stack
Before: The *last* RemoveDeck hint overwrites all previous flags.

After: Every RemoveDeck hint is stored properly.
2021-07-18 15:35:52 -07:00
Meerkov
47917e4a3f Fix: AI splash best 3rd color card instead of random
AI sometimes needs to splash a 3rd color to fill their 23 playables (especially in sets with Multicolored cards). Previously, this would add cards based on the Pick order. Now it properly adds them based on the Ranking of the cards.
2021-07-18 14:28:53 -07:00
Wendell Wilkerson
b59778b59f Merge branch 'master' into AFC_Cards_20210717 2021-07-18 11:53:10 -05:00
Wendell Wilkerson
e2af4da0d5 fixes plus added IsGoaded to card properties available to card scripting API 2021-07-18 11:42:54 -05:00
Sol
6505e5562f Merge branch 'migrate-upcoming-dnd' into 'master'
Migrate DnD

See merge request core-developers/forge!5058
2021-07-18 15:44:28 +00:00
friarsol
01a1885289 Migrate DnD 2021-07-18 11:43:47 -04:00
Northmoc
ee63f606f2 allow "UntilLeavesBattlefield" to be Defined 2021-07-18 10:52:52 -04:00
Northmoc
6ff0548dc8 smoother detail text for UntilLeavesBattlefield cards 2021-07-18 10:51:17 -04:00
Northmoc
80645fb9c3 phantom_steed.txt 2021-07-18 10:50:36 -04:00
paul_snoops
8aee6d8e85 AFC edition tokens fixes 2021-07-18 13:32:25 +01:00
paul_snoops
789af729b2 Merge branch 'master' of https://git.cardforge.org/core-developers/forge into small_fix
 Conflicts:
	forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms Commander.txt
2021-07-18 13:29:57 +01:00
Alumi
95d459d0e6 Merge branch 'update_oracle_book' into 'master'
Update oracle text of The Book of Vile Darkness

See merge request core-developers/forge!5056
2021-07-18 12:14:57 +00:00
Lyu Zong-Hong
44f518db90 Update oracle text of The Book of Vile Darkness 2021-07-18 21:13:59 +09:00
Michael Kamensky
259a84561d Merge branch 'update_the_book_of_vile_darkness' into 'master'
Update The Book of Vile Darkness

See merge request core-developers/forge!5054
2021-07-18 11:35:55 +00:00
Michael Kamensky
0d7fb25471 Merge branch 'afc_16' into 'master'
AFC - 16 Jul

See merge request core-developers/forge!5042
2021-07-18 11:35:24 +00:00
paul_snoops
a26fef98eb AFC edition tokens fixes 2021-07-18 12:16:04 +01:00
Lyu Zong-Hong
c0fc97e81f Update The Book of Vile Darkness 2021-07-18 19:14:04 +09:00
Alumi
b29f744b45 Merge branch 'effectEmblem' into 'master'
Effect Emblem

See merge request core-developers/forge!5052
2021-07-18 09:06:49 +00:00
Hans Mackowiak
e753d45b42 Update getDefinedCards for how it get Valid* cards so the syntax is consistent with other Valid script. Also remove the hacky way to set Effect as mutable for Raging River and Plague of Vermin 2021-07-18 09:06:47 +00:00
Michael Kamensky
52160c9e60 Merge branch 'AFC_cards' into 'master'
AFC card scripts 17 Jul

See merge request core-developers/forge!5048
2021-07-18 05:33:09 +00:00
Michael Kamensky
71ff068101 Merge branch 'patch_hofri_delina' into 'master'
Update Hofri and Delina to be conformant with oracle text

See merge request core-developers/forge!5053
2021-07-18 05:32:06 +00:00
Wendell Wilkerson
13214a04a5 a couple more 2021-07-18 00:29:57 -05:00
Lyu Zong-Hong
9c7704c6bd Update Hofri and Delina to be conformant with oracle text 2021-07-18 13:28:47 +09:00
Wendell Wilkerson
ca7b05c472 next batch of AFC cards 2021-07-17 22:46:06 -05:00
Sol
f5aee89476 Update planar_ally.txt 2021-07-18 03:25:16 +00:00
Grimm
6712c1cd55 Add Save screen 2021-07-18 04:09:56 +02:00
paul_snoops
7180295a1f AFC card scripts 17 Jul 2021-07-17 22:37:14 +01:00
Michael Kamensky
0b3def285a Merge branch 'afc_roll_dice_part2' into 'master'
Add more AFC Roll Dice cards

See merge request core-developers/forge!5047
2021-07-17 18:27:11 +00:00
Michael Kamensky
6b3ab5edf9 Merge branch 'master' into 'master'
Added puzzle PS_MH21.

See merge request core-developers/forge!5050
2021-07-17 18:24:10 +00:00
Michael Kamensky
4dda484173 - Added puzzle PS_MH21. 2021-07-17 21:23:09 +03:00
paul_snoops
20387ffce0 AFC card scripts 17 Jul 2021-07-17 15:22:31 +01:00
Northmoc
3665ca5c2b fix typo 2021-07-17 09:48:50 -04:00
paul_snoops
eb8ac6336a AFC card scripts 17 Jul 2021-07-17 11:04:24 +01:00
Lyu Zong-Hong
d3487231f5 Add more AFC Roll Dice cards 2021-07-17 18:09:15 +09:00
Michael Kamensky
6996a172e8 Merge branch 'emergency' into 'master'
emergency_powers.txt remove unneeded

See merge request core-developers/forge!5046
2021-07-17 03:30:28 +00:00
Michael Kamensky
f05ede87fc Merge branch 'mutate_was_cast' into 'master'
Handle mutate and wasCast interaction

See merge request core-developers/forge!5044
2021-07-17 03:29:13 +00:00
Alumi
f14de1c2c1 Handle mutate and wasCast interaction 2021-07-17 03:29:13 +00:00
Michael Kamensky
0188463b7e Merge branch 'negative' into 'master'
Fix pumps from reveal

See merge request core-developers/forge!5045
2021-07-17 03:28:48 +00:00
Northmoc
6e2dd8f267 catti_brie_of_mithral_hall.txt 2021-07-16 21:48:46 -04:00
Northmoc
6d8be55032 neverwinter_hydra.txt 2021-07-16 18:32:59 -04:00
Northmoc
5e7adf6383 emergency_powers.txt remove unneeded 2021-07-16 15:48:16 -04:00
tool4EvEr
d89bff8554 Fix pumps from reveal 2021-07-16 21:15:04 +02:00
Sol
cafdc40348 Update treasure_chest.txt 2021-07-16 18:21:10 +00:00
Michael Kamensky
bc4e9ef4ac Merge branch 'AFC_Cards_20210715' into 'master'
First batch of AFC cards 15 Jul 2021

See merge request core-developers/forge!5037
2021-07-16 18:02:12 +00:00
Northmoc
d6d66e782f refactor Minn illusion token name 2021-07-16 13:57:33 -04:00
Northmoc
b5990e92db u_1_1_illusion_other_illusions.txt token for Minn 2021-07-16 13:57:10 -04:00
Northmoc
33d969db8f minn_wily_illusionist.txt 2021-07-16 13:56:34 -04:00
Northmoc
f4dcf10e41 wild_endeavor.txt 2021-07-16 10:33:27 -04:00
Northmoc
7599a24ed9 reckless_endeavor.txt 2021-07-16 10:32:54 -04:00
Wendell Wilkerson
83554b032f Merge branch 'master' into AFC_Cards_20210715 2021-07-16 09:25:21 -05:00
Wendell Wilkerson
2b12d56f17 fixes from MR threads 2021-07-16 09:24:13 -05:00
Northmoc
77a73c04a4 correct for Source that is LKI (coming from ImmediateTrigger, etc) 2021-07-16 09:52:39 -04:00
Northmoc
26364aaf3f ChooseCardEffect support for "ChoiceTitleAppendDefined" 2021-07-16 09:52:38 -04:00
Northmoc
80ae0484b8 nihiloor.txt 2021-07-16 09:52:38 -04:00
Michael Kamensky
ca65ff229f Merge branch 'Williams-master-patch-20669' into 'master'
Update Love Your LGS 2021.txt

See merge request core-developers/forge!5040
2021-07-16 13:24:53 +00:00
Michael Kamensky
38298d4b60 Merge branch 'vish' into 'master'
vish_kal_blood_arbiter.txt tidy up

See merge request core-developers/forge!5043
2021-07-16 13:24:29 +00:00
Michael Kamensky
d6c180e0da Merge branch 'fear' into 'master'
Small fix for Crippling Fear

See merge request core-developers/forge!5041
2021-07-16 13:24:15 +00:00
Northmoc
a54bb82c84 fey_steed.txt refine targeting 2021-07-16 08:38:31 -04:00
tool4EvEr
9a5fdce071 Small fix for Crippling Fear 2021-07-16 13:21:38 +02:00
Hans Mackowiak
da338f02c3 fix Xorn 2021-07-16 12:06:45 +02:00
Michael Kamensky
07a8f78c27 Merge branch 'tasha' into 'master'
Tasha's Hideous Laughter: Fix infinite loop when lib empties

See merge request core-developers/forge!5039
2021-07-16 09:51:23 +00:00
John
09774ae13f Update Love Your LGS 2021.txt 2021-07-16 09:16:33 +00:00
tool4EvEr
764a77b69e Fix infinite loop when lib empties 2021-07-16 09:44:11 +02:00
Bug Hunter
2bb3fdf088 Merge branch 'TRT-master-patch-03435' into 'master'
Update forge-gui/res/cardsfolder/i/idol_of_oblivion.txt

See merge request core-developers/forge!5038
2021-07-16 06:32:18 +00:00
Bug Hunter
de8a4c9df8 Update forge-gui/res/cardsfolder/i/idol_of_oblivion.txt 2021-07-16 06:31:51 +00:00
Wendell Wilkerson
250daad3f4 Merge branch 'master' into AFC_Cards_20210715 2021-07-16 00:05:10 -05:00
Wendell Wilkerson
d196c06c4c first batch of AFC cards 2021-07-15 23:56:49 -05:00
Michael Kamensky
d99eb6bed6 Merge branch 'holy' into 'master'
AFC: Holy Avenger and support

See merge request core-developers/forge!5036
2021-07-16 03:35:35 +00:00
Michael Kamensky
20bddf5bb4 Merge branch 'afc_roll_dice_1' into 'master'
Add AFC Roll Dice cards - part 1

See merge request core-developers/forge!5035
2021-07-16 03:35:05 +00:00
Michael Kamensky
0b664c4278 Merge branch 'afc_15' into 'master'
AFC - 15 Jul

See merge request core-developers/forge!5032
2021-07-16 03:34:25 +00:00
Michael Kamensky
0969b896c8 Merge branch 'trig' into 'master'
makeChoices for Trigger: move to stack entry

See merge request core-developers/forge!5028
2021-07-16 03:33:32 +00:00
Michael Kamensky
3d817ab16a Merge branch 'calix' into 'master'
Fix Calix

See merge request core-developers/forge!5031
2021-07-16 03:32:49 +00:00
Michael Kamensky
8a6814ce67 Merge branch 'twosat-master-patch-49093' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5034
2021-07-16 03:32:15 +00:00
Michael Kamensky
61f1a2c35c Merge branch 'formats' into 'master'
Formats update

See merge request core-developers/forge!5033
2021-07-16 03:32:09 +00:00
Northmoc
01d4d6b22e support for "CanEnchantEquippedBy" restriction 2021-07-15 20:39:39 -04:00
Northmoc
e757af41f7 holy_avenger.txt 2021-07-15 20:38:47 -04:00
Northmoc
e8ccc34106 klauth_unrivaled_ancient.txt 2021-07-15 20:38:16 -04:00
Northmoc
ce7c10b37b fey_steed.txt + AI hint 2021-07-15 19:47:41 -04:00
Lyu Zong-Hong
77e29bac0b Add AFC Roll Dice cards - part 1 2021-07-16 08:45:07 +09:00
Northmoc
2ec99267da radiant_solar.txt (Marvel) 2021-07-15 19:33:30 -04:00
Northmoc
6b623f8c7f fey_steed.txt (guytrash) 2021-07-15 19:31:11 -04:00
tool4EvEr
d7badae5ea Clean up 2021-07-15 22:32:28 +02:00
Andreas Bendel
bec85590c5 Update de-DE.properties
translated lblDoYouWantRollNDiceAction
2021-07-15 19:58:11 +00:00
paul_snoops
d43c1c023e Formats update 2021-07-15 20:27:07 +01:00
paul_snoops
ecb321a584 Formats update 2021-07-15 20:23:10 +01:00
tool4EvEr
8ac9e7a383 Fix params 2021-07-15 20:43:17 +02:00
Northmoc
c327e4eec6 karazikar_the_eye_tyrant.txt 2021-07-15 14:09:19 -04:00
tool4EvEr
2cb0df9422 Fix Calix 2021-07-15 19:20:05 +02:00
Michael Kamensky
fb4d21a2cc Merge branch 'afc_15' into 'master'
AFC - 15 Jul

See merge request core-developers/forge!5027
2021-07-15 16:32:42 +00:00
Michael Kamensky
68f3c9a686 Merge branch 'fight' into 'master'
FightEffect: Fix missing trigger

See merge request core-developers/forge!5029
2021-07-15 16:26:22 +00:00
Michael Kamensky
ac78f5fa56 Merge branch 'token' into 'master'
Fix xPaid for Token as drawback

See merge request core-developers/forge!5030
2021-07-15 16:26:15 +00:00
Northmoc
e4ce75036f - add newline 2021-07-15 12:15:52 -04:00
Northmoc
ff2e67679f refactor token - rg_5_4_dragon_spirit_damagesac 2021-07-15 12:08:03 -04:00
Northmoc
60e2fce2f3 rg_5_4_dragon_spirit_damagesac.txt 2021-07-15 12:07:38 -04:00
Northmoc
48b142c7a4 vrondiss_rage_of_ancients.txt (Suthro) 2021-07-15 12:07:20 -04:00
tool4EvEr
a30438e853 Fix xPaid for Token as drawback 2021-07-15 18:03:01 +02:00
tool4EvEr
a9c92da5dd FightEffect: Fix missing trigger 2021-07-15 17:08:50 +02:00
tool4EvEr
ed3e6abe9c makeChoices for Trigger: move to stack entry 2021-07-15 17:03:07 +02:00
Northmoc
8f4a83e44a vish_kal_blood_arbiter.txt tidy up 2021-07-15 10:53:53 -04:00
leriomaggio
615651bbac Re-enabled all the tests and added missing conditions for spellAbilityWithNoStack 2021-07-15 15:42:09 +01:00
leriomaggio
4dbfda4d43 Adding target to spellAbility only if necessary 2021-07-15 15:40:09 +01:00
leriomaggio
3a56020195 Added mock for GameLogFormatter 2021-07-15 15:39:49 +01:00
Northmoc
ddae3d97a4 wild_magic_sorceror.txt better AI? 2021-07-15 09:37:12 -04:00
Northmoc
f82c7eb220 wild_magic_sorceror.txt 2021-07-15 08:41:36 -04:00
Michael Kamensky
3b9d63221c Merge branch 'tokenTable' into 'master'
Token table

See merge request core-developers/forge!4924
2021-07-15 09:14:39 +00:00
Hans Mackowiak
099970de6a Token table 2021-07-15 09:14:38 +00:00
Michael Kamensky
22e2edae1a Merge branch 'fix_ebondeath_dracolich' into 'master'
Fix Ebondeath, Dracolich can't be cast from graveyard bug

See merge request core-developers/forge!5026
2021-07-15 08:21:24 +00:00
leriomaggio
537dee5b1c Added extra constant for Lang dir (currently not yet used as I originally thought) 2021-07-15 08:23:25 +01:00
leriomaggio
860747f8d7 Re-enabled all tests that now work and pass. 2021-07-15 08:22:47 +01:00
leriomaggio
712f907b59 Restored BaseGameSimulationTest with proper Mocks set up 2021-07-15 08:22:27 +01:00
Lyu Zong-Hong
dbdb481a2c Fix Ebondeath, Dracolich can't be cast from graveyard bug 2021-07-15 15:25:35 +09:00
Michael Kamensky
91d16eaa2d Merge branch 'update_rogue_class' into 'master'
Update Rogue Class' first ability

See merge request core-developers/forge!5025
2021-07-15 03:55:30 +00:00
Michael Kamensky
00cb0db6a2 Merge branch 'atropal' into 'master'
Refactor The Atropal

See merge request core-developers/forge!5023
2021-07-15 03:55:03 +00:00
Michael Kamensky
3d83ae70a3 Merge branch 'afc_14' into 'master'
AFC - 14 Jul

See merge request core-developers/forge!5024
2021-07-15 03:54:28 +00:00
Michael Kamensky
c0ba652956 Merge branch 'blue_skin' into 'master'
Blue variation of Magic skin

See merge request core-developers/forge!5021
2021-07-15 03:53:30 +00:00
Lyu Zong-Hong
e8646764f3 Update Rogue Class' first ability so you can still look at cards exiled even Rogue Class is not on battlefield anymore 2021-07-15 08:32:46 +09:00
Northmoc
b332fb1934 storvald_frost_giant_jarl.txt 2021-07-14 19:00:29 -04:00
Northmoc
62820e920e rename atropal - editions 2021-07-14 17:23:03 -04:00
Northmoc
b30f797964 tomb_of_annihilation.txt rename atropal 2021-07-14 17:12:18 -04:00
Northmoc
7cebead3bf rename atropal token 2021-07-14 17:12:18 -04:00
paul_snoops
5639e1639a Blue variation of Magic skin 2021-07-14 19:39:05 +01:00
Michael Kamensky
7d7c4ae3ae Merge branch 'token' into 'master'
AFR & AFC tokens update

See merge request core-developers/forge!5018
2021-07-14 17:46:00 +00:00
Michael Kamensky
2daa0ddeaa Merge branch 'fix/ray_of_frost' into 'master'
Ray of Frost as a curse for the AI

See merge request core-developers/forge!5019
2021-07-14 17:45:45 +00:00
Stu Bob
755d2d0605 Update ray_of_frost.txt 2021-07-14 17:45:18 +00:00
Michael Kamensky
1b8f73b11d Merge branch 'minim' into 'master'
minimus_containment.txt fix Affected

See merge request core-developers/forge!5017
2021-07-14 17:45:05 +00:00
stubob
a946178ad3 ray of frost as a curse for the ai 2021-07-14 11:41:38 -06:00
paul_snoops
340dee6abb AFR & AFC tokens update 2021-07-14 18:21:58 +01:00
Tim Mocny
a5852b76f0 Merge branch 'fix/Hand_of_Vecna-manditory' into 'master'
Added mandatory trigger to Hand of Vecna

See merge request core-developers/forge!5016
2021-07-14 16:25:26 +00:00
Stu Bob
f7e4ce221b removed the mandatory from the pump line 2021-07-14 16:07:32 +00:00
stubob
aaf5bd9fff Added mandatory trigger to Hand of Vecna 2021-07-14 10:05:01 -06:00
Michael Kamensky
ec122b12b9 Merge branch 'Williams-master-patch-85561' into 'master'
AFR Tokens

See merge request core-developers/forge!5015
2021-07-14 14:35:41 +00:00
Northmoc
8e645d40aa minimus_containment.txt fix Affected 2021-07-14 10:23:07 -04:00
Michael Kamensky
cae3a53825 Merge branch 'orcus2' into 'master'
orcus_prince_of_undeath.txt StackDesc tweaks & AI hint

See merge request core-developers/forge!5012
2021-07-14 12:44:12 +00:00
Tim Mocny
c0c258f03a Merge branch 'master' into 'orcus2'
# Conflicts:
#   forge-gui/res/cardsfolder/upcoming/orcus_prince_of_undeath.txt
2021-07-14 12:19:24 +00:00
John
8d8f0dbb3b Update Dungeons & Dragons Adventures in the Forgotten Realms.txt 2021-07-14 10:48:52 +00:00
Michael Kamensky
fa86c351d4 Merge branch 'roll_die_as_cost' into 'master'
Add Clay Golem and implement roll dice as cost

See merge request core-developers/forge!5014
2021-07-14 10:21:13 +00:00
Lyu Zong-Hong
cf5c96d717 Add DeckHas hint 2021-07-14 19:05:09 +09:00
Lyu Zong-Hong
5df34731b5 Add Clay Golem and implement roll dice as cost 2021-07-14 18:55:36 +09:00
Michael Kamensky
315dea3994 Merge branch 'fix_wrapped_stack_desc' into 'master'
Minor patch: A better fix for stack description of WrappedAbility

See merge request core-developers/forge!5013
2021-07-14 08:57:26 +00:00
leriomaggio
f1fbb0ff80 Restored removal of preferredArt attr in StaticData 2021-07-14 08:20:04 +01:00
Lyu Zong-Hong
8ec4a69cb0 Better fix for stack description of WrappedAbility 2021-07-14 15:43:50 +09:00
Michael Kamensky
2a88d598e0 Merge branch 'Adding_AFR_to_draft' into 'master'
Add draft rankings

See merge request core-developers/forge!5006
2021-07-14 03:15:18 +00:00
Michael Kamensky
efa14919aa Merge branch 'pl21' into 'master'
update PL21

See merge request core-developers/forge!5009
2021-07-14 03:14:04 +00:00
Michael Kamensky
716ac11bef Merge branch 'stackdesc_redundant_targets' into 'master'
solve redundant (Targeting: clauses in stackdescs for Wrapped triggers

See merge request core-developers/forge!5010
2021-07-14 03:12:37 +00:00
Michael Kamensky
63d7b7fda5 Merge branch 'afc_13' into 'master'
AFC - 13 Jul

See merge request core-developers/forge!5011
2021-07-14 03:11:58 +00:00
Michael Kamensky
7d94f423d4 Merge branch 'orcusTargets' into 'master'
CardUtil: fix getValidCardsToTarget for orcus

See merge request core-developers/forge!5008
2021-07-14 03:11:07 +00:00
Hans Mackowiak
1fb50f416c CardUtil: fix getValidCardsToTarget for orcus 2021-07-14 03:11:06 +00:00
Michael Kamensky
1211f41939 Merge branch 'twosat-master-patch-10087' into 'master'
Update de-DE.properties

See merge request core-developers/forge!5007
2021-07-14 03:10:33 +00:00
Northmoc
aa1f46d916 sefris + AI hints 2021-07-13 19:42:20 -04:00
Northmoc
35f2c7dacf solve redundant (Targeting: clauses in stackdescs for Wrapped triggers 2021-07-13 19:38:08 -04:00
Northmoc
d76efc5d4f orcus_prince_of_undeath.txt StackDesc tweaks & AI hint 2021-07-13 19:36:07 -04:00
stubob
3cff521da0 added booster and booster covers to the AFR edition.txt 2021-07-13 15:49:07 -06:00
stubob
e5258072d2 removed duplicate edition, put rankings at the top. 2021-07-13 15:40:38 -06:00
Andreas Bendel
9feaf90637 Update de-DE.properties
corrected little typo in lblEnableCustomCards
2021-07-13 20:16:32 +00:00
Northmoc
553b7305a2 update PL21 2021-07-13 15:19:24 -04:00
Northmoc
5f5aad4a25 sefris_of_the_hidden_ways.txt 2021-07-13 15:18:50 -04:00
stubob
21863f5c78 Added card list (didn't add dungeons though), and draft rankings (scraped from here: https://draftsim.com/AFR-pick-order.php)
I think that there is some stuff missing (currently it says that there is a template missing)
2021-07-13 13:15:07 -06:00
Michael Kamensky
4e0130f9e0 Merge branch 'AFC_edition' into 'master'
PLIST edition update

See merge request core-developers/forge!5005
2021-07-13 18:20:42 +00:00
Michael Kamensky
5f742d59b6 Merge branch 'sutured' into 'master'
sutured_ghoul.txt overhaul

Closes #1918

See merge request core-developers/forge!4997
2021-07-13 18:20:36 +00:00
Michael Kamensky
24768d42b3 Merge branch 'fix_dungeon_of_the_mad_mage' into 'master'
Fix dungeon of the mad mage and update text rendering for Dungeon cards

See merge request core-developers/forge!5002
2021-07-13 16:38:56 +00:00
paul_snoops
2bf31bfae6 PLIST edition update 2021-07-13 17:38:20 +01:00
Michael Kamensky
792d4759ca Merge branch 'trigger_planar_die' into 'master'
Roll a planar die will also run RollDie and RollDieOnce triggers

See merge request core-developers/forge!5003
2021-07-13 16:38:20 +00:00
Michael Kamensky
64271eda4c Merge branch 'AFC_edition' into 'master'
AFC edition update

See merge request core-developers/forge!5004
2021-07-13 16:38:03 +00:00
Michael Kamensky
f38c902c9c Merge branch 'afc_13' into 'master'
AFC - 13 Jul

See merge request core-developers/forge!5001
2021-07-13 16:37:46 +00:00
paul_snoops
0885fc0995 AFC edition update 2021-07-13 17:15:41 +01:00
Northmoc
14fe4b862f sutured_ghoul.txt remove Effect 2021-07-13 09:45:14 -04:00
Northmoc
d655d43910 sutured_ghoul.txt overhaul 2021-07-13 09:45:13 -04:00
Lyu Zong-Hong
de20cec586 Update Chicken à la King so only trigger when rolling d6 2021-07-13 22:07:33 +09:00
Lyu Zong-Hong
cd05a8ffe1 Trigger RollDie and RollDieOnce for planar die too 2021-07-13 21:58:52 +09:00
Lyu Zong-Hong
acc6941220 Handle <span> tag in mobile port 2021-07-13 21:19:03 +09:00
Lyu Zong-Hong
3b8b28c355 Also disable ability texts for Dungeon cards that are not current room 2021-07-13 20:49:45 +09:00
Lyu Zong-Hong
0ac9e33dc7 Fix the Runestone Caverns room in Dungeon of the Mad Mage 2021-07-13 20:07:19 +09:00
Michael Kamensky
94ae1fe777 Merge branch 'afr_12' into 'master'
AFR - 12 Jul

See merge request core-developers/forge!4996
2021-07-13 10:35:14 +00:00
Northmoc
6f3b578fc0 galea_kindler_of_hope.txt 2021-07-13 06:31:44 -04:00
leriomaggio
573901ce51 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-13 08:22:58 +01:00
leriomaggio
7528b2b4b8 Improved implementantion for add w/ cardRequest and custom cards and fromCardlist 2021-07-13 08:09:06 +01:00
Michael Kamensky
4598c67578 Merge branch 'Fix_typo' into 'master'
Fixed Typo

See merge request core-developers/forge!5000
2021-07-13 06:49:56 +00:00
stubob
1e93f31d0b Fixed Typo 2021-07-12 23:04:49 -06:00
Michael Kamensky
9de6a40028 Merge branch 'Fix_asmodeus' into 'master'
Update asmodeus_the_archfiend.txt

See merge request core-developers/forge!4998
2021-07-12 19:05:52 +00:00
Sol
1cd5b6633f Update asmodeus_the_archfiend.txt 2021-07-12 18:55:03 +00:00
Michael Kamensky
65e6a01785 Merge branch 'Williams-master-patch-28964' into 'master'
AFR 12/07

See merge request core-developers/forge!4994
2021-07-12 16:13:50 +00:00
Michael Kamensky
f5561a17f9 Merge branch 'AFR_fixes' into 'master'
Fixes from Alumi comments

See merge request core-developers/forge!4995
2021-07-12 16:12:47 +00:00
ArsenalNut
a3d5094175 Update skullport_merchant.txt 2021-07-12 15:52:29 +00:00
Northmoc
82a9582f34 inferno_of_the_star_mounts.txt 2021-07-12 10:45:52 -04:00
Wendell Wilkerson
7846128ba5 fixes from Alumi comments 2021-07-12 09:28:13 -05:00
Northmoc
4b542b9002 sudden_insight.txt 2021-07-12 10:23:07 -04:00
Northmoc
da4e428cb8 purple_worm.txt 2021-07-12 08:26:48 -04:00
John
0c6d965a1c Update circle_of_the_moon_druid.txt 2021-07-12 12:04:51 +00:00
John
cfa2432cca Update rally_maneuver.txt 2021-07-12 11:59:38 +00:00
John
0c61ae7a2b Update lurking_roper.txt 2021-07-12 11:59:14 +00:00
John
9b8654a1af Update elturgard_ranger.txt 2021-07-12 11:58:51 +00:00
John
ecf3dcca99 Update dire_wolf_prowler.txt 2021-07-12 11:58:22 +00:00
John
02c76474c8 Add new file 2021-07-12 10:27:11 +00:00
John
f8832a19c0 Add new file 2021-07-12 10:26:41 +00:00
John
413352a4d5 Add new file 2021-07-12 10:26:05 +00:00
John
fcd7fe840d Add new file 2021-07-12 10:25:38 +00:00
John
2843bc18fc Add new file 2021-07-12 10:25:09 +00:00
John
478b8e604f Add new file 2021-07-12 10:24:42 +00:00
John
b9554604b6 Add new file 2021-07-12 10:24:13 +00:00
John
aec56d726d Add new file 2021-07-12 10:23:48 +00:00
John
863d1d4884 Add new file 2021-07-12 10:23:12 +00:00
John
f2cfeb31b8 Add new file 2021-07-12 10:22:43 +00:00
John
ea50d8f947 Add new file 2021-07-12 10:22:11 +00:00
John
ee835d310a Add new file 2021-07-12 10:21:39 +00:00
John
4567260d61 Add new file 2021-07-12 10:21:05 +00:00
John
d0a4ff54f7 Add new file 2021-07-12 10:19:18 +00:00
Alumi
767b6f1ea5 Merge branch 'patch-enable-custom-cards' into 'master'
Patch showing custom card warning properly

See merge request core-developers/forge!4993
2021-07-12 08:31:11 +00:00
leriomaggio
4eb2bcca89 Merge remote-tracking branch 'upstream/master' into patch-enable-custom-cards 2021-07-12 09:26:16 +01:00
leriomaggio
6b60e478ee Patch showing custom card warning properly 2021-07-12 09:22:15 +01:00
Michael Kamensky
ecd7afdf4a Merge branch 'treasuremana' into 'master'
AFR: mana from Treasure cards

See merge request core-developers/forge!4970
2021-07-12 07:40:03 +00:00
Michael Kamensky
31beff4f4f Merge branch 'AFR_Artifacts' into 'master'
add last AFR artifacts and updated counter enum list to support HARMONY counters

See merge request core-developers/forge!4991
2021-07-12 07:37:32 +00:00
Michael Kamensky
642915a798 Merge branch 'AFR_Cards_20210710' into 'master'
AFR cards 20210710

See merge request core-developers/forge!4986
2021-07-12 07:37:15 +00:00
Michael Kamensky
6cdc5c0cf8 Merge branch 'AFR_another_card' into 'master'
Add Split the Party

See merge request core-developers/forge!4992
2021-07-12 07:36:26 +00:00
Michael Kamensky
eb20ff0a2a Merge branch 'add_dragons_fire' into 'master'
Add Dragon's Fire

See merge request core-developers/forge!4988
2021-07-12 07:36:06 +00:00
Wendell Wilkerson
657eda2062 added Split the Party 2021-07-12 01:48:23 -05:00
Wendell Wilkerson
a6bf79500d fixes from comments 2021-07-12 00:32:18 -05:00
Wendell Wilkerson
d4ff181a1f added AILogic$ Aristocrat and fixed oracle text 2021-07-12 00:19:46 -05:00
Michael Kamensky
e516b00fa9 Merge branch 'afr_11' into 'master'
AFR - 11 Jul

See merge request core-developers/forge!4989
2021-07-12 04:50:28 +00:00
Michael Kamensky
6138235b8b Merge branch 'add-custom-cards-support' into 'master'
New Option in Forge to enable the use of Custom Cards

Closes #1915

See merge request core-developers/forge!4987
2021-07-12 04:48:56 +00:00
Wendell Wilkerson
fd54ecb571 add Trickster's Talisman and fixed stack descriptions 2021-07-11 23:25:59 -05:00
Wendell Wilkerson
eec8b7a42a add AFR artifact and updated counter enum list to support HARMONY counters 2021-07-11 22:31:58 -05:00
Northmoc
ccfe318363 dragons_disciple.txt 2021-07-11 22:37:03 -04:00
Lyu Zong-Hong
a83c06baf0 Add Dragon's Fire 2021-07-12 11:27:22 +09:00
Wendell Wilkerson
c7eff32f94 fixes from thread comments 2021-07-11 16:54:51 -05:00
leriomaggio
e67402d5ae Change of policy for custom cards load
I've decided to use the option in settings only for gameplay, and so always allowing the load of custom cards.

This is because otherwise the option should be much more pervasive, so inhibiting card catalog, sets filters, ...
So the option will just control the use of custom cards in decks for gameplay (still false by default!)
2021-07-11 19:48:23 +01:00
leriomaggio
81e35ca7f7 Updated and Added translations for all langs for the new options 2021-07-11 19:45:47 +01:00
Grimm
1d1011ce06 Add missing res 2021-07-11 20:44:23 +02:00
Grimm
71337d9d39 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	forge-adventure/pom.xml
#	forge-adventure/src/main/java/forge/adventure/AdventureApplicationAdapter.java
#	forge-adventure/src/main/java/forge/adventure/Main.java
#	forge-adventure/src/main/java/forge/adventure/scene/DuelInput.java
#	forge-adventure/src/main/java/forge/adventure/scene/DuelScene.java
#	forge-adventure/src/main/java/forge/adventure/scene/GameScene.java
#	forge-adventure/src/main/java/forge/adventure/scene/NewGameScene.java
#	forge-adventure/src/main/java/forge/adventure/scene/Scene.java
#	forge-adventure/src/main/java/forge/adventure/scene/SceneType.java
#	forge-adventure/src/main/java/forge/adventure/scene/StartScene.java
#	forge-adventure/src/main/java/forge/adventure/stage/GameStage.java
#	forge-adventure/src/main/java/forge/adventure/util/Res.java
2021-07-11 20:36:45 +02:00
Grimm
d90a4e91b6 test commit 2021-07-11 20:36:12 +02:00
leriomaggio
72f3411242 CustomCard option also added to mobile settings pane. 2021-07-11 19:15:48 +01:00
leriomaggio
75f04de148 Merge remote-tracking branch 'upstream/master' into add-custom-cards-support 2021-07-11 19:10:52 +01:00
leriomaggio
2189a33171 A new "Custom Cards Deck" format will be returned for decks containing custom cards and not being matched with any other formats. 2021-07-11 19:10:32 +01:00
leriomaggio
72e40504d7 Deck conformance check now includes custom cards to be (eventually) used in games. 2021-07-11 19:07:23 +01:00
leriomaggio
811d6479f5 CardPool now includes the option to load custom cards and check preferences.
If Custom Card setting is disabled, an error message in logs will be printed accordingly.
Custom Cards will be loaded as such in Card Pool only if the option in settings is enabled.
2021-07-11 19:06:39 +01:00
leriomaggio
e6958305b5 StaticData now includes an extra option to control the use of Custom Cards
This option is read from ForgePreferences and passed to StaticData by FModel
2021-07-11 19:04:56 +01:00
leriomaggio
2808b4945e New Option in Forge Preference to enable the use of custom cards
A new Option has been added in Forge Preferences to enable the use of custom cards.
This option (default is False for backward compatibility) will control whether custom cards can be read in custom editions, and so decks containing them can be used in game matches.

Also, en-US translation file received an update to clarify what is intended with Unknonw cards (to be distinguished from custom cards now)
2021-07-11 19:03:50 +01:00
Wendell Wilkerson
99dcd03e64 optimized scripts for Burning Hands and Divine Smite 2021-07-11 12:17:47 -05:00
Wendell Wilkerson
5cf3458a5e removed backup file 2021-07-11 11:50:54 -05:00
Wendell Wilkerson
55e2cdddb7 Merge branch 'master' into AFR_Cards_20210710 2021-07-11 11:46:14 -05:00
Wendell Wilkerson
b130e7f658 third batch 2021-07-11 11:43:43 -05:00
Bug Hunter
b6dfbd5e2c Merge branch 'arsenal' into 'master'
Fix Arsenal Thresher

See merge request core-developers/forge!4985
2021-07-11 15:37:16 +00:00
tool4EvEr
79bb2639a8 Fix Arsenal Thresher 2021-07-11 17:36:49 +02:00
Wendell Wilkerson
ba2a48600c second batch 2021-07-11 10:35:31 -05:00
Hans Mackowiak
cc8c58c961 Merge branch 'gristFixes' into 'master'
Card: fix getType when using changedCardTypesCharacterDefining

See merge request core-developers/forge!4984
2021-07-11 15:15:55 +00:00
Hans Mackowiak
73562528f6 Card: fix getType when using changedCardTypesCharacterDefining 2021-07-11 15:15:54 +00:00
Michael Kamensky
cbd8f0297c Merge branch 'afc_roll_dice' into 'master'
Update RollDice effect to support AFC cards

See merge request core-developers/forge!4983
2021-07-11 14:42:10 +00:00
Michael Kamensky
f48fa6baef Merge branch 'gain_class_level' into 'master'
Implement Class mechanism

See merge request core-developers/forge!4955
2021-07-11 13:17:53 +00:00
Alumi
83eb0f8ee4 Implement Class mechanism 2021-07-11 13:17:51 +00:00
Grimm
7d37f75bd0 test commit 2021-07-11 13:03:20 +02:00
Lyu Zong-Hong
4c8acb251e Update RollDice effect to support AFC cards 2021-07-11 19:13:47 +09:00
Michael Kamensky
39a0b9b543 Merge branch 'fixing' into 'master'
Small fixes

Closes #1917

See merge request core-developers/forge!4982
2021-07-11 08:51:24 +00:00
tool4EvEr
4b785fd75b Fix Scavenge for CDA 2021-07-11 09:45:14 +02:00
tool4EvEr
c491f6dfb6 Fix FailedToTarget 2021-07-11 09:44:57 +02:00
tool4EvEr
2e55b6c884 Fix zone 2021-07-11 09:44:39 +02:00
Wendell Wilkerson
25d30254a1 first batch of AFR cards 2021-07-11 01:25:11 -05:00
Michael Kamensky
028307953b Merge branch 'quick-update-sets-filter-per-deck-manager' into 'master'
Update and FIX to Set Filters for Card and Deck Catalogs

See merge request core-developers/forge!4979
2021-07-11 04:02:52 +00:00
Michael Kamensky
d4b0c648e9 Merge branch 'afr_jul_10' into 'master'
Added AFR RollDice cards and Temple of the Dragon Queen

See merge request core-developers/forge!4978
2021-07-11 04:01:53 +00:00
Alumi
4fe67ccb8c Added AFR RollDice cards and Temple of the Dragon Queen 2021-07-11 04:01:53 +00:00
Michael Kamensky
6ff7ccd3ac Merge branch 'equipExtras' into 'master'
CardFactoryUtil: add way to add Extra Parameters and Extra Description

See merge request core-developers/forge!4980
2021-07-11 04:01:28 +00:00
Michael Kamensky
800a43eba4 Merge branch 'surveilFixChangesAll' into 'master'
SurveilEffect: fix triggerChangesZoneAll

See merge request core-developers/forge!4981
2021-07-11 04:00:54 +00:00
Michael Kamensky
a2ed1c386f Merge branch 'AFR_charm_cards' into 'master'
AFR charm cards

See merge request core-developers/forge!4975
2021-07-11 04:00:36 +00:00
Hans Mackowiak
a8cba0eef4 SurveilEffect: fix triggerChangesZoneAll 2021-07-11 03:28:05 +02:00
Hans Mackowiak
e0f01a3168 CardFactoryUtil: add way to add Extra Parameters and Extra Description 2021-07-11 03:01:21 +02:00
leriomaggio
a132e9a3d4 Merge remote-tracking branch 'upstream/master' into quick-update-sets-filter-per-deck-manager 2021-07-10 21:24:48 +01:00
leriomaggio
d751236154 CardSet and DeckSet filters now include the extra option to instantiate DialogChooseSets with list of allowed sets.
This also fixes a BUG for DeckSetFilter that did not update properly the list of filters in ItemManager.
This had the effect of not updating the labels for set filters for deck, after edit.
2021-07-10 21:24:21 +01:00
leriomaggio
32e3d00cec ItemManager now includes a new special method to get filtered set codes from CardPool
The method is implemented in the abstract super class (ItemManager) and so inherited by `CardManager` (where there is no format nor game type that could be used), and specialised by `DeckManager`.

In particular, the only current format with limitations on sets is Brawl, and so the only one accounted for.
In any case, the list of (unique) allowed sets is automatically inferred by default from the cardpool (as in the case of `CardManager`).
It is important to note that this filter is stored into an attribute, and so the list is calculated only once.

The results of this list will be passed on the `DialogChooseSets` to update the content of the dialog panel, accordingly.
2021-07-10 21:22:40 +01:00
leriomaggio
b800e478f1 New constructor with limitedSets list for dual of unselectable
There are cases in which the set filter should be initialised with the white list of allowed set codes, rather than the blacklist (i.e. unselectableSets).

This is the case of CardCatalog or DeckCatalog with constraints or limitations on card pool (i.e. restricted cards, and or restricted sets).

This new set of constructors with extra parameters allow to handle this cases, so that the UI can easily adapt.
2021-07-10 21:19:05 +01:00
leriomaggio
f655151a6e FIXED a bug that did not consider initialised checked leaf nodes 2021-07-10 21:15:35 +01:00
Wendell Wilkerson
5d6939b2f2 Merge branch 'master' into AFR_charm_cards 2021-07-10 10:37:25 -05:00
Wendell Wilkerson
30d276aa29 fixes to address thread comments 2021-07-10 10:35:17 -05:00
Michael Kamensky
3dd44ba71a Merge branch 'update_wrapped_description' into 'master'
Update the implementation of trigger replacing ABILITY text

Closes #1914

See merge request core-developers/forge!4976
2021-07-10 12:33:59 +00:00
Lyu Zong-Hong
33f5080ca6 Fix WrappedAbility again so simultaneous trigger text is shown 2021-07-10 18:43:27 +09:00
Michael Kamensky
affbd917b3 Merge branch 'path' into 'master'
Fix Descendants' Path shuffling

See merge request core-developers/forge!4977
2021-07-10 09:05:51 +00:00
Hans Mackowiak
3126d7ac5d Merge branch 'treasureSpent' into 'master'
CastTotalManaSpent Treasure

See merge request core-developers/forge!4948
2021-07-10 07:49:13 +00:00
Hans Mackowiak
1f0e49d1d4 CastTotalManaSpent Treasure 2021-07-10 07:49:12 +00:00
tool4EvEr
60d4991a84 Fix Descendants' Path shuffling 2021-07-10 09:41:35 +02:00
Lyu Zong-Hong
d5149293da Update the implementation of trigger replacing ABILITY text. 2021-07-10 15:22:55 +09:00
Wendell Wilkerson
75ccabff9c added creatures with charm triggers 2021-07-09 23:30:37 -05:00
Michael Kamensky
dd6dc739fb Merge branch 'propertyfix' into 'master'
ThisTargetedController

Closes #1909

See merge request core-developers/forge!4974
2021-07-10 03:42:11 +00:00
Wendell Wilkerson
ac094f4af4 added AFR charm instants 2021-07-09 22:11:07 -05:00
leriomaggio
7664937c93 Updated CardArtPreference Constants value
Also, the CardArtPreference Enum now includes a new methods that allows seamless recognition (and instantiation) of corresponding enum value from Forge Preference - also with backward compatibility.
2021-07-09 20:20:52 +01:00
leriomaggio
2d3d67176a Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-09 20:08:34 +01:00
tool4EvEr
cdb2330792 Fix Ram Through 2021-07-09 20:22:23 +02:00
Michael Kamensky
7744552450 Merge branch 'stackdesc' into 'master'
Various fixes

See merge request core-developers/forge!4972
2021-07-09 16:15:59 +00:00
Michael Kamensky
6de4789428 Merge branch 'afr_9' into 'master'
AFR - 9 Jul

See merge request core-developers/forge!4973
2021-07-09 16:15:48 +00:00
Northmoc
3af8a7dfa4 add "RememberRoll" to RollDiceEffect 2021-07-09 11:10:50 -04:00
Northmoc
9e92e46cad goblin_morningstar.txt 2021-07-09 11:10:28 -04:00
Northmoc
962d5c2105 aberrant_mind_sorceror.txt 2021-07-09 10:17:46 -04:00
Northmoc
ef4536d033 dragon_turtle.txt 2021-07-09 08:55:19 -04:00
Northmoc
01376d82db said_done.txt fix Duration 2021-07-09 08:49:27 -04:00
Northmoc
570abfcd21 spoils_of_the_hunt.txt - add AILogic 2021-07-09 08:08:13 -04:00
Northmoc
5bf0ad547e hunters_edge.txt - add AILogic 2021-07-09 08:07:32 -04:00
Northmoc
f8a256ea27 hunters_edge.txt tidy up 2021-07-09 08:00:23 -04:00
Northmoc
e46001cc91 price_of_loyalty.txt fix Pump param 2021-07-09 07:56:34 -04:00
Northmoc
07261e8525 spoils_of_the_hunt.txt 2021-07-09 07:55:00 -04:00
Northmoc
64f022f809 kalain_reclusive_painter.txt 2021-07-09 07:22:55 -04:00
Northmoc
c07a63cd7e price_of_loyalty.txt 2021-07-09 07:22:54 -04:00
Northmoc
60b27803ce jaded_sell_sword.txt 2021-07-09 07:22:54 -04:00
Northmoc
c5c58885e6 devour_intellect.txt 2021-07-09 07:22:53 -04:00
Michael Kamensky
0c748c091e Merge branch 'dividedfix' into 'master'
Fix assignGenericAmount dialog when no targets (Lathiel)

See merge request core-developers/forge!4967
2021-07-09 09:42:37 +00:00
Michael Kamensky
8c8c8ba0c7 Merge branch 'twosat-master-patch-51857' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4971
2021-07-09 09:31:44 +00:00
Andreas Bendel
2e03b172b2 Update de-DE.properties
'translated' Ante and Sideboard label
not much to do
2021-07-09 06:21:10 +00:00
Michael Kamensky
6474f2a7eb Merge branch 'small_fixes' into 'master'
AFR card scripts 08 Jul

See merge request core-developers/forge!4968
2021-07-09 04:14:33 +00:00
Michael Kamensky
51df73d918 Merge branch 'afr_8' into 'master'
AFR - 8 Jul

See merge request core-developers/forge!4966
2021-07-09 04:13:36 +00:00
Michael Kamensky
98cf75e92e Merge branch 'card_targeting_fixes' into 'master'
Card script fixes for Issue #1893

See merge request core-developers/forge!4963
2021-07-09 04:12:42 +00:00
Michael Kamensky
43ac1fabcf Merge branch 'akoum' into 'master'
PumpAll: better trigger decision

See merge request core-developers/forge!4969
2021-07-09 04:11:16 +00:00
Wendell Wilkerson
f06fa47e75 Merge branch 'master' into card_targeting_fixes 2021-07-08 21:56:35 -05:00
Wendell Wilkerson
06c60a2540 updated from MR comments 2021-07-08 21:48:04 -05:00
Northmoc
8bf557cc19 check_for_traps.txt fix reveal, descs 2021-07-08 20:38:50 -04:00
paul_snoops
00e256edf7 AFR card scripts 08 Jul 2021-07-08 22:16:56 +01:00
paul_snoops
cd7bd9263a AFR card scripts 08 Jul 2021-07-08 22:15:54 +01:00
paul_snoops
933d92bdd4 AFR card scripts 08 Jul 2021-07-08 22:04:58 +01:00
tool4EvEr
101ce59f06 Clean up 2021-07-08 21:04:32 +02:00
tool4EvEr
3e16390999 PumpAll: better trigger decision 2021-07-08 21:04:17 +02:00
paul_snoops
4c71f76260 AFR card scripts 08 Jul 2021-07-08 18:46:15 +01:00
Northmoc
c7cb42cd7b skeletal_swarming.txt 2021-07-08 12:16:00 -04:00
tool4EvEr
a1964eb75e Fix assignGenericAmount dialog when no targets (Lathiel) 2021-07-08 17:49:42 +02:00
Northmoc
fb0c44fce6 long_rest.txt 2021-07-08 11:33:13 -04:00
Northmoc
3f263fefee ochre_jelly.txt 2021-07-08 11:33:12 -04:00
leriomaggio
0feee4c67b Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-08 07:57:52 +01:00
leriomaggio
b42a59a1db Switch Back to "Preferred Art" option name 2021-07-08 07:57:34 +01:00
leriomaggio
4875b512de Switches KeepAlive Key on mac to F4 (from F1) to workaround help
F1 key is sometimes mapped to invoke help menus (e.g. Discord)
2021-07-08 07:55:59 +01:00
leriomaggio
4be1891a3f FIX: Better handle the case for deck cover image for empty decks 2021-07-08 07:55:12 +01:00
leriomaggio
e350539520 Preference for Preferred Art: Updated default value with new name 2021-07-08 07:51:06 +01:00
leriomaggio
d184856d16 Renamed Card Art Preference 2021-07-08 07:47:15 +01:00
leriomaggio
9e67d5fb48 Renamed Set Preference 2021-07-08 07:45:45 +01:00
Michael Kamensky
d7b252185a Merge branch 'afr_7' into 'master'
AFR: 7 Jul

See merge request core-developers/forge!4965
2021-07-08 04:21:09 +00:00
Northmoc
2cc6128f1f treasure_chest.txt 2021-07-07 23:46:01 -04:00
Northmoc
da6c027315 treasure_vault.txt 2021-07-07 23:45:24 -04:00
Northmoc
e4f7bd1f68 hobgoblin_bandit_lord.txt 2021-07-07 23:17:25 -04:00
Northmoc
5de6401ed8 xorn.txt 2021-07-07 22:58:10 -04:00
Northmoc
2e469be484 flameskull.txt 2021-07-07 22:58:10 -04:00
Northmoc
2074320961 westgate_regent.txt 2021-07-07 22:58:09 -04:00
Northmoc
626124c912 true_polymorph.txt 2021-07-07 22:58:09 -04:00
Grimm
fac17cf9f7 Merge branch 'revert-77376273' into 'master'
Revert "test commit"

See merge request Grimm/forge!1
2021-07-08 01:51:33 +00:00
Grimm
a9a34d90c2 Revert "test commit"
This reverts commit 773762733f
2021-07-08 01:50:23 +00:00
Wendell Wilkerson
2bf066b937 Merge branch 'master' into card_targeting_fixes 2021-07-07 20:47:29 -05:00
Grimm
773762733f test commit 2021-07-08 00:04:37 +02:00
Michael Kamensky
8de27ddb0c Merge branch 'afr_7' into 'master'
AFR - 7 Jul

See merge request core-developers/forge!4964
2021-07-07 20:26:40 +00:00
Michael Kamensky
030ed46cae Merge branch 'AFR_7_7' into 'master'
AFR card scripts 07 Jul

See merge request core-developers/forge!4962
2021-07-07 20:26:09 +00:00
Michael Kamensky
b85b067e42 Merge branch 'bruenor' into 'master'
AFR: Bruenor Battlehammer

See merge request core-developers/forge!4953
2021-07-07 20:25:25 +00:00
Northmoc
74b439adaf AbilityUtils.java support "DungeonCompletedNamed" 2021-07-07 16:10:59 -04:00
Northmoc
d020e8a7d1 acererak_the_archlich.txt 2021-07-07 16:06:37 -04:00
Northmoc
27624ae6e2 blue_dragon.txt fix 2021-07-07 15:13:08 -04:00
Northmoc
10bbd4d07f blue_dragon.txt 2021-07-07 15:05:21 -04:00
Northmoc
a2fa475c43 white_dragon.txt 2021-07-07 14:46:20 -04:00
Northmoc
9965517329 loyal_warhound.txt 2021-07-07 14:46:04 -04:00
paul_snoops
9469f1bdaf AFR card scripts 07 Jul 2021-07-07 19:19:26 +01:00
paul_snoops
5163836668 AFR card scripts 07 Jul 2021-07-07 16:57:34 +01:00
paul_snoops
322008b458 AFR card scripts 07 Jul 2021-07-07 16:34:49 +01:00
paul_snoops
059641f71d AFR card scripts 07 Jul 2021-07-07 15:45:51 +01:00
Northmoc
b383262e70 GameActionUtil.java - add Equip 0 code block similar to Cycling 0 2021-07-07 10:04:45 -04:00
Wendell Wilkerson
636cbaeb5f fixed charm cards in bug reports 2021-07-07 08:44:05 -05:00
Northmoc
866602a683 MagicStack.java log number of Equips this turn 2021-07-07 09:43:11 -04:00
Northmoc
0638670b7c remove Equip Trigger stuff from Player.java 2021-07-07 09:43:10 -04:00
Northmoc
9df082f448 AbilityUtils.java YouEquippedThisTurn XMath 2021-07-07 09:43:10 -04:00
Northmoc
66e8cc5bff Player.java support equippedThisTurn 2021-07-07 09:43:10 -04:00
Northmoc
7188f2ccb3 bruenor_battlehammer.txt 2021-07-07 09:43:09 -04:00
paul_snoops
28cd8c877d AFR card scripts 07 Jul 2021-07-07 14:03:54 +01:00
paul_snoops
ccd2f2c1c6 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-07-07 12:45:56 +01:00
Michael Kamensky
bda997ef1e Merge branch 'wish' into 'master'
Add Wish and update Frontier Explorer

See merge request core-developers/forge!4960
2021-07-07 10:36:39 +00:00
Lyu Zong-Hong
6849578899 Add Wish and update Frontier Explorer 2021-07-07 18:13:06 +09:00
paul_snoops
96785e1353 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-07-07 05:11:52 +01:00
Michael Kamensky
a02f29ba8a Merge branch 'AFR_cards' into 'master'
AFR card scripts 05 Jul

See merge request core-developers/forge!4950
2021-07-07 02:55:46 +00:00
Michael Kamensky
76e361287a Merge branch 'vecna' into 'master'
AFR: Vecna

See merge request core-developers/forge!4959
2021-07-07 02:55:03 +00:00
Michael Kamensky
2f9e2dc2ef Merge branch 'afr_6' into 'master'
AFR - 6 July

See merge request core-developers/forge!4957
2021-07-07 02:53:23 +00:00
Wendell Wilkerson
a3b685a937 fixed two target DealDamage cards 2021-07-06 21:29:00 -05:00
Northmoc
9543534dda AnimateEffectBase - support "GainsTriggeredAbilitiesOf" 2021-07-06 19:58:34 -04:00
Northmoc
af0056d971 the_book_of_vile_darkness.txt 2021-07-06 19:57:30 -04:00
Northmoc
cec46460f4 hand_of_vecna.txt 2021-07-06 19:57:14 -04:00
Northmoc
789fb973a9 vecna token 2021-07-06 19:56:43 -04:00
paul_snoops
1a38a62941 AFR card scripts 05 Jul 2021-07-06 22:52:04 +01:00
paul_snoops
a52df6e4d1 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-07-06 18:21:22 +01:00
paul_snoops
82ce6d1e3d AFR card scripts 05 Jul 2021-07-06 18:20:38 +01:00
paul_snoops
f71804a56f AFR card scripts 05 Jul 2021-07-06 18:13:33 +01:00
Bug Hunter
5f0662c139 Merge branch 'import' into 'master'
Fix import

See merge request core-developers/forge!4958
2021-07-06 16:16:02 +00:00
tool4EvEr
c70b3ba4ae Fix import 2021-07-06 18:15:49 +02:00
Bug Hunter
4fbe9084e2 Merge branch 'twosat-master-patch-21869' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4956
2021-07-06 16:08:06 +00:00
Bug Hunter
2381589bea Merge branch 'add_sideboard_ante_label' into 'master'
Add Ante and Sideboard label to PlayerDetailsPanel to allow view cards in them

See merge request core-developers/forge!4940
2021-07-06 16:07:32 +00:00
Alumi
fcdb9b25bd Add Ante and Sideboard label to PlayerDetailsPanel to allow view cards in them 2021-07-06 16:07:31 +00:00
Northmoc
6cc745526b teleportation_circle.txt 2021-07-06 10:19:06 -04:00
Northmoc
745a33ef8c mind_flayer.txt 2021-07-06 10:18:50 -04:00
Andreas Bendel
dc54a94bcc Update de-DE.properties
lblBlock was missing
2021-07-06 12:06:36 +00:00
paul_snoops
eb519f4278 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-07-06 11:08:27 +01:00
paul_snoops
934c780b73 AFR card scripts 05 Jul 2021-07-06 11:05:28 +01:00
paul_snoops
dc0ed6e233 AFR card scripts 05 Jul 2021-07-06 11:02:29 +01:00
Wendell Wilkerson
9245841d4d fixed Acorn Catapult not creating token when planeswalker targeted, fixed discard and token issues with Prismari Command 2021-07-06 03:44:47 -05:00
leriomaggio
b0c1f1cb0b Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-07-06 08:36:40 +01:00
leriomaggio
574d967cd4 New method to get Art Preference from CardDb, and refined load card method passing on edition from requestInfo
The revised implementation of `attemptToLoadCard` method now also takes into consideration any setcode that may be present into request info.

This is to reduce db lookup operation and returning a card from a very specific set.
2021-07-06 08:21:41 +01:00
leriomaggio
6adfa8b7a7 A few changes to all CardArtPreferences names and set value
Setting the value of card art preference from string now is more reliable, and it falls back automatically to the default
(Latest Art All editions).
This is to allow setting the enum value from Forge Preference Labels.
2021-07-06 08:19:31 +01:00
leriomaggio
ebc47cf1ec Changed all "Restart required" to "Requires Restart" (all uppercase)
Messages on restart required are now all aligned, and with the same case.
2021-07-06 08:13:34 +01:00
leriomaggio
b6509bd13b Renamed SetPolicy for old print (all editions)
Won't exclude that I will come back at namings after having now worked on CardEdition.Type revision
2021-07-06 08:11:58 +01:00
leriomaggio
8e2bb55fc6 Renamed SetPolicy for latest print (all editions)
Won't exclude that I will come back at namings after having now worked on CardEdition.Type revision
2021-07-06 08:11:22 +01:00
leriomaggio
91913879e9 Renamed SetPolicy for old art no promo
The new name, i.e. OldArtExcludedPromoAndOnlineEditions is more self-explanatory - a bit long though.

Won't exclude that I will come back at namings after having now worked on CardEdition.Type revision
2021-07-06 08:09:46 +01:00
Michael Kamensky
49a85dbe55 Merge branch 'master' into 'master'
update simplified chinese translations

See merge request core-developers/forge!4954
2021-07-06 05:43:40 +00:00
CCTV-1
e2b7fe37aa change traditional chinese to simplified chinese. 2021-07-06 13:18:38 +08:00
Michael Kamensky
251ffbf574 Merge branch 'editions-type-review' into 'master'
ReNEWED Edition Types and Dates for Card Edition, ReNewed `Set` filter dialog panel in Desktop, NEW `Blocks` Card|Deck Catalog Filter, Updates to Formats

See merge request core-developers/forge!4878
2021-07-06 04:23:24 +00:00
paul_snoops
0d01aeaceb AFR card scripts 05 Jul 2021-07-06 00:20:55 +01:00
paul_snoops
9fa1b6e585 Revert "AFR card scripts 05 Jul"
This reverts commit d3dded47
2021-07-06 00:11:09 +01:00
paul_snoops
d3dded4759 AFR card scripts 05 Jul 2021-07-06 00:01:10 +01:00
Bug Hunter
ae32a9f27b Merge branch 'playfix' into 'master'
Small PlayEffect fix

See merge request core-developers/forge!4952
2021-07-05 21:55:04 +00:00
tool4EvEr
80bc6785ba Small PlayEffect fix 2021-07-05 23:54:27 +02:00
paul_snoops
622fbe3192 AFR card scripts 05 Jul 2021-07-05 22:18:16 +01:00
Michael Kamensky
7516882c0d Merge branch '1911-painter-s-servant-devoid' into 'master'
Resolve "Painter's Servant + Devoid"

Closes #1911

See merge request core-developers/forge!4951
2021-07-05 18:57:21 +00:00
Hans Mackowiak
7a1a657ae9 Card: changedCardTypesCharacterDefining + changedCardColorsCharacterDefining for better apply in Order 2021-07-05 20:03:07 +02:00
paul_snoops
0f4af36c17 AFR card scripts 05 Jul 2021-07-05 16:15:50 +01:00
paul_snoops
70677a963a AFR card scripts 05 Jul 2021-07-05 16:10:32 +01:00
Michael Kamensky
41c3d6ebed Merge branch 'kethis' into 'master'
Small fixes

See merge request core-developers/forge!4945
2021-07-05 14:50:59 +00:00
Michael Kamensky
bdff72745a Merge branch 'volo_guide_to_monsters' into 'master'
Add Volo, Guide to Monsters and support invert condition for card properties

See merge request core-developers/forge!4949
2021-07-05 14:48:27 +00:00
paul_snoops
b57e3e89bf AFR card scripts 05 Jul 2021-07-05 14:12:47 +01:00
paul_snoops
974b027cf6 AFR card scripts 05 Jul 2021-07-05 13:30:11 +01:00
paul_snoops
7d884eb61e AFR card scripts 05 Jul 2021-07-05 13:00:39 +01:00
paul_snoops
883d7ce476 AFR card scripts 05 Jul 2021-07-05 12:58:50 +01:00
leriomaggio
921fc43f75 Updates to Legacy and Vintage with left out sets 2021-07-05 11:18:47 +01:00
leriomaggio
42223f109e Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-07-05 09:40:34 +01:00
leriomaggio
4c264b7e3d Changed labels for format restrctions to Sanctioned formats (en only)
Other languages would be OK the same with previous wordings.
2021-07-05 09:38:47 +01:00
leriomaggio
dab893c24f Changed options not showing node counts on disabled nodes. 2021-07-05 09:35:02 +01:00
leriomaggio
a276118409 Set restrictions to Legacy and Vintage to allow for proper edition selection in sets filters 2021-07-05 09:22:25 +01:00
leriomaggio
57c81ec49f Updated to new DRAFT edition type 2021-07-05 08:14:46 +01:00
leriomaggio
411e77c8c6 Modern format now also includes: TSR, MMA, MM3, W16 sets
Modern format now inclides TimeSpiral Remastered, Modern Masters (all) and
Welcome Deck 2016 (all new frame cards, since also W17 was included)
2021-07-05 08:06:46 +01:00
leriomaggio
af12354366 G18 Set added to Pioneer format 2021-07-05 08:05:02 +01:00
leriomaggio
81ec996ab3 DRAFT_INNOVATION card edition type renamed as DRAFT
The new name IMHO is easier and more appropriate as a category name.
This would be a mismatch with Scryfall Nomenclature, but Forge contains already mismatch (e.g. REPRINT) so not a big deal.
2021-07-05 08:04:19 +01:00
Alumi
756132c8af Merge branch 'GristFixes' into 'master'
Grist: Better check for StaticAbility using ExcludeZone, fix timestamp on...

See merge request core-developers/forge!4947
2021-07-05 05:53:15 +00:00
Lyu Zong-Hong
f7694970c8 Add Volo, Guide to Monsters and support negate condition for card properties 2021-07-05 13:26:09 +09:00
Michael Kamensky
8ca4432482 Merge branch 'AFR_cards' into 'master'
AFR card scripts 04 Jul

See merge request core-developers/forge!4946
2021-07-05 02:41:40 +00:00
Michael Kamensky
b51436d4f1 Merge branch 'roll_a_d20' into 'master'
Update RollDiceEffect to better support d20 mechanism in AFR

See merge request core-developers/forge!4944
2021-07-05 02:38:58 +00:00
Alumi
dc793aa266 Update RollDiceEffect to better support d20 mechanism in AFR 2021-07-05 02:38:57 +00:00
leriomaggio
cabfe0a33a Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-07-05 01:21:39 +01:00
paul_snoops
d22d3f21da AFR card scripts 04 Jul 2021-07-05 01:20:36 +01:00
leriomaggio
6e2d5c13b4 NDeckManager now includes the new DeckBlockFilter if preferences in menu
say to load HIstoric formats
2021-07-05 01:18:24 +01:00
leriomaggio
1252b25b0a NEW DeckBlockFilter for Deck Catalog.
This new filter mirrors (and extends) the one on Sets, which also relies on the renewed buildPredicate implementatio which looks at the edition of
a DeckProxy.
2021-07-05 01:15:00 +01:00
leriomaggio
4372311297 buildPredicate specialised for DeckSet filters
Now this new implementation brings the deck set filter to finally work as expected.
In particular, instead of checking that all cards in Deck Pools belong to a unique edition, the predicate now leverages on the getEdition() method of DeckProxy instances, which returns the latest of the earliest
sets of cards. This function will be subject to change into a future Merge Request state.
2021-07-05 01:11:59 +01:00
leriomaggio
5b67c08ae7 buildPredicate not final anymore to allow for override in subclasses
This is the first step to finally make the DeckSetFilter working properly!
So far, the filter applies if **all** the cards in a deck matches selected specific set(s).
We will allow for customisation to simplify and correct this filter - more in the next commit.
2021-07-05 01:06:25 +01:00
paul_snoops
f0c1062c21 AFR card scripts 04 Jul 2021-07-04 21:56:30 +01:00
paul_snoops
28db6218b4 AFR card scripts 04 Jul 2021-07-04 21:38:08 +01:00
leriomaggio
146f44f062 Made sets attr protected to allow subclassing 2021-07-04 21:12:11 +01:00
leriomaggio
8977303c00 Improved getCount summing up the number of allowed sets in all selected blocks. 2021-07-04 21:09:38 +01:00
leriomaggio
96fa129285 FIX typo cardBlock attribute was never set in constructor. 2021-07-04 21:04:43 +01:00
leriomaggio
1aa7825c52 New Block CardManager filter (if Load Historic format is enabled)
The new CardBlockFilter extends the generic CardSetFilter by specialising the selection to set codes allowed in the corresponding Block GameFormat.

A new Label `lblBlock` has been added to language file (so far, English only)
2021-07-04 21:01:39 +01:00
leriomaggio
9256fdfd1a FIXED dates comparison for Historic formats, and used index in addition (if no date) 2021-07-04 20:45:26 +01:00
leriomaggio
0ef7986e3a Corrected Set Codes for Masques and Time Spiral Block formats 2021-07-04 20:44:44 +01:00
leriomaggio
8a7848f411 Changed sets to protected to allow SubClassing 2021-07-04 20:44:04 +01:00
tool4EvEr
db3accfa50 Clean up 2021-07-04 20:07:44 +02:00
leriomaggio
a2e97700df Simplified sorting of QuestWorld 2021-07-04 18:31:29 +01:00
leriomaggio
9d80ae2d5c Fixing format types and subtypes read after uppercase change 2021-07-04 18:22:11 +01:00
tool4EvEr
af04a994bb Restore ability 2021-07-04 18:48:47 +02:00
leriomaggio
33526bb31b Updating all enum FormatSubType to UPPERCASE as constants 2021-07-04 17:46:07 +01:00
leriomaggio
9c72cf2eb4 Updating all enum FormatType to UPPERCASE as constants 2021-07-04 17:44:53 +01:00
leriomaggio
81b214f6ed CardManager updated to instantiate quest filters without reprints
CardManager now instantiate Quest World filters forcing a NO-REPRINT policy. The `allowReprints` option was set to true by default for card and deck catalog, resulting in just a weird and unexpected side-effect IMHO. Whenever a block is selected, no other reprints should be taken into account. That's the point of choosing a block.
2021-07-04 17:40:33 +01:00
leriomaggio
eed49554b5 The CardQuestWorldFilter constructors overload to include option to disable reprints.
The CardQuestWorldFilter has been updated with two extra constructors overload that also control the option to include or not the `allowReprints` attribute.
By default, the allowReprints attribute is true for backward compatibility.

The new constructor will be used (next commit) by CardManager when creating filters in Card Catalog.
2021-07-04 17:27:56 +01:00
Hans Mackowiak
5cb384afa2 Grist: Better check for StaticAbility using ExcludeZone, fix timestamp on Stack, and extra rule for canBeCommander 2021-07-04 18:27:31 +02:00
leriomaggio
ef18dac22c CardSetFilter and DeckSetFilter now includes the allowReprints option when instantiating (for edit) the DialogChooseSets so UI updates accordingly. 2021-07-04 17:23:46 +01:00
leriomaggio
8f01f56a1e Updates to DialogChooseSets for UI sizes and status restore
First off, the status of the "allowReprints" checkbox is updated accordingly, when a filter is edited.
This fixes a previous bug that did not take this into account
(more on this, in the next commit msg).

Other improvements to the DialogChooseSets includes a better management of spaces, as well as dimension (width) of main windows that is now dynamically adapted to current resolution.

Also, this update fixes a bug having some panels dynamically adjusting height to fit components.
Now all the components should be correctly aligned, and spread across the panel.
2021-07-04 17:21:26 +01:00
leriomaggio
d8cb67a5f6 A few minor adjustments to allow the UI to restore status after an edit op. 2021-07-04 17:17:41 +01:00
paul_snoops
a08df2b69d AFR card scripts 04 Jul 2021-07-04 14:44:58 +01:00
paul_snoops
4d69748c9f AFR card scripts 04 Jul 2021-07-04 14:41:28 +01:00
tool4EvEr
12be76899a Fix amount for X spells 2021-07-04 13:41:24 +02:00
tool4EvEr
b982620402 Fix RE 2021-07-04 12:21:43 +02:00
tool4EvEr
9a58359563 Better fix for Kethis 2021-07-04 11:45:39 +02:00
Michael Kamensky
233ad71b86 Merge branch 'AffectedAmount' into 'master'
Fix AffectedAmount

See merge request core-developers/forge!4943
2021-07-04 05:04:41 +00:00
Michael Kamensky
bb9cf72912 Merge branch 'AFR_cards' into 'master'
AFR card scripts 03 Jul

See merge request core-developers/forge!4942
2021-07-04 05:04:10 +00:00
leriomaggio
3906c1f3a5 Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-07-04 00:22:10 +01:00
leriomaggio
a5b256f2fb Completely redesigned DialogChooseSets to use FCheckboxTree component.
This new version of the panel is completely interactive, and dynamically populated with card editions, types, and formats.

The selection of formats leads to selections of subsets of editions (and so type), updating other components accordingly.
2021-07-03 21:32:32 +01:00
paul_snoops
12902e8b27 AFR card scripts 03 Jul 2021-07-03 21:31:11 +01:00
leriomaggio
0393c8d4d9 Updated JDocs to workaround IDE errors 2021-07-03 21:30:25 +01:00
leriomaggio
37d7ef3ee9 Brand new desktop UI Component representing a JTree of FCheckboxes
Differently from standard JTree, this component leverages on a custom TreeCellRenderer that renders each node with a checkbox, therefore rewriting completely the selection mechanism of the JTree.

This component is currently used in the DialogChooseSets to represent card editions grouped per edition type.
In general, this component can be used elsewhere, whenever nested objects for selection should be used.

The class exposes a public API for easy interaction, as well as customised classes for nodes and nodes data, and specialised events and listeners.
2021-07-03 21:29:46 +01:00
paul_snoops
1417bf436d AFR card scripts 03 Jul 2021-07-03 21:29:26 +01:00
tool4EvEr
35121c85af Fix AffectedAmount 2021-07-03 22:07:55 +02:00
leriomaggio
c9f0d81d29 Type for Custom editions changed from THIRDPARTY to CUSTOM_SET 2021-07-03 21:04:29 +01:00
leriomaggio
88bba9e7c7 Updated Chinese translations for DialogChooseSets 2021-07-03 21:03:47 +01:00
leriomaggio
8764a4d33d Updated ja-JP (Japanese) translations for DialogChooseSets 2021-07-03 20:59:33 +01:00
leriomaggio
a6d306cb36 Updated it-IT (Italian) translations for DialogChooseSets 2021-07-03 20:54:55 +01:00
leriomaggio
4f0791aac0 Updated es-ES (Spanish) translations for DialogChooseSets 2021-07-03 20:46:37 +01:00
leriomaggio
09e778daeb Updated de-DE (German) translations for DialogChooseSets 2021-07-03 20:43:01 +01:00
leriomaggio
8e3644a0f6 Updated En-US translations for DialogChooseSets 2021-07-03 20:30:31 +01:00
leriomaggio
c3db51b5f8 Updated Javadoc param 2021-07-03 20:14:37 +01:00
paul_snoops
9af01ed521 AFR card scripts 03 Jul 2021-07-03 16:53:58 +01:00
paul_snoops
063cbbfd8a AFR card scripts 03 Jul 2021-07-03 14:36:47 +01:00
Michael Kamensky
ef79f05db3 Merge branch 'cardfixes' into 'master'
Entwine fix

See merge request core-developers/forge!4941
2021-07-03 13:27:06 +00:00
tool4EvEr
8562f2f28d Entwine fix 2021-07-03 15:16:36 +02:00
Michael Kamensky
3e72125163 Merge branch 'play' into 'master'
PlayEffect: small fixes

See merge request core-developers/forge!4939
2021-07-03 04:49:03 +00:00
Michael Kamensky
3e007065b0 Merge branch 'AFR_cards' into 'master'
AFR card scripts 02 Jul

See merge request core-developers/forge!4938
2021-07-03 04:48:38 +00:00
paul_snoops
31fb70f115 AFR cards from various Discord contributors 2021-07-03 03:19:12 +01:00
paul_snoops
7e0e24ddd7 AFR cards from various Discord contributors 2021-07-03 01:19:40 +01:00
tool4EvEr
c52a94bbfc Refactor for facedown 2021-07-03 00:48:05 +02:00
paul_snoops
80aa06cd92 AFR cards from various Discord contributors 2021-07-02 17:34:49 +01:00
paul_snoops
dcd42ef387 AFR cards from various Discord contributors 2021-07-02 17:31:57 +01:00
paul_snoops
7da17c3a36 AFR cards from various Discord contributors 2021-07-02 15:26:26 +01:00
paul_snoops
88afa85e88 AFR cards from various Discord contributors 2021-07-02 11:01:14 +01:00
paul_snoops
16c7add22c AFR cards from various Discord contributers 2021-07-02 09:40:03 +01:00
Michael Kamensky
82339213a8 Merge branch 'master' into 'master'
Added puzzle PS_STX5.

See merge request core-developers/forge!4937
2021-07-02 05:35:55 +00:00
Michael Kamensky
36caca89b6 - Added puzzle PS_STX5. 2021-07-02 08:31:50 +03:00
Michael Kamensky
3ced2f2a24 Merge branch 'afr_dungeon_related_cards' into 'master'
Implement some cards with dungeon mechanism that needs engine change.

See merge request core-developers/forge!4936
2021-07-02 05:03:29 +00:00
Alumi
a12848864b Implement some cards with dungeon mechanism that needs engine change. 2021-07-02 05:03:28 +00:00
Michael Kamensky
e2785d4180 Merge branch 'AFR' into 'master'
AFR update 01 Jul

See merge request core-developers/forge!4935
2021-07-02 03:35:26 +00:00
paul_snoops
1421e1617d AFR update 01 Jul 2021-07-01 18:16:01 +01:00
Michael Kamensky
a45cbff98b Merge branch 'worstland' into 'master'
Update getWorstLand

See merge request core-developers/forge!4933
2021-07-01 03:30:14 +00:00
Michael Kamensky
270c7e3571 Merge branch 'AFR' into 'master'
AFR update 30 Jun

See merge request core-developers/forge!4932
2021-07-01 03:29:03 +00:00
tool4EvEr
1b3cf98372 Update getWorstLand 2021-07-01 00:02:57 +02:00
paul_snoops
b647a74469 AFR update 30 Jun 2021-06-30 16:31:10 +01:00
Michael Kamensky
31d0d4535e Merge branch 'notnamed_comma_workaround' into 'master'
Add the same workaround to `notnamed` property for card name with comma

See merge request core-developers/forge!4931
2021-06-30 03:00:51 +00:00
Lyu Zong-Hong
e15c4be102 Add the same workaround to
otnamed property for card name with comma
2021-06-30 09:52:38 +09:00
Michael Kamensky
846b6de9ab Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4930
2021-06-29 15:52:25 +00:00
CCTV-1
673f26cab2 translate venture effect strings. 2021-06-29 20:02:44 +08:00
Michael Kamensky
ffb05ed1b6 Merge branch 'twosat-master-patch-37299' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4929
2021-06-29 10:11:45 +00:00
Andreas Bendel
c4eb1ceb10 Update de-DE.properties
translated the two new dungeon strings
2021-06-29 09:56:20 +00:00
Sol
21e27534f8 Update LEG Challenge Arboria.dck 2021-06-29 01:16:19 +00:00
Bug Hunter
b874c202cb Merge branch 'TRT-master-patch-19714' into 'master'
Update forge-gui/res/cardsfolder/f/frostwielder.txt

See merge request core-developers/forge!4928
2021-06-28 12:30:08 +00:00
Bug Hunter
de163b31d8 Update forge-gui/res/cardsfolder/f/frostwielder.txt 2021-06-28 12:28:08 +00:00
Michael Kamensky
b5d93cabd3 Merge branch 'master' into 'master'
Added puzzles PS_KHM6 through PS_STX4.

See merge request core-developers/forge!4927
2021-06-28 09:46:45 +00:00
Michael Kamensky
0d30d8659a - Added puzzles PS_STX3, PS_STX4. Tweaked PS_STX1.
- PS_STX4 needs extra AI logic for Leyline Tyrant (DamageDealAi#chkAIDrawback).
2021-06-28 12:38:18 +03:00
Michael Kamensky
b5bc614c65 - Added puzzle PS_STX2 with GameState support. 2021-06-28 07:22:11 +03:00
Michael Kamensky
ac23ad25fc - Added puzzles PS_KHM6, PS_TSR1, PS_STX1. 2021-06-28 06:44:37 +03:00
Michael Kamensky
510063bd98 Merge branch 'update_to_the_slaughter' into 'master'
Revert To the Slaughter to use StoreSVar to save Delirium mode before resolving

See merge request core-developers/forge!4926
2021-06-28 03:23:53 +00:00
Lyu Zong-Hong
83e65d3b4d Revert To the Slaughter to use StoreSVar to save Delirium mode before resolving 2021-06-28 10:17:42 +09:00
swordshine
2c5548bc88 Merge branch 'smallfix' into 'master'
Small fixes

See merge request core-developers/forge!4925
2021-06-28 00:48:22 +00:00
tool4EvEr
71ab3310da Small fixes 2021-06-27 23:21:11 +02:00
Michael Kamensky
73929b3e1a Merge branch 'fix_sac_each_valid' into 'master'
Update some sacrifice spells that also should use SacEachValid

See merge request core-developers/forge!4923
2021-06-27 13:27:10 +00:00
Michael Kamensky
55536c6480 Merge branch 'cardfixes' into 'master'
Fix keywords

See merge request core-developers/forge!4922
2021-06-27 11:49:17 +00:00
Lyu Zong-Hong
b59ef4e43e Update some cards that needs to sacrifice maximum possible of permanents 2021-06-27 20:47:03 +09:00
tool4EvEr
42696363d3 Fix keywords 2021-06-27 13:01:46 +02:00
Michael Kamensky
85d6dce7f4 Merge branch 'venture_into_the_dungeon' into 'master'
Implement Dungeon mechanism and related spoiled cards

See merge request core-developers/forge!4920
2021-06-27 10:33:56 +00:00
Lyu Zong-Hong
8b66ab3600 Fix SacEachValid for some corner cases 2021-06-27 19:06:37 +09:00
Lyu Zong-Hong
c5e9e0e703 Update oracle texts for Dungeon cards 2021-06-27 15:53:28 +09:00
Lyu Zong-Hong
15852e2c01 Merge branch 'master' into venture_into_the_dungeon 2021-06-27 15:24:57 +09:00
Lyu Zong-Hong
ed0c5aac5e Add localization strings, draw markers, and updated Oubliette room 2021-06-27 15:22:33 +09:00
Michael Kamensky
59e82a33ab - Basic implementation for the Dungeon mechanic AI. 2021-06-27 08:48:49 +03:00
Michael Kamensky
54cbd32229 Merge branch 'fix26' into 'master'
getPossibleReplaceDamageList: Fix NPE

See merge request core-developers/forge!4921
2021-06-27 04:07:20 +00:00
tool4EvEr
ec33e028f6 Fix NPE 2021-06-26 23:31:28 +02:00
Lyu Zong-Hong
be40fce2c6 Implement Dungeon mechanism and related spoiled cards 2021-06-26 18:29:14 +09:00
Michael Kamensky
0d9590f12a Merge branch 'AFR' into 'master'
AFR update 25 Jun

See merge request core-developers/forge!4917
2021-06-26 03:42:23 +00:00
Michael Kamensky
04403d12d7 Merge branch 'fixstuff' into 'master'
Fix Nykthos Paragon

See merge request core-developers/forge!4919
2021-06-26 03:42:16 +00:00
Bug Hunter
96fcd3decd Fix Nykthos Paragon 2021-06-26 03:42:16 +00:00
paul_snoops
5e79ff5a20 AFR update 25 Jun 2021-06-26 00:08:05 +01:00
paul_snoops
9487d84e06 AFR update 25 Jun 2021-06-25 23:03:04 +01:00
Michael Kamensky
6e2a7904bb Merge branch 'master' into 'master'
Update BoosterCovers for recent sets.

See merge request core-developers/forge!4918
2021-06-25 16:22:00 +00:00
Michael Kamensky
a098e659a8 - Update BoosterCovers for recent sets. 2021-06-25 19:20:10 +03:00
leriomaggio
c5eaef01ce Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-06-25 17:13:25 +01:00
leriomaggio
6712a25bfc Updated New Edition type (Promos => Promo) 2021-06-25 17:09:20 +01:00
leriomaggio
bed2d0bddc Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-06-25 17:08:45 +01:00
paul_snoops
ae9e9c5201 AFR update 26 Jun 2021-06-25 16:49:25 +01:00
Michael Kamensky
44910573de Merge branch '1902-kodama-of-the-east-tree-triggers-again-when-you-choose-card-with-etbreplacement' into 'master'
Resolve "Kodama of the East Tree triggers again when you choose card with ETBreplacement"

Closes #1902

See merge request core-developers/forge!4916
2021-06-25 14:54:21 +00:00
Hans Mackowiak
4876fb0212 Fixes Cause for ETBReplacementEffect 2021-06-25 12:16:25 +00:00
Michael Kamensky
9eabe65496 Merge branch 'fix_aerial_caravan' into 'master'
Fix Aerial Caravan

See merge request core-developers/forge!4915
2021-06-24 11:58:41 +00:00
Lyu Zong-Hong
9681ce5f9b Fix Aerial Caravan 2021-06-24 20:10:05 +09:00
Michael Kamensky
8ea07e67f8 Merge branch 'zaffai' into 'master'
Fix wrong calculated CMC for copied spells

See merge request core-developers/forge!4910
2021-06-23 16:32:31 +00:00
Bug Hunter
f281287c69 Fix wrong calculated CMC for copied spells 2021-06-23 16:32:30 +00:00
Michael Kamensky
e5bdcead2a Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!4914
2021-06-23 09:36:48 +00:00
Churrufli
6b22266602 Net Decks Archive Updates 2021-06-23 08:39:34 +02:00
Churrufli
ad41eec543 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-06-23 08:34:14 +02:00
Michael Kamensky
1af68d9212 Merge branch 'CollectorBoosters' into 'master'
Collector boosters

See merge request core-developers/forge!4913
2021-06-23 03:44:28 +00:00
friarsol
dc886b139a Add full availability of other booster types 2021-06-22 23:36:12 -04:00
Michael Kamensky
806d8f35c2 Merge branch 'PLG21' into 'master'
Added PLG21 and fixed PLGS>PLG20

See merge request core-developers/forge!4912
2021-06-22 13:40:17 +00:00
paul_snoops
b17e88a80c Added PLG21 and fixed PLGS>PLG20 2021-06-22 12:43:17 +01:00
friarsol
2619cca56f Add support for collector boosters 2021-06-21 21:44:54 -04:00
leriomaggio
2c2f546084 Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-06-21 13:49:49 +01:00
Michael Kamensky
ea138b8c36 Merge branch 'fix-image-fetcher-backface-1882' into 'master'
FIX ImageFetcher BackFace card check

Closes #1882

See merge request core-developers/forge!4911
2021-06-21 12:44:56 +00:00
leriomaggio
5ba6f29ebb FIX ImageFetcher BackFace card check
Quick FIX to restore correct download of backface of cards using directly imageKey string pattern
2021-06-21 13:33:18 +01:00
leriomaggio
79f4595292 Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-06-21 11:45:15 +01:00
leriomaggio
fe0441c667 TEMPORARY new Dialog for Sets filtering (still very WIP) 2021-06-21 11:44:20 +01:00
leriomaggio
3ba464665e New methods returning a map of all editions per type.
This method is used to populate the "Sets" advanced filters in UI (so far, desktop only)
2021-06-21 11:43:51 +01:00
leriomaggio
844360fb34 CardEdition.Type now includes new methods for String representation (UI) 2021-06-21 11:43:01 +01:00
Michael Kamensky
ee7ac95b6a Merge branch 'endurance-library-position' into 'master'
Endurance should send cards to bottom of library

See merge request core-developers/forge!4909
2021-06-21 03:01:20 +00:00
Michael Kamensky
5c46556537 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4908
2021-06-21 03:01:16 +00:00
Brock Fanning
70a6a9bda5 Endurance send to bottom of library 2021-06-20 22:05:25 -04:00
Michael Kamensky
a5c30cadb4 Merge branch 'add_remaining_commander_cards' into 'master'
Add remaining missing cards in Commander sets

See merge request core-developers/forge!4907
2021-06-20 10:56:44 +00:00
Bug Hunter
fcdc8d691d Merge branch 'glinting-creeper-blocking-fix' into 'master'
Fix for Glinting Creeper blocking ability and text

See merge request core-developers/forge!4905
2021-06-20 09:00:59 +00:00
Lyu Zong-Hong
6daf4ac78d Add remaining commander cards 2021-06-20 17:22:49 +09:00
CCTV-1
ad72b44e12 translate new strings 2021-06-20 11:52:45 +08:00
Michael Kamensky
d395af122c Merge branch 'add_cruel_entertainment' into 'master'
Add Cruel Entertainment

See merge request core-developers/forge!4906
2021-06-20 03:44:05 +00:00
Lyu Zong-Hong
cb0259c946 Add AI:RemoveDeck:All flag 2021-06-20 12:07:38 +09:00
Lyu Zong-Hong
6e5d79a8e0 Add Cruel Entertainment 2021-06-20 12:00:28 +09:00
Brock Fanning
7d8ea744c3 Fix for Glinting Creeper blocking 2021-06-19 20:55:41 -04:00
Michael Kamensky
8a96bbb3d4 Merge branch 'update_oracle_mh2' into 'master'
Update oracle mh2

See merge request core-developers/forge!4901
2021-06-19 14:54:47 +00:00
Michael Kamensky
36e2c16c9d Merge branch 'vermin-gorger-fix' into 'master'
Fix "Defined" syntax in Vermin Gorger

See merge request core-developers/forge!4903
2021-06-19 14:54:42 +00:00
Michael Kamensky
8928c9eb88 Merge branch 'ozolith' into 'master'
CountersMoveAi: avoid buffing opponent creatures with The Ozolith

See merge request core-developers/forge!4904
2021-06-19 14:54:09 +00:00
tool4EvEr
0de9a0dfd6 CountersMoveAi: avoid buffing opponent creatures with The Ozolith 2021-06-19 16:25:36 +02:00
Brock Fanning
4ad137a23d Fix syntax in Vermin Gorger 2021-06-19 07:11:58 -04:00
Michael Kamensky
f9651796f8 Merge branch 'seal' into 'master'
Fix Seal of the Guildpact

See merge request core-developers/forge!4902
2021-06-19 09:38:46 +00:00
Churrufli
ce02772161 Merge branch 'master' of https://git.cardforge.org/core-developers/forge
# Conflicts:
#	forge-gui/src/main/java/forge/deck/NetDeckCategory.java
#	forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java
2021-06-19 11:02:06 +02:00
tool4EvEr
84f2d2ead2 Fix Seal of the Guildpact 2021-06-19 07:28:56 +02:00
Michael Kamensky
d232cefe57 Merge branch 'combomana' into 'master'
Fix ComboMana payment

See merge request core-developers/forge!4900
2021-06-19 04:55:51 +00:00
Lyu Zong-Hong
84882cd4fa Update Ranar the Ever-Watchful and other similar cards 2021-06-19 13:55:02 +09:00
Lyu Zong-Hong
0d592c4096 Update types 2021-06-19 13:40:33 +09:00
Lyu Zong-Hong
c7d7130344 Update oracle for MH2 release 2021-06-19 12:47:36 +09:00
tool4EvEr
7672817a6e Fix ComboMana payment 2021-06-18 23:43:40 +02:00
Michael Kamensky
b23e550263 Merge branch 'TRT-master-patch-16657' into 'master'
Update forge-gui/res/cardsfolder/m/moritte_of_the_frost.txt

See merge request core-developers/forge!4899
2021-06-18 15:43:27 +00:00
Bug Hunter
b1f13cf2f0 Update forge-gui/res/cardsfolder/m/moritte_of_the_frost.txt 2021-06-18 12:47:00 +00:00
Michael Kamensky
afeedf064e Merge branch 'specify_mana_combo' into 'master'
[UI] Use VAssignGenericAmount dialog to specify mana combo

See merge request core-developers/forge!4898
2021-06-18 10:50:50 +00:00
Lyu Zong-Hong
9a21f038ad Not use VAssignGenericAmount dialog for TwoEach ability 2021-06-18 18:28:15 +09:00
Lyu Zong-Hong
afa6c9986a Use VAssignGenericAmount dialog to assign mana combo 2021-06-18 17:58:52 +09:00
Michael Kamensky
c7e489b477 Merge branch 'ui_update_divided_as_you_choose' into 'master'
[UI] Use VAssignGenericAmount dialog to assign DividedAsYouChoose values

See merge request core-developers/forge!4897
2021-06-18 03:10:35 +00:00
Michael Kamensky
bd060e9090 Merge branch 'twosat-master-patch-92329' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4896
2021-06-18 03:09:46 +00:00
Lyu Zong-Hong
dfecf5d40a Use VAssignGenericAmount dialog to assign DividedAsYouChoose values 2021-06-18 11:21:23 +09:00
Andreas Bendel
db3919ab90 Update de-DE.properties
translated lblAssignCombatDamageAsChoose and lblAssignCombatDamageToCreature
2021-06-17 19:11:54 +00:00
Michael Kamensky
5193447625 Merge branch 'sld_update' into 'master'
SLD update

See merge request core-developers/forge!4895
2021-06-17 18:56:21 +00:00
paul_snoops
42c5b890a7 SLD update 2021-06-17 19:24:00 +01:00
Michael Kamensky
31192889d1 Merge branch 'fixes' into 'master'
Minor card fixes

See merge request core-developers/forge!4894
2021-06-17 17:50:21 +00:00
tool4EvEr
b5e55a3a47 Minor card fixes 2021-06-17 17:05:16 +02:00
Michael Kamensky
5e39a2979b Merge branch 'update_damage_replacement_cards' into 'master'
Update some damage replacement related cards

See merge request core-developers/forge!4893
2021-06-17 09:48:53 +00:00
Michael Kamensky
be3c26676e Merge branch 'update_illusionary_terrain' into 'master'
Update Illusionary Terrain and Vision Charm

See merge request core-developers/forge!4892
2021-06-17 09:48:30 +00:00
Alumi
20dc234ec1 Update Illusionary Terrain and Vision Charm 2021-06-17 09:48:30 +00:00
Lyu Zong-Hong
cd29194824 Update some damage replacement related cards 2021-06-17 15:44:12 +09:00
Michael Kamensky
777514dc7d Merge branch 'fixes' into 'master'
Small Card fixes

See merge request core-developers/forge!4891
2021-06-17 02:58:47 +00:00
tool4EvEr
28ee56baea Small Card fixes 2021-06-16 20:02:56 +02:00
Michael Kamensky
cc362cec5c Merge branch 'fix_trigger_damage_map' into 'master'
Fix crash when triggered ability is using damage map

See merge request core-developers/forge!4889
2021-06-16 15:04:26 +00:00
Michael Kamensky
b698b49256 Merge branch 'triggers' into 'master'
AddToCombat: add missing block trigger

See merge request core-developers/forge!4887
2021-06-16 15:04:14 +00:00
Michael Kamensky
0b74be743a Merge branch 'fixes' into 'master'
Minor fixes

See merge request core-developers/forge!4890
2021-06-16 15:04:03 +00:00
Michael Kamensky
d844df988f Merge branch 'misc_card_panel' into 'master'
[Desktop] Add MiscCardPanel to render player avatar when assigning trample damage or divide shields

See merge request core-developers/forge!4888
2021-06-16 15:03:38 +00:00
tool4EvEr
410ceb2bfc Fix facedown reveal 2021-06-16 16:32:43 +02:00
tool4EvEr
da1dbfc9cf Add AI hint 2021-06-16 16:19:34 +02:00
Lyu Zong-Hong
06fa495b0c Fix crash when triggered ability is using damage map by redirect them to the underlying sa 2021-06-16 20:48:50 +09:00
Lyu Zong-Hong
21d5aeca09 Add MiscCardPanel to render player avatar when assigning trample damage or divide shields 2021-06-16 18:14:10 +09:00
leriomaggio
b1134ef070 Updated menu for card filters on mobile with latest Edition Types 2021-06-16 07:26:05 +01:00
leriomaggio
e8b6e066e3 Updated types in CardEdition enum 2021-06-16 07:25:38 +01:00
Michael Kamensky
c7d7f5c622 Merge branch 'paycheat' into 'master'
Fix casting SA while refusing to pay CostSacrifice

See merge request core-developers/forge!4881
2021-06-16 03:15:52 +00:00
Sol
50221ef138 Update Modern.txt 2021-06-16 01:38:54 +00:00
tool4EvEr
d59d5b3b46 AddToCombat: add missing block triggers 2021-06-15 21:26:13 +02:00
Michael Kamensky
6fadafa19a Merge branch 'net_decks' into 'master'
Small net decks update

See merge request core-developers/forge!4886
2021-06-15 17:45:19 +00:00
Michael Kamensky
400eb62c76 Merge branch 'fixes' into 'master'
Small fixes

Closes #1891 and #1890

See merge request core-developers/forge!4885
2021-06-15 17:45:13 +00:00
paul_snoops
68d78acc00 Small net decks update 2021-06-15 17:29:29 +01:00
tool4EvEr
b3fe2a55db Improve AI 2021-06-15 18:15:16 +02:00
tool4EvEr
9697d697bd Multiplayer improvements 2021-06-15 18:09:12 +02:00
tool4EvEr
b1b06dd0f4 Fix Reflect 2021-06-15 17:41:02 +02:00
tool4EvEr
9dada96de3 Clean up 2021-06-15 17:25:00 +02:00
tool4EvEr
93d80b3ee5 Basic SkipPhase AI 2021-06-15 17:01:59 +02:00
tool4EvEr
f584c581d8 Improve AI hint 2021-06-15 16:46:22 +02:00
tool4EvEr
001106ea7b Small fixes 2021-06-15 16:36:33 +02:00
leriomaggio
6f14d1d37a Remapping as per Alumi suggestions in Discord chat
In short, these are the new changes:
- new Boxed set category separated from Reprint
- Reprint now only includes masters editions
- Commander now only includes commander sets
- Multiplayer sets (new) now includes Game Night and Archenemy and
  Planechase
- Game Night mapped to multiplayer
- Myster Boost mapped to Draft innovation
2021-06-15 08:47:25 +01:00
Michael Kamensky
43c39ec231 Merge branch 'update_quest_worlds' into 'master'
Revert worlds.txt back to use only sets intended by the author

See merge request core-developers/forge!4884
2021-06-15 05:24:01 +00:00
Lyu Zong-Hong
9da49cfce1 Revert worlds.txt back to use only sets intended by the author 2021-06-15 14:05:50 +09:00
Michael Kamensky
a3e302eee1 Merge branch 'stuff' into 'master'
Cleanup some cards

See merge request core-developers/forge!4879
2021-06-15 03:30:36 +00:00
Michael Kamensky
5c8fbd3c7e Merge branch 'fix' into 'master'
couple little MH2 fixes

See merge request core-developers/forge!4880
2021-06-15 03:29:59 +00:00
Michael Kamensky
414aa96463 Merge branch 'afr_14' into 'master'
AFR - 14 June

See merge request core-developers/forge!4882
2021-06-15 03:29:49 +00:00
Michael Kamensky
4a25ad9c6a Merge branch 'taxi' into 'master'
Fix Dermotaxi

See merge request core-developers/forge!4883
2021-06-15 03:28:26 +00:00
tool4EvEr
56eda948d6 Fix Dermotaxi 2021-06-15 02:32:13 +02:00
Northmoc
4df7433dfa tashas_hideous_laughter.txt 2021-06-14 18:32:56 -05:00
Northmoc
9cb95f8f35 flumph.txt 2021-06-14 18:32:56 -05:00
tool4EvEr
1c0c0ad38d Fix casting SA while refusing to pay CostSacrifice 2021-06-15 01:28:46 +02:00
Northmoc
84af4d6344 terminal_agony.txt fix cost 2021-06-14 15:37:54 -05:00
Northmoc
d92e2123a2 combine_chrysalis.txt +YouCtrl 2021-06-14 15:35:35 -05:00
tool4EvEr
f447ab64ce Cleanup some cards 2021-06-14 20:45:52 +02:00
leriomaggio
404840de61 Merge remote-tracking branch 'upstream/master' into editions-type-review 2021-06-14 13:14:17 +01:00
Michael Kamensky
4049a3eea3 Merge branch 'fixnpe' into 'master'
Fix NPE when AI can only attack PW without Ultimates

See merge request core-developers/forge!4877
2021-06-14 04:18:34 +00:00
tool4EvEr
36f3165688 Fix NPE 2021-06-13 23:19:34 +02:00
leriomaggio
b79fc195a1 Updaetd PROMO type from (old) PROMOS 2021-06-13 20:39:42 +01:00
leriomaggio
78bc621f3c Sets filter on mobile now consider the new Edition Type groups 2021-06-13 20:24:19 +01:00
leriomaggio
b8aaf8fb68 New Card Types categories also for custom editions
Card Editions now includes updated Types, following the new remapping.

Moreover, a new option to CardEdition.Reader has been added (in the constructor) in order to account for custom editions.

So far this new "reading mode" accounts for type that is "forced" always to be "THIRDPARTY" so to guarantee consistent sets filtering (so far only on Mobile platform).
This new option is integrated in StaticData when instantiating the collection for CustomEditions.
2021-06-13 20:23:34 +01:00
leriomaggio
cd4ce0d3ab Draft Update Editions' Type and Date w/ Scryfall
All Types and Release Date of Forge editions have been updated
according to Scryfall oracle database.
In more details, Scryfall categories have been remapped
so to have the less impact on previous types, whilst
allowing for a better and consistent editions grouping.

This is still WIP and classes (names and matches) can still be
subject to change.
2021-06-13 18:35:09 +01:00
Michael Kamensky
32891863ad Merge branch 'pumpAI' into 'master'
getPumpedCreature: Fix new ID for copy

Closes #1885

See merge request core-developers/forge!4876
2021-06-13 12:49:47 +00:00
Michael Kamensky
77d88b66e8 Merge branch 'smallfixes' into 'master'
Small fixes sequel

See merge request core-developers/forge!4875
2021-06-13 10:59:19 +00:00
tool4EvEr
ff801fe747 Small fixes 2021-06-13 11:31:00 +02:00
tool4EvEr
73016d1fe0 Fix new ID for copy 2021-06-13 11:23:12 +02:00
Michael Kamensky
733962a935 Merge branch 'fixing' into 'master'
Small fixes

See merge request core-developers/forge!4874
2021-06-13 03:54:56 +00:00
tool4EvEr
3f3a90b360 Clean StackDescriptions 2021-06-12 22:22:18 +02:00
tool4EvEr
ec739b40de Fix Fumarole 2021-06-12 22:16:11 +02:00
tool4EvEr
50d3e8cef4 Clean up 2021-06-12 21:58:45 +02:00
tool4EvEr
fa095007cf Small fixes 2021-06-12 21:29:59 +02:00
Michael Kamensky
db3bde4bbb Merge branch 'master' into 'master'
Prepare Forge for Android publish 1.6.42.001 [incremental].

See merge request core-developers/forge!4873
2021-06-12 13:42:42 +00:00
Michael Kamensky
37bb9279f1 - Prepare Forge for Android publish 1.6.42.001 [incremental]. 2021-06-12 16:41:22 +03:00
Michael Kamensky
4e1c6cb678 [maven-release-plugin] prepare for next development iteration 2021-06-12 16:30:00 +03:00
Michael Kamensky
7e1fd332e0 [maven-release-plugin] prepare release forge-1.6.42 2021-06-12 16:29:51 +03:00
Michael Kamensky
58f369e6e5 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-06-12 16:25:34 +03:00
Michael Kamensky
368c2f9796 [maven-release-plugin] prepare for next development iteration 2021-06-12 16:13:39 +03:00
Michael Kamensky
d658df35d6 [maven-release-plugin] prepare release forge-1.6.41 2021-06-12 16:13:31 +03:00
Michael Kamensky
4b6edee3e6 Merge branch 'master' into 'master'
Add Planeswalker achievements for MH2 by Marek14

See merge request core-developers/forge!4872
2021-06-12 13:01:44 +00:00
Michael Kamensky
91ae1036de - Add planeswalker achievements for MH2. 2021-06-12 16:00:33 +03:00
Michael Kamensky
c20165df92 Merge branch '1842-panharmonicon-trigger-lingering' into 'master'
Resolve "Panharmonicon trigger lingering"

Closes #1842

See merge request core-developers/forge!4708
2021-06-12 12:57:51 +00:00
Hans Mackowiak
9bdd4b9351 StaticAbilityPanharmonicon: add LastStateBattlefield to Trigger RunParams for stuff that destroys in sequence 2021-06-12 12:57:51 +00:00
Michael Kamensky
c1efe047a3 Merge branch 'announcements-update' into 'master'
Integrations to Announcements.

See merge request core-developers/forge!4870
2021-06-12 12:49:45 +00:00
Michael Kamensky
13e57e25f6 Merge branch 'abilitytext' into 'master'
Fix CantBlockBy ability text not updating

See merge request core-developers/forge!4871
2021-06-12 12:49:19 +00:00
leriomaggio
5345bee294 FIXED typo in Modern Horizons edition name 2021-06-12 12:46:33 +00:00
tool4EvEr
e9b0902fe0 Fix CantBlockBy ability text not updating 2021-06-12 14:44:47 +02:00
leriomaggio
de21053398 Update ANNOUNCEMENTS.txt 2021-06-12 12:43:06 +00:00
leriomaggio
27c993831e Integrations to Announcements. 2021-06-12 13:28:35 +01:00
Sol
3dddca9c1e Merge branch 'paul_snoops-master-patch-02299' into 'master'
Update ANNOUNCEMENTS.txt

See merge request core-developers/forge!4869
2021-06-12 12:05:16 +00:00
Snoops
0effbb805a Update ANNOUNCEMENTS.txt 2021-06-12 10:23:16 +00:00
Michael Kamensky
20225a78cb Merge branch 'paul_snoops-master-patch-68635' into 'master'
Update ANNOUNCEMENTS.txt

See merge request core-developers/forge!4868
2021-06-12 09:27:48 +00:00
Snoops
c8cedbd0af Update ANNOUNCEMENTS.txt 2021-06-12 09:20:29 +00:00
Michael Kamensky
844098a302 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-06-12 11:28:43 +03:00
Michael Kamensky
08454489b4 Merge branch 'net_decks' into 'master'
Net decks updates

See merge request core-developers/forge!4861
2021-06-12 08:28:02 +00:00
Michael Kamensky
71110568fc Merge branch 'askai' into 'master'
Add Ask AI button

See merge request core-developers/forge!4867
2021-06-12 04:18:22 +00:00
Michael Kamensky
9990f0ad1a Merge branch 'aiPW' into 'master'
Attack Planeswalker prioritization

See merge request core-developers/forge!4866
2021-06-12 04:17:10 +00:00
Bug Hunter
735a966312 Attack Planeswalker prioritization 2021-06-12 04:17:09 +00:00
tool4EvEr
828d4e17c9 Add Ask AI button 2021-06-11 23:25:57 +02:00
paul_snoops
233c1f6d00 Merge branch 'master' into net_decks 2021-06-11 22:24:22 +01:00
Sol
dbe1683ba9 Merge branch 'zabaz' into 'master'
Zabaz: add Cause to ReplaceAddCounter

See merge request core-developers/forge!4863
2021-06-11 12:29:46 +00:00
Bug Hunter
a5b7f93971 Merge branch 'fixnpe' into 'master'
Fix CostTapType NPE

See merge request core-developers/forge!4865
2021-06-11 10:34:21 +00:00
tool4EvEr
d853ca6615 Fix CostTapType NPE 2021-06-11 12:33:37 +02:00
Michael Kamensky
418d2bf012 Merge branch 'update_card_translations' into 'master'
Update card translations

See merge request core-developers/forge!4862
2021-06-11 10:07:29 +00:00
Lyu Zong-Hong
030f1f4056 Update Japanese translations 2021-06-11 16:56:17 +09:00
Churrufli
45f598e0b9 Oathbreaker Net Decks implementation 2021-06-11 09:07:41 +02:00
Hans Mackowiak
fc82dbb9aa Zabaz: add Cause to ReplaceAddCounter 2021-06-11 08:31:30 +02:00
Lyu Zong-Hong
6feb18c11c Update card translations 2021-06-11 15:10:49 +09:00
Michael Kamensky
c07f3ea34d Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-06-11 07:50:33 +03:00
Michael Kamensky
8948210e0a Merge branch 'fixland' into 'master'
Fix playLand ETB check failing if lands changed by another effect

See merge request core-developers/forge!4860
2021-06-11 03:47:55 +00:00
paul_snoops
df0b5362c2 Net decks updates 2021-06-10 20:09:40 +01:00
tool4EvEr
a9b60a87e0 Fix playLand ETB check failing if lands changed by another effect 2021-06-10 18:10:42 +02:00
Sol
694317a50f Merge branch 'fixes' into 'master'
More small fixes

See merge request core-developers/forge!4855
2021-06-10 15:36:25 +00:00
tool4EvEr
a856834693 Refactor guard 2021-06-10 17:29:26 +02:00
Michael Kamensky
35b71da140 Merge branch 'master' into 'master'
Gauntlet Updates

See merge request core-developers/forge!4859
2021-06-10 11:49:55 +00:00
leriomaggio
5bc4122a31 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-06-10 10:53:02 +01:00
Churrufli
3b2e39808e Gauntlet Updates 2021-06-10 10:41:45 +02:00
Churrufli
697a2ace20 Gauntlet Updates 2021-06-10 10:37:24 +02:00
Sol
c38c53d513 Merge branch 'fix-play-effect' into 'master'
isBlank() is from Java 11

See merge request core-developers/forge!4858
2021-06-10 01:58:13 +00:00
friarsol
31745fe31e isBlank() is from Java 11 2021-06-09 21:57:47 -04:00
Sol
f8e3f4dd31 Merge branch 'migrate-mh2' into 'master'
Migrate Modern Horizons 2

See merge request core-developers/forge!4857
2021-06-10 01:47:40 +00:00
friarsol
965ec4bc47 Migrate Modern Horizons 2 2021-06-09 21:46:33 -04:00
Sol
9cf28e7041 Update u_0_3_crab.txt 2021-06-10 01:28:52 +00:00
Sol
71f639d45e Merge branch 'garth_one_eye' into 'master'
Add Garth One-Eye and necessary support

See merge request core-developers/forge!4856
2021-06-10 00:43:30 +00:00
leriomaggio
18febc5af0 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-06-09 19:33:01 +01:00
leriomaggio
6ba081f1a0 getReplacementCard got a more significant name to also be used in DeckController 2021-06-09 19:06:28 +01:00
leriomaggio
7bcc4b46e1 Removed useless artIndex parameter 2021-06-09 19:04:38 +01:00
leriomaggio
2a8f80195d Removed ambiguities in test cases due to new CardDb methods with default cardart option 2021-06-09 19:04:21 +01:00
leriomaggio
0c813024d2 First improvement to API in convertXitaxMethod simplifying implementation thanks to new CardDb API 2021-06-09 18:51:08 +01:00
leriomaggio
319cb5515c Updated PaperCard constructor to safely set Art index when negative values are passed in. 2021-06-09 17:53:05 +01:00
leriomaggio
b18c1f7cec Updated test imports 2021-06-09 17:52:13 +01:00
leriomaggio
448263d9de Comment (and test!) to demonstrate that current implementation of getEarliestEditionWithAllCards not only has a misleading name, but also doesn't work the way it should! 2021-06-09 17:48:07 +01:00
leriomaggio
58b2a96168 Updates for New CardDb API [getAllCards(edition)] 2021-06-09 17:47:09 +01:00
leriomaggio
c53899d8c9 Updates with new API relying on default cardArt option 2021-06-09 17:46:42 +01:00
leriomaggio
b17ea15935 Updates with new renamed CardArtPreference options in CardDb 2021-06-09 17:44:55 +01:00
leriomaggio
87257f0413 Using IPaperCard constants for ArtIndex instead of hard coded values when adding cards to pool 2021-06-09 17:44:07 +01:00
tool4EvEr
084476b8b0 Clean up 2021-06-09 18:43:34 +02:00
leriomaggio
22b1abece5 Updated API call to CardDB with getCardFromEditions w/ LatestPrint
Probably the specs of the policy hard coded could be removed, but requires more investigation before doing it.
2021-06-09 17:43:11 +01:00
leriomaggio
2c2f6f6f31 Updated API call to CardDB with getCardFromEditions w/ OldPrint 2021-06-09 17:40:29 +01:00
leriomaggio
5ad05f94ad Updated API call to CardDB with getArtCount and getMaxArtIndex 2021-06-09 17:35:18 +01:00
leriomaggio
58cfbf4c0d Updated API call to CardDB with PreferredCardArt
Note: the `convertByXitaxMethod` will be soon discontinued thanks to the new upcoming option and API.
Same will apply to those methods in StaticData
2021-06-09 17:33:37 +01:00
leriomaggio
eb9899e405 Updates to ITokenAPI aligned with Cards' Interface. 2021-06-09 17:26:12 +01:00
leriomaggio
8ea2f18fda Updates to StaticData to pass on preferredArt to CardDb constructor and new CardArtPreference enum. 2021-06-09 17:24:57 +01:00
leriomaggio
f21612c2c4 Major Update to CardDb (along with tests).
This commit includes major updates to the CardDb aligned with the new ICardDatabase (refactored) API.

The implementation of the API now includes a more standardised and linear approach in (single) card retrieval which leverages on the refactored methods.

All these methods rely on the **new** and revised CardRequest object that now support a new method to compose request strings, as well as extending support to requests including the collector numbers.
This is a major update going towards the direction of integrating the collector number in Deck Importer when analysing cards lists.

All these new implementations have been thoroughly tested considering all possible conditions, foil cards, cards with multiple arts, and date filtering, and results compared with **previous** card DB implementation to be sure no behaviour was left uncovered from previous implementation.
(Please see `LegacyDb` class in `forge.card` tests for more details).

Cards in CardPool are now added also including the collector number directly. This should avoid PaperCard instances to rely on the retrieveCollectorNumber methods in PaperCard. [THIS needs to be tested yet].

Another major change to class structure regards the new renamed SetPreference to a more intuitive CardArtPreference.
This will be used to set up card art preference in the UI, as well as to guide card retrieval default behaviour.
(This option will be later included in the Desktop GUI as well).
Tests to compare the behaviour of these new options, and the old ones have been conducted, and all passed.
Also, this attribute has been moved from StaticData to CardDb as it seems more appropriate encapsulation, without any circular dependency.
A new method (not included in ICardDatabase) has been added to CardDb API (i.e. getCardFromEditions(name) ) which relies on the default Card Art preference.

Last but not least, Anthologies edition file receives an update on the TYPE (from other to reprint) to also deal with expected testings - case "Hymn To Tourach" when `LatestPrintNoPromoNoOnline` is selected.
2021-06-09 17:22:42 +01:00
leriomaggio
20386462ce Base PowerMock Test case for CardDb testing
This base class will be used throughout the tests whenever Card Database (Mocks) will be required for testing.

This will be the case (for example) of tests for CardRequest, CardEdition, CardDb.
2021-06-09 17:01:04 +01:00
leriomaggio
48859a32a3 ITokenDatabase API have been aligned in names with those for cards. 2021-06-09 16:59:14 +01:00
leriomaggio
dad3cafd7a IPaperCard now includes a constant placeholder for NO Art Index.
This is an attempt to start removing all the hard-coded values
used throughout the code base whenever art index should be
invoked, by relying on a more stable approach based on
constants.
2021-06-09 16:58:48 +01:00
leriomaggio
d4c19a0a1f Complete Refactoring of the CardDb API
The API for Magic Card Database has been refactored so to include card look up methods as organised in three main categories:
- single card lookup based on details (name, ed code, collector number)
- card lookup from a given edition (i.e. CardEdition instance)
- card lookup based on Art Preference

Methods to retrieve collection of cards have been renamed to allow
for overloading, within a more consistent API.
Same for utility methods to retrieve cards' art index and count.

Last but not least, the old "getFoiled" method has been removed to leave space to the new method in PaperCard API.
2021-06-09 16:57:09 +01:00
Lyu Zong-Hong
f9abb8ca75 Add Garth One-Eye and necessary support 2021-06-09 23:07:55 +09:00
tool4EvEr
4b0c748eaf Fix Myr Battlesphere allowing you to tap for X = 0 2021-06-09 11:40:11 +02:00
tool4EvEr
083674071b Reset xPaid after ability resolved 2021-06-09 11:40:01 +02:00
tool4EvEr
96ccf0afc6 More small fixes 2021-06-09 09:43:02 +02:00
Michael Kamensky
cfb755ce20 Merge branch 'clean' into 'master'
Small fixes

See merge request core-developers/forge!4854
2021-06-09 05:52:47 +00:00
tool4EvEr
cc8753b563 Small fixes 2021-06-08 23:17:55 +02:00
Michael Kamensky
454c51f1b1 Merge branch 'fix' into 'master'
Various card patches

See merge request core-developers/forge!4831
2021-06-08 14:56:34 +00:00
Michael Kamensky
fa83326710 Merge branch 'mh2_7' into 'master'
MH2 - 7 June

See merge request core-developers/forge!4848
2021-06-08 14:55:48 +00:00
Northmoc
eb60690973 viashino_lashclaw.txt add AILogic 2021-06-08 10:17:43 -04:00
Northmoc
0983c72ea0 viashino_lashclaw.txt 2021-06-08 10:17:42 -04:00
Northmoc
49436a00b3 graceful_restoration.txt 2021-06-08 10:17:42 -04:00
Northmoc
8345bf890b glimmer_bairn.txt 2021-06-08 10:17:42 -04:00
Northmoc
5b2980562b emergent_growth.txt clean up stackdesc 2021-06-08 10:16:03 -04:00
Northmoc
b86249635f drake_stone.txt fix ManaCost 2021-06-08 10:16:03 -04:00
Northmoc
4286429402 gravebreaker_lamia.txt add Mandatory 2021-06-08 10:16:02 -04:00
Michael Kamensky
6578fb79e6 Merge branch 'master' into 'master'
Net Decks Archive Updates - New Gauntlets

See merge request core-developers/forge!4852
2021-06-08 10:33:26 +00:00
Bug Hunter
f1169511ab Merge branch 'TRT-master-patch-20578' into 'master'
Update forge-gui/res/cardsfolder/b/bog_rats.txt

Closes #1883

See merge request core-developers/forge!4853
2021-06-08 07:33:29 +00:00
Bug Hunter
6f5f04bb7e Update forge-gui/res/cardsfolder/b/bog_rats.txt 2021-06-08 07:32:14 +00:00
Churrufli
b33595d840 Net Decks Archive Updates - New Gauntlets 2021-06-08 09:25:52 +02:00
Churrufli
653b484674 Net Decks Archive Updates - New Gauntlets 2021-06-08 09:16:34 +02:00
Michael Kamensky
5a0a63940d Merge branch 'typefix' into 'master'
Fix missing type

See merge request core-developers/forge!4849
2021-06-08 03:31:57 +00:00
Michael Kamensky
d734fdf761 Merge branch 'fixnpe' into 'master'
Fix NPE with Grakmaw when run from ChooseType

See merge request core-developers/forge!4850
2021-06-08 03:31:41 +00:00
tool4EvEr
3ab7fcf224 Fix NPE with Grakmaw when run from ChooseType 2021-06-07 22:40:16 +02:00
tool4EvEr
4f4fe04683 Fix missing type 2021-06-07 22:08:21 +02:00
Michael Kamensky
c83d03a2d6 Merge branch 'H1R' into 'master'
RMH1 to H1R fix

See merge request core-developers/forge!4847
2021-06-07 18:28:45 +00:00
leriomaggio
c5f283eaa7 Updated all test-packages dependencies w/ corresponding versions 2021-06-07 18:22:26 +01:00
paul_snoops
8ffa95a26a RMH1 has been changed to H1R 2021-06-07 16:31:39 +01:00
paul_snoops
da96b580a4 RMH1 has been changed to H1R 2021-06-07 16:28:29 +01:00
paul_snoops
5a862ab742 RMH1 has been changed to H1R 2021-06-07 15:18:51 +01:00
Michael Kamensky
7e6f077b0a Merge branch 'TRT-master-patch-82400' into 'master'
Update forge-gui/res/cardsfolder/upcoming/search_the_premises.txt

See merge request core-developers/forge!4846
2021-06-07 08:02:42 +00:00
Bug Hunter
b6676c9d58 Update forge-gui/res/cardsfolder/upcoming/search_the_premises.txt 2021-06-07 04:56:28 +00:00
Michael Kamensky
37099156f3 Merge branch 'lion' into 'master'
Diamond Lion: Fix cost

See merge request core-developers/forge!4845
2021-06-07 04:32:08 +00:00
tool4EvEr
018a2c080b Fix cost 2021-06-06 21:46:27 +02:00
Michael Kamensky
890ef37b3f Merge branch 'snowblind' into 'master'
Card fixes

See merge request core-developers/forge!4843
2021-06-06 18:04:04 +00:00
Michael Kamensky
c7de3866c7 Merge branch 'PLIST' into 'master'
Edition updates PLIST and UST

See merge request core-developers/forge!4844
2021-06-06 18:03:49 +00:00
tool4EvEr
4cf11743f2 Fix P/T 2021-06-06 19:36:40 +02:00
tool4EvEr
3ee3a28fd5 Fix cost 2021-06-06 18:54:21 +02:00
paul_snoops
39ba048d07 Updating "The List" edition file and fix dragon token in Unstable 2021-06-06 16:55:56 +01:00
leriomaggio
3704204371 Refactoring: Using IPaperCard constant for artIndex instead of hard coded number 2021-06-06 14:55:14 +01:00
leriomaggio
0bddf261ca Disabled outdated tests 2021-06-06 14:54:28 +01:00
tool4EvEr
40a9229681 Fix check 2021-06-06 15:19:23 +02:00
tool4EvEr
8a7873d0c9 Fix triggers 2021-06-06 15:11:34 +02:00
Bug Hunter
996ddb4360 Merge branch 'twosat-master-patch-69468' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4842
2021-06-06 12:57:58 +00:00
tool4EvEr
eec11c6ec5 Fix Snowblind 2021-06-06 14:57:24 +02:00
Andreas Bendel
197cbb1808 Update de-DE.properties
translated new lines under VAssignGenericAmount
2021-06-06 12:51:06 +00:00
leriomaggio
ad15925f67 Optimised imports with new TestNG version 2021-06-06 13:22:02 +01:00
leriomaggio
ec72b728ba Forced Lazy cards loads to false to load DB 2021-06-06 13:21:09 +01:00
leriomaggio
a281379830 Updated imports with new deps 2021-06-06 13:18:47 +01:00
leriomaggio
072ad06164 Disabled Tests = outdated 2021-06-06 13:18:00 +01:00
leriomaggio
88ab79a5cd Updated Testing dependencies with latest PowerMock for Mockito2 Api 2021-06-06 13:17:34 +01:00
Michael Kamensky
32df7f3eae Merge branch 'fixsuspend' into 'master'
Suspend Fixes

See merge request core-developers/forge!4828
2021-06-06 03:29:09 +00:00
Bug Hunter
4b3839b143 Suspend Fixes 2021-06-06 03:29:08 +00:00
Michael Kamensky
79216eaa8d Merge branch 'mh2_fix' into 'master'
MH2 fixes

See merge request core-developers/forge!4841
2021-06-06 03:28:46 +00:00
Michael Kamensky
ba2998541d Merge branch 'aicleanup' into 'master'
Small fix

See merge request core-developers/forge!4840
2021-06-06 03:28:26 +00:00
Michael Kamensky
d5aaa4dc45 Merge branch 'repeateach' into 'master'
RepeatPlayers - Swap out other remembered while resolving

See merge request core-developers/forge!4834
2021-06-06 03:27:03 +00:00
Bug Hunter
999e4f81ee RepeatPlayers - Swap out other remembered while resolving 2021-06-06 03:27:02 +00:00
Michael Kamensky
c38d2f531c Merge branch 'carth' into 'master'
MH2: Carth the Lion

See merge request core-developers/forge!4760
2021-06-06 03:26:09 +00:00
Michael Kamensky
27d8af3551 Merge branch 'carth' into 'master'
Carth support

See merge request core-developers/forge!4827
2021-06-06 03:26:07 +00:00
Bug Hunter
b10ce1b884 Carth support 2021-06-06 03:26:07 +00:00
Northmoc
18c207f39b arcbound_tracker.txt trim unneeded 2021-06-05 17:03:32 -04:00
tool4EvEr
898df454d5 Small fix 2021-06-05 23:02:34 +02:00
Northmoc
577c5ca055 restore edition labels 2021-06-05 17:01:07 -04:00
Northmoc
04558e93b3 correct lizard name 2021-06-05 17:00:44 -04:00
Michael Kamensky
6b0a88cd95 Merge branch 'phpr-prm-scryfall-editions' into 'master'
Latest Scryfall codes for PHPR and PRM Editions

See merge request core-developers/forge!4838
2021-06-05 19:03:02 +00:00
Michael Kamensky
bd125df278 Merge branch 'smallfix' into 'master'
Small fixes

See merge request core-developers/forge!4837
2021-06-05 19:02:53 +00:00
tool4EvEr
fc31881150 Small fixes 2021-06-05 20:52:59 +02:00
leriomaggio
9a13b06452 Matched with Magic Online Promo 2021-06-05 19:44:24 +01:00
leriomaggio
01e3a726fe Matched all with PHPR Set on Scryfall 2021-06-05 19:44:11 +01:00
leriomaggio
bcaa318941 Matched with Dragon Con on Scryfall 2021-06-05 19:43:46 +01:00
leriomaggio
c64e5c2d5e Merge remote-tracking branch 'upstream/master' into add-scryfallcodes-neweditions 2021-06-05 19:40:42 +01:00
Bug Hunter
caafcf61aa Merge branch 'city' into 'master'
Fix crash with City in a Bottle & Facedown

See merge request core-developers/forge!4836
2021-06-05 18:22:27 +00:00
tool4EvEr
e6280377ce Fix crash with City in a Bottle & Facedown 2021-06-05 20:22:30 +02:00
Bug Hunter
a2e66550bf Merge branch 'add-scryfallcodes-neweditions' into 'master'
Scryfall Code Added

See merge request core-developers/forge!4835
2021-06-05 18:21:31 +00:00
leriomaggio
abad45f874 Scryfall Code Added
(Not really needed, just to keep edition files aligned)
2021-06-05 18:21:31 +00:00
leriomaggio
fa649c1cd0 Scryfall Code Added
(Not really needed, just to keep edition files aligned)
2021-06-05 19:10:39 +01:00
leriomaggio
96ad12a1b7 FIX collector numbers w/ those on scryfall and scryfallcode added 2021-06-05 19:10:08 +01:00
Michael Kamensky
669979531c Merge branch 'patch-imagefetcher-scryfall' into 'master'
FIX performance with ImageFetcher, New ScryfallCodes, and Updated CollectorNumbers

See merge request core-developers/forge!4823
2021-06-05 16:25:51 +00:00
leriomaggio
0c81f5c36c FIX unicode char for alternate in Portal 2021-06-05 17:16:44 +01:00
leriomaggio
7dfc48744c Merge remote-tracking branch 'upstream/master' into patch-imagefetcher-scryfall 2021-06-05 17:00:53 +01:00
leriomaggio
943d95eed0 Added new scryfall codes to latest 67 editions 2021-06-05 16:58:07 +01:00
leriomaggio
4b6e5e32d1 Setup Scryfall Code 2021-06-05 16:54:22 +01:00
leriomaggio
a1132fbe90 Updated latest collector numbers 2021-06-05 16:54:05 +01:00
Michael Kamensky
ea37370738 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-06-05 18:13:54 +03:00
Michael Kamensky
3b73f86e1b Merge branch 'Williams-master-patch-27805' into 'master'
MH2 Contributions 04/06

See merge request core-developers/forge!4822
2021-06-05 15:11:24 +00:00
Michael Kamensky
1633dedee3 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-06-05 17:34:06 +03:00
Michael Kamensky
9ae41c67a2 Merge branch 'replace_damage_missing_cards' into 'master'
Implement remaining damage prevention/redirection cards

See merge request core-developers/forge!4832
2021-06-05 14:28:35 +00:00
Michael Kamensky
58819f48bc Merge branch 'mh2_token' into 'master'
MH2 token issues

See merge request core-developers/forge!4833
2021-06-05 14:27:22 +00:00
Michael Kamensky
1f2cc92533 Merge branch 'phasing' into 'master'
Phasing Fixes

Closes #531

See merge request core-developers/forge!4808
2021-06-05 14:27:11 +00:00
leriomaggio
2e550b95ca New Card Language option to support fetching cards in different languages 2021-06-05 15:21:49 +01:00
leriomaggio
6f27a0db4d ImageFetcher now gets language code directly from CardEdition and not from current locale 2021-06-05 15:17:32 +01:00
leriomaggio
ace7998c40 Removed unused method 2021-06-05 15:17:10 +01:00
leriomaggio
969d65bbb2 Setup card language 2021-06-05 15:06:46 +01:00
leriomaggio
dd3c6abdd2 FIX collector number with unicode characters 2021-06-05 15:06:26 +01:00
leriomaggio
45c50c1f6e Set card language 2021-06-05 14:54:10 +01:00
leriomaggio
93d284dc82 Updated collector numbers with unicode characters 2021-06-05 14:54:00 +01:00
leriomaggio
9f6269c3e8 Updated collector numbers 2021-06-05 14:53:25 +01:00
leriomaggio
54ed9cfe22 Updated collector numbers 2021-06-05 14:53:21 +01:00
Northmoc
efe0b7ace0 u_0_3_crab.txt add newline 2021-06-05 08:27:03 -04:00
Northmoc
96eeac14ea u_0_3_crab.txt 2021-06-05 08:26:46 -04:00
Northmoc
85409f1616 fix golem token 2021-06-05 08:26:26 -04:00
Lyu Zong-Hong
f7f020cc26 Update language files 2021-06-05 21:02:50 +09:00
Northmoc
889173a682 move PutCounter cost earlier 2021-06-05 08:02:27 -04:00
Northmoc
e2fab353fd carth_the_lion.txt 2021-06-05 08:02:26 -04:00
leriomaggio
41a0769cca Updated **all** collector numbers 2021-06-05 12:05:47 +01:00
Tim Mocny
f73fac0eb4 Merge branch 'fixdroid' into 'master'
hotfix for Android

See merge request core-developers/forge!4830
2021-06-05 11:02:46 +00:00
Michael Kamensky
3047e40116 Merge branch 'Williams-master-patch-76451' into 'master'
Vintage/Legacy Championship "Promos", MH2 tokens

See merge request core-developers/forge!4829
2021-06-05 11:00:19 +00:00
Northmoc
24c45c7cc2 hotfix for Android 2021-06-05 06:59:27 -04:00
John
88b2ce84d6 Update Modern Horizons 2.txt 2021-06-05 10:23:38 +00:00
leriomaggio
9c55543f1b Updated card language 2021-06-05 11:21:31 +01:00
leriomaggio
76eac28192 Updated card collector numbers 2021-06-05 11:21:24 +01:00
leriomaggio
b3d2c28f06 Updated card collector numbers and ScryfallCode 2021-06-05 11:19:23 +01:00
leriomaggio
a4c0a56734 Updated card language with Japanese 2021-06-05 11:15:28 +01:00
leriomaggio
fc78637d2f Updated collector numbers and scryfallcode 2021-06-05 11:13:30 +01:00
leriomaggio
7605706b89 Updated collector numbers with unicode characters 2021-06-05 11:09:09 +01:00
leriomaggio
862f3e4e9d Updated collector numbers 2021-06-05 11:01:54 +01:00
leriomaggio
64de8327a6 Updated collector numbers 2021-06-05 11:00:26 +01:00
John
c8d5624600 Add new file 2021-06-05 09:58:31 +00:00
leriomaggio
abe2d7d10a Updated Card language and collector numbers 2021-06-05 10:58:17 +01:00
leriomaggio
27dbddac94 Updated Card language 2021-06-05 10:55:58 +01:00
John
cfd18eef5c Add new file 2021-06-05 09:55:08 +00:00
leriomaggio
e2b30b8f71 Extended Regexp to support Historic Anthology 5 CN types
Historic Anthology 5 introduced a new "type" of collector number, namely
"999-CH". Regexp has been extended to also include those cases.
2021-06-05 10:50:16 +01:00
leriomaggio
0f86978d8a Updated Collector Numbers with Scryfall 2021-06-05 10:49:09 +01:00
leriomaggio
1e7c21bdcf Updated Collector Numbers with Scyfall 2021-06-05 10:49:00 +01:00
leriomaggio
9e8fa209d5 FIX collector numbers with unicode characters 2021-06-05 10:48:47 +01:00
John
83caef1a97 Update vermin_gorger.txt 2021-06-05 09:47:53 +00:00
John
056daed06b Update crack_open.txt 2021-06-05 09:47:30 +00:00
Lyu Zong-Hong
ab31c8fa9d Implement missing cards with dividable shields for damage replacement effects 2021-06-05 18:20:02 +09:00
Lyu Zong-Hong
f95fb7d08b Choose source for prevent/redirect next N damage effect 2021-06-05 18:20:01 +09:00
leriomaggio
b2939f511d FIX collector numbers with unicode characters 2021-06-05 09:15:50 +01:00
leriomaggio
e1a08629a4 Updated collector numbers 2021-06-05 09:15:35 +01:00
leriomaggio
9c5eba7372 Updated collector numbers 2021-06-05 09:06:20 +01:00
leriomaggio
97ecf45da3 FIX collector number with unicode character 2021-06-05 09:05:05 +01:00
leriomaggio
cf4321492e FIX collector number with unicode character 2021-06-05 08:36:13 +01:00
leriomaggio
d5f996d249 added card language 2021-06-05 08:34:12 +01:00
leriomaggio
dc65f639c7 FIX collector number with unicode characters 2021-06-05 08:33:58 +01:00
leriomaggio
64aa9fe0ae Set Scryfall Code 2021-06-05 08:30:00 +01:00
leriomaggio
73f65505b0 Set Card language to Japanese (ja) 2021-06-05 08:28:14 +01:00
leriomaggio
49dc938eb3 FIX collector numbers with unicode characters 2021-06-05 08:25:30 +01:00
leriomaggio
687b547b47 FIX collector numbers with unicode characters 2021-06-05 08:23:08 +01:00
leriomaggio
4b85ef2a99 New CardLang Option
Certain Cards are only available in a specific language (e.g. JP, HE).
This option will be read into card Edition and used by content downloader later on.
2021-06-05 08:22:01 +01:00
leriomaggio
be7ef159cd FIX collector numbers with unicode characters 2021-06-05 08:21:04 +01:00
leriomaggio
8b6f0fb8eb FIX collector numbers with unicode characters 2021-06-05 08:13:15 +01:00
leriomaggio
ef29c61fb0 FIX collector numbers with unicode characters 2021-06-05 08:11:33 +01:00
leriomaggio
77ba81d621 FIX collector numbers with unicode characters 2021-06-05 08:08:25 +01:00
leriomaggio
4d645f761c FIX collector numbers with unicode characters 2021-06-05 08:06:06 +01:00
leriomaggio
b0aeaaabb4 FIX collector numbers with unicode characters 2021-06-05 08:05:02 +01:00
leriomaggio
80661e1646 FIX collector number to a few more missing 2021-06-05 08:03:57 +01:00
Michael Kamensky
f53e4495de Merge branch 'thrasta' into 'master'
MH2: Thrasta and "Trample over planeswalkers"

See merge request core-developers/forge!4824
2021-06-05 03:17:27 +00:00
Michael Kamensky
76ee1e776f Merge branch 'mh2_draft' into 'master'
MH2 limited

See merge request core-developers/forge!4814
2021-06-05 03:16:49 +00:00
Michael Kamensky
81c880efb1 Merge branch 'mh2_3' into 'master'
MH2 - 3 June

See merge request core-developers/forge!4816
2021-06-05 03:16:25 +00:00
Northmoc
3b3c955e2c echoing_return.txt 2021-06-04 15:57:53 -04:00
Northmoc
d786509a06 vile_entomber.txt 2021-06-04 15:31:12 -04:00
Northmoc
7e682810fb final tweaks for now 2021-06-04 15:11:39 -04:00
leriomaggio
446fc7dc35 Enhancing regexp to also support CN with symbol in front (e.g. *180 in Theros promos) 2021-06-04 19:55:16 +01:00
leriomaggio
76ccc2f8b1 Updating collector numbers with unicode chars for matching on scryfall 2021-06-04 19:54:33 +01:00
leriomaggio
6f99e6b840 updating collector numbers with unicode in Arabian nights 2021-06-04 19:54:10 +01:00
tool4EvEr
08d6b11add Clean up 2021-06-04 20:27:44 +02:00
tool4EvEr
dccf161d54 Fix Untap of card that should't after phasing in 2021-06-04 20:27:44 +02:00
tool4EvEr
c648a8ccbc Stop counting phased out cards 2021-06-04 20:27:43 +02:00
tool4EvEr
83dc9b688b Fix for phasing 2021-06-04 20:27:42 +02:00
tool4EvEr
2d53623ab2 Fix echo cost not skipable with phasing 2021-06-04 20:27:41 +02:00
tool4EvEr
d0d14b9006 Fix missing trigger when phased out 2021-06-04 20:27:41 +02:00
tool4EvEr
db85958008 Fix effects on phased out cards 2021-06-04 20:27:40 +02:00
tool4EvEr
58866b0595 when phasing out end Until 2021-06-04 20:27:39 +02:00
tool4EvEr
f6f2d5e4de Fix Attachments not phasing back in when the card attached to does 2021-06-04 20:27:39 +02:00
Bug Hunter
118aa4bda1 Merge branch 'payfix' into 'master'
Better fix for manapool payment

See merge request core-developers/forge!4826
2021-06-04 18:26:10 +00:00
tool4EvEr
ba9b4617f7 Better fix for manapool payment 2021-06-04 20:25:05 +02:00
Bug Hunter
a3646e83c8 Merge branch 'cleanimport' into 'master'
Clean import

See merge request core-developers/forge!4825
2021-06-04 17:24:15 +00:00
tool4EvEr
b51b8e9c63 Clean import 2021-06-04 19:24:22 +02:00
Northmoc
3638372602 nykthos_paragon.txt ai hint 2021-06-04 13:04:08 -04:00
Northmoc
647a0d8a2f brown acorns 2021-06-04 13:02:58 -04:00
Northmoc
0bcaf9cb41 chitterspitter.txt (Suthro) 2021-06-04 13:02:58 -04:00
Northmoc
52c6fb5d06 flourishing_strike.txt (Suthro) 2021-06-04 13:02:57 -04:00
Northmoc
a1a192946c phantasmal_dreadmaw.txt fix Oracle 2021-06-04 13:02:57 -04:00
Northmoc
713b199f21 resurgent_belief.txt 2021-06-04 13:02:56 -04:00
Northmoc
2364e8dd26 Combat.java set up defending planeswalker and controller to receive damage with trample over planeswalkers 2021-06-04 13:00:22 -04:00
Northmoc
60f98c84d5 make sure damage assign window pops up for trampling over planeswalkers 2021-06-04 13:00:21 -04:00
Northmoc
dfea87ed0e properly calculate lethal for planeswalkers being trampled over 2021-06-04 13:00:20 -04:00
Northmoc
3010657620 handle Trample over planeswalkers keyword 2021-06-04 13:00:20 -04:00
Northmoc
35477a5edb Trample over planeswalkers reminder text 2021-06-04 13:00:20 -04:00
Northmoc
793bb97909 thrasta_tempests_roar.txt 2021-06-04 13:00:19 -04:00
Northmoc
ca4e9c2ea5 add "alternate frame" and "bundle" to EditionSectionWithCollectorNumbers, tweak Edition 2021-06-04 12:59:07 -04:00
Northmoc
fa68e989c4 add preliminary MH2 rankings 2021-06-04 12:59:07 -04:00
Northmoc
47291206ae 36 packs in box 2021-06-04 12:59:06 -04:00
Northmoc
77578174b7 - improve booster 2021-06-04 12:59:06 -04:00
Northmoc
f0f7b9e6e4 Modern Horizons 2.txt boosters (initial attempt) 2021-06-04 12:59:05 -04:00
Northmoc
dbb87a6a79 blocks.txt add MH2 2021-06-04 12:59:05 -04:00
John
8d8c1c505c Add new file 2021-06-04 16:47:16 +00:00
John
970db2b6d1 Add new file 2021-06-04 16:46:46 +00:00
John
330e0818fa Add new file 2021-06-04 16:46:15 +00:00
John
7f4f48aa32 Add new file 2021-06-04 16:45:39 +00:00
John
fb4300fe4d Add new file 2021-06-04 16:44:00 +00:00
John
4e89b94916 Add new file 2021-06-04 16:43:09 +00:00
John
0f76d42b8c Add new file 2021-06-04 16:42:39 +00:00
John
6cc3060dc2 Add new file 2021-06-04 16:41:22 +00:00
John
83d629c397 Add new file 2021-06-04 16:40:44 +00:00
John
b7fe9ba794 Add new file 2021-06-04 16:40:08 +00:00
John
c0594c5449 Add new file 2021-06-04 16:38:42 +00:00
John
0eb562adf9 Add new file 2021-06-04 16:30:37 +00:00
John
181bd88902 Add new file 2021-06-04 16:28:11 +00:00
John
3d6cfd2457 Add new file 2021-06-04 16:26:40 +00:00
John
bcb5191ecc Add new file 2021-06-04 16:26:08 +00:00
John
5581283c52 Add new file 2021-06-04 16:25:37 +00:00
John
c3cb530aa1 Add new file 2021-06-04 16:25:01 +00:00
John
5cc0665a9d Add new file 2021-06-04 15:58:32 +00:00
John
6c0dde8e79 Add new file 2021-06-04 15:56:52 +00:00
John
a009e06fdf Add new file 2021-06-04 15:55:52 +00:00
John
4282169fc9 Add new file 2021-06-04 15:55:14 +00:00
John
7c76e72a7f Add new file 2021-06-04 15:54:41 +00:00
John
e22e514d29 Update necrogoyf.txt 2021-06-04 15:52:33 +00:00
John
edfbc6ac95 Update wrens_run_hydra.txt 2021-06-04 15:52:13 +00:00
Michael Kamensky
a23a1fa928 Merge branch 'handcount' into 'master'
Fix full fizzling for targeted players & SA

See merge request core-developers/forge!4817
2021-06-04 15:39:04 +00:00
John
8b2bb48dbc Add new file 2021-06-04 15:34:24 +00:00
John
930183b0aa Add new file 2021-06-04 15:33:36 +00:00
John
bfbf1c5e71 Add new file 2021-06-04 15:32:27 +00:00
John
67684ee0e6 Add new file 2021-06-04 15:31:22 +00:00
John
336ccd2ec4 Add new file 2021-06-04 14:34:15 +00:00
John
21f4a79dd5 Upload New File 2021-06-04 14:33:37 +00:00
John
3e94b2854c Upload New File 2021-06-04 14:33:06 +00:00
leriomaggio
9539060404 Merge remote-tracking branch 'upstream/master' into patch-imagefetcher-scryfall 2021-06-04 15:20:59 +01:00
leriomaggio
9f73524dd9 ImageFetcher now uses scryfallCode instead of testing URLs to fetch images. 2021-06-04 15:20:44 +01:00
leriomaggio
321360e180 Added new ScryfallCode to CardEdition (used by ImageFetcher) 2021-06-04 15:20:21 +01:00
leriomaggio
8ac3d0a2a6 Adding new ScryfallCode for all the 404 out of 486 editions found on Scryfall
There are still 82 editions to be matched manually.
2021-06-04 15:06:36 +01:00
John
b80118c6d0 Update specimen_collector.txt 2021-06-04 12:56:37 +00:00
John
d795812fd4 Update specimen_collector.txt 2021-06-04 12:44:45 +00:00
John
aa945e491c Add new file 2021-06-04 12:41:22 +00:00
John
1e566808cb Add new file 2021-06-04 12:40:32 +00:00
John
6eaa1e9edd Add new file 2021-06-04 12:39:50 +00:00
John
a2d53ce217 Add new file 2021-06-04 12:38:56 +00:00
John
39707005bc Add new file 2021-06-04 12:38:20 +00:00
John
dc8d24322f Add new file 2021-06-04 12:37:49 +00:00
John
912ee35721 Add new file 2021-06-04 12:37:18 +00:00
John
9321eea8f8 Add new file 2021-06-04 12:36:26 +00:00
John
347503d96f recalibrate 2021-06-04 12:34:55 +00:00
swordshine
fca3aade63 Merge branch 'restartg' into 'master'
RestartGameEffect: Reset extras turns

See merge request core-developers/forge!4821
2021-06-04 11:19:43 +00:00
tool4EvEr
a2cd1fa8ef Reset extras after restart 2021-06-04 12:46:40 +02:00
Michael Kamensky
d9db3a6edf Merge branch 'fixpay' into 'master'
Fix source of manapool for payment of second human

See merge request core-developers/forge!4815
2021-06-04 03:55:22 +00:00
Michael Kamensky
1d749eba48 Merge branch 'entwine' into 'master'
Entwine reminder text

See merge request core-developers/forge!4818
2021-06-04 03:55:02 +00:00
Michael Kamensky
22917b7e0a Merge branch 'caprichrome' into 'master'
MH2: Caprichrome with necessary Devour keyword tweaks

See merge request core-developers/forge!4811
2021-06-04 03:54:47 +00:00
Michael Kamensky
e4ca35cae8 Merge branch 'fix' into 'master'
tiamat.txt fix

See merge request core-developers/forge!4820
2021-06-04 03:54:13 +00:00
Michael Kamensky
0c74ee2602 Merge branch 'cardupdates' into 'master'
Small card updates

See merge request core-developers/forge!4819
2021-06-04 03:53:59 +00:00
Michael Kamensky
40e533d9d8 Merge branch 'Williams-master-patch-03324' into 'master'
MH2 Contributions 02/06

See merge request core-developers/forge!4807
2021-06-04 03:53:22 +00:00
Northmoc
01f4bb9494 tiamat.txt fix 2021-06-03 18:38:31 -04:00
tool4EvEr
e386c8e87c Update X 2021-06-03 23:43:32 +02:00
tool4EvEr
bf3b1b03e8 Update card 2021-06-03 23:18:41 +02:00
tool4EvEr
a69c1534f6 Small card updates 2021-06-03 22:22:08 +02:00
Northmoc
41671d7acf caprichrome.txt add AI hints 2021-06-03 16:18:16 -04:00
Northmoc
a909fc1fa8 CardFactoryUtil expand Devour keyword possibilities 2021-06-03 16:18:15 -04:00
Northmoc
919a49b22e Card.java override reminder text for Devouring non-creature stuff 2021-06-03 16:18:15 -04:00
Northmoc
9ae599cf05 caprichrome.txt 2021-06-03 16:18:14 -04:00
Northmoc
5aad37c613 Entwine reminder text 2021-06-03 16:07:29 -04:00
tool4EvEr
69e580e37d Fix full fizzling 2021-06-03 21:09:16 +02:00
tool4EvEr
c735195d33 Fix source of manapool for payment of second human 2021-06-03 19:16:27 +02:00
John
857f0d2dcc Update wavesifter.txt 2021-06-03 14:41:12 +00:00
John
9b6e1f4c64 Update lazotep_chancellor.txt 2021-06-03 14:40:51 +00:00
John
8a41b35317 Update foundry_helix.txt 2021-06-03 14:40:30 +00:00
Michael Kamensky
f08cb0f0b5 Merge branch 'activation' into 'master'
ActivationTable: Fix NPE for triggers without OverridingAbility

Closes #1859

See merge request core-developers/forge!4799
2021-06-03 14:07:15 +00:00
Michael Kamensky
bbf1e373ad Merge branch 'fixstuff' into 'master'
Some smaller fixes

Closes #1868

See merge request core-developers/forge!4806
2021-06-03 14:02:50 +00:00
tool4EvEr
069403ab6c Clean up 2021-06-03 14:22:56 +02:00
Tim Mocny
73ac435b92 Merge branch 'editions' into 'master'
MH2 and RMH1 updates

See merge request core-developers/forge!4812
2021-06-03 12:13:05 +00:00
Tim Mocny
4b439dc7bb Merge branch 'boon' into 'master'
skyblades_boon.txt fix

See merge request core-developers/forge!4813
2021-06-03 12:12:44 +00:00
Northmoc
4c7879f423 skyblades_boon.txt fix 2021-06-03 08:10:51 -04:00
tool4EvEr
fc7540ed1e Fix multiplayer rulings (count player who lost) 2021-06-03 11:52:37 +02:00
tool4EvEr
08fd9b98c8 Fix missing sub 2021-06-03 11:19:50 +02:00
tool4EvEr
1af8cee719 Fix crash on payment with Channel 2021-06-03 10:39:50 +02:00
John
ca6c9c454d Add new file 2021-06-03 08:25:22 +00:00
John
8adcc14422 Add new file 2021-06-03 08:24:56 +00:00
John
65777750ab Add new file 2021-06-03 08:24:31 +00:00
John
96b437c0b4 Add new file 2021-06-03 08:24:01 +00:00
John
d3ae5c38d9 Add new file 2021-06-03 08:23:26 +00:00
John
c6452b2fea Add new file 2021-06-03 08:23:01 +00:00
John
caf1900484 Add new file 2021-06-03 08:22:30 +00:00
John
2e79d34f75 Add new file 2021-06-03 08:22:03 +00:00
John
28566c4272 Add new file 2021-06-03 08:21:34 +00:00
John
28fd2d18fa Add new file 2021-06-03 08:20:44 +00:00
John
df7ce97d40 Add new file 2021-06-03 08:20:16 +00:00
John
5b2504ba3f Add new file 2021-06-03 08:19:51 +00:00
John
cbf4d17c7f Add new file 2021-06-03 08:18:35 +00:00
John
642ba05dcf Add new file 2021-06-03 08:18:08 +00:00
John
b2b5e87aed Add new file 2021-06-03 08:17:47 +00:00
John
3562f3192f Add new file 2021-06-03 08:17:19 +00:00
John
e58d8b35b8 Add new file 2021-06-03 08:16:53 +00:00
John
2761a3778a Add new file 2021-06-03 08:16:21 +00:00
John
1eaa8d9b67 Add new file 2021-06-03 08:15:57 +00:00
John
169b292301 Add new file 2021-06-03 08:15:21 +00:00
John
249cfdb78d Add new file 2021-06-03 08:14:53 +00:00
John
3f34e17bd4 Add new file 2021-06-03 08:14:29 +00:00
tool4EvEr
196b48cbd3 Reduce FailedToTarget scenario 2021-06-03 10:14:16 +02:00
John
01bfa59c6a Update sythis_harvests_hand.txt 2021-06-03 07:51:46 +00:00
John
a921ef1ec7 Update goblin_traprunner.txt 2021-06-03 07:51:19 +00:00
John
d30f2b9d16 Update hard_evidence.txt 2021-06-03 07:50:58 +00:00
John
8f887e5242 Update goblin_traprunner.txt 2021-06-03 07:50:39 +00:00
John
f742a65af8 Update captain_ripley_vance.txt 2021-06-03 07:50:17 +00:00
John
868ba6d232 Update floodhound.txt 2021-06-03 07:49:58 +00:00
paul_snoops
47384bec0e MH2 and RMH1 updates 2021-06-03 08:29:26 +01:00
Michael Kamensky
2144de87d4 Merge branch 'velus' into 'master'
MH2: Mount Velus Manticore and support

See merge request core-developers/forge!4809
2021-06-03 05:15:59 +00:00
Michael Kamensky
7a3c9c5b49 Merge branch 'sojourn' into 'master'
MH2: Sojourner's Companion w/ updates to TypeCycling to parse "Artifact.Land"

See merge request core-developers/forge!4810
2021-06-03 05:15:34 +00:00
Michael Kamensky
df35468771 Merge branch 'mh2_2' into 'master'
MH2 - 2 June

See merge request core-developers/forge!4805
2021-06-03 05:14:59 +00:00
Northmoc
5ac9d3fdff AbilityUtils support for Count$CardNumTypes / Count$RememberedCardNumTypes 2021-06-02 15:52:41 -04:00
Northmoc
de73ed1986 mount_velus_manticore.txt 2021-06-02 15:51:13 -04:00
Northmoc
da2a92b74a CardFactoryUtil prep TypeCycling for Artifact landcycling 2021-06-02 15:06:29 -04:00
Northmoc
9aba2db8ce KeywordWithCostAndType.java set artifact landcycling for reminder text 2021-06-02 15:05:30 -04:00
Northmoc
5141be475b sojourners_companion.txt 2021-06-02 15:04:38 -04:00
John
9f8e7616d1 Delete chitterspitter.txt 2021-06-02 17:03:13 +00:00
John
f7c7cdef8c Delete nykthos_paragon.txt 2021-06-02 17:02:59 +00:00
John
98e529304f Add new file 2021-06-02 16:11:23 +00:00
John
c04290493e Add new file 2021-06-02 16:10:28 +00:00
John
12695faba2 Add new file 2021-06-02 16:09:55 +00:00
John
c1a064e40a Add new file 2021-06-02 16:09:06 +00:00
John
7798594071 Add new file 2021-06-02 16:04:16 +00:00
John
34281c2850 Add new file 2021-06-02 16:03:29 +00:00
John
17365a6e2c Add new file 2021-06-02 16:02:40 +00:00
John
9b150e3263 Add new file 2021-06-02 16:01:56 +00:00
John
a1648c70c6 Add new file 2021-06-02 16:01:11 +00:00
John
1a0aa37992 Add new file 2021-06-02 15:59:28 +00:00
John
ad4772ba01 Add new file 2021-06-02 15:55:32 +00:00
John
78b6e16eb3 Add new file 2021-06-02 15:54:59 +00:00
John
682c61d025 Add new file 2021-06-02 15:54:29 +00:00
Northmoc
b026479f78 gaeas_will.txt tidy 2021-06-02 11:54:07 -04:00
John
1d6fbba6d2 Add new file 2021-06-02 15:53:41 +00:00
John
142a47346d Add new file 2021-06-02 15:51:36 +00:00
John
406d1023e8 Add new file 2021-06-02 15:49:57 +00:00
John
895db0526b Add new file 2021-06-02 15:49:16 +00:00
John
d2ecf48af9 Add new file 2021-06-02 15:48:20 +00:00
John
edca8bec50 Add new file 2021-06-02 15:47:16 +00:00
John
b99571c28f Add new file 2021-06-02 15:46:43 +00:00
John
70d9d9273b Add new file 2021-06-02 15:45:59 +00:00
John
bcd0b0cd46 Add new file 2021-06-02 15:44:37 +00:00
John
49238a1283 Add new file 2021-06-02 15:43:32 +00:00
John
7a11129a5e Add new file 2021-06-02 15:41:56 +00:00
Northmoc
395fc13142 blossoming_calm.txt (medusa) 2021-06-02 11:35:14 -04:00
tool4EvEr
3b594d239c Update script 2021-06-02 17:30:31 +02:00
Northmoc
e7701ee0f9 rw_4_4_golem.txt for General Ferrous 2021-06-02 11:27:46 -04:00
Bug Hunter
80e8f5db8a Update goblin_artisans.txt 2021-06-02 06:51:46 +00:00
Michael Kamensky
608eea8e7d Merge branch 'mh2_1' into 'master'
MH2 - 1 June

See merge request core-developers/forge!4804
2021-06-02 04:42:00 +00:00
Michael Kamensky
7dae92b042 Merge branch 'fixing' into 'master'
Card fixes

Closes #1866

See merge request core-developers/forge!4803
2021-06-02 04:41:15 +00:00
Northmoc
62bc67cbe1 blacksmiths_skill.txt (Suthro) 2021-06-01 19:17:55 -04:00
Northmoc
fbcbf0afe5 barbed_spike.txt (Suthro) 2021-06-01 19:13:50 -04:00
Northmoc
6b06873568 arcbound_javelineer.txt (medusa) 2021-06-01 19:10:18 -04:00
Northmoc
2007a8d05c kaleidoscorch.txt 2021-06-01 18:53:51 -04:00
Northmoc
1007772ef3 funnel_web_recluse.txt 2021-06-01 18:53:19 -04:00
Northmoc
23785ea8b6 add AI hint 2021-06-01 18:52:58 -04:00
Northmoc
10a6b43a97 tavern_scoundrel.txt 2021-06-01 18:39:12 -04:00
Northmoc
72e1d8177c ornithopter_of_paradise.txt 2021-06-01 18:38:53 -04:00
tool4EvEr
6ab9bfa0fa Add pump 2021-06-01 22:33:49 +02:00
tool4EvEr
faeb73d8b7 Clean up 2021-06-01 22:29:15 +02:00
tool4EvEr
beff3d4832 Fix Runaway Carriage 2021-06-01 22:11:01 +02:00
tool4EvEr
29a4fdb47a prevent StackDescription from revealing face 2021-06-01 21:47:58 +02:00
tool4EvEr
931411b6e4 Fix Wandering Archaic 2021-06-01 18:38:26 +02:00
tool4EvEr
8157172a9f Fix City in a Bottle 2021-06-01 17:53:53 +02:00
Michael Kamensky
5ac73d9f90 Merge branch 'fix-deck-editor-custom-editions-image-view' into 'master'
Improvements to Deck Editor for Custom Editions

See merge request core-developers/forge!4796
2021-06-01 04:26:05 +00:00
Michael Kamensky
27085243c4 Merge branch 'historic-formats' into 'master'
Update the "historic" formats

See merge request core-developers/forge!4802
2021-06-01 04:25:39 +00:00
Michael Kamensky
16b2fd93d8 Merge branch 'spellcast' into 'master'
Fix missing intrinsic Cast trigger from copied host

See merge request core-developers/forge!4754
2021-06-01 04:25:28 +00:00
Bug Hunter
edce6ed9e8 Fix missing intrinsic Cast trigger from copied host 2021-06-01 04:25:27 +00:00
Rob Schnautz
e9b6db6994 erroneous date/name 2021-05-31 20:30:24 +00:00
Rob Schnautz
f5a1671e86 Catching up old formats 2021-05-31 20:04:04 +00:00
leriomaggio
7cfb37a116 Make constructor w/ collectorNumber robust for non-existing cards. 2021-05-31 20:54:17 +01:00
leriomaggio
96aebcb0de updated code with new pref. UI_PREFERRED_CARD_FRAME 2021-05-31 20:49:33 +01:00
leriomaggio
2fbb9ecc5a UI_PREFERRED_ART renamed in UI_PREFERRED_CARD_FRAME 2021-05-31 20:45:59 +01:00
leriomaggio
de805681b2 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-31 20:44:39 +01:00
leriomaggio
560d8ec5c0 Refactored duplicate code in StaticData w/ new getCardEdition method
StaticData now includes a new method, namely `getCardEdition` which looks for a CardEdition instance into editions and customeditions given an input set code.

This new method has been refactored and used throughout the new changes in Advanced Search and Filters.
2021-05-31 19:57:33 +01:00
leriomaggio
4e7a3fe515 Updated Chinese translation after CCTV-1 suggestions in MR comments 2021-05-31 19:30:43 +01:00
leriomaggio
1ac28b5203 Merge remote-tracking branch 'upstream/master' into fix-deck-editor-custom-editions-image-view 2021-05-31 19:25:20 +01:00
Michael Kamensky
9b69d79a78 Merge branch 'Williams-master-patch-60436' into 'master'
MH2 Contributions 30/05

See merge request core-developers/forge!4801
2021-05-31 16:53:19 +00:00
John
9e78a4ef99 Update tireless_provisioner.txt 2021-05-31 13:17:30 +00:00
John
8d2ef41d54 Update tide_shaper.txt 2021-05-31 13:17:03 +00:00
John
c507e960fd Update thought_monitor.txt 2021-05-31 13:16:05 +00:00
John
490f700e37 Update skyblades_boon.txt 2021-05-31 13:15:47 +00:00
John
355f379f21 Update combine_chrysalis.txt 2021-05-31 13:13:34 +00:00
Michael Kamensky
e69f8a2e7a Merge branch 'fixes' into 'master'
Some card fixes

Closes #1860

See merge request core-developers/forge!4798
2021-05-31 11:10:12 +00:00
Bug Hunter
450d5b6144 Some card fixes 2021-05-31 11:10:11 +00:00
John
41fdc485b4 Add new file 2021-05-31 10:33:54 +00:00
John
4d25aee6dc Add new file 2021-05-31 10:33:16 +00:00
John
46574f8137 Add new file 2021-05-31 10:32:35 +00:00
John
71cbd1221b Add new file 2021-05-31 10:31:22 +00:00
John
7386a9b614 Add new file 2021-05-31 10:30:50 +00:00
John
d5cfc39744 Add new file 2021-05-31 10:29:35 +00:00
leriomaggio
8a1770ffda FIX Editions in Checkboxlist sorted (latest to earliest) 2021-05-31 11:19:08 +01:00
leriomaggio
01e51ecb73 Custom Editions are now included in Advanced Search Filters 2021-05-31 10:45:49 +01:00
leriomaggio
43a62813e6 Custom Editions are now included in GameFormat when checking for sets 2021-05-31 10:44:48 +01:00
leriomaggio
1b25438fca New Extra Panel with Checkbox list for Custom Edition
Besides: since Custom Editions can be sometimes not that many, the number of displayed rows in Checkbox lists has been fixed to 20 to have all panels of same height.
2021-05-31 10:39:31 +01:00
leriomaggio
5858de4860 ColumnDef now includes Custom Editionsi in sorting 2021-05-31 10:36:11 +01:00
leriomaggio
8128a3374b New Label for Other and Custom Sets for Advanced Filter Panel 2021-05-31 10:35:23 +01:00
leriomaggio
32cc860eda Changed getSortedEditions to now also include Custom Sets 2021-05-31 10:18:21 +01:00
leriomaggio
03d6687c64 Merge remote-tracking branch 'upstream/master' into fix-deck-editor-custom-editions-image-view 2021-05-31 09:12:32 +01:00
Michael Kamensky
51924d16db Merge branch 'scrolling' into 'master'
Workshop: Add scrollbars

Closes #6

See merge request core-developers/forge!4800
2021-05-31 06:43:25 +00:00
Michael Kamensky
cd167313b7 Merge branch 'Williams-master-patch-52159' into 'master'
MH2 Contributions 29/05

See merge request core-developers/forge!4793
2021-05-31 06:43:12 +00:00
John
365142c860 MH2 Contributions 29/05 2021-05-31 06:43:11 +00:00
Michael Kamensky
990f6f148a Merge branch 'refactor_replace_damage_buffered' into 'master'
Refactor replace damage to buffer SA execution

See merge request core-developers/forge!4797
2021-05-31 06:41:17 +00:00
Alumi
1eb6f33207 Refactor replace damage to handle all damage related replacments first, then run all buffered SAs after 2021-05-31 06:41:16 +00:00
tool4EvEr
2d23a5b37d Add scrollbars 2021-05-30 22:26:35 +02:00
tool4EvEr
65f400cf46 Fix NPE 2021-05-30 18:34:44 +02:00
Michael Kamensky
84dfdfc11c Merge branch 'mh2_29' into 'master'
MH2 - 29 May

See merge request core-developers/forge!4795
2021-05-30 05:36:47 +00:00
Michael Kamensky
ecb1cb8a0e Merge branch 'cleaning' into 'master'
Fix mana not replaced when generated for different player

See merge request core-developers/forge!4794
2021-05-30 05:36:23 +00:00
Michael Kamensky
b9a8da1231 Merge branch 'junk' into 'master'
Junk Winder - Affinity detail/reminder text updates for more complex affinities

See merge request core-developers/forge!4787
2021-05-30 05:36:19 +00:00
Michael Kamensky
27c9bee138 Merge branch 'patch-sortable-collector-number-non-numerical' into 'master'
FIX non-numerical CollectorNumber as Sorting Key

See merge request core-developers/forge!4789
2021-05-30 05:36:09 +00:00
leriomaggio
9902718082 FIX and Impros to CardEdition, CardInSet and Reader
- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
2021-05-30 05:36:09 +00:00
Michael Kamensky
270ab5e843 Merge branch 'untapp' into 'master'
avoid pumping opponent creature

Closes #1134

See merge request core-developers/forge!4792
2021-05-30 05:23:56 +00:00
leriomaggio
62961889d5 Fixed typo in Label Name: RepRints (r missing) 2021-05-30 02:05:09 +01:00
leriomaggio
0217c4b4b2 Support collectorNumber for Cards in Custom sets
retrieveCollectorNumber now also considers customEditions when looking for the matching collectorNumber of a PaperCard instance.
2021-05-30 00:21:05 +01:00
leriomaggio
1c950a8a57 ImageView now includes also CustomEditions in Sets Map
This fix solves an issue with Custom Editions appearing as "Other" in ImageView. The bug was due to customEditions not being included in sets map.
2021-05-29 23:43:47 +01:00
leriomaggio
f5563ccedb New method to return the Collection of Custom Editions 2021-05-29 23:42:34 +01:00
Northmoc
0672477817 moderation.txt 2021-05-29 17:08:29 -04:00
Northmoc
c28a1f740e nettlecyst.txt 2021-05-29 16:59:12 -04:00
Northmoc
e0f3b65251 strike_it_rich.txt 2021-05-29 16:57:16 -04:00
Northmoc
001acda866 fast_furious.txt yank Cost 2021-05-29 16:57:01 -04:00
Northmoc
eb9ceb4dc8 fast_furious.txt 2021-05-29 16:48:42 -04:00
tool4EvEr
d622f9075a Add ValidActivator 2021-05-29 20:59:49 +02:00
Northmoc
76699ad323 batterbone.txt 2021-05-29 11:14:43 -04:00
tool4EvEr
a5fc5c1e40 Fix mana not replaced when generated for different player 2021-05-29 17:06:08 +02:00
Tim Mocny
cb9302b2fe Merge branch 'svyelun' into 'master'
Svyelun name fix

See merge request core-developers/forge!4791
2021-05-29 15:04:32 +00:00
Northmoc
254ddf8dfb KeywordWithType.java special parsing for Affinity 2021-05-29 11:00:36 -04:00
Northmoc
4995cc8876 CardFactoryUtil.java implement optional additional param for complex Affinities 2021-05-29 10:59:15 -04:00
Northmoc
1f120a7faf Affinity reminder text remove extra "you" 2021-05-29 10:58:42 -04:00
Northmoc
4411910930 junk_winder.txt fix and add to keyword 2021-05-29 10:53:41 -04:00
tool4EvEr
931dc04ad2 avoid pumping opponent creature 2021-05-29 12:01:10 +02:00
paul_snoops
e6b390addc Svyelun name fix 2021-05-29 10:55:46 +01:00
paul_snoops
a4027c0ad8 Svyelun name fix 2021-05-29 10:47:52 +01:00
Bug Hunter
3451fbf42a Merge branch 'rename' into 'master'
Fix card filename

See merge request core-developers/forge!4790
2021-05-29 09:01:44 +00:00
tool4EvEr
65e3c24de6 Fix card filename 2021-05-29 11:01:45 +02:00
leriomaggio
bf6abe495f Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-29 09:11:10 +01:00
Michael Kamensky
90e74c1c3a Merge branch 'Williams-master-patch-93999' into 'master'
MH2 Contributions 28/05

See merge request core-developers/forge!4781
2021-05-29 06:54:18 +00:00
Michael Kamensky
4610729a82 Merge branch 'patch-imagefetcher-scryfall' into 'master'
FIX ImageFetcher against Scryfall, so that download can be robust (against different set-codes) and reliable.

See merge request core-developers/forge!4788
2021-05-29 06:54:06 +00:00
Michael Kamensky
ab8c2c8b10 Merge branch 'mh2_28' into 'master'
MH2 - 28 May

See merge request core-developers/forge!4786
2021-05-29 06:53:50 +00:00
Michael Kamensky
bf0a5e13ae Merge branch 'fix' into 'master'
Fixes!

See merge request core-developers/forge!4785
2021-05-29 06:52:24 +00:00
Northmoc
e4f8f7852f naya_soulbeast.txt fix 2021-05-28 21:47:27 -04:00
leriomaggio
348365b8fd Merge remote-tracking branch 'upstream/master' into patch-imagefetcher-scryfall 2021-05-28 23:30:06 +01:00
leriomaggio
5c2f62defa FIX Scryfall Download retrieval, that is robust with different set-codes.
Imagefetcher now tries MCI code first and if that's not working, tries other set codes until one matching scryfall will be found. If none, the not-working set will be recorded to avoid future computation, and returns.
2021-05-28 23:29:29 +01:00
Northmoc
bd5a98fe13 academy_manufactor.txt 2021-05-28 17:01:44 -04:00
Northmoc
8a0da67705 crawling_barrens.txt tidy up StackDesc 2021-05-28 17:01:14 -04:00
Northmoc
479cbbf671 suspend.txt tighten up, add AI 2021-05-28 17:00:57 -04:00
Northmoc
6708ca00b5 suspend.txt fixup 2021-05-28 16:59:37 -04:00
John
53e08bbf55 Update verdant_command.txt 2021-05-28 20:25:53 +00:00
John
d389050a66 Update underworld_hermit.txt 2021-05-28 20:25:36 +00:00
John
5d4f628b8b Update tourach_dread_cantor.txt 2021-05-28 20:25:19 +00:00
John
2ecbd26477 Update sweep_the_skies.txt 2021-05-28 20:25:01 +00:00
John
427e0d895f Update svyelun_of_sea_and_sky.txt 2021-05-28 20:24:42 +00:00
John
dfb86d40a5 Update squirrel_mob.txt 2021-05-28 20:24:20 +00:00
John
b08c7cc9e6 Update scuttletide.txt 2021-05-28 20:24:01 +00:00
John
2bbe9464b8 Update necromancers_familiar.txt 2021-05-28 20:23:43 +00:00
John
ef5937d5ee Update grist_the_hunger_tide.txt 2021-05-28 20:23:24 +00:00
John
289846a53a Update grist_the_hunger_tide.txt 2021-05-28 20:22:43 +00:00
John
6bc361bd0c Update feast_of_sanity.txt 2021-05-28 20:22:15 +00:00
John
47274b0085 Update breyas_apprentice.txt 2021-05-28 20:21:41 +00:00
Northmoc
d3ebd83c32 angelic_arbiter.txt correct param 2021-05-28 14:40:34 -04:00
leriomaggio
b076a57811 New utility method to compose Scryfall Download url that is compliant with new API specs 2021-05-28 19:19:08 +01:00
Tim Mocny
e9285ad46d Merge branch 'editions' into 'master'
MH2 & RMH1 edition updates

See merge request core-developers/forge!4784
2021-05-28 17:55:46 +00:00
Paul Hammerton
5d91a1159e MH2 & RMH1 edition updates 2021-05-28 17:55:46 +00:00
John
ee65c22a40 Add new file 2021-05-28 16:08:31 +00:00
John
1cb5c9a711 Add new file 2021-05-28 16:08:01 +00:00
John
f22a3e081d Add new file 2021-05-28 16:07:19 +00:00
John
fff6a529e5 Add new file 2021-05-28 16:06:37 +00:00
John
2260957b00 Add new file 2021-05-28 16:05:55 +00:00
Michael Kamensky
42c845bb72 Merge branch 'collector-number-in-card-list-and-card-db-refactoring' into 'master'
Improvement to Performance to CardEdition, and FIX bug for non-existing cards.

See merge request core-developers/forge!4783
2021-05-28 15:37:45 +00:00
leriomaggio
8b7ae19508 FIX and Impros to CardEdition, CardInSet and Reader
- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
2021-05-28 15:37:44 +00:00
Michael Kamensky
c13274d0a7 Merge branch 'editions' into 'master'
AFR, MH2 & RMH1 edition updates

See merge request core-developers/forge!4778
2021-05-28 15:36:18 +00:00
Michael Kamensky
2a424ca3a9 Merge branch 'wave' into 'master'
Fix Parallax Wave

Closes #1853

See merge request core-developers/forge!4774
2021-05-28 15:35:21 +00:00
Bug Hunter
8effb2cb76 Fix Parallax Wave 2021-05-28 15:35:21 +00:00
Michael Kamensky
a03ce0e82c Merge branch 'fix_mutated_flip' into 'master'
Fix bug that can't flip or transform when mutated

See merge request core-developers/forge!4782
2021-05-28 15:34:27 +00:00
John
c0913a1b05 Add new file 2021-05-28 15:28:06 +00:00
John
f504581468 Add new file 2021-05-28 15:27:31 +00:00
John
f4528151ac Add new file 2021-05-28 15:26:24 +00:00
John
2475ea9ec9 Add new file 2021-05-28 15:25:47 +00:00
John
cc380a99f1 Add new file 2021-05-28 15:22:02 +00:00
John
7c34720cf7 Add new file 2021-05-28 15:21:17 +00:00
John
6debbe6853 Add new file 2021-05-28 15:18:18 +00:00
leriomaggio
aaf5fdd2ff This resolves an issue when hashing NON-existing cards.
Hash code now considers collectorNumber, which is retrieved from card edition, if not available. For non existing cards, the edition won't be found (null return) which resulted in a NPE.

This patch addresses this situation.
In future, this method will be removed, and PaperCard created directly with corresponding collectorNumber from CardInSet.
2021-05-28 16:02:35 +01:00
leriomaggio
ea5f9d30ea Simplified definition of cardsInSet for CardEdition
The ArrayList of Cards in a Single edition (that needs to be sorted) will be initalised and sorted **only** once now, directly in the constructor.
CardEdition has no API to change content of Cards in Edition, and the **only** write access to structure happen in the constructor. Therefore, these two structures should not need to be kept aligned.

This extra ArrayList is useful whenever an iteration over all the cards in a set is needed. This iteration will proceed in order, as this might be crucial (esp. for ArtIndex assignment at load time).
2021-05-28 16:00:30 +01:00
paul_snoops
d9cf784498 AFR, MH2 & RMH1 edition updates 2021-05-28 15:47:14 +01:00
John
12b8ec740b Add new file 2021-05-28 14:22:43 +00:00
paul_snoops
ff6d492857 AFR, MH2 & RMH1 edition updates 2021-05-28 15:11:21 +01:00
paul_snoops
4ea29526b1 AFR, MH2 & RMH1 edition updates 2021-05-28 14:16:06 +01:00
paul_snoops
aae3772a3a AFR, MH2 & RMH1 edition updates 2021-05-28 14:05:30 +01:00
paul_snoops
3639ced11f AFR, MH2 & RMH1 edition updates 2021-05-28 13:43:17 +01:00
John
a5dfcd4eb6 Add new file 2021-05-28 12:33:05 +00:00
John
204191973e Add new file 2021-05-28 12:32:01 +00:00
John
39b55f9045 Add new file 2021-05-28 12:30:39 +00:00
John
f02bb9d4ba Add new file 2021-05-28 12:29:47 +00:00
John
8b897c8a55 Add new file 2021-05-28 12:29:23 +00:00
John
f25bc35ee3 Add new file 2021-05-28 12:28:27 +00:00
John
81a41fb941 Update TypeLists.txt 2021-05-28 12:23:09 +00:00
John
c714ac2175 Add new file 2021-05-28 12:21:51 +00:00
John
f131bcb0d9 Add new file 2021-05-28 12:19:40 +00:00
John
07627b9320 Add new file 2021-05-28 12:18:56 +00:00
John
f32dab48a4 Add new file 2021-05-28 12:18:32 +00:00
John
61abb8cf0d Add new file 2021-05-28 12:17:47 +00:00
Lyu Zong-Hong
bbbee3421d Fix bug that can't flip or transform when mutated 2021-05-28 21:17:24 +09:00
John
972a79309b Add new file 2021-05-28 12:17:00 +00:00
John
d318606102 Add new file 2021-05-28 12:16:34 +00:00
John
8b057ea199 Add new file 2021-05-28 12:16:02 +00:00
John
edaa9f885a Add new file 2021-05-28 12:15:31 +00:00
paul_snoops
616760cbbb MH2 & RMH1 edition updates 2021-05-28 13:14:44 +01:00
paul_snoops
6a120f5839 MH2 & RMH1 edition updates 2021-05-28 13:11:35 +01:00
John
3fa7546ba6 Add new file 2021-05-28 11:34:59 +00:00
John
b7fd4d094c Add new file 2021-05-28 11:34:35 +00:00
John
fb92e06d62 Add new file 2021-05-28 11:34:08 +00:00
John
744573817a Add new file 2021-05-28 11:33:40 +00:00
John
b84dc7b721 Add new file 2021-05-28 11:33:10 +00:00
John
e88191c54a Add new file 2021-05-28 11:32:40 +00:00
John
a32bc8c378 Add new file 2021-05-28 11:32:12 +00:00
John
cb5be7cec7 Add new file 2021-05-28 11:31:40 +00:00
John
209eb9c397 Add new file 2021-05-28 11:31:10 +00:00
John
58b6b1cd0c Add new file 2021-05-28 11:30:05 +00:00
paul_snoops
b8c27ec2a9 MH2 & RMH1 edition updates 2021-05-28 12:20:44 +01:00
leriomaggio
666fa5e926 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-28 12:16:25 +01:00
Anthony Calosa
a17c42e07e Merge branch 'kevlahnota-master-patch-91638' into 'master'
unused import

See merge request core-developers/forge!4780
2021-05-28 10:20:32 +00:00
Anthony Calosa
cb9a2d7b8b unused import 2021-05-28 10:20:13 +00:00
Anthony Calosa
a7b215fa19 Merge branch 'kevlahnota-master-patch-18523' into 'master'
Update FileUtil.java

See merge request core-developers/forge!4779
2021-05-28 10:12:15 +00:00
Anthony Calosa
367170d33b Update FileUtil.java 2021-05-28 10:10:54 +00:00
paul_snoops
695cb1496d MH2 & RMH1 edition updates 2021-05-28 10:20:20 +01:00
leriomaggio
ec1d6c539e Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-28 10:20:16 +01:00
Michael Kamensky
741ca2646e Merge branch 'read_file_with_utf8' into 'master'
Update FileUtil.readFile to use UTF-8 charset to read files.

See merge request core-developers/forge!4777
2021-05-28 08:59:54 +00:00
Michael Kamensky
2ac4b923fe Merge branch 'vectis' into 'master'
MH2: Vectis Gloves and support

See merge request core-developers/forge!4772
2021-05-28 08:59:01 +00:00
Michael Kamensky
cac15b1436 Merge branch 'taste' into 'master'
MH2: Discerning Taste and Support

See merge request core-developers/forge!4770
2021-05-28 08:57:41 +00:00
Michael Kamensky
e77281cfb6 Merge branch 'patch-content-downloader-macos' into 'master'
FIX annoying bug increasing display brightness on macOS when starting content downloader

See merge request core-developers/forge!4768
2021-05-28 08:57:09 +00:00
Lyu Zong-Hong
81d0a71060 Update FileUtil.readFile to use UTF-8 charset to read files. 2021-05-28 17:25:12 +09:00
leriomaggio
66cb1c28f7 Switched to F1 - should be less annoying than F2 2021-05-28 07:05:06 +01:00
Michael Kamensky
051e3eb922 Merge branch 'mh2_27' into 'master'
MH2 - 27 May

See merge request core-developers/forge!4776
2021-05-28 03:39:34 +00:00
Michael Kamensky
bd93dd543e Merge branch 'drainlife' into 'master'
Fix Drain Life

Closes #1854

See merge request core-developers/forge!4775
2021-05-28 03:38:26 +00:00
Michael Kamensky
1382ef1724 Merge branch 'Williams-master-patch-31829' into 'master'
MH2 Contributions 27/05

See merge request core-developers/forge!4773
2021-05-28 03:38:07 +00:00
Michael Kamensky
6004850792 Merge branch 'fix' into 'master'
Various card fixes

See merge request core-developers/forge!4769
2021-05-28 03:36:15 +00:00
Northmoc
79d43f76b3 harmonic_prodigy.txt 2021-05-27 20:47:11 -04:00
Northmoc
d387287a04 dermotaxi.txt 2021-05-27 20:36:07 -04:00
Northmoc
413e209b0b out_of_time.txt 2021-05-27 19:50:08 -04:00
Northmoc
1124069e52 calibrated_blast.txt 2021-05-27 18:54:47 -04:00
tool4EvEr
3d0009f23e Fix Drain Life 2021-05-27 23:32:33 +02:00
John
4df0cf1049 Add new file 2021-05-27 21:03:44 +00:00
John
eb91e10661 Add new file 2021-05-27 21:03:23 +00:00
John
88dbfba282 Add new file 2021-05-27 21:02:43 +00:00
John
f6358f10f2 Add new file 2021-05-27 21:02:03 +00:00
John
51b5c81aac Update so_shiny.txt 2021-05-27 21:00:37 +00:00
Northmoc
20ff40896f infuse_with_vitality.txt fix 2021-05-27 16:47:46 -04:00
John
df78d375fe Update junk_winder.txt 2021-05-27 19:55:53 +00:00
John
206194353c Update arcbound_mouser.txt 2021-05-27 19:55:23 +00:00
John
dcd16704bd Update dress_down.txt 2021-05-27 19:54:26 +00:00
John
2b6b2a5e95 Update arcbound_mouser.txt 2021-05-27 19:53:45 +00:00
John
c767a3b3ad Add new file 2021-05-27 17:11:10 +00:00
John
06a4eac1c9 Add new file 2021-05-27 17:10:27 +00:00
John
ffba3ef18a Add new file 2021-05-27 17:09:41 +00:00
John
1a6d6e1290 Add new file 2021-05-27 17:09:03 +00:00
John
e75dedcffa Add new file 2021-05-27 16:36:16 +00:00
John
a6e50452f0 Add new file 2021-05-27 16:35:40 +00:00
John
008dd2f1d7 Add new file 2021-05-27 16:34:14 +00:00
John
82c3f32a5e Add new file 2021-05-27 16:33:41 +00:00
John
5c0a03e242 Add new file 2021-05-27 16:32:12 +00:00
John
e25ce911ed Add new file 2021-05-27 16:31:46 +00:00
John
b032002c33 Add new file 2021-05-27 16:29:27 +00:00
Northmoc
667bd138c8 bridge cycle (Suthro) 2021-05-27 11:36:07 -04:00
Northmoc
f0f017713e add Artifact landwalk to CombatUtil 2021-05-27 11:13:01 -04:00
Northmoc
331ae6ff44 vectis_gloves.txt 2021-05-27 11:12:27 -04:00
Tim Mocny
ee05f34963 Merge branch 'editions' into 'master'
MH2 & RMH1 edition updates

See merge request core-developers/forge!4771
2021-05-27 14:17:24 +00:00
paul_snoops
2f6aa3dc0f MH2 & RMH1 edition updates 2021-05-27 14:49:29 +01:00
paul_snoops
c9c5ae0058 MH2 & RMH1 edition updates 2021-05-27 14:43:39 +01:00
Northmoc
bff5a13c25 add support for "RememberMovedToZone" to DigEffect 2021-05-27 09:08:52 -04:00
Northmoc
68781783c4 discerning_taste.txt 2021-05-27 09:07:11 -04:00
Northmoc
04ba6bdd7b add Ultimate tag for PW achievements 2021-05-27 08:30:47 -04:00
Michael Kamensky
f557420c7a Merge branch 'collector-number-in-card-list-and-card-db-refactoring' into 'master'
FIX and Improvements to Card Edition Sorting, Cards Processing from Oracle, and Cards Art Index Matching

See merge request core-developers/forge!4756
2021-05-27 10:38:51 +00:00
leriomaggio
8d2d633f6d FIX and Impros to CardEdition, CardInSet and Reader
- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
2021-05-27 10:38:51 +00:00
leriomaggio
39ed24d133 FIX annoying bug increasing display brightness on macOS when starting content downloader 2021-05-27 11:26:28 +01:00
Anthony Calosa
94ec700c78 Merge branch 'kevlahnota-master-patch-24830' into 'master'
Update ChangeTargetsEffect.java

See merge request core-developers/forge!4767
2021-05-27 08:55:13 +00:00
Anthony Calosa
92ac19fa2e Merge branch 'kevlahnota-master-patch-27790' into 'master'
Update CopySpellAbilityEffect.java

See merge request core-developers/forge!4766
2021-05-27 08:55:04 +00:00
Anthony Calosa
c96aeb25e5 Update ChangeTargetsEffect.java 2021-05-27 08:48:52 +00:00
Anthony Calosa
63ebd462b9 Update CopySpellAbilityEffect.java 2021-05-27 08:48:11 +00:00
leriomaggio
80708c6175 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-27 07:40:08 +01:00
Michael Kamensky
68fe024d5a Merge branch 'drawai' into 'master'
Fix drawing negative amounts

See merge request core-developers/forge!4761
2021-05-27 04:25:49 +00:00
Michael Kamensky
12c0207f22 Merge branch 'chefs_kiss' into 'master'
MH2: Chef's Kiss and support

See merge request core-developers/forge!4765
2021-05-27 04:25:33 +00:00
Michael Kamensky
402eade4c2 Merge branch 'fix' into 'master'
binding_the_old_gods.txt fix

See merge request core-developers/forge!4762
2021-05-27 04:25:07 +00:00
Northmoc
c3f88773d2 support for RandomTargetRestriction on ChangeTargetsEffect 2021-05-26 23:36:29 -04:00
Northmoc
5c689ebf9b support for RandomTarget and RandomTargetRestriction on CopySpellAbilityEffect 2021-05-26 23:35:47 -04:00
Northmoc
efa99cb9ac chefs_kiss.txt 2021-05-26 23:33:44 -04:00
swordshine
19a96aac00 Merge branch 'suicide' into 'master'
Wheel of Misfortune: Fix suicide

See merge request core-developers/forge!4755
2021-05-27 01:01:03 +00:00
swordshine
6c84d433f6 Merge branch 'young' into 'master'
MH2: Young Necromancer

See merge request core-developers/forge!4759
2021-05-27 01:00:30 +00:00
swordshine
63c4ab822c Merge branch 'mh2_26' into 'master'
MH2 - 26 May

See merge request core-developers/forge!4763
2021-05-27 00:55:37 +00:00
swordshine
f343397a68 Merge branch 'ezellohar-master-patch-51670' into 'master'
Fixed a few typos and other minor improvements

See merge request core-developers/forge!4764
2021-05-27 00:51:39 +00:00
ezellohar
3993f5a715 Fixed a few typos and other minor improvements 2021-05-26 21:33:15 +00:00
Northmoc
ac66b6ac1b young_necromancer.txt "When you do" 2021-05-26 16:04:56 -04:00
leriomaggio
3ba7bc5e34 ttCN translated as "Numero di Collezione"
Updated translation to align with current WoTC nomenclature, and italian translation.
2021-05-26 21:04:52 +01:00
Northmoc
de5c07d74b the_underworld_cookbook.txt 2021-05-26 15:53:12 -04:00
Northmoc
4f8a9b4d3f asmoranomardicadaistinaculdacar.txt 2021-05-26 15:52:57 -04:00
Northmoc
1e643b3a99 binding_the_old_gods.txt fix 2021-05-26 15:45:10 -04:00
leriomaggio
d6312b85e6 FIX and Impros to CardEdition, CardInSet and Reader
- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
2021-05-26 17:35:11 +01:00
tool4EvEr
eddbe33f2e Fix drawing negative amounts 2021-05-26 18:19:07 +02:00
leriomaggio
2b3c22ca9c Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-26 14:57:12 +01:00
leriomaggio
573a8c0125 Quick fix to restore Lim-Dul (no UNICODE) - darn it not sure how this happened! 2021-05-26 14:56:55 +01:00
Tim Mocny
6b07e07bea Merge branch 'edition_updates' into 'master'
New edition file updates

See merge request core-developers/forge!4757
2021-05-26 13:36:21 +00:00
Northmoc
8ff8502fed young_necromancer.txt 2021-05-26 09:32:46 -04:00
paul_snoops
31ee93a2a0 AFR, RMH1 & MH2 - New cards added
HA5 - Whole set added
SLD - Jumpstart foil lands added

RMH1 & MH2: The occasional collector number may be incorrect but will finalise when whole set is spolied
2021-05-26 14:27:47 +01:00
leriomaggio
0a7e7c8440 Simplified toCollectorPrefix implementation fully based on PaperCard API with NO code duplication. 2021-05-26 13:20:02 +01:00
leriomaggio
f08dddd134 Refactoring APi to reuse CardInSet collectorNumber sorting key strategy 2021-05-26 13:19:24 +01:00
leriomaggio
b0f5ad6429 FIX and Impros to CardEdition, CardInSet and Reader
- Reader has a new updated regexp to deal with non-numerical collectorNumbers
- CardInSet have been now made sortable based on CollectorNumber.
To do so, collectorNumbers are transformed accordingly to allow for natural ordering (as expected) instead of lexicographic order.
- CardEdition now return cards (CardInSet) as sorted, to allow for correct artIndex matching when creating corresponding `PaperCard` instances.
Moreover, `compareTo` of card edition has been improved to also take into account set name (in cases of same release date).
2021-05-26 13:18:43 +01:00
leriomaggio
bc6209f403 Restoring latest fixes to IT translation for CN and Sets 2021-05-26 12:05:06 +01:00
tool4EvEr
ce17685154 Fix suicide 2021-05-26 12:56:16 +02:00
leriomaggio
76583ab016 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-26 11:55:29 +01:00
Bug Hunter
4927e6135d Merge branch 'collector-number-in-card-list-and-card-db-refactoring' into 'master'
Restore Missing entries in Card Edition Resource files

See merge request core-developers/forge!4749
2021-05-26 08:57:46 +00:00
leriomaggio
6725873c8c Restore Missing entries in Card Edition Resource files 2021-05-26 08:57:45 +00:00
leriomaggio
758d7a1444 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-26 09:32:20 +01:00
leriomaggio
7778291d8d Revert to Aether Storm as per comments in MR4749 2021-05-26 09:32:06 +01:00
Bug Hunter
90b1a244a5 Merge branch 'fix_flowstone_shambler' into 'master'
Fix attack pump for Flowstone Shambler and Gateway Shade

See merge request core-developers/forge!4753
2021-05-26 07:30:55 +00:00
leriomaggio
f95fe53cb5 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-26 07:58:08 +01:00
Lyu Zong-Hong
c3a7191f31 Fix attack pump for Flowstone Shambler and Gateway Shade 2021-05-26 14:00:24 +09:00
Michael Kamensky
e3a2a98c2f Merge branch 'mimicvat' into 'master'
Mimic Vat: Update trigger so it doesn't resolve when card moved

See merge request core-developers/forge!4741
2021-05-26 04:34:55 +00:00
Michael Kamensky
35aaafeba6 Merge branch 'fires' into 'master'
Fix Fires of Invention

See merge request core-developers/forge!4736
2021-05-26 04:34:29 +00:00
Michael Kamensky
0c9d3c9152 Merge branch 'update-nassari' into 'master'
Update nassari

See merge request core-developers/forge!4752
2021-05-26 04:33:25 +00:00
Michael Kamensky
6a93608427 Merge branch 'yusri' into 'master'
MH2: Yusri and support

See merge request core-developers/forge!4750
2021-05-26 04:32:52 +00:00
Michael Kamensky
c2b84ce240 Merge branch 'mh2_25' into 'master'
MH2 - 25 May

See merge request core-developers/forge!4748
2021-05-26 04:32:21 +00:00
Michael Kamensky
e6b876314c Merge branch 'void' into 'master'
MH2: Void Mirror and support

See merge request core-developers/forge!4747
2021-05-26 04:31:48 +00:00
Michael Kamensky
9cb73fe9fc Merge branch 'mh2_24' into 'master'
MH2 - 24 May

See merge request core-developers/forge!4746
2021-05-26 04:30:44 +00:00
Michael Kamensky
f4f0ae990f Merge branch 'Williams-master-patch-29065' into 'master'
MH2/AFR Contributions

See merge request core-developers/forge!4740
2021-05-26 04:30:21 +00:00
Michael Kamensky
50c314af7d Merge branch 'ezellohar-master-patch-05605' into 'master'
Update it-IT.properties

See merge request core-developers/forge!4751
2021-05-26 04:30:04 +00:00
friarsol
bd18a5bb41 Update nassari 2021-05-25 23:38:30 -04:00
tool4EvEr
263faa9895 Clean up 2021-05-25 22:29:49 +02:00
Filippo Vomiero
36cc45b227 Update it-IT.properties 2021-05-25 19:12:34 +00:00
Northmoc
66ce27593b add support for multiple called flips to FlipCoinEffect 2021-05-25 13:57:33 -04:00
Northmoc
9a62690627 yusri_fortunes_flame.txt 2021-05-25 13:55:33 -04:00
leriomaggio
207476ab14 Fixed typo in Aether Storm to AEther Storm 2021-05-25 18:22:37 +01:00
leriomaggio
380ac15f74 Restored missing duplicate entries to account for alternate images. 2021-05-25 18:22:12 +01:00
Northmoc
26dcee20dc ravenous_squirrel.txt (Suthro) 2021-05-25 09:29:01 -04:00
Northmoc
8c73de6f94 squirrel_sovereign.txt (Suthro) 2021-05-25 09:26:05 -04:00
Northmoc
8a3a3d05c4 squirrel_sanctuary.txt (Suthro) 2021-05-25 09:22:19 -04:00
Northmoc
11d78d0b44 spreading_insurrection.txt (Suthro) 2021-05-25 08:51:25 -04:00
Northmoc
ae3fb2d41e tourachs_canticle.txt (Suthro) 2021-05-25 08:48:54 -04:00
leriomaggio
0c36ea062d Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-25 13:46:20 +01:00
Northmoc
54d66c0119 lucid_dreams.txt (Suthro) 2021-05-25 08:45:18 -04:00
leriomaggio
099af4dfa9 Restoring Starter2000 Expansion Set w/ coll nrs from Gatherer 2021-05-25 13:43:45 +01:00
Northmoc
beb37bad9a Support for "NoColoredMana" 2021-05-25 08:41:40 -04:00
Northmoc
cb25353e60 void_mirror.txt 2021-05-25 08:41:39 -04:00
Northmoc
7bd24f52c7 late_to_dinner.txt (Suthro) 2021-05-25 08:40:47 -04:00
Northmoc
bfd646f409 break_ties.txt (Suthro) 2021-05-25 08:40:46 -04:00
Northmoc
ec5ade7b38 chatterfang_squirrel_general.txt 2021-05-25 08:40:45 -04:00
Northmoc
4bb6a64153 fractured_sanity.txt 2021-05-25 08:39:25 -04:00
John
e7a29f6626 Update lolth_spider_queen.txt 2021-05-25 10:50:28 +00:00
John
7d168d7f24 Update timeless_dragon.txt 2021-05-25 10:16:53 +00:00
John
8b0e10442f Update unmarked_grave.txt 2021-05-25 10:16:28 +00:00
John
10ed279650 Update lolth_spider_queen.txt 2021-05-25 10:11:05 +00:00
John
18300fb1a2 Update flametongue_yearling.txt 2021-05-25 10:08:46 +00:00
John
82543ee67e Update dakkon_shadow_slayer.txt 2021-05-25 10:07:58 +00:00
John
58c8a23279 Update dakkon_shadow_slayer.txt 2021-05-25 10:07:23 +00:00
Michael Kamensky
6b7db83a40 Merge branch 'collector-number-in-card-list-and-card-db-refactoring' into 'master'
Cards CollectorNumber plus Miscs

See merge request core-developers/forge!4743
2021-05-25 06:23:30 +00:00
Michael Kamensky
3d5a7e9bc7 Merge branch 'foul' into 'master'
Foul Emissary: Fix NPE

See merge request core-developers/forge!4739
2021-05-25 06:21:36 +00:00
Michael Kamensky
d1e8f9db6b Merge branch 'prevent' into 'master'
Update check for detecting prevented damage

See merge request core-developers/forge!4742
2021-05-25 06:21:23 +00:00
Michael Kamensky
532e6bee5b Merge branch 'kevlahnota-master-patch-82009' into 'master'
fix typo

See merge request core-developers/forge!4744
2021-05-25 06:20:48 +00:00
Michael Kamensky
a7af611dfb Merge branch 'rise' into 'master'
MH2: Rise and Shine and support

See merge request core-developers/forge!4745
2021-05-25 06:20:42 +00:00
Northmoc
de1296f750 add support for "RememberAnimated" to AnimateEffectBase 2021-05-24 22:06:55 -04:00
Northmoc
43e1c20046 rise_and_shine.txt 2021-05-24 22:06:55 -04:00
Anthony Calosa
b285205376 fix typo 2021-05-24 23:39:22 +00:00
leriomaggio
db4ec5eb07 Merge branch 'collector-number-in-card-list-and-card-db-refactoring' of git.cardforge.org:leriomaggio/forge into collector-number-in-card-list-and-card-db-refactoring 2021-05-24 21:10:19 +01:00
leriomaggio
51e6b6c908 Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-24 21:09:58 +01:00
leriomaggio
e57ab4cdb0 Updated missing collector numbers from scryfall 2021-05-24 21:04:39 +01:00
leriomaggio
c4d4a7f2c3 Resetting ImageFetcher to use collectorNumber as string 2021-05-24 19:37:25 +01:00
leriomaggio
66045abf16 Resetting ImageFetcher to use collectorNumber as string 2021-05-24 19:36:24 +01:00
leriomaggio
019af5d238 Robust sorting of CollectorNumber (as string) handling properly non-numerical nrs. and N.A.s 2021-05-24 15:50:54 +01:00
leriomaggio
d71d10a97f Improved translations for CollectorNumber in Italian and Spanish, and while at it...
...I got rid of duplication for the lblSet col, while also improving translations.
In particular, the "lblSetEdition" column was translated as the "Mistery column" (for some reason :D), whereas a second lblSet2 was instead defined and used, namely "the label tooltip for the Set Columndef".
On this note, this col was also mistranslated in ES, IT, DE - those are the language I could handle so far.
In fact "Set" was intended (and so translated) as "to set" instead as for "Expansion/Edition".
Corrected accordingly! :)
2021-05-24 15:02:25 +01:00
tool4EvEr
f374466d0a Update check for detecting prevented damage 2021-05-24 14:31:15 +02:00
tool4EvEr
97d9c57951 Update trigger so it doesn't resolve when card moved 2021-05-24 14:04:46 +02:00
leriomaggio
b651c1f9e9 Added CollectorNumberColumn to pileBy menu. 2021-05-24 11:49:05 +01:00
leriomaggio
d448b59dcc Just code formatting 2021-05-24 11:48:22 +01:00
John
06ccc2d9c6 Update TypeLists.txt 2021-05-24 10:46:43 +00:00
John
bf2ee271fd Add new file 2021-05-24 10:41:57 +00:00
John
b9486e8853 Add new file 2021-05-24 10:41:25 +00:00
John
7911f9bd20 Add new file 2021-05-24 10:40:46 +00:00
John
6753039b92 Add new file 2021-05-24 10:40:15 +00:00
John
802eff0796 Add new file 2021-05-24 10:39:48 +00:00
John
ff8141705d Add new file 2021-05-24 10:39:20 +00:00
John
b28f8f50e1 Add new file 2021-05-24 10:38:41 +00:00
John
49a1f9527c Add new file 2021-05-24 10:36:58 +00:00
John
240f5e6419 Add new file 2021-05-24 10:35:47 +00:00
tool4EvEr
2f26cbe676 Fix NPE 2021-05-24 12:24:15 +02:00
leriomaggio
2a304bd413 Made sorting on CN more reliable with zero-padded strings 2021-05-24 10:14:22 +01:00
leriomaggio
189b0ea122 Formatting adjustments 2021-05-24 10:13:40 +01:00
tool4EvEr
70b24f9b86 Fix Sen Triplets interaction 2021-05-24 10:55:51 +02:00
Anthony Calosa
6c11701032 Merge branch 'master' into 'master'
cleanup

See merge request core-developers/forge!4738
2021-05-24 08:24:21 +00:00
Anthony Calosa
d4a28c0e7b uncomment 2021-05-24 16:23:23 +08:00
Anthony Calosa
0e50de91b4 cleanup 2021-05-24 16:22:09 +08:00
Anthony Calosa
ac78b96c2b Merge branch 'master' into 'master'
[Mobile] Refactor preloading ItemPool

See merge request core-developers/forge!4737
2021-05-24 08:13:25 +00:00
Anthony Calosa
aca091e3c3 [Mobile] Refactor preloading ItemPool
Dont preload ItemPool on Android devices with less than 5GB RAM and Desktop/Mobile port
2021-05-24 16:09:40 +08:00
leriomaggio
572e7f5be8 Updated Card Edition Resources with Collector Numbers 2021-05-24 07:17:16 +01:00
tool4EvEr
ef4ab9570a Clean up 2021-05-24 08:13:09 +02:00
Michael Kamensky
6207299219 Merge branch 'cleanup' into 'master'
Another few small non-functional changes to clean up some redundancy

See merge request core-developers/forge!4734
2021-05-24 03:29:07 +00:00
Michael Kamensky
8eb8c666b6 Merge branch 'hellkite' into 'master'
Refactor CardDamageHistory

See merge request core-developers/forge!4711
2021-05-24 03:28:58 +00:00
Bug Hunter
8f40e8ae04 Refactor CardDamageHistory 2021-05-24 03:28:57 +00:00
Michael Kamensky
b93131b990 Merge branch 'fixai' into 'master'
ChangeZoneAi: Fix casting without paying mana cost using X values

See merge request core-developers/forge!4735
2021-05-24 03:28:37 +00:00
tool4EvEr
6bce621da4 Fix Fires of Ivention 2021-05-24 00:42:34 +02:00
tool4EvEr
9e9bc5193f Cleanup 2021-05-23 23:23:42 +02:00
tool4EvEr
178f937727 Fix AI casting without paying mana cost using X values 2021-05-23 22:45:46 +02:00
Michael Kamensky
d94abfaef9 Merge branch 'Williams-master-patch-16712' into 'master'
Update Resale Promos.txt

See merge request core-developers/forge!4733
2021-05-23 17:26:57 +00:00
leriomaggio
c03da7eb74 Revert to CollectorNumber in PaperCard as String to handle cases of mulitple art (e.g. 21a). 2021-05-23 16:52:12 +01:00
tool4EvEr
c39313d973 Clean up 2021-05-23 17:36:07 +02:00
leriomaggio
a0c126f39e Merge remote-tracking branch 'upstream/master' into collector-number-in-card-list-and-card-db-refactoring 2021-05-23 14:50:49 +01:00
leriomaggio
354d184664 Display new collectorNumber info in Column List view for cards
This addresses Issue #1846
Further changes are due to CardEditions missing collector number information
2021-05-23 14:45:29 +01:00
leriomaggio
0e49d103b1 Update to the new getFoiledMethod in PaperCard API 2021-05-23 14:34:38 +01:00
leriomaggio
fbbae218c0 Integration with PaperCard CollectorNumber, and FIX to new Scryfall API specs 2021-05-23 14:33:48 +01:00
leriomaggio
12387f0efb Refactoring of PaperCard API for collectorNumber and GetFoil.
PaperCard instance now includes a new attribute (i.e. `collectorNumber`) that will be used later on to fill in the "CN" Column in List view (see `ColumnDef.java`).
To allow for minor disruption to existing API, the collectorNumber attribute will be handled in a _Property-like_ fashion via the getter method (i.e. `getCollectorNumber`).
In particular, if collectorNumber is marked as `UNSET` (i.e. `PaperCard.UNSET_COLLECTOR_NUMBER`), the corresponding value will be automatically retrieved from the matched `CardEdition`, and updated for later use.
Nevertheless, Constructors including the new parameter have been also set for future API change.
Moreover, the new attribute has been also considered in methods for object comparison, for a more accurate sorting criterion.

The second new addition to PaperCard API regards FOIL cards (i.e. `getFoiled()`).
This method was originally part of `CardDb` API as described in ISSUE #1848.
With this API change, an internal reference to a `PaperCard` (foil) instance will be used to return the foil version of "itself" for each PaperCard Instance. This will avoid proliferation of PaperCard instances in memory, while keeping all information consistent with the original "unfoiled" card.
NOTE: at the moment, every card can be Foiled, with no restriction whatsoever on the _actual_ existence of original (true) PaperCard.
2021-05-23 13:07:39 +01:00
leriomaggio
41be0bb069 PaperToken aligned with the new IPaperCard Interface (collectorNr always to default for tokens) 2021-05-23 12:56:10 +01:00
leriomaggio
6edcb95aab Refactor IPaperCard Interface to include collectorNumber
The IPaperCard interface now includes a method to return the Collector Number of a Card.
Moreover, two new constants have been included for Default Art Index (i.e. 1) and a flag to mark the absence of a Collector Number (i.e. 0).
2021-05-23 12:55:15 +01:00
John
f022419ceb Update Resale Promos.txt 2021-05-23 11:42:11 +00:00
Michael Kamensky
9232042b02 Merge branch 'exception-thrown-when-discard-card-when-more-then-eight' into 'master'
Exception thrown when discard card when more then eight

See merge request core-developers/forge!4732
2021-05-23 04:17:34 +00:00
brngl
1c642a3cb2 corrected a wrong translation 2021-05-23 02:30:09 +02:00
brngl
b5e86473a4 corrected a wrong translation 2021-05-23 01:24:37 +02:00
Michael Kamensky
8417f5cb7a Merge branch 'counterai' into 'master'
CounterAi: Fix AI casting without paying mana cost using X values

See merge request core-developers/forge!4731
2021-05-22 17:41:59 +00:00
tool4EvEr
f434be45b6 Fix AI casting without paying mana cost using X values 2021-05-22 19:38:55 +02:00
Michael Kamensky
6d493aeb9c Merge branch 'paid' into 'master'
Fix Plumb the Forbidden

Closes #1849

See merge request core-developers/forge!4730
2021-05-22 09:32:22 +00:00
Michael Kamensky
b4052039e3 Merge branch 'cards-2021-05-20' into 'master'
Drizzt Do'Urden

See merge request core-developers/forge!4728
2021-05-22 09:32:00 +00:00
tool4EvEr
727689a3bd Fix Plumb the Forbidden 2021-05-22 11:02:57 +02:00
Hythonia
b86f9792f3 Drizzt: DeckHas 2021-05-22 09:48:26 +02:00
Michael Kamensky
83f4a5ea73 Merge branch 'playeffect' into 'master'
PlayEffect: avoid confirmAction

Closes #843

See merge request core-developers/forge!4729
2021-05-22 06:05:05 +00:00
tool4EvEr
80ddea2c8c Clean up 2021-05-21 23:07:42 +02:00
tool4EvEr
6618f71297 PlayEffect: avoid confirmAction 2021-05-21 23:03:33 +02:00
Hythonia
5c1c039188 AFR: Drizzit and the Spider token 2021-05-21 19:51:16 +02:00
Michael Kamensky
af1afb5348 Merge branch 'lki' into 'master'
Fix Luminate Primordial

See merge request core-developers/forge!4727
2021-05-21 17:30:23 +00:00
tool4EvEr
5bbd527837 Fix LKI 2021-05-21 12:16:53 +02:00
Michael Kamensky
2eb71fe1c9 Merge branch 'fixup' into 'master'
CombatUtil: Fix AI workaround

See merge request core-developers/forge!4726
2021-05-21 07:48:27 +00:00
Michael Kamensky
e1157ad01a Merge branch 'Williams-master-patch-78424' into 'master'
Update 2021 Lunar New Year.txt

See merge request core-developers/forge!4724
2021-05-21 07:48:23 +00:00
tool4EvEr
e5df3b9cb3 Fix workaround 2021-05-21 08:43:36 +02:00
Anthony Calosa
a52f7dc540 Merge branch 'master' into 'master'
[Mobile] Disable loading of HD Textures for Devices with RAM < 5GB

See merge request core-developers/forge!4725
2021-05-21 03:03:48 +00:00
Anthony Calosa
eff69eba7d Merge remote-tracking branch 'remotes/core/master' 2021-05-21 10:58:27 +08:00
Anthony Calosa
f8a41b39ec [Mobile] Disable loading of HD Textures for Devices with RAM < 5GB 2021-05-21 10:58:03 +08:00
John
cd31806100 Update 2021 Lunar New Year.txt 2021-05-20 12:48:54 +00:00
Bug Hunter
e5d588c4eb Merge branch 'TRT-master-patch-14456' into 'master'
Update forge-gui/res/cardsfolder/b/battlemages_bracers.txt

See merge request core-developers/forge!4723
2021-05-20 12:44:39 +00:00
Bug Hunter
3b0483752c Update forge-gui/res/cardsfolder/b/battlemages_bracers.txt 2021-05-20 12:43:42 +00:00
Anthony Calosa
5ea5ca0ef7 Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!4722
2021-05-20 12:13:35 +00:00
Churrufli
08bd2c4724 Net Decks Archive Updates 2021-05-20 12:42:24 +02:00
Michael Kamensky
1c1a4d92f4 Merge branch 'bracers' into 'master'
Illusionist's Bracers: Fix triggering for Card that's removed while paying activation cost

See merge request core-developers/forge!4721
2021-05-20 09:21:36 +00:00
Michael Kamensky
37e5dda38f Merge branch 'npefix' into 'master'
chooseSomeType: Fix NPE

See merge request core-developers/forge!4715
2021-05-20 04:53:12 +00:00
Michael Kamensky
be6232ee82 Merge branch 'fixcount' into 'master'
Cleanup xCount

See merge request core-developers/forge!4718
2021-05-20 04:52:29 +00:00
Michael Kamensky
651fa42e4a Merge branch 'guile' into 'master'
Kaya's Guile: Fix moving own cards

See merge request core-developers/forge!4720
2021-05-20 04:52:01 +00:00
Michael Kamensky
c69d261e56 Merge branch 'rescue' into 'master'
Fix Rescue from the Underworld

See merge request core-developers/forge!4719
2021-05-20 04:51:55 +00:00
Michael Kamensky
54446949a5 Merge branch 'combats' into 'master'
Fix deadlock for impossible blocking requirements

See merge request core-developers/forge!4681
2021-05-20 04:51:42 +00:00
Michael Kamensky
161d4ed314 Merge branch 'angel' into 'master'
Fix paying negative life

See merge request core-developers/forge!4716
2021-05-20 04:45:40 +00:00
tool4EvEr
a88c08bf3f Fix triggering for Card that's removed while paying activation cost 2021-05-19 23:07:31 +02:00
tool4EvEr
eae4a0be35 Fix moving own cards 2021-05-19 20:54:58 +02:00
tool4EvEr
0e28b40c25 Fix Rescue from the Underworld 2021-05-19 20:28:42 +02:00
tool4EvEr
f8adbcc252 Cleanup xCount 2021-05-19 20:03:17 +02:00
tool4EvEr
6f9d557a64 Clean up 2021-05-19 16:29:38 +02:00
Michael Kamensky
ac939de42f Merge branch 'italian-translations-fix' into 'master'
Italian translations fix

See merge request core-developers/forge!4717
2021-05-19 03:53:12 +00:00
Michael Kamensky
82756e1073 Merge branch 'cardfixes' into 'master'
Minor card fixes

See merge request core-developers/forge!4714
2021-05-19 03:52:38 +00:00
brngl
1b14148b0f corrected some wrong translations 2021-05-19 00:23:18 +02:00
brngl
0cfb5eff0e corrected some wrong translations 2021-05-19 00:15:38 +02:00
tool4EvEr
ce3bab8a33 Fix for Temporal Extortion 2021-05-19 00:09:55 +02:00
tool4EvEr
e56b8545c7 Fix paying negative life 2021-05-18 23:36:56 +02:00
tool4EvEr
ac7fc21db5 Fix NPE 2021-05-18 22:58:56 +02:00
Michael Kamensky
48bc2174a4 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4709
2021-05-18 19:34:07 +00:00
Michael Kamensky
d11d58889b Merge branch 'kevlahnota-master-patch-22574' into 'master'
NoSuchMethodError forge.game.trigger.TriggerAbilityTriggered in addTriggeringObject

See merge request core-developers/forge!4710
2021-05-18 19:33:58 +00:00
Michael Kamensky
8cf01c318a Merge branch 'cleanup' into 'master'
Fix onCleanupPhase skipping losers

See merge request core-developers/forge!4712
2021-05-18 19:33:46 +00:00
Michael Kamensky
e18007e902 Merge branch 'fixnpe' into 'master'
UntapAi: Fix NPE

See merge request core-developers/forge!4713
2021-05-18 19:33:37 +00:00
Hythonia
1f13b8d43d Minor card fixes 2021-05-18 20:11:24 +02:00
tool4EvEr
c6b82043d0 Fix NPE 2021-05-18 19:29:37 +02:00
tool4EvEr
671937ff7f Fix onCleanupPhase skipping losers 2021-05-18 19:07:54 +02:00
Anthony Calosa
27478966bc NoSuchMethodError forge.game.trigger.TriggerAbilityTriggered in addTriggeringObject 2021-05-18 14:43:43 +00:00
CCTV-1
442ea94cde translate "AltZoneTabs" 2021-05-18 18:47:29 +08:00
Michael Kamensky
13bd24ef83 Merge branch 'changezone' into 'master'
ChangeZoneEffect: Don't modify tapped when replaced

See merge request core-developers/forge!4704
2021-05-18 03:50:25 +00:00
Bug Hunter
32240b6004 ChangeZoneEffect: Don't modify tapped when replaced 2021-05-18 03:50:24 +00:00
tool4EvEr
abd0880c66 Fix deadlock for impossible blocking requirements 2021-05-17 17:51:09 +02:00
Hans Mackowiak
bb6c5f8e44 Merge branch '1840-npe-at-forge-game-ability-abilityutils-xcount-abilityutils-java-1677' into 'master'
Resolve "NPE at forge.game.ability.AbilityUtils.xCount(AbilityUtils.java:1677)"

Closes #1840

See merge request core-developers/forge!4703
2021-05-16 13:56:21 +00:00
Bug Hunter
66d0141fae Merge branch 'fixcard' into 'master'
Fix card

See merge request core-developers/forge!4707
2021-05-16 13:02:04 +00:00
tool4EvEr
57cf7a582b Fix card 2021-05-16 15:02:00 +02:00
Michael Kamensky
706827fc0c Merge branch 'Williams-master-patch-55192' into 'master'
Update Secret Lair Ultimate Edition.txt

See merge request core-developers/forge!4706
2021-05-16 12:51:43 +00:00
Michael Kamensky
54009dcb06 Merge branch 'aicleanup' into 'master'
Minor cleanup

See merge request core-developers/forge!4705
2021-05-16 12:43:17 +00:00
John
1049deb299 Update Secret Lair Ultimate Edition.txt 2021-05-16 12:43:06 +00:00
tool4EvEr
19b928782a Clean import 2021-05-16 12:59:13 +02:00
tool4EvEr
4aafafb5bd Minor cleanup 2021-05-16 12:52:02 +02:00
leriomaggio
65ff5a8c51 Added Spotlight rubbish to ignore list 2021-05-16 11:46:23 +01:00
Hans Mackowiak
d2449c181a AiController: need to set triggered Object for ETB check 2021-05-16 09:18:31 +02:00
Hans Mackowiak
9527a33a58 Merge branch 'refactor_damage_replacement' into 'master'
Deal damage use damage map

See merge request core-developers/forge!4696
2021-05-16 06:51:39 +00:00
Alumi
419a513d8f Deal damage use damage map 2021-05-16 06:51:38 +00:00
Michael Kamensky
a1e7ecbecc Merge branch 'etali' into 'master'
PlayEffect: Fix loop of selecting same card when optional

Closes #1835

See merge request core-developers/forge!4697
2021-05-16 03:47:07 +00:00
Michael Kamensky
f996c90653 Merge branch 'nextturn' into 'master'
Refactor addUntilCommand

See merge request core-developers/forge!4702
2021-05-15 17:33:05 +00:00
Bug Hunter
be2a7f5a51 Refactor addUntilCommand 2021-05-15 17:33:03 +00:00
Michael Kamensky
a6ca193ae0 Merge branch 'cardPropertyTargetedPlayer' into 'master'
Card property targeted player

See merge request core-developers/forge!4606
2021-05-15 15:27:16 +00:00
Hans Mackowiak
ff7f81c307 Card property targeted player 2021-05-15 15:27:15 +00:00
Michael Kamensky
cad42948cd Merge branch '1836-npe-at-forge-game-gameaction-sacrificedestroy-gameaction-java-1709' into 'master'
Resolve "NPE at forge.game.GameAction.sacrificeDestroy(GameAction.java:1709)"

Closes #1836

See merge request core-developers/forge!4699
2021-05-15 12:40:13 +00:00
Hans Mackowiak
5ad88099e1 Resolve "NPE at forge.game.GameAction.sacrificeDestroy(GameAction.java:1709)" 2021-05-15 12:40:12 +00:00
Sol
c849c2b867 Merge branch 'scourge' into 'master'
Fix Boneyard Scourge

See merge request core-developers/forge!4700
2021-05-15 03:23:35 +00:00
Michael Kamensky
1571263575 Merge branch 'addtocombat' into 'master'
Fix addToCombat not checking for changes in defenders

See merge request core-developers/forge!4701
2021-05-14 17:35:06 +00:00
tool4EvEr
a335d60fcb Fix addToCombat not checking for changes in defenders 2021-05-14 16:17:21 +02:00
tool4EvEr
c78c182e32 Fix trigger 2021-05-14 15:15:50 +02:00
Michael Kamensky
8ff5d05078 Merge branch 'wall' into 'master'
Fix trigger running with no zone for Wall of Stolen Identity

See merge request core-developers/forge!4666
2021-05-14 05:39:09 +00:00
Bug Hunter
80a1c13a07 Fix trigger running with no zone for Wall of Stolen Identity 2021-05-14 05:39:08 +00:00
Hans Mackowiak
0b6ed46a0a Merge branch 'basecamp' into 'master'
Fix Base Camp

See merge request core-developers/forge!4698
2021-05-13 19:29:57 +00:00
tool4EvEr
cdaba3483a Fix Base Camp 2021-05-13 14:50:32 +02:00
tool4EvEr
3681dba5fb Fix loop of selecting same card when optional 2021-05-13 13:55:19 +02:00
Hans Mackowiak
ddbe5af21c Merge branch 'TRT-master-patch-01974' into 'master'
Update forge-gui/res/cardsfolder/r/rot_hulk.txt

See merge request core-developers/forge!4695
2021-05-12 14:52:37 +00:00
Hans Mackowiak
da4263131e Merge branch 'elspeth' into 'master'
Fix stateBasedAction_Saga

Closes #1831

See merge request core-developers/forge!4693
2021-05-12 14:47:33 +00:00
Bug Hunter
f3b771cb7d Fix stateBasedAction_Saga 2021-05-12 14:47:32 +00:00
Bug Hunter
39c764e283 Update forge-gui/res/cardsfolder/r/rot_hulk.txt 2021-05-12 07:38:40 +00:00
Michael Kamensky
9d4e02c2d4 Merge branch 'defenderStatic' into 'master'
StaticAbilities: moved Defender into CantAttack

See merge request core-developers/forge!4563
2021-05-12 06:35:16 +00:00
Hans Mackowiak
34ab157046 StaticAbilities: moved Defender into CantAttack 2021-05-12 06:35:15 +00:00
Michael Kamensky
e76403f54f Merge branch 'ruxa' into 'master'
Fix Muraganda Petroglyphs not affecting face-down with morph

See merge request core-developers/forge!4692
2021-05-12 05:23:50 +00:00
Michael Kamensky
3f7b1ce204 Merge branch 'fix_spellskite' into 'master'
Fix BecomesTarget not triggering for Spellskite's ability

See merge request core-developers/forge!4694
2021-05-12 05:23:42 +00:00
Lyu Zong-Hong
0eff1225b8 Fix BecomesTarget not triggering for Spellskite's ability 2021-05-12 09:26:06 +09:00
tool4EvEr
4e2d024b2a Fix Muraganda Petroglyphs not affecting face-down with morph 2021-05-11 20:11:26 +02:00
Michael Kamensky
1db289c35e Merge branch 'soulecho' into 'master'
Fix Soul Echo

See merge request core-developers/forge!4691
2021-05-11 18:10:46 +00:00
tool4EvEr
c8a4a41eaf Fix Soul Echo 2021-05-11 19:51:00 +02:00
Michael Kamensky
6221f87b8c Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!4689
2021-05-11 16:48:10 +00:00
Michael Kamensky
ab3b682c47 Merge branch 'tokencards' into 'master'
Add Time Sidewalk and Bone Rattler

See merge request core-developers/forge!4690
2021-05-11 16:48:08 +00:00
Michael Kamensky
38d6ab9895 Merge branch 'refactor_cant_be_prevented' into 'master'
Refactor damage can't be prevented effect

Closes #1232

See merge request core-developers/forge!4686
2021-05-11 16:47:55 +00:00
Alumi
4d6da7454c Refactor damage can't be prevented effect 2021-05-11 16:47:54 +00:00
Churrufli
19ac30eed0 Net Decks Archive Updates 2021-05-11 09:29:42 +02:00
Hythonia
84a7b79e3c Add Time Sidewalk and Bone Rattler 2021-05-11 09:12:05 +02:00
Michael Kamensky
e2fc8015b8 Merge branch 'twosat-master-patch-29098' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4687
2021-05-11 03:46:02 +00:00
Hans Mackowiak
5aac30f44a Merge branch 'colors' into 'master'
ColorIdentity: Check for CDA text

See merge request core-developers/forge!4672
2021-05-10 19:36:09 +00:00
Bug Hunter
d9340349fa ColorIdentity: Check for CDA text 2021-05-10 19:36:09 +00:00
Hans Mackowiak
82019b5f40 Merge branch 'samename' into 'master'
ChangeZoneAi: Fix crash

Closes #1830

See merge request core-developers/forge!4688
2021-05-10 19:35:22 +00:00
tool4EvEr
06e0a82927 Fix crash 2021-05-10 21:17:17 +02:00
Andreas Bendel
53409a6c70 Update de-DE.properties
translated SwitchStates and AltZoneTabs
2021-05-10 18:25:37 +00:00
Hans Mackowiak
59b68d80ca Merge branch 'servant' into 'master'
Fix Grindstone & Painter's Servant interaction

See merge request core-developers/forge!4679
2021-05-10 16:51:06 +00:00
Bug Hunter
4f38f5a389 Fix Grindstone & Painter's Servant interaction 2021-05-10 16:51:06 +00:00
Anthony Calosa
7a0bb07fc1 Merge branch 'kevlahnota-master-patch-01624' into 'master'
unused import

See merge request core-developers/forge!4685
2021-05-10 07:50:36 +00:00
Anthony Calosa
b1d3e712be unused import 2021-05-10 07:50:23 +00:00
Anthony Calosa
bc0cd4a783 Merge branch 'prevent' into 'master'
prevent damage bug

See merge request core-developers/forge!4682
2021-05-10 07:46:32 +00:00
Michael Kamensky
d4dc65c45f Merge branch 'show_remaining_shield' into 'master'
Show remaining shields amount for damage prevention and redirection effect

See merge request core-developers/forge!4684
2021-05-10 03:27:03 +00:00
Michael Kamensky
dd40a1de6b Merge branch 'update_prevention_predition' into 'master'
Update AI damage prevention prediction code

See merge request core-developers/forge!4683
2021-05-10 03:26:41 +00:00
Lyu Zong-Hong
ea65a3423e Show remaining shields amount for damage prevention and redirection effect 2021-05-10 10:04:45 +09:00
Lyu Zong-Hong
04811da9cc Update AI damage prevention prediction code 2021-05-10 08:09:27 +09:00
tool4EvEr
46a4243093 prevent damage bug 2021-05-09 22:47:31 +02:00
Michael Kamensky
03bee3e11e Merge branch 'refactor_fog_protection' into 'master'
Refactor Damage Prevention - Step 3

See merge request core-developers/forge!4680
2021-05-09 18:15:44 +00:00
Lyu Zong-Hong
20491e1136 Refactor fog and protection to use replacement effect 2021-05-09 20:17:26 +09:00
Michael Kamensky
4ea01ea135 Merge branch 'new_sets' into 'master'
Initial edition files for MH2, AFR, PWP21

See merge request core-developers/forge!4671
2021-05-09 04:01:31 +00:00
Michael Kamensky
8440f72e9e Merge branch 'cascade' into 'master'
PlayAi confirmAction only when card is worth it

See merge request core-developers/forge!4661
2021-05-09 04:01:22 +00:00
Michael Kamensky
65291259ee Merge branch 'fix_get_total_shield_npe' into 'master'
Fix NPE in getTotalPreventionShieldAmount

Closes #1827

See merge request core-developers/forge!4678
2021-05-09 04:00:20 +00:00
Lyu Zong-Hong
d42ee05740 Fix NPE in getTotalPreventionShieldAmount 2021-05-09 07:46:04 +09:00
Michael Kamensky
c4bf644240 Merge branch 'refactor_static_prevention' into 'master'
Refactor Damage Prevention - Step 2

See merge request core-developers/forge!4676
2021-05-08 13:57:04 +00:00
Alumi
fe95ad2e11 Refactor Damage Prevention - Step 2 2021-05-08 13:57:03 +00:00
Michael Kamensky
644f80df57 Merge branch 'Williams-master-patch-45382' into 'master'
Update Resale Promos.txt

See merge request core-developers/forge!4677
2021-05-08 13:56:17 +00:00
Michael Kamensky
46e5c3233a Merge branch 'master' into 'master'
Spoiled cards from MH2 and AFR

See merge request core-developers/forge!4674
2021-05-08 13:56:08 +00:00
John
1da27edde6 Update Resale Promos.txt 2021-05-08 09:37:38 +00:00
Hythonia
75da8833dc Urza's Saga fix 2021-05-08 10:22:33 +02:00
Michael Kamensky
c40a132811 Merge branch 'refactor_prevention' into 'master'
Refactor Damage Prevention - Step 1

See merge request core-developers/forge!4675
2021-05-08 04:34:44 +00:00
Alumi
288267ae11 Refactor Damage Prevention - Step 1 2021-05-08 04:34:42 +00:00
Michael Kamensky
8f1a493327 Merge branch 'digreveal' into 'master'
add support to Dig for Reveal$ False

See merge request core-developers/forge!4667
2021-05-08 04:34:08 +00:00
Northmoc
f97adc325f simplify boolean function 2021-05-07 15:06:40 -04:00
Hythonia
8aa72e9397 MH2 and AFR 2021-05-07 19:45:55 +02:00
tool4EvEr
3ab7886eab Refactor confirmAction 2021-05-07 18:14:20 +02:00
paul_snoops
551968a38c Initial edition files for MH2, AFR, PWP21 2021-05-07 15:37:18 +01:00
paul_snoops
e954102f81 Initial edition files for MH2, AFR, PWP21 2021-05-07 14:23:04 +01:00
Michael Kamensky
5a1d5c0a2d Merge branch 'master' into 'master'
Net Decks Archive Updates

See merge request core-developers/forge!4670
2021-05-07 13:11:36 +00:00
paul_snoops
42b553266a Initial edition files for MH2, AFR, PWP21 2021-05-07 09:26:45 +01:00
Churrufli
d98d2915ca Net Deck Archive Updates 2021-05-07 09:18:14 +02:00
Anthony Calosa
634dced5aa Merge branch 'master' into 'master'
[Mobile] NullPointerException forge.toolbox.FChoiceList in showAlternate

See merge request core-developers/forge!4669
2021-05-07 00:48:38 +00:00
Anthony Calosa
5ee94199bb Merge branch 'fixturns' into 'master'
Fix multiplayer extra turns deadlock

See merge request core-developers/forge!4665
2021-05-07 00:48:21 +00:00
Anthony Calosa
23422220ce [Mobile] update check 2021-05-07 08:43:40 +08:00
Sol
c141462432 Merge branch 'migrate-upcoming' into 'master'
Migrate STX and other scripts to alpha folders

See merge request core-developers/forge!4668
2021-05-07 00:43:28 +00:00
Anthony Calosa
41abf876a2 [Mobile] Fix NPE on FChoiceList.java 2021-05-07 08:42:17 +08:00
friarsol
28793abc7a Migrate STX and other scripts to alpha folders 2021-05-06 20:42:17 -04:00
Northmoc
1ce213004a add support to Dig for Reveal$ False 2021-05-06 17:23:45 -04:00
tool4EvEr
e223fa2002 Fix extra turns deadlock 2021-05-06 21:39:24 +02:00
Michael Kamensky
6fc542ff7d Merge branch 'clash' into 'master'
ClashEffect: Fix Triggers

Closes #1821

See merge request core-developers/forge!4662
2021-05-06 03:46:14 +00:00
Michael Kamensky
a1dd4ab0e9 Merge branch 'escalate' into 'master'
Fix Escalate Cost

Closes #1819

See merge request core-developers/forge!4663
2021-05-06 03:45:50 +00:00
tool4EvEr
1232f1be28 Fix Escalate Cost 2021-05-05 22:20:57 +02:00
tool4EvEr
738c7b968a Fix Triggers 2021-05-05 21:59:01 +02:00
tool4EvEr
d6e7d1ffee Check if card for PlayEffect is worth it 2021-05-05 21:14:15 +02:00
Michael Kamensky
6fcdee14e4 Merge branch 'master' into 'master'
Better AI for SpecificCard Auras

See merge request core-developers/forge!4660
2021-05-05 17:47:31 +00:00
Hythonia
8c139ad044 Better AI for SpecificCard Auras, attempt 2 2021-05-05 15:47:43 +02:00
Michael Kamensky
122baba999 Merge branch 'master' into 'master'
Update hyperlinks to point to the git.cardforge.org wiki pages instead of the old slightlymagic.net

See merge request core-developers/forge!4659
2021-05-05 13:06:29 +00:00
Jimmy
27b12f5263 Update hyperlinks to point to the git.cardforge.org wiki pages instead of the old slightlymagic.net 2021-05-05 13:06:28 +00:00
Hythonia
a801424b35 Better AI for SpecificCard Auras 2021-05-05 14:48:40 +02:00
Hans Mackowiak
717a3eaede Merge branch 'fixstatic' into 'master'
Fix StaticEffect missing changes from RemoveLandTypes

See merge request core-developers/forge!4655
2021-05-05 10:41:02 +00:00
Anthony Calosa
0061f35b46 Merge branch 'master' into 'master'
[Mobile] add Alternate Player Zone Layout (Landscape)

See merge request core-developers/forge!4658
2021-05-05 03:53:49 +00:00
Anthony Calosa
ff20646a63 Merge branch 'escape' into 'master'
Fix Escape Protocol

Closes #1817

See merge request core-developers/forge!4657
2021-05-05 03:53:26 +00:00
Anthony Calosa
a5f4375ff2 Merge branch 'fixpay' into 'master'
Fix playSpellAbilityWithoutPayingManaCost not checking amount modifiers

Closes #1816

See merge request core-developers/forge!4656
2021-05-05 03:53:16 +00:00
Anthony Calosa
99b2cbb606 [Mobile] add Alternate Player Zone Layout (Landscape) 2021-05-05 11:34:36 +08:00
tool4EvEr
15e8eee373 Fix Escape Protocol 2021-05-04 20:38:03 +02:00
tool4EvEr
4cd2bc266a Fix playSpellAbilityWithoutPayingManaCost not checking amount modifiers 2021-05-04 20:30:56 +02:00
Michael Kamensky
92472c815a Merge branch 'partner2' into 'master'
Partner with: better fix

See merge request core-developers/forge!4650
2021-05-04 18:18:02 +00:00
Michael Kamensky
a246257eff Merge branch 'master' into 'master'
Update simplified chinese translation

See merge request core-developers/forge!4652
2021-05-04 18:17:55 +00:00
Michael Kamensky
b6bab552be Merge branch 'fix-auto-updater' into 'master'
Fix AutoUpdater to point to the new snapshot location

See merge request core-developers/forge!4651
2021-05-04 18:17:44 +00:00
Michael Kamensky
1afce00069 Merge branch 'controllers' into 'master'
getAllPossibleAbilities: Restore old controllers

Closes #1806

See merge request core-developers/forge!4646
2021-05-04 18:17:41 +00:00
Michael Kamensky
9ddfdf3638 Merge branch 'master' into 'master'
Better AI logic for Boltlands and more

Closes #1573

See merge request core-developers/forge!4654
2021-05-04 18:17:03 +00:00
tool4EvEr
06230ffa40 Fix StaticEffect missing changes from RemoveLandTypes 2021-05-04 19:21:47 +02:00
Hythonia
cac7ac2a8a Remove UnlessAI from shocklands and boltlands 2021-05-04 12:12:26 +02:00
Hythonia
fbbe4f5579 Magus of the Scroll AI 2021-05-04 10:34:38 +02:00
Hythonia
7d8373643f Remove leftover code 2021-05-04 09:25:35 +02:00
Hythonia
97bf88421e Better AI logic for Boltlands 2021-05-04 09:24:41 +02:00
CCTV-1
c067ab7cc9 translate new setting 2021-05-04 09:38:03 +08:00
friarsol
b21e4f5296 Fix AutoUpdater to point to the new snapshot location 2021-05-03 21:32:55 -04:00
tool4EvEr
ea0add13ad Partner with: cleaner fix 2021-05-03 20:14:56 +02:00
Michael Kamensky
bfc3157186 Merge branch 'partner_with' into 'master'
Partner with support

Closes #1760

See merge request core-developers/forge!4649
2021-05-03 17:22:13 +00:00
tool4EvEr
a5aeb43305 Partner with support 2021-05-03 18:57:42 +02:00
Michael Kamensky
2b77a15845 Merge branch 'wouldPhaseBeSkipped' into 'master'
Update wouldPhaseBeSkipped logic

See merge request core-developers/forge!4648
2021-05-03 15:57:16 +00:00
tool4EvEr
0d1b751600 Update wouldPhaseBeSkipped logic 2021-05-03 17:06:39 +02:00
Bug Hunter
754e2a7aa7 Merge branch 'TRT-master-patch-29542' into 'master'
Update forge-gui/res/cardsfolder/upcoming/flamescroll_celebrant_revel_in_silence.txt

See merge request core-developers/forge!4647
2021-05-03 14:27:36 +00:00
Bug Hunter
731f375332 Update forge-gui/res/cardsfolder/upcoming/flamescroll_celebrant_revel_in_silence.txt 2021-05-03 14:27:12 +00:00
tool4EvEr
faa8013208 Restore old controllers for AI checks 2021-05-02 17:03:44 +02:00
Michael Kamensky
90afe81856 Merge branch 'modaloption' into 'master'
Add preference how to display alternate card states in deck views

See merge request core-developers/forge!4625
2021-05-02 14:25:36 +00:00
Bug Hunter
c13e379908 Add preference how to display alternate card states in deck views 2021-05-02 14:25:35 +00:00
Michael Kamensky
689d3bb9b5 Merge branch 'fixloop' into 'master'
Fix multiplayer loop from SA controlled by loser

See merge request core-developers/forge!4636
2021-05-02 14:25:27 +00:00
Michael Kamensky
9ae8fcf3bc Merge branch 'killing_wave' into 'master'
payCostToPreventEffect ignores X amount

See merge request core-developers/forge!4645
2021-05-02 14:25:16 +00:00
tool4EvEr
74f3a0a5ed Fix payCostToPreventEffect for X amount 2021-05-02 14:38:19 +02:00
Anthony Calosa
d51e20bffe Merge branch 'master' into 'master'
fix localizer

See merge request core-developers/forge!4644
2021-05-02 11:47:15 +00:00
Anthony Calosa
c5d6214ab2 fix localizer 2021-05-02 19:44:19 +08:00
Michael Kamensky
898921ea4f Merge branch 'untapall' into 'master'
UntapAllAi: improve logic (Najeela)

See merge request core-developers/forge!4643
2021-05-02 10:42:12 +00:00
tool4EvEr
8c6194da35 improve logic (Najeela) 2021-05-02 11:55:04 +02:00
Michael Kamensky
8b2a3ccb42 Merge branch 'costfix' into 'master'
Restore Balance: Fix Cost

Closes #1814

See merge request core-developers/forge!4642
2021-05-02 09:47:43 +00:00
tool4EvEr
820c869e2c Avoid clearTriggers 2021-05-02 11:44:41 +02:00
tool4EvEr
9a21a3e2a4 Fix Cost 2021-05-02 11:04:59 +02:00
Hans Mackowiak
03e47cee56 Merge branch 'suspend' into 'master'
AI: Fix backing out of Suspend

See merge request core-developers/forge!4640
2021-05-02 08:55:10 +00:00
Michael Kamensky
1a28f15f75 Merge branch 'NPE' into 'master'
viewDeckList: Fix NPE

See merge request core-developers/forge!4639
2021-05-02 03:55:14 +00:00
Anthony Calosa
72d5c74631 Merge branch 'master' into 'master'
[Mobile] Fix ExceptionInInitializerError forge.screens.home.NewGameMenu$NewGameScreen

See merge request core-developers/forge!4641
2021-05-02 01:20:52 +00:00
Anthony Calosa
322ebdf8a6 Update spacing 2021-05-02 09:16:55 +08:00
Anthony Calosa
3d3296d1b7 [Mobile] Fix ExceptionInInitializerError forge.screens.home.NewGameMenu$NewGameScreen
- some mobile issues reported via Sentry is related to Translation errors and it should return the default original value from English locale.
2021-05-02 09:13:49 +08:00
tool4EvEr
e3715c3f81 Update ceasetoExist check 2021-05-02 00:02:49 +02:00
tool4EvEr
db9e019519 Fix backing out of Suspend 2021-05-01 23:05:52 +02:00
tool4EvEr
3a2ea56c92 Fix NPE 2021-05-01 21:26:49 +02:00
tool4EvEr
df6b552ac1 Fully clear unwanted triggers 2021-05-01 20:36:42 +02:00
Michael Kamensky
9bb4d7ed93 Merge branch 'turns' into 'master'
Update advanceToNextPhase logic

See merge request core-developers/forge!4633
2021-05-01 17:36:38 +00:00
Anthony Calosa
562ef1b147 Merge branch 'kevlahnota-master-patch-03506' into 'master'
Update GuiDownloadZipService.java

See merge request core-developers/forge!4638
2021-05-01 14:27:56 +00:00
Anthony Calosa
6d31a2f656 Update GuiDownloadZipService.java 2021-05-01 14:27:02 +00:00
Bug Hunter
62c16d9f08 Merge branch 'fixcost' into 'master'
Fix typo

Closes #1813

See merge request core-developers/forge!4637
2021-05-01 10:44:55 +00:00
tool4EvEr
db17973ea6 Fix cost 2021-05-01 12:43:26 +02:00
tool4EvEr
8155376c45 Fix multiplayer loop from SA controlled by loser 2021-05-01 12:33:25 +02:00
Anthony Calosa
ae26c7bc7a Merge branch 'master' into 'master'
[Mobile] ExceptionInInitializerError (forge.screens.FScreen in <init>)

See merge request core-developers/forge!4635
2021-05-01 05:17:33 +00:00
Anthony Calosa
fa4e4cb2bb [Mobile] ExceptionInInitializerError (forge.screens.FScreen in <init>)
- it seems it was trying to draw the bug reporter interface while ending the graphics if sentry is not enabled
2021-05-01 13:15:10 +08:00
Hans Mackowiak
7842b7e0fd Merge branch 'ResolvedThisTurn' into 'master'
Fix ResolvedThisTurn

See merge request core-developers/forge!4631
2021-04-30 23:33:44 +00:00
Anthony Calosa
52d6245b4a Merge branch 'master' into 'master'
[Mobile] fix cache capacity initialization

See merge request core-developers/forge!4634
2021-04-30 22:42:19 +00:00
Anthony Calosa
4c03d4f0b4 [Mobile] fix cache capacity initialization 2021-05-01 06:41:04 +08:00
tool4EvEr
de8aaf35a3 Update advanceToNextPhase logic 2021-04-30 23:34:16 +02:00
Anthony Calosa
dda5d8206f Merge branch 'master' into 'master'
[Mobile] fix black image

See merge request core-developers/forge!4632
2021-04-30 18:53:22 +00:00
Anthony Calosa
f8ca2a50b7 [Mobile] fix black image 2021-05-01 02:34:04 +08:00
tool4EvEr
329f4072be Fix ResolvedThisTurn 2021-04-30 19:36:29 +02:00
Anthony Calosa
a88b392a43 Merge branch 'kevlahnota-master-patch-90708' into 'master'
unused Import

See merge request core-developers/forge!4630
2021-04-30 14:47:01 +00:00
Anthony Calosa
28ec418c76 unused Import 2021-04-30 14:46:49 +00:00
Anthony Calosa
ce56b87b16 Merge branch 'master' into 'master'
minor fixes

See merge request core-developers/forge!4629
2021-04-30 14:37:18 +00:00
Anthony Calosa
6d3155dff9 prevent NPE 2021-04-30 22:27:07 +08:00
Anthony Calosa
9fee1fda1e update order Message 2021-04-30 22:21:56 +08:00
Anthony Calosa
1e1c5fa139 update Filter 2021-04-30 22:20:26 +08:00
Anthony Calosa
70fb1090ca Merge branch 'master' into 'master'
[Android] Android 11+ mandatory use of app-specific directory (obb)

See merge request core-developers/forge!4628
2021-04-30 13:32:57 +00:00
Anthony Calosa
6f13aa4724 [Android] Android 11+ mandatory use of app-specific directory (obb)
- before migration to obb folder, run Forge first and let it download and install necessary files. If Forge is not running (after Android 11 update, white screen bug), disable storage permission and enable storage permission again for Forge. After succesful run, exit Forge then copy your existing Forge folder to Android/obb/forge.app (as suggested by CptKird).
2021-04-30 21:27:46 +08:00
Anthony Calosa
584f923c4c Merge branch 'master' into 'master'
[Android] Enable Sentry

See merge request core-developers/forge!4627
2021-04-30 05:47:31 +00:00
Anthony Calosa
3d1c39da30 [Android] Enable Sentry 2021-04-30 13:45:13 +08:00
Anthony Calosa
a3148c9825 Merge branch 'master' into 'master'
[Mobile] Swap Main Tab and Commander Tab on portrait mode

See merge request core-developers/forge!4626
2021-04-30 05:36:27 +00:00
Anthony Calosa
40e33a43a9 [Mobile] Swap Main Tab and Commander Tab on portrait mode 2021-04-30 13:34:44 +08:00
Michael Kamensky
a3fc74c44e Merge branch 'plague_of_vermin' into 'master'
Add Plague of Vermin

See merge request core-developers/forge!4623
2021-04-29 17:48:39 +00:00
Michael Kamensky
3b28b5fa1c Merge branch 'fixseal' into 'master'
Fix Seal of the Guildpact

See merge request core-developers/forge!4624
2021-04-29 17:47:54 +00:00
tool4EvEr
6070dc9db9 Fix Seal of the Guildpact 2021-04-29 19:41:07 +02:00
Lyu Zong-Hong
7608f02c21 Add Plague of Vermin 2021-04-29 16:10:58 +09:00
Hans Mackowiak
cec5ec0a78 Merge branch 'cards' into 'master'
Fix some Counterspells not exiling when target can't be countered

See merge request core-developers/forge!4616
2021-04-29 06:45:29 +00:00
Michael Kamensky
c72c683915 Merge branch 'update_eureka' into 'master'
Update Eureka and Hypergenesis to put chosen permanent on battlefield sequentially

See merge request core-developers/forge!4622
2021-04-29 05:11:52 +00:00
Lyu Zong-Hong
3384c773da Update Eureka and Hypergenesis to put chosen permanent on battlefield sequentially 2021-04-29 10:51:03 +09:00
Anthony Calosa
8dfc16880e Merge branch 'kevlahnota-master-patch-06695' into 'master'
unused import

See merge request core-developers/forge!4621
2021-04-28 22:01:07 +00:00
Anthony Calosa
5d65861c49 unused import 2021-04-28 22:00:46 +00:00
Hans Mackowiak
179b1419ab Merge branch 'bracers' into 'master'
Battlemage's Bracers: Fix Cost

See merge request core-developers/forge!4615
2021-04-28 21:15:13 +00:00
Hans Mackowiak
4bebc8486c Merge branch 'fixbandingnpe' into 'master'
Fix Banding NPE

See merge request core-developers/forge!4617
2021-04-28 21:14:51 +00:00
Hans Mackowiak
fd0f6e4113 Merge branch 'fixNPE' into 'master'
getTargetableCards: Fix AI NPE

See merge request core-developers/forge!4611
2021-04-28 21:13:19 +00:00
Bug Hunter
8e4c40ba2a getTargetableCards: Fix AI NPE 2021-04-28 21:13:19 +00:00
Hans Mackowiak
abf1a92977 Merge branch 'fixcrash' into 'master'
GameLossAi: Fix crash with Slaughter Pact

See merge request core-developers/forge!4620
2021-04-28 21:12:52 +00:00
Hans Mackowiak
e9ff6ece35 Merge branch 'fixtrig' into 'master'
Fix Karmic Justice

See merge request core-developers/forge!4613
2021-04-28 21:12:08 +00:00
Bug Hunter
ba02ce9261 Fix Karmic Justice 2021-04-28 21:12:07 +00:00
Hans Mackowiak
0ece4427b6 Merge branch 'mana' into 'master'
ManaEffect: Skip producing mana from nothing

See merge request core-developers/forge!4593
2021-04-28 21:00:57 +00:00
Bug Hunter
9afc192154 Revert "Check all RE order quietly"
This reverts commit 0ad6552f8ac900f24f6756bb42973e4b4cbf7a2a.
2021-04-28 21:00:56 +00:00
tool4EvEr
27691d8563 GameLossAi: Fix crash with Slaughter Pact 2021-04-28 21:48:11 +02:00
Anthony Calosa
0ebc6dd2d8 Merge branch 'master' into 'master'
[Desktop] remove unnecessary codes

See merge request core-developers/forge!4619
2021-04-28 18:24:58 +00:00
Anthony Calosa
5a2f57172f [Desktop] remove unnecessary codes 2021-04-29 02:22:26 +08:00
Anthony Calosa
47d30c81b6 Merge branch 'master' into 'master'
[Desktop] update image reader

See merge request core-developers/forge!4618
2021-04-28 17:55:31 +00:00
Anthony Calosa
b80f78d12e [Desktop] update reader 2021-04-29 01:50:37 +08:00
tool4EvEr
835ffaafd4 Fix Banding NPE 2021-04-28 19:28:22 +02:00
tool4EvEr
66f0d580b9 Fix uncounterable 2021-04-28 19:17:04 +02:00
tool4EvEr
524998811c Fix Cost 2021-04-28 18:39:03 +02:00
Anthony Calosa
1b3a8d0cf5 Merge branch 'master' into 'master'
[Desktop] IIOException: Unsupported Image Type

See merge request core-developers/forge!4614
2021-04-28 14:14:16 +00:00
Anthony Calosa
0134d343b2 [Desktop] IIOException: Unsupported Image Type 2021-04-28 22:12:09 +08:00
Michael Kamensky
202ddd8157 Merge branch 'clone' into 'master'
Fix temporary clones keeping Remembered on Self

Closes #1810

See merge request core-developers/forge!4612
2021-04-28 04:09:01 +00:00
Michael Kamensky
76159b2cc4 Merge branch 'undefined' into 'master'
Revised King Goldemar 2 version 2

See merge request core-developers/forge!4594
2021-04-28 04:08:38 +00:00
tool4EvEr
620e95cebf Fix temporary clones keeping Remembered on Self 2021-04-27 21:52:12 +02:00
Michael Kamensky
5f5357d28a Merge branch 'cosmos' into 'master'
Glimpse the Cosmos: Fix AltCost

See merge request core-developers/forge!4604
2021-04-27 19:04:26 +00:00
Michael Kamensky
faee08bb90 Merge branch 'sharesColorWithOther' into 'master'
CardProperty: add SharesColorWithOther to stop comparing cards with themselves

See merge request core-developers/forge!4610
2021-04-27 19:04:20 +00:00
Hans Mackowiak
178f98c82f CardProperty: add SharesColorWithOther to stop comparing cards with themselves 2021-04-27 15:15:08 +02:00
Anthony Calosa
d0dc16aa6f Merge branch 'master' into 'master'
[Android] don't load forge.profile.properties when the user is using the obb directory

See merge request core-developers/forge!4609
2021-04-27 13:07:13 +00:00
Anthony Calosa
77e56e8da9 [Android] don't load forge.profile.properties when the user is using the obb directory
- until google permits unrestricted access outside the app-specific directory on certain apps via flag, the option to use obb as entrypoint is required since accessing outside the scoped storage is really not recommended (https://issuetracker.google.com/issues?q=scoped%20storage%20slow).
2021-04-27 21:04:51 +08:00
Michael Kamensky
045d7bb5ae Merge branch 'fix_grindstone' into 'master'
Fix Grindstone and Sphinx's Tutelage

See merge request core-developers/forge!4608
2021-04-27 12:12:43 +00:00
Lyu Zong-Hong
135f043b60 Fix Grindstone and Sphinx's Tutelage 2021-04-27 18:38:59 +09:00
Hans Mackowiak
682884355f TargetRestrictions: hotfix isDividedAsYouChoose to fix TestCase 2021-04-27 09:17:16 +02:00
Michael Kamensky
702b473453 Merge branch 'fixghired' into 'master'
Fix some cards failing to target for X=0

See merge request core-developers/forge!4601
2021-04-27 04:50:01 +00:00
Anthony Calosa
3f803a3f48 Merge branch 'master' into 'master'
fix divided allocation

See merge request core-developers/forge!4605
2021-04-26 20:01:36 +00:00
Anthony Calosa
742be996fe fix divided allocation 2021-04-27 03:54:45 +08:00
tool4EvEr
228d929a5c Add AffectedZone 2021-04-26 21:05:17 +02:00
tool4EvEr
703fddeb65 Check isDividedAsYouChoose 2021-04-26 18:20:59 +02:00
tool4EvEr
be89397e48 Fix targeting for spells with DividedValue and X=0 2021-04-26 17:44:46 +02:00
Anthony Calosa
2a71716ba4 Merge branch 'master' into 'master'
Net Deck Archive Updates

See merge request core-developers/forge!4603
2021-04-26 09:32:51 +00:00
Churrufli
b8b5561850 Update net-decks-archive-standard.txt 2021-04-26 09:11:54 +00:00
Churrufli
88694f4256 Net Deck Archive Updates 2021-04-26 10:33:45 +02:00
Michael Kamensky
4d7126d3c3 Merge branch 'growth' into 'master'
AI & Exponential Growth: Fix illegal target

See merge request core-developers/forge!4599
2021-04-26 07:20:13 +00:00
Anthony Calosa
87ab6c1de2 Merge branch 'master' into 'master'
[Mobile-Dev] Fix alt-tab when fullscreen

See merge request core-developers/forge!4602
2021-04-26 02:35:58 +00:00
Anthony Calosa
e649c9128e [Mobile-Dev] Fix alt-tab when fullscreen 2021-04-26 10:34:44 +08:00
tool4EvEr
9b774734c3 Fix some cards failing to target for X=0 2021-04-25 22:47:54 +02:00
tool4EvEr
841164bafb Fix illegal target 2021-04-25 21:28:13 +02:00
Michael Kamensky
bc61ec0495 Merge branch 'kozilek' into 'master'
Fix Kozilek, the Great Distortion

See merge request core-developers/forge!4598
2021-04-25 10:36:06 +00:00
tool4EvEr
c37bc213e5 Fix Kozilek, the Great Distortion 2021-04-25 11:49:09 +02:00
Michael Kamensky
080639d2d9 Merge branch 'shusher' into 'master'
Fix Vexing Shusher

See merge request core-developers/forge!4597
2021-04-25 09:10:33 +00:00
Michael Kamensky
ab2d0771ab Merge branch 'punch' into 'master'
Gravitic Punch: Add DamageSource

See merge request core-developers/forge!4596
2021-04-25 09:10:21 +00:00
tool4EvEr
204d502c24 Fix Vexing Shusher 2021-04-25 10:59:36 +02:00
tool4EvEr
985b60a565 Add DamageSource 2021-04-25 10:44:19 +02:00
Michael Kamensky
8202c4abe3 Merge branch 'fixstack' into 'master'
removeInstancesControlledBy - also filter simultaneousStackEntryList

See merge request core-developers/forge!4587
2021-04-25 05:45:44 +00:00
Michael Kamensky
4de73cebe0 Merge branch 'AImdfc' into 'master'
AI: basic support playing MDFC lands

See merge request core-developers/forge!4589
2021-04-25 05:45:34 +00:00
Anthony Calosa
9bb6e833fb Merge branch 'master' into 'master'
refactor getStartingPlaneswalkerOptions

See merge request core-developers/forge!4595
2021-04-25 03:51:39 +00:00
Anthony Calosa
d227da0c10 refactor getStartingPlaneswalkerOptions 2021-04-25 11:49:05 +08:00
tool4EvEr
962330d491 Fix ETB 2021-04-25 00:00:09 +02:00
Tim McFadden
c5d9a98549 Upload New File 2021-04-24 11:09:04 +00:00
Michael Kamensky
9b83c78346 Merge branch 'conquest' into 'master'
Allow cards from precon products in Planar Conquest

See merge request core-developers/forge!4573
2021-04-24 07:36:12 +00:00
Michael Kamensky
8a7d0d4242 Merge branch 'master' of git.cardforge.org:core-developers/forge into agetian-master 2021-04-24 10:23:45 +03:00
Michael Kamensky
45440adc01 Merge branch 'master' into 'master'
Prepare Forge for Android publish 1.6.40.001 [incremental].

See merge request core-developers/forge!4592
2021-04-24 07:22:29 +00:00
Michael Kamensky
8feaf9ed3e [maven-release-plugin] prepare for next development iteration 2021-04-24 08:26:10 +03:00
Michael Kamensky
636020d870 [maven-release-plugin] prepare release forge-1.6.40 2021-04-24 08:25:57 +03:00
Michael Kamensky
3150aa2e7c - Prepare Forge for Android publish 1.6.40.001 [incremental]. 2021-04-24 08:13:13 +03:00
swordshine
ce22449f41 Merge branch 'shadrix' into 'master'
Shadrix Silverquill: placer is target

See merge request core-developers/forge!4588
2021-04-24 03:04:02 +00:00
swordshine
1c938b5d29 Merge branch 'arix' into 'master'
Arixmethes: always remove counter

See merge request core-developers/forge!4590
2021-04-24 03:03:39 +00:00
swordshine
0493104beb Merge branch 'master' into 'master'
update translations

See merge request core-developers/forge!4591
2021-04-24 03:02:56 +00:00
CCTV-1
9786d9f927 update cmc translation,add missing translation. 2021-04-24 10:39:37 +08:00
CCTV-1
73e5254e2b add missing string 2021-04-24 10:38:51 +08:00
tool4EvEr
7c934d29ac always remove counter 2021-04-23 23:41:24 +02:00
tool4EvEr
bccbf3e55e Add more logic 2021-04-23 23:04:05 +02:00
tool4EvEr
8196ee531a AI: basic support playing MDFC lands 2021-04-23 22:43:14 +02:00
tool4EvEr
39729cb3da placer is target 2021-04-23 22:00:40 +02:00
tool4EvEr
cdc1f6014e also filter simultaneousStackEntryList 2021-04-23 21:25:58 +02:00
Michael Kamensky
aadfdac4c5 Merge branch 'Williams-master-patch-36117' into 'master'
SLD Dr Lair Secretorium Super Drop

See merge request core-developers/forge!4583
2021-04-23 19:17:23 +00:00
John
2e358116c2 Update Secret Lair Drop Series.txt 2021-04-23 14:50:59 +00:00
swordshine
71d88523b2 Merge branch 'update_japanese_localization_mana_value' into 'master'
Update Mana Value in Japanese Localization

See merge request core-developers/forge!4582
2021-04-23 10:12:14 +00:00
swordshine
65e702aed7 Merge branch 'patch' into 'master'
More cleanup

See merge request core-developers/forge!4585
2021-04-23 10:07:58 +00:00
sowrdshine
99bb45d96a More cleanup 2021-04-23 18:07:04 +08:00
swordshine
4f41be641a Merge branch 'patch' into 'master'
Fixed Leyline Invocation

See merge request core-developers/forge!4584
2021-04-23 09:18:45 +00:00
sowrdshine
5ab030242b Fixed Leyline Invocation 2021-04-23 17:17:34 +08:00
John
736d9bbd98 Update Secret Lair Drop Series.txt 2021-04-23 08:23:48 +00:00
Lyu Zong-Hong
6295ebdb09 Update Mana Value in Japanese Localization 2021-04-23 13:35:44 +09:00
Michael Kamensky
380a27b83d Merge branch 'update_in_game_text' into 'master'
Update in-game text and also English and Japanese localization (CMC -> mana value and etc.)

See merge request core-developers/forge!4581
2021-04-23 04:30:06 +00:00
Michael Kamensky
691af037a4 Merge branch 'phoenix' into 'master'
Retriever Phoenix: Fix check

See merge request core-developers/forge!4577
2021-04-23 04:29:03 +00:00
Michael Kamensky
70cb78a67d Merge branch 'scrollmenu' into 'master'
Support scrolling when abilities Popup has too many entries

See merge request core-developers/forge!4567
2021-04-23 04:28:50 +00:00
Michael Kamensky
4bd5fe0178 Merge branch 'changetargetsai' into 'master'
ChangeTargetsAI: Improve decision making

See merge request core-developers/forge!4569
2021-04-23 04:27:57 +00:00
Michael Kamensky
babd80edd9 Merge branch 'update_oracle_stx' into 'master'
Update Oracle after STX release

See merge request core-developers/forge!4564
2021-04-23 04:27:30 +00:00
Alumi
74e4efba52 Update Oracle after STX release 2021-04-23 04:27:27 +00:00
Lyu Zong-Hong
2d7e88a8c2 Update in-game text and also English and Japanese localization 2021-04-23 11:01:34 +09:00
Anthony Calosa
d82c8d466a Merge branch 'master' into 'master'
update check

See merge request core-developers/forge!4580
2021-04-23 01:15:12 +00:00
Sol
9edbbf399f Merge branch 'esix' into 'master'
Esix: Script typo

See merge request core-developers/forge!4575
2021-04-23 01:13:11 +00:00
Anthony Calosa
345316b9b0 update check 2021-04-23 09:12:02 +08:00
Anthony Calosa
0bb6636613 Merge branch 'master' into 'master'
[Android] add option to use obb directory as assets directory for Forge

See merge request core-developers/forge!4579
2021-04-22 23:14:25 +00:00
Anthony Calosa
1929b75e34 [Android] add option to use obb directory as assets directory for Forge 2021-04-23 06:45:35 +08:00
tool4EvEr
245827825e Fix check 2021-04-22 20:41:36 +02:00
Bug Hunter
fc9f81c5c9 Merge branch 'fixplaymain1' into 'master'
Fix PlayMain1 scripts

See merge request core-developers/forge!4576
2021-04-22 18:15:13 +00:00
tool4EvEr
987dce2643 Fix PlayMain1 scripts 2021-04-22 20:14:31 +02:00
tool4EvEr
4f2abad39d Script typo 2021-04-22 20:03:19 +02:00
tool4EvEr
354000082b Clean up 2021-04-22 18:50:06 +02:00
Michael Kamensky
b8e87604c2 Merge branch 'master' into 'master'
Achievements for STX and C21 by Marek.

See merge request core-developers/forge!4574
2021-04-22 16:36:16 +00:00
Michael Kamensky
49f7ad1281 - Achievements for STX and C21 by Marek. 2021-04-22 19:35:37 +03:00
Michael Kamensky
6731cdcc9d Merge branch 'twosat-master-patch-53531' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4571
2021-04-22 16:25:21 +00:00
Michael Kamensky
5306510ec1 Merge branch 'nacatl' into 'master'
Nacatl War-Pride and support

See merge request core-developers/forge!4572
2021-04-22 16:25:15 +00:00
Northmoc
e8c0655186 allow precon cards in Planar Conquest 2021-04-22 12:18:42 -04:00
Northmoc
18d0bf1c7b Add support for keyword: CARDNAME must be blocked by exactly one creature if able. 2021-04-22 12:00:18 -04:00
Northmoc
0b9755405e nacatl_war_pride.txt 2021-04-22 11:58:36 -04:00
Andreas Bendel
8b7a183e63 Update de-DE.properties
CMC is now Mana Value
2021-04-22 15:20:52 +00:00
Tim Mocny
7a094478f3 Merge branch 'typo' into 'master'
teachings_of_the_archaics.txt only 3 cards

See merge request core-developers/forge!4570
2021-04-22 14:07:47 +00:00
Michael Kamensky
bd063c71f8 Merge branch 'fixNPE' into 'master'
Rework ceaseToExist

See merge request core-developers/forge!4559
2021-04-22 11:25:36 +00:00
Michael Kamensky
693ef6c4d3 Merge branch 'countersMove' into 'master'
CountersMoveAI: Improve logic for Ozolith

See merge request core-developers/forge!4568
2021-04-22 05:03:54 +00:00
tool4EvEr
60a02cd2a5 Improve decision making for multiplayer 2021-04-22 00:08:19 +02:00
tool4EvEr
e25c7dac4a Improve logic for Ozolith 2021-04-21 22:32:37 +02:00
tool4EvEr
d918cade67 Hold triggers until all cards are processed 2021-04-21 21:07:47 +02:00
tool4EvEr
982400b74d Clean up 2021-04-21 20:50:13 +02:00
tool4EvEr
c00a384591 Add MouseWheel support 2021-04-21 19:55:14 +02:00
Michael Kamensky
b0e1630fc5 Merge branch 'tokens' into 'master'
update some token lists

See merge request core-developers/forge!4566
2021-04-21 17:52:24 +00:00
tool4EvEr
50ffd7b4a9 Support scrolling when Popup has too many entries 2021-04-21 19:37:05 +02:00
Northmoc
e4e75a5f73 update some token lists 2021-04-21 13:18:27 -04:00
Northmoc
7da4381d38 update some token lists 2021-04-21 13:18:27 -04:00
Hans Mackowiak
ef8076b626 GameEntityCounterTable: fix NPE and filterToRemove 2021-04-21 17:35:41 +02:00
Bug Hunter
ab5f5c1ce9 Merge branch 'yarok' into 'master'
Yarok: Fix staticability check

See merge request core-developers/forge!4565
2021-04-21 15:26:05 +00:00
tool4EvEr
6d442b12a0 Yarok: Fix staticability check 2021-04-21 17:25:42 +02:00
Sol
0019f83e33 Merge branch 'breena' into 'master'
Fix Breena Trigger

See merge request core-developers/forge!4560
2021-04-21 14:13:20 +00:00
Hans Mackowiak
f3011b1790 Merge branch 'fixMana' into 'master'
Fix mana conversion checking wrong card from hand

See merge request core-developers/forge!4561
2021-04-21 04:36:17 +00:00
Hans Mackowiak
ea79f84b71 Merge branch 'fixyarok' into 'master'
Fix Yarok

See merge request core-developers/forge!4562
2021-04-21 04:35:53 +00:00
tool4EvEr
040d6929dc Fix Yarok 2021-04-20 23:15:32 +02:00
tool4EvEr
2fe9c38fff Fix mana conversion checking wrong card from hand 2021-04-20 20:21:39 +02:00
tool4EvEr
256b54b6b5 Fix Breena Trigger 2021-04-20 19:01:57 +02:00
Michael Kamensky
062ad5d92f Merge branch 'esix_fractal_bloom' into 'master'
Add Esix, Fractal Bloom and necessary supports

See merge request core-developers/forge!4557
2021-04-20 16:44:22 +00:00
Michael Kamensky
5806ef248f Merge branch 'ee' into 'master'
Last STX card! elemental_expressionist.txt

See merge request core-developers/forge!4554
2021-04-20 16:44:04 +00:00
Michael Kamensky
257fcf1b3d Merge branch 'elspeth' into 'master'
AI: Fix Elspeth Conquers Death

See merge request core-developers/forge!4552
2021-04-20 16:43:47 +00:00
tool4EvEr
284db016a0 Rework ceaseToExist 2021-04-20 18:28:01 +02:00
tool4EvEr
5e2898f0ae Improve Counter check 2021-04-20 17:29:20 +02:00
Northmoc
207408ae20 elemental_expressionist.txt 2021-04-20 08:59:54 -04:00
Bug Hunter
2843ca9b49 Merge branch 'TRT-master-patch-20042' into 'master'
Update forge-gui/res/cardsfolder/upcoming/detention_vortex.txt

See merge request core-developers/forge!4558
2021-04-20 12:05:08 +00:00
Bug Hunter
efc09d8a3f Update forge-gui/res/cardsfolder/upcoming/detention_vortex.txt 2021-04-20 12:03:43 +00:00
Lyu Zong-Hong
e6714bf45e Add Esix, Fractal Bloom and necessary supports 2021-04-20 20:47:22 +09:00
Michael Kamensky
8049e2c322 Merge branch 'update_japanese_translation' into 'master'
Update Japanese Card Translation

See merge request core-developers/forge!4556
2021-04-20 11:45:46 +00:00
Lyu Zong-Hong
fdb0db2d41 Update Japanese Card Translation 2021-04-20 19:54:12 +09:00
Michael Kamensky
7465031d44 Merge branch 'fixTriggerCardState' into 'master'
TriggerHandler: fix setting CardState for Trigger

See merge request core-developers/forge!4555
2021-04-20 07:17:09 +00:00
Hans Mackowiak
15eb3a421d TriggerHandler: fix setting CardState for Trigger 2021-04-20 08:45:48 +02:00
Michael Kamensky
ec52a07fe9 Merge branch 'clone' into 'master'
Temporary clones: restore Remembered/Imprinted

Closes #1792

See merge request core-developers/forge!4490
2021-04-20 04:00:42 +00:00
Bug Hunter
b7a475cc0a Temporary clones: restore Remembered/Imprinted 2021-04-20 04:00:41 +00:00
Michael Kamensky
aed022d099 Merge branch 'master' into 'master'
[Mobile] Update LibGDX to 1.10.0, Update Mobile Dev to LWJGL3

See merge request core-developers/forge!4548
2021-04-20 03:59:15 +00:00
Michael Kamensky
86b37e7df0 Merge branch 'chaos' into 'master'
Chaos Warp: Fix wrong target

See merge request core-developers/forge!4551
2021-04-20 03:58:15 +00:00
Michael Kamensky
09e9b46efd Merge branch 'cleanup' into 'master'
Fixes - 19 Apr

See merge request core-developers/forge!4553
2021-04-20 03:58:06 +00:00
Hans Mackowiak
90b685c15d Merge branch 'causeRemoval' into 'master'
remove AbilityUtils.getCause

See merge request core-developers/forge!4550
2021-04-20 00:01:50 +00:00
Northmoc
daedffc0da specter_of_the_fens.txt add Flying! 2021-04-19 15:53:25 -04:00
Northmoc
c489f88f77 brainstorm.txt cleanup Descs 2021-04-19 15:50:55 -04:00
tool4EvEr
33779bb6cf AI: Fix Elspeth Conquers Death 2021-04-19 19:56:13 +02:00
tool4EvEr
660806fb7c Fix wrong target 2021-04-19 19:31:46 +02:00
Hans Mackowiak
40a52ed00b remove AbilityUtils.getCause 2021-04-19 18:12:16 +02:00
Michael Kamensky
c216498198 Merge branch 'master' into 'master'
Update cards translations

See merge request core-developers/forge!4540
2021-04-19 13:52:31 +00:00
Michael Kamensky
547c887c0b Merge branch 'master' into 'master'
Add a NPE guard to ChooseGenericEffectAi

See merge request core-developers/forge!4549
2021-04-19 13:51:41 +00:00
Michael Kamensky
dfe23da44d - Add a NPE guard to ChooseGenericEffectAi 2021-04-19 16:51:00 +03:00
Anthony Calosa
a5e8b88e32 [Mobile] Update LibGDX to 1.10.0, Update Mobile Dev to LWJGL3
refer here for LibGDX Migration/Changes: https://libgdx.com/news/2021/04/the-ultimate-migration-guide
2021-04-19 21:41:34 +08:00
Hans Mackowiak
539c94f36f fix descendants path 2021-04-19 15:02:40 +02:00
Churrufli
fce5ae0498 Merge branch 'master' of https://git.cardforge.org/core-developers/forge 2021-04-19 13:09:01 +02:00
Hans Mackowiak
8fbf96098e CountersPutAi: fix NPE in Polukranos 2021-04-19 13:08:19 +02:00
Hans Mackowiak
c8b43fa8ab Kwain: fix Ability Description 2021-04-19 13:08:19 +02:00
Michael Kamensky
9f305347a8 Merge branch 'PolukranosLogicFix' into 'master'
CountersPutAi: fix NPE in Polukranos

See merge request core-developers/forge!4547
2021-04-19 10:37:47 +00:00
Hans Mackowiak
94d826d2a4 CountersPutAi: fix NPE in Polukranos 2021-04-19 10:37:23 +00:00
Hans Mackowiak
118cf70e40 Kwain: fix Ability Description 2021-04-19 10:21:43 +02:00
Bug Hunter
895d8d594b Bishop of Binding: Update script 2021-04-19 09:07:44 +02:00
tool4EvEr
60ce467859 Fix wrong activator 2021-04-19 09:07:44 +02:00
tool4EvEr
6efa58006e Fix getReflectableManaColors 2021-04-19 09:07:43 +02:00
paul_snoops
f253019daf Brawl STX update 2021-04-19 09:07:43 +02:00
Alumi
8600aceb64 Fix STX typos in edition file 2021-04-19 09:07:43 +02:00
tool4EvEr
a358af534a Improve logic for preventing loops 2021-04-19 09:07:43 +02:00
Anthony Calosa
d080676997 Update mila_crafty_companion_lukka_wayward_bonder.txt 2021-04-19 09:07:43 +02:00
Anthony Calosa
b3412fcfb4 fix lukka wayward bonder ability 2021-04-19 09:07:43 +02:00
Adam Pantel
b5e3db279d Mill quick fix 2021-04-19 09:07:43 +02:00
Adam Pantel
a29ca46ca3 Add ChangesZoneAll trigger in GameAction 2021-04-19 09:07:43 +02:00
Adam Pantel
2fe54a28b1 Add TriggerZones 2021-04-19 09:07:43 +02:00
Adam Pantel
6f9bc11078 Costs should trigger Ranar/Laelia 2021-04-19 09:07:43 +02:00
Northmoc
cd5186cd0d jesters_cap.txt + Mandatory 2021-04-19 09:07:43 +02:00
Northmoc
34cdc299b7 + Mandatory to some ChangeZone effects 2021-04-19 09:07:42 +02:00
Northmoc
274a3f78f2 rampaging_cyclops.txt CheckSVar -> IsPresent 2021-04-19 09:07:42 +02:00
Northmoc
0e31ad96a5 coralhelm_commander.txt + PresentCompare 2021-04-19 09:07:42 +02:00
Northmoc
b191e4d83a beastbreaker_of_bala_ged.txt CheckSVar -> IsPresent 2021-04-19 09:07:42 +02:00
Northmoc
16c554aa43 angelic_field_marshal.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:42 +02:00
Northmoc
80550cd42e battle_brawler.txt CheckSVar -> IsPresent 2021-04-19 09:07:42 +02:00
Northmoc
3ac28aa279 desperate_castaways.txt CheckSVar -> IsPresent 2021-04-19 09:07:42 +02:00
Northmoc
f16ea99cbc angelic_voices.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:42 +02:00
Northmoc
d4353bd237 woodborn_behemoth.txt CheckSVar -> IsPresent 2021-04-19 09:07:42 +02:00
Northmoc
8efa82abc2 drover_of_the_mighty.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:42 +02:00
Northmoc
a5f42f77ad aeronaut_tinkerer.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:42 +02:00
Northmoc
384314d9ab gate_hound.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:41 +02:00
Northmoc
56d63a46bf angelic_overseer.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:41 +02:00
Northmoc
da00ccff58 court_homunculus.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:41 +02:00
Northmoc
313d5ab762 dauntless_dourbark.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:41 +02:00
Northmoc
a569029c40 coralhelm_commander.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:41 +02:00
Northmoc
04748cf03f abzan_kin_guard.txt CheckSVar -> IsPresent 2021-04-19 09:07:41 +02:00
Northmoc
91871fb96d ember_weaver.txt CheckSVar -> IsPresent 2021-04-19 09:07:41 +02:00
Northmoc
7292a12ff4 nightfire_giant.txt CheckSVar -> IsPresent 2021-04-19 09:07:41 +02:00
Northmoc
9b04e8ff38 cliffrunner_behemoth.txt CheckSVar -> IsPresent 2021-04-19 09:07:41 +02:00
Northmoc
b85a2ea6d2 pterodon_knight.txt CheckSVar -> IsPresent 2021-04-19 09:07:41 +02:00
Northmoc
da6c134540 kondas_hatamoto.txt CheckSVar -> IsPresent 2021-04-19 09:07:40 +02:00
Northmoc
e09da1a600 jund_hackblade.txt CheckSVar -> IsPresent 2021-04-19 09:07:40 +02:00
Northmoc
5aa1f9863d ashenmoor_cohort.txt CheckSVar -> IsPresent 2021-04-19 09:07:40 +02:00
Northmoc
1eeb3637e8 villainous_ogre.txt CheckSVar -> IsPresent, AI 2021-04-19 09:07:40 +02:00
Northmoc
79e229467e ereboss_titan.txt CheckSVar -> IsPresent 2021-04-19 09:07:40 +02:00
Northmoc
d483ea7f47 - add SelectPrompt 2021-04-19 09:07:40 +02:00
Northmoc
4e4b31a0d5 bond_of_insight.txt clean up StackDesc and AI 2021-04-19 09:07:40 +02:00
Northmoc
eb38c1ec15 shadrix_silverquill.txt improve TgtPrompts for modes 2021-04-19 09:07:40 +02:00
Northmoc
b33406da4d garrison_sergeant.txt use IsPresent, improve AI 2021-04-19 09:07:40 +02:00
Northmoc
10f4da71b8 gravecrawler.txt fix static and typos, add AI 2021-04-19 09:07:40 +02:00
Michael Kamensky
6d27a8e489 Merge branch 'bishop' into 'master'
Bishop of Binding: Update script

See merge request core-developers/forge!4544
2021-04-19 04:22:11 +00:00
Bug Hunter
c63477c34e Bishop of Binding: Update script 2021-04-19 04:22:10 +00:00
Michael Kamensky
761d1877fa Merge branch 'fixmana' into 'master'
Fix getReflectableManaColors

See merge request core-developers/forge!4537
2021-04-18 14:11:59 +00:00
tool4EvEr
cf4dbf6ed9 Fix wrong activator 2021-04-18 14:11:46 +00:00
tool4EvEr
53e2df8aa2 Fix getReflectableManaColors 2021-04-18 14:11:46 +00:00
Michael Kamensky
07278de968 Merge branch 'brawl' into 'master'
Brawl STX update

See merge request core-developers/forge!4543
2021-04-18 14:11:28 +00:00
paul_snoops
6710c47db0 Brawl STX update 2021-04-18 14:11:17 +00:00
Michael Kamensky
a5cc820ea6 Merge branch 'fix_stx_typos' into 'master'
Fix STX typos in edition file

See merge request core-developers/forge!4541
2021-04-18 14:10:02 +00:00
Alumi
5eb95980bf Fix STX typos in edition file 2021-04-18 14:10:02 +00:00
Michael Kamensky
57cc0e920a Merge branch 'cloneAI' into 'master'
CloneAI: Improve logic for preventing loops

See merge request core-developers/forge!4545
2021-04-18 14:09:12 +00:00
tool4EvEr
902b707b5e Improve logic for preventing loops 2021-04-18 15:32:50 +02:00
Anthony Calosa
98600e9a19 Merge branch 'kevlahnota-master-patch-80770' into 'master'
fix lukka wayward bonder ability

See merge request core-developers/forge!4542
2021-04-18 06:43:21 +00:00
Anthony Calosa
fbf8ac4883 Update mila_crafty_companion_lukka_wayward_bonder.txt 2021-04-18 06:41:45 +00:00
Anthony Calosa
4c7a25407a fix lukka wayward bonder ability 2021-04-18 06:24:02 +00:00
Michael Kamensky
af9359850d Merge branch 'ranar-2' into 'master'
Some Ranar/Laelia fixes

See merge request core-developers/forge!4538
2021-04-18 04:19:44 +00:00
Adam Pantel
abe5638af5 Mill quick fix 2021-04-18 04:19:32 +00:00
Adam Pantel
c45e8a11d7 Add ChangesZoneAll trigger in GameAction 2021-04-18 04:19:32 +00:00
Adam Pantel
62ef84ea07 Add TriggerZones 2021-04-18 04:19:32 +00:00
Adam Pantel
17b5098602 Costs should trigger Ranar/Laelia 2021-04-18 04:19:32 +00:00
Michael Kamensky
272a7afe9e Merge branch 'fix' into 'master'
Fixes - 4/17

See merge request core-developers/forge!4539
2021-04-18 04:17:57 +00:00
Northmoc
9c7fa1a6a8 jesters_cap.txt + Mandatory 2021-04-17 19:34:26 -04:00
Northmoc
38a050dd13 + Mandatory to some ChangeZone effects 2021-04-17 19:32:18 -04:00
Northmoc
377396d77c rampaging_cyclops.txt CheckSVar -> IsPresent 2021-04-17 19:26:39 -04:00
Northmoc
80fc8eddb9 coralhelm_commander.txt + PresentCompare 2021-04-17 19:25:01 -04:00
Northmoc
d9c23ece15 beastbreaker_of_bala_ged.txt CheckSVar -> IsPresent 2021-04-17 19:23:26 -04:00
Northmoc
84a913451f angelic_field_marshal.txt CheckSVar -> IsPresent, AI 2021-04-17 19:19:41 -04:00
Northmoc
59794efc95 battle_brawler.txt CheckSVar -> IsPresent 2021-04-17 19:15:38 -04:00
Northmoc
13977a07e5 desperate_castaways.txt CheckSVar -> IsPresent 2021-04-17 19:15:37 -04:00
Northmoc
b1eb8bd8ec angelic_voices.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:37 -04:00
Northmoc
69043cfd1c woodborn_behemoth.txt CheckSVar -> IsPresent 2021-04-17 19:15:36 -04:00
Northmoc
f34c713e7e drover_of_the_mighty.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:36 -04:00
Northmoc
e180bf21a7 aeronaut_tinkerer.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:35 -04:00
Northmoc
fdaaa4be30 gate_hound.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:35 -04:00
Northmoc
4db445dd3e angelic_overseer.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:34 -04:00
Northmoc
530d4c0b08 court_homunculus.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:34 -04:00
Northmoc
100ce6ded9 dauntless_dourbark.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:33 -04:00
Northmoc
03deb78aab coralhelm_commander.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:33 -04:00
Northmoc
bb220366be abzan_kin_guard.txt CheckSVar -> IsPresent 2021-04-17 19:15:32 -04:00
Northmoc
cd4e4a0892 ember_weaver.txt CheckSVar -> IsPresent 2021-04-17 19:15:32 -04:00
Northmoc
aa42c302aa nightfire_giant.txt CheckSVar -> IsPresent 2021-04-17 19:15:31 -04:00
Northmoc
5128557e4e cliffrunner_behemoth.txt CheckSVar -> IsPresent 2021-04-17 19:15:31 -04:00
Northmoc
a181f5d1db pterodon_knight.txt CheckSVar -> IsPresent 2021-04-17 19:15:31 -04:00
Northmoc
5e3bc6c507 kondas_hatamoto.txt CheckSVar -> IsPresent 2021-04-17 19:15:30 -04:00
Northmoc
b11a9557d7 jund_hackblade.txt CheckSVar -> IsPresent 2021-04-17 19:15:30 -04:00
Northmoc
593e172832 ashenmoor_cohort.txt CheckSVar -> IsPresent 2021-04-17 19:15:29 -04:00
Northmoc
6b62a7fde3 villainous_ogre.txt CheckSVar -> IsPresent, AI 2021-04-17 19:15:29 -04:00
Northmoc
9a80028ec7 ereboss_titan.txt CheckSVar -> IsPresent 2021-04-17 19:15:28 -04:00
Northmoc
1252e22743 - add SelectPrompt 2021-04-17 19:15:28 -04:00
Northmoc
a3a25d9bef bond_of_insight.txt clean up StackDesc and AI 2021-04-17 19:15:27 -04:00
Northmoc
08fa3a5768 shadrix_silverquill.txt improve TgtPrompts for modes 2021-04-17 19:15:27 -04:00
Northmoc
52cd521902 garrison_sergeant.txt use IsPresent, improve AI 2021-04-17 19:15:26 -04:00
Northmoc
6dd5f1991f gravecrawler.txt fix static and typos, add AI 2021-04-17 19:15:26 -04:00
Churrufli
d3d29e03be Update cards translations 2021-04-18 00:07:34 +02:00
Michael Kamensky
2ddc88dd87 Merge branch 'mudfix' into 'master'
Mudslide cleanup

See merge request core-developers/forge!4535
2021-04-17 14:46:22 +00:00
tool4EvEr
f768aa360f Mudslide cleanup 2021-04-17 14:46:07 +00:00
Bug Hunter
5ba12d009b Merge branch 'ringtypo' into 'master'
Replicating Ring: Fix typo

See merge request core-developers/forge!4536
2021-04-17 10:59:02 +00:00
tool4EvEr
6259891312 Replicating Ring: Fix typo 2021-04-17 12:58:14 +02:00
Michael Kamensky
fad59e4a0f Merge branch 'fix' into 'master'
Fixes - 16 Apr

See merge request core-developers/forge!4532
2021-04-17 04:23:48 +00:00
Michael Kamensky
81852fe8c6 Merge branch 'ranar-2' into 'master'
Ranar v2

See merge request core-developers/forge!4534
2021-04-17 04:22:26 +00:00
Adam Pantel
b33e262de6 Ranar v2 2021-04-17 04:22:25 +00:00
Northmoc
7963919b72 dungeon_master.txt rogue "" 2021-04-16 18:48:59 -04:00
Northmoc
e7f87478b4 fix SpellDesc 2021-04-16 18:00:51 -04:00
Northmoc
c6b8d95747 ruthless_winnower.txt tidy up 2021-04-16 17:22:35 -04:00
Anthony Calosa
8468c5ac52 Merge branch 'master' into 'master'
refactor decompression

See merge request core-developers/forge!4533
2021-04-16 19:42:50 +00:00
Northmoc
27d7ae4b78 allow Coalition Honor Guard in MB1 boosters 2021-04-16 15:38:25 -04:00
Anthony Calosa
fffd2afe5e refactor decompression 2021-04-17 03:27:46 +08:00
Anthony Calosa
15ba670d5a Merge remote-tracking branch 'remotes/core/master' 2021-04-17 00:49:09 +08:00
Northmoc
7e7279a642 wandering_archaic_explore_the_vastlands.txt add Controller$ You to CopySpellAbility 2021-04-16 10:34:56 -04:00
Northmoc
1b765e2408 sky_swallower.txt fix GainControl line 2021-04-16 10:32:25 -04:00
Northmoc
db0ae9253e mage_duel.txt remove bad Cost 2021-04-16 10:28:47 -04:00
Bug Hunter
5573218794 Merge branch 'Northmoc-master-patch-13728' into 'master'
Update lorehold_pledgemage.txt

See merge request core-developers/forge!4531
2021-04-16 14:27:55 +00:00
Northmoc
6e38f16c83 mentors_guidance.txt remove bad Cost 2021-04-16 10:26:45 -04:00
Northmoc
4f0d2370ac bold_plagiarist.txt TriggerZone 2021-04-16 10:26:44 -04:00
Tim Mocny
f49f677107 Update lorehold_pledgemage.txt 2021-04-16 14:18:53 +00:00
Michael Kamensky
cbb11ea723 Merge branch 'kardur' into 'master'
Remove Goad from Kardur

See merge request core-developers/forge!4527
2021-04-16 12:44:41 +00:00
Michael Kamensky
566d011e2e Merge branch 'Williams-master-patch-46381' into 'master'
C21 Tokens

See merge request core-developers/forge!4529
2021-04-16 12:43:34 +00:00
Michael Kamensky
1d2a62d06c Merge branch 'svarsStackInstance' into 'master'
StackInstance only store direct SVars

See merge request core-developers/forge!4528
2021-04-16 12:43:19 +00:00
Hans Mackowiak
743163fce7 StackInstance only store direct SVars 2021-04-16 12:43:19 +00:00
Michael Kamensky
afe5333c88 Merge branch 'filter_more_targetable_cards' into 'master'
Filter more cards in getTargetableCards

See merge request core-developers/forge!4513
2021-04-16 12:41:10 +00:00
John
3bf15b5a35 Update Commander 2021.txt 2021-04-16 08:10:23 +00:00
Hans Mackowiak
1c9cfbc4bb Merge branch 'card-fixes' into 'master'
Fix Zurzoth, Akiri

See merge request core-developers/forge!4519
2021-04-16 07:15:29 +00:00
Adam Pantel
65093b0388 Fix Zurzoth, Akiri 2021-04-16 07:15:29 +00:00
Anthony Calosa
e2320ea77c Merge remote-tracking branch 'remotes/core/master' 2021-04-16 13:30:25 +08:00
Michael Kamensky
59f414f707 Merge branch 'fixmp' into 'master'
Fix Multiplayer LTB triggers

Closes #1324

See merge request core-developers/forge!4511
2021-04-16 04:59:35 +00:00
Michael Kamensky
2a2c12cf77 Merge branch 'titan' into 'master'
ChangeZoneTable for Triplicate Titan

See merge request core-developers/forge!4522
2021-04-16 04:58:41 +00:00
Michael Kamensky
5fd34dc967 Merge branch 'twosat-master-patch-34511' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4523
2021-04-16 04:58:26 +00:00
Michael Kamensky
65df6765da Merge branch 'shamans_trance' into 'master'
Add Shaman's Trance

See merge request core-developers/forge!4526
2021-04-16 04:56:57 +00:00
Northmoc
ff9729d27a CombatUtil.java add "quasi-goad" logic 2021-04-15 20:03:44 -04:00
Northmoc
9876741c50 kardur_doomscourge.txt remove Goad effect 2021-04-15 20:02:44 -04:00
Lyu Zong-Hong
a1f69f0732 Add Shaman's Trance 2021-04-16 08:22:37 +09:00
Andreas Bendel
8174b883a0 Update de-DE.properties
added line and translation lblRandomHistoricArchetypeDecks
translated lblInvalidTargetSpecification
2021-04-15 19:38:32 +00:00
tool4EvEr
337065271e ChangeZoneTable for Triplicate Titan 2021-04-15 21:27:31 +02:00
Anthony Calosa
01dd0e7fc4 Merge remote-tracking branch 'remotes/core/master' 2021-04-16 03:15:02 +08:00
Anthony Calosa
f3ee08ab9a Merge branch 'master' into 'master'
add tokenscript

Closes #1803

See merge request core-developers/forge!4521
2021-04-15 19:09:34 +00:00
Anthony Calosa
ba08c09607 fix triplicate titan 2021-04-15 19:09:29 +00:00
Anthony Calosa
aecfd12911 remove accidental commit 2021-04-16 03:07:54 +08:00
Anthony Calosa
c081e48467 fix triplicate titan 2021-04-16 03:05:40 +08:00
tool4EvEr
237b0324c1 Clean up 2021-04-15 20:26:28 +02:00
tool4EvEr
5aaf39f40b LTB triggers for opponents 2021-04-15 20:20:52 +02:00
austinio7116
7a4ed29945 Merge branch 'historicsanctionfix' into 'master'
Historic GA fix

See merge request core-developers/forge!4520
2021-04-15 17:59:59 +00:00
austinio7116
84014ce9b5 Historic GA fix 2021-04-15 18:56:25 +01:00
austinio7116
08c8e84d72 Merge branch 'ldabuildonly2' into 'master'
LDA module build fixes

See merge request core-developers/forge!4476
2021-04-15 16:55:40 +00:00
tool4EvEr
43171879a0 Fix logic 2021-04-15 18:54:58 +02:00
tool4EvEr
2f7a30f920 Fix Multiplayer LTB triggers 2021-04-15 18:54:57 +02:00
Anthony Calosa
27a93b318d Merge branch 'master' into 'master'
update zip decompression

Closes #1802

See merge request core-developers/forge!4518
2021-04-15 15:27:08 +00:00
Anthony Calosa
816bb2008a update zip decompression
closes #1802
2021-04-15 23:18:40 +08:00
Anthony Calosa
8eb430dffd Merge branch 'kevlahnota-master-patch-49827' into 'master'
Update CardArchetypeLDAGenerator.java

See merge request core-developers/forge!4517
2021-04-15 10:08:11 +00:00
Anthony Calosa
641b5af8eb Update CardArchetypeLDAGenerator.java 2021-04-15 10:06:33 +00:00
Anthony Calosa
38ef1e4ed9 Merge branch 'revert-ed5f5d3c' into 'master'
Revert "Update LDAModelGenetrator.java"

See merge request core-developers/forge!4516
2021-04-15 09:48:01 +00:00
Anthony Calosa
123c41b4e3 Revert "Update LDAModelGenetrator.java"
This reverts commit ed5f5d3c6b
2021-04-15 09:47:31 +00:00
Anthony Calosa
7001f17c88 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4514
2021-04-15 09:42:53 +00:00
Anthony Calosa
1f10191bc7 Merge branch 'kevlahnota-master-patch-10151' into 'master'
Update LDAModelGenetrator.java

See merge request core-developers/forge!4515
2021-04-15 09:42:23 +00:00
Anthony Calosa
ed5f5d3c6b Update LDAModelGenetrator.java 2021-04-15 09:42:04 +00:00
CCTV-1
a03bb7a353 translate new string. 2021-04-15 16:49:58 +08:00
Lyu Zong-Hong
44d4eae8a1 Filter more cards in getTargetableCards 2021-04-15 16:15:59 +09:00
Michael Kamensky
22ffcf5660 Merge branch 'historicLDA' into 'master'
Historic Archetype Random Deck Generation

See merge request core-developers/forge!4488
2021-04-15 06:30:19 +00:00
Michael Kamensky
f40ea6cc8d Merge branch 'rainbow' into 'master'
Fix DelayedTriggers running when card owner left game

See merge request core-developers/forge!4512
2021-04-15 06:30:05 +00:00
Hans Mackowiak
adfcb2b4bf Merge branch 'facedownYedoraMutate' into 'master'
Card: changed some logic with facedown and copy states

See merge request core-developers/forge!4506
2021-04-15 05:59:29 +00:00
Hans Mackowiak
8d42be3bac Card: changed some logic with facedown and copy states 2021-04-15 05:59:28 +00:00
tool4EvEr
e2036a5203 Clean delayedTriggers from player who lost 2021-04-14 22:58:08 +02:00
tool4EvEr
7107f05adb Fix DelayedTriggers running when card owner left game 2021-04-14 22:12:14 +02:00
austinio7116
529fc42b72 Merge branch 'coremaster' into historicLDA
# Conflicts:
#	forge-gui/res/formats/Sanctioned/Historic.txt
2021-04-14 19:09:01 +01:00
Michael Kamensky
7808605a8c Merge branch 'fix' into 'master'
Some fixes

See merge request core-developers/forge!4508
2021-04-14 18:08:07 +00:00
Michael Kamensky
0930013cc2 Merge branch 'card-fixes' into 'master'
Adrix and Nev only applies to you.

See merge request core-developers/forge!4509
2021-04-14 18:07:58 +00:00
Michael Kamensky
51054b70d6 Merge branch 'codie' into 'master'
[C21] Codie tweaks

See merge request core-developers/forge!4507
2021-04-14 18:07:20 +00:00
Michael Kamensky
471fb621e5 Merge branch 'flagbearer' into 'master'
Add Flagbearer

See merge request core-developers/forge!4495
2021-04-14 18:06:56 +00:00
Alumi
1e0c3e7621 Check if chosen targets meets MustTarget requirements in setupTargets() too. (For spell that has multiple targeting SAs) 2021-04-14 18:06:55 +00:00
Northmoc
a75d312770 oversimplify.txt - RememberLKI needed 2021-04-14 13:21:52 -04:00
austinio7116
0fd2ec58be Merge remote-tracking branch 'Core/master' into coremaster 2021-04-14 18:13:19 +01:00
Northmoc
be484a8077 fix oversimplify.txt 2021-04-14 13:07:06 -04:00
Adam Pantel
3d8388ad92 Adrix and Nev only applies to you. 2021-04-14 12:52:00 -04:00
Northmoc
7a5eac3621 support "an opponent" choosing for multiplayer (and add AI hint) 2021-04-14 12:19:31 -04:00
Hans Mackowiak
ce34e937d6 CostExile: fixed exile cost with mana value X 2021-04-14 17:48:42 +02:00
Northmoc
c8646208f0 codie_vociferous_codex.txt add AI hints 2021-04-14 11:39:20 -04:00
Northmoc
3ed83e4f59 codie_vociferous_codex.txt - add ThisTurn$ to delayed trigger - add MayPlay Effect 2021-04-14 11:33:20 -04:00
Northmoc
ebe6a12555 allow no reordering on zones other than library 2021-04-14 11:28:59 -04:00
Northmoc
1727456487 digsite_engineer.txt DB -> AB 2021-04-14 10:37:29 -04:00
swordshine
ef895777ca Merge branch 'master' into 'master'
Card cleanup and Historic update

See merge request core-developers/forge!4505
2021-04-14 10:58:48 +00:00
swordshine
33fa10e9c1 Merge branch 'emblazoned_golem_remove_max_limit' into 'master'
Remove X max limit for Emblazoned Golem

See merge request core-developers/forge!4503
2021-04-14 10:56:51 +00:00
Hythonia
1f9094caec Removed semicolon 2021-04-14 12:43:33 +02:00
Hythonia
9a5c58aae8 Add Strixhaven and Mystical Archives 2021-04-14 12:41:40 +02:00
Hythonia
1b1e6c394d Card cleanup and Historic update 2021-04-14 12:38:17 +02:00
Anthony Calosa
504872ac1e Merge branch 'master' into 'master'
remove extra svar

See merge request core-developers/forge!4504
2021-04-14 10:07:40 +00:00
Anthony Calosa
edc40f4a6c remove extra svar 2021-04-14 18:06:27 +08:00
Lyu Zong-Hong
7b6e08f791 Remove X max limit for Emblazoned Golem 2021-04-14 16:29:57 +09:00
Michael Kamensky
b184db2ee6 Merge branch 'morophon' into 'master'
Add AILogic to Morophon, the Boundless and move two scripts into correct folders

See merge request core-developers/forge!4500
2021-04-14 06:37:04 +00:00
Michael Kamensky
d10bf7fa35 Merge branch 'fixplay' into 'master'
Once Upon A Time: Fix AltCost

Closes #1801

See merge request core-developers/forge!4501
2021-04-14 06:36:54 +00:00
Michael Kamensky
ce20d21f4c Merge branch 'khm_rankings' into 'master'
KHM updated rankings + nonbasic land rankings!

See merge request core-developers/forge!4502
2021-04-14 06:36:47 +00:00
Michael Kamensky
48a35746a0 Merge branch 'c21_11' into 'master'
promise_of_loyalty.txt

See merge request core-developers/forge!4485
2021-04-14 06:33:19 +00:00
swordshine
bf9afd4ba1 Merge branch 'card-fixes' into 'master'
Card fixes

See merge request core-developers/forge!4499
2021-04-14 04:07:13 +00:00
Northmoc
0eb2d59ecc add AI DeckHas 2021-04-13 20:07:13 -04:00
Northmoc
b9bcfef817 promise_of_loyalty.txt 2021-04-13 20:07:13 -04:00
Northmoc
27d01500fa KHM updated rankings + nonbasic land rankings! 2021-04-13 16:39:47 -04:00
paul_snoops
d2ea3e4986 Add AILogic to Morophon, the Boundless and move to scripts into correct folders 2021-04-13 18:07:52 +01:00
Adam Pantel
b0cecebe34 Card fixes 2021-04-13 12:48:30 -04:00
tool4EvEr
f4971589c6 Fix AltCost 2021-04-13 18:26:34 +02:00
Bug Hunter
506d64dc8b Merge branch 'pennant' into 'master'
Team Pennant: Fix typo

See merge request core-developers/forge!4498
2021-04-13 16:18:36 +00:00
tool4EvEr
f56aa6cc29 Fix typo 2021-04-13 18:17:51 +02:00
Bug Hunter
a17ec8c2db Merge branch 'admiral' into 'master'
Azure Fleet Admiral: Fix typo

See merge request core-developers/forge!4497
2021-04-13 15:56:25 +00:00
tool4EvEr
a718986e2d Fix typo 2021-04-13 17:55:57 +02:00
Michael Kamensky
242e0e7fdc Merge branch 'stx_draft_fix' into 'master'
fix:stx booster missing sta and lesson cards.

See merge request core-developers/forge!4493
2021-04-13 13:40:28 +00:00
Anthony Calosa
75f7cb6df7 Merge branch 'master' into 'master'
update cards

See merge request core-developers/forge!4496
2021-04-13 13:16:01 +00:00
Anthony Calosa
cf7d0792a2 update cards 2021-04-13 21:13:46 +08:00
Hans Mackowiak
29d260db9d Cards: use CharacteristicDefining for Alternative Cost for now 2021-04-13 10:32:16 +02:00
austinio7116
d7dfad1fe8 More Historic LDA data 2021-04-13 08:27:41 +01:00
CCTV-1
82f404e627 each draft boosters should be contain 1 sta card and 1 lesson card. 2021-04-13 14:08:56 +08:00
Anthony Calosa
c49b4c45c8 Merge branch 'kevlahnota-master-patch-11851' into 'master'
finalize Commander 2021.txt

See merge request core-developers/forge!4492
2021-04-13 05:11:16 +00:00
Anthony Calosa
39f3feb210 Update Commander 2021.txt 2021-04-13 05:10:27 +00:00
Michael Kamensky
4ed89e9515 Merge branch 'bangchuckersAI' into 'master'
FlipACoinAI: add logic for Goblin Bangchuckers

Closes #1666

See merge request core-developers/forge!4487
2021-04-13 04:40:07 +00:00
Michael Kamensky
0b6989c60c Merge branch 'update_japanese_localization' into 'master'
Update Japanese Localization

See merge request core-developers/forge!4491
2021-04-13 04:39:12 +00:00
Michael Kamensky
a9139c6023 Merge branch 'nametypos' into 'master'
Make Your Mark fixes and some typos

See merge request core-developers/forge!4486
2021-04-13 04:39:00 +00:00
Michael Kamensky
2de580236e Merge branch 'refine' into 'master'
Gifts Ungiven and Intuition: eliminate ChooseCard line

See merge request core-developers/forge!4489
2021-04-13 04:38:32 +00:00
Lyu Zong-Hong
e5d4979f3e Update Japanese Localization 2021-04-13 10:13:51 +09:00
Rob Schnautz
8f00de273a october 12, 2020 banned and restricted announcement 2021-04-13 00:15:55 +00:00
Rob Schnautz
1a0f5a7460 september 28, 2020 banned and restricted announcement 2021-04-13 00:11:26 +00:00
Rob Schnautz
b0229fb528 zendikar rising historic 2021-04-13 00:07:25 +00:00
Rob Schnautz
454f1aa00a jumpstart historic 2021-04-12 23:50:25 +00:00
Rob Schnautz
12c25d786f core set 2021 historic 2021-04-12 23:46:35 +00:00
Rob Schnautz
7c65eca1fb ikoria commander historic 2021-04-12 23:40:10 +00:00
Rob Schnautz
6a87988d4c commander 2019 historic 2021-04-12 23:38:32 +00:00
Rob Schnautz
b65a17c867 commander 2018 historic 2021-04-12 23:36:11 +00:00
Rob Schnautz
f067fc9896 commander 2017 historic 2021-04-12 23:33:12 +00:00
Rob Schnautz
36cc53b4f8 commander 2016 historic 2021-04-12 23:29:37 +00:00
Rob Schnautz
497df9db96 commander 2015 historic formats 2021-04-12 23:25:53 +00:00
Rob Schnautz
26f66b0377 commander 2014 in historic formats 2021-04-12 23:20:49 +00:00
Rob Schnautz
69c448f4e6 commander 2013 in legacy / vintage historic formats 2021-04-12 23:12:56 +00:00
Rob Schnautz
df08191857 add commander to legacy and vintage historic formats 2021-04-12 23:06:52 +00:00
Rob Schnautz
bb88ff7649 ikoria lair of behemoths historic formats 2021-04-12 22:46:39 +00:00
Rob Schnautz
7329bf8eef theros beyond death historic formats 2021-04-12 22:42:40 +00:00
Rob Schnautz
a58e409665 january 13, 2020 banned and restricted announcement 2021-04-12 22:33:45 +00:00
Rob Schnautz
511a55e22c november 18, 2019 banned and restricted announcement 2021-04-12 22:30:45 +00:00
Rob Schnautz
cfa2cfeded november 4, 2019 pioneer banned and restricted announcement 2021-04-12 22:17:57 +00:00
Rob Schnautz
9d30414539 pioneer 2021-04-12 22:15:55 +00:00
Rob Schnautz
1b34de81eb october 21, 2019 banned and restricted announcement 2021-04-12 22:08:05 +00:00
Rob Schnautz
827824500b throne of eldraine historic formats 2021-04-12 22:01:23 +00:00
Rob Schnautz
35198ddbe8 august 26, 2019 banned and restricted announcement 2021-04-12 21:54:00 +00:00
Rob Schnautz
546545a800 M20 historic formats 2021-04-12 21:42:06 +00:00
Northmoc
1023cc5cb2 make_your_mark.txt remove unneeded cleanup 2021-04-12 17:15:56 -04:00
Northmoc
094cf9e400 make_your_mark.txt improve Effect behavior + add cleanup 2021-04-12 13:30:33 -04:00
Northmoc
1bc834efe8 add DeckHints 2021-04-12 13:24:32 -04:00
Northmoc
b4b039b2b0 intuition.txt eliminate ChooseCard line 2021-04-12 13:03:54 -04:00
Hans Mackowiak
d8e850673b StaticAbilityContinuous: fix GainsAbilitiesOfDefined 2021-04-12 17:56:42 +02:00
Northmoc
35d7046d69 gifts_ungiven.txt eliminate ChooseCard line 2021-04-12 11:20:36 -04:00
austinio7116
fad87abfea Historic Random Deck Generation initial data 2021-04-12 15:24:45 +01:00
Hans Mackowiak
10d10ff18d FlipACoinAI: add logic for Goblin Bangchuckers 2021-04-12 16:17:47 +02:00
Northmoc
161b99f252 elven_bow.txt remove default/bad params and desc typo 2021-04-12 09:53:58 -04:00
Northmoc
87ff260c9f dwarven_hammer.txt remove default/bad params 2021-04-12 09:51:18 -04:00
Northmoc
cc4dafa400 draugrs_helm.txt remove default/bad params 2021-04-12 09:50:22 -04:00
Northmoc
9d29904ec5 valkyries_sword.txt remove default/bad params 2021-04-12 09:48:55 -04:00
austinio7116
50be4f4ef8 Merge branch 'coremaster' into historicLDA 2021-04-12 14:46:43 +01:00
austinio7116
5f9c05080f Merge remote-tracking branch 'Core/master' into coremaster 2021-04-12 14:46:33 +01:00
Northmoc
bbfcc87a68 giants_amulet.txt tidy up 2021-04-12 09:46:00 -04:00
austinio7116
d7e9510353 Merge branch 'keeptrying' into 'master'
Improved deck naming removing "-" and updated pioneer deckgen data

See merge request core-developers/forge!4484
2021-04-12 13:45:09 +00:00
austinio7116
1a1057f56f Improved deck naming removing "-" and updated pioneer deckgen data 2021-04-12 13:45:09 +00:00
austinio7116
93ff8cfe1b Added Historic Random Deck Generation 2021-04-12 14:36:57 +01:00
Northmoc
4d05e085ef raiders_karve.txt fix TrigDesc 2021-04-12 09:24:25 -04:00
Northmoc
d2d96d2ece make_your_mark.txt 2021-04-12 09:23:59 -04:00
austinio7116
78762cd479 Reverted accidental test change 2021-04-12 13:40:44 +01:00
austinio7116
cdaa37c5fd Initial basic fix for LDA module to ensure it builds without errors - also removed some unneeded imports which the Maven checks were blocking on 2021-04-12 13:39:49 +01:00
austinio7116
76140fb555 Reverted accidental test change 2021-04-12 13:37:54 +01:00
austinio7116
352c5ea3d3 Corrected version in pom 2021-04-12 13:36:01 +01:00
austinio7116
f167d4fa3b Merge branch 'ldabuildonly2' of https://git.cardforge.org/Austin/forge into ldabuildonly2 2021-04-12 13:32:36 +01:00
austinio7116
7528cd3b58 Merge branch 'master' into 'ldabuildonly2'
# Conflicts:
#   forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java
2021-04-12 12:31:42 +00:00
austinio7116
cab8d0fb97 Merge branch 'coremaster' into ldabuildonly2
# Conflicts:
#	forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java
2021-04-12 13:11:52 +01:00
austinio7116
c7d9c174fd Merge remote-tracking branch 'Core/master' into coremaster 2021-04-12 13:02:52 +01:00
Michael Kamensky
b7787c8cf6 Merge branch 'Williams-master-patch-65541' into 'master'
C21 Revival Experiment

See merge request core-developers/forge!4480
2021-04-12 11:29:27 +00:00
Anthony Calosa
4d218e3624 Merge branch 'master' into 'master'
unused import

See merge request core-developers/forge!4482
2021-04-12 10:22:46 +00:00
Anthony Calosa
89fab45eb7 unused import 2021-04-12 18:21:54 +08:00
Anthony Calosa
9bca338cc2 Merge branch 'kevlahnota-master-patch-58825' into 'master'
Update Commander 2021.txt

See merge request core-developers/forge!4481
2021-04-12 10:16:33 +00:00
Anthony Calosa
36c3c43f86 Merge branch 'master' into 'master'
Simplify ManaConversion scripts, remove Flash/Ice Cave technical debt

See merge request core-developers/forge!4479
2021-04-12 10:14:23 +00:00
Anthony Calosa
d9f762c485 Update Commander 2021.txt 2021-04-12 10:04:33 +00:00
John
3d206d1fb1 Update revival_experiment.txt 2021-04-12 09:46:24 +00:00
John
2a959f23d9 Add new file 2021-04-12 09:44:53 +00:00
Hythonia
bb659d39db ManaConvert keyword display 2021-04-12 10:03:03 +02:00
Hythonia
49cdd4d36d DefinedCost and DefinedManaCost 2021-04-12 10:03:02 +02:00
Hythonia
41d55cf780 Simplify ManaConvertion scripts 2021-04-12 10:03:02 +02:00
Michael Kamensky
5c5c948193 Merge branch 'card-fixes' into 'master'
Moritte type fix

See merge request core-developers/forge!4477
2021-04-12 04:19:37 +00:00
Michael Kamensky
0e32dc982e Merge branch 'unset-cards' into 'master'
Just host cards

See merge request core-developers/forge!4460
2021-04-12 04:19:30 +00:00
Michael Kamensky
9fffdb8cad Merge branch 'mannequin' into 'master'
Makeshift Mannequin: Fix duration

See merge request core-developers/forge!4474
2021-04-12 04:17:47 +00:00
Michael Kamensky
76a1da2d0f Merge branch 'emblazoned_golem' into 'master'
Add Emblazoned Golem

See merge request core-developers/forge!4467
2021-04-12 04:17:33 +00:00
Adam Pantel
ba012a4b0e Moritte type fix 2021-04-11 21:54:28 -04:00
Adam Pantel
09fd212e29 Remove // from names 2021-04-11 21:53:01 -04:00
swordshine
54fd4787fd Merge branch 'kaboom' into 'master'
Kaboom!

See merge request core-developers/forge!4472
2021-04-12 01:04:57 +00:00
Hans Mackowiak
023499a6c0 Player: run checkStaticAbilities before Companion to apply CDA 2021-04-12 02:03:59 +02:00
Lyu Zong-Hong
a8ad7f540b Add DeckHas hint 2021-04-12 08:01:20 +09:00
Adam Pantel
b7ee2c696b Some host cards 2021-04-11 18:35:03 -04:00
austinio7116
4528223dee Initial basic fix for LDA module to ensure it builds without errors - also removed some unneeded imports which the Maven checks were blocking on 2021-04-11 23:13:49 +01:00
austinio7116
cf729db0c0 Merge remote-tracking branch 'Core/master' into coremaster 2021-04-11 23:13:14 +01:00
austinio7116
a4deafa238 Merge branch 'khmldabranch' into 'master'
KHM deck generation

See merge request core-developers/forge!4469
2021-04-11 22:12:02 +00:00
austinio7116
5e88eab617 Modern LDA data 2021-04-11 22:46:47 +01:00
austinio7116
950e51e0fe Improved snow land decision making on LDA deck generator 2021-04-11 22:46:43 +01:00
austinio7116
1c1d743638 Fixes for snow covered lands in LDA deck generation 2021-04-11 22:46:38 +01:00
austinio7116
ffa7e39121 Merge remote-tracking branch 'Core/master' into coremaster 2021-04-11 22:46:01 +01:00
austinio7116
84d6a24446 Modern LDA data 2021-04-11 22:45:09 +01:00
tool4EvEr
91c92d4b64 Fix duration 2021-04-11 21:27:50 +02:00
Bug Hunter
056229e8ee Merge branch 'impetus' into 'master'
Psychic Impetus: Fix missing param

See merge request core-developers/forge!4473
2021-04-11 19:22:12 +00:00
tool4EvEr
c4c5f7ab6b Fix missing param 2021-04-11 21:21:39 +02:00
tool4EvEr
c7ab33f3ab Oracle adjustment 2021-04-11 21:12:48 +02:00
Michael Kamensky
3a3850ec4e Merge branch 'Williams-master-patch-09539' into 'master'
C21 Sproutback Trudge

See merge request core-developers/forge!4455
2021-04-11 19:04:23 +00:00
Michael Kamensky
84ed014909 Merge branch 'new-cards-2' into 'master'
Combat Calligrapher

Closes #1795

See merge request core-developers/forge!4462
2021-04-11 19:03:57 +00:00
Michael Kamensky
39563682f5 Merge branch 'phasedAttachment' into 'master'
GameEntity: when attachment is phased out, treat as not attached

See merge request core-developers/forge!4470
2021-04-11 19:03:26 +00:00
Michael Kamensky
53179f6e3f Merge branch 'triggerCounterPlayerAddedAll' into 'master'
TriggerCounterPlayerAddedAll: new Trigger

See merge request core-developers/forge!4454
2021-04-11 19:03:12 +00:00
Michael Kamensky
b1d5ba6787 Merge branch 'zaffai' into 'master'
Zaffai: Fix trigger

See merge request core-developers/forge!4471
2021-04-11 19:02:56 +00:00
John
361a3d0371 Add new file 2021-04-11 19:01:59 +00:00
tool4EvEr
6b5b38535e Zaffai: Fix trigger 2021-04-11 18:14:31 +02:00
austinio7116
8a4539b19a Improved snow land decision making on LDA deck generator 2021-04-11 16:06:53 +01:00
Hans Mackowiak
f6ee232d9e GameEntity: when attachment is phased out, treat as not attached 2021-04-11 17:00:20 +02:00
austinio7116
2562d28f4f Fixes for snow covered lands in LDA deck generation 2021-04-11 15:50:02 +01:00
austinio7116
f89cfa3ec8 KHM deck generation 2021-04-11 15:23:22 +01:00
Hans Mackowiak
d8b665f64f TriggerCounterPlayerAddedAll: new Trigger that triggers when a player puts more counters on one object 2021-04-11 15:53:32 +02:00
Adam Pantel
d473737ca8 Remove triggers in setup game state 2021-04-11 09:28:16 -04:00
John
52e7cc41e2 Update sproutback_trudge.txt 2021-04-11 13:08:32 +00:00
austinio7116
53978333fb KHM deck generation 2021-04-11 13:59:58 +01:00
Michael Kamensky
183209baa3 Merge branch 'arlinn' into 'master'
Fix Arlinn Kord transform

See merge request core-developers/forge!4458
2021-04-11 12:43:34 +00:00
Michael Kamensky
0df4e1147c Merge branch 'yedora' into 'master'
Yedora: allow morph

See merge request core-developers/forge!4466
2021-04-11 12:43:26 +00:00
Michael Kamensky
7c42b1f845 Merge branch 'stxrank' into 'master'
STX draftsim ranks

See merge request core-developers/forge!4463
2021-04-11 12:41:21 +00:00
Michael Kamensky
129e4762dc Merge branch 'new-cards' into 'master'
Nils, Discipline Enforcer (attacking tax computation)

See merge request core-developers/forge!4457
2021-04-11 12:40:38 +00:00
Michael Kamensky
fc1c5ca6e9 Merge branch 'fixlang' into 'master'
CardTranslation: Add fallback for english only cards

See merge request core-developers/forge!4456
2021-04-11 12:40:19 +00:00
Lyu Zong-Hong
8ae916ac28 Add Emblazoned Golem 2021-04-11 18:56:49 +09:00
tool4EvEr
0ccf9c961b Yedora: allow morph 2021-04-11 10:27:34 +02:00
Bug Hunter
b894e65618 Merge branch 'TRT-master-patch-28302' into 'master'
Update forge-gui/res/cardsfolder/upcoming/dream_strix.txt

See merge request core-developers/forge!4465
2021-04-11 08:25:14 +00:00
Bug Hunter
801d31ed29 Update forge-gui/res/cardsfolder/upcoming/dream_strix.txt 2021-04-11 08:25:03 +00:00
Anthony Calosa
34fb9bb865 Merge branch 'kevlahnota-master-patch-52335' into 'master'
Update Commander 2021.txt

See merge request core-developers/forge!4464
2021-04-11 07:18:17 +00:00
Anthony Calosa
b5201e17ff Update forge-gui/res/editions/Commander 2021.txt 2021-04-11 07:17:16 +00:00
Anthony Calosa
204bbfc6c7 Update forge-gui/res/editions/Commander 2021.txt 2021-04-11 07:12:00 +00:00
Anthony Calosa
692fe0c885 Update Commander 2021.txt 2021-04-11 07:00:32 +00:00
John
3a372179d6 Update sproutback_trudge.txt 2021-04-11 06:51:44 +00:00
Adam Pantel
3de8bd49ad Combat Calligrapher 2021-04-11 01:59:36 -04:00
austinio7116
b9c02d5d99 Merge branch 'ldastream' into 'master'
LDA module

See merge request core-developers/forge!4251
2021-04-11 05:51:11 +00:00
Hans Mackowiak
185c4c09c9 Changed card-based deck generation to archetype based making better use of the new LDA models. Decks can now be selected by archetype with names generated from the source decklists. Archetypes are ordered by popularity. 2021-04-11 05:51:11 +00:00
austinio7116
ad709fd8f0 STX draftsim ranks 2021-04-11 06:47:57 +01:00
Adam Pantel
da7a1f34e1 Nils, Discipline Enforcer 2021-04-11 00:40:27 -04:00
Michael Kamensky
47d2f3b6ad Merge branch 'new-cards-2' into 'master'
C21: Stinging Study

See merge request core-developers/forge!4461
2021-04-11 04:22:59 +00:00
Michael Kamensky
673759f17b Merge branch 'city' into 'master'
Fix originally printed property

Closes #1797

See merge request core-developers/forge!4453
2021-04-11 04:20:44 +00:00
Adam Pantel
0e2d6ac196 C21: Stinging Study 2021-04-11 00:16:00 -04:00
Anthony Calosa
eb99915912 Merge branch 'master' into 'master'
update ImageKeys

See merge request core-developers/forge!4459
2021-04-11 02:22:04 +00:00
Anthony Calosa
501df02260 update ImageKeys 2021-04-11 10:03:56 +08:00
tool4EvEr
d74f6dba0a Fix Arlinn Kord transform 2021-04-10 23:28:11 +02:00
tool4EvEr
b590c6b55a CardTranslation: Add fallback for english only cards 2021-04-10 20:00:48 +02:00
John
175f38f114 Add new file 2021-04-10 16:53:05 +00:00
Michael Kamensky
44f69b2b0b Merge branch 'fixX' into 'master'
Fix Thieving Skydiver 0 kicker

See merge request core-developers/forge!4450
2021-04-10 16:28:25 +00:00
Michael Kamensky
02a1b139bf Merge branch 'lib' into 'master'
Sylvan Library: Add ordering choice

See merge request core-developers/forge!4452
2021-04-10 16:27:52 +00:00
Michael Kamensky
326cf81a0f Merge branch 'Williams-master-patch-30398' into 'master'
C21 Suthro 10/04

See merge request core-developers/forge!4448
2021-04-10 16:27:45 +00:00
John
8952ddc9dc Update witchs_clinic.txt 2021-04-10 15:31:37 +00:00
John
dfe2c6d064 Update veinwitch_coven.txt 2021-04-10 15:29:31 +00:00
John
fea2f30a1c Update veinwitch_coven.txt 2021-04-10 15:28:55 +00:00
tool4EvEr
5d8bd256f1 Fix originally printed property 2021-04-10 17:28:18 +02:00
John
d7f41f4a56 Add new file 2021-04-10 15:28:18 +00:00
John
9169ea6ebf Update trudge_garden.txt 2021-04-10 15:24:54 +00:00
John
20314c8952 Update trudge_garden.txt 2021-04-10 15:24:00 +00:00
John
f262075d2a Update pest_infestation.txt 2021-04-10 15:21:52 +00:00
John
37d9ea103b Update gyome_master_chef.txt 2021-04-10 15:21:20 +00:00
John
ef51f23308 Update ezzaroot_channeler.txt 2021-04-10 15:20:46 +00:00
John
11f75176b8 Update blossoming_bogbeast.txt 2021-04-10 15:15:33 +00:00
John
bd676c7c5c Update blight_mound.txt 2021-04-10 15:05:17 +00:00
tool4EvEr
ccf51356a9 Sylvan Library: Add ordering choice 2021-04-10 16:13:07 +02:00
tool4EvEr
ece32cbe70 Join XCantBe0 restrictions from both parts when combining costs 2021-04-10 13:51:16 +02:00
Bug Hunter
574e74350c Merge branch 'fixdispute' into 'master'
Academic Dispute: Fix optional

See merge request core-developers/forge!4451
2021-04-10 10:41:27 +00:00
tool4EvEr
4665f8c6c6 Academic Dispute: Fix optional 2021-04-10 12:40:32 +02:00
tool4EvEr
a1bdd1fc47 Fix Thieving Skydiver 0 kicker 2021-04-10 12:35:47 +02:00
Bug Hunter
cdcb801b50 Merge branch 'TRT-master-patch-77164' into 'master'
Update forge-gui/res/cardsfolder/upcoming/explosive_welcome.txt

See merge request core-developers/forge!4449
2021-04-10 08:39:38 +00:00
Bug Hunter
5f4bfed2b5 Update forge-gui/res/cardsfolder/upcoming/explosive_welcome.txt 2021-04-10 08:39:23 +00:00
John
cffaa6fef8 Add new file 2021-04-10 07:09:15 +00:00
John
bf2e5392f8 Add new file 2021-04-10 07:08:31 +00:00
John
de6c93b849 Add new file 2021-04-10 07:07:47 +00:00
John
3b6bbe4799 Add new file 2021-04-10 07:06:05 +00:00
John
62250cd41f Add new file 2021-04-10 07:05:08 +00:00
John
69a3963de0 Add new file 2021-04-10 07:04:23 +00:00
John
acefebfcd7 Add new file 2021-04-10 07:03:27 +00:00
John
b8f7d084c7 Add new file 2021-04-10 07:02:42 +00:00
John
fd420b3d81 Add new file 2021-04-10 07:01:26 +00:00
John
bf799869ef Add new file 2021-04-10 07:00:43 +00:00
John
8fc3004349 Add new file 2021-04-10 06:58:06 +00:00
Michael Kamensky
13b22e2047 Merge branch 'c21_9a' into 'master'
C21 - 9 April (more)

See merge request core-developers/forge!4446
2021-04-10 04:14:10 +00:00
Michael Kamensky
2a33ba9f93 Merge branch 'fixstuff' into 'master'
Fix some stuff

See merge request core-developers/forge!4442
2021-04-10 04:13:47 +00:00
Michael Kamensky
ad09233d4c Merge branch 'clash' into 'master'
ClashEffect: Fix triggering for both players

See merge request core-developers/forge!4436
2021-04-10 04:13:29 +00:00
Bug Hunter
2be3a38bb0 ClashEffect: Fix triggering for both players 2021-04-10 04:13:29 +00:00
Michael Kamensky
26467221b3 Merge branch '1759-extra-generated-text-on-auras' into 'master'
Resolve "Extra generated text on Auras"

Closes #1759

See merge request core-developers/forge!4443
2021-04-10 04:13:12 +00:00
Michael Kamensky
dd19ad356a Merge branch 'guardian-archon' into 'master'
[C21] Guardian Archon

See merge request core-developers/forge!4445
2021-04-10 04:12:48 +00:00
Michael Kamensky
4fe91e9a6a Merge branch 'fix_psychic_battle' into 'master'
Fix Psychic Battle in multiplayer game

See merge request core-developers/forge!4447
2021-04-10 04:12:13 +00:00
Michael Kamensky
63d660d152 Merge branch 'noAbilities' into 'master'
Fix NoAbilities failing for basic land types

See merge request core-developers/forge!4424
2021-04-10 04:12:07 +00:00
Lyu Zong-Hong
730ff1758f Fix Psychic Battle in multiplayer game 2021-04-10 10:10:21 +09:00
Northmoc
174099dd1d tempting_contract.txt 2021-04-09 19:58:18 -04:00
Northmoc
f7f49b98ff healing_technique.txt (Suthro) 2021-04-09 19:05:23 -04:00
Northmoc
18f0af1803 guardian_archon.txt 2021-04-09 17:54:04 -04:00
Northmoc
af2a4e1ce4 tidy up ChosenPlayer for DefinedKW 2021-04-09 17:53:49 -04:00
Bug Hunter
a4a58d9a06 Merge branch 'TRT-master-patch-75766' into 'master'
Update forge-gui/res/cardsfolder/upcoming/uvilda_dean_of_perfection_nassari_dean_of_expression.txt

See merge request core-developers/forge!4444
2021-04-09 20:08:23 +00:00
Bug Hunter
861bb5f608 Update forge-gui/res/cardsfolder/upcoming/uvilda_dean_of_perfection_nassari_dean_of_expression.txt 2021-04-09 20:07:32 +00:00
Hans Mackowiak
36c7f1244d Card: fix faulty SpellDescriptions, skip BasicSpells 2021-04-09 20:57:36 +02:00
Michael Kamensky
8e4d07163d Merge branch 'twosat-master-patch-58716' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4440
2021-04-09 18:21:29 +00:00
Michael Kamensky
1af3cd40c0 Merge branch 'c21_9' into 'master'
C21 - 9 April

See merge request core-developers/forge!4441
2021-04-09 18:21:09 +00:00
Michael Kamensky
8e0eb9d110 Merge branch 'c21_8' into 'master'
C21 - 8 April

See merge request core-developers/forge!4434
2021-04-09 18:20:40 +00:00
Northmoc
bf7dbe0098 fain_the_broker.txt 2021-04-09 13:38:58 -04:00
Northmoc
f37d27f803 blot_out_the_sky.txt fix TokenScript 2021-04-09 13:34:25 -04:00
Northmoc
b98d2fbaa4 quicksilver_dagger.txt clean up Descs 2021-04-09 13:34:03 -04:00
Northmoc
181539a424 keen_duelist.txt 2021-04-09 13:01:46 -04:00
Hans Mackowiak
6fe299d7c8 StaticAbilityPanharmonicon: use LKI only for ChangeZone Trigger 2021-04-09 18:56:52 +02:00
Andreas Bendel
585eb23b3c Update de-DE.properties
translated lblLearnALesson
2021-04-09 15:35:14 +00:00
Hans Mackowiak
04940fc4db StaticAbilityPanharmonicon: clean up use matchesValidParam 2021-04-09 17:28:33 +02:00
Hans Mackowiak
75fa1b7fbe Merge branch 'master' into 'master'
C21 Veyran & Panharmonicon rework

See merge request core-developers/forge!4408
2021-04-09 15:15:30 +00:00
Hythonia
cc8e8b2dd1 C21 Veyran & Panharmonicon rework 2021-04-09 15:15:29 +00:00
Northmoc
0b3bbad98f incarnation_technique.txt 2021-04-09 10:13:44 -04:00
Northmoc
9da11e05ee strixhaven_stadium.txt add TriggerZones$ 2021-04-09 09:57:36 -04:00
Northmoc
ecca6f8eda cunning_rhetoric.txt 2021-04-09 09:40:47 -04:00
Northmoc
b5c6f32d1f author_of_shadows.txt 2021-04-09 09:40:46 -04:00
Northmoc
f38c083b05 inkshield.txt 2021-04-09 09:40:46 -04:00
Northmoc
598a9e0918 felisa_fang_of_silverquill.txt (Suthro) 2021-04-09 09:40:45 -04:00
Michael Kamensky
c93c582ed5 Merge branch 'master' into 'master'
Net Deck Archive Updates

See merge request core-developers/forge!4437
2021-04-09 07:13:21 +00:00
Michael Kamensky
010cfb6b35 Merge branch 'lands' into 'master'
Improve AI land handling

See merge request core-developers/forge!4435
2021-04-09 07:13:19 +00:00
Michael Kamensky
b1d95a5fa0 Merge branch 'fixes' into 'master'
Fixes

See merge request core-developers/forge!4433
2021-04-09 07:10:27 +00:00
Michael Kamensky
0d4bf2ea2e Merge branch 'sponsor' into 'master'
Scholarship Sponsor [C21]

See merge request core-developers/forge!4438
2021-04-09 07:10:16 +00:00
Michael Kamensky
d4eb451ba6 Merge branch 'psychic_battle' into 'master'
Add Psychic Battle

See merge request core-developers/forge!4439
2021-04-09 07:09:52 +00:00
Lyu Zong-Hong
9435701d10 Fix bug that when AI cast divide damage as you choose spells, human can't change targetcorrectly 2021-04-09 15:12:13 +09:00
Lyu Zong-Hong
7603943c38 Add Psychic Battle 2021-04-09 14:06:51 +09:00
Northmoc
a959f79bcf scholarship_sponsor.txt 2021-04-08 22:33:26 -04:00
Northmoc
9899d72dce witherbloom_command.txt fix Mill NumCards 2021-04-08 21:27:58 -04:00
Churrufli
4263ea6881 Net Deck Archive Updates 2021-04-09 00:07:21 +02:00
Adam Pantel
ab287858b3 Improve land handling 2021-04-08 16:05:54 -04:00
tool4EvEr
eb6d168d50 Update NoAbilities logic 2021-04-08 20:40:23 +02:00
Michael Kamensky
52b8c4ae5e Merge branch 'master' into 'master'
translate learnLesson message.

See merge request core-developers/forge!4432
2021-04-08 17:53:37 +00:00
tool4EvEr
1c4640d69b Fix NoAbilities failing for basic land types 2021-04-08 19:42:18 +02:00
Northmoc
3827459229 - pic line 2021-04-08 13:20:21 -04:00
Northmoc
aaeb9f9e84 ajanis_aid.txt Rep Eff: CombatDamage -> IsCombat 2021-04-08 13:19:25 -04:00
Northmoc
61acb3e42b jeska_thrice_reborn.txt Rep Eff: CombatDamage -> IsCombat 2021-04-08 13:18:32 -04:00
Northmoc
4a8f299bb3 gifts_ungiven.txt clean up 2021-04-08 12:58:31 -04:00
Northmoc
5530ca94f3 add Mandatory to some searches that need it 2021-04-08 12:46:42 -04:00
Northmoc
61a1b888bd - add ChoiceTitle 2021-04-08 12:43:40 -04:00
Northmoc
a583701319 intuition.txt fix targeting/choosing 2021-04-08 12:35:10 -04:00
Northmoc
57623c710a remove bad ) 2021-04-08 11:12:44 -04:00
Northmoc
93488528de add TriggerZones to Ward 2021-04-08 11:07:54 -04:00
Northmoc
e7a5ffdf5f containment_breach.txt fix ValidTgts 2021-04-08 11:07:16 -04:00
Northmoc
dc56cb382b elspeth_conquers_death.txt improved AI tags 2021-04-08 11:06:26 -04:00
Northmoc
bb22ea3c8f AI logic for Elspeth Conquers Death 2021-04-08 11:05:22 -04:00
CCTV-1
b856ad0374 translate learnLesson message. 2021-04-08 20:07:56 +08:00
Anthony Calosa
3aff3c51a8 Merge branch 'kevlahnota-master-patch-34682' into 'master'
Update CEditorConstructed.java

See merge request core-developers/forge!4431
2021-04-08 11:09:38 +00:00
Anthony Calosa
3e096a25f7 Update CEditorConstructed.java 2021-04-08 11:09:16 +00:00
Anthony Calosa
adb21e4a7e Merge branch 'c21_edition_update' into 'master'
Update C21 Edition file

See merge request core-developers/forge!4430
2021-04-08 11:03:38 +00:00
paul_snoops
3ea268aea7 Update C21 Edition file 2021-04-08 10:05:54 +01:00
Michael Kamensky
567a8913e4 Merge branch 'Williams-master-patch-18379' into 'master'
C21 07/04 Suthro

See merge request core-developers/forge!4426
2021-04-08 08:05:48 +00:00
John
fd89b30192 Update spawning_kraken.txt 2021-04-08 06:30:32 +00:00
John
ce3b327cff Update guardian_augmenter.txt 2021-04-08 06:29:55 +00:00
John
4e5ac4a921 Update curiosity_crafter.txt 2021-04-08 06:29:23 +00:00
Michael Kamensky
b44c1478b8 Merge branch 'c21_7' into 'master'
C21 - 7 April

See merge request core-developers/forge!4422
2021-04-08 04:10:42 +00:00
Michael Kamensky
b0890ad4bf Merge branch 'resolvedThisTurn' into 'master'
Card: add AbilityResolvedThisTurn

See merge request core-developers/forge!4427
2021-04-08 04:09:44 +00:00
Anthony Calosa
83d632e24c Merge branch 'master' into 'master'
update preload itempool

See merge request core-developers/forge!4428
2021-04-08 02:35:07 +00:00
Anthony Calosa
1e5874aed5 update preload itempool 2021-04-08 09:57:26 +08:00
Northmoc
e807d9a3e7 support for playerXCount TotalCommanderCastFromCommandZone 2021-04-07 21:22:21 -04:00
Northmoc
17bb74ff25 commanders_insight.txt 2021-04-07 21:19:44 -04:00
Hans Mackowiak
5c9e2839eb Card: add AbilityResolvedThisTurn 2021-04-08 02:13:45 +02:00
John
d670a761d9 Update paradox_zone.txt 2021-04-07 22:47:42 +00:00
John
b6a3f765a7 Update paradox_zone.txt 2021-04-07 22:42:30 +00:00
John
2ca2ceea5a Update sequence_engine.txt 2021-04-07 22:41:58 +00:00
John
01b4ab512c Update spawning_kraken.txt 2021-04-07 22:41:33 +00:00
John
d18a6c3479 Update theoretical_duplication.txt 2021-04-07 22:40:59 +00:00
John
ab931cdcb4 Update curiosity_crafter.txt 2021-04-07 22:40:03 +00:00
John
7252b0e69a Add new file 2021-04-07 22:39:04 +00:00
John
ab0ed23c83 Add new file 2021-04-07 22:38:21 +00:00
John
18c002094f Add new file 2021-04-07 22:37:04 +00:00
John
d5f73cb633 Add new file 2021-04-07 22:36:15 +00:00
John
c738da065e Add new file 2021-04-07 22:35:30 +00:00
John
a9296d67f7 Add new file 2021-04-07 22:34:40 +00:00
John
78cb417cfc Add new file 2021-04-07 22:34:00 +00:00
John
4bec5f6792 Add new file 2021-04-07 22:33:14 +00:00
John
3da03f66e0 Add new file 2021-04-07 22:31:33 +00:00
Northmoc
e379c676d0 muse_vortex.txt 2021-04-07 16:58:29 -04:00
Bug Hunter
6565494781 Merge branch 'TRT-master-patch-82622' into 'master'
Update forge-gui/res/cardsfolder/upcoming/abundant_harvest.txt

See merge request core-developers/forge!4425
2021-04-07 20:45:09 +00:00
Bug Hunter
aafcd25403 Update forge-gui/res/cardsfolder/upcoming/abundant_harvest.txt 2021-04-07 20:44:20 +00:00
Northmoc
72c4c0007f oversimplify.txt fix Descs 2021-04-07 15:55:36 -04:00
Northmoc
fd1ce7a750 geometric_nexus.txt 2021-04-07 15:53:26 -04:00
Northmoc
fbbdec5e4e oversimplify.txt 2021-04-07 15:33:51 -04:00
Northmoc
443b613513 deekah_fractal_theorist.txt remove default params 2021-04-07 15:05:05 -04:00
Michael Kamensky
2fa44fc0f4 Merge branch 'Williams-master-patch-07577' into 'master'
C21 Discord Contributions 06/04

See merge request core-developers/forge!4410
2021-04-07 18:02:04 +00:00
Northmoc
5ed21c3ce3 deekah_fractal_theorist.txt 2021-04-07 13:16:16 -04:00
Northmoc
f1d52fb530 ruxa_patient_professor.txt (Suthro) 2021-04-07 12:59:37 -04:00
Northmoc
d418ad8369 fractal_harness.txt 2021-04-07 12:46:48 -04:00
Bug Hunter
7b58d8e77e Merge branch 'TRT-master-patch-33908' into 'master'
Update forge-gui/res/cardsfolder/upcoming/fractal_summoning.txt

See merge request core-developers/forge!4423
2021-04-07 16:31:09 +00:00
Bug Hunter
38971c2946 Update forge-gui/res/cardsfolder/upcoming/fractal_summoning.txt 2021-04-07 16:30:10 +00:00
Northmoc
6cef7fd6b6 creative_technique.txt 2021-04-07 11:14:38 -04:00
Northmoc
92ffb0b1e5 rionya_fire_dancer.txt 2021-04-07 10:44:21 -04:00
Northmoc
75f03f1fd1 support for SumCMCGraveyard (Inferno Project) 2021-04-07 10:30:01 -04:00
Northmoc
0306817ac8 inferno_project.txt 2021-04-07 10:29:14 -04:00
Tim Mocny
03b5dc046d Merge branch 'cmc' into 'master'
fix cmc necrotic_fumes.txt

See merge request core-developers/forge!4421
2021-04-07 13:32:42 +00:00
Northmoc
bb5cb8a773 necrotic_fumes.txt 2021-04-07 09:31:40 -04:00
Sol
719bd257a6 Merge branch 'retriever_phoenix_fix' into 'master'
Retriever Phoenix fix for the following error

See merge request core-developers/forge!4420
2021-04-07 12:08:59 +00:00
paul_snoops
e21257ab71 Retriever Phoenix fix for the following error
Caused by: java.lang.RuntimeException: AbilityFactory : getAbility -- Retriever Phoenix has no SVar: TrigLearn
2021-04-07 12:39:41 +01:00
Bug Hunter
fc933ba9d5 Merge branch 'TRT-master-patch-18852' into 'master'
Update forge-gui/res/cardsfolder/upcoming/basic_conjuration.txt

See merge request core-developers/forge!4419
2021-04-07 09:32:28 +00:00
Bug Hunter
9f9215cb3f Update forge-gui/res/cardsfolder/upcoming/basic_conjuration.txt 2021-04-07 09:31:36 +00:00
Anthony Calosa
8308c21d39 Merge branch 'kevlahnota-master-patch-67446' into 'master'
Update StaticData.java

See merge request core-developers/forge!4418
2021-04-07 08:00:16 +00:00
Anthony Calosa
1f6ef5f045 Update StaticData.java 2021-04-07 07:59:39 +00:00
Anthony Calosa
7673918178 Merge branch 'master' into 'master'
Update support for Custom Cards

See merge request core-developers/forge!4417
2021-04-07 07:53:23 +00:00
Anthony Calosa
92b0aad937 Update support for Custom Cards 2021-04-07 15:50:24 +08:00
Michael Kamensky
233e126cd3 Merge branch 'Williams-master-patch-47951' into 'master'
Update Judge Gift Cards 2021.txt

See merge request core-developers/forge!4416
2021-04-07 07:33:50 +00:00
John
e9506787d5 Update Judge Gift Cards 2021.txt 2021-04-07 06:51:51 +00:00
John
e061289a26 Update elementalists_palette.txt 2021-04-07 06:47:38 +00:00
Michael Kamensky
7f87164235 Merge branch 'learnEffect' into 'master'
Learn effect

See merge request core-developers/forge!4374
2021-04-07 05:11:55 +00:00
Hans Mackowiak
0627d37f69 - Basic AI for AF Learn
- Some minor tweaks and fixes for AF Learn
2021-04-07 05:11:55 +00:00
Michael Kamensky
68dc49cb88 Merge branch 'secretly' into 'master'
Emissary of Grudges, Stalking Leonin

See merge request core-developers/forge!4413
2021-04-07 05:11:28 +00:00
Michael Kamensky
24cf97ca84 Merge branch 'cultic' into 'master'
Add Cultic Cube

See merge request core-developers/forge!4411
2021-04-07 05:08:13 +00:00
Michael Kamensky
9859cbdca6 Merge branch 'ConditionDefinedSpells' into 'master'
SpellAbilityCondition: extends ConditionDefined to work with SpellAbilities

See merge request core-developers/forge!4412
2021-04-07 05:07:58 +00:00
Michael Kamensky
b819f303bb Merge branch 'new-cards' into 'master'
C21 Cards

See merge request core-developers/forge!4414
2021-04-07 05:07:18 +00:00
Michael Kamensky
5ad4a25c33 Merge branch 'card-fixes' into 'master'
Some card fixes

See merge request core-developers/forge!4415
2021-04-07 05:07:01 +00:00
Adam Pantel
265e5bb122 Golden Ratio fix 2021-04-06 23:35:18 -04:00
Adam Pantel
7964f862c6 Fixes from discord 2021-04-06 22:49:16 -04:00
Adam Pantel
622176d3de Surge to Victory 2021-04-06 22:43:51 -04:00
Adam Pantel
7e793a48e7 Duration fix on Rowan 2021-04-06 22:18:58 -04:00
Adam Pantel
5bdc4615e8 Reinterpret 2021-04-06 19:31:39 -04:00
Adam Pantel
ef04a4376a Emissary of Grudges, Stalking Leonin 2021-04-06 19:29:37 -04:00
John
3c57007765 Update rousing_refrain.txt 2021-04-06 22:08:21 +00:00
John
9965f2e79c Update inspiring_refrain.txt 2021-04-06 22:06:13 +00:00
John
f131997d6a Update sly_instigator.txt 2021-04-06 22:05:02 +00:00
John
08b9e3c46a Update inspiring_refrain.txt 2021-04-06 22:04:08 +00:00
John
8afbaefa6d Update inspiring_refrain.txt 2021-04-06 22:00:21 +00:00
John
88a8336ae7 Update rousing_refrain.txt 2021-04-06 21:59:41 +00:00
John
0c6dface18 Update rousing_refrain.txt 2021-04-06 21:59:01 +00:00
John
9bb2dd3887 Update inspiring_refrain.txt 2021-04-06 21:49:48 +00:00
John
1f3943fe9a Update octavia_living_thesis.txt 2021-04-06 21:48:59 +00:00
John
9502034d58 Update inspiring_refrain.txt 2021-04-06 21:48:37 +00:00
Hans Mackowiak
c6b0b2021c SpellAbilityCondition: extends ConditionDefined to work with SpellAbilities 2021-04-06 22:13:48 +02:00
John
0d889ec773 Add new file 2021-04-06 19:55:33 +00:00
John
3d8f848936 Add new file 2021-04-06 19:54:52 +00:00
Adam Pantel
6cbd108bca Add Cultic Cube 2021-04-06 15:03:26 -04:00
John
03c950f82e Add new file 2021-04-06 17:58:35 +00:00
John
552b061357 Add new file 2021-04-06 17:47:44 +00:00
John
ca98432e20 Add new file 2021-04-06 17:21:44 +00:00
John
6ada1f04da Add new file 2021-04-06 17:20:43 +00:00
John
edf1738e3c Add new file 2021-04-06 17:18:45 +00:00
Michael Kamensky
5b77205b77 Merge branch 'ranking' into 'master'
Add default cube rankings from cubecobra

See merge request core-developers/forge!4409
2021-04-06 17:09:07 +00:00
Michael Kamensky
67128c2fd5 Merge branch 'new-cards' into 'master'
C21 Cards

See merge request core-developers/forge!4406
2021-04-06 17:08:49 +00:00
Michael Kamensky
490ec7ef3e Merge branch 'Williams-master-patch-25580' into 'master'
C21 Suthro 5/4

See merge request core-developers/forge!4401
2021-04-06 17:08:27 +00:00
Michael Kamensky
0ab7ff919b Merge branch 'new-cards-2' into 'master'
Demonstrate keyword and Excavation Technique

See merge request core-developers/forge!4397
2021-04-06 17:08:12 +00:00
Adam Pantel
489ccd9003 Add default cube rankings from cubecobra 2021-04-06 12:28:29 -04:00
Sol
9971eef9b8 Merge branch 'Williams-master-patch-65571' into 'master'
Update STX edition file

See merge request core-developers/forge!4407
2021-04-06 14:43:38 +00:00
John
88e8bed395 Update Standard.txt 2021-04-06 14:29:27 +00:00
John
9304942fd6 Update Pioneer.txt 2021-04-06 14:29:14 +00:00
John
5f3b5cbe26 Update Modern.txt 2021-04-06 14:28:42 +00:00
John
c5dbc8ddca Update Strixhaven School of Mages.txt 2021-04-06 14:07:29 +00:00
John
eaea041e73 Update blocks.txt 2021-04-06 14:04:16 +00:00
John
20b4ae230f Update Strixhaven School of Mages.txt 2021-04-06 14:02:56 +00:00
Adam Pantel
037dce8be8 Wake the Past 2021-04-06 09:59:08 -04:00
Anthony Calosa
3ad6045377 Merge branch 'master' into 'master'
update AssetsDownloader

See merge request core-developers/forge!4405
2021-04-06 12:18:40 +00:00
Anthony Calosa
3f683c3909 update AssetsDownloader 2021-04-06 20:16:45 +08:00
Anthony Calosa
2f9974f6ef Merge branch 'master' into 'master'
fix downloader

See merge request core-developers/forge!4404
2021-04-06 11:25:47 +00:00
Anthony Calosa
d2156a1179 Merge remote-tracking branch 'core/master' 2021-04-06 19:24:33 +08:00
Anthony Calosa
d6a0b92f1e fix downloader 2021-04-06 19:21:45 +08:00
Bug Hunter
15aab58415 Merge branch 'TRT-master-patch-76250' into 'master'
Update forge-gui/res/cardsfolder/upcoming/culling_ritual.txt

See merge request core-developers/forge!4403
2021-04-06 10:40:56 +00:00
Bug Hunter
1e8679bf94 Update forge-gui/res/cardsfolder/upcoming/culling_ritual.txt 2021-04-06 10:39:39 +00:00
Michael Kamensky
4eeb4c515f Merge branch 'fixtarget' into 'master'
DestroyAI: Fix illegal targets

See merge request core-developers/forge!4394
2021-04-06 08:57:17 +00:00
John
76a75942a9 Update triplicate_titan.txt 2021-04-06 08:47:17 +00:00
John
4383c3486a Update digsite_engineer.txt 2021-04-06 08:46:53 +00:00
Anthony Calosa
e629877984 Merge branch 'master' into 'master'
fix filteredCards, fix NPE devmode

See merge request core-developers/forge!4402
2021-04-06 07:53:23 +00:00
Anthony Calosa
fb71ea83f0 Merge remote-tracking branch 'core/master' 2021-04-06 15:50:39 +08:00
Anthony Calosa
d9cf090060 update 2021-04-06 15:49:30 +08:00
Michael Kamensky
a0fd16513a Merge branch 'c21_5' into 'master'
C21 - 5 April

See merge request core-developers/forge!4396
2021-04-06 07:30:26 +00:00
Michael Kamensky
c7c6d4e162 Merge branch 'new-cards' into 'master'
Strict Proctor

See merge request core-developers/forge!4393
2021-04-06 07:27:15 +00:00
Anthony Calosa
9a2eaa7a1d fix filteredCards, fix NPE devmode 2021-04-06 15:27:14 +08:00
Michael Kamensky
3b12843d5f Merge branch 'card-fixes' into 'master'
Typo in Liliana's Scorn

See merge request core-developers/forge!4398
2021-04-06 07:25:20 +00:00
Michael Kamensky
6685649e39 Merge branch 'AIplayCantBeCast' into 'master'
AI: Add missing CantBeCast check from PlayEffect

See merge request core-developers/forge!4391
2021-04-06 07:23:55 +00:00
John
7e63c902d3 Update triplicate_titan.txt 2021-04-06 06:50:50 +00:00
John
c1e1530cd9 Update losheel_clockwork_scholar.txt 2021-04-06 06:49:52 +00:00
John
b1a190093c Update digsite_engineer.txt 2021-04-06 06:49:01 +00:00
Hans Mackowiak
fcc7cf0566 Merge branch 'kevlahnota-master-patch-51370' into 'master'
Update lathiel_the_bounteous_dawn.txt

See merge request core-developers/forge!4400
2021-04-06 06:47:33 +00:00
Anthony Calosa
ca3d51157f Update lathiel_the_bounteous_dawn.txt 2021-04-06 06:47:33 +00:00
John
899a7b2500 Update bronze_guardian.txt 2021-04-06 06:46:58 +00:00
John
d19be1731e Update angel_of_ruins.txt 2021-04-06 06:45:26 +00:00
John
90768b6933 Update alibou_ancient_witness.txt 2021-04-06 06:43:39 +00:00
John
89d6f050d1 Add new file 2021-04-06 06:40:06 +00:00
John
5bfe7a2146 Add new file 2021-04-06 06:39:07 +00:00
John
e54dc157ac Add new file 2021-04-06 06:38:17 +00:00
John
5be7472dd9 Add new file 2021-04-06 06:37:16 +00:00
John
1a2de2bbc2 Add new file 2021-04-06 06:36:01 +00:00
John
0c9935b1b5 Add new file 2021-04-06 06:34:55 +00:00
John
aba00ad17b Add new file 2021-04-06 06:33:04 +00:00
Anthony Calosa
5ca05394d6 Merge branch 'kevlahnota-master-patch-58460' into 'master'
Update ImageCache.java

See merge request core-developers/forge!4399
2021-04-06 03:59:42 +00:00
Anthony Calosa
5165415fb1 Update ImageCache.java
Don't dispose defaultImage
2021-04-06 03:59:21 +00:00
Adam Pantel
1f1060b97c Typo in Liliana's Scorn 2021-04-05 23:50:37 -04:00
Adam Pantel
3e9dabe2a5 Demonstrate keyword and Excavation Technique 2021-04-05 23:19:33 -04:00
Northmoc
86d72b15c5 support for archaeomancers_map.txt 2021-04-05 23:05:56 -04:00
Northmoc
3fd3a3e5aa archaeomancers_map.txt 2021-04-05 23:05:16 -04:00
Northmoc
3fbcf09326 ruin_grinder.txt 2021-04-05 23:04:47 -04:00
Anthony Calosa
d97cd9eabe Merge branch 'STX_edition' into 'master'
STX edition missing cards

See merge request core-developers/forge!4392
2021-04-06 01:32:58 +00:00
Sol
de52bb1036 Merge branch 'card-fixes' into 'master'
MoJhoSto improvements

See merge request core-developers/forge!4395
2021-04-06 01:19:38 +00:00
Adam Pantel
f9a073fd93 Momir script improvement 2021-04-05 19:32:51 -04:00
Adam Pantel
c77f99cf9b MoJhoSto logging 2021-04-05 18:57:36 -04:00
Northmoc
af8c1b2092 cursed_mirror.txt 2021-04-05 18:45:59 -04:00
Adam Pantel
9095dcd9d8 Add infinite loop protection for Stonehewer 2021-04-05 18:21:32 -04:00
Northmoc
08359103da teachings_of_the_archaics.txt only 3 cards 2021-04-05 18:15:36 -04:00
Northmoc
9fe15fd8c2 audacious_reshapers.txt 2021-04-05 18:11:18 -04:00
Northmoc
728afbc887 madcap_experiment.txt tidy up 2021-04-05 18:10:51 -04:00
Adam Pantel
1e10d49d0f Strict Proctor 2021-04-05 17:51:26 -04:00
tool4EvEr
4a81ea0ee4 Fix illegal targets 2021-04-05 23:50:16 +02:00
Northmoc
acf89b1e9e monologue_tax.txt 2021-04-05 17:41:01 -04:00
paul_snoops
1c99b5bbc7 STX edition missing cards 2021-04-05 22:11:33 +01:00
Northmoc
d8d0c67462 study_hall.txt 2021-04-05 16:29:22 -04:00
Michael Kamensky
2e9f050707 Merge branch 'stx_5' into 'master'
STX - Conspiracy Theorist

See merge request core-developers/forge!4387
2021-04-05 19:29:30 +00:00
Michael Kamensky
4b0a3741de Merge branch 'livio' into 'master'
livio_oathsworn_sentinel.txt fixup

See merge request core-developers/forge!4390
2021-04-05 19:28:27 +00:00
Michael Kamensky
c45c5f6e92 Merge branch 'new-cards-2' into 'master'
Dragon's Approach

See merge request core-developers/forge!4363
2021-04-05 19:26:54 +00:00
Michael Kamensky
482515f538 Merge branch 'fixdig' into 'master'
Fix DigMultiple not changing cards when no valid targets

See merge request core-developers/forge!4386
2021-04-05 19:26:16 +00:00
tool4EvEr
42d75bd1ee Add missing CantBeCast check 2021-04-05 21:06:52 +02:00
Northmoc
296d7436ae fix stonehewer_giant_avatar.txt 2021-04-05 12:38:39 -04:00
Northmoc
5ba1466b96 livio_oathsworn_sentinel.txt fixup 2021-04-05 12:02:43 -04:00
Sol
7cdf36df87 Merge branch 'STX_fixes' into 'master'
STX edition fix MDFCs

See merge request core-developers/forge!4389
2021-04-05 14:57:07 +00:00
paul_snoops
02f25f8816 STX edition fix MDFCs 2021-04-05 15:54:13 +01:00
Sol
fa7e6bfa36 Merge branch 'stx_update' into 'master'
STX edition file update

See merge request core-developers/forge!4367
2021-04-05 14:07:13 +00:00
paul_snoops
854890cc77 STX edition file update 2021-04-05 14:57:15 +01:00
Northmoc
5445ec1b8d RememberTriggerCards param support for Conspiracy Theorist 2021-04-05 08:44:40 -04:00
Northmoc
050f11bfab conspiracy_theorist.txt 2021-04-05 08:43:46 -04:00
tool4EvEr
da89b95654 Fix DigMultiple not changing cards when no valid targets 2021-04-05 13:41:46 +02:00
Anthony Calosa
71631ccf0c Merge branch 'churrufli-master-patch-15537' into 'master'
Update text, resource file size

See merge request core-developers/forge!4384
2021-04-05 10:24:05 +00:00
Churrufli
f1c38dd742 Update text 2021-04-05 10:01:34 +00:00
Bug Hunter
0fc7126238 Merge branch 'typofix' into 'master'
Show of Confidence: Fix cost typo

See merge request core-developers/forge!4383
2021-04-05 09:45:53 +00:00
tool4EvEr
41cf366014 Fix cost typo 2021-04-05 11:45:13 +02:00
Anthony Calosa
4288ae3582 Merge branch 'master' into 'master'
[Mobile] Seperate cache for Cards and Other Images

See merge request core-developers/forge!4382
2021-04-05 09:07:03 +00:00
Anthony Calosa
e57d0a4d0e [Mobile] add OtherImageLoader for otherCache 2021-04-05 17:04:40 +08:00
Anthony Calosa
1b6a0188f3 [Mobile] Seperate cache for Cards/Tokens and Icon/Booster/Fatpacks 2021-04-05 15:45:22 +08:00
Michael Kamensky
e225b8a77c Merge branch 'card-fixes' into 'master'
Codie oracle text

See merge request core-developers/forge!4381
2021-04-05 04:12:40 +00:00
Michael Kamensky
e4b1c542db Merge branch 'sheetfix' into 'master'
Sheets / Edition parsing fixes

See merge request core-developers/forge!4377
2021-04-05 04:12:33 +00:00
Adam Pantel
b960460e02 Codie oracle text 2021-04-04 23:33:31 -04:00
Anthony Calosa
c8f39802ae Merge branch 'master' into 'master'
Limit preloading

See merge request core-developers/forge!4380
2021-04-05 03:27:59 +00:00
Anthony Calosa
e3caad856d Limit preloading 2021-04-05 11:25:42 +08:00
Anthony Calosa
97bc512d1c Merge branch 'master' into 'master'
cleanup

See merge request core-developers/forge!4379
2021-04-05 02:07:51 +00:00
Anthony Calosa
5752fe698f cleanup 2021-04-05 10:06:16 +08:00
Anthony Calosa
727ef87a11 Merge branch 'master' into 'master'
[Mobile] Update ImageCache Texture dispose

See merge request core-developers/forge!4378
2021-04-04 22:56:04 +00:00
Anthony Calosa
a92c85a0be [Mobile] Update ImageCache Texture dispose 2021-04-05 06:51:27 +08:00
tool4EvEr
225790cc4b Fix parsing of new edition sections 2021-04-04 23:52:41 +02:00
tool4EvEr
0202d52e49 Printsheets: Update wrong JMP codes 2021-04-04 22:56:09 +02:00
Bug Hunter
397ad4c597 Merge branch 'brawl2' into 'master'
Add commander relocation for brawl

See merge request core-developers/forge!4376
2021-04-04 20:29:12 +00:00
tool4EvEr
ce00f31f0f Add commander relocation for brawl 2021-04-04 22:28:19 +02:00
swordshine
b9dc9e6eb0 Merge branch 'master' into 'master'
Leonin Vanguard fix + Medomai

See merge request core-developers/forge!4372
2021-04-04 15:33:30 +00:00
Anthony Calosa
05884bba0d Merge branch 'master' into 'master'
[Mobile] When generating a lot of image at once (more than 100) in the shop...

See merge request core-developers/forge!4373
2021-04-04 13:40:36 +00:00
Anthony Calosa
d8f37ac6a7 Merge remote-tracking branch 'core/master' 2021-04-04 21:38:01 +08:00
Anthony Calosa
9c89e0b790 [Mobile] When generating a lot of image at once (more than 100) in the shop list/rewards/unlocked sets, clear the cache 2021-04-04 21:35:01 +08:00
Hythonia
b37d695c8b Minor card fixes 2021-04-04 15:06:50 +02:00
Michael Kamensky
263db54a12 Merge branch 'Williams-master-patch-50535' into 'master'
STX Discord Contributions

See merge request core-developers/forge!4362
2021-04-04 11:23:18 +00:00
Michael Kamensky
dc8c25b8bc Merge branch 'master' into 'master'
STX: Last three cards

See merge request core-developers/forge!4365
2021-04-04 11:18:53 +00:00
Anthony Calosa
1d43cae1b1 Merge branch 'kevlahnota-master-patch-75509' into 'master'
unused import

See merge request core-developers/forge!4371
2021-04-04 10:58:35 +00:00
Anthony Calosa
7e02ae518d unused import 2021-04-04 10:58:14 +00:00
Bug Hunter
4afc439eb1 Merge branch 'Williams-master-patch-14604' into 'master'
Update make_your_mark.txt

See merge request core-developers/forge!4369
2021-04-04 10:39:19 +00:00
Anthony Calosa
330d4f006f Merge branch 'kevlahnota-master-patch-65912' into 'master'
update token-images

See merge request core-developers/forge!4370
2021-04-04 10:23:17 +00:00
Anthony Calosa
5929a7c6f9 Update token-images.txt 2021-04-04 10:19:57 +00:00
Anthony Calosa
1b95989b05 Update token-images.txt 2021-04-04 10:14:59 +00:00
John
b284fc590e Update make_your_mark.txt 2021-04-04 10:13:45 +00:00
Anthony Calosa
dd3e21e5d4 Merge branch 'kevlahnota-master-patch-92499' into 'master'
Update ImageCache.java

See merge request core-developers/forge!4368
2021-04-04 09:29:00 +00:00
Anthony Calosa
31c674c3dc Update ImageCache.java 2021-04-04 09:28:15 +00:00
paul_snoops
b3632417a7 STX edition file update (no tokens yet) 2021-04-04 10:24:35 +01:00
Anthony Calosa
bc28919727 Merge branch 'kevlahnota-master-patch-57420' into 'master'
Update borderlessCardList.txt

See merge request core-developers/forge!4366
2021-04-04 09:12:05 +00:00
Anthony Calosa
4333744248 Update borderlessCardList.txt 2021-04-04 09:11:20 +00:00
John
d62599d62c Add new file 2021-04-04 07:31:19 +00:00
John
bad745d2a9 Add new file 2021-04-04 07:30:02 +00:00
Hythonia
0c6aa6afdb STX: Last three cards 2021-04-04 09:29:37 +02:00
John
bb8e68d1b1 Add new file 2021-04-04 07:29:31 +00:00
John
8c6b6e617c Add new file 2021-04-04 07:29:01 +00:00
John
a9e4270ddb Add new file 2021-04-04 07:28:24 +00:00
John
72262a77fd Add new file 2021-04-04 07:27:47 +00:00
John
68c524a75d Add new file 2021-04-04 07:27:08 +00:00
John
64c56288c9 Add new file 2021-04-04 07:26:25 +00:00
John
2996bf7e6b Add new file 2021-04-04 07:25:46 +00:00
John
5520c3778b Add new file 2021-04-04 07:23:42 +00:00
John
4c6bdcb68a Add new file 2021-04-04 07:23:08 +00:00
John
a925786899 Add new file 2021-04-04 07:22:18 +00:00
John
e73a3cbf8c Add new file 2021-04-04 07:21:26 +00:00
John
c86dbb4665 Add new file 2021-04-04 07:20:24 +00:00
John
951c338edd Add new file 2021-04-04 07:19:29 +00:00
John
5a22ad86b8 Add new file 2021-04-04 07:18:25 +00:00
John
6db22d43a6 Add new file 2021-04-04 07:17:26 +00:00
John
6569f59501 Add new file 2021-04-04 07:16:44 +00:00
John
c30b04131b Add new file 2021-04-04 07:15:58 +00:00
John
fb7e6d482a Add new file 2021-04-04 07:15:13 +00:00
John
df252a0051 Add new file 2021-04-04 07:14:08 +00:00
John
443d79f902 Update springmane_cervin.txt 2021-04-04 07:11:38 +00:00
John
7ac9997950 Update emergent_sequence.txt 2021-04-04 07:10:58 +00:00
John
aa59b5b4e3 Update callous_bloodmage.txt 2021-04-04 07:10:29 +00:00
John
2cd0b56f11 Update acess_tunnel.txt 2021-04-04 07:09:45 +00:00
Michael Kamensky
40c8485f02 Merge branch 'fix_illusionary_mask' into 'master'
Copy SA without mana cost will also copy castFaceDown flag. (Fix for Illusionary Mask)

See merge request core-developers/forge!4364
2021-04-04 04:26:17 +00:00
Michael Kamensky
f70e22fa4d Merge branch 'biblio' into 'master'
STX - The Biblioplex

See merge request core-developers/forge!4361
2021-04-04 04:25:56 +00:00
Michael Kamensky
cbaa7028d0 Merge branch 'stx_3' into 'master'
STX - 3 April

See merge request core-developers/forge!4360
2021-04-04 04:25:49 +00:00
Michael Kamensky
d6a4e33035 Merge branch 'new-cards' into 'master'
STX Cards

See merge request core-developers/forge!4353
2021-04-04 04:25:14 +00:00
Adam Pantel
99bae93e07 STX Cards 2021-04-03 23:37:21 -04:00
Lyu Zong-Hong
9097fb6f60 Copy SA without mana cost will also copy castFaceDown flag. (Fix for Illusionary Mask) 2021-04-04 10:43:55 +09:00
John
8e9b91eeb6 Add new file 2021-04-03 23:22:06 +00:00
John
419b46c7cc Add new file 2021-04-03 23:21:14 +00:00
John
e927d76cb5 Add new file 2021-04-03 23:20:19 +00:00
John
966d190b77 Add new file 2021-04-03 23:19:37 +00:00
John
b7b06413d6 Add new file 2021-04-03 23:18:54 +00:00
John
67ba5e21f7 Add new file 2021-04-03 23:17:51 +00:00
John
27e401d3a1 Add new file 2021-04-03 23:17:04 +00:00
John
45c1c40e9f Add new file 2021-04-03 23:16:21 +00:00
John
29cfde5249 Upload New File 2021-04-03 23:00:13 +00:00
John
ffecb391b3 Upload New File 2021-04-03 22:59:44 +00:00
John
c87f8b0986 Add new file 2021-04-03 22:35:13 +00:00
John
8cc4eef916 Add new file 2021-04-03 22:34:05 +00:00
John
46f241f004 Add new file 2021-04-03 22:33:18 +00:00
John
4dbe0bdbcb Add new file 2021-04-03 22:32:09 +00:00
John
ee5e0beb7f Add new file 2021-04-03 22:30:56 +00:00
John
ef89a35de6 Add new file 2021-04-03 22:30:14 +00:00
Adam Pantel
26f94ccf07 Dragon's Approach 2021-04-03 18:29:57 -04:00
John
c7a0b9d31c Add new file 2021-04-03 22:29:13 +00:00
John
e2f91339b4 Add new file 2021-04-03 22:28:23 +00:00
John
155b2723f1 Add new file 2021-04-03 22:27:34 +00:00
John
2b5d5c5c12 Add new file 2021-04-03 22:26:22 +00:00
John
660f854546 Add new file 2021-04-03 22:25:42 +00:00
John
505ae78d14 Add new file 2021-04-03 22:25:02 +00:00
John
0f19934021 Add new file 2021-04-03 22:23:29 +00:00
John
0865e3262f Add new file 2021-04-03 22:22:46 +00:00
John
8d266dbc4c Add new file 2021-04-03 22:22:00 +00:00
John
8801365896 Add new file 2021-04-03 22:21:11 +00:00
John
33249ea526 Add new file 2021-04-03 22:20:26 +00:00
John
d1f3ec25fc Add new file 2021-04-03 22:18:08 +00:00
Northmoc
8ea76ee1b8 pestilent_cauldron_restorative_burst.txt 2021-04-03 15:28:29 -04:00
Michael Kamensky
660ed4c341 Merge branch 'Williams-master-patch-56008' into 'master'
STX Contibutions

See merge request core-developers/forge!4357
2021-04-03 19:00:05 +00:00
Northmoc
ef6f88a129 dramatic_finale.txt 2021-04-03 14:45:46 -04:00
Northmoc
bf072e0802 move TriggerZone param 2021-04-03 14:30:29 -04:00
John
d910521a0b Update zimone_quandrix_prodigy.txt 2021-04-03 18:22:43 +00:00
John
3ceb40741c Update zimone_quandrix_prodigy.txt 2021-04-03 18:22:15 +00:00
John
7d3a192435 Update witherbloom_pledgemage.txt 2021-04-03 18:21:39 +00:00
John
50af4b83c5 Update witherbloom_pledgemage.txt 2021-04-03 18:20:43 +00:00
John
2e4f79f6ef Update twinscroll_shaman.txt 2021-04-03 18:20:17 +00:00
John
7c57be2181 Update test_of_talents.txt 2021-04-03 18:19:52 +00:00
John
2f238789ad Update professors_warning.txt 2021-04-03 18:19:17 +00:00
John
29d4cfe669 Update professor_of_zoomancy.txt 2021-04-03 18:18:51 +00:00
John
df4eaa28b9 Update mila_crafty_companion_lukka_wayward_bonder.txt 2021-04-03 18:18:23 +00:00
John
42dc55c664 Update mila_crafty_companion_lukka_wayward_bonder.txt 2021-04-03 18:16:37 +00:00
John
a82ad37e78 Update mila_crafty_companion_lukka_wayward_bonder.txt 2021-04-03 18:15:45 +00:00
John
5fdc7970cd Update draconic_intervention.txt 2021-04-03 18:15:12 +00:00
John
8f45cc62d2 Update draconic_intervention.txt 2021-04-03 18:14:36 +00:00
Northmoc
b8eaa369c2 add AI hint 2021-04-03 13:57:34 -04:00
Northmoc
fec2a4fcd5 blot_out_the_sky.txt (Suthro) 2021-04-03 13:57:33 -04:00
Northmoc
f40ca2037b rushed_rebirth.txt (Suthro) 2021-04-03 13:57:33 -04:00
Northmoc
7227885e0e silverquill_silencer.txt (Suthro) 2021-04-03 13:57:32 -04:00
Northmoc
4fe66ddca8 add NonLegendary param to copySpellHost (for Double Major) 2021-04-03 13:57:32 -04:00
Northmoc
5472f17c96 double_major.txt 2021-04-03 13:57:32 -04:00
Northmoc
69b072f130 augmenter_pugilist_echoing_equation.txt 2021-04-03 13:57:31 -04:00
Northmoc
640106a78a jadzi_oracle_of_arcavios_journey_to_the_oracle.txt 2021-04-03 13:57:31 -04:00
Northmoc
2e31e1840a improve awkward prompt 2021-04-03 13:11:45 -04:00
Northmoc
09334d2043 support for OrActivationCardsInHand param 2021-04-03 13:10:09 -04:00
Northmoc
b52d22fd76 the_biblioplex.txt 2021-04-03 13:07:38 -04:00
Michael Kamensky
34233bf682 Merge branch 'stx_2' into 'master'
STX - 2 April

See merge request core-developers/forge!4354
2021-04-03 13:53:57 +00:00
John
3ca111f6e0 Update dina_soul_steeper.txt 2021-04-03 13:16:06 +00:00
John
09556cc3ac Update daemogoth_titan.txt 2021-04-03 13:15:38 +00:00
John
ff94d85e53 Update bookwurm.txt 2021-04-03 13:14:52 +00:00
John
dd759d62e9 Update beledros_witherbloom.txt 2021-04-03 13:13:37 +00:00
Northmoc
9739ed6b87 fix Oracle typo 2021-04-03 08:08:01 -04:00
John
3d4c88ae7c Update tempted_by_the_oriq.txt 2021-04-03 11:03:21 +00:00
John
eb5f842e7b Update zimone_quandrix_prodigy.txt 2021-04-03 10:56:22 +00:00
Anthony Calosa
6fb409dcd0 Merge branch 'kevlahnota-master-patch-68671' into 'master'
Update MagicStack.java

See merge request core-developers/forge!4359
2021-04-03 10:35:04 +00:00
Anthony Calosa
b2e36e8ca2 Update MagicStack.java
Should fix conspire (Wort, the Raidmother), replicate (Djiin Illuminatus)
2021-04-03 10:27:14 +00:00
Anthony Calosa
709524b7c9 Merge branch 'master' into 'master'
Fix spell shop items

See merge request core-developers/forge!4358
2021-04-03 09:32:39 +00:00
Anthony Calosa
4444438670 Merge remote-tracking branch 'core/master' 2021-04-03 17:29:53 +08:00
Anthony Calosa
87ada19569 fix spell shop items 2021-04-03 17:28:58 +08:00
John
082fce33c3 Update witherbloom_pledgemage.txt 2021-04-03 08:01:52 +00:00
John
ae93d2028a Update sedgemoor_witch.txt 2021-04-03 08:00:06 +00:00
John
a36719686b Add new file 2021-04-03 07:52:11 +00:00
John
981dc381cf Add new file 2021-04-03 07:51:26 +00:00
John
261241c1ee Add new file 2021-04-03 07:50:49 +00:00
John
7c8d432aa9 Add new file 2021-04-03 07:49:59 +00:00
John
bd82d5d355 Add new file 2021-04-03 07:49:17 +00:00
John
fed9270211 Add new file 2021-04-03 07:48:28 +00:00
John
2fa0ef2572 Add new file 2021-04-03 07:47:42 +00:00
John
02ffbb2b5c Add new file 2021-04-03 07:46:56 +00:00
John
c00197d44a Add new file 2021-04-03 07:46:13 +00:00
John
aa30390674 Add new file 2021-04-03 07:30:16 +00:00
John
c54bf6f730 Add new file 2021-04-03 07:27:42 +00:00
John
a5cc4cc01d Add new file 2021-04-03 07:26:58 +00:00
John
ca02c342d7 Add new file 2021-04-03 07:25:32 +00:00
John
bd58d81bcc Add new file 2021-04-03 07:24:55 +00:00
John
15dfdb5bc1 Add new file 2021-04-03 07:24:12 +00:00
John
36730dd6e2 Add new file 2021-04-03 07:23:26 +00:00
John
0122589138 Add new file 2021-04-03 07:22:41 +00:00
John
e82b1c4524 Add new file 2021-04-03 07:21:40 +00:00
John
8a0ae86b28 Add new file 2021-04-03 07:20:17 +00:00
John
d406277247 Add new file 2021-04-03 07:19:33 +00:00
John
5e5015c552 Add new file 2021-04-03 07:18:49 +00:00
John
22c46a50f0 Add new file 2021-04-03 07:17:13 +00:00
Michael Kamensky
7c9404864a Merge branch 'issue1789' into 'master'
goblin_welder.txt - improve StackDesc

Closes #1789

See merge request core-developers/forge!4355
2021-04-03 04:46:20 +00:00
Michael Kamensky
82752f55d1 Merge branch 'card-fixes' into 'master'
Fix AltCost NPE

See merge request core-developers/forge!4356
2021-04-03 04:44:36 +00:00
Adam Pantel
50a7643610 Fix AltCost NPE 2021-04-02 21:37:38 -04:00
Northmoc
a85c84096f necrotic_fumes.txt remove extra spaces 2021-04-02 20:33:43 -04:00
Northmoc
7edda12548 selfless_glyphweaver_deadly_vanity.txt 2021-04-02 20:32:47 -04:00
Northmoc
d91f1df9d8 blex_vexing_pest_search_for_blex.txt 2021-04-02 20:05:47 -04:00
Northmoc
7c2f9e529c goblin_welder.txt - improve StackDesc 2021-04-02 19:13:03 -04:00
Northmoc
d7ca06c599 CostAdjustment.java support UnlessValidTarget param for Mavinda 2021-04-02 18:41:42 -04:00
Northmoc
f4ee0441ea mavinda_students_advocate.txt 2021-04-02 18:40:21 -04:00
Michael Kamensky
7b28ea1fa3 Merge branch 'Williams-master-patch-83252' into 'master'
STX More Cards 02/04

See merge request core-developers/forge!4345
2021-04-02 19:10:35 +00:00
John
e02da44288 Add new file 2021-04-02 17:58:40 +00:00
John
e836880a39 Add new file 2021-04-02 17:46:34 +00:00
Anthony Calosa
2ef00808b7 Merge branch 'kevlahnota-master-patch-77063' into 'master'
update, add alias to SLD

See merge request core-developers/forge!4352
2021-04-02 16:36:09 +00:00
Anthony Calosa
1dca52e8cd update, add alias to SLD
Should fix some decks that uses "PSLD" set code before (ie. An unsupported card was requested: "Teferi, Time Raveler" from "PSLD". We're sorry, but you cannot use this card yet.)
2021-04-02 16:34:53 +00:00
John
a4f7bd4d2b Add new file 2021-04-02 16:02:33 +00:00
John
5740917a11 Update promising_duskmage.txt 2021-04-02 14:19:26 +00:00
John
0790220a44 Update novice_dissector.txt 2021-04-02 14:18:57 +00:00
John
462459c6c2 Update karok_wrangler.txt 2021-04-02 14:18:29 +00:00
Michael Kamensky
eee160c379 Merge branch 'gorm' into 'master'
Gorm the Great and support

See merge request core-developers/forge!4349
2021-04-02 14:09:30 +00:00
Michael Kamensky
96c1ce5803 Merge branch 'stackdesc' into 'master'
Use StackDescription for AltCosts

See merge request core-developers/forge!4344
2021-04-02 14:09:03 +00:00
Michael Kamensky
6dc705450b Merge branch 'master' into 'master'
Better fix for CloneAi

See merge request core-developers/forge!4351
2021-04-02 14:08:45 +00:00
Michael Kamensky
e9f5039817 - Better fix for CloneAi 2021-04-02 17:07:07 +03:00
Michael Kamensky
4a7d0222a2 Merge branch 'master' into 'master'
Fix AI logic for ETB CloneAi with Choices

See merge request core-developers/forge!4350
2021-04-02 14:02:43 +00:00
Michael Kamensky
63e7803ea4 - Fix AI logic for ETB CloneAi with Choices 2021-04-02 17:01:59 +03:00
John
c522710f7f Add new file 2021-04-02 12:35:47 +00:00
John
d9be2b2437 Add new file 2021-04-02 12:30:26 +00:00
John
caeaefcc6a Add new file 2021-04-02 12:10:33 +00:00
John
6048161924 Add new file 2021-04-02 12:03:44 +00:00
John
4348bc20eb Add new file 2021-04-02 11:55:49 +00:00
tool4EvEr
bff6d43701 Gorm the Great and support 2021-04-02 13:55:36 +02:00
John
944fc70ff4 Add new file 2021-04-02 11:50:49 +00:00
John
a75a148278 Add new file 2021-04-02 10:35:42 +00:00
John
a378eefb7b Add new file 2021-04-02 10:28:31 +00:00
Bug Hunter
9782705e06 Merge branch 'fixed' into 'master'
Fix typos

See merge request core-developers/forge!4348
2021-04-02 10:26:55 +00:00
tool4EvEr
4cd47da3f4 Fix typos 2021-04-02 12:25:54 +02:00
Bug Hunter
65776d8401 Merge branch 'Williams-master-patch-28392' into 'master'
Fix Arrogant Poet

See merge request core-developers/forge!4347
2021-04-02 10:25:45 +00:00
John
1c5c5b3429 Update arrogant_poet.txt 2021-04-02 10:23:33 +00:00
John
284d51918f Update tenured_inkcaster.txt 2021-04-02 10:22:31 +00:00
Anthony Calosa
06a1a49a73 Merge branch 'kevlahnota-master-patch-25321' into 'master'
Update tenured_inkcaster.txt

See merge request core-developers/forge!4346
2021-04-02 10:20:49 +00:00
Anthony Calosa
1c2c72ca7c Update tenured_inkcaster.txt 2021-04-02 10:20:37 +00:00
John
f2a28a34fe Update tome_shredder.txt 2021-04-02 09:33:14 +00:00
John
34e6eedf23 Add new file 2021-04-02 09:12:44 +00:00
John
c1042d15b5 Add new file 2021-04-02 09:04:14 +00:00
John
c40f258725 Add new file 2021-04-02 08:57:31 +00:00
John
8619c180de Add new file 2021-04-02 08:49:24 +00:00
John
1e9e5c5956 Add new file 2021-04-02 08:43:21 +00:00
tool4EvEr
095769b7cd Use StackDescription for AltCosts 2021-04-02 10:20:22 +02:00
Anthony Calosa
0740115724 Merge branch 'master' into 'master'
Remove Unused Import

See merge request core-developers/forge!4343
2021-04-02 07:52:46 +00:00
Anthony Calosa
862f2080ea Remove Unused Import 2021-04-02 15:51:46 +08:00
Anthony Calosa
2ed264b2b1 Merge branch 'new-cards-2' into 'master'
Add SpellCastOrCopy trigger

See merge request core-developers/forge!4338
2021-04-02 07:44:56 +00:00
Anthony Calosa
e9c2ea0e87 Merge branch 'master' into 'master'
Skip loading filtered card

See merge request core-developers/forge!4342
2021-04-02 06:34:41 +00:00
Anthony Calosa
79cea28630 Skip loading filtered card 2021-04-02 14:31:21 +08:00
Adam Pantel
ec6ed8cea5 Remove redundant checks 2021-04-02 00:31:49 -04:00
Michael Kamensky
eab7a03c77 Merge branch 'Williams-master-patch-02407' into 'master'
STX Vanishing Verse

See merge request core-developers/forge!4336
2021-04-02 04:08:48 +00:00
Michael Kamensky
970d82e48e Merge branch 'fuse' into 'master'
Fuse: add keyword to card text

See merge request core-developers/forge!4337
2021-04-02 04:08:27 +00:00
Michael Kamensky
a9ad5169f2 Merge branch 'squirrel' into 'master'
form_of_the_squirrel.txt fixes

See merge request core-developers/forge!4340
2021-04-02 04:08:12 +00:00
Michael Kamensky
27e0b3e62f Merge branch 'stx_1' into 'master'
STX - 1 Apr (no foolin)

See merge request core-developers/forge!4335
2021-04-02 04:07:30 +00:00
Michael Kamensky
3dfa2cd397 Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4341
2021-04-02 04:06:11 +00:00
Michael Kamensky
782eca7b95 Merge branch 'new-cards' into 'master'
STX cards

See merge request core-developers/forge!4334
2021-04-02 04:06:00 +00:00
CCTV-1
17c6e46e8d update simplified chinese translation 2021-04-02 11:40:30 +08:00
Northmoc
684b3d2b2b form_of_the_squirrel.txt fixes 2021-04-01 22:25:05 -04:00
Northmoc
e0c4ee102c mastery description updates 2021-04-01 22:17:13 -04:00
Northmoc
0766a4b76d devastating_mastery.txt 2021-04-01 22:16:47 -04:00
Northmoc
e16bd40fd3 verdant_mastery.txt 2021-04-01 22:16:31 -04:00
Hans Mackowiak
479f72f160 AbilityUtils: add Valid to xCount to fix Mana Echoes 2021-04-02 00:53:46 +02:00
John
56bfb32ad4 Add new file 2021-04-01 21:13:20 +00:00
Adam Pantel
45dbb08993 STX cards 2021-04-01 17:09:43 -04:00
Bug Hunter
5030f6e901 Merge branch 'typo' into 'master'
Fix description

See merge request core-developers/forge!4339
2021-04-01 20:44:12 +00:00
tool4EvEr
e64003a22f Fix description 2021-04-01 22:43:54 +02:00
Adam Pantel
3abdeee850 Combine into one class 2021-04-01 16:23:33 -04:00
Adam Pantel
dfec2dc308 Add SpellCastOrCopy trigger 2021-04-01 15:36:51 -04:00
John
abede2f979 Add new file 2021-04-01 19:21:50 +00:00
John
695a0dac40 Add new file 2021-04-01 19:13:14 +00:00
John
266e2e13cf Add new file 2021-04-01 19:07:41 +00:00
Northmoc
79a81c86bb add AI hint 2021-04-01 14:47:29 -04:00
tool4EvEr
20f7bf5ebf Fuse: add keyword to card text 2021-04-01 20:46:31 +02:00
Northmoc
bc3cd33a30 fervent_mastery.txt 2021-04-01 14:41:20 -04:00
John
5eb3902854 Add new file 2021-04-01 18:27:25 +00:00
Northmoc
eb75911d50 baleful_mastery.txt 2021-04-01 12:26:48 -04:00
Michael Kamensky
81b352c888 Merge branch 'ai-multiple-choice' into 'master'
Add basic Multiple Choice AI, tweak Brain in a Jar AI. Also fix Multiple Choice being uncastable.

See merge request core-developers/forge!4330
2021-04-01 15:47:46 +00:00
Michael Kamensky
4b64dff6dd Merge branch 'fixdesc' into 'master'
Some fixes

See merge request core-developers/forge!4333
2021-04-01 15:47:29 +00:00
Michael Kamensky
ea2eb39975 Merge branch 'master' into 'master'
Strixhaven fun with these new cards

See merge request core-developers/forge!4331
2021-04-01 15:46:20 +00:00
Michael Kamensky
c3d64a7d2a Merge branch 'Williams-master-patch-81587' into 'master'
STX Some more cards

See merge request core-developers/forge!4332
2021-04-01 15:46:09 +00:00
Northmoc
4049a66c45 tamiyo_collector_of_tales.txt add ValidCards to +1 2021-04-01 11:33:45 -04:00
John
b06749aff9 Add new file 2021-04-01 13:29:39 +00:00
John
6fa418b43b Add new file 2021-04-01 12:30:26 +00:00
John
831786f55e Add new file 2021-04-01 12:23:41 +00:00
Michael Kamensky
952a9b69e1 Merge branch 'Williams-master-patch-62846' into 'master'
Some STX Cards 01/04

See merge request core-developers/forge!4329
2021-04-01 11:22:59 +00:00
Michael Kamensky
8d367a1167 - Add basic Multiple Choice AI
- Fix Brain in a Jar AI, move it to SpecialCardAi
2021-04-01 14:06:53 +03:00
John
6cb366a978 Add new file 2021-04-01 10:55:51 +00:00
John
aa99373d2d Add new file 2021-04-01 10:47:01 +00:00
John
a6633365ec Add new file 2021-04-01 10:46:11 +00:00
John
cac0f46d1c Add new file 2021-04-01 10:44:47 +00:00
Hythonia
3e3b14779e STX: Golden Ratio, Strixhaven Stadium and more 2021-04-01 11:26:34 +02:00
Michael Kamensky
225767acab Merge branch 'stx_31' into 'master'
STX - 31 Mar

See merge request core-developers/forge!4326
2021-04-01 08:06:10 +00:00
Michael Kamensky
7d1f31247e Merge branch 'stxed' into 'master'
New/updated edition files

See merge request core-developers/forge!4325
2021-04-01 08:04:08 +00:00
Michael Kamensky
5fe1de5f7f Merge branch 'multiple' into 'master'
Multiple Choice

See merge request core-developers/forge!4320
2021-04-01 08:02:39 +00:00
Michael Kamensky
0ac4f98ffa Merge branch 'practical' into 'master'
Practical Research and support

See merge request core-developers/forge!4323
2021-04-01 08:02:02 +00:00
Anthony Calosa
ebd3c72170 Merge branch 'master' into 'master'
fix check

See merge request core-developers/forge!4328
2021-04-01 07:54:41 +00:00
Anthony Calosa
839a91d144 fix check 2021-04-01 15:53:10 +08:00
Anthony Calosa
5c3df787bb Merge branch 'kevlahnota-master-patch-83054' into 'master'
Update blood_of_the_martyr.txt

See merge request core-developers/forge!4327
2021-04-01 06:30:26 +00:00
Anthony Calosa
daeec63b71 Update blood_of_the_martyr.txt 2021-04-01 06:30:09 +00:00
Northmoc
1aea0aa24c archway_commons.txt 2021-03-31 22:08:50 -04:00
Northmoc
7b53957e55 kasmina AI tweak 2021-03-31 22:04:08 -04:00
Northmoc
09c7af4cc4 manifestation_sage.txt 2021-03-31 22:03:49 -04:00
Northmoc
7ed9526828 leonin_lightscribe.txt 2021-03-31 21:53:09 -04:00
Northmoc
27c61f1596 hall_of_oracles.txt 2021-03-31 21:47:45 -04:00
Northmoc
ca8e4d19bf quandrix_campus.txt 2021-03-31 21:27:04 -04:00
Northmoc
938114f942 Strixhaven School of Mages.txt update 2021-03-31 17:10:58 -04:00
Northmoc
b7c61baafb Commander 2021.txt edition file 2021-03-31 17:10:08 -04:00
Northmoc
5850e271c3 moorland_haunt.txt clean up 2021-03-31 16:57:29 -04:00
Northmoc
7ab15776df ecological_appreciation.txt 2021-03-31 16:51:17 -04:00
Anthony Calosa
7f0b819993 Merge branch 'master' into 'master'
[Mobile] preload ItemPool and fix Planar Conquest new game

See merge request core-developers/forge!4324
2021-03-31 18:35:35 +00:00
Anthony Calosa
c0af1fa1eb [Mobile] preload ItemPool and fix Planar Conquest new game 2021-04-01 02:34:14 +08:00
Northmoc
316eb681f6 add AI hint 2021-03-31 10:09:28 -04:00
Northmoc
2a841e4ae2 AI multi UnlessType support 2021-03-31 09:59:54 -04:00
Northmoc
0033de0831 human multi UnlessType support 2021-03-31 09:58:54 -04:00
Northmoc
f70af84e16 practical_research.txt 2021-03-31 09:32:56 -04:00
Michael Kamensky
d9571f3c4d Merge branch 'Williams-master-patch-43202' into 'master'
STX some more cards

See merge request core-developers/forge!4317
2021-03-31 09:59:08 +00:00
Michael Kamensky
fda2f1ff15 Merge branch 'refactor_loadnonlegal' into 'master'
refactor enable non legal cards

See merge request core-developers/forge!4322
2021-03-31 09:58:54 +00:00
John
0d4824b7e0 Update sudden_breakthrough.txt 2021-03-31 07:45:18 +00:00
Hans Mackowiak
0cd376e039 CopySpellAbilityEffect: better description for optional 2021-03-31 09:26:45 +02:00
Hans Mackowiak
101c953020 Culmination of studies: better use of Remembered 2021-03-31 09:18:24 +02:00
John
46bf18cbfa Update resculpt.txt 2021-03-31 07:09:08 +00:00
Anthony Calosa
5348cd3f22 refactor enable non legal cards 2021-03-31 14:01:25 +08:00
Michael Kamensky
9591ed744b Merge branch 'stx_30' into 'master'
STX - 30 Mar

See merge request core-developers/forge!4316
2021-03-31 04:51:15 +00:00
Michael Kamensky
efed8bbd4b Merge branch 'new-cards' into 'master'
STX cards

See merge request core-developers/forge!4319
2021-03-31 04:50:11 +00:00
Michael Kamensky
7e0025d3fc Merge branch 'sym-master' into 'master'
Master Symmetrist

See merge request core-developers/forge!4308
2021-03-31 04:49:11 +00:00
Michael Kamensky
b016b56a30 Merge branch 'typo' into 'master'
typo

See merge request core-developers/forge!4321
2021-03-31 04:48:57 +00:00
Michael Kamensky
167d577f4d Merge branch 'gold' into 'master'
Fix Bound in Gold typos

See merge request core-developers/forge!4318
2021-03-31 04:48:50 +00:00
Northmoc
8888c97e07 multiple_choice.txt 2021-03-30 23:01:05 -04:00
Northmoc
b99e1f7b28 support for second SVar check 2021-03-30 22:59:59 -04:00
Adam Pantel
39b09c5b25 Symmetry Master 2021-03-30 19:31:41 -04:00
Adam Pantel
86842735bf STX cards 2021-03-30 18:37:33 -04:00
Northmoc
05cf67d3e1 prompt support for Wandering Archaic 2021-03-30 18:19:00 -04:00
Northmoc
9f10d1b923 wandering_archaic_explore_the_vastlands.txt 2021-03-30 18:19:00 -04:00
Northmoc
db66c6cde4 culmination_of_studies.txt 2021-03-30 18:19:00 -04:00
Northmoc
0eaa99a91a prismari_campus.txt 2021-03-30 18:18:59 -04:00
Northmoc
11de057064 extus_oriq_overlord_awaken_the_blood_avatar.txt and token 2021-03-30 18:18:59 -04:00
Northmoc
d206ed5c0b tanazir_quandrix.txt 2021-03-30 18:18:58 -04:00
Northmoc
6dd0275e5a galazeth_prismari.txt 2021-03-30 18:18:58 -04:00
Hans Mackowiak
cefaa78832 Semester's End: needs to be ReplacementEffect like Spark Double 2021-03-30 22:52:10 +02:00
John
7253c56086 Add new file 2021-03-30 20:27:39 +00:00
tool4EvEr
38dc4274ff Fix Bound in Gold typos 2021-03-30 21:59:30 +02:00
John
833a5bd974 Update sudden_breakthrough.txt 2021-03-30 19:43:18 +00:00
John
2443772e78 Add new file 2021-03-30 19:41:50 +00:00
John
243a24c7f2 Add new file 2021-03-30 19:34:22 +00:00
Northmoc
1166297dda fetch counter 2021-03-30 15:29:33 -04:00
Anthony Calosa
58bfc4b36c Merge branch 'tweaks' into 'master'
Tweaks

See merge request core-developers/forge!4315
2021-03-30 17:53:20 +00:00
Anthony Calosa
1b07c8838f Merge branch 'kevlahnota-master-patch-57147' into 'master'
fix NPE

See merge request core-developers/forge!4314
2021-03-30 17:28:31 +00:00
Anthony Calosa
6592694778 fix NPE 2021-03-30 17:28:08 +00:00
Northmoc
08d5735af9 one SubAbility per line 2021-03-30 13:22:07 -04:00
Northmoc
4cd69a52f6 better prompt 2021-03-30 13:21:13 -04:00
Michael Kamensky
542bab816f Merge branch 'new-cards' into 'master'
STX cards

See merge request core-developers/forge!4306
2021-03-30 17:19:24 +00:00
Michael Kamensky
357be5296f Merge branch 'Williams-master-patch-83839' into 'master'
STX some cards 30/03

See merge request core-developers/forge!4310
2021-03-30 17:18:19 +00:00
Hans Mackowiak
57816a4f3a fixup DestroyAi use getMaxXValue 2021-03-30 19:08:15 +02:00
John
7486eb640f Add new file 2021-03-30 16:51:31 +00:00
John
e946e23360 Update illustrious_historian.txt 2021-03-30 16:47:00 +00:00
Adam Pantel
e233eed8eb STX cards 2021-03-30 12:44:14 -04:00
Michael Kamensky
80ac8906b3 Merge branch 'stx_29' into 'master'
STX - 29 Mar

See merge request core-developers/forge!4302
2021-03-30 16:24:46 +00:00
Michael Kamensky
ee9cb656fc Merge branch 'master' into 'master'
STX: A couple more cards

See merge request core-developers/forge!4305
2021-03-30 16:23:44 +00:00
Michael Kamensky
cfe9f8e6e6 Merge branch 'master' into 'master'
Fix Heliod's Intervention AI

See merge request core-developers/forge!4313
2021-03-30 16:23:24 +00:00
Michael Kamensky
72f768cca4 - Fix Heliod's Intervention AI 2021-03-30 19:22:46 +03:00
Northmoc
9d0206c432 lorehold_excavation.txt AI fix 2021-03-30 12:19:35 -04:00
Anthony Calosa
53bc91d399 Merge branch 'master' into 'master'
refactor CardDB

See merge request core-developers/forge!4312
2021-03-30 15:44:06 +00:00
Anthony Calosa
ca63763d04 refactor CardDB
use filterentries instead of declaring maps
2021-03-30 23:42:33 +08:00
John
ac7589a3ff Add new file 2021-03-30 15:03:48 +00:00
John
d752442aa3 Add new file 2021-03-30 14:48:53 +00:00
Anthony Calosa
930c27a890 Merge branch 'Williams-master-patch-81518' into 'master'
Update returned_pastcaller.txt

See merge request core-developers/forge!4311
2021-03-30 11:24:28 +00:00
John
2caec7be0e Update returned_pastcaller.txt 2021-03-30 10:44:50 +00:00
John
a7cfe98ca3 Update illustrious_historian.txt 2021-03-30 10:03:10 +00:00
John
bad5f6f431 Update illustrious_historian.txt 2021-03-30 10:02:51 +00:00
John
d0116c852c Add new file 2021-03-30 10:01:56 +00:00
Hythonia
3f3ce39b30 STX: Yet more cards 2021-03-30 10:02:08 +02:00
Bug Hunter
8a5692e9df Merge branch 'TRT-master-patch-00357' into 'master'
ActivateAbilityAi: small revert/align for multiplayer

See merge request core-developers/forge!4309
2021-03-30 07:58:56 +00:00
Bug Hunter
5cf96b1154 Update forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java 2021-03-30 07:56:46 +00:00
Michael Kamensky
2d392de9ef Merge branch 'spellAbilityAdditionalAbilities' into 'master'
SpellAbility: use SpellAbility for additionalAbilities so Trigger can have cost

See merge request core-developers/forge!4303
2021-03-30 04:47:45 +00:00
Hans Mackowiak
f53aff1882 SpellAbility: use SpellAbility for additionalAbilities so Trigger can have cost 2021-03-30 04:47:44 +00:00
Michael Kamensky
0cf6cbf3bc Merge branch 'proliferate' into 'master'
Fix AI killing itself with poison + proliferate

See merge request core-developers/forge!4307
2021-03-30 04:12:46 +00:00
Michael Kamensky
28b428a6f1 Merge branch 'Williams-master-patch-92703' into 'master'
STX more cards

See merge request core-developers/forge!4300
2021-03-30 04:12:10 +00:00
Northmoc
d311ced441 campus_guide.txt 2021-03-29 19:10:17 -04:00
tool4EvEr
3ccce18f23 Fix AI killing itself with poison + proliferate 2021-03-29 23:27:38 +02:00
Northmoc
0ecd719799 curate.txt 2021-03-29 17:12:12 -04:00
Northmoc
5438e20b01 lorehold_campus.txt 2021-03-29 15:10:42 -04:00
Northmoc
b5f72ecc5c hofri_ghostforge.txt 2021-03-29 14:06:35 -04:00
Hythonia
dd20c8caf0 STX: Some more cards 2021-03-29 19:49:27 +02:00
Northmoc
c3b96e4f68 illuminate_history.txt 2021-03-29 13:09:51 -04:00
Northmoc
b3132aa757 reconstruct_history.txt 2021-03-29 13:09:50 -04:00
Northmoc
7685e3233f blade_historian.txt 2021-03-29 13:09:50 -04:00
Northmoc
ee3e66580d lorehold_excavation.txt 2021-03-29 13:09:50 -04:00
Northmoc
26cd2acbcd velomachus_lorehold.txt 2021-03-29 13:09:49 -04:00
Northmoc
0c3b099265 radiant_scrollwielder.txt 2021-03-29 13:09:49 -04:00
Bug Hunter
6971d320ae Merge branch 'fixRemembered' into 'master'
Fix RememberDiscarded

See merge request core-developers/forge!4304
2021-03-29 17:03:48 +00:00
John
2dd6305e54 Add new file 2021-03-29 17:02:42 +00:00
tool4EvEr
baf5479d0b Fix RememberDiscarded 2021-03-29 18:52:13 +02:00
Hythonia
c57be04143 STX: Some cards 2021-03-29 18:40:17 +02:00
John
f1030c2f10 Add new file 2021-03-29 16:31:09 +00:00
John
1f1639e661 Update quintorius_field_historian.txt 2021-03-29 16:10:06 +00:00
John
04d3445834 Add new file 2021-03-29 16:05:58 +00:00
John
1559a14e39 Add new file 2021-03-29 15:58:22 +00:00
John
fbbc6aa005 Update quintorius_field_historian.txt 2021-03-29 15:31:58 +00:00
John
9c573b9bfd Update returned_pastcaller.txt 2021-03-29 15:01:17 +00:00
John
96bbe2c7dc Update returned_pastcaller.txt 2021-03-29 14:59:55 +00:00
John
ec9f6b82d9 Update quintorius_field_historian.txt 2021-03-29 14:58:26 +00:00
John
2c120c3c45 Add new file 2021-03-29 14:58:03 +00:00
John
b911f5c45b Update returned_pastcaller.txt 2021-03-29 14:56:38 +00:00
John
6366a22ff3 Update returned_pastcaller.txt 2021-03-29 14:55:17 +00:00
John
5fc819d8f5 Add new file 2021-03-29 14:43:15 +00:00
John
df9d1ddcbf Add new file 2021-03-29 14:00:44 +00:00
Anthony Calosa
eed7b282d3 Merge branch 'master' into 'master'
Refactor carddb for Deck Editor/Workshop Catalog

Closes #1436

See merge request core-developers/forge!4298
2021-03-29 13:44:55 +00:00
Anthony Calosa
fc6237cd29 update advance filter
support alternate parts limited to card names, keywords, rules text, types and subtypes
2021-03-29 21:26:14 +08:00
John
c473e634e0 Add new file 2021-03-29 12:20:38 +00:00
John
28866fc1dc Add new file 2021-03-29 12:17:00 +00:00
John
8028e8ca12 Add new file 2021-03-29 12:13:42 +00:00
Anthony Calosa
28d1cc2055 Merge remote-tracking branch 'core/master' 2021-03-29 18:30:55 +08:00
Anthony Calosa
cffd99b68d update advance filter 2021-03-29 18:30:09 +08:00
Michael Kamensky
ac92a92090 Merge branch 'targetselection' into 'master'
TargetSelection: Fix stack peeking detection

See merge request core-developers/forge!4295
2021-03-29 08:00:21 +00:00
Bug Hunter
28dbb309cf TargetSelection: Fix stack peeking detection 2021-03-29 08:00:21 +00:00
Michael Kamensky
7b585aaa05 Merge branch 'descriptions' into 'master'
Fix alternate state descriptions when viewed from original

See merge request core-developers/forge!4277
2021-03-29 07:59:43 +00:00
Bug Hunter
82f0c85bd0 Fix alternate state descriptions when viewed from original 2021-03-29 07:59:43 +00:00
Michael Kamensky
1c0a7d8475 Merge branch 'Williams-master-patch-39368' into 'master'
Update adrix_and_nev_twincasters.txt

See merge request core-developers/forge!4296
2021-03-29 07:58:48 +00:00
Michael Kamensky
5f63b5f907 Merge branch 'card-fixes' into 'master'
Inzerva doesn't target

See merge request core-developers/forge!4297
2021-03-29 07:58:38 +00:00
Anthony Calosa
7459cd65d9 unused variable 2021-03-29 15:23:57 +08:00
Anthony Calosa
0b61ddaff7 fix advance filter for adventure and flip 2021-03-29 15:23:03 +08:00
Anthony Calosa
d554a7ee97 add getUniqueCardsNoAlt for mobile 2021-03-29 13:35:20 +08:00
Anthony Calosa
3d1e130b1e Merge remote-tracking branch 'core/master' 2021-03-29 12:47:11 +08:00
Anthony Calosa
a63e008f84 Merge branch 'kevlahnota-master-patch-97416' into 'master'
fix cards

See merge request core-developers/forge!4299
2021-03-29 04:46:29 +00:00
Anthony Calosa
d76ae27611 fix cards 2021-03-29 04:46:29 +00:00
Anthony Calosa
bf00d79e23 refactor carddb for Deck Editor/Workshop Catalog 2021-03-29 11:19:26 +08:00
Adam Pantel
c08775f3e3 Inzerva doesn't target 2021-03-28 22:03:12 -04:00
John
d94ceaf492 Update adrix_and_nev_twincasters.txt 2021-03-28 21:57:32 +00:00
Michael Kamensky
9802cb62d9 Merge branch 'update_word_of_command' into 'master'
Update Word of Command mana payment check conditions

See merge request core-developers/forge!4291
2021-03-28 12:26:30 +00:00
Anthony Calosa
2c4f90b31c Merge branch 'master' into 'master'
Restrict Deck Editor cards

See merge request core-developers/forge!4294
2021-03-28 09:59:21 +00:00
Anthony Calosa
163d95800b Restrict Deck Editor cards
- fix duplicate cards
2021-03-28 17:55:23 +08:00
Michael Kamensky
0662d44a86 Merge branch 'Williams-master-patch-67517' into 'master'
Update Strixhaven Mystical Archive.txt

See merge request core-developers/forge!4293
2021-03-28 09:36:11 +00:00
Michael Kamensky
c3792191a2 Merge branch 'Williams-master-patch-03072' into 'master'
STX Lesson Cards

See merge request core-developers/forge!4289
2021-03-28 09:36:01 +00:00
Michael Kamensky
97ff18c3e2 Merge branch 'uvilda' into 'master'
Uvilda

See merge request core-developers/forge!4288
2021-03-28 09:35:44 +00:00
Michael Kamensky
d069252f76 Merge branch 'new-cards' into 'master'
Zaffai

See merge request core-developers/forge!4290
2021-03-28 09:35:39 +00:00
John
54fda151be Update Strixhaven Mystical Archive.txt 2021-03-28 08:43:02 +00:00
John
04c4cf4426 Update osgir_the_Reconstructor.txt 2021-03-28 08:04:23 +00:00
John
7c81fe3339 Add new file 2021-03-28 08:03:38 +00:00
John
330862e6c0 Update adrix_and_nev_twincasters.txt 2021-03-28 07:41:09 +00:00
John
ce309a384e Update environmental_sciences.txt 2021-03-28 07:38:14 +00:00
Adam Pantel
6bc01c3472 Uvilda 2021-03-28 03:14:37 -04:00
Adam Pantel
9ecf3e11bf Zaffai 2021-03-28 03:12:59 -04:00
Bug Hunter
7da306eb65 Merge branch 'fixDraw' into 'master'
Fix NPE when targeting different players hidden zone

See merge request core-developers/forge!4292
2021-03-28 07:08:44 +00:00
tool4EvEr
3d9d6d45fe Fix NPE when targeting different players hidden zone 2021-03-28 09:05:31 +02:00
Lyu Zong-Hong
7fc85a47be Update Word of Command mana payment check conditions 2021-03-28 15:09:01 +09:00
John
6accf7fd6c Update environmental_sciences.txt 2021-03-27 22:42:37 +00:00
John
f619155667 Update introduction_to_anihilation.txt 2021-03-27 19:34:23 +00:00
John
89d50af521 Update expanded_anatomy.txt 2021-03-27 19:32:18 +00:00
John
fe3a111d6f Update adrix_and_nev_twincasters.txt 2021-03-27 19:31:43 +00:00
John
75b6b6316b Add new file 2021-03-27 19:30:57 +00:00
John
f64822a18b Add new file 2021-03-27 19:29:45 +00:00
John
e566fb2d57 Add new file 2021-03-27 19:29:14 +00:00
John
9f5931509c Add new file 2021-03-27 19:28:39 +00:00
John
deb7ee8c3a Add new file 2021-03-27 19:27:13 +00:00
Hans Mackowiak
6a56e29474 Breena with better Choices 2021-03-27 17:19:39 +01:00
Michael Kamensky
c79ccd7e23 Merge branch 'stx_27' into 'master'
STX - 27 Mar

See merge request core-developers/forge!4287
2021-03-27 15:54:51 +00:00
Michael Kamensky
36e395e3a3 Merge branch 'master' into 'master'
STX cards + Abundant Harvest

See merge request core-developers/forge!4285
2021-03-27 15:54:25 +00:00
Northmoc
c0b106c7ef valentin_dean_of_the_vein_lisette_dean_of_the_root.txt 2021-03-27 11:40:28 -04:00
Hythonia
23c8c5da19 Will fix 2021-03-27 15:37:30 +01:00
Hythonia
883f1a7cf8 DeckHas/DeckHints 2021-03-27 15:35:37 +01:00
Michael Kamensky
b2ff43bd9b Merge branch 'twosat-master-patch-55523' into 'master'
Update de-DE.properties

See merge request core-developers/forge!4284
2021-03-27 14:06:30 +00:00
Michael Kamensky
471bb1cacd Merge branch 'fix_mutate_mdfc' into 'master'
Fix crash when mutate under an MDFC backside creature.

See merge request core-developers/forge!4286
2021-03-27 14:05:08 +00:00
Northmoc
de30329a58 prismari_apprentice.txt 2021-03-27 09:23:51 -04:00
Lyu Zong-Hong
c990c8af56 Fix crash when mutate under an MDFC backside creature. 2021-03-27 22:00:20 +09:00
Hythonia
2dbd099c68 STX: Inkling type 2021-03-27 13:55:54 +01:00
Hythonia
25da363d56 STX: Rowan // Will 2021-03-27 13:50:10 +01:00
Hythonia
a957566fc9 STX: Lorehold Apprentice 2021-03-27 13:28:45 +01:00
Michael Kamensky
97db42427e Merge branch 'shaileEnterUnder' into 'master'
Card: add turnInController to keep track under which control it entered

See merge request core-developers/forge!4282
2021-03-27 12:14:09 +00:00
Hythonia
34fabaab5f STA: Abundant Harvest 2021-03-27 12:33:41 +01:00
Andreas Bendel
11893e244e Update de-DE.properties
some Choose-strings
2021-03-27 11:29:17 +00:00
Hythonia
24f1285a43 Breena and PlayerProperty.java update 2021-03-27 12:02:13 +01:00
Anthony Calosa
2d2e0fd6c0 Merge branch 'kevlahnota-master-patch-21990' into 'master'
set correct imagekey for rollback

See merge request core-developers/forge!4283
2021-03-27 10:54:51 +00:00
Anthony Calosa
5ea2aca8a8 set correct imagekey for rollback 2021-03-27 10:51:53 +00:00
Hans Mackowiak
088b4fa07e Card: add turnInController to keep track under which control it entered 2021-03-27 11:35:52 +01:00
Hans Mackowiak
7dcfbc409c STX: fix Execute$ Execute$ 2021-03-27 10:13:06 +01:00
Michael Kamensky
44bb2ff0f5 Merge branch 'drawing' into 'master'
Move all hidden zone changing after choosing

See merge request core-developers/forge!4256
2021-03-27 04:37:27 +00:00
Bug Hunter
4effb02219 Move all hidden zone changing after choosing 2021-03-27 04:37:27 +00:00
Michael Kamensky
5d7ad6bb81 Merge branch 'master' into 'master'
STX: One Ward, two card

See merge request core-developers/forge!4273
2021-03-27 04:37:13 +00:00
Michael Kamensky
2bef5d7653 Merge branch 'c21_26' into 'master'
some C21 scripts

See merge request core-developers/forge!4274
2021-03-27 04:36:54 +00:00
Michael Kamensky
6b76bec480 Merge branch 'new-cards' into 'master'
Some STX cards

See merge request core-developers/forge!4276
2021-03-27 04:36:31 +00:00
Michael Kamensky
76ab53078e Merge branch 'stx_26' into 'master'
STX - 26 Mar (+Lesson type)

See merge request core-developers/forge!4278
2021-03-27 04:35:36 +00:00
Michael Kamensky
ddf8df9c71 Merge branch 'fixStartDraw' into 'master'
Don't count draws before game started

Closes #1781

See merge request core-developers/forge!4275
2021-03-27 04:34:09 +00:00
Michael Kamensky
b312f28ab6 Merge branch 'add_word_of_command' into 'master'
Add Word of Command

See merge request core-developers/forge!4281
2021-03-27 04:33:42 +00:00
Michael Kamensky
d9e536b789 Merge branch 'shadrix' into 'master'
STX: Shadrix, token, and CharmEffect support

See merge request core-developers/forge!4271
2021-03-27 04:33:01 +00:00
Lyu Zong-Hong
2e768cb77b Add Word of Command 2021-03-27 12:25:20 +09:00
Northmoc
d611dbd386 quandrix_apprentice.txt 2021-03-26 20:30:43 -04:00
Northmoc
8976e238a5 silverquill_apprentice.txt 2021-03-26 20:27:22 -04:00
Northmoc
eb13bb8b6d witherbloom_apprentice.txt 2021-03-26 20:26:05 -04:00
Northmoc
d72eba1602 archmage_emeritus.txt 2021-03-26 20:21:45 -04:00
Northmoc
cd4685c093 eager_first_year.txt 2021-03-26 20:08:19 -04:00
Northmoc
bc3aa56ed9 remove unneeded NoResolvingCheck 2021-03-26 19:50:13 -04:00
Northmoc
903ead9e91 star_pupil.txt 2021-03-26 19:47:33 -04:00
Northmoc
bacbd8baf3 confront_the_past.txt 2021-03-26 19:36:07 -04:00
Bug Hunter
407c742124 Merge branch 'fixNPE' into 'master'
AI: Fix NPE

See merge request core-developers/forge!4280
2021-03-26 21:34:09 +00:00
tool4EvEr
34a91b7e3d Fix NPE 2021-03-26 22:33:23 +01:00
Northmoc
65f4724f87 add Lesson type 2021-03-26 16:56:21 -04:00
Northmoc
afafe46221 pest_summoning.txt and token 2021-03-26 16:55:56 -04:00
Northmoc
ff220113af storm_kiln_artist.txt (script by ?) 2021-03-26 15:28:00 -04:00
Adam Pantel
81c2c482cd Treasure Keeper, Kianne, Plargg 2021-03-26 15:25:10 -04:00
tool4EvEr
afb06baa56 Don't count draws before game started 2021-03-26 20:20:24 +01:00
Northmoc
d25ff61f22 dragonsguard_elite.txt (script by ?) 2021-03-26 15:12:08 -04:00
Northmoc
067f0b3a66 bandaid for CharmEffect.java description builder 2021-03-26 14:44:32 -04:00
Northmoc
0f71efd1e9 willowdusk_essence_seer.txt 2021-03-26 14:39:01 -04:00
Hythonia
351f9c1976 STX: Ward's TriggerDescription 2021-03-26 18:14:27 +01:00
Northmoc
a11eff4d9a add Optional param and prompt to CharmEffect.java 2021-03-26 12:44:11 -04:00
Northmoc
fe6a5a700a add optional Charm prompt 2021-03-26 12:43:34 -04:00
Northmoc
87a994b8ce shadrix_silverquill.txt v2 2021-03-26 12:42:52 -04:00
Hythonia
3f06553604 Merge remote-tracking branch 'origin/master' 2021-03-26 16:34:34 +01:00
Northmoc
e9f765a216 wb_2_1_inkling_flying.txt 2021-03-26 11:29:28 -04:00
Northmoc
532e65f3a0 shadrix_silverquill.txt 2021-03-26 11:29:08 -04:00
Hythonia
b038044347 STX: One Ward, two card 2021-03-26 15:01:59 +01:00
Michael Kamensky
0664d11f55 Merge branch 'master' into 'master'
Basic logic for Professor Onyx

See merge request core-developers/forge!4270
2021-03-26 11:48:04 +00:00
Michael Kamensky
6d00a26530 - Basic logic for Professor Onyx. 2021-03-26 14:38:10 +03:00
Michael Kamensky
a4d28b13ef Merge branch 'AIopponent' into 'master'
AI Multiplayer improvements

See merge request core-developers/forge!4239
2021-03-26 10:58:22 +00:00
Bug Hunter
fd01dc1bb1 AI Multiplayer improvements 2021-03-26 10:58:22 +00:00
Michael Kamensky
fa72d3d0de Merge branch 'master' into 'master'
update simplified chinese translation

See merge request core-developers/forge!4269
2021-03-26 10:57:20 +00:00
Michael Kamensky
f935f57d23 Merge branch 'add_camouflage' into 'master'
Add Camouflage

See merge request core-developers/forge!4268
2021-03-26 10:57:03 +00:00
Michael Kamensky
fbf1e855ad Merge branch 'snarls' into 'master'
STX rare land cycle

See merge request core-developers/forge!4263
2021-03-26 10:56:25 +00:00
Michael Kamensky
50a6037a6d Merge branch 'onyx' into 'master'
professor_onyx.txt

See merge request core-developers/forge!4262
2021-03-26 10:56:10 +00:00
CCTV-1
d15d27defb update simplified chinese translation 2021-03-26 18:40:04 +08:00
Hythonia
7952bdcb48 Revert "ManaEffect rework"
This reverts commit 9db11ce6
2021-03-26 11:37:57 +01:00
Hythonia
dfdf3160d3 Merge remote-tracking branch 'origin/master' 2021-03-26 11:20:36 +01:00
Lyu Zong-Hong
ce4f12179c Add Camouflage 2021-03-26 13:05:04 +09:00
Leandro Doctors
491da787b4 Merge branch 'update-building-docs' into 'master'
doc: update Android building instructions

See merge request core-developers/forge!4265
2021-03-26 02:01:43 +00:00
Leandro Doctors
6dbc7e2704 doc: update Android building instructions 2021-03-25 22:58:15 -03:00
Leandro Doctors
2a39c917ee Merge branch 'mention-hardcoded-value' into 'master'
add FIXME for hardcoded value

See merge request core-developers/forge!4264
2021-03-26 01:51:37 +00:00
Leandro Doctors
3733ba45e2 add FIXME for hardcoded value 2021-03-25 22:50:13 -03:00
Northmoc
2a410b9099 snarls 2021-03-25 20:14:22 -04:00
Northmoc
3ccc7c41e7 professor_onyx.txt v2 2021-03-25 18:13:33 -04:00
Northmoc
d03bc797fc DiscardEffect.java add "RememberDiscardingPlayers" param 2021-03-25 18:13:10 -04:00
Leandro Doctors
5c4f8eb526 Merge branch 'clean-up-pom' into 'master'
Delete obsolete 'developers' tags (pom.xml)

See merge request core-developers/forge!4219
2021-03-25 17:41:42 +00:00
Northmoc
973464f1c4 professor_onyx.txt 2021-03-25 10:56:40 -04:00
Hans Mackowiak
e090ab2825 Merge branch '1779-lingering-hostage-taker-untilhostleavesplay-issue' into 'master'
Resolve "Lingering Hostage Taker (UntilHostLeavesPlay) issue"

Closes #1779

See merge request core-developers/forge!4261
2021-03-25 13:51:07 +00:00
Hans Mackowiak
0413e5ded8 Fix ExiledWith being cleared when successfully added to MagicStack 2021-03-25 14:50:25 +01:00
Michael Kamensky
51c24f6fdf Merge branch 'fix_invasion_plans' into 'master'
Fix Invasion Plans

See merge request core-developers/forge!4260
2021-03-25 13:40:21 +00:00
Lyu Zong-Hong
d1de248894 Fix Invasion Plans 2021-03-25 21:19:28 +09:00
Hans Mackowiak
fdf3e618c2 Merge branch '1778-untilhostleavesplay-missing-a-check-on-hostage-taker' into 'master'
Resolve "UntilHostLeavesPlay missing a check on Hostage Taker"

Closes #1778

See merge request core-developers/forge!4259
2021-03-25 07:52:04 +00:00
Hans Mackowiak
5b0a228f4f SpellAbilityEffect: fix untilHostLeavesPlayCommand to check the until CardCollection 2021-03-25 08:51:35 +01:00
Hythonia
9db11ce690 ManaEffect rework 2021-03-24 20:14:41 +01:00
Leandro Doctors
f9bdf6e181 Delete obsolete 'developers' tags
That information is obsolete. The up to date version can always be obtained form version control.
2021-03-19 11:38:30 -03:00
10640 changed files with 207712 additions and 86280 deletions

3
.gitignore vendored
View File

@@ -17,6 +17,7 @@
.vscode/settings.json .vscode/settings.json
.vscode/launch.json .vscode/launch.json
.factorypath
# Ignore NetBeans config files # Ignore NetBeans config files
@@ -32,6 +33,8 @@ bin
gen gen
*.log *.log
# Ignore macOS Spotlight rubbish
.DS_Store
# TODO: specify what these ignores are for (releasing?) # TODO: specify what these ignores are for (releasing?)

View File

@@ -1,15 +1,15 @@
# Forge # Forge
Gitlab repo is found [here](https://git.cardforge.org/core-developers/forge). [Official GitLab repo](https://git.cardforge.org/core-developers/forge).
Dev instructions here: [Getting Started](https://www.slightlymagic.net/wiki/Forge:How_to_Get_Started_Developing_Forge) (Somewhat outdated) Dev instructions here: [Getting Started](https://git.cardforge.org/core-developers/forge/-/wikis/(SM-autoconverted)-how-to-get-started-developing-forge) (Somewhat outdated)
Discord channel [here](https://discordapp.com/channels/267367946135928833/267742313390931968) Discord channel [here](https://discordapp.com/channels/267367946135928833/267742313390931968)
# Requirements / Tools ## Requirements / Tools
- Java IDE such as IntelliJ or Eclipse - you favourite Java IDE (IntelliJ, Eclipse, VSCodium, Emacs, Vi...)
- Java JDK 8 or later - Java JDK 8 or later (some IDEs such as Eclipse require JDK11+, whereas the Android build currently only works with JDK8)
- Git - Git
- Git client (optional) - Git client (optional)
- Maven - Maven
@@ -18,7 +18,7 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
- Android SDK (optional: for Android releases) - Android SDK (optional: for Android releases)
- RoboVM (optional: for iOS releases) (TBD: Current status of support by libgdx) - RoboVM (optional: for iOS releases) (TBD: Current status of support by libgdx)
# Project Quick Setup ## Project Quick Setup
- Log in to gitlab with your user account and fork the project. - Log in to gitlab with your user account and fork the project.
@@ -26,11 +26,11 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot. Example for Windows & Linux: `mvn -U -B clean -P windows-linux install` - Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot. Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
# Eclipse ## Eclipse
Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary. Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
## Project Setup ### Project Setup
- Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined. - Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined.
@@ -55,9 +55,9 @@ Eclipse includes Maven integration so a separate install is not necessary. For
- Once everything builds, all errors should disappear. You can now advance to Project launch. - Once everything builds, all errors should disappear. You can now advance to Project launch.
## Project Launch ### Project Launch
### Desktop #### Desktop
This is the standard configuration used for releasing to Windows / Linux / MacOS. This is the standard configuration used for releasing to Windows / Linux / MacOS.
@@ -65,7 +65,7 @@ This is the standard configuration used for releasing to Windows / Linux / MacOS
- The familiar Forge splash screen, etc. should appear. Enjoy! - The familiar Forge splash screen, etc. should appear. Enjoy!
### Mobile (Desktop dev) #### Mobile (Desktop dev)
This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here. This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here.
@@ -73,24 +73,24 @@ This is the configuration used for doing mobile development using the Windows /
- A view similar to a mobile phone should appear. Enjoy! - A view similar to a mobile phone should appear. Enjoy!
## Eclipse / Android SDK Integration ### Eclipse / Android SDK Integration
Google no longer supports Android SDK releases for Eclipse. That said, it is still possible to build and debug Android platforms. Google no longer supports Android SDK releases for Eclipse. That said, it is still possible to build and debug Android platforms.
### Android SDK #### Android SDK
Reference SO for obtaining a specific release: https://stackoverflow.com/questions/27043522/where-can-i-download-an-older-version-of-the-android-sdk Reference SO for obtaining a specific release: https://stackoverflow.com/questions/27043522/where-can-i-download-an-older-version-of-the-android-sdk
#### Windows ##### Windows
Download the following archived version of the Android SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.3-windows.zip. Install it somewhere on your machine. This is referenced Download the following archived version of the Android SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.3-windows.zip. Install it somewhere on your machine. This is referenced
in the following instructions as your 'Android SDK Install' path. in the following instructions as your 'Android SDK Install' path.
#### Linux / Mac OSX ##### Linux / Mac OSX
TBD TBD
### Android Plugin for Eclipse #### Android Plugin for Eclipse
Google's last plugin release does not work completely with target's running Android 7.0 or later. Download the ADT-24.2.0-20160729.zip plugin Google's last plugin release does not work completely with target's running Android 7.0 or later. Download the ADT-24.2.0-20160729.zip plugin
from: https://github.com/khaledev/ADT/releases from: https://github.com/khaledev/ADT/releases
@@ -98,25 +98,24 @@ from: https://github.com/khaledev/ADT/releases
In Eclipse go to: Help > Install New Software... > Add > Name: ADT Update, Click on the "Archive:" button and navigate to the downloaded ADT-24.2.0-20160729.zip file > Add. Install all "Developer Tools". Eclipse In Eclipse go to: Help > Install New Software... > Add > Name: ADT Update, Click on the "Archive:" button and navigate to the downloaded ADT-24.2.0-20160729.zip file > Add. Install all "Developer Tools". Eclipse
should restart and prompt you to run the SDK Manager. Launch it and continue to the next steps below. should restart and prompt you to run the SDK Manager. Launch it and continue to the next steps below.
### Android Platform #### Android Platform
In Eclipse, if the SDK Manager is not already running, go to Window > Android SDK Manager. Install the following options / versions: In Eclipse, if the SDK Manager is not already running, go to Window > Android SDK Manager. Install the following options / versions:
- Android SDK Build-tools 26.0.1 - Android SDK Build-tools 26.0.1
- Android 7.1.1 (API 25) SDK Platform - Android 8.0.0 (API 26) SDK Platform
- Google USB Driver 11 - Google USB Driver (in case your phone is not detected by ADB)
Note that this will populate additional tools in the Android SDK install path extracted above. Note that this will populate additional tools in the Android SDK install path extracted above.
### Proguard update #### Proguard update
The Proguard included with the Android SDK Build-tools is outdated and does not work with Java 1.8. Download Proguard 6.0.3 from https://sourceforge.net/projects/proguard/files/proguard/6.0/. The Proguard included with the Android SDK Build-tools is outdated and does not work with Java 1.8. Download Proguard 6.0.3 or later (last tested with 7.0.1) from https://github.com/Guardsquare/proguard
- Go to the Android SDK install path. Rename the tools/proguard/ path to tools/proguard-4.7/.
- Go to the Android SDK install path. Rename the tools/proguard/ path to tools/proguard4.7/. - Extract your Proguard version to the Android SDK install path under tools/. You will need to either rename the dir proguard-<your-version> to proguard/ or, if your filesystem supports it, use a symbolic link (the later is highly recommended), such as `ln -s proguard proguard-<your-version>`.
- Extract Proguard 6.0.3 to the Android SDK install path under tools/. You will need to rename the dir proguard6.0.3/ to proguard/. #### Android Build
### Android Build
The Eclipse plug-ins do NOT support building things for Android. They do however allow you to use the debugger so you can still set breakpoints and trace The Eclipse plug-ins do NOT support building things for Android. They do however allow you to use the debugger so you can still set breakpoints and trace
things out. The steps below show how to generate a debug Android build. things out. The steps below show how to generate a debug Android build.
@@ -135,7 +134,7 @@ things out. The steps below show how to generate a debug Android build.
Assuming you got this far, you should have an Android forge-android-[version].apk in the forge-gui-android/target path. Assuming you got this far, you should have an Android forge-android-[version].apk in the forge-gui-android/target path.
### Android Deploy #### Android Deploy
You'll need to have the Android SDK install path platform-tools/ path in your command search path to easily deploy builds. You'll need to have the Android SDK install path platform-tools/ path in your command search path to easily deploy builds.
@@ -149,14 +148,14 @@ You'll need to have the Android SDK install path platform-tools/ path in your co
- Install the new apk: `adb install forge-android-[version].apk` - Install the new apk: `adb install forge-android-[version].apk`
### Android Debugging #### Android Debugging
Assuming the apk is installed, launch it from the device. Assuming the apk is installed, launch it from the device.
In Eclipse, launch the DDMS. Window > Perspective > Open Perspective > Other... > DDMS. You should see the forge app in the list. Highlight the app, click on the green debug button and a In Eclipse, launch the DDMS. Window > Perspective > Open Perspective > Other... > DDMS. You should see the forge app in the list. Highlight the app, click on the green debug button and a
green debug button should appear next to the app's name. You can now set breakpoints and step through the source code. green debug button should appear next to the app's name. You can now set breakpoints and step through the source code.
## Windows / Linux SNAPSHOT build ### Windows / Linux SNAPSHOT build
SNAPSHOT builds can be built via the Maven integration in Eclipse. SNAPSHOT builds can be built via the Maven integration in Eclipse.
@@ -167,19 +166,19 @@ SNAPSHOT builds can be built via the Maven integration in Eclipse.
The resulting snapshot will be found at: forge-gui-desktop/target/forge-gui-desktop-[version]-SNAPSHOT The resulting snapshot will be found at: forge-gui-desktop/target/forge-gui-desktop-[version]-SNAPSHOT
# IntelliJ ## IntelliJ
Quick start guide for [setting up the Forge project within IntelliJ](https://git.cardforge.org/core-developers/forge/wikis/intellij-setup). Quick start guide for [setting up the Forge project within IntelliJ](https://git.cardforge.org/core-developers/forge/-/wikis/Development/intellij-setup).
# Card Scripting ## Card Scripting
Visit [this page](https://www.slightlymagic.net/wiki/Forge_API) for information on scripting. Visit [this page](https://git.cardforge.org/core-developers/forge/-/wikis/Card-scripting-API/Card-scripting-API) for information on scripting.
Card scripting resources are found in the forge-gui/res/ path. Card scripting resources are found in the forge-gui/res/ path.
# General Notes ## General Notes
## Project Hierarchy ### Project Hierarchy
Forge is divided into 4 primary projects with additional projects that target specific platform releases. The primary projects are: Forge is divided into 4 primary projects with additional projects that target specific platform releases. The primary projects are:
@@ -196,35 +195,34 @@ The platform-specific projects are:
- forge-gui-mobile - forge-gui-mobile
- forge-gui-mobile-dev - forge-gui-mobile-dev
### forge-ai #### forge-ai
### forge-core #### forge-core
### forge-game #### forge-game
### forge-gui #### forge-gui
The forge-gui project includes the scripting resource definitions in the res/ path. The forge-gui project includes the scripting resource definitions in the res/ path.
### forge-gui-android #### forge-gui-android
Libgdx-based backend targeting Android. Requires Android SDK and relies on forge-gui-mobile for GUI logic. Libgdx-based backend targeting Android. Requires Android SDK and relies on forge-gui-mobile for GUI logic.
### forge-gui-desktop #### forge-gui-desktop
Java Swing based GUI targeting desktop machines. Java Swing based GUI targeting desktop machines.
Screen layout and game logic revolving around the GUI is found here. For example, the overlay arrows (when enabled) that indicate attackers and blockers, or the targets of the stack are defined and drawn by this. Screen layout and game logic revolving around the GUI is found here. For example, the overlay arrows (when enabled) that indicate attackers and blockers, or the targets of the stack are defined and drawn by this.
### forge-gui-ios #### forge-gui-ios
Libgdx-based backend targeting iOS. Relies on forge-gui-mobile for GUI logic. Libgdx-based backend targeting iOS. Relies on forge-gui-mobile for GUI logic.
### forge-gui-mobile #### forge-gui-mobile
Mobile GUI game logic utilizing [libgdx](https://libgdx.badlogicgames.com/) library. Screen layout and game logic revolving around the GUI for the mobile platforms is found here. Mobile GUI game logic utilizing [libgdx](https://libgdx.badlogicgames.com/) library. Screen layout and game logic revolving around the GUI for the mobile platforms is found here.
### forge-gui-mobile-dev #### forge-gui-mobile-dev
Libgdx backend for desktop development for mobile backends. Utilizes LWJGL. Relies on forge-gui-mobile for GUI logic. Libgdx backend for desktop development for mobile backends. Utilizes LWJGL. Relies on forge-gui-mobile for GUI logic.

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

288
forge-adventure/pom.xml Normal file
View File

@@ -0,0 +1,288 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>forge</artifactId>
<groupId>forge</groupId>
<version>1.6.46</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>forge-adventure</artifactId>
<packaging>jar</packaging>
<name>Forge Adventure</name>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<includes>
<include>**/*.vert</include>
<include>**/*.frag</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.7.25</version>
<executions>
<execution>
<id>l4j-adv</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<outfile>${project.build.directory}/forge-adventure-java8.exe</outfile>
<jar>${project.build.finalName}-jar-with-dependencies.jar</jar>
<dontWrapJar>true</dontWrapJar>
<errTitle>forge</errTitle>
<icon>src/main/config/forge-adventure.ico</icon>
<classPath>
<mainClass>forge.adventure.Main</mainClass>
<addDependencies>false</addDependencies>
<preCp>anything</preCp>
</classPath>
<jre>
<minVersion>1.8.0</minVersion>
<maxHeapSize>4096</maxHeapSize>
<opts>
<opt>-Dfile.encoding=UTF-8</opt>
</opts>
</jre>
<versionInfo>
<fileVersion>
1.0.0.0
</fileVersion>
<txtFileVersion>
1.0.0.0
</txtFileVersion>
<fileDescription>Forge</fileDescription>
<copyright>Forge</copyright>
<productVersion>
1.0.0.0
</productVersion>
<txtProductVersion>
1.0.0.0
</txtProductVersion>
<productName>forge-adventure</productName>
<internalName>forge-adventure</internalName>
<originalFilename>forge-adventure-java8.exe</originalFilename>
</versionInfo>
</configuration>
</execution>
<!--extra-->
<execution>
<id>l4j-adv2</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<outfile>${project.build.directory}/forge-adventure.exe</outfile>
<jar>${project.build.finalName}-jar-with-dependencies.jar</jar>
<dontWrapJar>true</dontWrapJar>
<errTitle>forge</errTitle>
<downloadUrl>https://www.oracle.com/java/technologies/downloads/</downloadUrl>
<icon>src/main/config/forge-adventure.ico</icon>
<classPath>
<mainClass>forge.adventure.Main</mainClass>
<addDependencies>false</addDependencies>
<preCp>anything</preCp>
</classPath>
<jre>
<minVersion>11.0.1</minVersion>
<jdkPreference>jdkOnly</jdkPreference>
<maxHeapSize>4096</maxHeapSize>
<opts>
<opt>-Dfile.encoding=UTF-8</opt>
<opt>--add-opens java.base/java.lang=ALL-UNNAMED</opt>
<opt>--add-opens java.base/java.util=ALL-UNNAMED</opt>
<opt>--add-opens java.base/java.lang.reflect=ALL-UNNAMED</opt>
<opt>--add-opens java.base/java.text=ALL-UNNAMED</opt>
<opt>--add-opens java.desktop/java.awt.font=ALL-UNNAMED</opt>
</opts>
</jre>
<versionInfo>
<fileVersion>
1.0.0.0
</fileVersion>
<txtFileVersion>
1.0.0.0
</txtFileVersion>
<fileDescription>Forge</fileDescription>
<copyright>Forge</copyright>
<productVersion>
1.0.0.0
</productVersion>
<txtProductVersion>
1.0.0.0
</txtProductVersion>
<productName>forge-adventure</productName>
<internalName>forge-adventure</internalName>
<originalFilename>forge-adventure.exe</originalFilename>
</versionInfo>
</configuration>
</execution>
<!--extra-->
</executions>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${basedir}/${configSourceDirectory}</basedir>
<filesToInclude>forge-adventure.sh, forge-adventure.command</filesToInclude>
<outputBasedir>${project.build.directory}</outputBasedir>
<outputDir>.</outputDir>
<regex>false</regex>
<replacements>
<replacement>
<token>$project.build.finalName$</token>
<value>${project.build.finalName}-jar-with-dependencies.jar</value>
</replacement>
</replacements>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<attach>false</attach>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>forge.adventure.Main</mainClass>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- this is used for inheritance merges -->
<phase>package</phase>
<!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.github.jetopto1</groupId>
<artifactId>cling</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx</artifactId>
<version>1.10.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-platform</artifactId>
<version>1.10.0</version>
<classifier>natives-desktop</classifier>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-freetype</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-backend-lwjgl3</artifactId>
<version>1.10.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-freetype-platform</artifactId>
<version>1.10.0</version>
<classifier>natives-desktop</classifier>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-game</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-ai</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-gui</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-gui-mobile</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.github.raeleus.TenPatch</groupId>
<artifactId>tenpatch</artifactId>
<version>5.2.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>22.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>forge</groupId>
<artifactId>forge-gui-mobile</artifactId>
<version>1.6.46</version>
<scope>compile</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>

View File

@@ -0,0 +1,14 @@
# ideally this should be using HTTPS, but this is fine for now
dsn=http://a0b8dbad9b8a49cfa51bf65d462e8dae@sentry.cardforge.org:9000/2
stacktrace.app.packages=forge
# where to store events if offline or can't reach the above server
buffer.dir=sentry-events
buffer.size=100
# allow ample time for graceful shutdown
buffer.shutdowntimeout=5000
async.shutdowntimeout=5000
# allow longer messages
maxmessagelength=1500

View File

@@ -0,0 +1,15 @@
#ifdef GL_ES
precision mediump float;
#endif
varying vec4 v_color;
varying vec2 v_texCoords;
uniform sampler2D u_texture;
uniform float u_grayness;
void main() {
vec4 c = v_color * texture2D(u_texture, v_texCoords);
float grey = dot( c.rgb, vec3(0.22, 0.707, 0.071) );
vec3 blendedColor = mix(c.rgb, vec3(grey), u_grayness);
gl_FragColor = vec4(blendedColor.rgb, c.a);
}

View File

@@ -0,0 +1,14 @@
attribute vec4 a_position;
attribute vec4 a_color;
attribute vec2 a_texCoord0;
uniform mat4 u_projTrans;
varying vec4 v_color;
varying vec2 v_texCoords;
void main() {
v_color = a_color;
v_texCoords = a_texCoord0;
gl_Position = u_projTrans * a_position;
}

View File

@@ -0,0 +1,40 @@
#ifdef GL_ES
precision mediump float;
precision mediump int;
#endif
uniform sampler2D u_texture;
uniform vec2 u_viewportInverse;
uniform vec3 u_color;
uniform float u_offset;
uniform float u_step;
varying vec4 v_color;
varying vec2 v_texCoord;
#define ALPHA_VALUE_BORDER 0.5
void main() {
vec2 T = v_texCoord.xy;
float alpha = 0.0;
bool allin = true;
for( float ix = -u_offset; ix < u_offset; ix += u_step )
{
for( float iy = -u_offset; iy < u_offset; iy += u_step )
{
float newAlpha = texture2D(u_texture, T + vec2(ix, iy) * u_viewportInverse).a;
allin = allin && newAlpha > ALPHA_VALUE_BORDER;
if (newAlpha > ALPHA_VALUE_BORDER && newAlpha >= alpha)
{
alpha = newAlpha;
}
}
}
if (allin)
{
alpha = 0.0;
}
gl_FragColor = vec4(u_color,alpha);
}

View File

@@ -0,0 +1,16 @@
uniform mat4 u_projTrans;
attribute vec4 a_position;
attribute vec2 a_texCoord0;
attribute vec4 a_color;
varying vec4 v_color;
varying vec2 v_texCoord;
uniform vec2 u_viewportInverse;
void main() {
gl_Position = u_projTrans * a_position;
v_texCoord = a_texCoord0;
v_color = a_color;
}

View File

@@ -0,0 +1,23 @@
#ifdef GL_ES
#define PRECISION mediump
precision PRECISION float;
precision PRECISION int;
#else
#define PRECISION
#endif
varying vec2 v_texCoords;
uniform sampler2D u_texture;
uniform float u_amount;
uniform float u_speed;
uniform float u_time;
void main () {
vec2 uv = v_texCoords;
uv.y += (cos((uv.y + (u_time * 0.04 * u_speed)) * 45.0) * 0.0019 * u_amount) + (cos((uv.y + (u_time * 0.1 * u_speed)) * 10.0) * 0.002 * u_amount);
uv.x += (sin((uv.y + (u_time * 0.07 * u_speed)) * 15.0) * 0.0029 * u_amount) + (sin((uv.y + (u_time * 0.1 * u_speed)) * 15.0) * 0.002 * u_amount);
gl_FragColor = texture2D(u_texture, uv);
}

View File

@@ -0,0 +1,57 @@
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 v_texCoords;
uniform sampler2D u_texture;
uniform float u_time;
uniform float u_speed;
uniform float u_amount;
uniform vec2 u_viewport;
uniform vec2 u_position;
float random2d(vec2 n) {
return fract(sin(dot(n, vec2(12.9898, 4.1414))) * 43758.5453);
}
float randomRange (in vec2 seed, in float min, in float max) {
return min + random2d(seed) * (max - min);
}
float insideRange(float v, float bottom, float top) {
return step(bottom, v) - step(top, v);
}
void main()
{
float time = floor(u_time * u_speed * 60.0);
vec3 outCol = texture2D(u_texture, v_texCoords).rgb;
float maxOffset = u_amount/2.0;
for (float i = 0.0; i < 2.0; i += 1.0) {
float sliceY = random2d(vec2(time, 2345.0 + float(i)));
float sliceH = random2d(vec2(time, 9035.0 + float(i))) * 0.25;
float hOffset = randomRange(vec2(time, 9625.0 + float(i)), -maxOffset, maxOffset);
vec2 uvOff = v_texCoords;
uvOff.x += hOffset;
if (insideRange(v_texCoords.y, sliceY, fract(sliceY+sliceH)) == 1.0){
outCol = texture2D(u_texture, uvOff).rgb;
}
}
float maxColOffset = u_amount / 6.0;
float rnd = random2d(vec2(time , 9545.0));
vec2 colOffset = vec2(randomRange(vec2(time , 9545.0), -maxColOffset, maxColOffset),
randomRange(vec2(time , 7205.0), -maxColOffset, maxColOffset));
if (rnd < 0.33) {
outCol.r = texture2D(u_texture, v_texCoords + colOffset).r;
} else if (rnd < 0.66) {
outCol.g = texture2D(u_texture, v_texCoords + colOffset).g;
} else {
outCol.b = texture2D(u_texture, v_texCoords + colOffset).b;
}
gl_FragColor = vec4(outCol, 1.0);
}

View File

@@ -0,0 +1,3 @@
#!/bin/sh
cd $(dirname "${0}")
java -Xmx4096m -Dfile.encoding=UTF-8 -jar $project.build.finalName$

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -0,0 +1,3 @@
#!/bin/sh
cd $(dirname "${0}")
java -Xmx4096m -Dfile.encoding=UTF-8 -jar $project.build.finalName$

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View File

@@ -0,0 +1,202 @@
package forge.adventure;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Clipboard;
import com.badlogic.gdx.utils.ScreenUtils;
import forge.Forge;
import forge.Graphics;
import forge.adventure.scene.ForgeScene;
import forge.adventure.scene.Scene;
import forge.adventure.scene.SceneType;
import forge.adventure.util.Config;
import forge.interfaces.IDeviceAdapter;
/**
* Application adapter the handle switching and fading between scenes
*/
public class AdventureApplicationAdapter extends Forge {
public static AdventureApplicationAdapter instance;
Scene currentScene = null;
Array<Scene> lastScene = new Array<>();
private int currentWidth;
private int currentHeight;
private float animationTimeout;
Batch animationBatch;
Texture transitionTexture;
TextureRegion lastScreenTexture;
private boolean sceneWasSwapped =false;
private Graphics graphics;
public Graphics getGraphics()
{
if(graphics==null)
graphics=new Graphics();
return graphics;
}
public TextureRegion getLastScreenTexture() {
return lastScreenTexture;
}
public AdventureApplicationAdapter(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, boolean value, boolean androidOrientation, int totalRAM, boolean isTablet, int AndroidAPI, String AndroidRelease, String deviceName) {
super(clipboard0, deviceAdapter0, assetDir0, value, androidOrientation, totalRAM, isTablet, AndroidAPI, AndroidRelease, deviceName);
instance = this;
}
public int getCurrentWidth() {
return currentWidth;
}
public int getCurrentHeight() {
return currentHeight;
}
public Scene getCurrentScene() {
return currentScene;
}
@Override
public void resize(int w, int h) {
currentWidth = w;
currentHeight = h;
super.resize(w, h);
}
public boolean switchScene(Scene newScene) {
if (currentScene != null) {
if (!currentScene.leave())
return false;
lastScene.add(currentScene);
}
storeScreen();
sceneWasSwapped =true;
currentScene = newScene;
currentScene.enter();
return true;
}
private void storeScreen() {
if(!(currentScene instanceof ForgeScene))
{
if(lastScreenTexture!=null)
lastScreenTexture.getTexture().dispose();
lastScreenTexture = ScreenUtils.getFrameBufferTexture();
}
}
public void resLoaded() {
for (forge.adventure.scene.SceneType entry : SceneType.values()) {
entry.instance.resLoaded();
}
//AdventureApplicationAdapter.CurrentAdapter.switchScene(SceneType.RewardScene.instance);
switchScene(SceneType.StartScene.instance);
animationBatch=new SpriteBatch();
transitionTexture =new Texture(Config.instance().getFile("ui/transition.png"));
}
@Override
public void create() {
Pixmap pm = new Pixmap(Config.instance().getFile("skin/cursor.png"));
Gdx.graphics.setCursor(Gdx.graphics.newCursor(pm, 0, 0));
pm.dispose();
for (forge.adventure.scene.SceneType entry : SceneType.values()) {
entry.instance.create();
}
super.create();
}
@Override
public void render() {
float delta=Gdx.graphics.getDeltaTime();
float transitionTime = 0.2f;
if(sceneWasSwapped)
{
sceneWasSwapped =false;
animationTimeout= transitionTime;
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
return;
}
if(animationTimeout>=0)
{
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
animationBatch.begin();
animationTimeout-=delta;
animationBatch.setColor(1,1,1,1);
animationBatch.draw(lastScreenTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.setColor(1,1,1,1-(1/ transitionTime)*animationTimeout);
animationBatch.draw(transitionTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.draw(transitionTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.end();
if(animationTimeout<0)
{
currentScene.render();
storeScreen();
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
else
{
return;
}
}
if(animationTimeout>=-transitionTime)
{
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
animationBatch.begin();
animationTimeout-=delta;
animationBatch.setColor(1,1,1,1);
animationBatch.draw(lastScreenTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.setColor(1,1,1,(1/ transitionTime)*(animationTimeout+ transitionTime));
animationBatch.draw(transitionTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.draw(transitionTexture,0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
animationBatch.end();
return;
}
currentScene.render();
currentScene.act(delta);
}
@Override
public void dispose() {
for (forge.adventure.scene.SceneType entry : SceneType.values()) {
entry.instance.dispose();
}
System.exit(0);
}
private Scene getLastScene() {
return lastScene.size==0?null: lastScene.get(lastScene.size-1);
}
public Scene switchToLast() {
if(lastScene.size!=0)
{
storeScreen();
currentScene = lastScene.get(lastScene.size-1);
currentScene.enter();
sceneWasSwapped =true;
lastScene.removeIndex(lastScene.size-1);
return currentScene;
}
return null;
}
}

View File

@@ -0,0 +1,91 @@
package forge.adventure;
import com.badlogic.gdx.Gdx;
import forge.interfaces.IDeviceAdapter;
import forge.util.FileUtil;
import forge.util.OperatingSystem;
import forge.util.RestartUtil;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* Adapter for desktop usage
*/
public class DesktopAdapter implements IDeviceAdapter {
private final String switchOrientationFile;
public DesktopAdapter(String switchOrientationFile0) {
switchOrientationFile = switchOrientationFile0;
}
//just assume desktop always connected to wifi
@Override
public boolean isConnectedToInternet() {
return true;
}
@Override
public boolean isConnectedToWifi() {
return true;
}
@Override
public String getDownloadsDir() {
return System.getProperty("user.home") + "/Downloads/";
}
@Override
public boolean openFile(String filename) {
try {
Desktop.getDesktop().open(new File(filename));
return true;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
@Override
public void restart() {
if (RestartUtil.prepareForRestart()) {
Gdx.app.exit();
}
}
@Override
public void exit() {
Gdx.app.exit(); //can just use Gdx.app.exit for desktop
}
@Override
public boolean isTablet() {
return true; //treat desktop the same as a tablet
}
@Override
public void setLandscapeMode(boolean landscapeMode) {
//create file to indicate that landscape mode should be used
if (landscapeMode) {
FileUtil.writeFile(switchOrientationFile, "1");
} else {
FileUtil.deleteFile(switchOrientationFile);
}
}
@Override
public void preventSystemSleep(boolean preventSleep) {
OperatingSystem.preventSystemSleep(preventSleep);
}
@Override
public void convertToJPEG(InputStream input, OutputStream output) throws IOException {
BufferedImage image = ImageIO.read(input);
ImageIO.write(image, "jpg", output);
}
}

View File

@@ -0,0 +1,137 @@
package forge.adventure;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Clipboard;
import com.badlogic.gdx.graphics.GL20;
import forge.Forge;
import forge.adventure.util.Config;
import forge.assets.FSkin;
import forge.gui.GuiBase;
import forge.sound.MusicPlaylist;
import forge.sound.SoundSystem;
import forge.util.BuildInfo;
import io.sentry.Sentry;
import io.sentry.SentryClient;
import java.nio.file.Files;
import java.nio.file.Paths;
/**
* Wrapper to start forge first (splash screen and resources loading)
*
*/
class StartAdventure extends AdventureApplicationAdapter {
public StartAdventure( ) {
super(new Lwjgl3Clipboard(), new DesktopAdapter(""), Files.exists(Paths.get("./res"))?"./":"../forge-gui/", true, false, 0, true, 0, "", "");
Forge.isTabletDevice = true;
Forge.isPortraitMode = false;
Forge.hdbuttons = true;
Forge.hdstart = true;
isPortraitMode = true;
totalDeviceRAM = 0;
GuiBase.setDeviceInfo("", "", 0, 0);
}
@Override
public void render() {
if (splashScreen != null) {
Gdx.gl.glClearColor(1, 0, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); // Clear the screen.
getGraphics().begin(getCurrentWidth(), getCurrentHeight());
splashScreen.setSize(getCurrentWidth(), getCurrentHeight());
splashScreen.screenPos.setSize(getCurrentWidth(), getCurrentHeight());
if (splashScreen.getRotate180()) {
getGraphics().startRotateTransform(getCurrentWidth() / 2f, getCurrentHeight() / 2f, 180);
}
splashScreen.draw(getGraphics());
if (splashScreen.getRotate180()) {
getGraphics().endTransform();
}
getGraphics().end();
} else {
super.render();
}
}
@Override
public void resize(int width, int height) {
super.resize(width, height);
if (splashScreen != null)
splashScreen.setSize(width, height);
}
@Override
public void create() {
//install our error handler
FSkin.loadLight("default", splashScreen,Config.instance().getFile("skin"));
//load model on background thread (using progress bar to report progress)
super.create();
}
@Override
protected void afterDbLoaded()
{
FSkin.loadLight("default", splashScreen,Config.instance().getFile("skin"));
FSkin.loadFull(splashScreen);
SoundSystem.instance.setBackgroundMusic(MusicPlaylist.MENUS); //start background music
Gdx.input.setCatchKey(Input.Keys.MENU, true);
//openHomeScreen(-1, null); //default for startup
splashScreen = null;
afterDBloaded = true;
//adjust height modifier
adjustHeightModifier(getScreenWidth(), getScreenHeight());
resLoaded();
}
}
/**
* Main entry point
*/
public class Main {
public static void main(String[] args) {
Sentry.init();
SentryClient sentryClient = Sentry.getStoredClient();
sentryClient.setRelease(BuildInfo.getVersionString());
sentryClient.setEnvironment(System.getProperty("os.name"));
sentryClient.addTag("Java Version", System.getProperty("java.version"));
// HACK - temporary solution to "Comparison method violates it's general contract!" crash
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
//Turn off the Java 2D system's use of Direct3D to improve rendering speed (particularly when Full Screen)
System.setProperty("sun.java2d.d3d", "false");
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setResizable(false);
StartAdventure start=new StartAdventure();
if (Config.instance().getSettingData().fullScreen)
{
config.setFullscreenMode(Lwjgl3ApplicationConfiguration.getDisplayMode());
} else {
config.setWindowedMode(Config.instance().getSettingData().width, Config.instance().getSettingData().height);
}
config.setWindowIcon(Config.instance().getFilePath("forge-adventure.png"));
new Lwjgl3Application(start, config);
}
}

View File

@@ -0,0 +1,239 @@
package forge.adventure.character;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.utils.Array;
import forge.adventure.stage.SpriteGroup;
import forge.adventure.util.Config;
import java.util.HashMap;
/**
* CharacterSprite base class for animated sprites on the map
*/
public class CharacterSprite extends MapActor {
private final HashMap<AnimationTypes, HashMap<AnimationDirections, Animation<TextureRegion>>> animations = new HashMap<>();
float timer;
private Animation<TextureRegion> currentAnimation = null;
private AnimationTypes currentAnimationType = AnimationTypes.Idle;
private AnimationDirections currentAnimationDir = AnimationDirections.None;
private Sprite avatar;
public CharacterSprite(String path) {
collisionHeight=0.4f;
load(path);
}
protected void load(String path) {
TextureAtlas atlas = Config.instance().getAtlas(path);
/*
for (Texture texture : new ObjectSet.ObjectSetIterator<>( atlas.getTextures()))
texture.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest);
*/
animations.clear();
for (AnimationTypes stand : AnimationTypes.values()) {
if (stand == AnimationTypes.Avatar) {
avatar = atlas.createSprite(stand.toString());
continue;
}
HashMap<AnimationDirections, Animation<TextureRegion>> dirs = new HashMap<>();
for (AnimationDirections dir : AnimationDirections.values()) {
Array<Sprite> anim;
if (dir == AnimationDirections.None)
anim = atlas.createSprites(stand.toString());
else
anim = atlas.createSprites(stand.toString() + dir.toString());
if (anim.size != 0) {
dirs.put(dir, new Animation<>(0.2f, anim));
}
}
animations.put(stand, dirs);
}
for (AnimationTypes stand : AnimationTypes.values()) {
if (stand == AnimationTypes.Avatar) {
continue;
}
HashMap<AnimationDirections, Animation<TextureRegion>> dirs = animations.get(stand);
if (!dirs.containsKey(AnimationDirections.None) && dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.None, (dirs.get(AnimationDirections.Right)));
}
if (!dirs.containsKey(AnimationDirections.Right) && dirs.containsKey(AnimationDirections.None)) {
dirs.put(AnimationDirections.Right, (dirs.get(AnimationDirections.None)));
}
if (!dirs.containsKey(AnimationDirections.Left) && dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.Left, FlipAnimation(dirs.get(AnimationDirections.Right)));
}
if (dirs.containsKey(AnimationDirections.Left) && !dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.Right, FlipAnimation(dirs.get(AnimationDirections.Left)));
}
if (!dirs.containsKey(AnimationDirections.LeftUp) && dirs.containsKey(AnimationDirections.Left)) {
dirs.put(AnimationDirections.LeftUp, dirs.get(AnimationDirections.Left));
}
if (!dirs.containsKey(AnimationDirections.LeftDown) && dirs.containsKey(AnimationDirections.Left)) {
dirs.put(AnimationDirections.LeftDown, dirs.get(AnimationDirections.Left));
}
if (!dirs.containsKey(AnimationDirections.RightDown) && dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.RightDown, dirs.get(AnimationDirections.Right));
}
if (!dirs.containsKey(AnimationDirections.RightUp) && dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.RightUp, dirs.get(AnimationDirections.Right));
}
if (!dirs.containsKey(AnimationDirections.Up) && dirs.containsKey(AnimationDirections.Right)) {
dirs.put(AnimationDirections.Up, dirs.get(AnimationDirections.Right));
}
if (!dirs.containsKey(AnimationDirections.Down) && dirs.containsKey(AnimationDirections.Left)) {
dirs.put(AnimationDirections.Down, dirs.get(AnimationDirections.Left));
}
}
setAnimation(AnimationTypes.Idle);
setDirection(AnimationDirections.Right);
}
static public Animation<TextureRegion> FlipAnimation(Animation<TextureRegion> anim) {
TextureRegion[] texReg = anim.getKeyFrames();
Array<TextureRegion> newReg = new Array<>();
for (TextureRegion reg : texReg) {
TextureRegion cpy = new TextureRegion(reg);
cpy.flip(true, false);
newReg.add(cpy);
}
return new Animation<>(anim.getFrameDuration(), newReg);
}
public void setAnimation(AnimationTypes type) {
if (currentAnimationType != type) {
currentAnimationType = type;
updateAnimation();
}
}
private void updateAnimation() {
AnimationTypes aniType = currentAnimationType;
AnimationDirections aniDir = currentAnimationDir;
if (!animations.containsKey(aniType)) {
aniType = AnimationTypes.Idle;
}
if (!animations.containsKey(aniType)) {
return;
}
HashMap<AnimationDirections, Animation<TextureRegion>> dirs = animations.get(aniType);
if (!dirs.containsKey(aniDir)) {
aniDir = AnimationDirections.Right;
}
if (!dirs.containsKey(aniDir)) {
return;
}
currentAnimation = dirs.get(aniDir);
}
public void setDirection(AnimationDirections dir) {
if (currentAnimationDir != dir) {
currentAnimationDir = dir;
updateAnimation();
}
}
@Override
protected void positionChanged() {
Actor parent = getParent();
if (parent instanceof SpriteGroup) {
((SpriteGroup) parent).UpdateActorZ(this);
}
super.positionChanged();
}
@Override
public void moveBy(float x, float y) {
super.moveBy(x, y);
if (x == 0 && y == 0) {
return;
}
Vector2 vec = new Vector2(x, y);
float degree = vec.angleDeg();
setAnimation(AnimationTypes.Walk);
if (degree < 22.5)
setDirection(AnimationDirections.Right);
else if (degree < 22.5 + 45)
setDirection(AnimationDirections.RightUp);
else if (degree < 22.5 + 45 * 2)
setDirection(AnimationDirections.Up);
else if (degree < 22.5 + 45 * 3)
setDirection(AnimationDirections.LeftUp);
else if (degree < 22.5 + 45 * 4)
setDirection(AnimationDirections.Left);
else if (degree < 22.5 + 45 * 5)
setDirection(AnimationDirections.LeftDown);
else if (degree < 22.5 + 45 * 6)
setDirection(AnimationDirections.Down);
else if (degree < 22.5 + 45 * 7)
setDirection(AnimationDirections.RightDown);
else
setDirection(AnimationDirections.Right);
}
public Vector2 pos() {
return new Vector2(getX(), getY());
}
@Override
public void act(float delta) {
timer += delta;
super.act(delta);
}
@Override
public void draw(Batch batch, float parentAlpha) {
if (currentAnimation == null)
return;
TextureRegion currentFrame = currentAnimation.getKeyFrame(timer, true);
setHeight(currentFrame.getRegionHeight());
setWidth(currentFrame.getRegionWidth());
batch.draw(currentFrame, getX(), getY());
super.draw(batch,parentAlpha);
//batch.draw(getDebugTexture(),getX(),getY());
}
public Sprite getAvatar() {
return avatar;
}
public enum AnimationTypes {
Idle,
Walk,
Death,
Attack,
Hit,
Avatar
}
public enum AnimationDirections {
None,
Right,
RightDown,
Down,
LeftDown,
Left,
LeftUp,
Up,
RightUp
}
}

View File

@@ -0,0 +1,58 @@
package forge.adventure.character;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.utils.Array;
import forge.adventure.data.EnemyData;
import forge.adventure.data.RewardData;
import forge.adventure.util.Current;
import forge.adventure.util.Reward;
/**
* EnemySprite
* Character sprite that represents an Enemy
*/
public class EnemySprite extends CharacterSprite {
EnemyData data;
private int id;
public EnemySprite(EnemyData enemyData) {
super(enemyData.sprite);
data = enemyData;
}
public EnemySprite(int id, EnemyData enemyData) {
this(enemyData);
this.id = id;
}
public void moveTo(Actor other, float delta) {
Vector2 diff = new Vector2(other.getX(), other.getY()).sub(pos());
diff.setLength(data.speed*delta);
moveBy(diff.x, diff.y);
}
public EnemyData getData() {
return data;
}
public Array<Reward> getRewards() {
Array<Reward> ret=new Array<Reward>();
if(data.rewards==null)
return ret;
for(RewardData rdata:data.rewards)
{
ret.addAll(rdata.generate(false,Current.latestDeck()!=null? Current.latestDeck().getMain().toFlatList():null));
}
return ret;
}
public int getId() {
return id;
}
}

View File

@@ -0,0 +1,68 @@
package forge.adventure.character;
import forge.adventure.scene.SceneType;
import forge.adventure.scene.TileMapScene;
import forge.adventure.stage.MapStage;
/**
* EntryActor
* Used to teleport the player in and out of the map
*/
public class EntryActor extends MapActor{
private final MapStage stage;
private final int id;
String targetMap;
public EntryActor(MapStage stage,String sourceMap, int id,String targetMap,float x,float y,float w,float h,String direction)
{
this.stage = stage;
this.id = id;
this.targetMap = targetMap;
if((targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
!sourceMap.isEmpty()&&targetMap.equals(sourceMap)) //or if source is this target
{
switch(direction)
{
case "up":
stage.GetPlayer().setPosition(x,y+h);
break;
case "down":
stage.GetPlayer().setPosition(x,y-stage.GetPlayer().getHeight());
break;
case "right":
stage.GetPlayer().setPosition(x-stage.GetPlayer().getWidth(),y);
break;
case "left":
stage.GetPlayer().setPosition(x+w,y);
break;
}
}
}
public MapStage getMapStage()
{
return stage;
}
@Override
public void onPlayerCollide()
{
if(targetMap==null||targetMap.isEmpty())
{
stage.exit();
}
else
{
((TileMapScene)SceneType.TileMapScene.instance).loadNext(targetMap);
}
}
public int getObjectID() {
return id;
}
}

View File

@@ -0,0 +1,96 @@
package forge.adventure.character;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.scenes.scene2d.Actor;
/**
* Map Actor base class for Actors on the map
* implements collision detection.
*/
public class MapActor extends Actor {
Texture debugTexture;
float collisionHeight=1.0f;
private Texture getDebugTexture() {
if (debugTexture == null) {
Pixmap pixmap = new Pixmap((int) getWidth(), (int) getHeight(), Pixmap.Format.RGBA8888);
pixmap.setColor(1.0f,0,0,0.5f);
pixmap.fillRectangle(0, (int) getHeight()- (int)boundingRect.getHeight(), (int) boundingRect.getWidth(), (int) boundingRect.getHeight());
debugTexture = new Texture(pixmap);
pixmap.dispose();
}
return debugTexture;
}
Rectangle boundingRect;
boolean isCollidingWithPlayer=false;
protected void onPlayerCollide()
{
}
boolean boundDebug=false;
public void setBoundDebug(boolean debug)
{
boundDebug=debug;
}
@Override
public void draw(Batch batch, float alpha) {
if(boundDebug)
batch.draw(getDebugTexture(),getX(),getY());
}
@Override
protected void positionChanged() {
updateBoundingRect();
super.positionChanged();
}
@Override
protected void sizeChanged() {
super.sizeChanged();
updateBoundingRect();
}
void updateBoundingRect() {
boundingRect = new Rectangle(getX(), getY(), getWidth(), getHeight()*collisionHeight);
}
public Rectangle boundingRect() {
return boundingRect;
}
public boolean collideWithPlayer(PlayerSprite other) {
boolean newIsColliding= collideWith(other);
if(newIsColliding)
{
if(!isCollidingWithPlayer)
onPlayerCollide();
isCollidingWithPlayer=true;
}
else
{
isCollidingWithPlayer=false;
}
return isCollidingWithPlayer;
}
public boolean collideWith(Rectangle other) {
return boundingRect().overlaps(other);
}
public boolean collideWith(MapActor other) {
return collideWith(other.boundingRect());
}
public boolean collideWith(Actor other) {
return boundingRect.x < other.getX() + other.getWidth() && boundingRect.x + boundingRect.width > other.getX() && boundingRect.y < other.getY() + other.getHeight() && boundingRect.y + boundingRect.height > other.getY();
}
}

View File

@@ -0,0 +1,21 @@
package forge.adventure.character;
/**
* Designed to add anonymous class for a single action on collision
*/
public class OnCollide extends MapActor {
Runnable onCollide;
public OnCollide(Runnable func) {
onCollide = func;
}
@Override
protected void onPlayerCollide() {
try {
onCollide.run();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,77 @@
package forge.adventure.character;
import com.badlogic.gdx.math.Vector2;
import forge.adventure.stage.GameStage;
import forge.adventure.util.Config;
import forge.adventure.util.Current;
import forge.adventure.world.AdventurePlayer;
/**
* Class that will represent the player sprite on the map
*/
public class PlayerSprite extends CharacterSprite {
private final float playerSpeed;
private final Vector2 direction = Vector2.Zero.cpy();
private float playerSpeedModifier = 1f;
GameStage gameStage;
public PlayerSprite(GameStage gameStage) {
super(AdventurePlayer.current().spriteName());
this.gameStage=gameStage;
setOriginX(getWidth() / 2);
Current.player().onPlayerChanged(()->updatePlayer());
playerSpeed=Config.instance().getConfigData().playerBaseSpeed;
}
private void updatePlayer() {
load(AdventurePlayer.current().spriteName());
}
public void LoadPos() {
setPosition(AdventurePlayer.current().getWorldPosX(), AdventurePlayer.current().getWorldPosY());
}
public void storePos() {
AdventurePlayer.current().setWorldPosX(getX());
AdventurePlayer.current().setWorldPosY(getY());
}
public Vector2 getMovementDirection() {
return direction;
}
public void setMovementDirection(final Vector2 dir) {
direction.set(dir);
}
public void setMoveModifier(float speed) {
playerSpeedModifier = speed;
}
@Override
public void act(float delta) {
super.act(delta);
direction.setLength(playerSpeed * delta * playerSpeedModifier);
if(!direction.isZero())
{
gameStage.prepareCollision(pos(),direction,boundingRect);
direction.set(gameStage.adjustMovement(direction,boundingRect));
moveBy(direction.x, direction.y);
}
}
public boolean isMoving() {
return !direction.isZero();
}
public void stop() {
direction.setZero();
setAnimation(AnimationTypes.Idle);
}
public void setPosition(Vector2 oldPosition) {
setPosition(oldPosition.x,oldPosition.y);
}
}

View File

@@ -0,0 +1,43 @@
package forge.adventure.character;
import com.badlogic.gdx.utils.Array;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.scene.RewardScene;
import forge.adventure.scene.SceneType;
import forge.adventure.stage.MapStage;
import forge.adventure.util.Reward;
/**
* Map actor that will open the Shop on collision
*/
public class ShopActor extends MapActor{
private final MapStage stage;
private final int id;
Array<Reward> rewardData;
public ShopActor(MapStage stage, int id, Array<Reward> rewardData)
{
this.stage = stage;
this.id = id;
this.rewardData = rewardData;
}
public MapStage getMapStage()
{
return stage;
}
@Override
public void onPlayerCollide()
{
stage.GetPlayer().stop();
((RewardScene) SceneType.RewardScene.instance).loadRewards(rewardData, RewardScene.Type.Shop,this);
AdventureApplicationAdapter.instance.switchScene(SceneType.RewardScene.instance);
}
public int getObjectID() {
return id;
}
}

View File

@@ -0,0 +1,25 @@
package forge.adventure.character;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
/**
* Class to add sprites to a map
*/
public class TextureSprite extends MapActor{
private final TextureRegion region;
public TextureSprite(TextureRegion region)
{
this.region = region;
setWidth(region.getRegionWidth());
setHeight(region.getRegionHeight());
}
@Override
public void draw (Batch batch, float parentAlpha) {
batch.draw(region,getX(),getY(),getWidth(),getHeight());
}
}

View File

@@ -0,0 +1,82 @@
package forge.adventure.data;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Array;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for the biomes
*/
public class BiomeData implements Serializable {
private final Random rand = new Random();
public float startPointX;
public float startPointY;
public float noiseWeight;
public float distWeight;
public String name;
public String tilesetAtlas;
public String tilesetName;
public BiomeTerrainData[] terrain;
public float width;
public float height;
public String color;
public boolean invertHeight;
public String[] spriteNames;
public List<String> enemies;
public List<String> pointsOfInterest;
private ArrayList<EnemyData> enemyList;
private ArrayList<PointOfInterestData> pointOfInterestList;
public Color GetColor() {
return Color.valueOf(color);
}
public ArrayList<EnemyData> getEnemyList() {
if (enemyList == null) {
enemyList = new ArrayList<EnemyData>();
if (enemies == null)
return enemyList;
for (EnemyData data : new Array.ArrayIterator<>(WorldData.getAllEnemies())) {
if (enemies.contains(data.name)) {
enemyList.add(data);
}
}
}
return enemyList;
}
public ArrayList<PointOfInterestData> getPointsOfInterest() {
if (pointOfInterestList == null) {
pointOfInterestList = new ArrayList<PointOfInterestData>();
if(pointsOfInterest==null)
return pointOfInterestList;
Array<PointOfInterestData> allTowns = PointOfInterestData.getAllPointOfInterest();
for (PointOfInterestData data : new Array.ArrayIterator<>(allTowns)) {
if (pointsOfInterest.contains(data.name)) {
pointOfInterestList.add(data);
}
}
}
return pointOfInterestList;
}
public EnemyData getEnemy(float difficultyFactor) {
EnemyData bestData=null;
float biggestNumber=0;
for (EnemyData data : enemyList) {
float newNumber=data.spawnRate *rand.nextFloat()*difficultyFactor;
if (newNumber>biggestNumber) {
biggestNumber=newNumber;
bestData=data;
}
}
return bestData;
}
}

View File

@@ -0,0 +1,44 @@
package forge.adventure.data;
import forge.adventure.util.SaveFileContent;
import forge.adventure.util.SaveFileData;
/**
* Data class that will be used to read Json configuration files
* BiomeSpriteData
* contains the information for the sprites on the map like trees and rocks
*/
public class BiomeSpriteData implements SaveFileContent {
public String name;
public double startArea;
public double endArea;
public double density;
public double resolution;
public int layer;
public String key() {
return "BiomeSprite&" + name;
}
@Override
public void load(SaveFileData data) {
name=data.readString("name");
startArea=data.readDouble("startArea");
endArea=data.readDouble("endArea");
density=data.readDouble("density");
resolution=data.readDouble("resolution");;
layer=data.readInt("layer");
}
@Override
public SaveFileData save() {
SaveFileData data=new SaveFileData();
data.store("name",name);
data.store("startArea",startArea);
data.store("endArea",endArea);
data.store("density",density);
data.store("resolution",resolution);
data.store("layer",layer);
return data;
}
}

View File

@@ -0,0 +1,19 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for the terrain distribution
*/
public class BiomeTerrainData {
//sprite name in the biome atlas file
public String spriteName;
//minimum noise value where to place the terrain
public float min;
//maximum noise value where to place the terrain
public float max;
// factor for the noise resolution
public float resolution;
}

View File

@@ -0,0 +1,20 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains general information about the game
*/
public class ConfigData {
public int screenWidth;
public int screenHeight;
public String skin;
public String font;
public String fontColor;
public int minDeckSize;
public float playerBaseSpeed;
public String[] starterDecks;
public DifficultyData[] difficulties;
public RewardData legalCards;
}

View File

@@ -0,0 +1,15 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for the difficulties
*/
public class DifficultyData {
public String name="";
public int startingLife=10;
public int staringMoney=10;
public float enemyLifeFactor=1;
public boolean startingDifficulty;
}

View File

@@ -0,0 +1,48 @@
package forge.adventure.data;
import forge.adventure.util.CardUtil;
import forge.deck.Deck;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information of enemies
*/
public class EnemyData {
public String name;
public String sprite;
public String deck;
public float spawnRate;
public float difficulty;
public float speed;
public int life;
public RewardData[] rewards;
public EnemyData()
{
}
public EnemyData(EnemyData enemyData) {
name =enemyData.name;
sprite =enemyData.sprite;
deck =enemyData.deck;
spawnRate =enemyData.spawnRate;
difficulty =enemyData.difficulty ;
speed =enemyData.speed;
life =enemyData.life;
if(enemyData.rewards==null)
{
rewards=null;
}
else
{
rewards =new RewardData[enemyData.rewards.length];
for(int i=0;i<rewards.length;i++)
rewards[i]=new RewardData(enemyData.rewards[i]);
}
}
public Deck generateDeck() {
return CardUtil.getDeck(deck);
}
}

View File

@@ -0,0 +1,17 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for a generated deck
*
* if the template is null then it will use just the reward information of mainDeck and sideBoard
*/
public class GeneratedDeckData {
public String name;
public GeneratedDeckTemplateData template;
public RewardData[] mainDeck;
public RewardData[] sideBoard;
}

View File

@@ -0,0 +1,15 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for the generated deck
*/
public class GeneratedDeckTemplateData {
public String[] colors;
public int count;
public float rares;
public String tribe;
public float tribeSynergyCards=0.6f;
public float tribeCards=1.0f;
}

View File

@@ -0,0 +1,14 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information possible hero sprite
*/
public class HeroData {
public String name;
public String female;
public String male;
public String femaleAvatar;
public String maleAvatar;
}

View File

@@ -0,0 +1,74 @@
package forge.adventure.data;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import forge.adventure.util.Config;
import forge.adventure.util.Paths;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the a list of all heroes
*/
public class HeroListData {
static private HeroListData instance;
public HeroData[] heroes;
public String avatar;
private TextureAtlas avatarSprites;
static private HeroListData read() {
Json json = new Json();
FileHandle handle = Config.instance().getFile(Paths.HEROES);
if (handle.exists()) {
instance = json.fromJson(HeroListData.class, handle);
instance.avatarSprites = Config.instance().getAtlas(instance.avatar);
/*
instance.avatarSprites.getTextures().first().setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest);
*/
}
return instance;
}
static public String getHero(int raceIndex, boolean female) {
if (instance == null)
instance = read();
HeroData data = instance.heroes[raceIndex];
if (female)
return data.female;
return data.male;
}
public static TextureRegion getAvatar(int heroRace, boolean isFemale, int avatarIndex) {
if (instance == null)
instance = read();
HeroData data = instance.heroes[heroRace];
Array<Sprite> sprites;
if (isFemale)
sprites = instance.avatarSprites.createSprites(data.femaleAvatar);
else
sprites = instance.avatarSprites.createSprites(data.maleAvatar);
avatarIndex %= sprites.size;
if (avatarIndex < 0) {
avatarIndex += sprites.size;
}
return sprites.get(avatarIndex);
}
public static Array<String> getRaces() {
if (instance == null)
instance = read();
Array<String> ret = new Array<>();
for (HeroData hero : instance.heroes) {
ret.add(hero.name);
}
return ret;
}
}

View File

@@ -0,0 +1,47 @@
package forge.adventure.data;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import forge.adventure.util.Config;
import forge.adventure.util.Paths;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for the point of interests like towns and dungeons
*/
public class PointOfInterestData {
public String name;
public String type;
public int count;
public String spriteAtlas;
public String sprite;
public String map;
public float radiusFactor;
private static Array<PointOfInterestData> pointOfInterestList;
public static Array<PointOfInterestData> getAllPointOfInterest() {
if (pointOfInterestList == null) {
Json json = new Json();
FileHandle handle = Config.instance().getFile(Paths.POINTS_OF_INTEREST);
if (handle.exists()) {
Array readJson = json.fromJson(Array.class, PointOfInterestData.class, handle);
pointOfInterestList = readJson;
}
}
return pointOfInterestList;
}
public static PointOfInterestData getPointOfInterest(String name) {
for(PointOfInterestData data: new Array.ArrayIterator<>(getAllPointOfInterest()))
{
if(data.name.equals(name))
return data;
}
return null;
}
}

View File

@@ -0,0 +1,157 @@
package forge.adventure.data;
import com.badlogic.gdx.utils.Array;
import com.google.common.collect.Iterables;
import forge.StaticData;
import forge.adventure.util.CardUtil;
import forge.adventure.util.Config;
import forge.adventure.util.Reward;
import forge.adventure.world.WorldSave;
import forge.item.PaperCard;
import forge.model.FModel;
import java.util.ArrayList;
import java.util.List;
/**
* Data class that will be used to read Json configuration files
* BiomeData
* contains the information for a "reward"
* that can be a random card, gold or items.
* Also used for deck generation and shops
*/
public class RewardData {
public String type;
public float probability;
public int count;
public int addMaxCount;
public String cardName;
public String itemName;
public String[] editions;
public String[] colors;
public String[] rarity;
public String[] subTypes;
public String[] cardTypes;
public String[] superTypes;
public int[] manaCosts;
public String[] keyWords;
public String colorType;
public String cardText;
public boolean matchAllSubTypes;
public RewardData()
{
}
public RewardData(RewardData rewardData) {
type =rewardData.type;
probability =rewardData.probability;
count =rewardData.count;
addMaxCount =rewardData.addMaxCount;
cardName =rewardData.cardName;
itemName =rewardData.itemName;
editions =rewardData.editions==null?null:rewardData.editions.clone();
colors =rewardData.colors==null?null:rewardData.colors.clone();
rarity =rewardData.rarity==null?null:rewardData.rarity.clone();
subTypes =rewardData.subTypes==null?null:rewardData.subTypes.clone();
cardTypes =rewardData.cardTypes==null?null:rewardData.cardTypes.clone();
superTypes =rewardData.superTypes==null?null:rewardData.superTypes.clone();
manaCosts =rewardData.manaCosts==null?null:rewardData.manaCosts.clone();
keyWords =rewardData.keyWords==null?null:rewardData.keyWords.clone();
colorType =rewardData.colorType;
cardText =rewardData.cardText;
matchAllSubTypes =rewardData.matchAllSubTypes;
}
private static Iterable<PaperCard> allCards;
private static Iterable<PaperCard> allEnemyCards;
public Array<Reward> generate(boolean isForEnemy)
{
return generate(isForEnemy,null);
}
public Array<Reward> generate(boolean isForEnemy,Iterable<PaperCard> cards)
{
if(allCards==null)
{
RewardData legals=Config.instance().getConfigData().legalCards;
if(legals==null)
{
allCards = FModel.getMagicDb().getCommonCards().getUniqueCardsNoAlt();
}
else
{
allCards = Iterables.filter(FModel.getMagicDb().getCommonCards().getUniqueCardsNoAlt(), new CardUtil.CardPredicate(legals, true));
}
allEnemyCards=Iterables.filter(allCards, input -> {
if(input==null)return false;
return !input.getRules().getAiHints().getRemAIDecks();
});
}
Array<Reward> ret=new Array<>();
if(probability==0|| WorldSave.getCurrentSave().getWorld().getRandom().nextFloat()<=probability)
{
if(type==null||type.isEmpty())
type="randomCard";
int addedCount=(int)((float)(addMaxCount)* WorldSave.getCurrentSave().getWorld().getRandom().nextFloat());
switch(type)
{
case "card":
case "randomCard":
if(cardName!=null&&!cardName.isEmpty())
{
for(int i=0;i<count+addedCount;i++)
{
ret.add(new Reward(StaticData.instance().getCommonCards().getCard(cardName)));
}
}
else
{
for(PaperCard card:CardUtil.generateCards(isForEnemy?allEnemyCards:allCards,this, count+addedCount))
{
ret.add(new Reward(card));
}
}
break;
case "deckCard":
if(cards==null)return ret;
for(PaperCard card: CardUtil.generateCards(cards,this, count+addedCount))
{
ret.add(new Reward(card));
}
break;
case "gold":
ret.add(new Reward(count+addedCount));
break;
case "life":
ret.add(new Reward(Reward.Type.Life, count+addedCount));
break;
}
}
return ret;
}
static public List<PaperCard> generateAllCards(Iterable<RewardData> dataList, boolean isForEnemy)
{
return rewardsToCards(generateAll(dataList, isForEnemy));
}
static public Iterable<Reward> generateAll(Iterable<RewardData> dataList, boolean isForEnemy)
{
Array<Reward> ret=new Array<Reward>();
for (RewardData data:dataList)
ret.addAll(data.generate(isForEnemy));
return ret;
}
static public List<PaperCard> rewardsToCards(Iterable<Reward> dataList)
{
ArrayList<PaperCard> ret=new ArrayList<PaperCard>();
for (Reward data:dataList)
{
ret.add(data.getCard());
}
return ret;
}
}

View File

@@ -0,0 +1,15 @@
package forge.adventure.data;
/**
* Data class that will be used to read Json configuration files
* SettingData
* contains settings outside of the chosen adventure
*/
public class SettingData {
public int width;
public int height;
public String plane;
public boolean fullScreen;
}

View File

@@ -0,0 +1,21 @@
package forge.adventure.data;
import com.badlogic.gdx.utils.Array;
/**
* Data class that will be used to read Json configuration files
* SettingData
* contains data for a Shop on the map
*/
public class ShopData {
public String name;
public String spriteAtlas;
public String sprite;
public Array<RewardData> rewards;
}

View File

@@ -0,0 +1,16 @@
package forge.adventure.data;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.OrderedMap;
/**
* Data class that will be used to read Json configuration files
* UIData
* contains a GUI definition, used for most user interfaces to customize the UI
*/
public class UIData {
public int width;
public int height;
public boolean yDown;
public Array<OrderedMap<String,String>> elements;
}

View File

@@ -0,0 +1,93 @@
package forge.adventure.data;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import forge.adventure.util.Config;
import forge.adventure.util.Paths;
import forge.adventure.world.BiomeSprites;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* Data class that will be used to read Json configuration files
* UIData
* contains the definition of the world
*/
public class WorldData implements Serializable {
static Array<EnemyData> allEnemies;
public int width;
public int height;
public float playerStartPosX;
public float playerStartPosY;
public float noiseZoomBiome;
public int tileSize;
public List<String> biomesNames;
public BiomeData roadTileset;
public String biomesSprites;
public float maxRoadDistance;
private BiomeSprites sprites;
private List<BiomeData> biomes;
private static Array<ShopData> shopList;
public static Array<ShopData> getShopList() {
if (shopList == null) {
shopList = new Array<>();
Json json = new Json();
FileHandle handle = Config.instance().getFile(Paths.SHOPS);
if (handle.exists())
{
Array readList = json.fromJson(Array.class, ShopData.class, handle);
shopList = readList;
}
}
return shopList;
}
static public Array<EnemyData> getAllEnemies() {
if (allEnemies == null) {
Json json = new Json();
FileHandle handle = Config.instance().getFile(Paths.ENEMIES);
if (handle.exists())
{
Array readList = json.fromJson(Array.class, EnemyData.class, handle);
allEnemies = readList;
}
}
return allEnemies;
}
public static EnemyData getEnemy(String enemy) {
for(EnemyData data: new Array.ArrayIterator<>(getAllEnemies()))
{
if(data.name.equals(enemy))
return data;
}
return null;
}
public BiomeSprites GetBiomeSprites() {
if (sprites == null) {
Json json = new Json();
sprites = (json.fromJson(BiomeSprites.class, Config.instance().getFile(biomesSprites)));
}
return sprites;
}
public List<BiomeData> GetBiomes() {
if (biomes == null) {
biomes = new ArrayList<BiomeData>();
Json json = new Json();
for (String name : biomesNames) {
biomes.add(json.fromJson(BiomeData.class, Config.instance().getFile(name)));
}
}
return biomes;
}
}

View File

@@ -0,0 +1,32 @@
package forge.adventure.editor;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class DocumentChangeListener implements DocumentListener {
private final Runnable run;
public DocumentChangeListener(Runnable run)
{
this.run = run;
}
@Override
public void insertUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
changedUpdate(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
run.run();
}
}

View File

@@ -0,0 +1,21 @@
package forge.adventure.editor;
import javax.swing.*;
import java.awt.*;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class EditorMainWindow extends JFrame {
JTabbedPane tabs =new JTabbedPane();
public EditorMainWindow()
{
BorderLayout layout=new BorderLayout();
setLayout(layout);
add(tabs);
tabs.addTab("Enemies",new EnemyEditor());
setVisible(true);
setSize(800,600);
}
}

View File

@@ -0,0 +1,95 @@
package forge.adventure.editor;
import forge.adventure.data.EnemyData;
import javax.swing.*;
import java.awt.*;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class EnemyEdit extends JComponent {
EnemyData currentData;
JTextField nameField=new JTextField();
JSpinner lifeFiled= new JSpinner(new SpinnerNumberModel(0, 0, 1000, 1));
JSpinner spawnRate= new JSpinner(new SpinnerNumberModel(0.0, 0., 1, 0.1));
JSpinner difficulty= new JSpinner(new SpinnerNumberModel(0.0, 0., 1, 0.1));
JSpinner speed= new JSpinner(new SpinnerNumberModel(0.0, 0., 100., 1.0));
FilePicker deck=new FilePicker(new String[]{"dck","json"});
FilePicker atlas=new FilePicker(new String[]{"atlas"});
RewardsEditor rewards=new RewardsEditor();
SwingAtlasPreview preview=new SwingAtlasPreview();
private boolean updating=false;
public EnemyEdit()
{
JComponent center=new JComponent() { };
center.setLayout(new GridLayout(8,2));
center.add(new JLabel("Name:")); center.add(nameField);
center.add(new JLabel("Life:")); center.add(lifeFiled);
center.add(new JLabel("Spawn rate:")); center.add(spawnRate);
center.add(new JLabel("Difficulty:")); center.add(difficulty);
center.add(new JLabel("Speed:")); center.add(speed);
center.add(new JLabel("Deck:")); center.add(deck);
center.add(new JLabel("Sprite:")); center.add(atlas);
BorderLayout layout=new BorderLayout();
setLayout(layout);
add(center,BorderLayout.PAGE_START);
add(rewards,BorderLayout.CENTER);
add(preview,BorderLayout.LINE_START);
atlas.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateEnemy()));
nameField.getDocument().addDocumentListener(new DocumentChangeListener(()->updateEnemy()));
deck.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateEnemy()));
lifeFiled.addChangeListener(e -> updateEnemy());
speed.addChangeListener(e -> updateEnemy());
difficulty.addChangeListener(e -> updateEnemy());
spawnRate.addChangeListener(e -> updateEnemy());
rewards.addChangeListener(e -> updateEnemy());
lifeFiled.addChangeListener(e -> updateEnemy());
refresh();
}
private void updateEnemy() {
if(currentData==null||updating)
return;
currentData.name=nameField.getText();
currentData.life= (int) lifeFiled.getValue();
currentData.sprite= atlas.getEdit().getText();
currentData.speed= ((Double) speed.getValue()).floatValue();
currentData.spawnRate=((Double) spawnRate.getValue()).floatValue();
currentData.difficulty=((Double) difficulty.getValue()).floatValue();
currentData.deck= deck.getEdit().getText();
currentData.rewards= rewards.getRewards();
preview.setSpritePath(currentData.sprite);
}
public void setCurrentEnemy(EnemyData data)
{
currentData=data;
refresh();
}
private void refresh() {
setEnabled(currentData!=null);
if(currentData==null)
{
return;
}
updating=true;
nameField.setText(currentData.name);
lifeFiled.setValue(currentData.life);
atlas.getEdit().setText(currentData.sprite);
deck.getEdit().setText(currentData.deck);
speed.setValue(new Float(currentData.speed).doubleValue());
spawnRate.setValue(new Float(currentData.spawnRate).doubleValue());
difficulty.setValue(new Float(currentData.difficulty).doubleValue());
rewards.setRewards(currentData.rewards);
preview.setSpritePath(currentData.sprite);
updating=false;
}
}

View File

@@ -0,0 +1,128 @@
package forge.adventure.editor;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonWriter;
import forge.adventure.data.EnemyData;
import forge.adventure.util.Config;
import forge.adventure.util.Paths;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class EnemyEditor extends JComponent {
DefaultListModel<EnemyData> model = new DefaultListModel<>();
JList<EnemyData> list = new JList<>(model);
JToolBar toolBar = new JToolBar("toolbar");
EnemyEdit edit=new EnemyEdit();
public class EnemyDataRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if(!(value instanceof EnemyData))
return label;
EnemyData enemy=(EnemyData) value;
// Get the renderer component from parent class
label.setText(enemy.name);
SwingAtlas atlas=new SwingAtlas(Config.instance().getFile(enemy.sprite));
if(atlas.has("Avatar"))
label.setIcon(atlas.get("Avatar"));
else
{
ImageIcon img=atlas.getAny();
if(img!=null)
label.setIcon(img);
}
return label;
}
}
public void addButton(String name,ActionListener action)
{
JButton newButton=new JButton(name);
newButton.addActionListener(action);
toolBar.add(newButton);
}
public EnemyEditor()
{
list.setCellRenderer(new EnemyDataRenderer());
list.addListSelectionListener(e -> updateEdit());
addButton("add",e->addEnemy());
addButton("remove",e->remove());
addButton("copy",e->copy());
addButton("load",e->load());
addButton("save",e->save());
BorderLayout layout=new BorderLayout();
setLayout(layout);
add(new JScrollPane(list), BorderLayout.LINE_START);
add(toolBar, BorderLayout.PAGE_START);
add(edit,BorderLayout.CENTER);
load();
}
private void copy() {
int selected=list.getSelectedIndex();
if(selected<0)
return;
EnemyData data=new EnemyData(model.get(selected));
model.add(model.size(),data);
}
private void updateEdit() {
int selected=list.getSelectedIndex();
if(selected<0)
return;
edit.setCurrentEnemy(model.get(selected));
}
void save()
{
Array<EnemyData> allEnemies=new Array<>();
for(int i=0;i<model.getSize();i++)
allEnemies.add(model.get(i));
Json json = new Json(JsonWriter.OutputType.json);
FileHandle handle = Config.instance().getFile(Paths.ENEMIES);
handle.writeString(json.prettyPrint(json.toJson(allEnemies,Array.class, EnemyData.class)),false);
}
void load()
{
model.clear();
Array<EnemyData> allEnemies=new Array<>();
Json json = new Json();
FileHandle handle = Config.instance().getFile(Paths.ENEMIES);
if (handle.exists())
{
Array readEnemies=json.fromJson(Array.class, EnemyData.class, handle);
allEnemies = readEnemies;
}
for (int i=0;i<allEnemies.size;i++) {
model.add(i,allEnemies.get(i));
}
}
void addEnemy()
{
EnemyData data=new EnemyData();
data.name="Enemy "+model.getSize();
model.add(model.size(),data);
}
void remove()
{
int selected=list.getSelectedIndex();
if(selected<0)
return;
model.remove(selected);
}
}

View File

@@ -0,0 +1,51 @@
package forge.adventure.editor;
import forge.adventure.util.Config;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.File;
import java.io.IOException;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class FilePicker extends Box {
JTextField edit=new JTextField();
JButton findButton=new JButton(UIManager.getIcon("FileView.directoryIcon"));
private final String[] fileEndings;
public FilePicker(String[] fileEndings) {
super(BoxLayout.X_AXIS);
this.fileEndings = fileEndings;
findButton.addActionListener(e->find());
add(edit);
add(findButton);
}
JTextField getEdit()
{
return edit;
}
private void find() {
JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new File(Config.instance().getFilePath(edit.getText())));
fc.setFileFilter( new FileNameExtensionFilter("Pick File",fileEndings));
fc.setMultiSelectionEnabled(false);
if (fc.showOpenDialog(this) ==
JFileChooser.APPROVE_OPTION) {
File selected = fc.getSelectedFile();
try {
if (selected != null&&selected.getCanonicalPath().startsWith(new File(Config.instance().getFilePath("")).getCanonicalPath())) {
edit.setText(selected.getCanonicalPath().substring(new File(Config.instance().getFilePath("")).getCanonicalPath().length()+1).replace('\\','/'));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

View File

@@ -0,0 +1,13 @@
package forge.adventure.editor;
import forge.adventure.util.Config;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class Main {
public static void main(String[] args) {
Config.instance();
new EditorMainWindow();
}
}

View File

@@ -0,0 +1,146 @@
package forge.adventure.editor;
import forge.adventure.data.RewardData;
import forge.card.CardType;
import forge.game.keyword.Keyword;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.util.Arrays;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class RewardEdit extends JComponent {
RewardData currentData;
JComboBox typeField =new JComboBox(new String[] { "card", "gold", "life", "deckCard", "item"});
JSpinner probability = new JSpinner(new SpinnerNumberModel(0f, 0, 1, 0.1f));
JSpinner count = new JSpinner(new SpinnerNumberModel(0, 0, 1000, 1));
JSpinner addMaxCount = new JSpinner(new SpinnerNumberModel(0, 0, 1000, 1));
JTextField cardName =new JTextField();
JTextField itemName =new JTextField();
TextListEdit editions =new TextListEdit();
TextListEdit colors =new TextListEdit(new String[] { "White", "Blue", "Black", "Red", "Green" });
TextListEdit rarity =new TextListEdit(new String[] { "Basic Land", "Common", "Uncommon", "Rare", "Mythic Rare" });
TextListEdit subTypes =new TextListEdit();
TextListEdit cardTypes =new TextListEdit(Arrays.asList(CardType.CoreType.values()).stream().map(CardType.CoreType::toString).toArray(String[]::new));
TextListEdit superTypes =new TextListEdit(Arrays.asList(CardType.Supertype.values()).stream().map(CardType.Supertype::toString).toArray(String[]::new));
TextListEdit manaCosts =new TextListEdit();
TextListEdit keyWords =new TextListEdit(Arrays.asList(Keyword.values()).stream().map(Keyword::toString).toArray(String[]::new));
JComboBox colorType =new JComboBox(new String[] { "Any", "Colorless", "MultiColor", "MonoColor"});
JTextField cardText =new JTextField();
private boolean updating=false;
public RewardEdit()
{
setLayout(new GridLayout(16,2));
add(new JLabel("Type:")); add(typeField);
add(new JLabel("probability:")); add(probability);
add(new JLabel("count:")); add(count);
add(new JLabel("addMaxCount:")); add(addMaxCount);
add(new JLabel("cardName:")); add(cardName);
add(new JLabel("itemName:")); add(itemName);
add(new JLabel("editions:")); add(editions);
add(new JLabel("colors:")); add(colors);
add(new JLabel("rarity:")); add(rarity);
add(new JLabel("subTypes:")); add(subTypes);
add(new JLabel("cardTypes:")); add(cardTypes);
add(new JLabel("superTypes:")); add(superTypes);
add(new JLabel("manaCosts:")); add(manaCosts);
add(new JLabel("keyWords:")); add(keyWords);
add(new JLabel("colorType:")); add(colorType);
add(new JLabel("cardText:")); add(cardText);
typeField.addActionListener(((e)->updateReward()));
probability.addChangeListener(e->updateReward());
count.addChangeListener(e->updateReward());
addMaxCount.addChangeListener(e->updateReward());
cardName.getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
itemName.getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
editions.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
colors.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
rarity.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
subTypes.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
cardTypes.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
superTypes.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
manaCosts.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
keyWords.getEdit().getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
colorType.addActionListener(((e)->updateReward()));
cardText.getDocument().addDocumentListener(new DocumentChangeListener(()->updateReward()));
}
private void updateReward() {
if(currentData==null||updating)
return;
currentData.type=typeField.getSelectedItem()==null?null:typeField.getSelectedItem().toString();
currentData.probability=((Double)probability.getValue()).floatValue();
currentData.count= (int) count.getValue();
currentData.addMaxCount= (int) addMaxCount.getValue();
currentData.cardName = cardName.getText().isEmpty()?null:cardName.getText();
currentData.itemName = itemName.getText().isEmpty()?null:itemName.getText();
currentData.editions = editions.getList();
currentData.colors = colors.getList();
currentData.rarity = rarity.getList();
currentData.subTypes = subTypes.getList();
currentData.cardTypes = cardTypes.getList();
currentData.superTypes = superTypes.getList();
currentData.manaCosts = manaCosts.getListAsInt();
currentData.keyWords = keyWords.getList();
currentData.colorType=colorType.getSelectedItem()==null?null:colorType.getSelectedItem().toString();
currentData.cardText = cardText.getText().isEmpty()?null:cardText.getText();
ChangeListener[] listeners = listenerList.getListeners(ChangeListener.class);
if (listeners != null && listeners.length > 0) {
ChangeEvent evt = new ChangeEvent(this);
for (ChangeListener listener : listeners) {
listener.stateChanged(evt);
}
}
}
public void addChangeListener(ChangeListener l) {
listenerList.add(ChangeListener.class, l);
}
public void setCurrentReward(RewardData data)
{
currentData=data;
refresh();
}
private void refresh() {
setEnabled(currentData!=null);
if(currentData==null)
{
return;
}
updating=true;
typeField.setSelectedItem(currentData.type);
probability.setValue(new Double(currentData.probability));
count.setValue(currentData.count);
addMaxCount.setValue(currentData.addMaxCount);
cardName.setText(currentData.cardName);
itemName.setText(currentData.itemName);
editions.setText(currentData.editions);
colors.setText(currentData.colors);
rarity.setText(currentData.rarity);
subTypes.setText(currentData.subTypes);
cardTypes.setText(currentData.cardTypes);
superTypes.setText(currentData.superTypes);
manaCosts.setText(currentData.manaCosts);
keyWords.setText(currentData.keyWords);
colorType.setSelectedItem(currentData.colorType);
cardText.setText(currentData.cardText);
updating=false;
}
}

View File

@@ -0,0 +1,135 @@
package forge.adventure.editor;
import forge.adventure.data.RewardData;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.event.ActionListener;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class RewardsEditor extends JComponent{
DefaultListModel<RewardData> model = new DefaultListModel<>();
JList<RewardData> list = new JList<>(model);
JToolBar toolBar = new JToolBar("toolbar");
RewardEdit edit=new RewardEdit();
public class RewardDataRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if(!(value instanceof RewardData))
return label;
RewardData reward=(RewardData) value;
StringBuilder builder=new StringBuilder();
if(reward.type==null||reward.type.isEmpty())
builder.append("Reward");
else
builder.append(reward.type);
builder.append(" ");
builder.append(reward.count);
if(reward.addMaxCount>0)
{
builder.append("-");
builder.append(reward.count+reward.addMaxCount);
}
label.setText(builder.toString());
return label;
}
}
public void addButton(String name, ActionListener action)
{
JButton newButton=new JButton(name);
newButton.addActionListener(action);
toolBar.add(newButton);
}
public RewardsEditor()
{
list.setCellRenderer(new RewardsEditor.RewardDataRenderer());
list.addListSelectionListener(e -> updateEdit());
addButton("add",e->addReward());
addButton("remove",e->remove());
addButton("copy",e->copy());
BorderLayout layout=new BorderLayout();
setLayout(layout);
add(list, BorderLayout.LINE_START);
add(toolBar, BorderLayout.PAGE_START);
add(edit,BorderLayout.CENTER);
edit.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
emitChanged();
}
});
}
protected void emitChanged() {
ChangeListener[] listeners = listenerList.getListeners(ChangeListener.class);
if (listeners != null && listeners.length > 0) {
ChangeEvent evt = new ChangeEvent(this);
for (ChangeListener listener : listeners) {
listener.stateChanged(evt);
}
}
}
private void copy() {
int selected=list.getSelectedIndex();
if(selected<0)
return;
RewardData data=new RewardData(model.get(selected));
model.add(model.size(),data);
}
private void updateEdit() {
int selected=list.getSelectedIndex();
if(selected<0)
return;
edit.setCurrentReward(model.get(selected));
}
void addReward()
{
RewardData data=new RewardData();
model.add(model.size(),data);
}
void remove()
{
int selected=list.getSelectedIndex();
if(selected<0)
return;
model.remove(selected);
}
public void setRewards(RewardData[] rewards) {
model.clear();
for (int i=0;i<rewards.length;i++) {
model.add(i,rewards[i]);
}
}
public RewardData[] getRewards() {
RewardData[] rewards= new RewardData[model.getSize()];
for(int i=0;i<model.getSize();i++)
{
rewards[i]=model.get(i);
}
return rewards;
}
public void addChangeListener(ChangeListener listener) {
listenerList.add(ChangeListener.class, listener);
}
}

View File

@@ -0,0 +1,69 @@
package forge.adventure.editor;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Array;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import static java.awt.Image.SCALE_FAST;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class SwingAtlas {
HashMap<String, ArrayList<ImageIcon>> images=new HashMap<>();
public HashMap<String, ArrayList<ImageIcon>> getImages()
{
return images;
}
public SwingAtlas(FileHandle path)
{
if(!path.exists())
return;
TextureAtlas.TextureAtlasData data=new TextureAtlas.TextureAtlasData(path,path.parent(),false);
for(TextureAtlas.TextureAtlasData.Region region: new Array.ArrayIterator<>(data.getRegions()))
{
String name=region.name;
if(!images.containsKey(name))
{
images.put(name,new ArrayList<>());
}
ArrayList<ImageIcon> imageList=images.get(name);
try {
imageList.add(spriteToImage(region));
} catch (IOException e) {
e.printStackTrace();
}
}
}
private ImageIcon spriteToImage(TextureAtlas.TextureAtlasData.Region sprite) throws IOException {
BufferedImage img = ImageIO.read(sprite.page.textureFile.file());
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance(32,32,SCALE_FAST));
}
public ImageIcon get(String name) {
return images.get(name).get(0);
}
public boolean has(String name) {
return images.containsKey(name);
}
public ImageIcon getAny() {
if(images.isEmpty())
return null;
ArrayList<ImageIcon> imageList= images.get(images.keySet().iterator().next());
if(imageList.isEmpty())
return null;
return imageList.get(0);
}
}

View File

@@ -0,0 +1,52 @@
package forge.adventure.editor;
import forge.adventure.util.Config;
import org.apache.commons.lang3.tuple.Pair;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class SwingAtlasPreview extends Box {
private String sprite="";
Timer timer;
public SwingAtlasPreview() {
super(BoxLayout.Y_AXIS);
timer = new Timer(200, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
counter++;
for (Pair<JLabel, ArrayList<ImageIcon>> element : labels) {
element.getKey().setIcon(element.getValue().get(counter % element.getValue().size()));
}
}
});
}
int counter=0;
List<Pair<JLabel,ArrayList<ImageIcon>>> labels=new ArrayList<>();
public void setSpritePath(String sprite) {
removeAll();
counter=0;
labels.clear();
if(this.sprite.equals(sprite))
return;
this.sprite=sprite;
SwingAtlas atlas=new SwingAtlas(Config.instance().getFile(sprite));
for(Map.Entry<String, ArrayList<ImageIcon>> element:atlas.getImages().entrySet())
{
JLabel image=new JLabel(element.getValue().get(0));
add(new JLabel(element.getKey()));
add(image);
labels.add(Pair.of(image, element.getValue()));
}
timer.restart();
repaint();
}
}

View File

@@ -0,0 +1,101 @@
package forge.adventure.editor;
import forge.adventure.util.Config;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
/**
* Editor class to edit configuration, maybe moved or removed
*/
public class TextListEdit extends Box {
JTextField edit=new JTextField();
JButton findButton=new JButton(UIManager.getIcon("add"));
JComboBox elements;
public TextListEdit(String[] possibleElements) {
super(BoxLayout.X_AXIS);
findButton.addActionListener(e->find());
add(edit);
//add(findButton);
elements= new JComboBox(possibleElements);
add(elements);
}
public TextListEdit()
{
this(new String[0]);
}
JTextField getEdit()
{
return edit;
}
private void find() {
JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new File(Config.instance().getFilePath("")));
fc.setMultiSelectionEnabled(false);
if (fc.showOpenDialog(this) ==
JFileChooser.APPROVE_OPTION) {
File selected = fc.getSelectedFile();
try {
if (selected != null&&selected.getCanonicalPath().startsWith(new File(Config.instance().getFilePath("")).getCanonicalPath())) {
edit.setText(selected.getCanonicalPath().substring(new File(Config.instance().getFilePath("")).getCanonicalPath().length()+1));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void setText(String[] itemName) {
if(itemName==null)
edit.setText("");
else
edit.setText(String.join(";",itemName));
}
public void setText(int[] intValues) {
if(intValues==null)
{
edit.setText("");
return;
}
StringBuilder values= new StringBuilder();
for(int i=0;i<intValues.length;i++)
{
values.append(intValues[i]);
if(intValues.length>i+2)
values.append(";");
}
edit.setText(values.toString());
}
public String[] getList() {
return edit.getText().isEmpty()?null:edit.getText().split(";");
}
public int[] getListAsInt() {
if(edit.getText().isEmpty())
return null;
String[] stringList=getList();
int[] retList=new int[stringList.length];
for(int i=0;i<retList.length;i++)
{
String intName=stringList[i];
try
{
retList[i] = Integer.valueOf(intName);
}
catch (NumberFormatException e)
{
retList[i] =0;
}
}
return retList;
}
}

View File

@@ -0,0 +1,118 @@
package forge.adventure.scene;
import com.badlogic.gdx.scenes.scene2d.Stage;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.world.AdventurePlayer;
import forge.deck.Deck;
import forge.deck.FDeckEditor;
import forge.gamemodes.quest.QuestMode;
import forge.gamemodes.quest.QuestSpellShop;
import forge.gamemodes.quest.data.DeckConstructionRules;
import forge.gamemodes.quest.data.QuestData;
import forge.item.PaperCard;
import forge.itemmanager.ColumnDef;
import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManagerConfig;
import forge.model.FModel;
import forge.screens.FScreen;
import forge.toolbox.FEvent;
import java.util.HashMap;
import java.util.Map;
/**
* DeckEditScene
* scene class that contains the Deck editor
*/
public class DeckEditScene extends ForgeScene {
public class AdventureDeckEditor extends FDeckEditor {
public AdventureDeckEditor(boolean commander) {
super(commander ? EditorType.QuestCommander : EditorType.Quest, "", false, new FEvent.FEventHandler() {
@Override
public void handleEvent(FEvent e) {
AdventureApplicationAdapter.instance.switchToLast();
}
});
}
@Override
public void onActivate() {
super.onActivate();
QuestSpellShop.updateDecksForEachCard();
}
@Override
protected Map<ColumnDef, ItemColumn> getColOverrides(ItemManagerConfig config) {
Map<ColumnDef, ItemColumn> colOverrides = new HashMap<>();
switch (config) {
case QUEST_EDITOR_POOL:
ItemColumn.addColOverride(config, colOverrides, ColumnDef.NEW, FModel.getQuest().getCards().getFnNewCompare(), FModel.getQuest().getCards().getFnNewGet());
break;
case QUEST_DECK_EDITOR:
ItemColumn.addColOverride(config, colOverrides, ColumnDef.NEW, FModel.getQuest().getCards().getFnNewCompare(), FModel.getQuest().getCards().getFnNewGet());
ItemColumn.addColOverride(config, colOverrides, ColumnDef.DECKS, QuestSpellShop.fnDeckCompare, QuestSpellShop.fnDeckGet);
break;
default:
colOverrides = null; //shouldn't happen
break;
}
return colOverrides;
}
public void refresh() {
for(TabPage page:tabPages)
{
if(page instanceof CardManagerPage)
((CardManagerPage)page).refresh();
}
}
}
AdventureDeckEditor screen;
Stage stage;
public DeckEditScene() {
}
@Override
public void dispose() {
if (stage != null)
stage.dispose();
}
@Override
public void enter() {
QuestData data = new QuestData("", 0, QuestMode.Classic, null, false, "", DeckConstructionRules.Commander);
FModel.getQuest().load(data);
FModel.getQuest().getCards().getCardpool().clear();
for (Map.Entry<PaperCard, Integer> card : AdventurePlayer.current().getCards())
FModel.getQuest().getCards().addSingleCard(card.getKey(), card.getValue());
Deck deck = AdventurePlayer.current().getDeck();
getScreen();
screen.getEditorType().getController().setDeck(deck);
screen.refresh();
super.enter();
}
@Override
public FScreen getScreen() {
return screen==null?screen = new AdventureDeckEditor(false):screen;
}
}

View File

@@ -0,0 +1,137 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import forge.LobbyPlayer;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.character.EnemySprite;
import forge.adventure.character.PlayerSprite;
import forge.adventure.util.Config;
import forge.adventure.util.Current;
import forge.adventure.world.AdventurePlayer;
import forge.assets.FSkin;
import forge.deck.Deck;
import forge.game.GameRules;
import forge.game.GameType;
import forge.game.player.Player;
import forge.game.player.RegisteredPlayer;
import forge.gamemodes.match.HostedMatch;
import forge.gui.interfaces.IGuiGame;
import forge.player.GamePlayerUtil;
import forge.player.PlayerControllerHuman;
import forge.screens.FScreen;
import forge.screens.match.MatchController;
import forge.sound.MusicPlaylist;
import forge.sound.SoundSystem;
import forge.trackable.TrackableCollection;
import java.util.*;
/**
* DuelScene
* Forge screen scene that contains the duel screen
*/
public class DuelScene extends ForgeScene {
//GameLobby lobby;
HostedMatch hostedMatch;
EnemySprite enemy;
PlayerSprite player;
RegisteredPlayer humanPlayer;
public DuelScene() {
}
@Override
public void dispose() {
}
public void GameEnd() {
Gdx.app.postRunnable(() -> {
SoundSystem.instance.setBackgroundMusic(MusicPlaylist.MENUS); //start background music
Scene last= AdventureApplicationAdapter.instance.switchToLast();
if(last instanceof HudScene)
{
((HudScene)last).stage.setWinner(humanPlayer == hostedMatch.getGame().getMatch().getWinner());
}
});
}
@Override
public void enter() {
Set<GameType> appliedVariants = new HashSet<>();
appliedVariants.add(GameType.Constructed);
List<RegisteredPlayer> players = new ArrayList<>();
Deck playerDeck=(Deck)AdventurePlayer.current().getDeck().copyTo("PlayerDeckCopy");
int missingCards= Config.instance().getConfigData().minDeckSize-playerDeck.getMain().countAll();
if(missingCards>0)
playerDeck.getMain().add("Wastes",missingCards);
humanPlayer = RegisteredPlayer.forVariants(2, appliedVariants,playerDeck, null, false, null, null);
LobbyPlayer playerObject = GamePlayerUtil.getGuiPlayer();
FSkin.getAvatars().put(90001, Current.player().avatar());
playerObject.setAvatarIndex(90001);
humanPlayer.setPlayer(playerObject);
humanPlayer.setStartingLife(Current.player().getLife());
Current.setLatestDeck(enemy.getData().generateDeck());
RegisteredPlayer aiPlayer = RegisteredPlayer.forVariants(2, appliedVariants, Current.latestDeck(), null, false, null, null);
LobbyPlayer enemyPlayer = GamePlayerUtil.createAiPlayer();
FSkin.getAvatars().put(90000, this.enemy.getAvatar());
enemyPlayer.setAvatarIndex(90000);
enemyPlayer.setName(this.enemy.getData().name);
aiPlayer.setPlayer(enemyPlayer);
aiPlayer.setStartingLife(Math.round((float)enemy.getData().life*Current.player().getDifficulty().enemyLifeFactor));
players.add(humanPlayer);
players.add(aiPlayer);
final Map<RegisteredPlayer, IGuiGame> guiMap = new HashMap<>();
guiMap.put(humanPlayer, MatchController.instance);
hostedMatch = MatchController.hostMatch();
GameRules rules = new GameRules(GameType.Constructed);
rules.setPlayForAnte(false);
rules.setMatchAnteRarity(true);
rules.setGamesPerMatch(1);
rules.setManaBurn(false);
hostedMatch.setEndGameHook(() -> GameEnd());
hostedMatch.startMatch(rules, appliedVariants, players, guiMap);
MatchController.instance.setGameView(hostedMatch.getGameView());
for (final Player p : hostedMatch.getGame().getPlayers()) {
if (p.getController() instanceof PlayerControllerHuman) {
final PlayerControllerHuman humanController = (PlayerControllerHuman) p.getController();
humanController.setGui(MatchController.instance);
MatchController.instance.setOriginalGameController(p.getView(), humanController);
MatchController.instance.openView(new TrackableCollection<>(p.getView()));
}
}
super.enter();
}
@Override
public FScreen getScreen() {
return MatchController.getView();
}
public void setEnemy(EnemySprite data) {
this.enemy = data;
}
public void setPlayer(PlayerSprite sprite) {
this.player = sprite;
}
}

View File

@@ -0,0 +1,306 @@
package forge.adventure.scene;
import com.badlogic.gdx.Input;
import forge.Forge;
import forge.screens.match.MatchController;
import forge.toolbox.FContainer;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FGestureAdapter;
import forge.toolbox.FOverlay;
import forge.util.Utils;
import forge.gui.error.BugReporter;
import java.util.ArrayList;
import java.util.List;
/**
* ForgeInput
* Handles input for forge screens
*/
public class ForgeInput extends FGestureAdapter {
private static final List<FDisplayObject> potentialListeners = new ArrayList<>();
private static char lastKeyTyped;
private static boolean keyTyped, shiftKeyDown;
private final ForgeScene forgeScene;
private final Forge.KeyInputAdapter keyInputAdapter = null;
//mouseMoved and scrolled events for desktop version
private int mouseMovedX, mouseMovedY;
public ForgeInput(ForgeScene forgeScene) {
this.forgeScene=forgeScene;
}
@Override
public boolean keyDown(int keyCode) {
if (keyCode == Input.Keys.MENU) {
//showMenu();
return true;
}
if (keyCode == Input.Keys.SHIFT_LEFT || keyCode == Input.Keys.SHIFT_RIGHT) {
shiftKeyDown = true;
}
// Cursor keys emulate swipe gestures
// First we touch the screen and later swipe (fling) in the direction of the key pressed
if (keyCode == Input.Keys.LEFT) {
touchDown(0, 0, 0, 0);
return fling(1000, 0);
}
if (keyCode == Input.Keys.RIGHT) {
touchDown(0, 0, 0, 0);
return fling(-1000, 0);
}
if (keyCode == Input.Keys.UP) {
touchDown(0, 0, 0, 0);
return fling(0, -1000);
}
if (keyCode == Input.Keys.DOWN) {
touchDown(0, 0, 0, 0);
return fling(0, 1000);
}
/*
if(keyCode == Input.Keys.BACK){
if (destroyThis)
deviceAdapter.exit();
else if(onHomeScreen() && isLandscapeMode())
back();
}
*/
if (keyInputAdapter == null) {
if (Forge.KeyInputAdapter.isModifierKey(keyCode)) {
return false; //don't process modifiers keys for unknown adapter
}
//if no active key input adapter, give current screen or overlay a chance to handle key
FContainer container = FOverlay.getTopOverlay();
if (container == null) {
container = MatchController.getView();
if (container == null) {
return false;
}
}
return container.keyDown(keyCode);
}
return keyInputAdapter.keyDown(keyCode);
}
@Override
public boolean keyUp(int keyCode) {
keyTyped = false; //reset on keyUp
if (keyCode == Input.Keys.SHIFT_LEFT || keyCode == Input.Keys.SHIFT_RIGHT) {
shiftKeyDown = false;
}
if (keyInputAdapter != null) {
return keyInputAdapter.keyUp(keyCode);
}
return false;
}
@Override
public boolean keyTyped(char ch) {
if (keyInputAdapter != null) {
if (ch >= ' ' && ch <= '~') { //only process this event if character is printable
//prevent firing this event more than once for the same character on the same key down, otherwise it fires too often
if (lastKeyTyped != ch || !keyTyped) {
keyTyped = true;
lastKeyTyped = ch;
return keyInputAdapter.keyTyped(ch);
}
}
}
return false;
}
private void updatePotentialListeners(int x, int y) {
potentialListeners.clear();
//base potential listeners on object containing touch down point
for (FOverlay overlay : FOverlay.getOverlaysTopDown()) {
if (overlay.isVisibleOnScreen(forgeScene.getScreen())) {
overlay.buildTouchListeners(x, y, potentialListeners);
if (overlay.preventInputBehindOverlay()) {
return;
}
}
}
forgeScene.buildTouchListeners(x, y, potentialListeners);
}
@Override
public boolean touchDown(int x, int y, int pointer, int button) {
if (pointer == 0) { //don't change listeners when second finger goes down for zoom
updatePotentialListeners(x, y);
if (keyInputAdapter != null) {
if (!keyInputAdapter.allowTouchInput() || !potentialListeners.contains(keyInputAdapter.getOwner())) {
//endKeyInput(); //end key input if needed
}
}
}
return super.touchDown(x, y, pointer, button);
}
@Override
public boolean press(float x, float y) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.press(listener.screenToLocalX(x), listener.screenToLocalY(y))) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean release(float x, float y) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.release(listener.screenToLocalX(x), listener.screenToLocalY(y))) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean longPress(float x, float y) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.longPress(listener.screenToLocalX(x), listener.screenToLocalY(y))) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean tap(float x, float y, int count) {
if (shiftKeyDown && flick(x, y)) {
return true; //give flick logic a chance to handle Shift+click
}
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.tap(listener.screenToLocalX(x), listener.screenToLocalY(y), count)) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean flick(float x, float y) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.flick(listener.screenToLocalX(x), listener.screenToLocalY(y))) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean fling(float velocityX, float velocityY) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.fling(velocityX, velocityY)) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean pan(float x, float y, float deltaX, float deltaY, boolean moreVertical) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.pan(listener.screenToLocalX(x), listener.screenToLocalY(y), deltaX, deltaY, moreVertical)) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean panStop(float x, float y) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.panStop(listener.screenToLocalX(x), listener.screenToLocalY(y))) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean zoom(float x, float y, float amount) {
try {
for (FDisplayObject listener : potentialListeners) {
if (listener.zoom(listener.screenToLocalX(x), listener.screenToLocalY(y), amount)) {
return true;
}
}
return false;
} catch (Exception ex) {
BugReporter.reportException(ex);
return true;
}
}
@Override
public boolean mouseMoved(int x, int y) {
mouseMovedX = x;
mouseMovedY = y;
return true;
}
@Override
public boolean scrolled(float amountX, float amountY) {
updatePotentialListeners(mouseMovedX, mouseMovedY);
if (Forge.KeyInputAdapter.isCtrlKeyDown()) { //zoom in or out based on amount
return zoom(mouseMovedX, mouseMovedY, -Utils.AVG_FINGER_WIDTH * amountY);
}
boolean handled;
if (Forge.KeyInputAdapter.isShiftKeyDown()) {
handled = pan(mouseMovedX, mouseMovedY, -Utils.AVG_FINGER_WIDTH * amountX, 0, false);
} else {
handled = pan(mouseMovedX, mouseMovedY, 0, -Utils.AVG_FINGER_HEIGHT * amountY, true);
}
if (panStop(mouseMovedX, mouseMovedY)) {
handled = true;
}
return handled;
}
}

View File

@@ -0,0 +1,105 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import forge.adventure.AdventureApplicationAdapter;
import forge.Forge;
import forge.Graphics;
import forge.animation.ForgeAnimation;
import forge.assets.ImageCache;
import forge.screens.FScreen;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FOverlay;
import forge.gamemodes.match.LobbySlotType;
import forge.interfaces.IUpdateable;
import java.util.List;
/**
* base class to render base forge screens like the deck editor and matches
*/
public abstract class ForgeScene extends Scene implements IUpdateable {
//GameLobby lobby;
Graphics localGraphics;
ForgeInput input=new ForgeInput(this);
@Override
public void dispose() {
}
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); // Clear the screen.
if (getScreen() == null) {
return;
}
localGraphics.begin(AdventureApplicationAdapter.instance.getCurrentWidth(), AdventureApplicationAdapter.instance.getCurrentHeight());
getScreen().screenPos.setSize(AdventureApplicationAdapter.instance.getCurrentWidth(), AdventureApplicationAdapter.instance.getCurrentHeight());
if (getScreen().getRotate180()) {
localGraphics.startRotateTransform(AdventureApplicationAdapter.instance.getCurrentWidth() / 2f, AdventureApplicationAdapter.instance.getCurrentHeight() / 2f, 180);
}
getScreen().draw(localGraphics);
if (getScreen().getRotate180()) {
localGraphics.endTransform();
}
for (FOverlay overlay : FOverlay.getOverlays()) {
if (overlay.isVisibleOnScreen(getScreen())) {
overlay.screenPos.setSize(AdventureApplicationAdapter.instance.getCurrentWidth(), AdventureApplicationAdapter.instance.getCurrentHeight());
overlay.setSize(AdventureApplicationAdapter.instance.getCurrentWidth(), AdventureApplicationAdapter.instance.getCurrentHeight()); //update overlay sizes as they're rendered
if (overlay.getRotate180()) {
localGraphics.startRotateTransform(AdventureApplicationAdapter.instance.getCurrentHeight() / 2f, AdventureApplicationAdapter.instance.getCurrentHeight() / 2f, 180);
}
overlay.draw(localGraphics);
if (overlay.getRotate180()) {
localGraphics.endTransform();
}
}
}
localGraphics.end();
//Batch.end();
}
@Override
public void act(float delta) {
ImageCache.allowSingleLoad();
ForgeAnimation.advanceAll();
}
@Override
public void enter() {
if(getScreen()!=null)
getScreen().setSize(AdventureApplicationAdapter.instance.getCurrentWidth(), AdventureApplicationAdapter.instance.getCurrentHeight());
Forge.openScreen(getScreen());
Gdx.input.setInputProcessor(input);
}
public abstract FScreen getScreen();
public void buildTouchListeners(int x, int y, List<FDisplayObject> potentialListeners) {
if(getScreen()!=null)
getScreen().buildTouchListeners(x, y, potentialListeners);
}
@Override
public void resLoaded() {
localGraphics = AdventureApplicationAdapter.instance.getGraphics();
}
@Override
public void update(boolean fullUpdate) {
}
@Override
public void update(int slot, LobbySlotType type) {
}
}

View File

@@ -0,0 +1,46 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import forge.adventure.stage.WorldStage;
/**
* Game scene main over world scene
* does render the WorldStage and HUD
*/
public class GameScene extends HudScene {
public GameScene() {
super(WorldStage.getInstance());
}
@Override
public void dispose() {
stage.dispose();
}
@Override
public void act(float delta) {
stage.act(delta);
}
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
hud.draw();
}
@Override
public void resLoaded() {
}
}

View File

@@ -0,0 +1,119 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import forge.adventure.stage.GameHUD;
import forge.adventure.stage.GameStage;
/**
* Hud base scene
*/
public class HudScene extends Scene implements InputProcessor {
GameHUD hud;
GameStage stage;
protected HudScene(GameStage s) {
stage = s;
hud = GameHUD.getInstance();
}
@Override
public boolean leave() {
stage.leave();
return true;
}
@Override
public void enter() {
Gdx.input.setInputProcessor(this);
stage.enter();
hud.enter();
}
@Override
public void dispose() {
stage.dispose();
}
@Override
public void act(float delta)
{
stage.act(delta);
hud.act(delta);
}
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
hud.draw();
}
@Override
public void resLoaded() {
}
@Override
public boolean keyDown(int keycode) {
if (hud.keyDown(keycode))
return true;
return stage.keyDown(keycode);
}
@Override
public boolean keyUp(int keycode) {
if (hud.keyUp(keycode))
return true;
return stage.keyUp(keycode);
}
@Override
public boolean keyTyped(char character) {
if (hud.keyTyped(character))
return true;
return stage.keyTyped(character);
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if (hud.touchDown(screenX, screenY, pointer, button))
return true;
return stage.touchDown(screenX, screenY, pointer, button);
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
if (hud.touchUp(screenX, screenY, pointer, button))
return true;
return stage.touchUp(screenX, screenY, pointer, button);
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
if (hud.touchDragged(screenX, screenY, pointer))
return true;
return stage.touchDragged(screenX, screenY, pointer);
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
if (hud.mouseMoved(screenX, screenY))
return true;
return stage.mouseMoved(screenX, screenY);
}
@Override
public boolean scrolled(float amountX, float amountY) {
if (hud.scrolled(amountX, amountY))
return true;
return stage.scrolled(amountX, amountY);
}
}

View File

@@ -0,0 +1,51 @@
package forge.adventure.scene;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.util.Current;
/**
* Scene for the Inn in towns
*
*/
public class InnScene extends UIScene {
public InnScene()
{
super("ui/inn.json");
}
public void done()
{
AdventureApplicationAdapter.instance.switchToLast();
}
public void heal()
{
Current.player().heal();
}
@Override
public void act(float delta) {
stage.act(delta);
}
@Override
public void resLoaded() {
super.resLoaded();
ui.onButtonPress("done",()->done());
ui.onButtonPress("heal",()->heal());
TextButton doneButton = ui.findActor("done");
}
@Override
public boolean keyPressed(int keycode)
{
if (keycode == Input.Keys.ESCAPE)
{
done();
}
return true;
}
}

View File

@@ -0,0 +1,136 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Array;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.data.DifficultyData;
import forge.adventure.data.HeroListData;
import forge.adventure.util.Config;
import forge.adventure.util.Selector;
import forge.adventure.world.WorldSave;
import forge.deck.Deck;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.util.NameGenerator;
import java.util.Random;
/**
* NewGame scene that contains the character creation
*/
public class NewGameScene extends UIScene {
TextField selectedName;
Deck[] starterDeck;
private Image avatarImage;
private int avatarIndex = 0;
private Selector race;
private Selector deck;
private Selector gender;
private Selector difficulty;
public NewGameScene() {
super("ui/new_game.json");
}
public boolean start() {
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_ENABLE_MUSIC, false);
WorldSave.generateNewWorld(selectedName.getText(),
gender.getCurrentIndex() == 0,
race.getCurrentIndex(),
avatarIndex,
deck.getCurrentIndex(),
Config.instance().getConfigData().difficulties[difficulty.getCurrentIndex()],0);
GamePlayerUtil.getGuiPlayer().setName(selectedName.getText());
//image = new Texture(img);
AdventureApplicationAdapter.instance.switchScene(SceneType.GameScene.instance);
return true;
}
public boolean back() {
AdventureApplicationAdapter.instance.switchScene(SceneType.StartScene.instance);
return true;
}
@Override
public void resLoaded() {
super.resLoaded();
selectedName = ui.findActor("nameField");
selectedName.setText(NameGenerator.getRandomName("Any", "Any", ""));
avatarImage = ui.findActor("avatarPreview");
gender = ui.findActor("gender");
gender.setTextList(new String[]{"Male", "Female"});
gender.addListener(event -> updateAvatar());
Random rand=new Random();
deck = ui.findActor("deck");
starterDeck = Config.instance().starterDecks();
Array<String> stringList = new Array<>(starterDeck.length);
for (Deck deck : starterDeck)
stringList.add(deck.getName());
deck.setTextList(stringList);
race = ui.findActor("race");
race.addListener(event -> updateAvatar());
race.setTextList(HeroListData.getRaces());
difficulty = ui.findActor("difficulty");
Array<String> diffList = new Array<>(starterDeck.length);
int i=0;
int startingDifficulty=0;
for (DifficultyData diff : Config.instance().getConfigData().difficulties)
{
if(diff.startingDifficulty)
startingDifficulty=i;
diffList.add(diff.name);
i++;
}
difficulty.setTextList(diffList);
difficulty.setCurrentIndex(startingDifficulty);
avatarIndex=rand.nextInt();
gender.setCurrentIndex(rand.nextInt());
deck.setCurrentIndex(rand.nextInt());
race.setCurrentIndex(rand.nextInt());
ui.onButtonPress("back", this::back);
ui.onButtonPress("start", this::start);
ui.onButtonPress("leftAvatar", this::leftAvatar);
ui.onButtonPress("rightAvatar", this::rightAvatar);
updateAvatar();
}
private void rightAvatar() {
avatarIndex++;
updateAvatar();
}
private void leftAvatar() {
avatarIndex--;
updateAvatar();
}
private boolean updateAvatar() {
avatarImage.setDrawable(new TextureRegionDrawable(HeroListData.getAvatar(race.getCurrentIndex(), gender.getCurrentIndex() != 0, avatarIndex)));
return false;
}
@Override
public void create() {
}
@Override
public void enter() {
Gdx.input.setInputProcessor(stage); //Start taking input from the ui
}
}

View File

@@ -0,0 +1,290 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Array;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.character.ShopActor;
import forge.assets.ImageCache;
import forge.adventure.util.CardUtil;
import forge.adventure.util.Current;
import forge.adventure.util.Reward;
import forge.adventure.util.RewardActor;
import forge.adventure.world.AdventurePlayer;
import forge.adventure.world.PointOfInterestChanges;
import forge.adventure.world.WorldSave;
/**
* Displays the rewards of a fight or a treasure
*/
public class RewardScene extends UIScene {
private TextButton doneButton;
public enum Type
{
Shop,
Loot
}
Type type;
Array<Actor> generated =new Array<>();
static public final float CARD_WIDTH =550f;
static public final float CARD_HEIGHT =400f;
static public final float CARD_WIDTH_TO_HEIGHT =CARD_WIDTH/CARD_HEIGHT;
public RewardScene()
{
super("ui/items.json");
}
boolean doneClicked=false;
float flipCountDown=1.0f;
public boolean done()
{
if(doneClicked)
return true;
if(type==Type.Loot)
{
boolean wait=false;
for(Actor actor: new Array.ArrayIterator<>(generated))
{
if(!(actor instanceof RewardActor))
{
continue;
}
RewardActor reward=(RewardActor) actor;
AdventurePlayer.current().addReward(reward.getReward());
if(!reward.isFlipped())
{
wait = true;
reward.flip();
}
}
if(wait)
{
flipCountDown=3.0f;
doneClicked=true;
}
else
{
AdventureApplicationAdapter.instance.switchToLast();
}
}
else
{
AdventureApplicationAdapter.instance.switchToLast();
}
return true;
}
@Override
public void act(float delta) {
stage.act(delta);
ImageCache.allowSingleLoad();
if(doneClicked)
{
if(type==Type.Loot)
flipCountDown-=Gdx.graphics.getDeltaTime();
if(flipCountDown<=0)
{
AdventureApplicationAdapter.instance.switchToLast();
}
}
}
@Override
public void resLoaded() {
super.resLoaded();
ui.onButtonPress("done",()->done());
doneButton=ui.findActor("done");
}
@Override
public boolean keyPressed(int keycode)
{
if (keycode == Input.Keys.ESCAPE)
{
done();
}
return true;
}
public void loadRewards(Array<Reward> newRewards, Type type, ShopActor shopActor)
{
this.type=type;
doneClicked=false;
for(Actor actor: new Array.ArrayIterator<>(generated))
{
actor.remove();
if(actor instanceof RewardActor)
{
((RewardActor)actor).dispose();
}
}
generated.clear();
Actor card=ui.findActor("cards");
// card.setDrawable(new TextureRegionDrawable(new Texture(Res.CurrentRes.GetFile("ui/transition.png"))));
float targetWidth = card.getWidth();
float targetHeight = card.getHeight();
float xOff = card.getX();
float yOff = card.getY();
int numberOfRows=0;
float cardWidth=0;
float cardHeight=0;
float bestCardHeight=0;
int numberOfColumns=0;
float targetArea=targetHeight*targetWidth;
float oldCardArea=0;
float newArea=0;
switch (type) {
case Shop:
doneButton.setText("Return");
break;
case Loot:
doneButton.setText("Take all");
break;
}
for(int h=1;h<targetHeight;h++)
{
cardHeight=h;
if(type==Type.Shop)
{
cardHeight+=doneButton.getHeight();
}
//cardHeight=targetHeight/i;
cardWidth=h/ CARD_WIDTH_TO_HEIGHT;
newArea=newRewards.size*cardWidth*cardHeight;
int rows=(int) (targetHeight/cardHeight);
int cols =(int)Math.ceil(newRewards.size/(double)rows);
if(newArea>oldCardArea&&newArea<=targetArea&&rows*cardHeight<targetHeight&&cols*cardWidth<targetWidth)
{
oldCardArea=newArea;
numberOfRows= rows;
numberOfColumns =cols;
bestCardHeight=h;
}
}
cardHeight=bestCardHeight;
cardWidth=bestCardHeight/ CARD_WIDTH_TO_HEIGHT;
yOff+=(targetHeight-(cardHeight*numberOfRows))/2f;
xOff+=(targetWidth-(cardWidth*numberOfColumns))/2f;
float spacing=2;
int i=0;
for(Reward reward:new Array.ArrayIterator<>(newRewards))
{
boolean skipCard=false;
if(type==Type.Shop)
{
if(shopActor.getMapStage().getChanges().wasCardBought(shopActor.getObjectID(),i))
{
skipCard=true;
}
}
int currentRow=(i/numberOfColumns);
float lastRowXAdjust=0;
if(currentRow==numberOfRows-1)
{
int lastRowCount=newRewards.size%numberOfColumns;
if(lastRowCount!=0)
lastRowXAdjust=((numberOfColumns*cardWidth)-(lastRowCount*cardWidth))/2;
}
RewardActor actor=new RewardActor(reward,type==Type.Loot);
actor.setBounds(lastRowXAdjust+xOff+cardWidth*(i%numberOfColumns)+spacing,yOff+cardHeight*currentRow+spacing,cardWidth-spacing*2,cardHeight-spacing*2);
if(type==Type.Shop)
{
if(currentRow!=((i+1)/numberOfColumns))
yOff+=doneButton.getHeight();
TextButton buyCardButton=new BuyButton(shopActor.getObjectID(),i,shopActor.getMapStage().getChanges(),actor,doneButton);
generated.add(buyCardButton);
if(!skipCard)
{
stage.addActor(buyCardButton);
}
}
generated.add(actor);
if(!skipCard)
{
stage.addActor(actor);
}
i++;
}
updateBuyButtons();
}
private void updateBuyButtons() {
for(Actor actor: new Array.ArrayIterator<>(generated))
{
if(actor instanceof BuyButton)
{
((BuyButton)actor).update();
}
}
}
private class BuyButton extends TextButton {
private final int objectID;
private final int index;
private final PointOfInterestChanges changes;
RewardActor reward;
int price;
void update(){
setDisabled(WorldSave.getCurrentSave().getPlayer().getGold()< price);
}
public BuyButton(int id, int i, PointOfInterestChanges ch, RewardActor actor, TextButton style) {
super("",style.getStyle());
this.objectID = id;
this.index = i;
this.changes = ch;
reward=actor;
setHeight(style.getHeight());
setWidth(actor.getWidth());
setX(actor.getX());
setY(actor.getY()-getHeight());
price= CardUtil.getCardPrice(actor.getReward().getCard());
setText("Buy for "+price);
addListener(new ClickListener(){
@Override
public void clicked (InputEvent event, float x, float y) {
if(Current.player().getGold()>= price)
{
changes.buyCard(objectID,index);
Current.player().takeGold(price);
Current.player().addReward(reward.getReward());
setDisabled(true);
reward.flip();
remove();
updateBuyButtons();
}
}
});
}
}
}

View File

@@ -0,0 +1,221 @@
package forge.adventure.scene;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.GdxRuntimeException;
import com.badlogic.gdx.utils.IntMap;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.util.Controls;
import forge.adventure.world.WorldSave;
import forge.adventure.world.WorldSaveHeader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.zip.InflaterInputStream;
/**
* Scene to load and save the game.
*
*/
public class SaveLoadScene extends UIScene {
private final IntMap<TextButton> buttons = new IntMap<>();
IntMap<WorldSaveHeader> previews = new IntMap<>();
Color defColor;
Table layout;
boolean save = true;
Dialog dialog;
TextField textInput;
Label header;
int currentSlot = -3;
Image previewImage;
TextButton saveLoadButton;
TextButton quickSave;
TextButton autoSave;
public SaveLoadScene() {
super("ui/save_load.json");
}
private TextButton addSaveSlot(String name, int i) {
layout.add(Controls.newLabel(name));
TextButton button = Controls.newTextButton("...");
button.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
try {
if(!button.isDisabled())
select(i);
} catch (Exception e) {
e.printStackTrace();
}
}
});
layout.add(button).expandX();
buttons.put(i, button);
layout.row();
return button;
}
public void back() {
AdventureApplicationAdapter.instance.switchToLast();
}
public boolean select(int slot) {
currentSlot = slot;
if (previews.containsKey(slot)) {
WorldSaveHeader header = previews.get(slot);
if (header.preview != null) {
previewImage.setDrawable(new TextureRegionDrawable(new Texture(header.preview)));
previewImage.layout();
}
}
for (IntMap.Entry<TextButton> butt : new IntMap.Entries<TextButton> (buttons)) {
butt.value.setColor(defColor);
}
if (buttons.containsKey(slot)) {
TextButton button = buttons.get(slot);
button.setColor(Color.RED);
}
return true;
}
public void loadSave() {
if (save) {
textInput.setText("Save Game " + currentSlot);
dialog.show(stage);
stage.setKeyboardFocus(textInput);
} else {
if(WorldSave.load(currentSlot))
AdventureApplicationAdapter.instance.switchScene(SceneType.GameScene.instance);
}
}
public boolean saveAbort() {
dialog.hide();
return true;
}
@Override
public boolean keyPressed(int keycode)
{
if (keycode == Input.Keys.ESCAPE)
{
back();
}
return true;
}
public void save() {
dialog.hide();
if( WorldSave.getCurrentSave().save(textInput.getText(), currentSlot))
{
updateFiles();
AdventureApplicationAdapter.instance.switchScene(SceneType.GameScene.instance);
}
}
private void updateFiles() {
File f = new File(WorldSave.getSaveDir());
f.mkdirs();
File[] names = f.listFiles();
if(names==null)
throw new RuntimeException("Can not find save directory");
previews.clear();
for (File name : names) {
if (WorldSave.isSafeFile(name.getName())) {
try {
try (FileInputStream fos = new FileInputStream(name.getAbsolutePath());
InflaterInputStream inf = new InflaterInputStream(fos);
ObjectInputStream oos = new ObjectInputStream(inf)) {
int slot=WorldSave.filenameToSlot(name.getName());
WorldSaveHeader header = (WorldSaveHeader) oos.readObject();
buttons.get(slot).setText(header.name);
previews.put(slot, header);
}
} catch (ClassNotFoundException | IOException | GdxRuntimeException e) {
}
}
}
}
public void setSaveGame(boolean save) {
if (save) {
header.setText("Save game");
saveLoadButton.setText("Save");
} else {
header.setText("Load game");
saveLoadButton.setText("Load");
}
autoSave.setDisabled(save);
quickSave.setDisabled(save);
this.save = save;
}
@Override
public void enter() {
select(-3);
updateFiles();
super.enter();
}
@Override
public void resLoaded() {
super.resLoaded();
layout = new Table();
layout.setFillParent(true);
stage.addActor(layout);
dialog = Controls.newDialog("Save");
textInput = Controls.newTextField("");
dialog.getButtonTable().add(Controls.newLabel("Name your new save file.")).colspan(2);
dialog.getButtonTable().row();
dialog.getButtonTable().add(Controls.newLabel("Name:")).align(Align.left);
dialog.getButtonTable().add(textInput).fillX().expandX();
dialog.getButtonTable().row();
dialog.getButtonTable().add(Controls.newTextButton("Save", () -> save())).align(Align.left);
dialog.getButtonTable().add(Controls.newTextButton("Abort", () -> saveAbort())).align(Align.left);
previewImage = ui.findActor("preview");
header = Controls.newLabel("Save");
header.setHeight(header.getHeight() * 2);
layout.add(header).colspan(2).align(Align.center);
layout.row();
autoSave=addSaveSlot("Auto save", WorldSave.AUTO_SAVE_SLOT);
quickSave=addSaveSlot("Quick save", WorldSave.QUICK_SAVE_SLOT);
for (int i = 1; i < 11; i++)
addSaveSlot("Slot:" + i, i);
saveLoadButton = ui.findActor("save");
ui.onButtonPress("save",()-> loadSave());
ui.onButtonPress("return",()-> back());
defColor = saveLoadButton.getColor();
ScrollPane scrollPane = ui.findActor("saveSlots");
scrollPane.setActor(layout);
}
}

View File

@@ -0,0 +1,49 @@
package forge.adventure.scene;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Disposable;
import forge.adventure.util.Config;
/**
* Base class for all rendered scenes
*/
public abstract class Scene implements Disposable {
public Scene() {
}
public static int GetIntendedWidth() {
return Config.instance().getConfigData().screenWidth;
}
public static int GetIntendedHeight() {
return Config.instance().getConfigData().screenHeight;
}
public abstract void act(float delta);
public abstract void render();
public void create() {
}
public Drawable DrawableImage(String path) {
return new TextureRegionDrawable(new Texture(Config.instance().getFile(path)));
}
public void resLoaded() {
}
public boolean leave() {
return true;
}
public void enter() {
}
}

View File

@@ -0,0 +1,23 @@
package forge.adventure.scene;
/**
* Enum of all scenes
*/
public enum SceneType {
StartScene(new forge.adventure.scene.StartScene()),
NewGameScene(new forge.adventure.scene.NewGameScene()),
SettingsScene(new forge.adventure.scene.SettingsScene()),
GameScene(new forge.adventure.scene.GameScene()),
DuelScene(new forge.adventure.scene.DuelScene()),
SaveLoadScene(new forge.adventure.scene.SaveLoadScene()),
DeckEditScene(new forge.adventure.scene.DeckEditScene()),
TileMapScene(new forge.adventure.scene.TileMapScene()),
RewardScene(new forge.adventure.scene.RewardScene()),
InnScene(new forge.adventure.scene.InnScene());
public final forge.adventure.scene.Scene instance;
SceneType(forge.adventure.scene.Scene scene) {
this.instance = scene;
}
}

View File

@@ -0,0 +1,230 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.utils.Align;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.util.Config;
import forge.adventure.util.Controls;
import forge.localinstance.properties.ForgePreferences;
import forge.util.Localizer;
import java.util.function.Function;
/**
* Scene to handle settings of the base forge and adventure mode
*/
public class SettingsScene extends UIScene {
static public ForgePreferences Preference;
Stage stage;
Texture Background;
private Table settingGroup;
public SettingsScene() {
super("ui/settings.json");
}
@Override
public void dispose() {
if (stage != null)
stage.dispose();
}
public void renderAct(float delta) {
Gdx.gl.glClearColor(1, 0, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.getBatch().begin();
stage.getBatch().disableBlending();
stage.getBatch().draw(Background, 0, 0, GetIntendedWidth(), GetIntendedHeight());
stage.getBatch().enableBlending();
stage.getBatch().end();
stage.act(delta);
stage.draw();
}
@Override
public boolean keyPressed(int keycode)
{
if (keycode == Input.Keys.ESCAPE)
{
back();
}
return true;
}
public boolean back() {
AdventureApplicationAdapter.instance.switchToLast();
return true;
}
private void addInputField(String name, ForgePreferences.FPref pref) {
TextField box = Controls.newTextField("");
box.setText(Preference.getPref(pref));
box.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
Preference.setPref(pref, ((TextField) actor).getText());
Preference.save();
}
});
addLabel(name);
settingGroup.add(box).align(Align.right);
}
private void addCheckBox(String name, ForgePreferences.FPref pref) {
CheckBox box = Controls.newCheckBox("");
box.setChecked(Preference.getPrefBoolean(pref));
box.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
Preference.setPref(pref, ((CheckBox) actor).isChecked());
Preference.save();
}
});
addLabel(name);
settingGroup.add(box).align(Align.right);
}
private void addSettingSlider(String name, ForgePreferences.FPref pref, int min,int max) {
Slider slide = Controls.newSlider(min,max, 1, false);
slide.setValue(Preference.getPrefInt(pref));
slide.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
Preference.setPref(pref, String.valueOf((int) ((Slider) actor).getValue()));
Preference.save();
}
});
addLabel(name);
settingGroup.add(slide).align(Align.right);
}
private void addSettingField(String name, boolean value, ChangeListener change) {
CheckBox box = Controls.newCheckBox("");
box.setChecked(value);
box.addListener(change);
addLabel(name);
settingGroup.add(box).align(Align.right);
}
private void addSettingField(String name, int value, ChangeListener change) {
TextField text = Controls.newTextField(String.valueOf(value));
text.setTextFieldFilter(new TextField.TextFieldFilter() {
@Override
public boolean acceptChar(TextField textField, char c) {
return Character.isDigit(c);
}
});
text.addListener(change);
addLabel(name);
settingGroup.add(text).align(Align.right);
}
void addLabel( String name)
{
Label label = new Label(name, Controls.GetSkin().get("white",Label.LabelStyle.class));
settingGroup.row().space(5);
settingGroup.add(label).align(Align.left).fillX();
}
@Override
public void resLoaded() {
super.resLoaded();
settingGroup = new Table();
if (Preference == null) {
Preference = new ForgePreferences();
}
Localizer localizer = Localizer.getInstance();
SelectBox plane = Controls.newComboBox(Config.instance().getAllAdventures(), Config.instance().getSettingData().plane, new Function<Object, Void>() {
@Override
public Void apply(Object o) {
Config.instance().getSettingData().plane= (String) o;
Config.instance().saveSettings();
return null;
}
});
addLabel("Plane");
settingGroup.add(plane).align(Align.right);
addSettingField("Fullscreen", Config.instance().getSettingData().fullScreen, new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
Config.instance().getSettingData().fullScreen=((CheckBox) actor).isChecked();
Config.instance().saveSettings();
}
});
addSettingField("Screen width", Config.instance().getSettingData().width, new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
String text=((TextField) actor).getText();
Config.instance().getSettingData().width=text==null||text.isEmpty()?0:Integer.valueOf(text);
Config.instance().saveSettings();
}
});
addSettingField("Screen height", Config.instance().getSettingData().height, new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
String text=((TextField) actor).getText();
Config.instance().getSettingData().height=text==null||text.isEmpty()?0:Integer.valueOf(text);
Config.instance().saveSettings();
}
});
addCheckBox(localizer.getMessage("lblCardName"), ForgePreferences.FPref.UI_OVERLAY_CARD_NAME);
addSettingSlider(localizer.getMessage("cbAdjustMusicVolume"), ForgePreferences.FPref.UI_VOL_MUSIC,0,100);
addSettingSlider(localizer.getMessage("cbAdjustSoundsVolume"), ForgePreferences.FPref.UI_VOL_SOUNDS, 0,100);
addCheckBox(localizer.getMessage("lblManaCost"), ForgePreferences.FPref.UI_OVERLAY_CARD_MANA_COST);
addCheckBox(localizer.getMessage("lblPowerOrToughness"), ForgePreferences.FPref.UI_OVERLAY_CARD_POWER);
addCheckBox(localizer.getMessage("lblCardID"), ForgePreferences.FPref.UI_OVERLAY_CARD_ID);
addCheckBox(localizer.getMessage("lblAbilityIcon"), ForgePreferences.FPref.UI_OVERLAY_ABILITY_ICONS);
addCheckBox(localizer.getMessage("cbImageFetcher"), ForgePreferences.FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER);
addCheckBox(localizer.getMessage("lblBattlefieldTextureFiltering"), ForgePreferences.FPref.UI_LIBGDX_TEXTURE_FILTERING);
addCheckBox(localizer.getMessage("lblAltZoneTabs"), ForgePreferences.FPref.UI_ALT_PLAYERZONETABS);
addCheckBox(localizer.getMessage("lblAnimatedCardTapUntap"), ForgePreferences.FPref.UI_ANIMATED_CARD_TAPUNTAP);
addCheckBox(localizer.getMessage("lblBorderMaskOption"), ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING);
addCheckBox(localizer.getMessage("lblPreloadExtendedArtCards"), ForgePreferences.FPref.UI_ENABLE_PRELOAD_EXTENDED_ART);
addCheckBox(localizer.getMessage("lblAutoCacheSize"), ForgePreferences.FPref.UI_AUTO_CACHE_SIZE);
addCheckBox(localizer.getMessage("lblDisposeTextures"), ForgePreferences.FPref.UI_ENABLE_DISPOSE_TEXTURES);
addInputField(localizer.getMessage("lblDisposeTextures"), ForgePreferences.FPref.UI_LANGUAGE);
settingGroup.row();
ui.onButtonPress("return", () -> back());
ScrollPane scrollPane = ui.findActor("settings");
scrollPane.setActor(settingGroup);
}
@Override
public void create() {
}
enum ControlTypes {
CheckBox,
Slider,
Resolution
}
}

View File

@@ -0,0 +1,97 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.scenes.scene2d.Actor;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.world.WorldSave;
/**
* First scene after the splash screen
*/
public class StartScene extends UIScene {
Actor saveButton;
Actor resumeButton;
public StartScene()
{
super("ui/start_menu.json");
}
public boolean NewGame() {
AdventureApplicationAdapter.instance.switchScene(SceneType.NewGameScene.instance);
return true;
}
public boolean Save() {
((SaveLoadScene) SceneType.SaveLoadScene.instance).setSaveGame(true);
AdventureApplicationAdapter.instance.switchScene(SceneType.SaveLoadScene.instance);
return true;
}
public boolean Load() {
((SaveLoadScene) SceneType.SaveLoadScene.instance).setSaveGame(false);
AdventureApplicationAdapter.instance.switchScene(SceneType.SaveLoadScene.instance);
return true;
}
public boolean Resume() {
AdventureApplicationAdapter.instance.switchToLast();
return true;
}
public boolean settings() {
AdventureApplicationAdapter.instance.switchScene(forge.adventure.scene.SceneType.SettingsScene.instance);
return true;
}
public boolean Exit() {
Gdx.app.exit();
System.exit(0);
return true;
}
@Override
public void enter() {
saveButton.setVisible(WorldSave.getCurrentSave().getWorld().getData() != null);
resumeButton.setVisible(WorldSave.getCurrentSave().getWorld().getData() != null);
Gdx.input.setInputProcessor(stage); //Start taking input from the ui
}
@Override
public void create() {
}
@Override
public boolean keyPressed(int keycode)
{
if (keycode == Input.Keys.ESCAPE)
{
if(WorldSave.getCurrentSave().getWorld().getData() != null)
Resume();
}
return true;
}
@Override
public void resLoaded() {
super.resLoaded();
ui.onButtonPress("Start", () -> NewGame());
ui.onButtonPress("Load", () -> Load());
ui.onButtonPress("Start", () -> NewGame());
ui.onButtonPress("Save", () -> Save());
ui.onButtonPress("Resume", () -> Resume());
saveButton = ui.findActor("Save");
resumeButton = ui.findActor("Resume");
ui.onButtonPress("Settings", () -> settings());
ui.onButtonPress("Exit", () -> Exit());
saveButton.setVisible(false);
resumeButton.setVisible(false);
}
}

View File

@@ -0,0 +1,91 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.maps.tiled.TiledMap;
import forge.adventure.stage.MapStage;
import forge.adventure.stage.PointOfInterestMapRenderer;
import forge.adventure.util.Config;
import forge.adventure.util.TemplateTmxMapLoader;
import forge.adventure.world.PointOfInterest;
import forge.adventure.world.WorldSave;
/**
* Scene that will render tiled maps.
* Used for towns dungeons etc
*
*/
public class TileMapScene extends HudScene {
TiledMap map;
PointOfInterestMapRenderer tiledMapRenderer;
private String nextMap;
public TileMapScene() {
super(MapStage.getInstance());
tiledMapRenderer = new PointOfInterestMapRenderer((MapStage)stage);
}
@Override
public void dispose() {
if (map != null)
map.dispose();
}
@Override
public void act(float delta)
{
if(map==null)
return;
if(nextMap!=null)
{
load(nextMap);
nextMap=null;
}
stage.act(Gdx.graphics.getDeltaTime());
}
@Override
public void render()
{
if(map==null)
return;
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
tiledMapRenderer.setView(stage.getCamera().combined, 0, 0, Scene.GetIntendedWidth(), Scene.GetIntendedHeight());
tiledMapRenderer.render();
hud.draw();
}
public void load(PointOfInterest point) {
rootPoint=point;
oldMap=point.getData().map;
map = new TemplateTmxMapLoader().load(Config.instance().getFilePath(point.getData().map));
((MapStage)stage).setPointOfInterest(WorldSave.getCurrentSave().getPointOfInterestChanges(point.getID()+oldMap));
stage.GetPlayer().setPosition(0, 0);
WorldSave.getCurrentSave().getWorld().setSeed(point.getSeedOffset());
tiledMapRenderer.loadMap(map,"");
}
PointOfInterest rootPoint;
String oldMap;
private void load(String targetMap) {
map = new TemplateTmxMapLoader().load(Config.instance().getFilePath(targetMap));
((MapStage)stage).setPointOfInterest(WorldSave.getCurrentSave().getPointOfInterestChanges(rootPoint.getID()+targetMap));
stage.GetPlayer().setPosition(0, 0);
WorldSave.getCurrentSave().getWorld().setSeed(rootPoint.getSeedOffset());
tiledMapRenderer.loadMap(map,oldMap);
oldMap=targetMap;
}
public void loadNext(String targetMap) {
nextMap=targetMap;
}
}

View File

@@ -0,0 +1,96 @@
package forge.adventure.scene;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.viewport.StretchViewport;
import forge.adventure.util.Config;
import forge.adventure.util.UIActor;
/**
* Base class for an GUI scene where the elements are loaded from a json file
*/
public class UIScene extends Scene{
protected UIActor ui;
Stage stage;
String uiFile;
public UIScene(String uiFilePath) {
uiFile=uiFilePath;
}
@Override
public void dispose() {
if(stage!=null)
stage.dispose();
}
@Override
public void act(float delta) {
stage.act(delta);
}
@Override
public void render() {
Gdx.gl.glClearColor(0, 0, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
}
public UIActor getUI()
{
return ui;
}
public boolean keyPressed(int keycode)
{
return true;
}
@Override
public void resLoaded() {
stage = new Stage(new StretchViewport(GetIntendedWidth(), GetIntendedHeight())){
@Override
public boolean keyUp(int keycode) {
return keyPressed(keycode);
}
};
ui = new UIActor(Config.instance().getFile(uiFile));
screenImage=ui.findActor("lastScreen");
stage.addActor(ui);
}
Image screenImage;
TextureRegion backgroundTexture;
@Override
public void enter() {
Gdx.input.setInputProcessor(stage); //Start taking input from the ui
if(screenImage!=null)
{
if (backgroundTexture != null)
backgroundTexture.getTexture().dispose();
final Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
final Pixmap potPixmap = new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), Pixmap.Format.RGBA8888);
potPixmap.setBlending(Pixmap.Blending.SourceOver);
potPixmap.drawPixmap(pixmap, 0, 0);
potPixmap.setColor(0,0,0,0.75f);
potPixmap.fillRectangle(0,0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
backgroundTexture = new TextureRegion(new Texture(potPixmap), 0, Gdx.graphics.getHeight(), Gdx.graphics.getWidth(), -Gdx.graphics.getHeight());
screenImage.setDrawable(new TextureRegionDrawable(backgroundTexture));
pixmap.dispose();
potPixmap.dispose();
}
super.enter();
}
}

View File

@@ -0,0 +1,118 @@
package forge.adventure.stage;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.viewport.FitViewport;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.scene.Scene;
import forge.adventure.scene.SceneType;
import forge.adventure.util.Current;
import forge.adventure.util.Config;
import forge.adventure.util.UIActor;
import forge.adventure.world.AdventurePlayer;
import forge.adventure.world.WorldSave;
/**
* Stage to handle everything rendered in the HUD
*/
public class GameHUD extends Stage {
static public GameHUD instance;
private final GameStage gameStage;
private final Image avatar;
private final Image miniMapPlayer;
private final Label lifePoints;
private final Label money;
private Image miniMap;
private GameHUD(GameStage gameStage) {
super(new FitViewport(Scene.GetIntendedWidth(), Scene.GetIntendedHeight()), gameStage.getBatch());
instance = this;
this.gameStage = gameStage;
UIActor ui = new UIActor(Config.instance().getFile("ui/hud.json"));
miniMap = ui.findActor("map");
Pixmap player = new Pixmap(3, 3, Pixmap.Format.RGB888);
player.setColor(1.0f, 0.0f, 0.0f, 1.0f);
player.fill();
miniMapPlayer = new Image(new Texture(player));
avatar = ui.findActor("avatar");
ui.onButtonPress("menu", () -> menu());
ui.onButtonPress("deck", () -> openDeck());
lifePoints = ui.findActor("lifePoints");
lifePoints.setText("20/20");
AdventurePlayer.current().onLifeChange(()-> lifePoints.setText(AdventurePlayer.current().getLife() +"/"+ AdventurePlayer.current().getMaxLife()));
money = ui.findActor("money");
WorldSave.getCurrentSave().getPlayer().onGoldChange(()-> money.setText(String.valueOf(AdventurePlayer.current().getGold()))) ;
miniMap = ui.findActor("map");
addActor(ui);
addActor(miniMapPlayer);
WorldSave.getCurrentSave().onLoad(() -> enter());
}
public static GameHUD getInstance() {
return instance == null ? instance = new GameHUD(WorldStage.getInstance()) : instance;
}
@Override
public boolean touchDown (int screenX, int screenY, int pointer, int button)
{
Vector2 c=new Vector2();
screenToStageCoordinates(c.set(screenX, screenY));
float x=(c.x-miniMap.getX())/miniMap.getWidth();
float y=(c.y-miniMap.getY())/miniMap.getHeight();
if(x>=0&&x<=1.0&&y>=0&&y<=1.0)
{
WorldStage.getInstance().GetPlayer().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
return true;
}
return super.touchDown(screenX,screenY, pointer,button);
}
@Override
public void draw() {
int yPos = (int) gameStage.player.getY();
int xPos = (int) gameStage.player.getX();
act(Gdx.graphics.getDeltaTime()); //act the Hud
super.draw(); //draw the Hud
int xPosMini = (int) (((float) xPos / (float) WorldSave.getCurrentSave().getWorld().getTileSize() / (float) WorldSave.getCurrentSave().getWorld().getWidthInTiles()) * miniMap.getWidth());
int yPosMini = (int) (((float) yPos / (float) WorldSave.getCurrentSave().getWorld().getTileSize() / (float) WorldSave.getCurrentSave().getWorld().getHeightInTiles()) * miniMap.getHeight());
miniMapPlayer.setPosition(miniMap.getX() + xPosMini - 1, miniMap.getY() + yPosMini - 1);
}
Texture miniMapTexture;
public void enter() {
if(miniMapTexture!=null)
miniMapTexture.dispose();
miniMapTexture=new Texture(WorldSave.getCurrentSave().getWorld().getBiomeImage());
miniMap.setDrawable(new TextureRegionDrawable(miniMapTexture));
avatar.setDrawable(new TextureRegionDrawable(Current.player().avatar()));
}
private Object openDeck() {
AdventureApplicationAdapter.instance.switchScene(SceneType.DeckEditScene.instance);
return null;
}
private Object menu() {
gameStage.openMenu();
return null;
}
}

View File

@@ -0,0 +1,343 @@
package forge.adventure.stage;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.viewport.StretchViewport;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.character.MapActor;
import forge.adventure.character.PlayerSprite;
import forge.adventure.scene.Scene;
import forge.adventure.scene.SceneType;
import forge.adventure.world.WorldSave;
/**
* Base class to render a player sprite on a map
* used for the over world and dungeons
*/
public abstract class GameStage extends Stage {
private final OrthographicCamera camera;
Group backgroundSprites;
SpriteGroup foregroundSprites;
PlayerSprite player;
private float touchX = -1;
private float touchY = -1;
private final float timer = 0;
private float animationTimeout = 0;
public void startPause(int i) {
startPause(i,null);
}
public void startPause(int i,Runnable runnable) {
onEndAction=runnable;
animationTimeout=i;
player.setMovementDirection(Vector2.Zero);
}
public boolean isPaused() {
return animationTimeout>0;
}
public GameStage() {
super(new StretchViewport(Scene.GetIntendedWidth(), Scene.GetIntendedHeight(), new OrthographicCamera()));
WorldSave.getCurrentSave().onLoad(() -> {
if(player==null)
return;
foregroundSprites.removeActor(player);
player=null;
GetPlayer();
});
camera = (OrthographicCamera) getCamera();
backgroundSprites = new Group();
foregroundSprites = new SpriteGroup();
addActor(backgroundSprites);
addActor(foregroundSprites);
}
public void setWinner(boolean b) {
}
public void setBounds(float width, float height) {
getViewport().setWorldSize(width, height);
}
public PlayerSprite GetPlayer() {
if (player == null) {
player = new PlayerSprite(this);
foregroundSprites.addActor(player);
}
return player;
}
public SpriteGroup GetSpriteGroup() {
return foregroundSprites;
}
public Group GetBackgroundSprites() {
return backgroundSprites;
}
Runnable onEndAction;
@Override
public final void act(float delta) {
super.act(delta);
if (animationTimeout >= 0) {
animationTimeout -= delta;
return;
}
if(isPaused())
{
return;
}
if (onEndAction != null) {
onEndAction.run();
onEndAction=null;
}
if (touchX >= 0) {
Vector2 target = this.screenToStageCoordinates(new Vector2(touchX, touchY));
target.x -= player.getWidth() / 2f;
Vector2 diff = target.sub(player.pos());
if (diff.len() < 2) {
diff.setZero();
player.stop();
}
player.setMovementDirection(diff);
}
//debug speed up
/*
if (Gdx.input.isKeyPressed(Input.Keys.CONTROL_LEFT))
player.setMoveModifier(20);
else
player.setMoveModifier(1);*/
camera.position.x = Math.min(Math.max(Scene.GetIntendedWidth() / 2f, player.pos().x), getViewport().getWorldWidth() - Scene.GetIntendedWidth() / 2f);
camera.position.y = Math.min(Math.max(Scene.GetIntendedHeight() / 2f, player.pos().y), getViewport().getWorldHeight() - Scene.GetIntendedHeight() / 2f);
onActing(delta);
}
abstract protected void onActing(float delta);
@Override
public boolean keyDown(int keycode) {
super.keyDown(keycode);
if (keycode == Input.Keys.LEFT || keycode == Input.Keys.A)//todo config
{
player.getMovementDirection().x = -1;
}
if (keycode == Input.Keys.RIGHT || keycode == Input.Keys.D)//todo config
{
player.getMovementDirection().x = +1;
}
if (keycode == Input.Keys.UP || keycode == Input.Keys.W)//todo config
{
player.getMovementDirection().y = +1;
}
if (keycode == Input.Keys.DOWN || keycode == Input.Keys.S)//todo config
{
player.getMovementDirection().y = -1;
}
if (keycode == Input.Keys.F5)//todo config
{
GetPlayer().storePos();
WorldSave.getCurrentSave().header.createPreview();
WorldSave.getCurrentSave().quickSave();
}
if (keycode == Input.Keys.F8)//todo config
{
WorldSave.getCurrentSave().quickLoad();
enter();
}
if (keycode == Input.Keys.F12)
{
debugCollision(true);
for (Actor actor : foregroundSprites.getChildren()) {
if (actor instanceof MapActor) {
((MapActor)actor).setBoundDebug(true);
}
}
player.setBoundDebug(true);
}
if (keycode == Input.Keys.F11)
{
debugCollision(false);
for (Actor actor : foregroundSprites.getChildren()) {
if (actor instanceof MapActor) {
((MapActor)actor).setBoundDebug(false);
}
}
player.setBoundDebug(false);
}
if (keycode == Input.Keys.F10)
{
setDebugAll(true);
}
if (keycode == Input.Keys.F9)
{
setDebugAll(false);
}
return true;
}
protected void debugCollision(boolean b) {
}
@Override
public boolean scrolled(float amountX, float amountY) {
if(isPaused())
return true;
camera.zoom += (amountY * 0.03);
if (camera.zoom < 0.2f)
camera.zoom = 0.2f;
if (camera.zoom > 1.5f)
camera.zoom = 1.5f;
return super.scrolled(amountX, amountY);
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
if(isPaused())
return true;
touchX = screenX;
touchY = screenY;
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if(isPaused())
return true;
touchX = screenX;
touchY = screenY;
return true;
}
public void stop() {
touchX = -1;
touchY = -1;
player.stop();
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
stop();
return true;
}
@Override
public boolean keyUp(int keycode) {
if(isPaused())
return true;
if (keycode == Input.Keys.LEFT || keycode == Input.Keys.A || keycode == Input.Keys.RIGHT || keycode == Input.Keys.D)//todo config
{
player.getMovementDirection().x = 0;
if(!player.isMoving())
stop();
}
if (keycode == Input.Keys.UP || keycode == Input.Keys.W || keycode == Input.Keys.DOWN || keycode == Input.Keys.S)//todo config
{
player.getMovementDirection().y = 0;
if(!player.isMoving())
stop();
}
if (keycode == Input.Keys.ESCAPE) {
openMenu();
}
return false;
}
public void openMenu() {
WorldSave.getCurrentSave().header.createPreview();
AdventureApplicationAdapter.instance.switchScene(SceneType.StartScene.instance);
}
public void enter() {
stop();
}
public void leave() {
stop();
}
public boolean isColliding(Rectangle boundingRect)
{
return false;
}
public void prepareCollision(Vector2 pos, Vector2 direction, Rectangle boundingRect)
{
}
public Vector2 adjustMovement( Vector2 direction, Rectangle boundingRect)
{
Vector2 adjDirX=direction.cpy();
Vector2 adjDirY=direction.cpy();
boolean foundX=false;
boolean foundY=false;
while(true)
{
if(!isColliding(new Rectangle(boundingRect.x+adjDirX.x,boundingRect.y+adjDirX.y, boundingRect.width, boundingRect.height)))
{
foundX=true;
break;
}
if(adjDirX.x==0)
break;
if(adjDirX.x>=0)
adjDirX.x=Math.round(Math.max(0,adjDirX.x-1));
else
adjDirX.x=Math.round(Math.max(0,adjDirX.x+1));
}
while(true)
{
if(!isColliding(new Rectangle(boundingRect.x+adjDirY.x,boundingRect.y+adjDirY.y, boundingRect.width, boundingRect.height)))
{
foundY=true;
break;
}
if(adjDirY.y==0)
break;
if(adjDirY.y>=0)
adjDirY.y=Math.round(Math.max(0,adjDirY.y-1));
else
adjDirY.y=Math.round(Math.max(0,adjDirY.y+1));
}
if(foundY&&foundX)
return adjDirX.len()>adjDirY.len()?adjDirX:adjDirY;
else if(foundY)
return adjDirY;
else if(foundX)
return adjDirX;
return Vector2.Zero.cpy();
}
}

View File

@@ -0,0 +1,77 @@
package forge.adventure.stage;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import forge.adventure.data.BiomeSpriteData;
import forge.adventure.world.PointOfInterest;
import forge.adventure.world.WorldSave;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.List;
/**
* Sprite actor that will render trees and rocks on the over world
*/
public class MapSprite extends Actor {
static public int BackgroundLayer = -1;
static public int SpriteLayer = 0;
TextureRegion texture;
public MapSprite(Vector2 pos, TextureRegion sprite) {
texture = sprite;
setPosition(pos.x, pos.y);
setHeight(texture.getRegionHeight());
setWidth(texture.getRegionWidth());
}
public static ArrayList<Actor> GetMapSprites(int chunkX, int chunkY) {
ArrayList<Actor> actorGroup = new ArrayList<>();
List<PointOfInterest> pointsOfInterest = WorldSave.getCurrentSave().getWorld().getPointsOfInterest(chunkX, chunkY);
for (PointOfInterest poi : pointsOfInterest) {
Actor sprite = new PointOfInterestMapSprite(poi);
actorGroup.add(sprite);
}
List<Pair<Vector2, Integer>> objects = WorldSave.getCurrentSave().getWorld().GetMapObjects(chunkX, chunkY);
for (Pair<Vector2, Integer> entry : objects) {
BiomeSpriteData data = WorldSave.getCurrentSave().getWorld().getObject(entry.getValue());
if (data.layer != SpriteLayer)
continue;
Actor sprite = new MapSprite(entry.getKey(), WorldSave.getCurrentSave().getWorld().getData().GetBiomeSprites().getSprite(data.name, (int) entry.getKey().x + (int) entry.getKey().y * 11483));
actorGroup.add(sprite);
}
return actorGroup;
}
public static ArrayList<Actor> GetMapSpritesBackground(int chunkX, int chunkY) {
List<Pair<Vector2, Integer>> objects = WorldSave.getCurrentSave().getWorld().GetMapObjects(chunkX, chunkY);
ArrayList<Actor> actorGroup = new ArrayList<>();
for (Pair<Vector2, Integer> entry : objects) {
BiomeSpriteData data = WorldSave.getCurrentSave().getWorld().getObject(entry.getValue());
if (data.layer != BackgroundLayer)
continue;
Actor sprite = new MapSprite(entry.getKey(), WorldSave.getCurrentSave().getWorld().getData().GetBiomeSprites().getSprite(data.name, (int) entry.getKey().x + (int) entry.getKey().y * 11483));
actorGroup.add(sprite);
}
return actorGroup;
}
//BitmapFont font;
@Override
public void draw(Batch batch, float parentAlpha) {
if (texture == null)
return;
batch.draw(texture, getX(), getY());
//font.draw(batch,String.valueOf(getZIndex()),getX()-(getWidth()/2),getY());
}
}

View File

@@ -0,0 +1,368 @@
package forge.adventure.stage;
import com.badlogic.gdx.maps.MapLayer;
import com.badlogic.gdx.maps.MapObject;
import com.badlogic.gdx.maps.MapProperties;
import com.badlogic.gdx.maps.objects.RectangleMapObject;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.utils.Array;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.character.*;
import forge.adventure.data.RewardData;
import forge.adventure.data.ShopData;
import forge.adventure.data.WorldData;
import forge.adventure.scene.DuelScene;
import forge.adventure.scene.RewardScene;
import forge.adventure.scene.SceneType;
import forge.adventure.util.Config;
import forge.adventure.util.Reward;
import forge.adventure.world.PointOfInterestChanges;
import forge.adventure.world.WorldSave;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Stage to handle tiled maps for points of interests
*/
public class MapStage extends GameStage {
public static MapStage instance;
Array<MapActor> actors = new Array<>();
TiledMap map;
ArrayList<Rectangle>[][] collision;
private float tileHeight;
private float tileWidth;
private float width;
private float height;
MapLayer spriteLayer;
private PointOfInterestChanges changes;
private EnemySprite currentMob;
private final Vector2 oldPosition=new Vector2();//todo
private final Vector2 oldPosition2=new Vector2();
private final Vector2 oldPosition3=new Vector2();
private final Vector2 oldPosition4=new Vector2();
public MapLayer getSpriteLayer()
{
return spriteLayer;
}
public PointOfInterestChanges getChanges()
{
return changes;
}
public static MapStage getInstance() {
return instance == null ? instance = new MapStage() : instance;
}
public void addMapActor(MapObject obj, MapActor newActor) {
newActor.setWidth(Float.parseFloat(obj.getProperties().get("width").toString()));
newActor.setHeight(Float.parseFloat(obj.getProperties().get("height").toString()));
newActor.setX(Float.parseFloat(obj.getProperties().get("x").toString()));
newActor.setY(Float.parseFloat(obj.getProperties().get("y").toString()));
actors.add(newActor);
foregroundSprites.addActor(newActor);
}
public void addMapActor(MapActor newActor) {
actors.add(newActor);
foregroundSprites.addActor(newActor);
}
@Override
public boolean isColliding( Rectangle adjustedBoundingRect)
{
for(Rectangle collision:currentCollidingRectangles)
{
if(collision.overlaps(adjustedBoundingRect))
{
return true;
}
}
return false;
}
final ArrayList<Rectangle> currentCollidingRectangles=new ArrayList<>();
@Override
public void prepareCollision(Vector2 pos, Vector2 direction, Rectangle boundingRect)
{
currentCollidingRectangles.clear();
int x1= (int) (Math.min(boundingRect.x,boundingRect.x+direction.x)/tileWidth);
int y1= (int) (Math.min(boundingRect.y,boundingRect.y+direction.y)/tileHeight);
int x2= (int) (Math.min(boundingRect.x+boundingRect.width,boundingRect.x+boundingRect.width+direction.x)/tileWidth);
int y2= (int) (Math.min(boundingRect.y+boundingRect.height,boundingRect.y+boundingRect.height+direction.y)/tileHeight);
for(int x=x1;x<=x2;x++)
{
for(int y=y1;y<=y2;y++)
{
if(x<0||x>=width||y<0||y>=height)
{
continue;
}
currentCollidingRectangles.addAll(collision[x][y]);
}
}
}
Group collisionGroup;
@Override
protected void debugCollision(boolean b) {
if(collisionGroup==null)
{
collisionGroup=new Group();
for (int x = 0; x < collision.length; x++)
{
for (int y = 0; y < collision[x].length; y++)
{
for(Rectangle rectangle:collision[x][y])
{
MapActor collisionActor=new MapActor();
collisionActor.setBoundDebug(true);
collisionActor.setWidth(rectangle.width);
collisionActor.setHeight(rectangle.height);
collisionActor.setX(rectangle.x);
collisionActor.setY(rectangle.y);
collisionGroup.addActor(collisionActor);
}
}
}
}
if(b)
{
addActor(collisionGroup);
}
else
{
collisionGroup.remove();
}
}
public void loadMap(TiledMap map,String sourceMap) {
this.map=map;
for (MapActor actor : new Array.ArrayIterator<>(actors)) {
actor.remove();
foregroundSprites.removeActor(actor);
}
actors = new Array<>();
width = Float.parseFloat(map.getProperties().get("width").toString());
height = Float.parseFloat(map.getProperties().get("height").toString());
tileHeight = Float.parseFloat(map.getProperties().get("tileheight").toString());
tileWidth = Float.parseFloat(map.getProperties().get("tilewidth").toString());
setBounds(width * tileWidth, height * tileHeight);
collision= new ArrayList[(int) width][(int) height];
GetPlayer().stop();
for(MapLayer layer: map.getLayers())
{
if(layer.getProperties().containsKey("spriteLayer")&&layer.getProperties().get("spriteLayer",boolean.class))
{
spriteLayer=layer;
}
if(layer instanceof TiledMapTileLayer)
{
loadCollision((TiledMapTileLayer)layer);
}
else
{
loadObjects(layer,sourceMap);
}
}
}
private void loadCollision(TiledMapTileLayer layer) {
for(int x=0;x<layer.getWidth();x++)
{
for(int y=0;y<layer.getHeight();y++)
{
if(collision[x][y]==null)
collision[x][y]=new ArrayList<>();
ArrayList<Rectangle> map=collision[x][y];
TiledMapTileLayer.Cell cell=layer.getCell(x,y);
if(cell==null)
continue;
for(MapObject collision:cell.getTile().getObjects())
{
if(collision instanceof RectangleMapObject)
{
Rectangle r=((RectangleMapObject)collision).getRectangle();
map.add(new Rectangle((Math.round(layer.getTileWidth()*x)+r.x),(Math.round(layer.getTileHeight()*y)+r.y),Math.round(r.width),Math.round(r.height)));
}
}
}
}
}
private void loadObjects(MapLayer layer,String sourceMap) {
player.setMoveModifier(2);
for (MapObject obj : layer.getObjects()) {
MapProperties prop=obj.getProperties();
Object typeObject = prop.get("type");
if (typeObject != null) {
String type = prop.get("type",String.class);
int id = prop.get("id",int.class);
if(changes.isObjectDeleted(id))
continue;
switch (type) {
case "entry":
float x=Float.parseFloat(prop.get("x").toString());
float y=Float.parseFloat(prop.get("y").toString());
float w=Float.parseFloat(prop.get("width").toString());
float h=Float.parseFloat(prop.get("height").toString());
EntryActor entry=new EntryActor(this,sourceMap,id,prop.get("teleport").toString(),x,y,w,h,prop.get("direction").toString());
addMapActor(obj, entry);
break;
case "enemy":
EnemySprite mob=new EnemySprite(id, WorldData.getEnemy(prop.get("enemy").toString()));
addMapActor(obj, mob);
break;
case "inn":
addMapActor(obj, new OnCollide(() -> AdventureApplicationAdapter.instance.switchScene(SceneType.InnScene.instance)));
break;
case "exit":
addMapActor(obj, new OnCollide(() -> exit()));
break;
case "shop":
String shopList=prop.get("shopList").toString();
List possibleShops=Arrays.asList(shopList.split(","));
Array<ShopData> shops;
if(possibleShops.size()==0||shopList.equals(""))
shops= WorldData.getShopList();
else
{
shops=new Array<>();
for(ShopData data:new Array.ArrayIterator<>(WorldData.getShopList()))
{
if(possibleShops.contains(data.name))
{
shops.add(data);
}
}
}
if(shops.size==0)
continue;
ShopData data=shops.get(WorldSave.getCurrentSave().getWorld().getRandom().nextInt(shops.size));
Array<Reward> ret=new Array<Reward>();
for(RewardData rdata:new Array.ArrayIterator<>(data.rewards))
{
ret.addAll(rdata.generate(false));
}
ShopActor actor=new ShopActor(this,id,ret);
addMapActor(obj,actor);
if(prop.containsKey("signYOffset")&&prop.containsKey("signXOffset"))
{
try {
TextureSprite sprite=new TextureSprite(Config.instance().getAtlas(data.spriteAtlas).createSprite(data.sprite));
sprite.setX(actor.getX()+Float.parseFloat(prop.get("signXOffset").toString()));
sprite.setY(actor.getY()+Float.parseFloat(prop.get("signYOffset").toString()));
addMapActor(sprite);
}
catch (Exception e)
{
System.err.print("Can not create Texture for "+data.sprite+" Obj:"+data);
}
}
break;
}
}
}
}
public boolean exit() {
AdventureApplicationAdapter.instance.switchScene(SceneType.GameScene.instance);
return true;
}
@Override
public void setWinner(boolean playerWins) {
if (playerWins) {
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
currentMob.setAnimation(CharacterSprite.AnimationTypes.Death);
startPause(1,()->getReward());
} else {
player.setAnimation(CharacterSprite.AnimationTypes.Hit);
currentMob.setAnimation(CharacterSprite.AnimationTypes.Attack);
startPause(1,()->
{
player.setAnimation(CharacterSprite.AnimationTypes.Idle);
currentMob.setAnimation(CharacterSprite.AnimationTypes.Idle);
player.setPosition(oldPosition4);
stop();
currentMob=null;
});
}
}
protected void getReward()
{
((RewardScene)SceneType.RewardScene.instance).loadRewards(currentMob.getRewards(), RewardScene.Type.Loot, null);
currentMob.remove();
actors.removeValue(currentMob,true);
changes.deleteObject(currentMob.getId());
currentMob = null;
AdventureApplicationAdapter.instance.switchScene(SceneType.RewardScene.instance);
}
@Override
protected void onActing(float delta) {
oldPosition4.set(oldPosition3);
oldPosition3.set(oldPosition2);
oldPosition2.set(oldPosition);
oldPosition.set(player.pos());
for (MapActor actor : new Array.ArrayIterator<>(actors)) {
if (actor.collideWithPlayer(player)) {
if(actor instanceof EnemySprite)
{
EnemySprite mob=(EnemySprite) actor;
currentMob=mob;
if(mob.getData().deck==null||mob.getData().deck.isEmpty())
{
currentMob.setAnimation(CharacterSprite.AnimationTypes.Death);
startPause(1,()->getReward());
}
else
{
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
mob.setAnimation(CharacterSprite.AnimationTypes.Attack);
startPause(1,()->
{
((DuelScene) SceneType.DuelScene.instance).setEnemy(mob);
((DuelScene) SceneType.DuelScene.instance).setPlayer(player);
AdventureApplicationAdapter.instance.switchScene(SceneType.DuelScene.instance);
});
}
}
}
}
}
public void setPointOfInterest(PointOfInterestChanges change) {
changes =change;
}
}

View File

@@ -0,0 +1,40 @@
package forge.adventure.stage;
import com.badlogic.gdx.maps.MapLayer;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
/**
* Custom renderer to render the game stage between the map layers of a tiled map
*/
public class PointOfInterestMapRenderer extends OrthogonalTiledMapRenderer {
private final MapStage stage;
public PointOfInterestMapRenderer(MapStage stage) {
super(null,stage.getBatch());
this.stage = stage;
}
@Override
public void render () {
beginRender();
for (MapLayer layer : map.getLayers()) {
renderMapLayer(layer);
if(layer==stage.getSpriteLayer())
{
//end render to draw character sprites
batch.end();
stage.draw();
batch.begin();
}
}
endRender();
}
public void loadMap(TiledMap map,String sourceMap)
{
stage.loadMap(map,sourceMap);
super.setMap(map);
}
}

View File

@@ -0,0 +1,48 @@
package forge.adventure.stage;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.math.Rectangle;
import forge.adventure.world.PointOfInterest;
/**
* MapSprite for points of interest to add a bounding rect for collision detection
*/
public class PointOfInterestMapSprite extends MapSprite {
PointOfInterest pointOfInterest;
Texture debugTexture;
Rectangle boundingRect;
public PointOfInterestMapSprite(PointOfInterest point) {
super(point.getPosition(), point.getSprite());
pointOfInterest = point;
boundingRect = new Rectangle(getX(), getY(), texture.getRegionWidth(), texture.getRegionHeight());
}
public PointOfInterest getPointOfInterest() {
return pointOfInterest;
}
private Texture getDebugTexture() {
if (debugTexture == null) {
Pixmap pixmap = new Pixmap(texture.getRegionWidth(), texture.getRegionHeight(), Pixmap.Format.RGBA8888);
pixmap.setColor(Color.RED);
pixmap.drawRectangle(0, 0, (int) getWidth(), (int) getHeight());
debugTexture = new Texture(pixmap);
pixmap.dispose();
}
return debugTexture;
}
public Rectangle getBoundingRect() {
return boundingRect;
}
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
//batch.draw(getDebugTexture(),getX(),getY());
}
}

View File

@@ -0,0 +1,62 @@
package forge.adventure.stage;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.utils.SnapshotArray;
import java.util.Arrays;
import java.util.Comparator;
/**
* Sprite group to order actors based on the Y position on the map, the render sprites further up first.
*/
public class SpriteGroup extends Group {
/**
* Draws all children. {@link #applyTransform(Batch, Matrix4)} should be called before and {@link #resetTransform(Batch)}
* after this method if {@link #setTransform(boolean) transform} is true. If {@link #setTransform(boolean) transform} is false
* these methods don't need to be called, children positions are temporarily offset by the group position when drawn. This
* method avoids drawing children completely outside the {@link #setCullingArea(Rectangle) culling area}, if set.
*/
@Override
protected void drawChildren(Batch batch, float parentAlpha) {
Actor[] actors = getChildren().toArray();
Arrays.sort(actors, Comparator.comparingInt(o -> (int) -o.getY()));
for(int i=0;i<actors.length;i++)
{
if(i!=actors[i].getZIndex())
actors[i].setZIndex(i);
}
super.drawChildren(batch, parentAlpha);
}
@Override
public void addActor(Actor actor) {
for (Actor child : getChildren()) {
if (child.getY() < actor.getY()) {
super.addActorBefore(child, actor);
return;
}
}
super.addActor(actor);
}
public void UpdateActorZ(Actor actor) {
SnapshotArray<Actor> children = getChildren();
for (int i = 0; i < children.size; i++) {
if (children.get(i).getY() < actor.getY()) {
actor.setZIndex(i);
return;
}
}
actor.setZIndex(children.size);
}
}

View File

@@ -0,0 +1,185 @@
package forge.adventure.stage;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.scenes.scene2d.Actor;
import forge.adventure.world.WorldSave;
import java.awt.*;
import java.util.ArrayList;
/**
* Background for the over world, will get biome information and create chunks based on the terrain.
*/
public class WorldBackground extends Actor {
int chunkSize;
int tileSize;
int playerX;
int playerY;
Texture[][] chunks;
Texture loadingTexture;
ArrayList<Actor>[][] chunksSprites;
ArrayList<Actor>[][] chunksSpritesBackground;
int currentChunkX;
int currentChunkY;
GameStage stage;
public WorldBackground(GameStage gameStage) {
stage = gameStage;
}
public void draw(Batch batch, float parentAlpha) {
if (chunks == null) {
initialize();
}
Point pos = translateFromWorldToChunk(playerX, playerY);
if (currentChunkX != pos.x || currentChunkY != pos.y) {
int xDiff = currentChunkX - pos.x;
int yDiff = currentChunkY - pos.y;
ArrayList<Point> points = new ArrayList<Point>();
for (int x = -1; x < 2; x++) {
for (int y = -1; y < 2; y++) {
points.add(new Point(pos.x + x, pos.y + y));
}
}
for (int x = -1; x < 2; x++) {
for (int y = -1; y < 2; y++) {
Point point = new Point(currentChunkX + x, currentChunkY + y);
if (points.contains(point))// old Point is part of new points
{
points.remove(point);
} else {
if (point.y < 0 || point.x < 0 || point.y >= chunks[0].length || point.x >= chunks.length)
continue;
unLoadChunk(point.x, point.y);
}
}
}
for (Point point : points) {
if (point.y < 0 || point.x < 0 || point.y >= chunks[0].length || point.x >= chunks.length)
continue;
loadChunk(point.x, point.y);
}
currentChunkX = pos.x;
currentChunkY = pos.y;
}
batch.disableBlending();
for (int x = -1; x < 2; x++) {
for (int y = -1; y < 2; y++) {
if (pos.y + y < 0 || pos.x + x < 0 || pos.y >= chunks[0].length || pos.x >= chunks.length)
continue;
batch.draw(getChunkTexture(pos.x + x, pos.y + y), transChunkToWorld(pos.x + x), transChunkToWorld(pos.y + y));
}
}
batch.enableBlending();
}
private void loadChunk(int x, int y) {
if (chunksSprites[x][y] == null)
chunksSprites[x][y] = MapSprite.GetMapSprites(x, y);
for (Actor sprite : chunksSprites[x][y]) {
stage.GetSpriteGroup().addActor(sprite);
}
if (chunksSpritesBackground[x][y] == null)
chunksSpritesBackground[x][y] = MapSprite.GetMapSpritesBackground(x, y);
for (Actor sprite : chunksSpritesBackground[x][y]) {
stage.GetBackgroundSprites().addActor(sprite);
}
}
private void unLoadChunk(int x, int y) {
ArrayList<Actor> sprites = chunksSprites[x][y];
if (sprites != null) {
for (Actor sprite : sprites) {
stage.GetSpriteGroup().removeActor(sprite);
}
}
sprites = chunksSpritesBackground[x][y];
if (sprites != null) {
for (Actor sprite : sprites) {
stage.GetSpriteGroup().removeActor(sprite);
}
}
}
public Texture getChunkTexture(int x, int y) {
Texture tex = chunks[x][y];
if (tex == null) {
Texture newChunk = new Texture(chunkSize * tileSize, chunkSize * tileSize, Pixmap.Format.RGB888);
for (int cx = 0; cx < chunkSize; cx++) {
for (int cy = 0; cy < chunkSize; cy++) {
newChunk.draw(WorldSave.getCurrentSave().getWorld().getBiomeSprite(cx + chunkSize * x, cy + chunkSize * y), cx * tileSize, (chunkSize * tileSize) - (cy + 1) * tileSize);
}
}
chunks[x][y] = newChunk;
}
return chunks[x][y];
}
public void initialize() {
tileSize = WorldSave.getCurrentSave().getWorld().getTileSize();
chunkSize = WorldSave.getCurrentSave().getWorld().getChunkSize();
if(chunks!=null)
{
stage.GetSpriteGroup().clear();
for(int i=0;i<chunks.length;i++)
for(int j=0;j<chunks[i].length;j++)
if(chunks[i][j]!=null)
chunks[i][j].dispose();
}
chunks = new Texture[WorldSave.getCurrentSave().getWorld().getWidthInTiles()][WorldSave.getCurrentSave().getWorld().getHeightInTiles()];
ArrayList[][] createChunks = new ArrayList[WorldSave.getCurrentSave().getWorld().getWidthInTiles()][WorldSave.getCurrentSave().getWorld().getHeightInTiles()];
chunksSprites = createChunks;
ArrayList[][] createSprites = new ArrayList[WorldSave.getCurrentSave().getWorld().getWidthInTiles()][WorldSave.getCurrentSave().getWorld().getHeightInTiles()];
chunksSpritesBackground = createSprites;
if(loadingTexture==null)
{
Pixmap loadPix = new Pixmap(chunkSize * tileSize, chunkSize * tileSize, Pixmap.Format.RGB565);
loadPix.setColor(0.5f, 0.5f, 0.5f, 1);
loadPix.fill();
loadingTexture = new Texture(loadPix);
}
for (int x = -1; x < 2; x++) {
for (int y = -1; y < 2; y++) {
Point point = new Point(currentChunkX + x, currentChunkY + y);
if (point.y < 0 || point.x < 0 || point.y >= chunks[0].length || point.x >= chunks.length)
continue;
loadChunk(point.x, point.y);
}
}
}
@Override
public void clear() {
super.clear();
initialize();
}
int transChunkToWorld(int xy) {
return xy * tileSize * chunkSize;
}
Point translateFromWorldToChunk(float x, float y) {
float worldWidthTiles = x / tileSize;
float worldHeightTiles = y / tileSize;
return new Point((int) worldWidthTiles / chunkSize, (int) worldHeightTiles / chunkSize);
}
public void setPlayerPos(float x, float y) {
playerX = (int) x;
playerY = (int) y;
}
}

View File

@@ -0,0 +1,289 @@
package forge.adventure.stage;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import forge.adventure.AdventureApplicationAdapter;
import forge.adventure.character.CharacterSprite;
import forge.adventure.character.EnemySprite;
import forge.adventure.data.BiomeData;
import forge.adventure.data.EnemyData;
import forge.adventure.data.WorldData;
import forge.adventure.scene.*;
import forge.adventure.util.Current;
import forge.adventure.util.SaveFileContent;
import forge.adventure.util.SaveFileData;
import forge.adventure.world.World;
import forge.adventure.world.WorldSave;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
/**
* Stage for the over world. Will handle monster spawns
*/
public class WorldStage extends GameStage implements SaveFileContent {
private static WorldStage instance=null;
protected EnemySprite currentMob;
protected Random rand = new Random();
WorldBackground background;
private float spawnDelay = 0;
private final float spawnInterval = 4;//todo config
private PointOfInterestMapSprite collidingPoint;
protected ArrayList<Pair<Float, EnemySprite>> enemies = new ArrayList<>();
private final Float dieTimer=20f;//todo config
private Float globalTimer=0f;
public WorldStage() {
super();
background = new WorldBackground(this);
addActor(background);
background.setZIndex(0);
}
public static WorldStage getInstance() {
return instance == null ? instance = new WorldStage() : instance;
}
@Override
protected void onActing(float delta) {
if (player.isMoving()) {
HandleMonsterSpawn(delta);
handlePointsOfInterestCollision();
globalTimer+=delta;
Iterator<Pair<Float, EnemySprite>> it = enemies.iterator();
while (it.hasNext()) {
Pair<Float, EnemySprite> pair= it.next();
if(globalTimer>=pair.getKey()+dieTimer)
{
foregroundSprites.removeActor(pair.getValue());
it.remove();
continue;
}
EnemySprite mob=pair.getValue();
mob.moveTo(player,delta);
if (player.collideWith(mob)) {
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
mob.setAnimation(CharacterSprite.AnimationTypes.Attack);
startPause(1,()->{
((DuelScene) SceneType.DuelScene.instance).setEnemy(currentMob);
((DuelScene) SceneType.DuelScene.instance).setPlayer(player);
AdventureApplicationAdapter.instance.switchScene(SceneType.DuelScene.instance);
});
currentMob = mob;
WorldSave.getCurrentSave().autoSave();
break;
}
}
} else {
for (Pair<Float, EnemySprite> pair : enemies) {
pair.getValue().setAnimation(CharacterSprite.AnimationTypes.Idle);
}
}
}
private void removeEnemy(EnemySprite currentMob) {
foregroundSprites.removeActor(currentMob);
Iterator<Pair<Float, EnemySprite>> it = enemies.iterator();
while (it.hasNext()) {
Pair<Float, EnemySprite> pair = it.next();
if (pair.getValue()==currentMob) {
it.remove();
return;
}
}
}
@Override
public void setWinner(boolean playerIsWinner) {
if (playerIsWinner) {
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
currentMob.setAnimation(CharacterSprite.AnimationTypes.Death);
startPause(1,()->
{
((RewardScene)SceneType.RewardScene.instance).loadRewards(currentMob.getRewards(), RewardScene.Type.Loot, null);
removeEnemy(currentMob);
currentMob = null;
AdventureApplicationAdapter.instance.switchScene(SceneType.RewardScene.instance);
} );
} else {
player.setAnimation(CharacterSprite.AnimationTypes.Hit);
currentMob.setAnimation(CharacterSprite.AnimationTypes.Attack);
startPause(1,()->
{
Current.player().defeated();
removeEnemy(currentMob);
currentMob = null;
} );
}
}
private void handlePointsOfInterestCollision() {
for (Actor actor : foregroundSprites.getChildren()) {
if (actor.getClass() == PointOfInterestMapSprite.class) {
PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor;
if (player.collideWith(point.getBoundingRect())) {
if (point == collidingPoint) {
continue;
}
((TileMapScene) SceneType.TileMapScene.instance).load(point.getPointOfInterest());
AdventureApplicationAdapter.instance.switchScene(SceneType.TileMapScene.instance);
} else {
if (point == collidingPoint) {
collidingPoint = null;
}
}
}
}
}
@Override
public boolean isColliding(Rectangle boundingRect)
{
World world = WorldSave.getCurrentSave().getWorld();
int currentBiome = World.highestBiome(world.getBiome((int) boundingRect.getX() / world.getTileSize(), (int) boundingRect.getY() / world.getTileSize()));
if(currentBiome==0)
return true;
currentBiome = World.highestBiome(world.getBiome((int) (boundingRect.getX()+boundingRect.getWidth()) / world.getTileSize(), (int) boundingRect.getY() / world.getTileSize()));
if(currentBiome==0)
return true;
currentBiome = World.highestBiome(world.getBiome((int) (boundingRect.getX()+boundingRect.getWidth())/ world.getTileSize(), (int) (boundingRect.getY()+boundingRect.getHeight()) / world.getTileSize()));
if(currentBiome==0)
return true;
currentBiome = World.highestBiome(world.getBiome((int) boundingRect.getX() / world.getTileSize(), (int) (boundingRect.getY()+boundingRect.getHeight()) / world.getTileSize()));
return (currentBiome==0);
}
private void HandleMonsterSpawn(float delta) {
World world = WorldSave.getCurrentSave().getWorld();
int currentBiome = World.highestBiome(world.getBiome((int) player.getX() / world.getTileSize(), (int) player.getY() / world.getTileSize()));
List<BiomeData> biomeData = WorldSave.getCurrentSave().getWorld().getData().GetBiomes();
if (biomeData.size() <= currentBiome)
{
player.setMoveModifier(1.5f);
return;
}
player.setMoveModifier(1.0f);
BiomeData data = biomeData.get(currentBiome);
if (data == null)
return;
ArrayList<EnemyData> list = data.getEnemyList();
if (list == null)
return;
spawnDelay -= delta;
if(spawnDelay>=0)
return;
spawnDelay=spawnInterval+(rand.nextFloat()*4);
EnemyData enemyData = data.getEnemy( 1);
if (enemyData == null) {
return;
}
EnemySprite sprite = new EnemySprite(enemyData);
float unit = Scene.GetIntendedHeight() / 6f;
Vector2 spawnPos = new Vector2(1, 1);
spawnPos.setLength(unit + (unit * 3) * rand.nextFloat());
spawnPos.setAngleDeg(360 * rand.nextFloat());
sprite.setX(player.getX() + spawnPos.x);
sprite.setY(player.getY() + spawnPos.y);
enemies.add(Pair.of(globalTimer,sprite));
foregroundSprites.addActor(sprite);
}
@Override
public void draw() {
getBatch().begin();
background.setPlayerPos(player.getX(), player.getY());
getBatch().end();
//spriteGroup.setCullingArea(new Rectangle(player.getX()-getViewport().getWorldHeight()/2,player.getY()-getViewport().getWorldHeight()/2,getViewport().getWorldHeight(),getViewport().getWorldHeight()));
super.draw();
}
@Override
public void enter() {
GetPlayer().LoadPos();
GetPlayer().setMovementDirection(Vector2.Zero);
for (Actor actor : foregroundSprites.getChildren()) {
if (actor.getClass() == PointOfInterestMapSprite.class) {
PointOfInterestMapSprite point = (PointOfInterestMapSprite) actor;
if (player.collideWith(point.getBoundingRect())) {
collidingPoint = point;
}
}
}
setBounds(WorldSave.getCurrentSave().getWorld().getWidthInPixels(), WorldSave.getCurrentSave().getWorld().getHeightInPixels());
}
@Override
public void leave() {
GetPlayer().storePos();
}
@Override
public void load(SaveFileData data) {
try {
for(Pair<Float, EnemySprite> enemy:enemies)
foregroundSprites.removeActor(enemy.getValue());
enemies.clear();
background.clear();
List<Float> timeouts= (List<Float>) data.readObject("timeouts");
List<String> names = (List<String>) data.readObject("names");
List<Float> x = (List<Float>) data.readObject("x");
List<Float> y = (List<Float>) data.readObject("y");
for(int i=0;i<timeouts.size();i++)
{
EnemySprite sprite = new EnemySprite(WorldData.getEnemy(names.get(i)));
sprite.setX(x.get(i));
sprite.setY(y.get(i));
enemies.add(Pair.of(timeouts.get(i),sprite));
foregroundSprites.addActor(sprite);
}
globalTimer=data.readFloat("globalTimer");
}
catch (Exception e)
{
}
}
@Override
public SaveFileData save() {
SaveFileData data=new SaveFileData();
List<Float> timeouts=new ArrayList<>();
List<String> names=new ArrayList<>();
List<Float> x=new ArrayList<>();
List<Float> y=new ArrayList<>();
for(Pair<Float, EnemySprite> enemy:enemies)
{
timeouts.add(enemy.getKey());
names.add(enemy.getValue().getData().name);
x.add(enemy.getValue().getX());
y.add(enemy.getValue().getY());
}
data.storeObject("timeouts",timeouts);
data.storeObject("names",names);
data.storeObject("x",x);
data.storeObject("y",y);
data.store("globalTimer",globalTimer);
return data;
}
}

View File

@@ -0,0 +1,502 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Json;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import forge.adventure.data.GeneratedDeckData;
import forge.adventure.data.GeneratedDeckTemplateData;
import forge.adventure.data.RewardData;
import forge.adventure.world.WorldSave;
import forge.card.CardRarity;
import forge.card.CardType;
import forge.card.MagicColor;
import forge.card.mana.ManaCostShard;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.deck.io.DeckSerializer;
import forge.item.PaperCard;
import forge.model.FModel;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.regex.Pattern;
import static forge.adventure.data.RewardData.*;
/**
* Utility class to deck generation and card filtering
*/
public class CardUtil {
public static final class CardPredicate implements Predicate<PaperCard> {
enum ColorType
{
Any,
Colorless,
MultiColor,
MonoColor
}
private final List<CardRarity> rarities=new ArrayList<>();
private final List<String> editions=new ArrayList<>();
private final List<String> subType=new ArrayList<>();
private final List<String> keyWords=new ArrayList<>();
private final List<CardType.CoreType> type=new ArrayList<>();
private final List<CardType.Supertype> superType=new ArrayList<>();
private final List<Integer> manaCosts =new ArrayList<>();
private final Pattern text;
private final boolean matchAllSubTypes;
private int colors;
private final ColorType colorType;
private final boolean shouldBeEqual;
@Override
public boolean apply(final PaperCard card) {
if(!this.rarities.isEmpty()&&!this.rarities.contains(card.getRarity()))
return !this.shouldBeEqual;
if(!this.editions.isEmpty()&&!this.editions.contains(card.getEdition()))
return !this.shouldBeEqual;
if(!this.manaCosts.isEmpty()&&!this.manaCosts.contains(card.getRules().getManaCost().getCMC()))
return !this.shouldBeEqual;
if(this.text!=null&& !this.text.matcher(card.getRules().getOracleText()).find())
return !this.shouldBeEqual;
if(this.colors!= MagicColor.ALL_COLORS)
{
if(!card.getRules().getColor().hasNoColorsExcept(this.colors)||card.getRules().getColor().isColorless())
return !this.shouldBeEqual;
}
if(colorType!=ColorType.Any)
{
switch (colorType)
{
case Colorless:
if(!card.getRules().getColor().isColorless())
return !this.shouldBeEqual;
break;
case MonoColor:
if(!card.getRules().getColor().isMonoColor())
return !this.shouldBeEqual;
break;
case MultiColor:
if(!card.getRules().getColor().isMulticolor())
return !this.shouldBeEqual;
break;
}
}
if(!this.type.isEmpty())
{
boolean found=false;
for(CardType.CoreType type:card.getRules().getType().getCoreTypes())
{
if(this.type.contains(type))
{
found=true;
break;
}
}
if(!found)
return !this.shouldBeEqual;
}
if(!this.superType.isEmpty())
{
boolean found=false;
for(CardType.Supertype type:card.getRules().getType().getSupertypes())
{
if(this.superType.contains(type))
{
found=true;
break;
}
}
if(!found)
return !this.shouldBeEqual;
}
if(this.matchAllSubTypes)
{
if(!this.subType.isEmpty())
{
if(this.subType.size()!= Iterables.size(card.getRules().getType().getSubtypes()))
return !this.shouldBeEqual;
for(String subtype:card.getRules().getType().getSubtypes())
{
if(!this.subType.contains(subtype))
{
return !this.shouldBeEqual;
}
}
}
}
else
{
if(!this.subType.isEmpty())
{
boolean found=false;
for(String subtype:card.getRules().getType().getSubtypes())
{
if(this.subType.contains(subtype))
{
found=true;
break;
}
}
if(!found)
return !this.shouldBeEqual;
}
}
if(!this.keyWords.isEmpty())
{
boolean found=false;
for(String keyWord:this.keyWords)
{
if(card.getRules().hasKeyword(keyWord))
{
found=true;
break;
}
}
if(!found)
return !this.shouldBeEqual;
}
return this.shouldBeEqual;
}
public CardPredicate(final RewardData type, final boolean wantEqual) {
this.matchAllSubTypes=type.matchAllSubTypes;
this.shouldBeEqual = wantEqual;
for(int i=0;type.manaCosts!=null&&i<type.manaCosts.length;i++)
manaCosts.add(type.manaCosts[i]);
text = type.cardText==null||type.cardText.isEmpty()?null:Pattern.compile(type.cardText, Pattern.CASE_INSENSITIVE);
if(type.colors==null||type.colors.length==0)
{
this.colors=MagicColor.ALL_COLORS;
}
else
{
this.colors=0;
for(String color:type.colors)
{
colors|=MagicColor.fromName(color.toLowerCase());
}
}
if(type.keyWords!=null&&type.keyWords.length!=0)
{
keyWords.addAll(Arrays.asList(type.keyWords));
}
if(type.rarity!=null&&type.rarity.length!=0)
{
for(String rarity:type.rarity)
{
rarities.add(CardRarity.smartValueOf(rarity));
}
}
if(type.subTypes!=null&&type.subTypes.length!=0)
{
subType.addAll(Arrays.asList(type.subTypes));
}
if(type.editions!=null&&type.editions.length!=0)
{
editions.addAll(Arrays.asList(type.editions));
}
if(type.superTypes!=null&&type.superTypes.length!=0)
{
for(String string:type.superTypes)
superType.add(CardType.Supertype.getEnum(string));
}
if(type.cardTypes!=null&&type.cardTypes.length!=0)
{
for(String string:type.cardTypes)
this.type.add(CardType.CoreType.getEnum(string));
}
if(type.colorType!=null&&!type.colorType.isEmpty())
{
this.colorType=ColorType.valueOf(type.colorType);
}
else
{
this.colorType=ColorType.Any;
}
}
}
public static List<PaperCard> generateCards(Iterable<PaperCard> cards,final RewardData data, final int count)
{
final List<PaperCard> result = new ArrayList<>();
for (int i=0;i<count;i++) {
CardPredicate pre=new CardPredicate(data, true);
PaperCard card = null;
int lowest = Integer.MAX_VALUE;
for (final PaperCard item : cards)
{
if(!pre.apply(item))
continue;
int next = WorldSave.getCurrentSave().getWorld().getRandom().nextInt();
if(next < lowest) {
lowest = next;
card = item;
}
}
if (card != null )
result.add(card);
}
return result;
}
public static int getCardPrice(PaperCard card)
{
switch (card.getRarity())
{
case BasicLand:
return 20;
case Common:
return 50;
case Uncommon:
return 150;
case Rare:
return 300;
case MythicRare:
return 500;
default:
return 600;
}
}
public static Deck generateDeck(GeneratedDeckData data)
{
Deck deck= new Deck(data.name);
if(data.template==null)
{
deck.getOrCreate(DeckSection.Main).addAllFlat(generateAllCards(Arrays.asList(data.mainDeck), true));
if(data.sideBoard!=null)
deck.getOrCreate(DeckSection.Sideboard).addAllFlat(generateAllCards(Arrays.asList(data.sideBoard), true));
return deck;
}
float count=data.template.count;
float lands=count*0.4f;
float spells=count-lands;
List<RewardData> dataArray= generateRewards(data.template,spells*0.5f,new int[]{1,2});
dataArray.addAll(generateRewards(data.template,spells*0.3f,new int[]{3,4,5}));
dataArray.addAll(generateRewards(data.template,spells*0.2f,new int[]{6,7,8}));
List<PaperCard> nonLand= generateAllCards(dataArray, true);
nonLand.addAll(fillWithLands(nonLand,data.template));
deck.getOrCreate(DeckSection.Main).addAllFlat(nonLand);
return deck;
}
private static List<PaperCard> fillWithLands(List<PaperCard> nonLands, GeneratedDeckTemplateData template) {
int red=0;
int blue=0;
int green=0;
int white=0;
int black=0;
int colorLess=0;
int cardCount=nonLands.size();
List<PaperCard> cards=new ArrayList<>();
for(PaperCard nonLand:nonLands)
{
red+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.RED);
green+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.GREEN);
white+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.WHITE);
blue+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.BLUE);
black+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.BLACK);
colorLess+=nonLand.getRules().getManaCost().getShardCount(ManaCostShard.GENERIC);
}
float sum= red+ blue+ green+ white+ black;
int neededLands=template.count-cardCount;
int neededDualLands= Math.round (neededLands*template.rares);
int neededBase=neededLands-neededDualLands;
if(sum==0.)
{
cards.addAll(generateLands("Wastes",neededLands));
}
else
{
int mount=Math.round(neededBase*(red/sum));
int island=Math.round(neededBase*(blue/sum));
int forest=Math.round(neededBase*(green/sum));
int plains=Math.round(neededBase*(white/sum));
int swamp=Math.round(neededBase*(black/sum));
cards.addAll(generateLands("Plains",plains));
cards.addAll(generateLands("Island",island));
cards.addAll(generateLands("Forest",forest));
cards.addAll(generateLands("Mountain",mount));
cards.addAll(generateLands("Swamp",swamp));
List<String> landTypes=new ArrayList<>();
if(mount>0)
landTypes.add("Mountain");
if(island>0)
landTypes.add("Island");
if(plains>0)
landTypes.add("Plains");
if(swamp>0)
landTypes.add("Swamp");
if(forest>0)
landTypes.add("Forest");
cards.addAll(generateDualLands(landTypes,neededDualLands));
}
return cards;
}
private static Collection<PaperCard> generateDualLands(List<String> landName, int count) {
ArrayList<RewardData> rewards=new ArrayList<>();
RewardData base= new RewardData();
rewards.add(base);
base.cardTypes=new String[]{"Land"};
base.count=count;
base.matchAllSubTypes=true;
if(landName.size()==1)
{
base.subTypes=new String[]{landName.get(0)};
}
else if(landName.size()==2)
{
base.subTypes=new String[]{landName.get(0),landName.get(1)};
}
else if(landName.size()==3)
{
RewardData sub1= new RewardData(base);
RewardData sub2= new RewardData(base);
sub1.count/=3;
sub2.count/=3;
base.count-=sub1.count;
base.count-=sub2.count;
base.subTypes=new String[]{landName.get(0),landName.get(1)};
sub1.subTypes=new String[]{landName.get(1),landName.get(2)};
sub2.subTypes=new String[]{landName.get(0),landName.get(2)};
rewards.addAll(Arrays.asList(sub1,sub2));
}
else if(landName.size()==4)
{
RewardData sub1= new RewardData(base);
RewardData sub2= new RewardData(base);
RewardData sub3= new RewardData(base);
RewardData sub4= new RewardData(base);
sub1.count/=5;
sub2.count/=5;
sub3.count/=5;
sub4.count/=5;
base.count-=sub1.count;
base.count-=sub2.count;
base.count-=sub3.count;
base.count-=sub4.count;
base.subTypes = new String[]{landName.get(0),landName.get(1)};
sub1.subTypes = new String[]{landName.get(0),landName.get(2)};
sub2.subTypes = new String[]{landName.get(0),landName.get(3)};
sub3.subTypes = new String[]{landName.get(1),landName.get(2)};
sub4.subTypes = new String[]{landName.get(1),landName.get(3)};
rewards.addAll(Arrays.asList(sub1,sub2,sub3,sub4));
}
else if(landName.size()==5)
{
RewardData sub1= new RewardData(base);
RewardData sub2= new RewardData(base);
RewardData sub3= new RewardData(base);
RewardData sub4= new RewardData(base);
RewardData sub5= new RewardData(base);
RewardData sub6= new RewardData(base);
RewardData sub7= new RewardData(base);
RewardData sub8= new RewardData(base);
RewardData sub9= new RewardData(base);
sub1.count/=10;
sub2.count/=10;
sub3.count/=10;
sub4.count/=10;
sub5.count/=10;
sub6.count/=10;
sub7.count/=10;
sub8.count/=10;
sub9.count/=10;
base.count-=sub1.count;
base.count-=sub2.count;
base.count-=sub3.count;
base.count-=sub4.count;
base.count-=sub5.count;
base.count-=sub6.count;
base.count-=sub7.count;
base.count-=sub8.count;
base.count-=sub9.count;
base.subTypes=new String[]{landName.get(0),landName.get(1)};
sub1.subTypes=new String[]{landName.get(0),landName.get(2)};
sub2.subTypes=new String[]{landName.get(0),landName.get(3)};
sub3.subTypes=new String[]{landName.get(0),landName.get(4)};
sub4.subTypes=new String[]{landName.get(1),landName.get(2)};
sub5.subTypes=new String[]{landName.get(1),landName.get(3)};
sub6.subTypes=new String[]{landName.get(1),landName.get(4)};
sub7.subTypes=new String[]{landName.get(2),landName.get(3)};
sub8.subTypes=new String[]{landName.get(2),landName.get(4)};
sub9.subTypes=new String[]{landName.get(3),landName.get(4)};
rewards.addAll(Arrays.asList(sub1,sub2,sub3,sub4,sub5,sub6,sub7,sub8,sub9));
}
Collection<PaperCard> ret = new ArrayList<>(generateAllCards(rewards, true));
return ret;
}
private static Collection<PaperCard> generateLands(String landName,int count) {
Collection<PaperCard> ret=new ArrayList<>();
for(int i=0;i<count;i++)
ret.add(FModel.getMagicDb().getCommonCards().getCard(landName));
return ret;
}
private static List<RewardData> generateRewards(GeneratedDeckTemplateData template, float count, int[] manaCosts) {
ArrayList<RewardData> ret=new ArrayList<>();
ret.addAll(templateGenerate(template,count-(count*template.rares),manaCosts,new String[]{"Uncommon","Common"}));
ret.addAll(templateGenerate(template,count*template.rares,manaCosts,new String[]{"Rare","Mythic Rare"}));
return ret;
}
private static ArrayList<RewardData> templateGenerate(GeneratedDeckTemplateData template, float count, int[] manaCosts, String[] strings) {
ArrayList<RewardData> ret=new ArrayList<>();
RewardData base= new RewardData();
base.manaCosts=manaCosts;
base.rarity=strings;
base.colors=template.colors;
if(template.tribe!=null&&!template.tribe.isEmpty())
{
RewardData caresAbout= new RewardData(base);
caresAbout.cardText="\\b"+template.tribe+"\\b";
caresAbout.count= Math.round(count*template.tribeSynergyCards);
ret.add(caresAbout);
base.subTypes=new String[]{template.tribe};
base.count= Math.round(count*(1-template.tribeSynergyCards));
}
else
{
base.count= Math.round(count);
}
ret.add(base);
return ret;
}
public static Deck getDeck(String path)
{
if(path.endsWith(".dck"))
return DeckSerializer.fromFile(new File(Config.instance().getFilePath(path)));
Json json = new Json();
FileHandle handle = Config.instance().getFile(path);
if (handle.exists())
return generateDeck(json.fromJson(GeneratedDeckData.class, handle));
return null;
}
}

View File

@@ -0,0 +1,139 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonWriter;
import forge.adventure.data.ConfigData;
import forge.adventure.data.SettingData;
import forge.deck.Deck;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgeProfileProperties;
import forge.model.FModel;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
/**
* Main resource class to access files from the selected adventure
*/
public class Config {
private static Config currentConfig;
private final String prefix;
private final HashMap<String, FileHandle> Cache = new HashMap<String, FileHandle>();
private final HashMap<String, TextureAtlas> atlasCache = new HashMap<>();
private final ConfigData configData;
private final String[] adventures;
private SettingData settingsData;
private String Lang = "en-us";
private final String plane;
static public Config instance()
{
if(currentConfig==null)
currentConfig=new Config();
return currentConfig;
}
private Config() {
String path= Files.exists(Paths.get("./res"))?"./":"../forge-gui/";
adventures = new File(path + "/res/adventure").list();
try
{
settingsData = new Json().fromJson(SettingData.class, new FileHandle(ForgeConstants.USER_DIR + "/adventure/settings.json"));
}
catch (Exception e)
{
settingsData=new SettingData();
}
if(settingsData.plane==null||settingsData.plane.isEmpty())
{
if(adventures!=null&&adventures.length>=1)
settingsData.plane=adventures[0];
}
if(settingsData.width==0||settingsData.height==0)
{
settingsData.width=1280;
settingsData.height=720;
}
this.plane = settingsData.plane;
currentConfig = this;
prefix = path + "/res/adventure/" + plane + "/";
if (FModel.getPreferences() != null)
Lang = FModel.getPreferences().getPref(ForgePreferences.FPref.UI_LANGUAGE);
configData = new Json().fromJson(ConfigData.class, new FileHandle(prefix + "config.json"));
}
public ConfigData getConfigData() {
return configData;
}
public String getPrefix() {
return prefix;
}
public String getFilePath(String path) {
return prefix + path;
}
public FileHandle getFile(String path) {
String fullPath = prefix + path;
if (!Cache.containsKey(fullPath)) {
String fileName = fullPath.replaceFirst("[.][^.]+$", "");
String ext = fullPath.substring(fullPath.lastIndexOf('.'));
String langFile = fileName + "-" + Lang + ext;
if (Files.exists(Paths.get(langFile))) {
Cache.put(fullPath, new FileHandle(langFile));
} else {
Cache.put(fullPath, new FileHandle(fullPath));
}
}
return Cache.get(fullPath);
}
public String getPlane() {
return plane;
}
public Deck[] starterDecks() {
Deck[] deck = new Deck[configData.starterDecks.length];
for (int i = 0; i < configData.starterDecks.length; i++) {
deck[i] = CardUtil.getDeck(configData.starterDecks[i]);
}
return deck;
}
public TextureAtlas getAtlas(String spriteAtlas) {
if (!atlasCache.containsKey(spriteAtlas)) {
atlasCache.put(spriteAtlas, new TextureAtlas(getFile(spriteAtlas)));
}
return atlasCache.get(spriteAtlas);
}
public SettingData getSettingData()
{
return settingsData;
}
public String[] getAllAdventures()
{
return adventures;
}
public void saveSettings() {
Json json = new Json(JsonWriter.OutputType.json);
FileHandle handle = new FileHandle(ForgeProfileProperties.getUserDir() + "/adventure/settings.json");
handle.writeString(json.prettyPrint(json.toJson(settingsData, SettingData.class)),false);
}
}

View File

@@ -0,0 +1,129 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import java.util.function.Function;
/**
* Class to create ui elements in the correct style
*/
public class Controls {
private static Skin SelectedSkin = null;
static public TextButton newTextButton(String text) {
return new TextButton(text, GetSkin());
}
static public SelectBox newComboBox(String[] text, String item, Function<Object, Void> func) {
SelectBox ret = new SelectBox<String>(GetSkin());
ret.setItems(text);
ret.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
try {
func.apply(((SelectBox) actor).getSelected());
} catch (Exception e) {
e.printStackTrace();
}
}
});
func.apply(item);
ret.setSelected(item);
return ret;
}
static public TextField newTextField(String text) {
return new TextField(text, GetSkin());
}
static public TextField newTextField(String text, Function<String, Void> func) {
TextField ret = new TextField(text, GetSkin());
ret.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
try {
func.apply(((TextField) actor).getText());
} catch (Exception e) {
e.printStackTrace();
}
}
});
return ret;
}
static public TextButton newTextButton(String text, Runnable func) {
TextButton ret = newTextButton(text);
ret.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
try {
func.run();
} catch (Exception e) {
e.printStackTrace();
}
}
});
return ret;
}
static public Slider newSlider(float min, float max, float step, boolean vertical) {
Slider ret = new Slider(min, max, step, vertical, GetSkin());
return ret;
}
static public CheckBox newCheckBox(String text) {
CheckBox ret = new CheckBox(text, GetSkin());
return ret;
}
static public BitmapFont bigFont()
{
return SelectedSkin.getFont("big");
}
static public BitmapFont font()
{
return SelectedSkin.getFont("default");
}
static public Skin GetSkin() {
if (SelectedSkin == null) {
SelectedSkin = new Skin();
FileHandle skinFile = Config.instance().getFile(Paths.SKIN);
FileHandle atlasFile = skinFile.sibling(skinFile.nameWithoutExtension() + ".atlas");
TextureAtlas atlas = new TextureAtlas(atlasFile);
SelectedSkin.addRegions(atlas);
SelectedSkin.load(skinFile);
}
return SelectedSkin;
}
public static Label newLabel(String name) {
Label ret = new Label(name, GetSkin());
return ret;
}
public static Dialog newDialog(String title) {
Dialog ret = new Dialog(title, GetSkin());
return ret;
}
}

View File

@@ -0,0 +1,22 @@
package forge.adventure.util;
import forge.adventure.world.AdventurePlayer;
import forge.adventure.world.WorldSave;
import forge.deck.Deck;
/**
* Shortcut class to handle global access, may need some redesign
*/
public class Current {
public static AdventurePlayer player()
{
return WorldSave.getCurrentSave().getPlayer();
}
static Deck deck;
public static Deck latestDeck() {
return deck;
}
public static void setLatestDeck(Deck generateDeck) {
deck=generateDeck;
}
}

View File

@@ -0,0 +1,48 @@
package forge.adventure.util;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.TextureData;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
/*
Class to draw directly on a pixmap
*/
public abstract class DrawOnPixmap {
public static void draw(Pixmap on, TextureRegion from)
{
draw(on,0,0,from);
}
public static void draw(Pixmap on,int x,int y, TextureRegion from)
{
TextureData textureData = from.getTexture().getTextureData();
if (!textureData.isPrepared()) {
textureData.prepare();
}
on.drawPixmap( textureData.consumePixmap(), x, y, from.getRegionX(), from.getRegionY(), from.getRegionWidth(), from.getRegionHeight() );
}
public static void drawText(Pixmap drawingMap, String text, int x, int y, float width) {
BitmapFont font=Controls.bigFont();
BitmapFont.BitmapFontData data=font.getData();
Pixmap source=new Pixmap(Gdx.files.internal(data.imagePaths[0]));
float totalLength=data.getGlyph('0').width*text.length();
float xOffset=(width-totalLength)/2;
xOffset+=x;
for(char c:text.toCharArray())
{
drawingMap.drawPixmap(source, (int)xOffset, y,
data.getGlyph(c).srcX, data.getGlyph(c).srcY, data.getGlyph(c).width, data.getGlyph(c).height);
xOffset+=data.getGlyph(c).width+1;
}
source.dispose();
}
}

View File

@@ -0,0 +1,16 @@
package forge.adventure.util;
/**
* Defines for the hard coded paths
*/
public class Paths {
public static final String ENEMIES = "world/enemies.json";
public static final String SHOPS = "world/shops.json";
public static final String WORLD = "world/world.json";
public static final String HEROES = "world/heroes.json";
public static final String POINTS_OF_INTEREST = "world/points_of_interest.json";
public static final String SKIN = "skin/ui_skin.json";
}

View File

@@ -0,0 +1,53 @@
package forge.adventure.util;
import forge.item.PaperCard;
/**
* Reward class that may contain gold,cards or items
*/
public class Reward {
public PaperCard getCard() {
return card;
}
public enum Type {
Card,
Gold,
Item,
Life
}
Type type;
PaperCard card;
private final int count;
public int getCount() {
return count;
}
public Type getType() {
return type;
}
public Reward(int count) {
type=Type.Gold;
this.count =count;
}
public Reward(PaperCard card)
{
type= Type.Card;
this.card=card;
count = 0;
}
public Reward(Type type, int count) {
this.type=type;
this.count =count;
}
}

View File

@@ -0,0 +1,300 @@
package forge.adventure.util;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Tooltip;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Disposable;
import forge.Forge;
import forge.adventure.scene.RewardScene;
import forge.adventure.scene.Scene;
import forge.assets.FSkin;
import forge.assets.ImageCache;
import forge.gui.GuiBase;
import forge.util.ImageFetcher;
/**
* Render the rewards as a card on the reward scene.
*
*/
public class RewardActor extends Actor implements Disposable, ImageFetcher.Callback {
Tooltip<Image> tooltip;
Reward reward;
static TextureRegion backTexture;
Texture image;
boolean needsToBeDisposed;
float flipProcess=0;
boolean clicked=false;
boolean flipOnClick;
private boolean hover;
static final ImageFetcher fetcher = GuiBase.getInterface().getImageFetcher();
Image toolTipImage;
@Override
public void dispose() {
if(needsToBeDisposed)
image.dispose();
}
public Reward getReward() {
return reward;
}
@Override
public void onImageFetched() {
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false),false));
}
public RewardActor(Reward reward,boolean flippable)
{
this.flipOnClick=flippable;
this.reward=reward;
if(backTexture==null)
{
backTexture= FSkin.getSleeves().get(0);
}
switch (reward.type)
{
case Card:
if(ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)))
{
setCardImage( ImageCache.getImage(reward.getCard().getImageKey(false),false));
}
else
{
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false))) {
fetcher.fetchImage(reward.getCard().getImageKey(false), this);
}
}
break;
case Gold:
{
TextureAtlas atlas= Config.instance().getAtlas("sprites/items.atlas");
Sprite backSprite=atlas.createSprite("CardBack");
Pixmap drawingMap=new Pixmap((int)backSprite.getWidth(),(int)backSprite.getHeight(), Pixmap.Format.RGBA8888);
DrawOnPixmap.draw(drawingMap,backSprite);
Sprite gold=atlas.createSprite("Gold");
DrawOnPixmap.draw(drawingMap,(int)((backSprite.getWidth()/2f)-gold.getWidth()/2f),(int)((backSprite.getHeight()/4f)*1f),gold);
DrawOnPixmap.drawText(drawingMap,String.valueOf(reward.getCount()),0,(int)((backSprite.getHeight()/4f)*2f),backSprite.getWidth());
image=new Texture(drawingMap);
drawingMap.dispose();
needsToBeDisposed=true;
break;
}
case Life:
{
TextureAtlas atlas = Config.instance().getAtlas("sprites/items.atlas");
Sprite backSprite = atlas.createSprite("CardBack");
Pixmap drawingMap = new Pixmap((int) backSprite.getWidth(), (int) backSprite.getHeight(), Pixmap.Format.RGBA8888);
DrawOnPixmap.draw(drawingMap, backSprite);
Sprite gold = atlas.createSprite("Life");
DrawOnPixmap.draw(drawingMap, (int) ((backSprite.getWidth() / 2f) - gold.getWidth() / 2f), (int) ((backSprite.getHeight() / 4f) * 1f), gold);
DrawOnPixmap.drawText(drawingMap, String.valueOf(reward.getCount()), 0, (int) ((backSprite.getHeight() / 4f) * 2f), backSprite.getWidth());
image = new Texture(drawingMap);
drawingMap.dispose();
needsToBeDisposed = true;
break;
}
}
addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
if(flipOnClick)
flip();
}
@Override
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor){
hover=true;
}
@Override
public void exit(InputEvent event, float x, float y, int pointer, Actor fromActor){
hover=false;
}
});
}
private void setCardImage(Texture img) {
image=img;
if(Forge.isTextureFilteringEnabled())
image.setFilter(Texture.TextureFilter.MipMapLinearLinear,Texture.TextureFilter.Linear);
TextureRegionDrawable drawable=new TextureRegionDrawable(new TextureRegion(image));
drawable.setMinSize((Scene.GetIntendedHeight()/ RewardScene.CARD_WIDTH_TO_HEIGHT)*0.95f,Scene.GetIntendedHeight()*0.95f);
toolTipImage=new Image(drawable);
tooltip=new Tooltip<Image>(toolTipImage);
tooltip.setInstant(true);
if(frontSideUp())
addListener(tooltip);
}
private boolean frontSideUp() {
return (flipProcess >= 0.5f) == flipOnClick;
}
public boolean isFlipped() {
return (clicked&&flipProcess>=1);
}
public void flip() {
if(clicked)
return;
clicked=true;
flipProcess=0;
}
@Override
public void act(float delta)
{
super.act(delta);
if(clicked)
{
if(flipProcess<1)
flipProcess+=delta;
else
flipProcess=1;
if(tooltip!=null&&frontSideUp()&&!getListeners().contains(tooltip,true))
addListener(tooltip);
// flipProcess=(float)Gdx.input.getX()/ (float)Gdx.graphics.getWidth();
}
}
@Override
public void draw (Batch batch, float parentAlpha) {
applyTransform(batch, computeTransform(batch.getTransformMatrix().cpy()));
oldProjectionTransform.set(batch.getProjectionMatrix());
applyProjectionMatrix(batch);
if(hover)
batch.setColor(0.5f,0.5f,0.5f,1);
if(!frontSideUp())
{
batch.draw(backTexture,-getWidth()/2,-getHeight()/2,getWidth(),getHeight());
}
else
{
drawFrontSide(batch);
}
batch.setColor(1,1,1,1);
resetTransform(batch);
batch.setProjectionMatrix(oldProjectionTransform);
}
private void drawFrontSide(Batch batch) {
float width;
float x;
if(flipOnClick)
{
width=-getWidth();
x=-getWidth()/2+getWidth();
}
else
{
width=getWidth();
x=-getWidth()/2;
}
if (image != null)
batch.draw(image,x,-getHeight()/2,width,getHeight());
else
batch.draw(ImageCache.defaultImage,x,-getHeight()/2,width,getHeight());
switch (reward.getType())
{
case Card:
break;
case Gold:
break;
case Item:
break;
}
}
private void applyProjectionMatrix(Batch batch) {
final Vector3 direction = new Vector3(0, 0, -1);
final Vector3 up = new Vector3(0, 1, 0);
//final Vector3 position = new Vector3( getX()+getWidth()/2 , getY()+getHeight()/2, 0);
final Vector3 position = new Vector3( Scene.GetIntendedWidth() /2f , Scene.GetIntendedHeight()/2f, 0);
float fov=67;
Matrix4 projection=new Matrix4();
Matrix4 view=new Matrix4();
float hy= Scene.GetIntendedHeight()/2f;
float a= (float) ((hy)/Math.sin(MathUtils.degreesToRadians*(fov/2f)));
float height= (float) Math.sqrt((a*a)-(hy*hy));
position.z=height*1f;
float far=height*2f;
float near=height*0.8f;
float aspect = (float)Scene.GetIntendedWidth() / (float)Scene.GetIntendedHeight();
projection.setToProjection(Math.abs(near), Math.abs(far), fov, aspect);
view.setToLookAt(position, position.cpy().add(direction), up);
Matrix4.mul(projection.val, view.val);
batch.setProjectionMatrix(projection);
}
private final Matrix4 computedTransform = new Matrix4();
private final Matrix4 oldTransform = new Matrix4();
private final Matrix4 oldProjectionTransform = new Matrix4();
protected void applyTransform (Batch batch, Matrix4 transform)
{
oldTransform.set(batch.getTransformMatrix());
batch.setTransformMatrix(transform);
}
/** Restores the batch transform to what it was before {@link #applyTransform(Batch, Matrix4)}. Note this causes the batch to
* be flushed. */
protected void resetTransform (Batch batch) {
batch.setTransformMatrix(oldTransform);
}
protected Matrix4 computeTransform (Matrix4 worldTransform) {
float[] val=worldTransform.getValues();
//val[Matrix4.M32]=0.0002f;
worldTransform.set(val);
float originX = this.getOriginX(), originY = this.getOriginY();
worldTransform.translate(getX()+getWidth()/2 , getY()+getHeight()/2,0);
if(clicked)
{
worldTransform.rotate(0,1,0,180*flipProcess);
}
computedTransform.set(worldTransform);
return computedTransform;
}
}

View File

@@ -0,0 +1,9 @@
package forge.adventure.util;
/**
* Interface to save the content the the save game file
*/
public interface SaveFileContent {
void load(SaveFileData data);
SaveFileData save();
}

View File

@@ -0,0 +1,325 @@
package forge.adventure.util;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.PixmapIO;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import java.io.*;
import java.util.HashMap;
public class SaveFileData extends HashMap<String,byte[]>
{
public void store(String key,SaveFileData subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeObject(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,float subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeFloat(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,double subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeDouble(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,int subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeInt(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,long subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeLong(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,boolean subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeBoolean(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key, Pixmap pixmap)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
PixmapIO.PNG png = new PixmapIO.PNG();
png.setFlipY(false);
png.write(stream, pixmap);
stream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void storeObject(String key,Object subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeObject(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key,String subData)
{
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeUTF(subData);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key, Vector2 vector) {
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeFloat(vector.x);
objStream.writeFloat(vector.y);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public void store(String key, Rectangle rectangle) {
try {
ByteArrayOutputStream stream=new ByteArrayOutputStream();
ObjectOutputStream objStream=new ObjectOutputStream(stream);
objStream.writeFloat(rectangle.x);
objStream.writeFloat(rectangle.y);
objStream.writeFloat(rectangle.width);
objStream.writeFloat(rectangle.height);
objStream.flush();
put(key,stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
public SaveFileData readSubData(String key)
{
if(!containsKey(key))
return null;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return (SaveFileData)objStream.readObject();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public Object readObject(String key)
{
if(!containsKey(key))
return null;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readObject();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
public String readString(String key)
{
if(!containsKey(key))
return null;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readUTF();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public long readLong(String key) {
if(!containsKey(key))
return 0;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readLong();
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}
public float readFloat(String key)
{
if(!containsKey(key))
return 0.0f;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readFloat();
} catch (IOException e) {
e.printStackTrace();
}
return 0.0f;
}
public double readDouble(String key)
{
if(!containsKey(key))
return 0.0;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readDouble();
} catch (IOException e) {
e.printStackTrace();
}
return 0.0;
}
public Vector2 readVector2(String key)
{
if(!containsKey(key))
return new Vector2();
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
float x= objStream.readFloat();
float y= objStream.readFloat();
return new Vector2(x,y);
} catch (IOException e) {
e.printStackTrace();
}
return new Vector2();
}
public Rectangle readRectangle(String key)
{
if(!containsKey(key))
return new Rectangle();
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
float x= objStream.readFloat();
float y= objStream.readFloat();
float width= objStream.readFloat();
float height= objStream.readFloat();
return new Rectangle(x,y,width,height);
} catch (IOException e) {
e.printStackTrace();
}
return new Rectangle();
}
public Pixmap readPixmap(String key)
{
if(!containsKey(key))
return null;
return new Pixmap(get(key), 0, get(key).length);
}
public int readInt(String key)
{
if(!containsKey(key))
return 0;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readInt();
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}
public boolean readBool(String key)
{
if(!containsKey(key))
return false;
try {
ByteArrayInputStream stream=new ByteArrayInputStream(get(key));
ObjectInputStream objStream=new ObjectInputStream(stream);
return objStream.readBoolean();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}

View File

@@ -0,0 +1,109 @@
package forge.adventure.util;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Pools;
/**
* UI element to click through options, can be configured in an UiActor
*/
public class Selector extends Group {
private final ImageButton leftArrow;
private final ImageButton rightArrow;
private final TextButton label;
private int currentIndex = 0;
private Array<String> textList;
public Selector() {
ImageButton.ImageButtonStyle leftArrowStyle = Controls.GetSkin().get("leftarrow", ImageButton.ImageButtonStyle.class);
leftArrow = new ImageButton(leftArrowStyle);
ImageButton.ImageButtonStyle rightArrowStyle = Controls.GetSkin().get("rightarrow", ImageButton.ImageButtonStyle.class);
rightArrow = new ImageButton(rightArrowStyle);
label = new TextButton("", Controls.GetSkin());
addActor(leftArrow);
addActor(rightArrow);
addActor(label);
leftArrow.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
try {
setCurrentIndex(currentIndex - 1);
} catch (Exception e) {
e.printStackTrace();
}
}
});
rightArrow.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
try {
setCurrentIndex(currentIndex + 1);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
@Override
protected void sizeChanged() {
super.sizeChanged();
leftArrow.setWidth(getHeight());
leftArrow.setHeight(getHeight());
rightArrow.setWidth(getHeight());
rightArrow.setHeight(getHeight());
label.setHeight(getHeight());
label.setX(getHeight());
label.setWidth(getWidth() - (getHeight() * 2));
rightArrow.setX(getWidth() - getHeight());
}
public int getCurrentIndex() {
return currentIndex;
}
public void setCurrentIndex(int currentIndex) {
currentIndex %= textList.size;
if (currentIndex < 0) {
currentIndex += textList.size;
}
int oldIndex = currentIndex;
this.currentIndex = currentIndex;
label.setText(textList.get(currentIndex));
ChangeListener.ChangeEvent changeEvent = Pools.obtain(ChangeListener.ChangeEvent.class);
if (fire(changeEvent)) {
this.currentIndex = oldIndex;
label.setText(textList.get(currentIndex));
}
Pools.free(changeEvent);
}
public String getText() {
return textList.get(currentIndex);
}
public Array<String> getTextList() {
return textList;
}
public void setTextList(Array<String> textList) {
this.textList = textList;
setCurrentIndex(currentIndex);
}
public void setTextList(String[] strings) {
this.textList = new Array<>(strings);
setCurrentIndex(currentIndex);
}
}

View File

@@ -0,0 +1,83 @@
package forge.adventure.util;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.PixmapIO;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/**
* Abstract class to serialize other objects.
*/
public abstract class Serializer {
static public void WritePixmap(java.io.ObjectOutputStream out, Pixmap pixmap) throws IOException {
if (pixmap != null) {
PixmapIO.PNG png = new PixmapIO.PNG();
png.setFlipY(false);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
png.write(stream, pixmap);
byte[] data = stream.toByteArray();
out.writeInt(data.length);
out.write(data);
} else {
out.writeInt(0);
}
}
static public Pixmap ReadPixmap(ObjectInputStream in) throws IOException, ClassNotFoundException {
int length = in.readInt();
if (length == 0)
return new Pixmap(1, 1, Pixmap.Format.RGBA8888);
byte[] data = new byte[length];
in.readFully(data, 0, length);
return new Pixmap(data, 0, length);
}
public static void WritePixmap(ObjectOutputStream out, Pixmap pixmap, boolean flip) throws IOException {
if (pixmap != null) {
PixmapIO.PNG png = new PixmapIO.PNG();
png.setFlipY(flip);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
png.write(stream, pixmap);
byte[] data = stream.toByteArray();
out.writeInt(data.length);
out.write(data);
} else {
out.writeInt(0);
}
}
public static void writeVector(ObjectOutputStream out,Vector2 position) throws IOException {
out.writeFloat(position.x);
out.writeFloat(position.y);
}
public static void readVector(ObjectInputStream in, Vector2 position) throws IOException {
float x=in.readFloat();
position.set(x,in.readFloat());
}
public static void writeRectangle(ObjectOutputStream out,Rectangle rectangle) throws IOException {
out.writeFloat(rectangle.x);
out.writeFloat(rectangle.y);
out.writeFloat(rectangle.width);
out.writeFloat(rectangle.height);
}
public static void readRectangle(ObjectInputStream in, Rectangle rectangle) throws IOException {
float x=in.readFloat();
float y=in.readFloat();
float w=in.readFloat();
float h=in.readFloat();
rectangle.set(x,y,w,h);
}
}

View File

@@ -0,0 +1,19 @@
package forge.adventure.util;
import com.badlogic.gdx.utils.Array;
/**
* List of function points to inform all listeners, maybe redesign to a more java like approach
*/
public class SignalList extends Array<Runnable> {
public void emit() {
for(Runnable signal:this) {
try {
signal.run();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

View File

@@ -0,0 +1,55 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.maps.ImageResolver;
import com.badlogic.gdx.maps.MapObjects;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.TmxMapLoader;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.XmlReader;
/**
* Rewritten the loadObject method of TmxMapLoader to support templates in tiled map.
*
*/
public class TemplateTmxMapLoader extends TmxMapLoader {
FileHandle tmxFile;
@Override
protected TiledMap loadTiledMap(FileHandle tmxFile, TmxMapLoader.Parameters parameter, ImageResolver imageResolver) {
this.tmxFile = tmxFile;
return super.loadTiledMap(tmxFile, parameter, imageResolver);
}
@Override
protected void loadObject(TiledMap map, MapObjects objects, XmlReader.Element element, float heightInPixels) {
if (element.getName().equals("object")) {
if (!element.hasAttribute("template")) {
super.loadObject(map, objects, element, heightInPixels);
return;
}
FileHandle template = getRelativeFileHandle(tmxFile, element.getAttribute("template"));
XmlReader.Element el = xml.parse(template);
for (XmlReader.Element obj : new Array.ArrayIterator<>(el.getChildrenByName("object"))) {
for(ObjectMap.Entry<String, String> attr: new ObjectMap.Entries<>(element.getAttributes()))
{
obj.setAttribute(attr.key, attr.value);
}
XmlReader.Element properties = element.getChildByName("properties");
XmlReader.Element templateProperties = obj.getChildByName("properties");
if (properties != null&&templateProperties!=null)
{
for( XmlReader.Element propertyElements : new Array.ArrayIterator<>(properties.getChildrenByName("property")))
{
templateProperties.addChild(propertyElements);
}
}
super.loadObject(map, objects, obj, heightInPixels);
return;
}
}
}
}

View File

@@ -0,0 +1,192 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.OrderedMap;
import forge.adventure.data.UIData;
/**
* Group of controls that will be loaded from a configuration file
*/
public class UIActor extends Group {
UIData data;
public UIActor(FileHandle handle) {
data = (new Json()).fromJson(UIData.class, handle);
setWidth(data.width);
setHeight(data.height);
for (OrderedMap<String, String> element : new Array.ArrayIterator<>(data.elements)) {
String type = element.get("type");
Actor newActor;
if(type==null)
{
newActor=new Actor();
}
else
{
switch (type) {
case "Selector":
newActor = new Selector();
readSelectorProperties((Selector) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "Label":
newActor = new Label("", Controls.GetSkin());
readLabelProperties((Label) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "Image":
newActor = new Image();
readImageProperties((Image) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "ImageButton":
newActor = new ImageButton(Controls.GetSkin());
readImageButtonProperties((ImageButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "Window":
newActor = new Window("", Controls.GetSkin());
readWindowProperties((Window) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "TextButton":
newActor = new TextButton("", Controls.GetSkin());
readButtonProperties((TextButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "TextField":
newActor = new TextField("", Controls.GetSkin());
readTextFieldProperties((TextField) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
case "Scroll":
newActor = new ScrollPane(null, Controls.GetSkin());
readScrollPaneProperties((ScrollPane) newActor, new OrderedMap.OrderedMapEntries<>(element));
break;
default:
throw new IllegalStateException("Unexpected value: " + type);
}
}
//load Actor Properties
float yValue = 0;
for (ObjectMap.Entry property : new OrderedMap.OrderedMapEntries<>(element)) {
switch (property.key.toString()) {
case "width":
newActor.setWidth((Float) property.value);
break;
case "height":
newActor.setHeight((Float) property.value);
if (data.yDown)
newActor.setY(data.height - yValue - newActor.getHeight());
break;
case "x":
newActor.setX((Float) property.value);
break;
case "y":
yValue = (Float) property.value;
newActor.setY(data.yDown ? data.height - yValue - newActor.getHeight() : yValue);
break;
case "name":
newActor.setName((String) property.value);
break;
}
}
addActor(newActor);
}
}
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
newActor.setActor(new Label("",Controls.GetSkin()));
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "style":
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), ScrollPane.ScrollPaneStyle.class));
break;
}
}
}
private void readWindowProperties(Window newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "style":
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), Window.WindowStyle.class));
break;
}
}
}
private void readTextFieldProperties(TextField newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "text":
newActor.setText(property.value.toString());
break;
}
}
}
private void readImageButtonProperties(ImageButton newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "style":
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), ImageButton.ImageButtonStyle.class));
break;
}
}
}
private void readLabelProperties(Label newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "text":
newActor.setText(property.value.toString());
break;
case "font":
Label.LabelStyle style = new Label.LabelStyle(newActor.getStyle());
style.font = Controls.GetSkin().getFont(property.value.toString());
newActor.setStyle(style);
break;
}
}
}
private void readSelectorProperties(Selector newActor, ObjectMap.Entries<String, String> entries) {
}
private void readButtonProperties(TextButton newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "text":
newActor.setText(property.value.toString());
break;
}
}
}
private void readImageProperties(Image newActor, ObjectMap.Entries<String, String> entries) {
for (ObjectMap.Entry property : entries) {
switch (property.key.toString()) {
case "image":
newActor.setDrawable(new TextureRegionDrawable(new Texture(Config.instance().getFile(property.value.toString()))));
break;
}
}
}
public void onButtonPress(String name, Runnable func) {
Actor button = findActor(name);
assert button != null;
button.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
func.run();
}
});
}
}

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