diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 59a1ed476d78..d1eaea285780 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -7,7 +7,7 @@ - type: StorageFill contents: - id: MopItem - - id: MopBucket + - id: MopBucketCubeWrapped - id: Bucket amount: 3 - id: WetFloorSign diff --git a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml index cf2dad1ce588..f4f7d6bceddb 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/monkeycube.yml @@ -14,20 +14,28 @@ - type: entity parent: BaseItem - name: monkey cube + abstract: true suffix: Wrapped - id: MonkeyCubeWrapped - description: Unwrap this to get a monkey cube. + id: BaseWrappedCube components: - type: Item size: Tiny - type: SpawnItemsOnUse - items: - - id: MonkeyCube sound: path: /Audio/Effects/unwrap.ogg - type: Sprite sprite: Objects/Misc/monkeycube.rsi + +- type: entity + parent: BaseWrappedCube + name: monkey cube + id: MonkeyCubeWrapped + description: Unwrap this to get a monkey cube. + components: + - type: SpawnItemsOnUse + items: + - id: MonkeyCube + - type: Sprite state: wrapper - type: Tag tags: @@ -64,19 +72,15 @@ state: box_variant - type: entity - parent: MonkeyCubeWrapped + parent: BaseWrappedCube name: kobold cube - suffix: Wrapped id: KoboldCubeWrapped description: Unwrap this to get a kobold cube. components: - type: SpawnItemsOnUse items: - id: KoboldCube - sound: - path: /Audio/Effects/unwrap.ogg - type: Sprite - sprite: Objects/Misc/monkeycube.rsi state: wrapper_kobold - type: entity @@ -99,18 +103,7 @@ name: monkey cube suffix: Wrapped, Syndicate id: SyndicateSpongeWrapped - description: Unwrap this to get a monkey cube. components: - type: SpawnItemsOnUse items: - id: SyndicateSponge - sound: - path: /Audio/Effects/unwrap.ogg - - type: Sprite - sprite: Objects/Misc/monkeycube.rsi - state: wrapper - - type: Item - size: Tiny - - type: Tag - tags: - - MonkeyCube diff --git a/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml b/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml index 26a0df1a0065..50933df33c44 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml @@ -1,40 +1,8 @@ - type: entity parent: BaseItem - id: MonkeyCube - name: monkey cube - description: Just add water! + id: RehydratableItem + abstract: true components: - - type: Item - size: Tiny - - type: SolutionContainerManager - solutions: - cube: - maxVol: 11 # needs room for water - reagents: - - ReagentId: Nutriment - Quantity: 10 - - type: Food - solution: cube - - type: FlavorProfile - flavors: - - chewy - - horrible - - compressed-meat - - type: RefillableSolution - solution: cube - - type: Sprite - sprite: Objects/Misc/monkeycube.rsi - state: cube - - type: Reactive - reactions: - - reagents: [Water] - methods: [Touch, Ingestion, Injection] - effects: - - !type:AddToSolutionReaction - solution: cube - - type: Rehydratable - possibleSpawns: - - MobMonkey - type: CollisionWake enabled: false - type: Fixtures @@ -46,16 +14,74 @@ density: 5 mask: - ItemMask - rehydrate: + rehydrate: # needed to react to fire extinguishers shape: !type:PhysShapeAabb bounds: "-0.3,-0.3,0.3,0.3" hard: false layer: - LowImpassable + - type: Item + size: Tiny + - type: SolutionContainerManager + solutions: + cube: + maxVol: 1 # needs room for water + - type: RefillableSolution + solution: cube + - type: Reactive + reactions: + - reagents: [Water] + methods: [Touch, Ingestion, Injection] + effects: + - !type:AddToSolutionReaction + solution: cube + - type: Rehydratable - type: entity - parent: MonkeyCube + parent: RehydratableItem + id: RehydratableAnimalCube + description: Just add water! + abstract: true + components: + - type: Sprite + sprite: Objects/Misc/monkeycube.rsi + state: cube + - type: SolutionContainerManager + solutions: + cube: + maxVol: 19 # needs 1u room for water + reagents: # equals one piece of raw meat, ideally should vary depending on the animal type, but idk how to link this to biomass costs + - ReagentId: UncookedAnimalProteins + Quantity: 9 + - ReagentId: Fat + Quantity: 9 + - type: Food + solution: cube + - type: FlavorProfile + flavors: + - chewy + - horrible + - compressed-meat + - type: Tag + tags: + - Meat + +- type: entity + parent: RehydratableAnimalCube + id: MonkeyCube + name: monkey cube + components: + - type: Rehydratable + possibleSpawns: + - MobMonkey + - type: Tag + tags: + - Meat + - MonkeyCube + +- type: entity + parent: RehydratableAnimalCube id: KoboldCube name: kobold cube components: @@ -64,7 +90,7 @@ - MobKobold - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: CowCube name: cow cube components: @@ -73,7 +99,7 @@ - MobCow - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: GoatCube name: goat cube components: @@ -82,7 +108,7 @@ - MobGoat - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: MothroachCube name: mothroach cube components: @@ -91,7 +117,7 @@ - MobMothroach - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: MouseCube name: mouse cube components: @@ -100,7 +126,7 @@ - MobMouse - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: CockroachCube name: cockroach cube description: Just add wa- OH GOD! @@ -110,17 +136,28 @@ - MobCockroach - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: SpaceCarpCube name: carp cube description: Just add water! At your own risk. components: + - type: SolutionContainerManager + solutions: + cube: + maxVol: 24 # needs 1u room for water + reagents: # equals one piece of raw meat - plus a deadly toxin! + - ReagentId: UncookedAnimalProteins + Quantity: 9 + - ReagentId: Fat + Quantity: 9 + - ReagentId: CarpoToxin + Quantity: 5 - type: Rehydratable possibleSpawns: - MobCarp - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: SpaceTickCube name: tick cube description: Just add water! At your own risk. @@ -130,18 +167,11 @@ - MobTick - type: entity - parent: MonkeyCube + parent: RehydratableAnimalCube id: AbominationCube name: abomination cube description: Just add blood! components: - - type: SolutionContainerManager - solutions: - cube: - maxVol: 10 # needs room for more blood - reagents: - - ReagentId: Blood - Quantity: 9 - type: Reactive reactions: - reagents: [Blood] @@ -151,100 +181,56 @@ solution: cube - type: Rehydratable catalyst: Blood # blood is fuel - catalystMinimum: 10 possibleSpawns: - MobAbomination +# It inherits FoodComponent from PlushieCarp, but is de-facto inedible +# PlushieCarp has requiresSpecialDigestion:true, and this one is not whitelisted anywhere, so it behaves like it's not edible - type: entity - parent: [PlushieCarp, BaseSyndicateContraband] + parent: [PlushieCarp, RehydratableItem, BaseSyndicateContraband] id: DehydratedSpaceCarp name: dehydrated space carp description: Looks like a plush toy carp, but just add water and it becomes a real-life space carp! components: - - type: SolutionContainerManager - solutions: - plushie: - maxVol: 11 # needs room for water - reagents: - - ReagentId: Nutriment #contains nutriment like other dehydrated animals, but isn't edible? Who is grinding dehydrated carp to eat them?? - Quantity: 10 - - type: RefillableSolution - solution: plushie - - type: Reactive - reactions: - - reagents: [Water] - methods: [Touch, Ingestion, Injection] - effects: - - !type:AddToSolutionReaction - solution: plushie - - type: Rehydratable - possibleSpawns: - - MobCarp - - type: CollisionWake - enabled: false - - type: Physics - bodyType: KinematicController - - type: Fixtures + - type: Fixtures # BaseItem from PlushieCarp overrides fixtures, making carp not react to extinguishers fixtures: fix1: shape: !type:PhysShapeAabb bounds: "-0.3,-0.3,0.3,0.3" - density: 15 + density: 5 mask: - ItemMask - rehydrate: + rehydrate: # needed to react to fire extinguishers shape: !type:PhysShapeAabb bounds: "-0.3,-0.3,0.3,0.3" hard: false layer: - LowImpassable + - type: EmitSoundOnUse + handle: false # have to make it inedible because this causes petting and chewing trigger together + - type: SolutionContainerManager + solutions: + cube: + maxVol: 1 # needs room for water # pet fish before rehydrating and he will be nice to you - type: FactionException - type: PettableFriend successString: petting-success-dehydrated-carp failureString: petting-failure-dehydrated-carp - - type: EmitSoundOnUse - handle: false - sound: - path: /Audio/Effects/bite.ogg + - type: Rehydratable + possibleSpawns: + - MobCarp + - type: Tag # overwriting PlushieCarp tags to remove ClothMade and Payload + tags: + - PlushieCarp -- type: entity #why is this all redefined down here as a parent of base object instead of just being parented to monkeycube?? TODO: Fix this shit - parent: BaseItem +- type: entity + parent: MonkeyCube id: SyndicateSponge - name: monkey cube suffix: Syndicate - description: Just add water! components: - - type: Item - size: Tiny - - type: SolutionContainerManager - solutions: - cube: - maxVol: 11 # needs room for water - reagents: - - ReagentId: Nutriment - Quantity: 10 - - type: Food - solution: cube - - type: FlavorProfile - flavors: - - chewy - - horrible - - compressed-meat - - type: RefillableSolution - solution: cube - - type: Sprite - sprite: Objects/Misc/monkeycube.rsi - state: cube - - type: Reactive - reactions: - - reagents: [Water] - methods: [Touch, Ingestion, Injection] - effects: - - !type:AddToSolutionReaction - solution: cube - type: Rehydratable possibleSpawns: - MobCarpHolo @@ -256,21 +242,16 @@ - MobPurpleSnake - MobKangarooSpace - MobTick - - type: CollisionWake - enabled: false - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.3,-0.3,0.3,0.3" - density: 5 - mask: - - ItemMask - rehydrate: - shape: - !type:PhysShapeAabb - bounds: "-0.3,-0.3,0.3,0.3" - hard: false - layer: - - LowImpassable + +- type: entity + parent: RehydratableItem + id: MopBucketCube + name: mop bucket cube + description: Just add water! And then more water! + components: + - type: Sprite + sprite: Objects/Specific/Janitorial/janitorial.rsi + state: mopbucket_cube + - type: Rehydratable + possibleSpawns: + - MopBucket diff --git a/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml index d74fe8b0f1ba..c095951d96b9 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml @@ -125,6 +125,18 @@ - ReagentId: Water Quantity: 600 +- type: entity + parent: BaseWrappedCube + name: mop bucket cube + id: MopBucketCubeWrapped + description: Unwrap this to get a mop bucket cube. + components: + - type: SpawnItemsOnUse + items: + - id: MopBucketCube + - type: Sprite + state: wrapper + # Janicart - type: entity name: janitorial trolley diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json index 4f7a1e777222..e4604b165f39 100644 --- a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428, mopbucket_shark_* by Psychpsyo, mopbucket_carpplush adapted by Psychpsyo from tgstation carpplush at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428, mopbucket_shark_* by Psychpsyo, mopbucket_carpplush adapted by Psychpsyo from tgstation carpplush at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, mopbucket_cube is monkey cube taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/9c980cb9bc84d07b1c210c5447798af525185f80/icons/obj/food.dmi and modified by Hrosts", "size": { "x": 32, "y": 32 @@ -37,6 +37,9 @@ { "name": "mopbucket_carpplush" }, + { + "name": "mopbucket_cube" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_cube.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_cube.png new file mode 100644 index 000000000000..7fba6549bd86 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_cube.png differ