From a805bb7084acc2f93806b3304e2ffa7b2b34654e Mon Sep 17 00:00:00 2001 From: CCat <63068823+CedaryCat@users.noreply.github.com> Date: Mon, 16 Feb 2026 23:20:22 +0800 Subject: [PATCH 1/3] Fix projectile strike source in Damage_PVE_Inner --- OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs index 5b107616..95a21002 100644 --- a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs +++ b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs @@ -104,16 +104,9 @@ instr.Previous.Operand is FieldReference fieldReference && case "Projectile.Damage": case "Player.ProcessHitAgainstNPC": case "NPC.StrikeNPC": - body.GetILProcessor().InsertBefore(instr, - new { OpCodes.Ldarg_0 } - ); - break; - case "Projectile.Damage_PVE_Inner": - // find the NPC parameter - var prm = body.Method.Parameters.Single(x => x.ParameterType.FullName == "Terraria.NPC"); body.GetILProcessor().InsertBefore(instr, - new { OpCodes.Ldarg, Operand = prm } + new { OpCodes.Ldarg_0 } ); break; From 1a8d5eb15f9e256797301c08b4bad3b2e63357c5 Mon Sep 17 00:00:00 2001 From: CCat <63068823+CedaryCat@users.noreply.github.com> Date: Tue, 24 Feb 2026 20:06:09 +0800 Subject: [PATCH 2/3] Make Damage_PVE_Inner patch branch explicit for 145+ --- OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs index 95a21002..42378904 100644 --- a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs +++ b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs @@ -101,10 +101,11 @@ instr.Previous.Operand is FieldReference fieldReference && case "Player.ApplyDamageToNPC": case "Player.ItemCheck_MeleeHitNPCs": - case "Projectile.Damage": case "Player.ProcessHitAgainstNPC": case "NPC.StrikeNPC": - case "Projectile.Damage_PVE_Inner": +#if TerrariaServer_1450_OrAbove || Terraria__1450_OrAbove || tModLoader_1450_OrAbove + case "Projectile.Damage_PVE_Inner": // introduced/split in 145+ +#endif body.GetILProcessor().InsertBefore(instr, new { OpCodes.Ldarg_0 } ); From 0d401ce1ada3b9058763e73c3edde74c01c66ff3 Mon Sep 17 00:00:00 2001 From: CCat <63068823+CedaryCat@users.noreply.github.com> Date: Wed, 25 Feb 2026 19:16:45 +0800 Subject: [PATCH 3/3] Revert "Make Damage_PVE_Inner patch branch explicit for 145+" This reverts commit 1a8d5eb15f9e256797301c08b4bad3b2e63357c5. --- OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs index 42378904..95a21002 100644 --- a/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs +++ b/OTAPI.Scripts/Patches/PatchNpcStrikeArgs.Server.cs @@ -101,11 +101,10 @@ instr.Previous.Operand is FieldReference fieldReference && case "Player.ApplyDamageToNPC": case "Player.ItemCheck_MeleeHitNPCs": + case "Projectile.Damage": case "Player.ProcessHitAgainstNPC": case "NPC.StrikeNPC": -#if TerrariaServer_1450_OrAbove || Terraria__1450_OrAbove || tModLoader_1450_OrAbove - case "Projectile.Damage_PVE_Inner": // introduced/split in 145+ -#endif + case "Projectile.Damage_PVE_Inner": body.GetILProcessor().InsertBefore(instr, new { OpCodes.Ldarg_0 } );