implement nonstandard drop modes

This commit is contained in:
Martin Michelsen
2023-12-16 10:09:40 -08:00
parent 2bd43391a6
commit 66d7594a36
23 changed files with 1015 additions and 866 deletions
+16 -21
View File
@@ -711,27 +711,22 @@
"AllowDCPCGames": false,
"AllowGCXBGames": true,
// By default, the server keeps track of items in all games, even for versions
// other than Blue Burst. This enables use of the $what command, as well as
// protection against item duplication cheats (the cheater is disconnected
// instead of the other players). If item tracking causes any issues, it can
// be turned off here. This option has no effect on Blue Burst games - item
// tracking is always enabled for them.
"EnableItemTracking": true,
// These options control the behavior of items dropped from boxes and enemies.
// ItemDropMode specifies whether any items drop at all; this setting applies
// to all versions. UseServerItemTables specifies whether the dropped items
// are generated by the client or by the server; this setting applies to all
// versions except BB. For BB, items are always generated by the server.
// Server item tables can only be used in non-BB games if item tracking is
// also enabled.
// Either option can be Off, On, OffByDefault, or OnByDefault. If the
// ByDefault values are used, the game leader can enable or disable drops with
// the $drop command, and can switch between server and client drop logic with
// the $itemtable command.
"ItemDropMode": "OnByDefault",
"UseServerItemTables": "OffByDefault",
// These options control which item drop modes are used by default, and which
// can be chosen by the player. The AllowedDropModes fields are a bitmask
// specifying which modes players can choose with the $dropmode command. The
// modes are (name = mask):
// DISABLED = 0x01
// CLIENT = 0x02
// SERVER_SHARED = 0x04
// SERVER_PRIVATE = 0x08
// SERVER_DUPLICATE = 0x10
// See README.md for more information on drop modes and item tables.
"AllowedDropModesV1V2": 0x1F, // DCv1, DCv2, and PCv2
"AllowedDropModesV3": 0x1F, // GC and Xbox
"AllowedDropModesV4": 0x1D, // BB; CLIENT not allowed
"DefaultDropModeV1V2": "CLIENT", // DCv1, DCv2, and PCv2
"DefaultDropModeV3": "CLIENT", // GC and Xbox
"DefaultDropModeV4": "SERVER_SHARED", // BB
// Rare enemy rates for BB games. The default rates specified here match the
// original rates on the official servers. There is a hard limit of 16 rare