Skip to content

Advanced item interactions & rotations #194

@Mooses2k

Description

@Mooses2k

BASIC IDEA

This is NOT relevant for melee or ranged weapons.
Pretty much any other item should be able to be picked up and manipulated (pieces of rubble, bottles/potions, etc). Ideally, can be used in the same way (and a sensible way) regardless of hand they're in. I'm imagining a UI where you could hold out a jug into water to fill it up and in the same interface, drink from it.

CONSTRAINTS IN CHOOSING THIS SYSTEM

  • LMB must fire a ranged weapon and attack with a melee weapon
  • RMB tap and hold must both be possible for ADS (Aim-Down-Sights)
  • The control for an action should be accessed from the same player hand as character hand, if possible
  • LMB means use item in hand, RMB generally means use item in world
  • Each control should have a standard, learnable action across almost all items, melee and ranged weapons being special exceptions

DETAILS

Substitute LMB with LAlt for offhand use, substitute MMB with T for offhand throws.
RMB (hold) - follow context dependent list if nothing under cursor

Non-melee or ranged weapons:
* LMB (tap while not pointing at context object) - uses item by itself, which is item dependent (use item, swing, open/close, lights/snuffs light-source, lights bomb fuse, throws lit bomb, threads rope through or around something, throws rope end
* LMB (held while not pointing at context object and rotation doesn't matter) - thrust forward or hold high, such as with a lantern or torch
* LMB (held while not pointing at context object and rotation can matter) - locks camera; with mouse left and right, it's wrist rotations to pour or see the back of something or screw/unscrew or wrench or pry, etc; with mouse up it's move towards camera such as to read a page or drink from a bottle; with mouse down, it's move down to normal hold position or even held further away from player; item returns to default hold when LMB released; mouse up and down's actions here should be reversible in options to fit preference
* LMB + mousewheel - also move item towards and away from player as LMB + mouse up or down
* LMB (facing something interactable with the item) - lock camera; do item-environment context action such as: lit torch held to candle to light, empty fluid container held to fluid of container in world to fill, lock-on to fluid vessel for pouring, rope held to any rigid body to attach end, combine two items, etc
* MMB (tap) - throw
* MMB (hold) - place directly on surface, out to 1.5m interact range (and/or if aiming longer than placement range, wind up and throw further or maybe drop at point indicated on screen)
* LMB (hold) + MMB - just instantly drops straight down from where it is, thrust forward (drop something in a pool or on a table or down a well)

How to deal with pickup when hands are full?

  • if lit object in both hands, no space in inventory, do nothing, bump both lit objects up and down slightly to show player that's why nothing was done
  • if lit object in both hands, is space in inventory, put it straight into inventory without affecting what's in hands
  • if a hand is empty, put it in the best hand, changing the previously held item to the other hand if the other item is better there (rock in right hand, pickup sword, move rock to left, equip sword in right)
  • (don't be annoying and require free hand to snuff light-source in environment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    big impactWould result in large perceived quality gain for the gameblockerBlocking many other issues or work (the backend version of 'big impact')major effortThis will take a lot of work

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions