Commit graph

2416 commits

Author SHA1 Message Date
Kamron Batman
a1dffd10ce
fix: Acquired recipes are now a Set (#1596) 2023-11-17 00:04:46 -08:00
Quick
6f0c33bd10
fix: Fixes serialization on disguise kits (#1595) 2023-11-17 00:04:04 -08:00
Kamron Batman
f7626b64f3
chore: Bump fedora version in README.md (#1594) 2023-11-14 17:35:00 -08:00
Kamron Batman
2e4668dbe5
feat: Updates to .NET 8. (#1542)
### Breaking Changes
- Updating to .NET 8 - Required O/S's have slightly changed.
2023-11-14 17:08:09 -08:00
dependabot[bot]
bd79509400
chore(deps): Bump MailKit from 4.2.0 to 4.3.0 (#1590) 2023-11-13 22:11:41 -08:00
dependabot[bot]
24e018995c
chore(deps): Bump Serilog.Sinks.Console from 4.1.0 to 5.0.0 (#1587) 2023-11-10 22:46:17 -08:00
dependabot[bot]
172d4a3642
chore(deps): Bump Serilog from 3.0.1 to 3.1.1 (#1589) 2023-11-10 21:31:03 -08:00
Eric Vintimilla
f71d5bcff1
fix: Fixes missing ethereal horse label (#1585) 2023-11-09 14:16:41 -08:00
dependabot[bot]
1201f04321
chore(deps): Bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 (#1584) 2023-11-08 22:36:06 -08:00
Kamron Batman
c8463e2eaf
fix: Fixes lightning arrow (#1583)
### Summary
- [X] Lightning arrow no longer allows SDI
- [X] Lightning arrow now proc's even without arrows
- [X] Fixed NPE with lightning arrow when a monster is already killed.
2023-11-05 17:36:09 -08:00
Kamron Batman
ca3df9cfa7
fix: Adds multis to map iterators, fixes searching empty nested containers (#1581)
### Summary
Eliminates `IPooledEnumerable<BaseMulti>` and `eable.Free()` from `Map` for multis. This drastically simplifies code that iterates in range, for example:

```cs
foreach (var m in m.GetMultisInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.


### Bug Fixes
- [X] Fixes an issue with searching through nested empty containers.
2023-11-05 08:17:34 -08:00
Kamron Batman
1f04a13f67
fix: Fixes poison field duration, cleans up skill calculations and poison calculations (#1582)
### Summary
- [X] Fixes poison field duration
- [X] Adds SA+ poison spell calculations
- [X] Cleans up skill calculations
- [X] Adjusts poison level thresholds to properly reflect OSI
2023-11-04 12:32:54 -07:00
Kamron Batman
54431f05b5
fix: Fixes memory leak with houses (#1580) 2023-11-03 15:05:08 -07:00
Kamron Batman
977fdc2c5a
fix: Removes GetObjectsInRange and fixes boat planks closing (#1579)
## BREAKING CHANGE

- Deletes `map.GetObjectsInRange` and `map.GetObejctsInBounds`

### Notes

Developers are expected to enumerate mobiles and items separately now using `map.GetMobilesInRange` and `map.GetItemsInRange`. This helps keep the code streamlined so we don't have to maintain multiple copies of ref struct enumerators that do the same thing.


### Fixes

- [X] Fixes bug with planks closing
- [X] Fixes issue with iterating items/mobiles from a null map
2023-11-03 13:45:18 -07:00
dependabot[bot]
cb1638591b
chore(deps): Bump xunit from 2.5.3 to 2.6.1 (#1578)
Bumps [xunit](https://github.com/xunit/xunit) from 2.5.3 to 2.6.1.
- [Commits](https://github.com/xunit/xunit/compare/2.5.3...2.6.1)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 10:52:13 -07:00
Kamron Batman
c53c842c4b
fix: Fixes releases (#1576) 2023-10-30 19:26:10 -07:00
Kamron Batman
cde59a82f2
fix: Adds GetClients to map iterators (#1574)
### Summary

Eliminates `IPooledEnumerable<NetState>` and `eable.Free()` from `Map` for clients. This drastically simplifies code that iterates in range, for example:

```cs
foreach (var m in m.GetClientsInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.
2023-10-30 18:49:00 -07:00
Kamron Batman
469b89370d
fix: Adds back Average CPS to Admin Gump (#1573) 2023-10-30 18:05:32 -07:00
Quick
c32aa39931
fix: Fixes crash on single-core machines (#1572) 2023-10-30 14:44:16 -07:00
Kamron Batman
28c06c1cc0
fix: Changes Map.Sector.Mobiles to link list & Fixes various related crash bugs (#1553)
### Summary

Eliminates `IPooledEnumerable<T>` and `eable.Free()` from `Map` for mobiles. This drastically simplifies code that iterates in range, for example:

```cs
foreach (var m in m.GetMobilesInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.

- [X] Fixed several locations where an NPC that was damaged would cause a server crash.
- [X] Removed an unnecessary allocation in guard fake calls (NPCs calling guards on you)
- [X] Fixes damage precision loss in Poison Strike Spell
- [X] BogThing no longer attempts to "search" for boglings to eat when it is at full health
2023-10-29 22:42:46 -07:00
Kamron Batman
27f0cec1fa
fix: Cleans up Tracking skill and makes it much faster (#1571) 2023-10-29 19:38:59 -07:00
Kamron Batman
8c305261b3
fix: Fixes enabling factions causing NPE (#1569) 2023-10-29 08:32:06 -07:00
Kamron Batman
d919f71149
fix: Fixes map iterators for Items (#1564)
### Summary

Modifying a ValueLinkList using one of the methods will bump the "version". This field is used by iterators (foreach loops) to determine if the link list was modified while iterating. The sector.Items (and in the future other lists), will no longer be safe to modify while iterating. The server will _CRASH_ if the ValueLinkList is modified.

Thanks to @stefanomerotta for help!


### Screenshots
<img width="588" alt="image" src="https://github.com/modernuo/ModernUO/assets/3953314/83ee0b6e-ff4f-4768-9e29-84456e04b1ec">
2023-10-26 17:49:15 -07:00
Kamron Batman
658f564f34
fix: Fix the namespace for serialization ext (#1566) 2023-10-25 20:34:11 -07:00
Kamron Batman
e6d30fef0f
fix: Reverts GetAccount to use IAccount. Adds IAccount to serialization. (#1565)
### Summary

- Fixes usernames not being `Intern`ed
- Reverts methods related to getting accounts from returning `Account` to `IAccount`.
- Makes `IAccount` also `ISerializable`
- Adds `IGenericReader.ReadAccount()` and `IGenericWriter.Write(IAccount)` -> The read method supports the original serialization of username, and using `IAccount.Serial`. The write method only serializes the `Serial`.
- Exposes `ReadStringRaw()` to allow some advanced scenarios.
2023-10-25 19:17:57 -07:00
Eric Vintimilla
a4e2226a5c
fix: FlippableAttribute with empty list will crash the client (#1563) 2023-10-23 10:38:47 -07:00
Kamron Batman
4d8e9fc515
fix: Fixes map item iteration when multis are moved (#1562) 2023-10-22 13:22:11 -07:00
mark1145
f6491c0fe5
fix: Fixes mana vampire creating mana from thin air (#1561) 2023-10-22 12:07:14 -07:00
Kamron Batman
68f3e15e5b
fix: Cleans up doors and house placement (#1560) 2023-10-21 14:20:16 -07:00
Kamron Batman
6239b418a8
fix: Fixes process delta calls during death/res (#1559) 2023-10-21 10:39:13 -07:00
Kamron Batman
aaf0fc32fa
fix: Fixes skill gain issue (#1558) 2023-10-21 10:03:50 -07:00
Kamron Batman
74f67487c4
fix: Adds DupeExcludedProperty to Items (#1556) 2023-10-17 20:14:05 -07:00
Eric Vintimilla
85e23d8d83
fix: Fix for witch's apprentice quest - was not "beatable" (#1554) 2023-10-17 07:57:59 -07:00
Kamron Batman
24858f3989
fix: Changes Map.Sector.Items to link list. (#1547)
### Summary

Eliminates `IPooledEnumerable<T>` and `eable.Free()` from `Map` for items. This drastically simplifies code that iterates in range, for example:

```cs
foreach (var item in m.GetItemsInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.
2023-10-16 20:51:02 -07:00
dependabot[bot]
1330c4a830
chore(deps): Bump xunit from 2.5.2 to 2.5.3 (#1552)
Bumps [xunit](https://github.com/xunit/xunit) from 2.5.2 to 2.5.3.
- [Commits](https://github.com/xunit/xunit/commits)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 20:50:39 -07:00
Kamron Batman
6178f2851a
fix: Fixes item serials (#1551) 2023-10-15 16:58:51 -07:00
Kamron Batman
5b99402666
chore: Cleans up unused imports (#1550) 2023-10-15 11:45:42 -07:00
Kamron Batman
e2f5728258
fix: Fixes null enumerable compile erorr (#1549) 2023-10-15 11:39:00 -07:00
Kamron Batman
d57f1fecc1
fix: Prepares for IPooledEnumerable removal (#1548)
### Summary

- Removes `IPooledEnumerable` (non-generic)
- Changes `IPooledEnumerable<T>` so that  `Free()` is replaced with the `IDisposable` pattern
2023-10-15 11:20:49 -07:00
Kamron Batman
c2d6578955
feat: Adds Next/Prev for future link list support (#1546) 2023-10-14 19:43:10 -07:00
Kamron Batman
fbd194339a
feat: Adds ValueLinkList (#1545) 2023-10-14 18:58:36 -07:00
Vitalii Zurian
f9517854d0
feat: Adds configurable skill and stat gain (#1489)
### Summary

- Adds the following configurations:
```json
"stats.statMax": "125",
"stats.gainChanceMultiplier": 1.0,
"stats.primaryStatGainChance": 0.75,
"stats.gainDelay": "00:10:00",
"stats.petGainDelay": "00:05:00",
"stats.usePub45StatGain": "False"
```

- Adds Pub 45 stat gain rate for UOML+.
- Reduces the gain delay for legacy stat gain from 15 minutes to 10 minutes.
- Legacy gain no longer requires a gain in skill to gain in a stat.
2023-10-14 12:02:36 -07:00
dependabot[bot]
29c7d839a7
chore(deps): Bump xunit from 2.5.1 to 2.5.2 (#1543)
Bumps [xunit](https://github.com/xunit/xunit) from 2.5.1 to 2.5.2.
- [Commits](https://github.com/xunit/xunit/compare/2.5.1...2.5.2)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 17:07:10 -07:00
dependabot[bot]
b4ee44fe44
chore(deps): Bump xunit.runner.visualstudio from 2.5.1 to 2.5.3 (#1544)
Bumps [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) from 2.5.1 to 2.5.3.
- [Release notes](https://github.com/xunit/visualstudio.xunit/releases)
- [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.5.1...2.5.3)

---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 17:06:07 -07:00
Kamron Batman
75c58e2526
fix: Codegens doom items and mobs (#1541) 2023-10-11 23:53:51 -07:00
Kamron Batman
28068c8241
fix: Fixes world save decay (#1540) 2023-10-11 14:04:13 -07:00
Kamron Batman
1ebaf5390d
fix: Fixes span reader ReadString (#1539) 2023-10-11 13:41:24 -07:00
Kamron Batman
0018901a79
fix: Codegens more quest entities (#1538) 2023-10-09 23:58:04 -07:00
Kamron Batman
0086d674e7
fix: Codegens special systems (#1537) 2023-10-09 22:06:09 -07:00
Kamron Batman
e1f22d9694
fix: Adds back missing world state (#1536) 2023-10-09 10:02:39 -07:00