From 54ffe6e98867946b8943a07dfa9869d363a5b3b9 Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Thu, 15 Jan 2026 00:24:47 -0700 Subject: [PATCH 1/2] Skill Dot Debuff Refactor --- Maple2.File.Ingest/Mapper/AdditionalEffectMapper.cs | 2 +- Maple2.Model/Enum/Skill.cs | 5 +++++ Maple2.Model/Metadata/AdditionalEffectMetadata.cs | 2 +- Maple2.Server.Game/Model/Field/Buff.cs | 6 +++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Maple2.File.Ingest/Mapper/AdditionalEffectMapper.cs b/Maple2.File.Ingest/Mapper/AdditionalEffectMapper.cs index 428651366..06ec2261b 100644 --- a/Maple2.File.Ingest/Mapper/AdditionalEffectMapper.cs +++ b/Maple2.File.Ingest/Mapper/AdditionalEffectMapper.cs @@ -236,7 +236,7 @@ private static AdditionalEffectMetadataStatus Convert(StatusProperty status, Off return null; } - return new AdditionalEffectMetadataDot.DotBuff(Target: (SkillTargetType) dotBuff.target, Id: dotBuff.buffID, Level: dotBuff.buffLevel); + return new AdditionalEffectMetadataDot.DotBuff(Target: (DotTargetType) dotBuff.target, Id: dotBuff.buffID, Level: dotBuff.buffLevel); } private static AdditionalEffectMetadataShield? Convert(ShieldProperty shield) { diff --git a/Maple2.Model/Enum/Skill.cs b/Maple2.Model/Enum/Skill.cs index 9901e5d0c..198e988ee 100644 --- a/Maple2.Model/Enum/Skill.cs +++ b/Maple2.Model/Enum/Skill.cs @@ -89,6 +89,11 @@ public enum SkillTargetType { RegionPet = 8, } +public enum DotTargetType { + Caster = 0, + Owner = 1, +} + public enum ApplyTargetType { None = 0, Hostile = 1, diff --git a/Maple2.Model/Metadata/AdditionalEffectMetadata.cs b/Maple2.Model/Metadata/AdditionalEffectMetadata.cs index b8a80b29b..3997f87a3 100644 --- a/Maple2.Model/Metadata/AdditionalEffectMetadata.cs +++ b/Maple2.Model/Metadata/AdditionalEffectMetadata.cs @@ -119,7 +119,7 @@ public record DotDamage( bool NotKill); public record DotBuff( - SkillTargetType Target, // 0,1 + DotTargetType Target, // 0,1 int Id, short Level); } diff --git a/Maple2.Server.Game/Model/Field/Buff.cs b/Maple2.Server.Game/Model/Field/Buff.cs index ddc7080d6..65bfb7ac3 100644 --- a/Maple2.Server.Game/Model/Field/Buff.cs +++ b/Maple2.Server.Game/Model/Field/Buff.cs @@ -254,10 +254,10 @@ private void ApplyDotBuff() { } AdditionalEffectMetadataDot.DotBuff dotBuff = Metadata.Dot.Buff; - if (dotBuff.Target == SkillTargetType.Owner) { - Owner.Buffs.AddBuff(Caster, Owner, dotBuff.Id, dotBuff.Level, Field.FieldTick); + if (dotBuff.Target == DotTargetType.Caster) { + Caster.Buffs.AddBuff(Caster, Caster, dotBuff.Id, dotBuff.Level, Field.FieldTick); } else { - Caster.Buffs.AddBuff(Caster, Owner, dotBuff.Id, dotBuff.Level, Field.FieldTick); + Owner.Buffs.AddBuff(Caster, Owner, dotBuff.Id, dotBuff.Level, Field.FieldTick); } } From ab0e4747814d118df40434c485a04265c26c7a76 Mon Sep 17 00:00:00 2001 From: Bradyn Glines Date: Thu, 15 Jan 2026 00:55:39 -0700 Subject: [PATCH 2/2] Use the correct owner --- Maple2.Server.Game/Model/Field/Buff.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Maple2.Server.Game/Model/Field/Buff.cs b/Maple2.Server.Game/Model/Field/Buff.cs index 65bfb7ac3..0cba6abb3 100644 --- a/Maple2.Server.Game/Model/Field/Buff.cs +++ b/Maple2.Server.Game/Model/Field/Buff.cs @@ -255,7 +255,7 @@ private void ApplyDotBuff() { AdditionalEffectMetadataDot.DotBuff dotBuff = Metadata.Dot.Buff; if (dotBuff.Target == DotTargetType.Caster) { - Caster.Buffs.AddBuff(Caster, Caster, dotBuff.Id, dotBuff.Level, Field.FieldTick); + Caster.Buffs.AddBuff(Owner, Caster, dotBuff.Id, dotBuff.Level, Field.FieldTick); } else { Owner.Buffs.AddBuff(Caster, Owner, dotBuff.Id, dotBuff.Level, Field.FieldTick); }