Esempio n. 1
0
        public static List <Pawn> GenerateRaidPawns(IncidentParms parms)
        {
            if (PES_Settings.DebugModeOn)
            {
                Log.Message("-=PS=- GenerateRaidPawns Start", false);
            }
            if (parms != null && parms.questTag != null)             //Lt. Bob - "Temporary" bypass fix? for Quest handling
            {
                Log.Message("-=PS=- GenerateRaidPawns - questTag!=Null == " + parms.questTag);
            }

            IsIntercepting_PawnGeneration = GeneratorPatchFlag.Generate;

            PawnGroupKindDef combat = PawnGroupKindDefOf.Combat;

            parms.points = IncidentWorker_Raid.AdjustedRaidPoints(parms.points, parms.raidArrivalMode, parms.raidStrategy, parms.faction, combat);
            PawnGroupMakerParms defaultPawnGroupMakerParms = IncidentParmsUtility.GetDefaultPawnGroupMakerParms(combat, parms, false);
            List <Pawn>         list = PawnGroupMakerUtility.GeneratePawns(defaultPawnGroupMakerParms, true).ToList <Pawn>();

            if (list.Count == 0)
            {
                Log.Error("Got no pawns spawning raid from parms " + parms, false);
            }
            return(list);
        }
Esempio n. 2
0
        public static List <Pawn> GenerateNeutralPawns(PawnGroupKindDef pawnGroupKind, IncidentParms parms)
        {
            IsIntercepting_PawnGeneration = GeneratorPatchFlag.Generate;

            PawnGroupMakerParms defaultPawnGroupMakerParms = IncidentParmsUtility.GetDefaultPawnGroupMakerParms(pawnGroupKind, parms, true);
            List <Pawn>         list = PawnGroupMakerUtility.GeneratePawns(defaultPawnGroupMakerParms, false).ToList <Pawn>();

            return(list);
        }
Esempio n. 3
0
        public static List <Pawn> GenerateRaidPawns(IncidentParms parms)
        {
            IsIntercepting_PawnGeneration = GeneratorPatchFlag.Generate;

            PawnGroupKindDef combat = PawnGroupKindDefOf.Combat;

            parms.points = IncidentWorker_Raid.AdjustedRaidPoints(parms.points, parms.raidArrivalMode, parms.raidStrategy, parms.faction, combat);
            PawnGroupMakerParms defaultPawnGroupMakerParms = IncidentParmsUtility.GetDefaultPawnGroupMakerParms(combat, parms, false);
            List <Pawn>         list = PawnGroupMakerUtility.GeneratePawns(defaultPawnGroupMakerParms, true).ToList <Pawn>();

            if (list.Count == 0)
            {
                Log.Error("Got no pawns spawning raid from parms " + parms, false);
            }
            return(list);
        }
Esempio n. 4
0
        public static List <Pawn> GenerateNeutralPawns(PawnGroupKindDef pawnGroupKind, IncidentParms parms)
        {
            if (PES_Settings.DebugModeOn)
            {
                Log.Message("-=PS=- GenerateNeutralPawns Start", false);
            }
            if (parms != null && parms.questTag != null)             //Lt. Bob - "Temporary" bypass fix? for Quest handling
            {
                Log.Message("-=PS=- GenerateNeutralPawns - questTag!=Null == " + parms.questTag);
            }

            IsIntercepting_PawnGeneration = GeneratorPatchFlag.Generate;

            PawnGroupMakerParms defaultPawnGroupMakerParms = IncidentParmsUtility.GetDefaultPawnGroupMakerParms(pawnGroupKind, parms, true);
            List <Pawn>         list = PawnGroupMakerUtility.GeneratePawns(defaultPawnGroupMakerParms, false).ToList <Pawn>();

            return(list);
        }
        public static bool CreateIncidentCaraven_HumanNeutral <T>(IncidentParms parms) where T : InterceptedIncident, new()
        {
            InterceptedIncident incident = new T();

            incident.incidentDef          = CurrentIncidentDef;
            incident.parms                = parms;
            IsIntercepting_PawnGeneration = GeneratorPatchFlag.ReturnZero;
            if (!IncidentCaravanUtility.AddNewIncidentCaravan(incident))
            {
                Log.Error("Fail to create Incident Caravan");
                return(false);
            }
            IsHoaxingStoryTeller = true;
            if (PES_Settings.DebugModeOn)
            {
                Messages.Message("PES_Debug: Successfully intercepted a neutral Incident", MessageTypeDefOf.NeutralEvent);
            }
            return(true);
        }
Esempio n. 6
0
        static IncidentInterceptorUtility()
        {
            IsIntercepting_IncidentExcecution = true;
            IsIntercepting_PawnGeneration     = GeneratorPatchFlag.Generate;

            IsIntercepting_GroupSpliter = GeneratorPatchFlag.Generate;

            isIntercepting_TraderCaravan_Worker = true;
            isIntercepting_TravelerGroup        = true;
            isIntercepting_VisitorGroup         = true;

            isIntercepting_FarmAnimalsWanderIn = WorkerPatchType.Forestall;
            isIntercepting_HerdMigration       = WorkerPatchType.Forestall;
            isIntercepting_ThrumboPasses       = WorkerPatchType.Forestall;
            isIntercepting_Alphabeavers        = WorkerPatchType.Forestall;
            isIntercepting_ManhunterPack       = WorkerPatchType.Forestall;

            isIntercepting_EdgeDrop      = true;
            isIntercepting_CenterDrop    = true;
            isIntercepting_EdgeDropGroup = true;
            isIntercepting_RandomDrop    = true;

            IsIntercepting_SkyfallerCell_Loose = GeneratorPatchFlag.Generate;
            IsIntercepting_RandomDropSpot      = GeneratorPatchFlag.Generate;
            IsIntercepting_InfestationCell     = GeneratorPatchFlag.Generate;

            IsIntercepting_Meteorite    = WorkerPatchType.Forestall;
            IsIntercepting_ShipChunk    = WorkerPatchType.Forestall;
            IsIntercepting_ShipPart     = WorkerPatchType.Forestall;
            IsIntercepting_TransportPod = WorkerPatchType.Forestall;
            IsIntercepting_ResourcePod  = WorkerPatchType.Forestall;
            IsIntercepting_Infestation  = WorkerPatchType.Forestall;
            IsIntercepting_SolarFlare   = WorkerPatchType.Forestall;

            IsHoaxingStoryTeller = false;
        }