Commit graph

64 commits

Author SHA1 Message Date
Oleg Agafonov
2949444089 refactor: removed useless code on ChoiceCreatureType usage, removed possibly infinite code (game freezes) (related to #13106); 2024-12-05 01:03:13 +04:00
Susucre
c0eab28626
implement [MH3] Primal Prayers ; use choice panel for cast mode choice ; allow some restricted "as thought as it had flash" to work only on matching alternative cast. (#12420) 2024-07-30 15:47:39 +02:00
Oleg Agafonov
a974af3c61 GUI: improved choose creature type dialog - important creature types added to the start of the list and marked as my/opponent (closes #8478) 2024-07-19 03:17:53 +04:00
Oleg Agafonov
77df387e06 GUI: improved pick choice (dialogs with searchable list, related to #12420):
- dialog: added mana symbols and html support in headers and list;
- dialog: added custom hints for each list's item (use setHintData);
- dialog: added game object hint type (use object id as hint value);
- dialog: added fast way to add key, value, sort and hint data (use choice.withItem());
- cheats: added commands list in popup hint;
2024-07-18 23:04:47 +04:00
xenohedron
9863e23435 refactor: ChoiceImpl constructor must specify whether required
changed a few others to required where clearly applicable
2024-06-29 22:57:47 -04:00
xenohedron
35f4a898f9
Small rework for autochoosing color of mana to add (#11495)
fix #11494
2023-12-01 00:49:42 -05:00
Oleg Agafonov
27c9543f62 The Ring Emblem - fixed not working 3rd effect with blocker sacrifice (closes #11425), added docs and usage example for BLOCKER_DECLARED and CREATURE_BLOCKED game events 2023-11-19 19:16:55 +04:00
xenohedron
7f2924b764 text fixes 2023-10-15 00:56:25 -04:00
Evan Kranzler
d705fa0e41
Implement Villainous Choice mechanic (#11304)
* [WHO] Implement Great Intelligence's Plan

* [WHO] Implement The Valeyard

* add comment for villainous choice event
2023-10-14 15:27:45 -04:00
Susucre
f75b1c9f0a
Code cleanup: protect all copy constructors (#10750)
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
2023-08-04 19:34:58 -04:00
Susucre
23781ecb37
[LTC] Implement Elrond of the White Council (#10731) 2023-08-03 00:26:19 -04:00
Susucre
84e1b44845
[CMM] Implement Leori, Sparktouched Hunter (#10669) 2023-07-27 00:24:28 -04:00
theelk801
2e9eb7fb33 [LTC] Implement Trap the Trespassers 2023-06-19 19:15:48 -04:00
theelk801
3404a34b2d [LTC] Implement Cirdan, the Shipwright 2023-06-19 18:58:28 -04:00
Oleg Agafonov
6b05562336 * Choose an ability - fixed not working cards like Argivian Avenger, Atraxas Skitterfang, Steel Seraph (#10115) 2023-03-21 01:59:12 +04:00
Evan Kranzler
e3b2ac15ba added cardutil method for incrementing map values 2021-11-29 21:34:04 -05:00
Evan Kranzler
f8d030bef4
Adding dice rolling trigger/replacement (ready for review) (#7989)
* [AFR] Implemented DiceRolledTriggeredAbility
* [AFR] Implemented Brazen Dwarf
* [AFR] Implemented Feywild Trickster
* [AFC] Implemented Reckless Endeavor
* [AFR] Implemented Pixie Guide
* [AFR] Implemented Critical Hit
* [AFR] Implemented Netherese Puzzle Ward
* [AFC] Implemented Neverwinter Hydra
* [AFR] Implemented Farideh, Devil's Chosen
* [AFR] Implemented Barbarian Class
* [AFC] Implemented Vrondiss, Rage of Ancients
* [AFC] Implemented Arcane Endeavor
* Test framework: added planar die rolls support
* Test framework: added random results set up support in AI simulated games;
* AI: improved roll die results chooses in computer games;
* Roll die: improved combo support for planar die and roll die effects;

Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-26 14:06:10 +04:00
Oleg Agafonov
62474c12a4 * GUI: fixed non-closeable choose dialog with empty list on server's error (example: Cabal Therapy, see #8065); 2021-08-14 19:10:23 +04:00
Oleg Agafonov
d587cc9151 * GUI: added card popup info in choose dialog (example: choose dungeon, #8012);
* GUI: added texts popup info in choose dialog (example: choose from any list);
2021-08-14 09:18:50 +04:00
Oleg Agafonov
c9ab896d24 * GUI: added auto-choose for replacement effects (remember answer in dialog + reset answer in popup menu + new option in preferences; #4360, #328, #4219, #6676, #7914); 2021-08-09 11:26:11 +04:00
Daniel Bomar
600cac6fc7
[READY FOR REVIEW] Implement a "multi-amount" dialog (#7528)
* Implemented chooseTargetAmount and new GUI dialog (distribute damage, distribute mana)
* Added tests and AI support;
* Test framework: added aliases support in TargetAmount dialogs;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-17 14:28:01 +04:00
Oleg Agafonov
8a06be7e28 Merge fix 2021-03-20 18:40:22 +04:00
Evan Kranzler
1cbbcddcc6
Improving implementation of cards which use voting (WIP) (#7566)
* created interface for handling voting

* created class for two choice votes, refactored a card to use it

* refactored all cards which use two choice votes

* updated VoteHandler to an abstract class to encapsulate more of its functions

* refactored cards which vote for more than two things

* [CNS] Implemented Brago's Representative

* [CN2] Implemented Ballot Broker

* [CN2] Implemented Illusion of Choice

* [CNS] Implemented Grudge Keeper

* added vote outcomes

* updated implementation of Illusion of Choice to work correctly in multiples

* added test for voting

* updated implementation of extra votes

* simplified vote message handling

* Improved names, additional comments

* Votes: fixed not working getMostVoted

* Votes: added final vote results to game logs;

* Votes: added additional info for the vote choices;

* Votes: added vote step info in choose dialogs, added AI support example for Tyrant's Choice;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-03-20 18:32:54 +04:00
Oleg Agafonov
b6cb5cef9c Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
LevelX2
90c6637dc2 * Implemeented consumable flag for asThoughtEffects and a player choice which effect to use if multiple consumable effects allow the same action. 2020-08-21 21:24:42 +02:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
Oleg Agafonov
f9a9a55f7b Cloud Key - fixed that it doesn't allow to cast cards without full mana available (#6698); 2020-07-05 19:39:05 +04:00
John
717b3da6f9
swap green and white in color order choices. (#6630) 2020-06-11 18:59:54 -04:00
emerald000
c3684a732b [IKO] Implement Companion and 2 companions
Keruga, the Macrosage and Umori, the Collector
2020-04-12 08:29:25 -04:00
Oleg Agafonov
169d9bf761 * Non basic mana abilities - fixed rollback errors in AI games (#6300); 2020-02-25 12:41:45 +04:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
Oleg Agafonov
5adab75324
Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7 format: organize imports 2020-02-04 16:21:48 -03:00
Iain Monro
48fbd30f2d #5935 Fix and standardise firing of TAPPED_FOR_MANA event 2019-08-16 15:26:40 +01:00
Ingmar Goudt
178da75e4d Sonar fixes 2019-07-09 21:57:55 +02:00
Oleg Agafonov
108fba8ab6 Firemind Vessel - fixed AI game freeze, improved choose logic (#5023); 2019-04-16 10:52:48 +04:00
Oleg Agafonov
b36465e5c9 Refactor: removed unused custom set filters in SubType requests; 2019-02-04 00:53:51 +04:00
Oleg Agafonov
e9c6c4fefa Fixed that choose creature type dialog don't shows custom sets (#5569) 2019-02-04 00:51:35 +04:00
Oleg Agafonov
2ebad63595 Added seeds support to random util:
* all xmage code uses shared util to generate random values;
 * tests can uses seeds to repeat "random" results like deck builds or AI plays;
2018-12-30 03:52:30 +04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
Evan Kranzler
544563ae8b Implemented Pir's Whim
Also added an object for choosing friend or foe
2018-05-23 11:57:49 -04:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
Oleg Agafonov
3dda5712db AI: fixed not working choice with key-value dialogs, random refactor 2018-01-04 00:23:20 +04:00
Oleg Agafonov
e87db19b7d Tests: fixed NykthosShrineToNyx that broke dozens of other tests with mana choice 2017-12-29 17:10:07 +04:00
Oleg Agafonov
af0c77a409 UI: added custom sorting in choice dialog 2017-12-29 06:11:10 +04:00
Oleg Agafonov
e4dfa5925b UI: added start selection value on choice dialog popup; 2017-12-28 22:38:18 +04:00
Oleg Agafonov
3bdd2ae8bb Fixed choice typos 2017-12-28 04:14:37 +04:00
Oleg Agafonov
80b5026ec7 Search enabled by default 2017-12-27 06:42:27 +04:00
Oleg Agafonov
75cec526dc Fixed magic "error switch" for unit tests 2017-12-27 06:26:05 +04:00
Oleg Agafonov
531b5bc569 Added auto enabled search for all pickup dialogs with many items; 2017-12-25 12:47:30 +04:00