59 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|