private void Subscribe()
{
//Subscribe(nameof(OnCorpsePopulate));
Subscribe(nameof(OnLootSpawn));
Subscribe(nameof(OnCollectiblePickup));
Subscribe(nameof(OnItemUnwrap));
Subscribe(nameof(OnQuarryToggled));
Subscribe(nameof(OnPreDispenserGather));
Subscribe(nameof(OnPreDispenserBonus));
//OnExcavatorProduceResources
HarmonyInstance.Patch(AccessTools.Method(typeof(ExcavatorArm), "ProduceResources"), AccessTools.Method(typeof(ExcavatorArm_ProduceResources), "Prefix"));
//OnCorpseApplyLoot
// ReSharper disable once RedundantNameQualifier
HarmonyInstance.Patch(AccessTools.Method(typeof(global::HumanNPC), "ApplyLoot"), AccessTools.Method(typeof(HumanNPC_ApplyLoot), nameof(HumanNPC_ApplyLoot.Prefix)));
HarmonyInstance.Patch(AccessTools.Method(typeof(ScarecrowNPC), "ApplyLoot"), AccessTools.Method(typeof(ScarecrowNPC_ApplyLoot), nameof(ScarecrowNPC_ApplyLoot.Prefix)));
//OnResourceDispenserStart
HarmonyInstance.Patch(AccessTools.Method(typeof(ResourceDispenser), "Start"), AccessTools.Method(typeof(ResourceDispenser_Patch), nameof(ResourceDispenser_Patch.Prefix_Start)));
// OnPreDispenserGather
HarmonyInstance.Patch(AccessTools.Method(typeof(ResourceDispenser), "GiveResourceFromItem"),
transpiler: AccessTools.Method(typeof(ResourceDispenser_Patch), nameof(ResourceDispenser_Patch.Transpiler_GiveResourceFromItem)));
// OnPreDispenserBonus
HarmonyInstance.Patch(AccessTools.Method(typeof(ResourceDispenser), "AssignFinishBonus"),
transpiler: AccessTools.Method(typeof(ResourceDispenser_Patch), nameof(ResourceDispenser_Patch.Transpiler_AssignFinishBonus)));
//OnCorpseApplyLoot2
HarmonyInstance.Patch(AccessTools.Method(typeof(State_Dead), "StartRagdoll"),
transpiler: AccessTools.Method(typeof(State_Dead_StartRagdoll), nameof(State_Dead_StartRagdoll.Transpiler)));
// WAGONS
//OnTrainWagonLootSpawn
//HarmonyInstance.Patch(AccessTools.Method(typeof(TrainCarUnloadable), "FillWithLoot"), AccessTools.Method(typeof(TrainCarUnloadable_FillWithLoot), "Prefix"));
//OnTrainWagonOreLevel
//HarmonyInstance.Patch(AccessTools.Method(typeof(TrainCarUnloadable), "GetOrePercent"), AccessTools.Method(typeof(TrainCarUnloadable_GetOrePrecent), "Prefix"));
UpdateStackingSubscriptions();
}
© 2023 Quttera Ltd. All rights reserved.