var correctedSlot = slot;
TemporarySlotMap.TryGetValue(correctedSlot, out correctedSlot);
- var state = (clothing.EquippedPrefix == null)
- ? $"equipped-{correctedSlot}"
- : $"{clothing.EquippedPrefix}-equipped-{correctedSlot}";
+
+
+ var state = $"equipped-{correctedSlot}";
+
+ if (clothing.EquippedPrefix != null)
+ state = $"{clothing.EquippedPrefix}-equipped-{correctedSlot}";
+
+ if (clothing.EquippedState != null)
+ state = $"{clothing.EquippedState}";
// species specific
if (speciesId != null && rsi.TryGetState($"{state}-{speciesId}", out _))
[DataField("equippedPrefix")]
public string? EquippedPrefix;
+ /// <summary>
+ /// Allows the equipped state to be directly overwritten.
+ /// useful when prototyping INNERCLOTHING items into OUTERCLOTHING items without duplicating/modifying RSIs etc.
+ /// </summary>
+ [Access(typeof(ClothingSystem))]
+ [ViewVariables(VVAccess.ReadWrite)]
+ [DataField("equippedState")]
+ public string? EquippedState;
+
[ViewVariables(VVAccess.ReadWrite)]
[DataField("sprite")]
public string? RsiPath;