ModernUO/Projects/UOContent/Gumps
Kamron Batman 26f784f45d
fix: Overhauls murder system (#1419)
## MAJOR CHANGE (API BREAKING)

Added a player murder system to facilitate reporting murders. This should make it easier to extend to create a bounty system or  other related game content. Player murders will be saved in a folder called _PlayerMurders_.

### Motivation

The motivation was two-fold, performance, and bug fixes.

First, murders are one of two systems that do a pre-world-save check on _every mobile in the game_ to decay kills and set their expiring murders. This is taxing since it freezes the world and makes world saves take longer. Every mobile has ShortTermMurders even though it is a player concept. And next, 90%+ of players are not murderers but had an ever increasing MurderElapse time that was being tracked against GameTime. These properties were also serialized unnecessarily for all mobs.

Second, when I tried to optimize/refactor the code, it was obvious that the system has bugs.

### Major API Changes
- [X] Created a player murder system and moved `ShortTermMurders`, `ShortTermElapse`, and `LongTermElapse` to the system.
- [X] Added convenience property `PlayerMobile.ShortTermMurders`.
- [X] Added convenience properties `PlayerMobile.ShortTermMurderExpiration` and `PlayerMobile.LongTermMurderExpiration`
- [X] Moved ReportMurdererGump.cs
- [X] Adds an `EventSink.PlayerDeleted` event.

### Notes
The system currently does not support NPCs. To support expiring murders on NPCs I highly recommend a different architecture for large servers (500k+ mobs including players). Specifically switching from looping through all MurderContext to a time-order link list.
2023-07-15 22:42:49 -07:00
..
Go fix(cleanup): Consolidate the duplicate code in Properties, PropsGump, and PropsConfig (#540) 2021-04-14 22:58:56 -07:00
Guilds fix: Cleans up create guild gump (#1326) 2023-01-31 23:51:01 -08:00
Props fix: Prevent setting properties of higher privileged mobiles (#1420) 2023-07-15 22:01:33 -07:00
AddDoorGump.cs C# 9 Cleanup (#325) 2020-11-27 00:29:21 -08:00
AdminGump.cs fix: Exclude higher privileged mobiles in AdminGump (#1423) 2023-07-15 22:12:38 -07:00
BanDurationGump.cs fix: Update LabelTo, SendMessage, etc to Interpolated Strings (#1283) 2022-11-28 19:58:12 -08:00
BaseConfirmGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
BaseGridGump.cs feat: Adds [Spawn command & Gump Grids (#917) 2022-06-30 22:22:51 -07:00
BaseImageTileButtonsGump.cs feat: Adds TextDefinition serialization support. (#1217) 2022-10-30 01:42:48 -07:00
ClientGump.cs fix: Update LabelTo, SendMessage, etc to Interpolated Strings (#1283) 2022-11-28 19:58:12 -08:00
CommentsGump.cs chore: Cleans up pattern checks. (#892) 2021-12-24 15:53:59 -08:00
ConfirmBreakCrystalGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
ConfirmHeritageGump.cs Fixes dupe exception (#258) 2020-09-19 15:46:07 -07:00
ConfirmHouseResize.cs cleanup: Fixes bugs and cleans up code (#660) 2021-07-19 20:49:59 -07:00
ConfirmReleaseGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
HeritageTokenGump.cs fix(core): Removes some uses of Linq (#421) 2021-01-18 21:05:11 -08:00
HonorSelf.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
HouseDemolishGump.cs fix: Fixes bank checks falling to the floor. (#972) 2022-03-26 21:06:46 -07:00
HouseGump.cs fix(core): Optimizes strings / .NET 5 compatibility changes (#354) 2020-12-20 23:21:55 -08:00
HouseGumpAOS.cs fix(core): Caches DateTime.NowUtc (#548) 2021-03-13 01:32:04 -08:00
HouseTransferGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
NoticeGump.cs fix: Adds more null checks for text definition to prevent NPEs (#936) 2022-02-18 11:13:38 -08:00
PetResurrectGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
PlayerVendorGumps.cs chore: Cleans up pattern checks. (#892) 2021-12-24 15:53:59 -08:00
PolymorphGump.cs C# 9 Cleanup (#325) 2020-11-27 00:29:21 -08:00
ReclaimVendorGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
ResurrectGump.cs fix: Overhauls murder system (#1419) 2023-07-15 22:42:49 -07:00
RewardGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
RunebookGump.cs fix: Fixes badly formatted files (#878) 2021-12-05 08:56:09 -08:00
SetSecureLevelGump.cs Formats UO Content (#201) 2020-08-27 18:30:38 -07:00
SkillsGump.cs fix(cleanup): Consolidate the duplicate code in Properties, PropsGump, and PropsConfig (#540) 2021-04-14 22:58:56 -07:00
TithingGump.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00
ToTAdminGump.cs Cleanup & Fixes for .NET 5 (#309) 2020-11-15 10:03:50 -08:00
VendorInventoryGump.cs cleanup: Fixes bugs and cleans up code (#660) 2021-07-19 20:49:59 -07:00
VendorRentalGumps.cs chore: Cleans up pattern checks. (#892) 2021-12-24 15:53:59 -08:00
ViewHousesGump.cs chore: Cleans up pattern checks. (#892) 2021-12-24 15:53:59 -08:00
WarningGump.cs fix: Adds more null checks for text definition to prevent NPEs (#936) 2022-02-18 11:13:38 -08:00
WhoGump.cs fix(cleanup): Consolidate the duplicate code in Properties, PropsGump, and PropsConfig (#540) 2021-04-14 22:58:56 -07:00
YoungGumps.cs Fixes brace style (#248) 2020-09-13 21:49:46 -07:00