nullquery / terminus

0 stars 0 forks source link

Inventory management #3

Open nullquery opened 8 years ago

nullquery commented 8 years ago

Players are typically humanoid beings, but may be able to become cyborgs or other entities later. This adds the need for a flexible inventory system that can encompass multiple types of mobs.

The basic functionality of the inventory system is that the player's inventory is split up into "slots", which depend on the type of mob. A human may have a "body" and "head" slot, but a green-eyed tentacle monster might only have a "head" slot (to be able to wear a fancy top hat, of course).

The UI for the inventory system should be intuitive, showing the slots in 32x32 with the items drawn on top of them. When you hover over a slot with an item in it more information about the item should be shown in a tooltip. This will be the place where the description of the item is stored and other properties.

nullquery commented 8 years ago

For KISS, only human slots at first. Taken from SS13:

Implementation of pockets should be for any container space. All potential slots are visible, but if you have certain items equipped (i.e., backpack) more slots are opened.

Slots either support large items or only small items. A large item slot may contain a small item, but a small item slot may not contain a large item.

All items have a weight attached to them which is factored in when the item is in one of the player's slots. Too much weight and the player can't move.

The amount of weight supported depends on the player's STR attribute.

Movement speed is determined by the STR attribute and weight using a dice roll to determine the delay. To avoid constant recalculations the delay should only be recalculated once every N movements.

The movement speed is a physical limitation enforced by gravity, which should be stored as a constant (in case we want gravity manipulation in the future).

Inventory system would ideally look like Jagged Alliance 2's system (where possible):

image

In this case all items are divided up into slots, with some slots being able to contain larger items, slots being disabled if there are no storage items equipped (i.e., backpacks, satchels, vests, etc.)