public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.Toilet, false); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.FlushToilet, false); FlushToilet flushToilet = go.AddOrGet <FlushToilet>(); flushToilet.massConsumedPerUse = 5f; flushToilet.massEmittedPerUse = 11.7f; flushToilet.newPeeTemperature = 310.15f; flushToilet.diseaseId = "FoodPoisoning"; flushToilet.diseasePerFlush = 100000; flushToilet.diseaseOnDupePerFlush = 5000; KAnimFile[] overrideAnims = new KAnimFile[1] { Assets.GetAnim("anim_interacts_toiletflush_kanim") }; ToiletWorkableUse toiletWorkableUse = go.AddOrGet <ToiletWorkableUse>(); toiletWorkableUse.overrideAnims = overrideAnims; toiletWorkableUse.workLayer = Grid.SceneLayer.BuildingFront; toiletWorkableUse.resetProgressOnStop = true; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Water).tag; conduitConsumer.capacityKG = 5f; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[1] { SimHashes.Water }; Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 25f; storage.doDiseaseTransfer = false; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); Ownable ownable = go.AddOrGet <Ownable>(); ownable.slotID = Db.Get().AssignableSlots.Toilet.Id; ownable.canBePublic = true; RequireOutputs requireOutputs = go.AddOrGet <RequireOutputs>(); requireOutputs.ignoreFullPipe = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.Toilet); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.FlushToilet); FlushToilet flushToilet = go.AddOrGet <FlushToilet>(); flushToilet.massConsumedPerUse = 5f; flushToilet.massEmittedPerUse = 11.7f; flushToilet.diseaseId = "FoodPoisoning"; flushToilet.diseasePerFlush = 0; flushToilet.diseaseOnDupePerFlush = 0; KAnimFile[] kanimFileArray = new KAnimFile[1] { Assets.GetAnim((HashedString)"anim_interacts_toiletflush_kanim") }; ToiletWorkableUse toiletWorkableUse = go.AddOrGet <ToiletWorkableUse>(); toiletWorkableUse.overrideAnims = kanimFileArray; toiletWorkableUse.workLayer = Grid.SceneLayer.BuildingFront; toiletWorkableUse.resetProgressOnStop = true; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Water).tag; conduitConsumer.capacityKG = 5f; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[1] { SimHashes.Water }; Storage storage = go.AddOrGet <Storage>(); storage.capacityKg = 25f; storage.doDiseaseTransfer = false; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); Ownable ownable = go.AddOrGet <Ownable>(); ownable.slotID = Db.Get().AssignableSlots.Toilet.Id; ownable.canBePublic = true; go.AddOrGet <RequireOutputs>().ignoreFullPipe = true; ManualDeliveryKG manualDeliveryKg1 = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKg1.SetStorage(storage); manualDeliveryKg1.requestedItemTag = SimHashes.BleachStone.CreateTag(); manualDeliveryKg1.capacity = 2f; manualDeliveryKg1.refillMass = 1f; manualDeliveryKg1.minimumMass = 1f; manualDeliveryKg1.choreTypeIDHash = Db.Get().ChoreTypes.FetchCritical.IdHash; ElementConverter elementConverter = go.AddComponent <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[1] { new ElementConverter.ConsumedElement(SimHashes.BleachStone.CreateTag(), 0.0005f), }; elementConverter.outputElements = new ElementConverter.OutputElement[0] { }; }