This moves review into a separate permission, aside from "server".
The benefit is that we can grant this to more people without the
need to pass out "server" privs, which has a lot more powers than
needeed.
This doesn't grant noclip. This needs to be done separately. Scoring
will be disabled for those with the review priv.
Instead of ANAND's suggestion to put this function in the `player` API,
I feel it belongs in the `boxes` API instead, other than that it's
mostly similar to his MR#18.
This moves the perk code so it can handle offline players
easily. Granted perks are immediate if the player is online
and otherwise granted at login. This avoids any of the issues
with offline players.
Boxes need to be tested. Untested boxes can not be submitted.
For small edits, re-testing isn't required (<150sec). Lots of
messaging to the builder as well to make sure it doesn't go
unnoticed.
Using the inspector, I found that the teleport-into-box code
overwrites and deletes the gravity and speed values for each
player. This was never intentional.
This fixes that problem. However, that means that my physics estimates
are completely off and I will need to redo the custom physics
values to match the expectations on the server and to make
sure this doesn't massively nerf those values.
oops :(
These are granted to people who have gotten 2 (zoom) or 5 (lobby
sprint) boxes accepted. A telex is sent to inform them, since, they
are likely not on the server when this is done.
I don't 100% trust this code just yet, so make it an admin command
that can be issued while editing a box. The recount seems to work
well and fixes up meta and current count, and stores meta. If edits
are done to the box, these will get the right count as well.
Verified tested with a node creator placing air over creators.
Our spawn pos is already .5 above the ground. We want only
to correct players that fall through the floow. At -0.95 they
can still walk normal, but instead we correct them at -0.45
which almost always hits them.
These can be accessed using enter teleporters where is_series==2.
At that point, the `box` meta value determines the category, not
the box id. Then the next box that is unplayed in that category
is offered for play.
For now, the player is sent a message if there are no more
unplayed boxes in a category.
Overly cautiously list all files explicitly that need covering,
so that it's clear that textures were overwritten with Isabella-II
textures everywhere except a few rare cases (screwdriver etc).
Everything made by me is either listed as derivative of the
origin or CC-BY-SA-4.0 by me.
Some of these are copies from the respective origins from mtg,
to make sure we have headers everywhere listing the proper code.
I've relicensed spectator_mode from WT*PL to LGPL-2.1. No other
licenses were changed.