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
This commit is contained in:
Kamron Batman 2023-10-29 22:42:46 -07:00 • committed by GitHub
parent 27f0cec1fa
commit 28c06c1cc0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 796 additions and 591 deletions

View file

@ -118,9 +118,8 @@ namespace Server.SkillHandlers
calmed = true;
m.SendLocalizedMessage(
500616
); // You hear lovely music, and forget to continue battling!
// You hear lovely music, and forget to continue battling!
m.SendLocalizedMessage(500616);
m.Combatant = null;
m.Warmode = false;
@ -132,9 +131,8 @@ namespace Server.SkillHandlers
if (!calmed)
{
from.SendLocalizedMessage(
1049648
); // You play hypnotic music, but there is nothing in range for you to calm.
// You play hypnotic music, but there is nothing in range for you to calm.
from.SendLocalizedMessage(1049648);
}
else
{
@ -216,9 +214,8 @@ namespace Server.SkillHandlers
{
from.SendLocalizedMessage(1049532); // You play hypnotic music, calming your target.
targ.SendLocalizedMessage(
500616
); // You hear lovely music, and forget to continue battling!
// You hear lovely music, and forget to continue battling!
targ.SendLocalizedMessage(500616);
}
}
}