public static void AiPostfix(ref SiegeEvent __instance, SiegeEvent.SiegeEnginesContainer siegeEngines, SiegeStrategyActionModel.SiegeAction siegeAction)
        {
            if (siegeAction != SiegeStrategyActionModel.SiegeAction.ConstructNewSiegeEngine)
            {
                return;
            }

            var deployedSiegeEngines = siegeEngines.DeployedSiegeEngines;
            var justDeployedEngine   = deployedSiegeEngines.LastOrDefault();

            if (justDeployedEngine == null)
            {
                return;
            }

            var sideSiegeEvent = GetSiegeContainerSide(__instance, siegeEngines);

            ApplyPerkToSiegeEngine(justDeployedEngine, sideSiegeEvent);
        }
 private static ISiegeEventSide GetSiegeContainerSide(SiegeEvent siegeEvent, SiegeEvent.SiegeEnginesContainer siegeEngines)
 => siegeEvent.GetSiegeEventSide(siegeEvent.BesiegerCamp.SiegeEngines == siegeEngines ? BattleSideEnum.Attacker : BattleSideEnum.Defender);