Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


private void Unsubscribe()
{
    //Unsubscribe(nameof(OnCorpsePopulate));
    Unsubscribe(nameof(OnLootSpawn));
    Unsubscribe(nameof(OnCollectiblePickup));
    Unsubscribe(nameof(OnItemUnwrap));

    Unsubscribe(nameof(OnQuarryToggled));

    Unsubscribe(nameof(OnPreDispenserGather));
    Unsubscribe(nameof(OnPreDispenserBonus));
    // No need to unpatch harmony for these hooks

    //OnExcavatorProduceResources
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(ExcavatorArm), "ProduceResources"), HarmonyPatchType.Prefix, HarmonyId);

    //OnResourceDispenserStart
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(ResourceDispenser), "Start"), HarmonyPatchType.Prefix, HarmonyId);

    //OnCorpseApplyLoot2
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(State_Dead), "StartRagdoll"), HarmonyPatchType.Transpiler, HarmonyId);
    //OnCorpseApplyLoot
    // ReSharper disable once RedundantNameQualifier
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(global::HumanNPC), "ApplyLoot"), HarmonyPatchType.Prefix, HarmonyId);
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(ScarecrowNPC), "ApplyLoot"), HarmonyPatchType.Prefix, HarmonyId);

    // WAGONS
    //OnTrainWagonLootSpawn
    //HarmonyInstance.Unpatch(AccessTools.Method(typeof(TrainCarUnloadable), "FillWithLoot"), HarmonyPatchType.Prefix, HarmoniId);
    //OnTrainWagonOreLevel
    //HarmonyInstance.Unpatch(AccessTools.Method(typeof(TrainCarUnloadable), "GetOrePercent"), HarmonyPatchType.Prefix, HarmoniId);

    UpdateStackingSubscriptions(true);

    UpdateConfigSubscriptions(true);
}

private void UpdateStackingSubscriptions(bool unsubscribe = false)
{
    // Always remove harmony patches to prevent duplicates
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(ItemContainer), "QuickIndustrialPreCheck"), HarmonyPatchType.Prefix, HarmonyId);
    //HarmonyInstance.Unpatch(AccessTools.Method(typeof(Item), "MoveToContainer"), HarmonyPatchType.Prefix, HarmonyId);
    HarmonyInstance.Unpatch(AccessTools.Method(typeof(ItemDefinition), "get_craftingStackable"), HarmonyPatchType.Prefix, HarmonyId);

    if (stackSizeController.Enabled && !unsubscribe)
    {
        Subscribe(nameof(CanStackItem));
        Subscribe(nameof(OnItemStacked));
        Subscribe(nameof(OnItemSplit));
        Subscribe(nameof(CanCombineDroppedItem));
        HarmonyInstance.Patch(AccessTools.Method(typeof(ItemContainer), "QuickIndustrialPreCheck"), AccessTools.Method(typeof(ItemContainer_QuickIndustrialPreCheck), nameof(ItemContainer_QuickIndustrialPreCheck.Prefix)));
        //HarmonyInstance.Patch(AccessTools.Method(typeof(Item), "MoveToContainer"), AccessTools.Method(typeof(Item_MoveToContainer), "Prefix"));
        HarmonyInstance.Patch(AccessTools.Method(typeof(ItemDefinition), "get_craftingStackable"), AccessTools.Method(typeof(ItemDefinition_CraftingStackable), nameof(ItemDefinition_CraftingStackable.Prefix)));
    }
    else
    {
        Unsubscribe(nameof(CanStackItem));
        Unsubscribe(nameof(OnItemStacked));
        Unsubscribe(nameof(OnItemSplit));
        Unsubscribe(nameof(CanCombineDroppedItem));
    }
}



© 2023 Quttera Ltd. All rights reserved.