Sorry, we don't support your browser.  Install a modern browser

Additional Player.Action entries#777

At of v13.1 Hotfix 2 we have 14 actions in TTS (listed at the end of this post) triggered by onPlayerAction() and I’d like to suggest some additional useful actions.

Suggested New Actions
In order of my personal desire to see implemented

Reset -- allows us to prevent users resetting a container (thus deleting the contents)
Search -- allows us to prevent users searching containers
ShakeToGroupRandomize -- allows us to prevent users from grouping/randomizing objects by shaking them. We can personally disable this in our misc settings but I'd like control in some mods over users being able to.
Draw -- allows us to prevent users drawing, this would also includes hovering over a container and typing a number aka QuickDraw
Deal -- allows us to prevent users dealing
Split -- allows us to prevent users from splitting a deck
Spread -- alows us to prevent users from spreading a deck
DeckCut -- allows us to prevent users from cutting a deck (not to be confusd with CTRL+X cutting as it exists already in Actions. The naming conflict would need to be resolved).

And likely a new Action for when a container is held by a player (holding primary click) then tapping alternate click to drop items out of the container. As there is no scripting or ui equivalent of this ability, I am unsure of what to call it so a placeholder is Eject.

Eject -- allows us to prevent users ejecting objects from a container

Reasoning

The reasoning behind wanting these actions is we have a lot of scripting ability to prevent users performing speicifc actions but are either limited to not preventing all related actions (e.g: .interactable = false) _or_ preventing other acitons we’d like to keep (through permissions). Examples below.

I am aware of the permissions but would like to see this functionality in scripting so it can be altered realtime and on a per-player basis, and without requiring knowledge from the host about the permissions system. Keeping mod-specific behaviour within the mod.

We can prevent objects entering a container with tryObjectEnter() (except via searching and dropping but a seperate ticket for that)
We cannot prevent objects leaving containers by Draw (+ hover and typing a number), Deal, Cut, Split, Spread or through Search

Scenarios why I’d want this functionality

This list is nowhere near exhaustive

  • To allow only specific players e.g. GameMaster Draw objects from a speicfic container (for example: almost every RPG table/mod ever)
  • To allow users to Draw and Deal from a deck but not Spread, DeckCut or Split (usage most single-deck based games, weak example: Pontoon)
  • Prevent users from Searching a container while still allowing them to perform other actions on that container e.g. Draw/QuickDraw (for example: Orleans)

Summary

On a design note, I hope scripters can get full, live control over what users can perform what actions at any given time, and hope to see this (eventually) extended to all actions possible in TTS. This would allow us to make our mods both more reliable (by preventing users from doing actions to objects that would break our scripts) and intuitive (by preventing users from doing actions that would confuse gameplay)

Notes

Currently Player.Action contains:

Copy, Cut, Delete, FlipIncrementalLeft, FlipIncrementalRight, FlipOver, Group, Paste, PickUp, Randomize, RotateIncrementalLeft, RotateIncrementalRight, RotateOver, Select, Under
3 years ago
B
Changed the status to
Research
3 years ago

“Drop Out” could be another term for Eject. But Eject’s a good name

3 years ago

Also please add ping, as in when you press TAB to that list. This would allow an amazing array of new shortcuts, such as moving objects without having to pick them up.

3 years ago

Alt-zoom as well.

2 years ago

Well, lets get down to details. MouseDown and MouseUp, keyDown, keyUp…
would allow me to implement tryObjectPickUp() and onObjectTap() (which doesn’t trigger the pickUp() animation. Sometimes I just want to prevent clicks too!

2 years ago