Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Harmony/Harmony_TraderData.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

59 lines
1.6 KiB
C#

namespace Harmony.TraderDataPatches
{
[HarmonyPatch(typeof(TraderData))]
[HarmonyPatch("Read")]
public class ReadPatch
{
public static bool Prefix(TraderData __instance, byte _version, BinaryReader _br
)
{
__instance.TraderID = _br.ReadInt32();
if (__instance.TraderID == 1919247457 || __instance.TraderID == 0)
{
__instance.TraderID = 100;
}
__instance.lastInventoryUpdate = _br.ReadUInt64();
_br.ReadByte();
//Log.Out("TraderDataPatches-Read __instance.TraderID: " + __instance.TraderID);
if (__instance.TraderID != 100)
{
__instance.ReadInventoryData(_br);
}
return false;
}
}
[HarmonyPatch(typeof(TraderData))]
[HarmonyPatch("Write")]
public class WritePatch
{
public static bool Prefix(TraderData __instance, BinaryWriter _bw
)
{
if (__instance.TraderID == 1919247457 || __instance.TraderID == 0)
{
__instance.TraderID = 100;
}
_bw.Write(__instance.TraderID);
_bw.Write(__instance.lastInventoryUpdate);
_bw.Write(TraderData.FileVersion);
//Log.Out("TraderDataPatches-Write __instance.TraderID: " + __instance.TraderID);
if (__instance.TraderID != 100)
{
__instance.WriteInventoryData(_bw);
}
return false;
}
}
}