Mink80
f9c72a62df
fix: Check for same map in BaseCreature.TeleportPets() ( #1259 )
2022-11-21 15:30:30 -08:00
Kamron Batman
18c4459e6b
fix: Fixes region priority and resolution. ( #1254 )
...
- [X] Fixes world location JSON deserializer.
- [X] Fixes region resolver and priorities.
- [X] Removes DynamicJson from regions.
- [X] Adds missing region music.
2022-11-21 10:38:20 -08:00
Voxpire
139be1bc23
fix: Fixes mount block NPE ( #1257 )
2022-11-21 07:11:02 -08:00
Kamron Batman
4c734a23b9
fix: Makes NPC active movement half think speed ( #1256 )
2022-11-20 20:05:43 -08:00
Mink80
10446426c0
fix: Fixes duping of spawners ( #1255 )
2022-11-19 17:46:44 -08:00
Kamron Batman
0abf72ed2f
feat: Adds JSON convertibles ( #1253 )
2022-11-15 18:19:05 -08:00
Kamron Batman
ff79d3db40
fix: Fixes NPE from AddStatMod ( #1252 )
2022-11-15 15:53:41 -08:00
Kamron Batman
32c15f214b
feat: Adds GUID support for codegen ( #1251 )
2022-11-14 21:25:51 -08:00
Kamron Batman
58acfcabad
fix: Codegens teleporters ( #1250 )
2022-11-14 20:56:08 -08:00
Kamron Batman
936000ecf7
feat: Adds SerializedCommandProperty ( #1249 )
...
## Breaking Change
* Removes `SerializableFieldAttrAttribute` in favor of `SerializedPropertyAttr`.
## Important Change
* Adds `SerializedCommandProperty`
Example:
```cs
[InvalidateProperties]
[SerializableField(0)]
[SerializedCommandProperty(AccessLevel.GameMaster)]
private Mobile _completedBy;
```
2022-11-14 18:24:33 -08:00
Kamron Batman
5660f4636e
fix: Finishes code gen for misc items ( #1248 )
2022-11-13 23:10:13 -08:00
Kamron Batman
6d00b2caa9
fix: Fixes critical serial dupe bug and deserialization/serialization issues. ( #1245 )
2022-11-13 15:54:58 -08:00
Kamron Batman
e66efefff3
fix: Removes the old ore info. ( #1247 )
2022-11-13 00:41:26 -08:00
Kamron Batman
d8cfb6b935
fix: Makes logging more consistent ( #1246 )
2022-11-13 00:36:23 -08:00
Kamron Batman
8e0d01d4be
fix: Fixes TryParse for Race ( #1244 )
2022-11-12 00:31:25 -08:00
Kamron Batman
03fb36c869
fix: Adds ISpanParsable and fixes command conditionals ( #1241 )
...
* Adds `ISpanParsable<T>`
* Removes `[Parsable]`
* Fixes querying by serial, body, and a few others.
* Adds `Parse` to `Rectangle3D`
* Fixes AutoArchive NPE
Closes #1209
2022-11-12 00:26:02 -08:00
Kamron Batman
d494a9c78c
fix: Fixes plants crashing on older clients ( #1243 )
2022-11-11 22:49:03 -08:00
Kamron Batman
ed8f2438fd
fix: No acid damage for SC weapons ( #1242 )
2022-11-11 17:57:13 -08:00
Kamron Batman
e9c6faab33
fix: Updates dependencies for .NET 7 ( #1240 )
2022-11-11 11:54:29 -08:00
Kamron Batman
6426996f29
chore: Code Cleanup ( #1239 )
2022-11-10 22:49:25 -08:00
Kamron Batman
4eee508358
fix: Adds logging for possible duplicate objects being added ( #1238 )
...
Adds logging for `World.AddEntity<T>` and `World.AddGuild` just in case.
2022-11-10 20:49:51 -08:00
Kamron Batman
712f089f81
fix: Fixes serilog logging ( #1237 )
2022-11-10 14:47:56 -08:00
Kamron Batman
dc6a70fedd
fix: Fixes the chance of an effect for champion gold ( #1236 )
2022-11-10 02:12:36 -08:00
Kamron Batman
8e01db8555
fix: Fixes random bias & Adds back champion arties for UOML ( #1235 )
...
* Fixes RNG bias, we should never do `Utility.RandomDouble() <=`
* Adds back champion artifacts behind UOML flag.
2022-11-09 16:33:27 -08:00
Kamron Batman
810061db8c
chore: Update from .NET 7 preview to release. ( #1234 )
2022-11-08 09:46:48 -08:00
Kamron Batman
59dcd24bed
fix: Fixes DeltaQueue recursion, StatMod bug, and memory leak ( #1233 )
...
* Fixes recursion with DeltaQueue causing multiple sets of packets to be sent to the client.
* Fixes StatMods that are expired not being checked properly.
* Adds a timer to properly expire/remove stat mods instead of relying on a side-effect.
2022-11-08 09:08:05 -08:00
Kamron Batman
d7d914df6c
fix: Adds ISpanFormattable to Geometry structs ( #1231 )
...
* Adds ISpanFormattable to geometry structs and makes ToString() near-zero-allocation.
* Adds IEquatable, and Parsable to Rectangle3D to get it in-line with the other structs.
Closes #1067
2022-11-06 17:37:30 -08:00
Kamron Batman
c75bde55da
fix: Fixes possible NPE in bounce logic ( #1232 )
2022-11-06 13:55:07 -08:00
Kamron Batman
5bd41d5b68
feat: Adds .NET 7 & Arm64 support ( #1229 )
...
## BREAKING CHANGE
**Publishing for linux will no longer include runtimes**
## Major Changes
* Adds .NET 7 support.
* Adds ARM64 support (experimental).
* Changes linux support to be open-ended against anything .NET 7 supports.
* Fixes native library resolutions. (Make sure to install `dev` versions of the libraries)
* Updates README
* Adds Ubuntu 22, CentOS 8/9 Stream to CI/CD.
## TODOs:
* Update modernuo.com docs
Closes #1173
Closes #1159
2022-11-06 09:59:11 -08:00
Kamron Batman
119eec6b61
fix: Fixes serializing strings in GenericPersistence ( #1228 )
2022-11-04 19:14:50 -07:00
Kamron Batman
448e5bec7b
fix: Fixes multithreading in AllianceInfo serialize ( #1227 )
2022-11-03 21:00:34 -07:00
Kamron Batman
de39b1036f
fix: Fixes IDE modifying arcane circle migration. ( #1226 )
2022-11-02 22:20:52 -07:00
Kamron Batman
e47b62c0ae
fix: Fixes serious stacking issue ( #1225 )
...
* Fixes a major bug where players can stack items into their backpack infinitely even if they get a message saying they can't.
* Fixes other minor issues and cleans up code.
2022-11-02 22:18:44 -07:00
Kamron Batman
d0ba94aa83
fix: Fixes addons that do not give deeds ( #1224 )
2022-11-02 19:26:51 -07:00
Kamron Batman
fd6f4239e2
fix: Adds FindItemOnLayer generic ( #1223 )
2022-11-01 00:49:20 -07:00
mark1145
053dbcbad0
fix: Fixes ignoring mobs, champions, party crash, slayer rarity, boat speedhack, etc ( #1222 )
...
* Movie ignore mobiles to Mobile class
* Allow necromancer familiars to ignore mobiles
* ChampionSpawn should not quietly fail when creating new spawn
* Fix client party crash bug: 2 people partied, the leader logs out, other client is hung
* Fix spellbooks creating with magery/meditation only and creating magery multiple times
* Fix BaseRunicTool.GetRandomSlayer() creating more undead slayers than intended
* Do not allow players to dismount each other whilst mounted
* Fix AOS onwards damage increase tooltip and wrong formula in AOS
* Fix monsters killing other monster revenants + animate dead should not attack player pets + other animates
* Fix fire steed having loot pack added twice
* Fix oaks spawn not able to create Unicorns + Kirins via Activator.CreateInstace() due to constructor having name as parametr
* Fix ignoreMobiles flag not propagated to client for non-players.
* Fix harrower tents not leeching from players
* Fix boats speedhacking around the map
* Fix bless, agility etc. not renewing duration
* Fix reveal always worked
* Fix empty constructor for steeds so they don't throw now.
2022-10-31 22:16:50 -07:00
Kamron Batman
910e06767b
fix: Optimizes TextDefinition to eliminate allocations. Removes TextDefinition ctor. ( #1221 )
...
### BREAKING CHANGE ###
The constructor for `TextDefinition` has been removed. Instead use `TextDefinition.Of()` or cast the integer/string to TextDefinition.
2022-10-30 16:53:23 -07:00
Kamron Batman
8a26afe28b
fix: Fixes regression in primitive UO codegen ( #1219 )
2022-10-30 01:58:45 -07:00
Kamron Batman
2e78a07cab
fix: Fixes NPE in Champion Titles ( #1218 )
2022-10-30 01:49:13 -07:00
Kamron Batman
d791feb583
feat: Adds TextDefinition serialization support. ( #1217 )
2022-10-30 01:42:48 -07:00
Kamron Batman
39e6f62ec9
fix: Codegens more misc items ( #1216 )
2022-10-29 16:08:23 -07:00
Kamron Batman
32a5825ddd
fix: Bumps serialization generator to add CanBeNull support ( #1215 )
2022-10-29 15:25:33 -07:00
Kamron Batman
212ce8bc24
fix: Codegens more misc items ( #1214 )
2022-10-29 00:43:30 -07:00
Kamron Batman
505865e3ed
fix: Codegens misc ML items ( #1213 )
2022-10-28 20:44:08 -07:00
Kamron Batman
ebbffc3755
fix: Fixes world load not deleting bad objects ( #1212 )
2022-10-28 16:58:52 -07:00
Kamron Batman
5151ff66b5
fix: Fixes typo in ResetRng command ( #1211 )
2022-10-27 23:29:51 -07:00
Kamron Batman
49e6c6f2d1
fix: Adds AfterSerialize support. Removes BeforeSerialize support. ( #1208 )
...
### Changes
* Implements an AfterSerialize method that is executed synchronously.
* Removes `BeforeSerialize` support since it was dangerous in its current implementation.
* Moves PlayerMobile kill/virtual decay to AfterSerialize.
* Adds kill decay to after Deserialize.
2022-10-27 23:27:22 -07:00
Kamron Batman
deabab575a
fix: Fixes champion titles atrophying immediately ( #1210 )
2022-10-27 22:15:18 -07:00
Harley Holt
be19d9aae6
fix: Optimizes Point2D by implementing ISpanFormattable ( #1203 )
...
Point2D implements a basic TryFormat function. Only a single format is supported: "(X, Y)" where X and Y are base 10 integers.
Uses recent improvements in string interpolation to write the characters to the destination without first allocating memory for boxed arguments or intermediate strings.
This is a partial solution to issue #1067 . A similar solution well be implemented in other classes in Geometry if it looks promising.
Benchmarks
---
d6f8dabf3c/Program.cs
Before change:
```
BenchmarkDotNet=v0.13.2, OS=ubuntu 22.04
Intel Core i7-9700K CPU 3.60GHz (Coffee Lake), 1 CPU, 8 logical and 8 physical cores
.NET SDK=6.0.402
[Host] : .NET 6.0.10 (6.0.1022.47605), X64 RyuJIT AVX2
DefaultJob : .NET 6.0.10 (6.0.1022.47605), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Gen0 | Allocated |
|--------------------------------- |----------:|---------:|---------:|-------:|----------:|
| CallToString | 44.27 ns | 0.068 ns | 0.063 ns | 0.0063 | 40 B |
| InterpolatedString | 110.64 ns | 0.316 ns | 0.295 ns | 0.0126 | 80 B |
| InterpolatedStringMultiplePoints | 211.36 ns | 0.349 ns | 0.326 ns | 0.0293 | 184 B |
```
After change:
```
BenchmarkDotNet=v0.13.2, OS=ubuntu 22.04
Intel Core i7-9700K CPU 3.60GHz (Coffee Lake), 1 CPU, 8 logical and 8 physical cores
.NET SDK=6.0.402
[Host] : .NET 6.0.10 (6.0.1022.47605), X64 RyuJIT AVX2
DefaultJob : .NET 6.0.10 (6.0.1022.47605), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Gen0 | Allocated |
|--------------------------------- |----------:|---------:|---------:|-------:|----------:|
| CallToString | 55.13 ns | 0.826 ns | 0.772 ns | 0.0063 | 40 B |
| InterpolatedString | 55.73 ns | 0.954 ns | 0.892 ns | 0.0063 | 40 B |
| InterpolatedStringMultiplePoints | 105.42 ns | 0.151 ns | 0.134 ns | 0.0101 | 64 B |
```
2022-10-25 12:08:35 -07:00
Kamron Batman
5797c85d75
fix: Handles timers outside of the wheels max capacity of 17yrs ( #1204 )
2022-10-23 20:29:18 -07:00