Skip to content

Feature/linked rewards - #341

Open
quipsol wants to merge 10 commits into
Alchyr:developfrom
quipsol:feature/linked-rewards
Open

Feature/linked rewards#341
quipsol wants to merge 10 commits into
Alchyr:developfrom
quipsol:feature/linked-rewards

Conversation

@quipsol

@quipsol quipsol commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Provides the option to create LinkedRewardSets for end of combat rewards.

The games LinkedRewardSet code is currently broken in a few places.

This supports two types of linked rewards:

  1. Exclusive
  2. Bundled

To differentiate the two reward types, hover tips are provided as well as colored highlighting on the reward buttons to indicate what will happen with them. The highlighting only appears when hovering over a button in the set.
Gold color -> you will take it
Red color -> you will forfeit it

Exclusive works the same way the linked rewards in Sts1 (and their half broken version in Sts2) do. You are given a few options and may take one of them.

image

Bundled changes the behaviour to force either taking all options from the linked reward set, or none (by ignoring it).

image

While in most cases you can build a downside into the rewarded model itself (see cursed pearl), this allows a more flexible approach to this.
A simple example would be making Elite drop an additional relic which is linked to a random curse. Now you can decide if the relic is worth also taking the curse. Or giving additional card rewards combined with a gold cost (note that negative gold values in GoldRewards do nothing in the base game).

Because of the way the current reward synchronizer is set up, an Exclusive linked reward set will use a custom message to sync the players.

quipsol added 4 commits July 10, 2026 15:51
first working version of the feature. Cleanup follows
fixed multiplayer synching issues
@exscape

exscape commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

The highlighting only appears when hovering over a button in the set.

This sounds like it will cause a lot of mistakes. Clicking in the space of the first reward until you've taken them all is a very, very common thing. I do believe the link(s) needs to be visible immediately for this to not cause a ton of frustration.

@1939323749

Copy link
Copy Markdown
Contributor

Adding that chain link icon between each pair of items would be better. As far as I know, the original game already has a hand-drawn style icon for this, so let's try to reuse it :)

@quipsol

quipsol commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

I have added the chains image logic that the game uses to the reward set. It should now be more clear that you are about to interact with linked rewards.
image

@Alchyr

Alchyr commented Jul 17, 2026

Copy link
Copy Markdown
Owner
image chain link is too far off center, completely unplayable

quipsol added 2 commits July 17, 2026 10:32
commit f7db6b5
Merge: 3adcca2 64acb39
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Fri Jul 17 07:15:25 2026 +0000

    Merge pull request Alchyr#346 from Alchyr/develop

    3.3.7

commit 64acb39
Author: Alchyr <isithalchyr@gmail.com>
Date:   Fri Jul 17 00:14:47 2026 -0700

    update comments

commit 6993faf
Author: Alchyr <isithalchyr@gmail.com>
Date:   Fri Jul 17 00:12:44 2026 -0700

    3.3.7

commit bd65049
Merge: a10a4ab fa17471
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Fri Jul 17 07:10:30 2026 +0000

    Merge pull request Alchyr#339 from hachi-ichi/master

    Add Japanese localization

commit a10a4ab
Author: Alchyr <isithalchyr@gmail.com>
Date:   Thu Jul 16 23:51:13 2026 -0700

    change auto-formatter registration

commit 9ddf1b2
Author: Alchyr <isithalchyr@gmail.com>
Date:   Thu Jul 16 23:45:50 2026 -0700

    fix card play destination patches

commit 3adcca2
Merge: 604a673 0608b6c
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Fri Jul 17 04:50:50 2026 +0000

    Merge pull request Alchyr#345 from Alchyr/develop

    3.3.6

commit 0608b6c
Author: Alchyr <isithalchyr@gmail.com>
Date:   Thu Jul 16 21:49:47 2026 -0700

    3.3.6

commit dfd8ed1
Author: Alchyr <isithalchyr@gmail.com>
Date:   Thu Jul 16 21:41:19 2026 -0700

    beta compatibility

commit bc54f42
Author: Alchyr <isithalchyr@gmail.com>
Date:   Thu Jul 16 20:50:56 2026 -0700

    wip cost visuals

commit 89336bd
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 15 13:23:49 2026 -0700

    initial custom resource; default UI todo

commit b01c113
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 15 13:05:17 2026 -0700

    add seen cards to scry hook

commit ab50ef4
Merge: b496107 14fda51
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Wed Jul 15 20:01:08 2026 +0000

    Merge pull request Alchyr#330 from lamali292/scry

    Scry

commit b496107
Author: Alchyr <isithalchyr@gmail.com>
Date:   Mon Jul 13 22:21:22 2026 -0700

    add serializer/deserializers for common array types

commit 8faca4b
Author: Alchyr <isithalchyr@gmail.com>
Date:   Mon Jul 13 00:19:30 2026 -0700

    move scene conversion registration patch and check applicable types properly

commit 223737d
Author: Alchyr <isithalchyr@gmail.com>
Date:   Sun Jul 12 16:56:46 2026 -0700

    check for ISceneConversions on all mod types

commit fa17471
Author: hachi-ichi <bfolds81@gmail.com>
Date:   Sun Jul 12 07:29:55 2026 +0900

    Fix Japanese upgrade selection prompt for multiple cards

commit 09ca13c
Author: hachi-ichi <bfolds81@gmail.com>
Date:   Fri Jul 10 21:57:35 2026 +0900

    Add Japanese localization

commit 14fda51
Author: lamali <lamali292@gmail.com>
Date:   Wed Jul 8 15:59:53 2026 +0200

    revert hook changes out of scope of pr that might change behaviour.

commit 10a9537
Merge: 2eaa8a5 8343818
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Wed Jul 8 10:02:13 2026 +0000

    Merge pull request Alchyr#335 from BAKAOLC/develop

    Add NativeFileDialogChrome for improved file dialog handling

commit 2eaa8a5
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 8 03:00:32 2026 -0700

    cleanup

commit 7fcc1a8
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 8 03:00:18 2026 -0700

    cleanup

commit 1728b28
Merge: 3153e8c a2fe687
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Wed Jul 8 09:53:05 2026 +0000

    Merge pull request Alchyr#334 from exscape/modconfig-corruption-fix

    Mod config corruption and concurrency fixes

commit 3153e8c
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 8 02:48:43 2026 -0700

    adjust eng loc

commit 5bfe648
Author: Alchyr <isithalchyr@gmail.com>
Date:   Wed Jul 8 02:45:07 2026 -0700

    adjust whatmod display text and increase config options

commit 1260f15
Author: Alchyr <isithalchyr@gmail.com>
Date:   Tue Jul 7 04:46:36 2026 -0700

    move what_mod loc to gameplay_ui.json

commit 0e19a29
Merge: edfc4af 1902002
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Tue Jul 7 11:42:24 2026 +0000

    Merge pull request Alchyr#313 from 1939323749/feature/mod-source-tooltip

    Add "from which mod?" source to tooltips

commit 8343818
Author: OLC <utsumabo@ritsukage.com>
Date:   Tue Jul 7 12:31:48 2026 +0800

    Add NativeFileDialogChrome for improved file dialog handling

    - Introduced a new class, NativeFileDialogChrome, to manage file dialog popups with a custom modal layer.
    - Updated BaseLibConfig to utilize the new dialog handling, allowing for a specified output path for Harmony patch dumps.
    - Enhanced user experience by ensuring dialogs are properly centered and focus is restored after closing.

commit a2fe687
Author: Aeluwas <serenity@exscape.org>
Date:   Mon Jul 6 21:17:08 2026 +0200

    Mod config: improve behavior on broken config

    If the config is corrupt, don't disable saving; instead, move the
    broken config (in case the user has edited it manually) and restore
    defaults.
    This way, corrupt configs don't require user intervention, while still
    not nuking the config for e.g. those who edited it and made a syntax
    error.

    Helps with fixing Alchyr#333 for people already affected.

commit 3c31f03
Author: Aeluwas <serenity@exscape.org>
Date:   Mon Jul 6 19:20:38 2026 +0200

    Mod config: improve load/save thread safety

    Respect _configFileLock for all operations that touch the config file:
    Save, SaveDebounced, Load. Should help prevent mod config corruption.

    Also locks during save cancellation, to correctly debounce when called
    from multiple threads; previously, multiple saves could occur.

commit 5968f99
Author: Aeluwas <serenity@exscape.org>
Date:   Mon Jul 6 17:51:35 2026 +0200

    Mod config: improve save reliability

    Save to a temporary file, and replace the config when successful.
    This prevents truncating the config in some failure cases (locked file,
    crash during save, etc).

    Fixes Alchyr#333.

commit e9bd13d
Author: lamali <lamali292@gmail.com>
Date:   Sat Jul 4 18:47:56 2026 +0200

    Scry

commit edfc4af
Merge: 604a673 877dae6
Author: Alchyr <39511935+Alchyr@users.noreply.github.com>
Date:   Sat Jul 4 06:37:30 2026 +0000

    Merge pull request Alchyr#274 from BAKAOLC/baselib-health-bar-forecast-sync

    Optimized various features related to health bar forecast updates

commit 1902002
Merge: f9e6c8e 424de34
Author: snowlie <1939323749@qq.com>
Date:   Thu Jul 2 14:08:09 2026 +0800

    Merge branch 'develop' into feature/mod-source-tooltip

commit f9e6c8e
Author: snowlie <1939323749@qq.com>
Date:   Mon Jun 29 22:41:09 2026 +0800

    Add "from which mod?" source to tooltips

    Shows which mod a piece of content comes from. Folded into the hover tooltip for cards, relics, powers, potions, enchantments, orbs and afflictions; events and Ancient encounters get an on-screen label (the Ancient one tucked under the name banner, appearing only after the intro settles) and enemies get a line under their nameplate. Adds a ShowModSourceTooltip setting, on by default.

commit 877dae6
Author: OLC <utsumabo@ritsukage.com>
Date:   Thu Jun 11 12:17:41 2026 +0800

    Add health bar forecast features: introduce new properties for left origin layout and exclusive Z group, enhance segment handling, and implement forecast builders for better health bar management.
@quipsol

quipsol commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author
image

I fixed the misalignment :snakepog:

@quipsol
quipsol marked this pull request as draft July 17, 2026 11:22
@quipsol

quipsol commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

Converted to draft due to critical issue with CardRewards

card rewards where auto accepting the set on skip press
@quipsol
quipsol marked this pull request as ready for review July 17, 2026 14:40
@Alchyr
Alchyr changed the base branch from master to develop July 22, 2026 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants