Commit graph

1019 commits

Author SHA1 Message Date
Reetus
f33e218c0b
fix: Fix HolidayTree not serializing components (#2024) 2024-12-17 08:59:50 -08:00
Reetus
e662b78f5a
fix: Fix missing LabelNumber on DisguiseKit (#2021) 2024-12-16 12:32:26 -08:00
Reetus
fefa06d4e0
fix: Fix Lord/Lady title display in paperdoll when fame >= 10000 (#2022) 2024-12-16 12:28:52 -08:00
Reetus
94040f142c
fix: Fixes overlapping text in TithingGump (#2020) 2024-12-16 12:21:09 -08:00
Kamron Batman
54cf52f8ec
feat: Adds missing door types to [adddoor (#2017) 2024-12-12 23:34:41 -08:00
Kamron Batman
c75514cc04
feat: Updates to .NET 9 (#1984)
### Summary

* Bumps to .NET 9 with updated dependencies
* Comparing a value type against null is no longer allowed
* CI/CD now uses the version specified in global.json
* Serialization generator updated to .NET 9 with bug fixes, fixes to turkish language, and parallelization
2024-12-08 10:16:34 -08:00
Kamron Batman
51d15d264c
fix: Removes redundant conditional check in house demolish gump (#2004) 2024-12-03 18:15:58 -08:00
Kamron Batman
ba2a41236c
fix: Fixes demolishing house for a deed (#2003)
### Summary

* Fixes players with no bank box failing to demolish their house.
* Fixes players getting a deed, and a house infinitely.
2024-12-03 17:58:31 -08:00
Kamron Batman
1d08572926
fix: Fixes monster ability firing after dying (#1990) 2024-11-11 08:53:49 -05:00
Kamron Batman
dabaa1eb5a
fix: Fixes honor check crash on target killed (#1987) 2024-10-30 16:33:43 -07:00
Kamron Batman
b17ebda975
fix: Converts BarkeeperTitleGump to static gump and localizes entries (#1980) 2024-10-19 20:36:53 -07:00
Kamron Batman
8bea1496f4
fix: Converts accept protection gump to StaticGump (#1979) 2024-10-19 00:30:59 -07:00
Kamron Batman
318407f9be
fix: Fixes AddProtection backward arguments (#1978) 2024-10-19 00:24:26 -07:00
Kamron Batman
9f985b0c38
fix: Fixes negative acts from explosion spell. Fixes Orc Brute ability (#1974) 2024-10-15 17:51:14 -07:00
Kamron Batman
26c7f5c49b
chore(deps): Bumps xunit to 2.9.2, Serilog to 4.0.2, and MailKit to 4.0.8 (#1973) 2024-10-15 17:04:33 -07:00
Kamron Batman
f16bce60e6
fix: Fixes ethics causing crashes when not used (#1972) 2024-10-15 17:02:11 -07:00
Joshua Kappers
766b46bcc1
fix: Actions on gump crash when Runebook has no entries (#1964) 2024-09-27 10:17:22 -07:00
Kamron Batman
9d9a5220d1
fix: Fixes PlayerZombies null pointer exception (#1963) 2024-09-25 15:27:42 -07:00
Kamron Batman
4e2fcee7a2
chore(deps): Bumps xunit to 2.9.1 and CommunityToolkit.HighPerformance to 8.3.2 (#1962) 2024-09-25 10:27:37 -07:00
Joshua Kappers
3a3c651b85
fix: Ensure server listing address is used when set in config (#1960) 2024-09-21 22:34:56 -07:00
Kamron Batman
2a7aa1905b
fix: Fixes edge cases with the network packet loop (#1959) 2024-09-19 18:25:30 -07:00
Kamron Batman
e0fcde885c
fix: Fixes networking issues (#1958)
### Summary
- Puts back `EventSink.SocketConnect`.
- Reverts networking change to push the networking to a separate thread.
- Reverts changes to the firewall by removing the firewall queue.
- Fixes listeners not shutting down with the server.
- Fixes race condition causing connections to get stuck even after they are disposed.

> [!NOTE]
> **Developer Note**
> Networking has been reverted back to using the main thread instead of a background thread. This alleviated complexity and the requirement for concurrent queues all over the place.
2024-09-19 16:54:49 -07:00
Kamron Batman
465d3c8187
feat: Upgrades serialization v4 (Threaded Heap Serialization) (#1947)
### Summary

- `GenericEntityPersistence` is now a type of `GenericPersistence`. This allows developers to serialize both entities and non-entities in the same system. 🎉
- Each `SerializationThreadWorker` now allocates 1MB of heap for serialization _permanently_. If more memory is needed, that thread will double it's memory, not to exceed increments of 64MB.
- Several bugs with serialization introduced with the pure MMF implementation have been fixed.
- `BinaryFileReader` has been added back. 🎉
- Adds `world.useMultithreadedSaves` to allow disabling threaded saves.

> [!IMPORTANT]
> **Developer Note**
> The split file serialization has been deprecated and is no longer used. We have effectively gone back to the same file writing we had before the pure MMF implementation.
2024-09-14 09:57:43 -07:00
Kamron Batman
8639ed2210
fix: Fixes bad password with SHA1/SHA2 (#1952) 2024-09-12 17:20:44 -07:00
Kamron Batman
2e6ddcd31a
fix: Removes profiling. Streamlines core tick count. (#1948)
### Summary
- Removes `Profiling` - Recommend using Visual Studio Performance Profiler,  [dotnet-trace](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace) or [JetBrains dotTrace](https://www.jetbrains.com/profiler/)
- Cleans up the core tick count, sampling, etc.
2024-09-11 00:55:18 -07:00
Kamron Batman
65bc264402
fix: Fixes Advanced Search crash (#1946) 2024-09-08 20:37:51 -07:00
Kamron Batman
47e16a03fe
feat: Moves network related events to UOContent using code generation (#1945)
### Summary
- Moves `CharacterCreated` event to UOContent using code generated event _CharacterCreatedEvent_.
- Moves `TargetByResourceMacro` event to UOContent using code generated event _TargetByResourceMacro_.
- Moves `GameLogin` event to UOContent using code generated event _GameLoginEvent_.
- Moves `ServerList` event to UOContent using code generated event _ServerListEvent_.
- Streamlines ProfessionInfo


> [!IMPORTANT]
> **Developer Note**
> Custom scripts that use any of these event sinks will need to be updated to use the new code generated events.
2024-09-06 16:57:10 -07:00
Kamron Batman
4110556e89
chore(deps): Bumps dependencies (#1944) 2024-09-05 21:24:47 -07:00
Guyute
95cd8749a3
feat: Adds PlayerDeathEvent and CreatureDeathEvent using code generated events (#1927)
### Summary
- Adds [Code Generated Events](https://github.com/modernuo/CodeGeneratedEvents)
- Removes EventSink.PlayerDeath
- Adds `PlayerDeathEvent` and `CreatureDeathEvent` using code generated events

> [!Important]
> **Developer Note**
> Use `[OnEvent(nameof(PlayerMobile.PlayerDeathEvent))]` instead of `EventSink.PlayerDeath` delegate
> Check this commit for examples of how to use this.
2024-09-05 21:23:03 -07:00
Reetus
d5984ce058
fix: Releasing a Talisman summon deletes your character (#1940) 2024-08-23 09:04:14 -07:00
Reetus
8a41d84239
fix: Fixes Velocity property not displaying value (#1938) 2024-08-20 21:15:12 -07:00
Kamron Batman
35342e296e
fix: Fixes targeting ground with spells (#1937) 2024-08-20 15:51:33 -07:00
Kamron Batman
36c373b76a
fix: Fixes spell targeting (#1934) 2024-08-17 22:45:08 -07:00
Kamron Batman
eecb2f0f44
fix: Fixes focus cliloc name (#1933) 2024-08-15 19:13:09 -07:00
Kamron Batman
779dc9d37b
fix: Fixes null crash on deserialization for Champs (#1932) 2024-08-15 18:55:31 -07:00
Kamron Batman
1272be7be9
fix: Fixes damage scale for AOS (#1931) 2024-08-15 18:32:25 -07:00
Reetus
71a68126da
fix: Set VendorItem Valid AfterDeserialize (#1930) 2024-08-15 07:25:38 -07:00
Guyute
b612c443df
fix: Migrate BOD gumps to DynamicGump (#1926) 2024-08-13 08:13:20 -07:00
Kamron Batman
16d7961dc9
fix: Fixes profession indexing (#1929) 2024-08-12 23:13:53 -07:00
Reetus
29265c2fed
fix: GateTravel sends you to the origin map (#1924) 2024-08-12 09:27:23 -07:00
Kamron Batman
03a6edad45
fix: Disconnect if user tries to give themselves too much skill (#1922) 2024-08-10 12:49:39 -07:00
Guyute
a86601ffea
feat: Restyle young player gumps (#1917)
## Summary

Restyles the three "young player" gumps: `YoungDungeonWarningGump` `YoungDeathNoticeGump` and `RenounceYoungGump` to a cleaner, more consistent style I made up.

### Screenshots
<img width="265" alt="image" src="https://github.com/user-attachments/assets/bd872023-71eb-44ba-8421-f721df1198a5">
<br \>
This one is spooky because they're dead.
<br \>
<img width="443" alt="image" src="https://github.com/user-attachments/assets/ec3729a1-026f-4edc-aaf0-9b353283117b">
<br \>
<img width="467" alt="image" src="https://github.com/user-attachments/assets/f7821050-22dd-408a-a519-789bba813df2">
2024-08-10 11:06:18 -07:00
Guyute
12a75d3c9c
fix: Convert house gumps to static/dynamic gumps (#1912) 2024-08-10 10:56:19 -07:00
Stefano Merotta
aa68d96807
fix: Removes redundant code in GumpSystem (#1921) 2024-08-10 10:20:34 -07:00
Guyute
76bdc7ac02
fix: Moves pricing from PricedHealer to BaseHealer - Combines Res Gumps (#1920) 2024-08-10 10:16:47 -07:00
Stefano Merotta
6fe01488ef
fix: Fix NetStateGumps and other Gumps cleanup (#1919) 2024-08-10 09:57:28 -07:00
Kamron Batman
8282b00ca2
feat: Moves gumps out of the core (#1916)
> [!Important]
> **Developer Note**
> This code change will **completely move gumps out of the core**


### Summary

- Adds `GetGumps()` convenience which exposes methods to Find/Close/Send multiple gumps. This helper is a performance improvement by eliminating the Dictionary<Player, List> lookup for gumps.
2024-08-09 19:07:32 -07:00
Guyute
40d99f6d1c
fix: Converts WhoGump to DynamicGump (#1918) 2024-08-09 18:50:21 -07:00
Guyute
873c25bbc5
fix: Migrates RunebookGump to DynamicGump (#1915) 2024-08-09 18:39:36 -07:00
Kamron Batman
9b7fea2c20
fix: Magic NPCs now use spell range (#1870)
### Summary
- Drastically streamlines the spell targeting by collapsing the target classes into a single `SpellTarget<T>` class.
- Moves TargetRange to the spell itself so it can be used by MageAI.
- Changes range check in MageAI to use TargetRange. This should fix target acquisition bugs
2024-08-08 07:05:27 -07:00