This replaces IgnoreActionsForCheating in TSPlayer with a new
IsDisabledForStackDetection field that tracks the same basic data.
The previous way we did this was storing a string as the "reason"
why a player was disabled for cheating, but it only stored the last
hacked item stack that caused the check to fail. Since we already
have OnSecondUpdate which notifies on _all_ items, we don't need
to store this info in such a useless way anyway. They'll find out
in one second what they need to remove in a more alarmist way.
This is the first commit in a series to rewrite CheckIgnores()
into whatever its replacement becomes.
IgnoreActionsForInventory was probably used by the SSC system prior
to when we had in-game support for SSC (ergo, when we just checked
to make sure you had removed all items before joining and worked
our way up in inventory data to track it). I could be wrong about
this though.
Now, IsDisabledForSSC tracks only if a player is shut down due to
SSC, rather than a reason that gets broadcast.
This reverts commit 3f79a904da.
If prefix is < 1 and we block this event, clients can no longer
delete picked up items. This is what caused what Joshwoo reported.
This change reverts mod to line 1525 of GetDataHandlers.cs in
672d360e9d by Deathamx.
We couldn't think of a reason why a bounds check would ever return
false, thus not handling the packet and letting the server accept
it. Therefore, it's now true.
In the future, we need to document handling better.
Removed PacketTypes.PlayerKillMe since it's out of the protocol.
Removed handler method for PlayerKillMe since it's out of the
protocol.
Updated changelog to reflect new hook changes.
Since these reverts are on a per-tile basis, we only need to revert
the first block not surrounding ones.
Note: May cause problems with dropped sand because of gravity.
Thanks to the suggestion of @bartico6, we now re-transmit packets
of world data to prevent desync issues with respect to stopping a
server action but not fixing the client's view of the world.
Now I know that if I merely open and save a file using Visual Studi
o code, it will automatically munge my tab/spaces on two lines just
for kicks. Thanks Microsoft! You're great at this!
I now have VSCode installed for one reason: to optimize imports.
This required:
1. Installing VSCode.
2. Installing OmniSharp in VSCode.
3. Installing .NET Core so that OmniSharp could start in VSCode.
VSCode is a Microsoft product. It doesn't ship .NET Core. Or Omni
Sharp. Instead, you have to do all of this yourself.
It's not batteries included or anything.
It's actually harder to use OmniSharp in VSCode than it is to use
it in Sublime Text. Except Sublime Text's OmniSharp maintainer
went off and abandoned the project without telling anyone at OmniS
harp. Which gave me the idea that OmniSharp still was maintained
on Sublime Text.
And I just upgraded my Sublime Text license today.
Thanks OmniSharp developer.
There are probably a few components in here that don't make sense
for bouncer (looking at you, regions code). However, it's on my todo
list rather than being an imminent thing.