Commit Graph

2352 Commits

Author SHA1 Message Date
autumnmyst
0c6f1ff58f UNF: Added the 4 eternal-format-legal dice modification/reroll cards (#7489) 2025-05-06 17:13:52 +00:00
matthias8422
d74d2da755 Added a new Couldnt connect to server error message
Re wrote the URL parsing logic again, but due to increased complexity put it into a utility class
Fixed desktop version opening up a lobby even when it did not connect to a server
Wired up the new error message to mobile, and both error messages to Desktop
2025-04-28 17:56:08 -04:00
Jetz72
4714319204 Store cards by collectorNumber instead of artIndex; PaperCard flag support (#7240)
* Refactor - Unknown set code to constant

* Refactor - Support for multiple initial selections for getChoices

* Covert noSell and marked color identities into serializable flags

* Fix cards in deck not being converted to newer noSell format

* unused imports

* Fix NPE

* Cleanup card filter

* Remove 14-year-old check that shouldn't be possible anymore

* CRLF -> LF

---------

Co-authored-by: Jetz <Jetz722@gmail.com>
2025-04-16 18:59:31 -04:00
matthias8422
366ed643a7 Feature/network improvements (#7365)
* Initial commit of network improvements
Seperated server properties into their own file, this will eventually help facilitate a headless server.
Fixed the localhost ip mapping to give the correct IP Address instead of failing and defaulting to "localhost"
Fixed UPnP as well as added some additional options and choices regarding UPnP
Added localization strings to all language files. (Translators will need to translate these, but the current English string is there for easy reference so they dont have to search the en-US file)

* Initial commit of network improvements
Seperated server properties into their own file, this will eventually help facilitate a headless server.
Fixed the localhost ip mapping to give the correct IP Address instead of failing and defaulting to "localhost"
Fixed UPnP as well as added some additional options and choices regarding UPnP
Added localization strings to all language files. (Translators will need to translate these, but the current English string is there for easy reference so they dont have to search the en-US file)

* Fixed properties file reference

* Refactored server address parsing logic to use the Java URI class for improved readability and robustness.
Extracted reusable code into separate functions to enhance modularity and maintainability.
General code cleanup to improve structure and readability.

* Fixed a potential issue if a protocol was already specified in the connection url.

* Removed logger implementation as changing loggers is out of scope for this PR
Reverted to JUPnP as its implementation is fixed in #7367
Made some of the new localization strings generic as they can be used elsewhere
Added a server.preferences.example file
removed the server port from the old location (forge.progile.properties.example)
Added a server port back into ForgeConstants as it doesnt make sense for the prefered hosting port of the user to override the default Forge connection port.

* resolve conflicts between this branch and master

* Implemented a parent class for all preference Enums so they can be passed into a function regardless of type using IPref, necessary since I separated server settings into its own FNetPref file
Added server preferences section to the preferences Desktop GUI
Added a port preference setting and a UPnP preference setting to the aforementioned server preferences section
Added a localizedComboBox and localizedComboBoxListener so that localized strings can be used in combobox dropdowns in the server preferences section.

TODO: (In scope)
The new server preferences section needs to be added to Android and IOS perhaps?

TODO: (out of scope)
GamePlayerUtil has a bunch on non localized english strings that should be converted to localized

* Fixed unused import

* Resolved merge conflicts
Added server settings to the reset to defaults function
2025-04-15 20:32:32 -04:00
tool4ever
e2e3c658a0 Relocate android specific dependency (#7387) 2025-04-12 05:47:07 +00:00
HeitorBittenc
e722c4b63c Removed token image fetch attempt from old server (#7287) 2025-03-29 19:01:29 +03:00
Hans Mackowiak
7fdd645026 Omen: first attempt (#7297)
* Omen: first attempt

* Support rendering

---------

Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.60>
2025-03-29 16:54:20 +01:00
HeitorBittenc
fc761220d2 Removed 2 additional unnecessary requests for tokens images 2025-03-27 10:19:14 -04:00
HeitorBittenc
144681012c Removed print used for tests 2025-03-27 10:19:14 -04:00
HeitorBittenc
8fe3bd3c79 Removed unnecessary request for image fetching 2025-03-27 10:19:14 -04:00
LEGIONLAPTOP\dougc
3788e01f38 Quick Commander and Build Commander Gauntlet both working on desktop 2025-03-24 12:39:50 -04:00
LEGIONLAPTOP\dougc
a9df4ea424 Renamed Commander Gauntlet to more accurate QUICK Commander Gauntlet 2025-03-24 12:39:50 -04:00
Hans Mackowiak
137d87c3df use StaticAbility for Topsy Turvy (#7143) 2025-03-12 09:24:53 +01:00
Chris H
f84f694351 Reroute card images to scryfall.
Don't try to redownload if it fails during a session
2025-02-24 22:50:14 -05:00
Chris H
40882c20d6 Send URL to github snapshots 2025-02-20 20:13:04 -05:00
tool4ever
ec20b59ff3 Dependency tab (#7013) 2025-02-19 10:31:59 +01:00
Chris H
a49ab150f9 Fix imports 2025-02-17 20:19:41 -05:00
Chris H
4bc07e5311 Disable bulk images from the UI 2025-02-17 20:19:41 -05:00
Jetz72
493a8f351b Add Speed Tracker to Command Zone (#6982)
* Add command zone effect displaying speed

* Remove enum counter type for speed.

* Make Start Your Engines an SBA.

* LifeLost -> LifeLostAll per speed rules.

* Use same game event for all speed changes.

* Fix keyword not appearing in detail text

* Cleanup extra createSpeedEffect.

* Add support for arbitrary overlay text. Remove fake counters.

* Text styling.

* Remove extra SBA check.

* Remove speed from PlayerView; localization support.

---------

Co-authored-by: Jetz <Jetz722@gmail.com>
2025-02-10 07:43:48 +03:00
tool4ever
99fd4d9125 AnimateSubAbility rework (#6819)
* AnimateSubAbility rework

* Remove old fix code, it will no longer be needed

* Add zone ordering

* Add labels

* Clean up

* Fix test

* Tweak logic

* Fix Gilraen

* Refactor with counter

* Clean up

* Cleanup effect if card can't ETB

* Update semesters_end.txt

Format abilities

* Return as Aura trickery

* Apply effect before RE

* Update scripts

* Fix order after creating it earlier

* Fix test

---------

Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.60>
Co-authored-by: Hans Mackowiak <hanmac@gmx.de>
2025-01-28 13:18:24 +03:00
tool4ever
1e1fa1a5e1 Dependency Graphs (#6869) 2025-01-28 09:16:31 +00:00
Chris H
1c0ca26c89 This list doesn't need to be instantiated like an array 2025-01-13 07:04:12 +01:00
Chris H
2ce91a04f1 This list doesn't need to be instantiated like an array 2025-01-13 06:53:28 +01:00
tool4ever
5b76ccbbd2 Cleanup run (#6750) 2025-01-06 20:52:26 +00:00
Hans Mackowiak
9ee2cfbf18 remove add-opens from mandatory.java.args, use MANIFEST.mf 2025-01-04 10:39:38 +01:00
Jetz72
386ed8a082 Contraptions (#6717)
* Start of contraptions

* More contraption work

* More contraption stuff.
Steamflogger Boss implementation

* More Contraption things

* Use AI's preferred target for mandatory animate effects

* Possible fix for Boomflinger's empty target prompt

* Remove nullable low-definition mana pool icon.

* Contraption Predicates

* Desktop extra zone menu

* Remember cranked contraptions

* AnimateAi fallback to AITgts; Bee-Bee Gun

* Fix AI paying optional costs to assemble zero contraptions.

* Override predicted damage for DealDamage effects with random amounts

* Fix double prompt when reassembling other players' contraptions

* All remaining contraptions and support cards!

* Remove unused imports

* Some cleanup

* Implement non-assembled contraption rule.
Fix blank line prefix on card detail text.

---------

Co-authored-by: Jetz <Jetz722@gmail.com>
2025-01-02 09:41:53 +03:00
tool4ever
1c0cb07a2e Remove obsolete GameEvent (#6736) 2025-01-01 17:24:47 +00:00
tool4ever
475020f742 Order hand option (#6729)
Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.60>
2024-12-30 08:10:02 +03:00
tool4ever
f50f985e99 Some cleanup (#6728) 2024-12-29 09:27:07 +00:00
tool4ever
9b6203b883 Full Control unleashed (#6700)
* Fix APNAP order
2024-12-26 12:53:46 +00:00
kevlahnota
1b493b0a2b Merge pull request #6047 from Jetz72/code-cleanup
Migrate Guava Predicates and Functions to Java implementations
2024-12-15 08:51:39 +08:00
Justin C
e8067d872d Removed unused variable. Some documentation fixes. (#6675) 2024-12-10 20:24:20 +03:00
Jetz
931e734bc0 Merge remote-tracking branch 'origin/master' into code-cleanup
# Conflicts:
#	forge-ai/src/main/java/forge/ai/ComputerUtil.java
#	forge-ai/src/main/java/forge/ai/ComputerUtilCard.java
#	forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java
#	forge-gui/src/main/java/forge/player/PlayerControllerHuman.java
2024-12-09 08:52:36 -05:00
tool4ever
a9c5839217 Refactor SpellAbilityView canPlay (#6671) 2024-12-06 19:58:52 +00:00
Justin C
6c1f4c7ffe Fix for noted types for Volo's journal (#6665) 2024-12-06 15:13:22 +01:00
Jetz
6c10351d93 Merge remote-tracking branch 'origin/master' into code-cleanup
# Conflicts:
#	forge-ai/src/main/java/forge/ai/ability/PlayAi.java
#	forge-core/src/main/java/forge/util/collect/FCollection.java
#	forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java
2024-12-05 08:27:25 -05:00
Anthony Calosa
ebffb83932 prevent NPE on old skin/theme 2024-12-05 21:00:39 +08:00
kevlahnota
d06673e401 Update FCollectionTest.java
prior to the threadsafeiterable restoration
2024-12-05 12:50:53 +08:00
kevlahnota
a0cad5fa48 fix FCollection (#6657) 2024-12-04 14:45:05 +01:00
Jetz
db2764f1ce Fix Build Errors 2024-12-04 08:27:37 -05:00
Jetz
44cf7dbbea Merge remote-tracking branch 'origin/master' into code-cleanup
# Conflicts:
#	forge-ai/src/main/java/forge/ai/AiAttackController.java
#	forge-ai/src/main/java/forge/ai/AiCardMemory.java
#	forge-ai/src/main/java/forge/ai/AiController.java
#	forge-core/src/main/java/forge/card/ICardDatabase.java
#	forge-core/src/main/java/forge/item/generation/BoosterGenerator.java
#	forge-core/src/main/java/forge/util/FileSection.java
#	forge-core/src/main/java/forge/util/collect/FCollection.java
#	forge-game/src/main/java/forge/game/card/CardProperty.java
#	forge-game/src/main/java/forge/game/combat/Combat.java
#	forge-game/src/main/java/forge/game/spellability/SpellAbility.java
#	forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java
#	forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java
#	forge-gui-mobile/src/forge/itemmanager/ItemManager.java
#	forge-gui/src/main/java/forge/deck/DeckgenUtil.java
#	forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java
2024-12-04 08:15:30 -05:00
Anthony Calosa
e8a6d4ce92 prevent crash on Android 11 and below
Completablefuture -> completeOnTimeout
2024-12-02 09:44:29 +08:00
Anthony Calosa
7c3354cf70 Merge remote-tracking branch 'origin/AI_ATTACK_TIMEOUT' into AI_ATTACK_TIMEOUT 2024-11-22 12:46:26 +08:00
kevlahnota
f918ae5978 Merge branch 'master' into AI_ATTACK_TIMEOUT 2024-11-22 12:46:13 +08:00
Anthony Calosa
afb062e770 revert ManaPool
remove ManaPoolTest for concurrency
refactor timeout for chooseSpellAbilityToPlayFromList
2024-11-22 12:44:51 +08:00
kevlahnota
29ce2e01fd Update ImageView.java 2024-11-22 06:04:25 +08:00
Anthony Calosa
259247c842 update ManaMultiMap clear
update ManaPoolTest
2024-11-21 14:37:32 +08:00
Anthony Calosa
81777761f5 add ManaPoolTest 2024-11-20 22:02:25 +08:00
Anthony Calosa
0854fbb947 update FCollection
Replace copyonwritearray to a custom implementation for concurrent modification exception. A little bit slower but supports iterator operations.
Added FCollectionTest
2024-11-19 22:32:37 +08:00
kevlahnota
0247acbd49 Merge branch 'master' into AI_ATTACK_TIMEOUT 2024-11-16 18:52:12 +08:00