Table of Contents

Enum PlotPermission

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

What somebody who is not the owner may do on a plot.

[Flags]
public enum PlotPermission

Fields

All = Enter | PlaceItems | RemoveItems | InviteFriends

Every permission that may be granted.

The mask unknown bits are cleaned against, so a client that invents a flag cannot store one and a permission removed in a later version stops meaning anything rather than silently becoming whatever now occupies its bit.

Enter = 1

May pass through the plot's boundary and into the house.

InviteFriends = 8

May grant other players access.

Never lets a friend grant more than they hold themselves — see ClampGrant(PlotPermission, PlotPermission). Otherwise the weakest permission on the list is the only one that matters, because whoever holds it can hand themselves the rest.

None = 0

No access at all. What a stranger has, and what a revoked friend goes back to.

PlaceItems = 2

May place structures and decorations.

RemoveItems = 4

May take structures and decorations away again.

Deliberately separate from PlaceItems, and the more dangerous of the two: removal is what destroys work, and what sends things to the owner's vault where they cost money to get back. A friend helping decorate needs one; only a trusted one needs both.

Remarks

Flags rather than a rank, because these are not ordered. Trusting a friend to redecorate is not a superset of trusting them to bring other people round, and a server that forced them onto one scale would make every grant a choice between too little and too much.

The owner is never represented here. Ownership is not a grant — it cannot be revoked by an access row, and a plot whose owner appeared in its own access list would be one bad delete away from a house its owner could not enter. PlotAccess answers for the owner separately.

Stored as an integer bitmask, so the values must not be renumbered.