Beispiel #1
0
        protected virtual SignalAction_Ambush MakeAmbushSignalAction(CellRect rectToDefend, IntVec3 root, GenStepParams parms)
        {
            SignalAction_Ambush signalAction_Ambush = (SignalAction_Ambush)ThingMaker.MakeThing(ThingDefOf.SignalAction_Ambush);

            if (parms.sitePart != null)
            {
                signalAction_Ambush.points = parms.sitePart.parms.threatPoints;
            }
            else
            {
                signalAction_Ambush.points = defaultPointsRange.RandomInRange;
            }
            int num = Rand.RangeInclusive(0, 2);

            if (num == 0)
            {
                signalAction_Ambush.ambushType = SignalActionAmbushType.Manhunters;
            }
            else if (num == 1 && PawnGroupMakerUtility.CanGenerateAnyNormalGroup(Faction.OfMechanoids, signalAction_Ambush.points))
            {
                signalAction_Ambush.ambushType = SignalActionAmbushType.Mechanoids;
            }
            else
            {
                signalAction_Ambush.ambushType = SignalActionAmbushType.Normal;
            }
            return(signalAction_Ambush);
        }
        protected override SignalAction_Ambush MakeAmbushSignalAction(CellRect rectToDefend, IntVec3 root, GenStepParams parms)
        {
            SignalAction_Ambush signalAction_Ambush = base.MakeAmbushSignalAction(rectToDefend, root, parms);

            signalAction_Ambush.spawnPawnsOnEdge = true;
            return(signalAction_Ambush);
        }
        private void SpawnTrigger(CellRect rectToDefend, IntVec3 root, Map map, GenStepParams parms)
        {
            int      nextSignalTagID = Find.UniqueIDsManager.GetNextSignalTagID();
            string   signalTag       = "ambushActivated-" + nextSignalTagID;
            CellRect rect;

            if (root.IsValid)
            {
                rect = CellRect.CenteredOn(root, 17);
            }
            else
            {
                rect = rectToDefend.ExpandedBy(12);
            }
            SignalAction_Ambush signalAction_Ambush = this.MakeAmbushSignalAction(rectToDefend, root, parms);

            signalAction_Ambush.signalTag = signalTag;
            GenSpawn.Spawn(signalAction_Ambush, rect.CenterCell, map, WipeMode.Vanish);
            RectTrigger rectTrigger = this.MakeRectTrigger();

            rectTrigger.signalTag = signalTag;
            rectTrigger.Rect      = rect;
            GenSpawn.Spawn(rectTrigger, rect.CenterCell, map, WipeMode.Vanish);
            TriggerUnfogged triggerUnfogged = (TriggerUnfogged)ThingMaker.MakeThing(ThingDefOf.TriggerUnfogged, null);

            triggerUnfogged.signalTag = signalTag;
            GenSpawn.Spawn(triggerUnfogged, rect.CenterCell, map, WipeMode.Vanish);
        }
        protected override SignalAction_Ambush MakeAmbushSignalAction(CellRect rectToDefend, IntVec3 root)
        {
            SignalAction_Ambush signalAction_Ambush = base.MakeAmbushSignalAction(rectToDefend, root);

            if (root.IsValid)
            {
                signalAction_Ambush.spawnNear = root;
            }
            else
            {
                signalAction_Ambush.spawnAround = rectToDefend;
            }
            return(signalAction_Ambush);
        }
        private void SpawnTrigger(CellRect rectToDefend, IntVec3 root, Map map)
        {
            int                 nextSignalTagID     = Find.UniqueIDsManager.GetNextSignalTagID();
            string              signalTag           = "ambushActivated-" + nextSignalTagID;
            CellRect            rect                = (!root.IsValid) ? rectToDefend.ExpandedBy(12) : CellRect.CenteredOn(root, 17);
            SignalAction_Ambush signalAction_Ambush = this.MakeAmbushSignalAction(rectToDefend, root);

            signalAction_Ambush.signalTag = signalTag;
            GenSpawn.Spawn(signalAction_Ambush, rect.CenterCell, map);
            RectTrigger rectTrigger = this.MakeRectTrigger();

            rectTrigger.signalTag = signalTag;
            rectTrigger.Rect      = rect;
            GenSpawn.Spawn(rectTrigger, rect.CenterCell, map);
        }
        protected virtual SignalAction_Ambush MakeAmbushSignalAction(CellRect rectToDefend, IntVec3 root)
        {
            SignalAction_Ambush signalAction_Ambush = (SignalAction_Ambush)ThingMaker.MakeThing(ThingDefOf.SignalAction_Ambush, null);

            signalAction_Ambush.points = this.pointsRange.RandomInRange;
            int num = Rand.RangeInclusive(0, 2);

            if (num == 0)
            {
                signalAction_Ambush.manhunters = true;
            }
            else if (num == 1 && PawnGroupMakerUtility.CanGenerateAnyNormalGroup(Faction.OfMechanoids, signalAction_Ambush.points))
            {
                signalAction_Ambush.mechanoids = true;
            }
            return(signalAction_Ambush);
        }
Beispiel #7
0
        private void SpawnTrigger(CellRect rectToDefend, IntVec3 root, Map map, GenStepParams parms)
        {
            int                 nextSignalTagID     = Find.UniqueIDsManager.GetNextSignalTagID();
            string              signalTag           = "ambushActivated-" + nextSignalTagID;
            CellRect            rect                = (!root.IsValid) ? rectToDefend.ExpandedBy(12) : CellRect.CenteredOn(root, 17);
            SignalAction_Ambush signalAction_Ambush = MakeAmbushSignalAction(rectToDefend, root, parms);

            signalAction_Ambush.signalTag = signalTag;
            GenSpawn.Spawn(signalAction_Ambush, rect.CenterCell, map);
            RectTrigger rectTrigger = MakeRectTrigger();

            rectTrigger.signalTag = signalTag;
            rectTrigger.Rect      = rect;
            GenSpawn.Spawn(rectTrigger, rect.CenterCell, map);
            TriggerUnfogged obj = (TriggerUnfogged)ThingMaker.MakeThing(ThingDefOf.TriggerUnfogged);

            obj.signalTag = signalTag;
            GenSpawn.Spawn(obj, rect.CenterCell, map);
        }