Skip to content

Sync recurring "daily" purchases: refinery conversions and faction-store offers #301

Open

Description

@C0RD

recurring "buy" loops in the game produce no sync data at all: refinery and faction-store come with a cost and offer rewards.

My use case: I build/run my own sync receiver for resource planning for tracking stock levels against consumption and pointing out which resources are running low and need refilling by mining, battle or rebalancing expenses. For that it would be helpful to get the information (cost, reward, interval) out of the sync. Currently I'm emulating this by maintaining these tables manually.

Activity

  1. blevouschurverantunt commented on Oct 21, 2026

    @blevouschurverantunt

    The faction-store half is up as #342 (against dev); refinery conversions are not covered.

    • New opt-in [sync] option store_offers (default false, per target like the others) that emits store_offer events: the Faction Store favor offers (consumables) with currency id and price, plus the faction-rank gate.
    • Source: the Platform-service responses the client already fetches (Digit.Platform.Models.ServiceResponse, entity group STOREOFFERS), read in the existing ProcessResultInternal detour. No new hook, no new server calls.
    • One event per factions snapshot (about 120 offers, ~25 KB), sent at login and again only when the list changes, e.g. after a purchase; a bought level drops out of the next snapshot.
    • Sample offer: {"bid":1879677865,"cid":4257393301,"cost":[{"rid":1622589916,"amount":1390}],"req":[{"type":"faction_standing","id":4138978039,"amount":4}],"valid_count":2,"same_remaining_count":2}
    • Also fixes Resource.amount in the Platform content .proto: the server sends fixed32 but the .proto said uint32, so prices were silently dropped. Feedback on the event shape is welcome on the PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions