fix: Fixes duping containers and removes copying private setter properties (#1816)

### Summary
- Removes copying private setters
- Fixes duping containers
- Adds public `Dupe.DoDupe` functions for external scripts to hook into the existing logic.
This commit is contained in:
Kamron Batman 2024-06-03 15:44:56 -07:00 • committed by GitHub
parent c69d16a90e
commit 0b802dbe1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 116 additions and 65 deletions

View file

@ -3381,9 +3381,15 @@ public class Item : IHued, IComparable<Item>, ISpawnable, IObjectPropertyListEnt
continue;
}
var setMethod = p.GetSetMethod(false);
try
{
p.SetValue(dest, p.GetValue(src, null), null);
// Do not copy private properties
if (setMethod != null)
{
p.SetValue(dest, p.GetValue(src, null), null);
}
}
catch
{