public virtual void Generate(Stencil s) { var weapon = s.Spawn(weaponDef, weaponDef.MadeFromStuff ? ThingDefOf.Steel : null); weapon.SetFactionDirect(s.map.ParentFaction); if (ammoDef != null) { var ammo = s.RotateRand().Spawn(s.RandInclusive(-1, 1), s.RandInclusive(2, 3), ammoDef); ammo.stackCount = ammoCount.RandomInRange; ammo.SetOwnedByCity(true, s.map); } if (roofed) { var stuff = GenCity.RandomWallStuff(s.map); s.Spawn(s.MinX, s.MinZ, ThingDefOf.Wall, stuff); s.Spawn(s.MaxX, s.MinZ, ThingDefOf.Wall, stuff); s.Spawn(s.MinX, s.MaxZ, ThingDefOf.Wall, stuff); s.Spawn(s.MaxX, s.MaxZ, ThingDefOf.Wall, stuff); s.FillRoof(RoofDefOf.RoofConstructed); } if (manned) { GenCity.SpawnInhabitant(s.pos, s.map, new LordJob_ManTurrets()); } }
public override void Decorate(Stencil s) { base.Decorate(s); var sVent = s.RotateRand().Move(0, s.MaxZ - 1).Bound(-1, -1, 1, 1); sVent.Border(ThingDefOf.Wall, GenCity.RandomWallStuff(s.map)); sVent.Bound(0, 0, 0, 0).ClearRoof(); var tempControl = sVent.Spawn(0, -1, ThingDefOf.Cooler).TryGetComp <CompTempControl>(); tempControl.targetTemperature = -1; }