Skip to content

Gifts: items from a GM or the server owner which reach players through the waiting items #1493

Open

Description

@Mosch0512

Split out of #1475 (part A: #1487, #1491), to discuss before building it.

Goal

A GM or the server owner can give items to players (an event prize, a compensation), also while they are offline or their inventory is full. The item goes into the waiting items of the character (#1487) with the reason "gift" and an optional text, and is put into the inventory as soon as it fits, like any other waiting item. The player is told who sent it and the text.

What exists today

None of them reaches several players, and none keeps the item when there's no space.

Open questions

  1. Recipients: one character, all characters of an account, the members of a guild, all players currently online, all characters? Only online players at that moment, or also players who log in later (e.g. "everyone who logs in this week")?
  2. Where to give it: an admin panel page, a GM chat command (e.g. /gift <character> <item>), an API endpoint, or several of them?
  3. Offline characters and other game servers: the waiting items in feat(items): an item which finds no place when its storage is loaded waits for space in the inventory #1487 belong to the character aggregate, so they can only be changed safely by the game server which has the character loaded. A gift to an offline character, or to one on another game server, could instead be a separate aggregate root which the game server takes over into the waiting items when the character enters the game, like CastleSiegePendingReward and CashShopStorageItem do. Is that the preferred way?
  4. Limits and log: a maximum number of waiting items per character? Should gifts be recorded in the admin audit log (who gave what to whom)?
  5. Client GUI: should MuMain (sven-n/MuMain) get its own GUI for this, e.g. a "Waiting items" window with the gift texts and a Take button per item, with new packets to list and take them? Without it, the server-only way of Waiting items: a per-character list for items which find no space (data changes, GM gifts) #1475 works with every client (system messages, /waiting, automatic delivery), but a player can't choose which item to take first, and long gift texts only show as chat lines. This would be a follow-up after the server part.

Activity

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