Kamron Batman
78feea86b4
feat: Adds scheduler with wallclock timer ( #2163 )
...
### Summary
* Adds an event scheduler.
* Adds conveniences for hourly, daily, weekly, biweekly, monthly, ordinal monthly, and yearly recurrences
Example:
```cs
var tz = TimeZoneInfo.FindSystemTimeZoneById("America/New_York");
// Specify the time of the day, and the day of the week you want it to occur. Make sure it is translated into Utc.
// The next occurrence will be _after_ the specified date/time.
var scheduledEvent = EventScheduler.WeeklyAt(new DateTime(2025, 04, 26, 17, 00, 00), StartEvent, tz);
void StartEvent()
{
World.Broadcast(0x30, false, "The event has started!");
}
Console.WriteLine("Event starts on {0}", scheduledEvent.NextOccurrence);
```
In this example, on _Saturday, May 3rd, 2025 @ 5pm ET_, the message "The event has started!" will be broadcasted.
2025-04-26 22:27:08 -07:00
Kamron Batman
4e25c74cdf
fix: Fixes magical barrier NPE and an edge case ( #2162 )
2025-04-22 17:52:09 -07:00
Kamron Batman
47b03f5d62
fix: Fixes NPCs not able to equip armor/clothing/weapons ( #2161 )
2025-04-21 14:01:08 -07:00
Kamron Batman
4aa272d429
feat: Adds an Item/Mobile memory leak detector. Fixes minor leak in doors. ( #2159 )
...
### Summary
Adds the command [TrackLeaks to enable tracking item/mobiles that have been deleted but still have dangling references. Requires adding the _TRACK_LEAKS_ define constant during build.
2025-04-15 19:14:45 -07:00
Kamron Batman
61d074213b
chore(deps): Updates MailKit to 4.11.0 and Microsoft deps to 9.0.4 ( #2156 )
2025-04-12 12:54:40 -07:00
Kamron Batman
a94814a7ef
fix: Fixes and optimizes NameVerification and ProfanityProtection ( #2153 )
...
### Summary
Significantly improves the performance of NameVerification & ProfanityProtection:
```cs
| Method | Mean | Error | StdDev |
|--------------- |----------:|----------:|----------:|
| ValidateName | 728.34 ns | 13.244 ns | 11.059 ns |
| ValidateNameSV | 26.62 ns | 0.233 ns | 0.207 ns |
```
2025-04-12 02:26:10 -07:00
Kamron Batman
0ce2a62a76
fix: Use vectorized search for username-password validation. ( #2152 )
...
### Summary
Optimizes account validation:
```cs
| Method | Mean | Error | StdDev |
|-------------------- |-----------:|----------:|----------:|
| ForLoopUsernameSafe | 158.536 ns | 1.6247 ns | 1.5198 ns |
| SVUsernameSafe | 2.859 ns | 0.0581 ns | 0.0796 ns |
```
2025-04-11 22:40:06 -07:00
Kamron Batman
0a4579f298
fix: Fixes duping bags ( #2148 )
...
### Summary
Fixes duping items in a container not working properly.
2025-04-07 22:27:41 -07:00
Kamron Batman
2c6f1854fa
fix: Fixes guards attacking mobs ( #2145 )
...
### Summary
- Fixes infinite teleport from guard refactor for spawners
- Fixes guards not attacking Always Murderer creatures
- Fixes crash when calling guards due to map modification while enumeration
2025-03-12 16:45:39 -07:00
Kamron Batman
47da961a37
fix: Fixes spawning guards. Adds back non-lethal with config ( #2140 )
2025-03-12 13:08:14 -07:00
mark1145
0024d53739
fix: Fixes edge cases where a leader resigns and becomes promoted in their new guild. ( #2136 )
2025-03-05 17:59:07 -08:00
Kamron Batman
56e3086ed1
fix: Makes hairdye gump static ( #2138 )
2025-03-04 15:55:05 -08:00
Kamron Batman
49fd5f210d
fix: Fixes removing virtue when player is deleted ( #2135 )
2025-03-02 17:50:18 -08:00
Kamron Batman
2a8c62e8be
fix: Fixes TCPServer accept async, makes Firewall/IP Limiter multithreaded ( #2134 )
2025-02-27 22:19:38 -08:00
Kamron Batman
bcab91255a
fix: Fixes EVs/BSs attacking players in Pre-AOS ( #2132 )
2025-02-26 18:43:49 -08:00
Voxpire
b8a8bfd1a9
fix: Fixes console clobbering when prompted to add an owner account ( #2133 )
...
### Summary
- Updates AccountPrompt to use `logger` to avoid console clobbering
### Screenshot

2025-02-26 18:43:20 -08:00
Kamron Batman
d10b32aed3
fix: Fixes dead plant serialization ( #2128 )
2025-02-19 15:23:49 -08:00
Kamron Batman
525112943c
fix: Changes Chyloth gump to static ( #2126 )
2025-02-14 00:18:38 -08:00
Kamron Batman
2e08eda8cb
feat: Standardizes South/East selection gumps ( #1839 )
2025-02-14 00:15:14 -08:00
Kamron Batman
279b10dd0f
feat: Replaces params array with params ReadOnlySpan ( #2125 )
2025-02-13 21:19:02 -08:00
Kamron Batman
90059c5e74
feat: Adds convenience methods to GumpStringsBuilder ( #2124 )
2025-02-13 19:58:46 -08:00
Kamron Batman
6d7b1b8bee
fix: Adds missing string interpolation handler for SetStringSlot ( #2123 )
2025-02-13 19:30:47 -08:00
Kamron Batman
899146dcb7
fix: Fixes static gumps sending too much data. ( #2122 )
2025-02-13 19:12:28 -08:00
Kamron Batman
3cf1bd0f7d
fix: Fixes AddLabelPlaceholder on StaticGump ( #2121 )
2025-02-13 18:53:24 -08:00
Kamron Batman
41e909cd22
fix: Fixes serialization generator issue with arrays ( #2120 )
2025-02-12 22:30:46 -08:00
Kamron Batman
af027cdac6
Bumps dependencies. Fixes bugs with serialization generator ( #2119 )
2025-02-12 20:50:28 -08:00
Kamron Batman
2d0957119e
feat: Adds BaseGump.GetGumpOffsetForItemGraphic ( #2116 )
2025-02-10 19:53:47 -08:00
Kamron Batman
40479c946a
feat: Adds item graphic size to Bounds.bin and makes item graphic offset available to gumps ( #2115 )
2025-02-10 19:31:39 -08:00
Bohica
772511d1e8
fix: Reverts GetProtOffset, Adds PreT2A Weapon Damage & PreUOR Armor Durability ( #2114 )
2025-02-06 01:27:40 -08:00
Bohica
51367df0d2
fix: Fixes AR/Durability/Tool Uses for Pre-UOR and LBR ( #2113 )
2025-02-05 19:54:56 -08:00
Kamron Batman
d407847fc4
fix: Fixes axes not working when equipped or in backpack ( #2112 )
2025-02-04 22:11:29 -08:00
Bohica
1c5fa824d6
fix: Fixes all summon spells so they use summoned variation of monster ( #2106 )
2025-02-03 23:44:51 -08:00
Bohica
de12f8cb02
fix: Fixes turning to target on spellcast ( #2107 )
2025-02-03 17:38:07 -08:00
Kamron Batman
2c806cb072
fix: Converts house placement gumps to dynamic ( #2100 )
2025-02-02 13:25:05 -08:00
Kamron Batman
1264302ee0
fix: Converts barkeep and house foundation commit gumps to dynamic ( #2099 )
2025-01-27 21:36:56 -08:00
Kamron Batman
cbae44ef20
fix: Updates SummonFamiliar & Tracking gumps to static ( #2098 )
2025-01-27 17:57:25 -08:00
Kamron Batman
ed87df1a61
fix: Converts bedroll/insurance gumps to static. ( #2096 )
2025-01-27 14:00:32 -08:00
Kamron Batman
b5e3f49d06
fix: Converts MakersMark gump to static & CraftGumpItem to dynamic ( #2095 )
2025-01-27 11:29:23 -08:00
Kamron Batman
6d879e1d22
feat: Simplifies honorable execution ( #2089 )
2025-01-26 23:05:54 -08:00
mark1145
c0eb6c81fe
fix: Fixes door monster LOS exploit & AOS House Gump NPE ( #2091 )
2025-01-26 23:04:01 -08:00
Kamron Batman
f241a9dec0
fix: Fixes the wrong unit used for BuffIcon Timers ( #2093 )
2025-01-26 22:17:03 -08:00
Kamron Batman
ea364237f0
fix: Fix crash from not enough fish to kill in Aquarium ( #2092 )
2025-01-25 18:45:20 -08:00
Kamron Batman
a8b625b338
fix: Aquarium no longer uses list to kill fish ( #2090 )
2025-01-25 17:41:27 -08:00
mark1145
d5160bd6db
fix: Fixes buffs don't start/stop properly. Streamlines constructor and Add/Remove buffs. ( #2082 )
2025-01-24 18:20:23 -08:00
Kamron Batman
c8f13b2933
fix: Fixes runebook OPL not updating with charges ( #2088 )
2025-01-24 18:17:55 -08:00
Kamron Batman
28460114cb
fix: Converts metal/strong puzzle chest to serialiation generator and puzzle gump ( #2087 )
2025-01-23 22:42:50 -08:00
Kamron Batman
2a97db34e8
fix: Adds quest items to serialization generator ( #2086 )
2025-01-23 21:59:15 -08:00
Bohica
8e48177cd4
fix: Fixes rangePerception to 16 to match OSI ( #2084 )
2025-01-23 21:27:18 -08:00
Nathan Oines
e2a41ed77c
chore: Removes commented Thank You for vendor buyback. ( #2083 )
2025-01-21 17:53:21 -08:00
Kamron Batman
aa6fbb66bc
fix: Fixes strangle buff icon appearing on fizzle and adds comment about bug on OSI ( #2081 )
2025-01-21 17:52:32 -08:00