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;
    }
Example #2
0
        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]
            {
            };
        }