Extensions:Character Items

From Lorekeeper Wiki
Revision as of 08:32, 4 July 2020 by Mercury (talk | contribs)
Jump to navigation Jump to search
Character Items
Description Enables item attachment, display, and management for characters.
Author(s) Mercury
Status Testing
Github character-items
LK Version Unspecified
Contains a Migration



This builds upon Extensions:Stacked Inventories! Not only is much credit due there, it also bears mention that the changes made there are necessarily included in this extension.

This adds item inventories to characters, as well as management of character items. This includes:

  • Character inventory pages
  • Character inventory logs
  • Granting of items directly to characters (via a modal on the character inventory panel, as with character banks)
  • Attachment of items to characters (via the inv select widget, on the character inventory panel)
  • A separate inventory stack modal for characters, which handles:
  • Transferal of items back to the owning user
  • Deletion of items direct from character inventory

It also changes item logging to handle this by making it akin to currency logging. That is, the existing user_items_log table is renamed to items_log, and has sender and recipient type columns added. Existing log entries are updated in-place and treated as user <-> user.

Character items are also held in their own table. Transferring items between user and character maintains source and notes-- which makes for some slightly strange logs, as the source is re-logged (though the log type is clearly labeled as user <-> character depending on the nature of the transfer). Note that as a consequence of this, items owned by characters remain in their possession when ownership of the character is transferred. To account for this, account-bound items can't be given to characters. However, account-bound/non-transferable items can be granted to characters, in which case they would not be able to be transferred from the character.

Items are not automatically available to be held by characters. Doing so is done via item categories; these now have a toggle on their admin panel interface for the purpose. Additionally, limits may be set per category for the number of items a character may hold. By default/if left empty, it is set to 0/infinite. This is also done via the admin panel interface.

Installation

Pull the branch, then run php artisan migrate.

If you intend to use bootstrapTables , instead pull character-items-bootstrap-tables . It contains both extensions, as well as the necessary compatibility adjustments, and extends implementation of bootstrapTables to character-item related tables.

Configuration

Set availability for any categorie(s) you want characters to be able to own, as well as any item limits for those categorie(s), in the item category admin panel.

Usage

Granting items to characters is done via an admin modal located on the character's inventory page, similarly to character banks. Managing character items is also done on this page, similar to user inventories.

Troubleshooting

If you encounter errors, please find me in the Lorekeeper discord!

See Also