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.
This commit is contained in:
Guyute 2024-09-06 00:23:03 -04:00 • committed by GitHub
parent d5984ce058
commit 95cd8749a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 191 additions and 135 deletions

View file

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Engines.PartySystem;
using Server.Factions;
using Server.Gumps;
@ -596,6 +597,9 @@ namespace Server.Engines.ConPVP
}
}
[OnEvent(nameof(PlayerMobile.PlayerDeathEvent))]
public static void OnPlayerDeath(PlayerMobile m) => m.DuelContext?.OnDeath(m, m.Corpse);
public void OnDeath(Mobile mob, Container corpse)
{
if (!Registered || !Started)
@ -1843,7 +1847,7 @@ namespace Server.Engines.ConPVP
}
TransformationSpellHelper.RemoveContext(mob, true);
AnimalForm.RemoveContext(mob, true);
AnimalForm.RemoveContext(mob);
DisguisePersistence.StopTimer(mob);
if (!mob.CanBeginAction<PolymorphSpell>())