feat: Converts player deletion handling to a generated event (#2029)

This commit is contained in:
Kamron Batman 2024-12-21 20:55:10 -08:00 • committed by GitHub
parent 059f008b48
commit 2bff1d2cbc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 32 additions and 17 deletions

View file

@ -1,4 +1,6 @@
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Mobiles;
namespace Server.Spells.Fifth
{
@ -132,6 +134,7 @@ namespace Server.Spells.Fifth
FinishSequence();
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void EndReflect(Mobile m)
{
if (!_table.Remove(m, out var mods))

View file

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Mobiles;
namespace Server.Spells.First
{
@ -142,6 +144,7 @@ namespace Server.Spells.First
}
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void EndArmor(Mobile m)
{
if (!_table.Remove(m, out var mods))

View file

@ -134,6 +134,7 @@ namespace Server.Spells.Mysticism
FinishSequence();
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
[OnEvent(nameof(PlayerMobile.PlayerDeathEvent))]
public static void RemoveEffects(Mobile m)
{

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Engines.Quests;
using Server.Engines.Quests.Necro;
using Server.Items;
@ -194,6 +195,7 @@ public class AnimateDeadSpell : NecromancerSpell, ITargetingSpell<Item>
Caster.SendLocalizedMessage(1061083); // Animate what corpse?
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void RemoveEffects(Mobile caster)
{
if (_table.Remove(caster, out var list))

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Gumps;
using Server.Mobiles;
using Server.Network;
@ -38,6 +39,7 @@ public class SummonFamiliarSpell : NecromancerSpell
new(typeof(VampireBatFamiliar), 1060144, 100.0, 100.0) // Vampire Bat
};
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void RemoveEffects(Mobile m)
{
if (Table.Remove(m, out var summon))

View file

@ -255,6 +255,7 @@ public class AnimalForm : NinjaSpell
}
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
[OnEvent(nameof(PlayerMobile.PlayerDeathEvent))]
public static void RemoveContext(Mobile m)
{
@ -303,6 +304,7 @@ public class AnimalForm : NinjaSpell
public static bool UnderTransformation(Mobile m, Type type) => GetContext(m)?.Type == type;
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void RemoveLastAnimalForm(Mobile m) => _table.Remove(m);
public class AnimalFormEntry

View file

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using ModernUO.CodeGeneratedEvents;
using Server.Mobiles;
namespace Server.Spells.Second
{
@ -93,6 +95,7 @@ namespace Server.Spells.Second
}
}
[OnEvent(nameof(PlayerMobile.PlayerDeletedEvent))]
public static void EndProtection(Mobile m)
{
if (!_table.Remove(m, out var mods))