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); }
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); }