Commit graph

2318 commits

Author SHA1 Message Date
dependabot[bot]
083bfe7294
chore(deps): Bump Microsoft.NET.Test.Sdk from 17.7.1 to 17.7.2 (#1479)
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.7.1 to 17.7.2.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](https://github.com/microsoft/vstest/compare/v17.7.1...v17.7.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  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-08-30 08:35:42 -07:00
Kamron Batman
e5439c1a8f
fix: Adds a timeout and retry to public IP detection (#1478) 2023-08-29 08:56:50 -07:00
Kamron Batman
ea7302de59
fix: Removes echo in publish that is not needed (#1477) 2023-08-29 07:53:10 -07:00
Kamron Batman
fc3aa13b8e
fix: Fixes memory leak in virtual mounts and codegens specials (#1476) 2023-08-25 22:42:23 -07:00
Kamron Batman
701deb53c1
fix: Codegens healers and fixes flamespurt trap (#1475) 2023-08-25 21:20:13 -07:00
Kamron Batman
daa154d6de
fix: Codegens guards (#1474) 2023-08-25 20:59:11 -07:00
Kamron Batman
877595c513
fix: Codegens familiars (#1473) 2023-08-25 20:51:38 -07:00
Kamron Batman
06309d9d59
fix: Codegens traps (#1472) 2023-08-25 20:44:37 -07:00
mdodkins
c341d6ad3e
fix: Fixes expansions.json to correctly reflect name of supported feature flags (#1471) 2023-08-25 11:55:36 -07:00
Kamron Batman
c5d26eb8cd
fix: Removes unused SetOldSaveFlag method (#1470) 2023-08-23 22:48:26 -07:00
Kamron Batman
ffb0b24e1a
fix: Codegens talismans - Fixes memory leak (#1469) 2023-08-23 22:41:48 -07:00
Kamron Batman
ca89b8b08b
fix: Codegens suits and adds StaffRobe to replace the others (#1468) 2023-08-23 20:25:54 -07:00
Kamron Batman
f56cb31db6
fix: Codegens rest of special items (#1467) 2023-08-23 20:02:46 -07:00
mdodkins
976680699c
fix: Fixes JSON TypeConverter so that it can deserialize full name types (#1466) 2023-08-21 21:25:09 -07:00
Stefano Merotta
52ca1fe686
fix: Replaces FindItem(s)ByType(s) implementation with BFS strategy (#1454) 2023-08-18 22:05:28 -07:00
Kamron Batman
cd5fddd8d1
fix: Fixes stat mod having no owner (#1463) 2023-08-17 22:01:44 -07:00
Kamron Batman
35b7c35167
fix: Fixes tests to use C# 11 syntax (#1462) 2023-08-17 00:58:44 -07:00
Kamron Batman
2c8d54549c
fix: Changes C# version to 11 (#1461) 2023-08-16 20:12:56 -07:00
Kamron Batman
2eebf4f48d
fix: Fixes crashing while trying to detect old clients (#1459) 2023-08-16 00:20:26 -07:00
Kamron Batman
1e422db9e8
fix: Fixes boat movement switching (#1458) 2023-08-16 00:05:07 -07:00
Kamron Batman
6e23afe7c6
fix: Fixes boat movement bugs & distorted entity placement. (#1457) 2023-08-15 21:14:56 -07:00
Stefano Merotta
431e7fb8fe
fix: Fixes FindItemsByType<T> that block recursion (#1453) 2023-08-12 15:37:13 -07:00
Kamron Batman
455b11de9c
fix: Updates schema generator to 2.6.4 (#1452) 2023-08-11 00:09:56 -07:00
Kamron Batman
09fc30546b
fix: Fixes RunebookEntry serialization and removes unused migrations (#1449)
### Summary

- [X] Removes migration files were committed that aren't actually (and have never) been used.
- [X] Moves runebook entry from being manually serialized to using the serialization generator.
2023-08-10 19:27:01 -07:00
mdodkins
23c729f31b
fix: Fixes PlayerVendor customizations not working due to constructor issues (#1451) 2023-08-10 19:24:45 -07:00
Kamron Batman
8389bfacfe
chore: Updates copyright (#1448) 2023-08-09 09:09:26 -07:00
dependabot[bot]
b4b3af84d4
chore(deps): Bump Serilog from 2.12.0 to 3.0.1 (#1447)
Bumps [Serilog](https://github.com/serilog/serilog) from 2.12.0 to 3.0.1.
- [Release notes](https://github.com/serilog/serilog/releases)
- [Commits](https://github.com/serilog/serilog/compare/v2.12.0...v3.0.1)

---
updated-dependencies:
- dependency-name: Serilog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-09 08:51:52 -07:00
Kamron Batman
c120783fba
chore: Adds dependabot.yml (#1446) 2023-08-09 08:21:01 -07:00
Kamron Batman
bde5357f89
fix: Removes Moq due to privacy concerns (#1445)
Due to privacy/security concerns, Moq has been removed.

See: https://github.com/moq/moq/issues/1372
2023-08-09 08:12:45 -07:00
Kamron Batman
0fa2e5cedb
fix: Fixes publish architecture parameter (#1444) 2023-08-08 09:15:35 -07:00
Kamron Batman
bd661da81c
fix: Fix sending blockers to GMs (#1441) 2023-08-05 19:44:47 -07:00
Kamron Batman
29ffc9cd52
fix: Fixes champs stop (#1440) 2023-08-03 20:36:01 -07:00
Kamron Batman
4b8e2d407b
fix: Fixes champs start (#1439) 2023-08-01 19:46:54 -07:00
mdodkins
a9a2a89908
feat: Customize expansion and set maps on first boot (#1425) 2023-07-31 20:46:49 -07:00
Kamron Batman
3ffe049e08
fix: Fixes champ spawns using wrong constructor (#1438) 2023-07-31 13:53:24 -07:00
Kamron Batman
56c40fffbd
fix: Fixes RemoveFollowers called twice (#1437) 2023-07-29 15:44:23 -07:00
vexyl
d6ebe67dd8
fix: Fixes untamed creatures not entering houses (#1436) 2023-07-29 15:43:39 -07:00
Kamron Batman
b8df42721f
fix: Fixes inaccessible items. (#1435)
### Summary
- [X] Fighters and Paladins did not have the correct strength to equip certain items in AOS+
- [X] Removed Chaos/Order shields from Fighters
- [X] Moved all item equips so they are done after stats are assigned.
2023-07-28 19:29:06 -07:00
Kamron Batman
6547239fa6
fix: Fixes NPE in champ titles (#1434) 2023-07-28 00:39:10 -07:00
Kamron Batman
51ecee6caa
fix: Overhauls champion titles & codegen champion system (#1430)
## MAJOR CHANGE

Added a champion title system to facilitate the existing champion titles. This should make it easier to extend or create other related game content. Champion titles will be saved in a folder called _ChampionTitles_.

### Motivation

The motivation to refactor was two-folder, but mostly related to performance in two ways.
First, every player had a ChampionTitleInfo object with an array of ChamptionTitleInfo. We want to eliminate the need for this information unless a player actually uses it. This should save a considerable amount of memory.

Second, to facilitate the atrophy mechanic, the champion titles would run atrophy post-world save, adding to the time that the server is frozen. Eliminating this post-world save side effect unlocks our ability to further optimize the world save process since there are no direct side effects.


### Bugs fixed

- [X] Fixed titles getting cut off on the paperdoll
- [X] Fixed champion title not displaying overhead (OPL)

### Screenshots
<img width="216" alt="image" src="https://github.com/modernuo/ModernUO/assets/3953314/8916f895-8d68-4fb0-892e-108a0c43be90">
2023-07-27 21:44:06 -07:00
Kamron Batman
4dddc8d3f1
fix: Fixes NPE in BaseRanged.OnMiss (#1433) 2023-07-27 09:17:52 -07:00
Kamron Batman
72557ffb97
fix (readme): Update README.md (#1432) 2023-07-26 20:54:10 -07:00
Kamron Batman
d9d04f1f38
fix: Adds better arm64 support (#1409) 2023-07-26 20:43:42 -07:00
mdodkins
d366e02251
fix: Fixes missing ordinal string comparisons arguments. (#1431)
---------

Co-authored-by: Kamron Batman <3953314+kamronbatman@users.noreply.github.com>
2023-07-23 20:12:38 -07:00
Kamron Batman
8eb480bdf5
fix: Fixes out of range crash with murder context (#1429) 2023-07-22 09:12:04 -07:00
Kamron Batman
f77dd91811
fix: Overhauls virtue system (#1376)
## MAJOR CHANGE (API BREAKING)

Moved the virtues to it's own system _VirtueSystem_. This should make it easier to extend or remove the virtue system. Virtues will be saved to a new folder called _Virtues_.

### Motivation

The motivation was also two-fold, performance/stability, and to fix bugs.

First, virtues is the second system (first is murders), that has a pre-world-save check on _every mobile in the game_ to atrophy virtue stats. This is taxing since it freexes the world and makes world saves take longer. Every mobile had Gain/Loss dates for each virtue, whether they needed them or not. Most players don't even use the virtue system, so this will increase performance considerably.

Second, when I tried to optimize/refactor the code, I found several bugs that needed to be fixed.

### Major API Changes

- [X] The properties on players related to virtues are gone. Use `pm.GetVirtues()?.<PropertyName>` instead.
- [X] Virtues were removed from non-player Mobiles.
- [X] `pm.JusticeProtectors` was removed. Use `JusticeVirtue.GetProtector()` or `JusticeVirtue.GetProtected()` instead.

### Screenshots

<img width="221" alt="Props-1" src="https://github.com/modernuo/ModernUO/assets/3953314/5c09cb83-b8d5-44a2-b899-a7ed7cd736ac">
<img width="220" alt="props-2" src="https://github.com/modernuo/ModernUO/assets/3953314/aeade4d3-8df0-47bd-955a-a864d0946cf7">
2023-07-19 21:43:47 -07:00
Kamron Batman
063d878276
fix: Cleans up murder system (#1428) 2023-07-16 00:04:30 -07:00
Kamron Batman
95779a27fb
fix: Removes unused RecentlyReported from PlayerMobile (#1427) 2023-07-15 23:15:00 -07:00
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
Mink80
d65e5bb37b
fix: Exclude higher privileged mobiles in AdminGump (#1423)
---------

Co-authored-by: Kamron Batman <3953314+kamronbatman@users.noreply.github.com>
2023-07-15 22:12:38 -07:00