diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index 0a57157f1b2..aa75fba58b4 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -443,4 +443,3 @@ components: - type: InstantAction useDelay: 4 - diff --git a/Resources/Prototypes/Body/Organs/Animal/animal.yml b/Resources/Prototypes/Body/Organs/Animal/animal.yml index 1fa02c9f533..599efd617f7 100644 --- a/Resources/Prototypes/Body/Organs/Animal/animal.yml +++ b/Resources/Prototypes/Body/Organs/Animal/animal.yml @@ -21,7 +21,8 @@ - chicken # everything kinda tastes like chicken - type: Tag tags: - - Meat + - Meat + - Organ # heretic edit - type: entity id: BaseAnimalOrgan @@ -61,6 +62,11 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs - type: entity id: OrganAnimalStomach @@ -88,6 +94,11 @@ groups: - id: Food - id: Drink + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganMouseStomach @@ -117,6 +128,11 @@ - id: Alcohol rateModifier: 0.1 - type: Liver # Shitmed + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Liver - type: entity id: OrganAnimalHeart @@ -136,7 +152,11 @@ - id: Poison - id: Narcotic - type: Heart # Shitmed - + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart - type: entity id: OrganAnimalKidneys @@ -153,4 +173,9 @@ - type: Metabolizer maxReagents: 5 metabolizerTypes: [ Animal ] - removeEmpty: true \ No newline at end of file + removeEmpty: true + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Kidneys \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/Friendstomach.yml b/Resources/Prototypes/Body/Organs/Friendstomach.yml index 8dc992b08fb..1e8ca35e589 100644 --- a/Resources/Prototypes/Body/Organs/Friendstomach.yml +++ b/Resources/Prototypes/Body/Organs/Friendstomach.yml @@ -13,3 +13,8 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/arachnid.yml b/Resources/Prototypes/Body/Organs/arachnid.yml index a8d387d6d35..107e7af5cb9 100644 --- a/Resources/Prototypes/Body/Organs/arachnid.yml +++ b/Resources/Prototypes/Body/Organs/arachnid.yml @@ -23,7 +23,8 @@ Quantity: 5 - type: Tag tags: - - Meat + - Meat + - Organ # heretic edit - type: entity id: OrganArachnidStomach @@ -49,6 +50,11 @@ Quantity: 5 - type: Metabolizer updateInterval: 1.5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganArachnidLungs @@ -86,6 +92,11 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs - type: entity id: OrganArachnidHeart @@ -106,6 +117,11 @@ - type: Organ # Shitmed slotId: heart - type: Heart # Shitmed: Lets you transplant spider hearts into other species + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart - type: entity id: OrganArachnidLiver @@ -126,6 +142,11 @@ - type: Organ # Shitmed slotId: liver - type: Liver # Shitmed + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Liver - type: entity id: OrganArachnidKidneys @@ -146,6 +167,11 @@ maxReagents: 5 metabolizerTypes: [Animal] removeEmpty: true + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Kidneys - type: entity id: OrganArachnidEyes @@ -160,6 +186,11 @@ - type: Organ # Shitmed slotId: eyes - type: Eyes # Shitmed + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Eyes - type: entity id: OrganArachnidTongue @@ -169,3 +200,8 @@ components: - type: Sprite state: tongue + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Tongue \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/diona.yml b/Resources/Prototypes/Body/Organs/diona.yml index fb6c819493b..a3ba402398a 100644 --- a/Resources/Prototypes/Body/Organs/diona.yml +++ b/Resources/Prototypes/Body/Organs/diona.yml @@ -24,6 +24,10 @@ - type: FlavorProfile flavors: - people + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: BaseDionaOrgan @@ -58,6 +62,11 @@ reagents: - ReagentId: GreyMatter Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Brain - type: entity id: OrganDionaEyes @@ -72,6 +81,11 @@ - type: Organ # Shitmed slotId: eyes - type: Eyes + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Eyes - type: entity id: OrganDionaStomach @@ -105,6 +119,11 @@ - id: Narcotic - id: Alcohol rateModifier: 0.1 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganDionaLungs @@ -138,6 +157,11 @@ Lung: maxVol: 100 canReact: False + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs # Organs that turn into nymphs on removal - type: entity @@ -151,6 +175,11 @@ - type: Nymph # This will make the organs turn into a nymph when they're removed. entityPrototype: OrganDionaNymphBrain transferMind: true + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Brain - type: entity id: OrganDionaStomachNymph @@ -161,6 +190,11 @@ components: - type: Nymph entityPrototype: OrganDionaNymphStomach + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganDionaLungsNymph @@ -171,6 +205,11 @@ components: - type: Nymph entityPrototype: OrganDionaNymphLungs + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs # Nymphs that the organs will turn into - type: entity @@ -184,11 +223,6 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphBrain - - type: SurgeryTarget - - type: UserInterface - interfaces: - enum.SurgeryUIKey.Key: - type: SurgeryBui - type: entity id: OrganDionaNymphStomach @@ -201,11 +235,6 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphStomach - - type: SurgeryTarget - - type: UserInterface - interfaces: - enum.SurgeryUIKey.Key: - type: SurgeryBui - type: entity id: OrganDionaNymphLungs @@ -218,8 +247,3 @@ - type: IsDeadIC - type: Body prototype: AnimalNymphLungs - - type: SurgeryTarget - - type: UserInterface - interfaces: - enum.SurgeryUIKey.Key: - type: SurgeryBui diff --git a/Resources/Prototypes/Body/Organs/dwarf.yml b/Resources/Prototypes/Body/Organs/dwarf.yml index 497bc190cd1..c1261017879 100644 --- a/Resources/Prototypes/Body/Organs/dwarf.yml +++ b/Resources/Prototypes/Body/Organs/dwarf.yml @@ -5,6 +5,11 @@ components: - type: Metabolizer metabolizerTypes: [Dwarf] + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart - type: entity id: OrganDwarfLiver @@ -13,6 +18,11 @@ components: - type: Metabolizer metabolizerTypes: [Dwarf, LiquorLifeline] + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Liver - type: entity id: OrganDwarfStomach @@ -36,3 +46,8 @@ # mm very yummy maxReagents: 5 metabolizerTypes: [Dwarf] + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/human.yml b/Resources/Prototypes/Body/Organs/human.yml index 788e582f714..86dad2360ab 100644 --- a/Resources/Prototypes/Body/Organs/human.yml +++ b/Resources/Prototypes/Body/Organs/human.yml @@ -26,6 +26,7 @@ - type: Tag tags: - Meat + - Organ # heretic edit - type: entity @@ -73,7 +74,12 @@ entries: Burger: Brain Taco: Brain - + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Brain + - type: entity id: OrganHumanEyes parent: BaseHumanOrgan @@ -87,6 +93,11 @@ layers: - state: eyeball-l - state: eyeball-r + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Eyes - type: entity id: OrganHumanTongue @@ -96,6 +107,11 @@ components: - type: Sprite state: tongue + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Tongue - type: entity id: OrganHumanAppendix @@ -107,6 +123,10 @@ - state: appendix - state: appendix-inflamed visible: false + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganHumanEars @@ -117,6 +137,10 @@ - type: Sprite state: ears - type: Ears # Shitmed Change + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganHumanLungs @@ -153,6 +177,11 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs - type: entity id: OrganHumanHeart @@ -175,7 +204,12 @@ - id: Medicine - id: Poison - id: Narcotic - + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart + - type: entity id: OrganHumanStomach parent: BaseHumanOrgan @@ -206,6 +240,11 @@ groups: - id: Food - id: Drink + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganHumanLiver @@ -224,6 +263,11 @@ groups: - id: Alcohol rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Liver - type: entity id: OrganHumanKidneys @@ -242,3 +286,8 @@ maxReagents: 5 metabolizerTypes: [Human] removeEmpty: true + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Kidneys diff --git a/Resources/Prototypes/Body/Organs/ipc.yml b/Resources/Prototypes/Body/Organs/ipc.yml index e91fb0ab8f0..976770fc07d 100644 --- a/Resources/Prototypes/Body/Organs/ipc.yml +++ b/Resources/Prototypes/Body/Organs/ipc.yml @@ -16,6 +16,10 @@ reagents: - ReagentId: Oil Quantity: 10 + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganIPCEyes @@ -30,6 +34,11 @@ - type: Organ slotId: eyes - type: Eyes + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Eyes - type: entity id: OrganIPCTongue @@ -40,6 +49,11 @@ - type: Sprite state: tongue - type: Organ + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Tongue - type: entity id: OrganIPCEars @@ -51,6 +65,10 @@ state: ears - type: Organ - type: Ears + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganIPCPump @@ -74,4 +92,9 @@ # groups: # - id: Medicine # - id: Poison - # - id: Narcotic \ No newline at end of file + # - id: Narcotic + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/moth.yml b/Resources/Prototypes/Body/Organs/moth.yml index 418c492d61b..1391b49ff67 100644 --- a/Resources/Prototypes/Body/Organs/moth.yml +++ b/Resources/Prototypes/Body/Organs/moth.yml @@ -26,3 +26,8 @@ groups: - id: Food - id: Drink + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach diff --git a/Resources/Prototypes/Body/Organs/rat.yml b/Resources/Prototypes/Body/Organs/rat.yml index 9d1352c72f5..cd60f9aba52 100644 --- a/Resources/Prototypes/Body/Organs/rat.yml +++ b/Resources/Prototypes/Body/Organs/rat.yml @@ -5,7 +5,12 @@ components: - type: Metabolizer metabolizerTypes: [ Rat ] - + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs + - type: entity id: OrganRatStomach parent: OrganAnimalStomach @@ -22,3 +27,8 @@ Quantity: 5 - type: Sprite state: stomach + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach diff --git a/Resources/Prototypes/Body/Organs/reptilian.yml b/Resources/Prototypes/Body/Organs/reptilian.yml index 34c736aec8b..d14a0d6dcb7 100644 --- a/Resources/Prototypes/Body/Organs/reptilian.yml +++ b/Resources/Prototypes/Body/Organs/reptilian.yml @@ -21,3 +21,8 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/shadowkin.yml b/Resources/Prototypes/Body/Organs/shadowkin.yml index 695ddec1ab2..39e3946ca71 100644 --- a/Resources/Prototypes/Body/Organs/shadowkin.yml +++ b/Resources/Prototypes/Body/Organs/shadowkin.yml @@ -5,6 +5,11 @@ - type: Sprite sprite: Mobs/Species/Shadowkin/organs.rsi state: brain + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Brain - type: entity id: OrganShadowkinEyes @@ -15,6 +20,11 @@ sprite: Mobs/Species/Shadowkin/organs.rsi layers: - state: eyes + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Eyes - type: entity id: OrganShadowkinEars @@ -24,6 +34,10 @@ - type: Sprite sprite: Mobs/Species/Shadowkin/organs.rsi state: ears + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganShadowkinTongue @@ -32,7 +46,11 @@ - type: Sprite sprite: Mobs/Species/Shadowkin/organs.rsi state: tongue - + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Tongue - type: entity id: OrganShadowkinAppendix @@ -42,7 +60,10 @@ sprite: Mobs/Species/Shadowkin/organs.rsi layers: - state: appendix - + - type: Tag # heretic edit + tags: + - Meat + - Organ - type: entity id: OrganShadowkinHeart @@ -58,6 +79,11 @@ - id: Medicine - id: Poison - id: Narcotic + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Heart - type: entity id: OrganShadowkinStomach @@ -82,6 +108,11 @@ groups: - id: Food - id: Drink + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Stomach - type: entity id: OrganShadowkinLiver @@ -97,6 +128,11 @@ groups: - id: Alcohol rateModifier: 0.1 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Liver - type: entity id: OrganShadowkinKidneys @@ -110,4 +146,9 @@ - type: Metabolizer maxReagents: 5 metabolizerTypes: [Shadowkin] - removeEmpty: true \ No newline at end of file + removeEmpty: true + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Kidneys \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/slime.yml b/Resources/Prototypes/Body/Organs/slime.yml index 8b77ff04e3b..e4887b74532 100644 --- a/Resources/Prototypes/Body/Organs/slime.yml +++ b/Resources/Prototypes/Body/Organs/slime.yml @@ -35,6 +35,12 @@ reagents: - ReagentId: Slime Quantity: 10 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Brain + - Stomach - type: entity @@ -73,4 +79,9 @@ maxVol: 5 reagents: - ReagentId: UncookedAnimalProteins - Quantity: 5 \ No newline at end of file + Quantity: 5 + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs \ No newline at end of file diff --git a/Resources/Prototypes/Body/Organs/vox.yml b/Resources/Prototypes/Body/Organs/vox.yml index c5355af6b09..5c737200aa1 100644 --- a/Resources/Prototypes/Body/Organs/vox.yml +++ b/Resources/Prototypes/Body/Organs/vox.yml @@ -8,3 +8,8 @@ metabolizerTypes: [ Vox ] - type: Lung alert: LowNitrogen + - type: Tag # heretic edit + tags: + - Meat + - Organ + - Lungs \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml index 65916a84b99..c2580b742fe 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/misc.yml @@ -239,4 +239,4 @@ - !type:EntSelector id: GeigerCounter amount: !type:ConstantNumberSelector - value: 2 + value: 2 \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index cc0e0bb0f36..0c8a82ce1b6 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1532,6 +1532,7 @@ components: - SurplusBundle + - type: listing id: UplinkNightGoggles name: uplink-night-vision-name diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/goggles.yml b/Resources/Prototypes/Entities/Clothing/Eyes/goggles.yml index 4348c87227d..0c6f6e92be2 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/goggles.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/goggles.yml @@ -1,114 +1,114 @@ -# Night Vision Goggles - -- type: entity - parent: ClothingEyesBase - id: ClothingEyesNightVisionGoggles - name: night vision goggles - description: An advanced heads-up display which provides id data and vision in complete darkness. - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/nightvision.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/nightvision.rsi - - type: NightVision - - type: IdentityBlocker - coverage: EYES - -- type: entity - parent: [ClothingEyesNightVisionGoggles, ShowSecurityIcons] - id: ClothingEyesNightVisionSecurityGoggles - name: night vision security goggles - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/security_nightvision.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/security_nightvision.rsi - -- type: entity - parent: [ClothingEyesNightVisionGoggles, ClothingEyesHudMedical] - id: ClothingEyesNightVisionMedicalGoggles - name: night vision medical goggles - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/medical_nightvision.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/medical_nightvision.rsi - -- type: entity - parent: [ClothingEyesNightVisionGoggles, ClothingEyesHudDiagnostic] - id: ClothingEyesNightVisionDiagnosticGoggles - name: night vision diagnostic goggles - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/diagnostic_nightvision.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/diagnostic_nightvision.rsi - -- type: entity - parent: ClothingEyesNightVisionGoggles - id: ClothingEyesNightVisionGogglesSyndie - suffix: "Chameleon" - components: - - type: ChameleonClothing - slot: [eyes] - default: ClothingEyesNightVisionGoggles - - type: UserInterface - interfaces: - enum.ChameleonUiKey.Key: - type: ChameleonBoundUserInterface - -- type: entity - parent: [ClothingEyesNightVisionGogglesSyndie, ShowSecurityIcons] - id: ClothingEyesNightVisionGogglesNukie - suffix: "Chameleon, NukeOps" - components: - - type: ShowSyndicateIcons - -# Thermal Vision Goggles - -- type: entity - parent: ClothingEyesBase - id: ClothingEyesThermalVisionGoggles - name: thermal vision goggles - description: Thermals in the shape of glasses. - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/thermal.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/thermal.rsi - - type: ThermalVision - pulseTime: 2 - toggleAction: PulseThermalVision - - type: IdentityBlocker - coverage: EYES - -- type: entity - parent: ClothingEyesThermalVisionGoggles - id: ClothingEyesThermalVisionMonocle - name: thermonocle - description: Never before has seeing through walls felt so gentlepersonly. - components: - - type: Sprite - sprite: Clothing/Eyes/Goggles/monocle_thermal.rsi - - type: Clothing - sprite: Clothing/Eyes/Goggles/monocle_thermal.rsi - -- type: entity - parent: ClothingEyesThermalVisionGoggles - id: ClothingEyesThermalVisionGogglesSyndie - suffix: "Chameleon" - components: - - type: ChameleonClothing - slot: [eyes] - default: ClothingEyesThermalVisionGoggles - - type: UserInterface - interfaces: - enum.ChameleonUiKey.Key: - type: ChameleonBoundUserInterface - -- type: entity - parent: [ClothingEyesThermalVisionGogglesSyndie, ShowSecurityIcons] - id: ClothingEyesThermalVisionGogglesNukie - suffix: "Chameleon, NukeOps" - components: - - type: ShowSyndicateIcons +# Night Vision Goggles + +- type: entity + parent: ClothingEyesBase + id: ClothingEyesNightVisionGoggles + name: night vision goggles + description: An advanced heads-up display which provides id data and vision in complete darkness. + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/nightvision.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/nightvision.rsi + - type: NightVision + - type: IdentityBlocker + coverage: EYES + +- type: entity + parent: [ClothingEyesNightVisionGoggles, ShowSecurityIcons] + id: ClothingEyesNightVisionSecurityGoggles + name: night vision security goggles + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/security_nightvision.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/security_nightvision.rsi + +- type: entity + parent: [ClothingEyesNightVisionGoggles, ClothingEyesHudMedical] + id: ClothingEyesNightVisionMedicalGoggles + name: night vision medical goggles + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/medical_nightvision.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/medical_nightvision.rsi + +- type: entity + parent: [ClothingEyesNightVisionGoggles, ClothingEyesHudDiagnostic] + id: ClothingEyesNightVisionDiagnosticGoggles + name: night vision diagnostic goggles + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/diagnostic_nightvision.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/diagnostic_nightvision.rsi + +- type: entity + parent: ClothingEyesNightVisionGoggles + id: ClothingEyesNightVisionGogglesSyndie + suffix: "Chameleon" + components: + - type: ChameleonClothing + slot: [eyes] + default: ClothingEyesNightVisionGoggles + - type: UserInterface + interfaces: + enum.ChameleonUiKey.Key: + type: ChameleonBoundUserInterface + +- type: entity + parent: [ClothingEyesNightVisionGogglesSyndie, ShowSecurityIcons] + id: ClothingEyesNightVisionGogglesNukie + suffix: "Chameleon, NukeOps" + components: + - type: ShowSyndicateIcons + +# Thermal Vision Goggles + +- type: entity + parent: ClothingEyesBase + id: ClothingEyesThermalVisionGoggles + name: thermal vision goggles + description: Thermals in the shape of glasses. + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/thermal.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/thermal.rsi + - type: ThermalVision + pulseTime: 2 + toggleAction: PulseThermalVision + - type: IdentityBlocker + coverage: EYES + +- type: entity + parent: ClothingEyesThermalVisionGoggles + id: ClothingEyesThermalVisionMonocle + name: thermonocle + description: Never before has seeing through walls felt so gentlepersonly. + components: + - type: Sprite + sprite: Clothing/Eyes/Goggles/monocle_thermal.rsi + - type: Clothing + sprite: Clothing/Eyes/Goggles/monocle_thermal.rsi + +- type: entity + parent: ClothingEyesThermalVisionGoggles + id: ClothingEyesThermalVisionGogglesSyndie + suffix: "Chameleon" + components: + - type: ChameleonClothing + slot: [eyes] + default: ClothingEyesThermalVisionGoggles + - type: UserInterface + interfaces: + enum.ChameleonUiKey.Key: + type: ChameleonBoundUserInterface + +- type: entity + parent: [ClothingEyesThermalVisionGogglesSyndie, ShowSecurityIcons] + id: ClothingEyesThermalVisionGogglesNukie + suffix: "Chameleon, NukeOps" + components: + - type: ShowSyndicateIcons \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml b/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml index 03400e4a82e..75e5bc4b917 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml @@ -9,6 +9,9 @@ size: Small - type: Clothing slots: [mask] + - type: Tag # goob edit + tags: + - Mask - type: entity abstract: true diff --git a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml index c5b34a7a67f..ae8f56df291 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml @@ -15,6 +15,8 @@ tags: - HamsterWearable - WhitelistChameleon + - GasMask # heretic edit + - Mask # heretic edit - type: HideLayerClothing slots: - Snout @@ -670,4 +672,4 @@ - type: IdentityBlocker - type: Tag tags: - - IPCMaskWearable # Estacao Pirata - IPCs + - IPCMaskWearable # Estacao Pirata - IPCs \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml index 9e4f72bb0c5..a5e507f393e 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml @@ -329,7 +329,6 @@ color: "#808080" activateSound: null deactivateSound: null - - type: weightedRandomEntity id: RatKingLoot weights: diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml index b8de17a55fb..1ee923bfe74 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon_base.yml @@ -91,7 +91,6 @@ - map: ["enum.HumanoidVisualLayers.Head"] - map: ["enum.HumanoidVisualLayers.Snout"] - map: ["enum.HumanoidVisualLayers.Eyes"] - - map: ["enum.HumanoidVisualLayers.Face"] - map: ["enum.HumanoidVisualLayers.RArm"] - map: ["enum.HumanoidVisualLayers.LArm"] - map: ["enum.HumanoidVisualLayers.RLeg"] @@ -126,6 +125,7 @@ - map: ["belt"] - map: ["neck"] - map: ["back"] + - map: [ "enum.HumanoidVisualLayers.Face" ] - map: ["enum.HumanoidVisualLayers.FacialHair"] - map: ["enum.HumanoidVisualLayers.Hair"] - map: ["enum.HumanoidVisualLayers.HeadSide"] diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 8fab5db343d..29fd32d5f01 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -1470,6 +1470,7 @@ - type: Tag tags: - Flower # TODO add "RedFlower" or "Poppy" tag, when other color flowers will be + - Poppy # heretic edit - type: FoodSequenceElement entries: Taco: Poppy diff --git a/Resources/Prototypes/Entities/Objects/Devices/geiger.yml b/Resources/Prototypes/Entities/Objects/Devices/geiger.yml index f8ee24c5c60..a9d19ae1aa6 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/geiger.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/geiger.yml @@ -34,4 +34,6 @@ - type: PhysicalComposition materialComposition: Plastic: 100 - + - type: Tag # goob edit + tags: + - GeigerCounter diff --git a/Resources/Prototypes/Entities/Objects/Fun/immovable_rod.yml b/Resources/Prototypes/Entities/Objects/Fun/immovable_rod.yml index b5cebbdd097..065aa0b4dd3 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/immovable_rod.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/immovable_rod.yml @@ -96,3 +96,36 @@ damage: types: Blunt: 120 + +# heretic edit +- type: entity + id: ImmovableVoidRod + name: immovable void rod + description: You can sense that it's hungry. That's usually a bad sign. + components: + - type: Clickable + - type: InteractionOutline + - type: MovementIgnoreGravity + - type: Sprite + sprite: Goobstation/Heretic/abilities_heretic.rsi + state: immovable_rod + noRot: false + - type: ImmovableVoidRod + - type: Physics + bodyType: Dynamic + linearDamping: 0 + - type: PointLight + radius: 3 + color: blue + energy: 2.0 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.5 + density: 1 + hard: false + layer: + - Impassable + - Opaque \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index 75a02f05a49..74e882a3074 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -1,701 +1,42 @@ -- type: entity - abstract: true - parent: BaseItem - id: MaterialBase - description: A raw material. - components: - - type: Sprite - sprite: Objects/Materials/materials.rsi - - type: Item - sprite: Objects/Materials/materials.rsi - size: Normal - - type: Tag - tags: - - RawMaterial - - type: Damageable - damageContainer: Inorganic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity - parent: MaterialBase - id: MaterialCardboard - name: cardboard - suffix: Full - components: - - type: Material - - type: PhysicalComposition - materialComposition: - Cardboard: 100 - - type: Stack - stackType: Cardboard - baseLayer: base - layerStates: - - cardboard - - cardboard_2 - - cardboard_3 - - type: Sprite - state: cardboard_3 - layers: - - state: cardboard_3 - map: ["base"] - - type: Appearance - - type: Extractable - grindableSolutionName: cardboard - - type: SolutionContainerManager - solutions: - cardboard: - reagents: - - ReagentId: Cellulose - Quantity: 6 - -- type: entity - parent: MaterialCardboard - id: MaterialCardboard10 - suffix: 10 - components: - - type: Sprite - state: cardboard - - type: Stack - count: 10 - -- type: entity - parent: MaterialCardboard - id: MaterialCardboard1 - suffix: Single - components: - - type: Sprite - state: cardboard - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialCloth - name: cloth - suffix: Full - components: - - type: Healing - damageContainers: - - Biological - damage: - types: - Slash: -0.5 - Piercing: -0.5 - bloodlossModifier: -4 - healingBeginSound: - path: "/Audio/Items/Medical/brutepack_begin.ogg" - healingEndSound: - path: "/Audio/Items/Medical/brutepack_end.ogg" - - type: Stack - stackType: Cloth - baseLayer: base - layerStates: - - cloth - - cloth_2 - - cloth_3 - - type: Material - - type: PhysicalComposition - materialComposition: - Cloth: 100 - - type: Extractable - juiceSolution: - reagents: - - ReagentId: Fiber - Quantity: 3 - - type: Sprite - state: cloth_3 - layers: - - state: cloth_3 - map: ["base"] - - type: Appearance - - type: Food - requiresSpecialDigestion: true - - type: FlavorProfile - flavors: - - fiber - - type: SolutionContainerManager - solutions: - food: - maxVol: 5 - reagents: - - ReagentId: Fiber - Quantity: 5 - - type: Tag - tags: - - ClothMade - - Gauze - - RawMaterial - - type: Construction - graph: WebObjects # not sure if I should either keep this here or just make another prototype. Will keep it here just in case. - node: cloth - -- type: entity - parent: MaterialCloth - id: MaterialCloth10 - suffix: 10 - components: - - type: Sprite - state: cloth - - type: Stack - count: 10 - -- type: entity - parent: MaterialCloth - id: MaterialCloth1 - suffix: Single - components: - - type: Sprite - state: cloth - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialDurathread - name: durathread - suffix: Full - components: - - type: Stack - stackType: Durathread - baseLayer: base - layerStates: - - durathread - - durathread_2 - - durathread_3 - - type: Material - - type: PhysicalComposition - materialComposition: - Durathread: 100 - - type: Sprite - state: durathread_3 - layers: - - state: durathread_3 - map: ["base"] - - type: Appearance - - type: Construction - graph: Durathread - node: MaterialDurathread - - type: Food - requiresSpecialDigestion: true - - type: SolutionContainerManager - solutions: - food: - maxVol: 5 - reagents: - - ReagentId: Fiber - Quantity: 5 - - type: Tag - tags: - - ClothMade - - RawMaterial - -- type: entity - parent: MaterialDurathread - id: MaterialDurathread1 - suffix: Single - components: - - type: Sprite - state: durathread - - type: Stack - count: 1 - - type: SolutionContainerManager - solutions: - food: - maxVol: 5 - reagents: #Hell if I know what durathread is made out of. - - ReagentId: Fiber - Quantity: 6 - - type: entity parent: MaterialBase - id: MaterialWoodPlank - name: wood + id: MaterialBSCrystal + name: bluespace crystal suffix: Full components: - - type: Material - - type: PhysicalComposition - materialComposition: - Wood: 100 - type: Stack - stackType: WoodPlank + stackType: BSCrystal baseLayer: base layerStates: - - wood - - wood_2 - - wood_3 + - bluespace_crystal + - bluespace_crystal_2 + - bluespace_crystal_3 - type: Sprite - state: wood + sprite: Goobstation/Objects/Materials/materials.rsi + state: bluespace_crystal layers: - - state: wood + - state: bluespace_crystal map: ["base"] - type: Appearance - type: Item - heldPrefix: wood - - type: Tag - tags: - - Wooden - - RawMaterial - - type: Extractable - grindableSolutionName: wood - - type: SolutionContainerManager - solutions: - wood: - reagents: - - ReagentId: Cellulose - Quantity: 10 - -- type: entity - parent: MaterialWoodPlank - id: MaterialWoodPlank10 - suffix: 10 - components: - - type: Stack - count: 10 - -- type: entity - parent: MaterialWoodPlank - id: MaterialWoodPlank1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialBiomass - name: biomass - suffix: Full - components: + heldPrefix: bluespace_crystal - type: Material - type: PhysicalComposition materialComposition: - Biomass: 1 - - type: Stack - stackType: Biomass - count: 100 - - type: Sprite - sprite: /Textures/Objects/Misc/monkeycube.rsi - state: cube - color: "#8A9A5B" - - type: GuideHelp - guides: - - Cloning - -- type: entity - parent: MaterialBiomass - id: MaterialBiomass1 - suffix: Single - components: - - type: Stack - count: 1 - -# Following not used currently -- type: entity - parent: MaterialBase - id: MaterialHideBear - name: bear hide - components: - - type: Sprite - sprite: Objects/Materials/materials.rsi - layers: - - map: [ "enum.DamageStateVisualLayers.Base" ] - state: bearpelt - - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] - state: bearpelt_glow - shader: unshaded - - type: Item - sprite: Clothing/Head/Misc/hides.rsi - heldPrefix: bear - - type: Clothing - sprite: Clothing/Head/Misc/hides.rsi - equippedPrefix: bear - slots: - - HEAD - - type: PointLight - radius: 1.2 - energy: 1.5 - color: "#4faffb" - slots: - -- type: entity - parent: MaterialBase - id: MaterialHideCorgi - name: corgi hide - description: Luxury pelt used in only the most elite fashion. Rumors say this is found when a corgi is sent to the nice farm. - components: - - type: Sprite - sprite: Objects/Materials/materials.rsi - state: corgihide - - type: Item - sprite: Clothing/Head/Misc/hides.rsi - heldPrefix: corgi - - type: Clothing - sprite: Clothing/Head/Misc/hides.rsi - equippedPrefix: corgi2 - slots: - - HEAD + BSCrystal: 100 + - type: RandomTeleportOnUse + radius: + min: 2 + max: 5 - type: Tag tags: - - HideCorgi + - Ore + - Ingot - type: entity - parent: MaterialBase - id: MaterialDiamond - name: refined diamond - suffix: Full - components: - - type: Stack - stackType: Diamond - baseLayer: base - layerStates: - - diamond - - diamond_2 - - diamond_3 - - type: Sprite - state: diamond - layers: - - state: diamond - map: ["base"] - - type: Appearance - - type: Item - heldPrefix: diamond - - type: Extractable - grindableSolutionName: diamond - - type: SolutionContainerManager - solutions: - diamond: - reagents: - - ReagentId: Carbon - Quantity: 20 - - type: Material - - type: PhysicalComposition - materialComposition: - Diamond: 100 - -- type: entity - parent: MaterialDiamond - id: MaterialDiamond1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialCotton - name: cotton - suffix: Full - components: - - type: Stack - stackType: Cotton - baseLayer: base - layerStates: - - cotton - - cotton_2 - - cotton_3 - - type: Sprite - state: cotton_3 - layers: - - state: cotton_3 - map: ["base"] - - type: Appearance - - type: Food - requiresSpecialDigestion: true - - type: FlavorProfile - flavors: - - fiber - - type: SolutionContainerManager - solutions: - food: - maxVol: 5 - reagents: - - ReagentId: Fiber - Quantity: 5 - - type: Extractable - juiceSolution: - reagents: - - ReagentId: Fiber - Quantity: 3 - - type: Tag - tags: - - ClothMade - - RawMaterial - -- type: entity - parent: MaterialCotton - id: MaterialCotton1 - suffix: Single - components: - - type: Sprite - state: cotton - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialPyrotton - name: pyrotton - suffix: Full - components: - - type: Stack - stackType: Pyrotton - baseLayer: base - layerStates: - - pyrotton - - pyrotton_2 - - pyrotton_3 - - type: Sprite - state: pyrotton_3 - layers: - - state: pyrotton_3 - map: ["base"] - - type: Appearance - - type: Food - requiresSpecialDigestion: true - - type: SolutionContainerManager - solutions: - food: - maxVol: 10 - reagents: - - ReagentId: Fiber - Quantity: 5 - - ReagentId: Phlogiston - Quantity: 5 - - type: Extractable - juiceSolution: - reagents: - - ReagentId: Fiber - Quantity: 3 - - ReagentId: Phlogiston - Quantity: 3 - - type: Tag - tags: - - ClothMade - - RawMaterial - -- type: entity - parent: MaterialPyrotton - id: MaterialPyrotton1 + parent: MaterialBSCrystal + id: MaterialBSCrystal1 suffix: Single components: - - type: Sprite - state: pyrotton - type: Stack count: 1 - -- type: entity - parent: MaterialBase - id: MaterialBananium - name: bananium - suffix: Full - components: - - type: Material - - type: PhysicalComposition - materialComposition: - Bananium: 150 - - type: Sprite - state: bananium_1 - layers: - - state: bananium_1 - map: ["base"] - - type: Stack - stackType: Bananium - count: 10 - baseLayer: base - layerStates: - - bananium - - bananium_1 - - type: RadiationSource #Delta V - Adds radiation - intensity: 0.1 - - type: FlavorProfile - flavors: - - banana - - type: Food - trash: - - TrashBananiumPeel - - type: BadFood - - type: SolutionContainerManager - solutions: - food: - maxVol: 11 - reagents: - - ReagentId: Nutriment - Quantity: 4 - - ReagentId: Vitamin - Quantity: 2 - - ReagentId: Honk - Quantity: 5 - - type: Extractable - juiceSolution: - reagents: - - ReagentId: JuiceBanana - Quantity: 5 - - ReagentId: Honk - Quantity: 5 - - type: Appearance - -- type: entity - parent: MaterialBananium - id: MaterialBananium1 - suffix: Single - components: - - type: Sprite - state: bananium - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialWebSilk - name: silk - description: A webby material. - suffix: Full - components: - - type: PhysicalComposition - materialComposition: - WebSilk: 100 - - type: Sprite - sprite: Objects/Materials/silk.rsi - state: icon - - type: Stack - count: 50 - stackType: WebSilk - - type: Food - requiresSpecialDigestion: true - - type: FlavorProfile - flavors: - - cobwebs - ignoreReagents: - - Fiber - - type: Extractable - juiceSolution: - reagents: - - ReagentId: Fiber - Quantity: 3 - - type: SolutionContainerManager - solutions: - food: - maxVol: 3 - reagents: - - ReagentId: Fiber - Quantity: 3 - - type: Tag - tags: - - ClothMade - - RawMaterial - -- type: entity - parent: MaterialWebSilk - id: MaterialWebSilk25 - suffix: 25 - components: - - type: Stack - count: 25 - -- type: entity - parent: MaterialWebSilk - id: MaterialWebSilk1 - suffix: 1 - components: - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialBones - name: bones - suffix: Full - components: - - type: Stack - stackType: Bones - baseLayer: base - layerStates: - - bones - - bones_2 - - bones_3 - - type: Sprite - state: cotton_3 - layers: - - state: cotton_3 - map: ["base"] - - type: Appearance - - type: Food - - type: BadFood - - type: SolutionContainerManager - solutions: - food: - maxVol: 5 - reagents: - - ReagentId: Vitamin - Quantity: 3 - -- type: entity - parent: MaterialBones - id: MaterialBones1 - suffix: 1 - components: - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialGunpowder - name: gunpowder - description: An explosive compound. - components: - - type: Stack - stackType: Gunpowder - count: 1 - - type: Sprite - sprite: Objects/Misc/reagent_fillings.rsi - state: powderpile - color: darkgray - - type: PhysicalComposition - materialComposition: - Gunpowder: 100 - - type: Item - size: Tiny - -- type: entity - parent: MaterialBase - id: MaterialGoliathHide - name: goliath hide plates - description: Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna. - suffix: Full - components: - - type: Sprite - sprite: Objects/Materials/hide.rsi - layers: - - state: goliath_hide - map: [ "base" ] - - type: StaticPrice - price: 0 - - type: StackPrice - price: 1500 - - type: Appearance - - type: Stack - stackType: GoliathHide - baseLayer: base - layerStates: - - goliath_hide - - goliath_hide_2 - - goliath_hide_3 - - type: Item - size: Large - shape: - - 0,0,2,2 - -- type: entity - parent: MaterialGoliathHide - id: MaterialGoliathHide1 - suffix: 1 - components: - - type: Stack - count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml index 82d900db57a..54185f97fe0 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml @@ -188,6 +188,9 @@ implantAction: ActionActivateScramImplant - type: TriggerImplantAction - type: ScramImplant + radius: + min: 10 + max: 100 - type: entity parent: BaseSubdermalImplant diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml index 6680c2a2c00..5691349e3dc 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/stunprod.yml @@ -4,6 +4,9 @@ id: Stunprod description: A stun prod for illegal incapacitation. components: + - type: Tag # heretic edit + tags: + - Stunbaton - type: Sprite sprite: Objects/Weapons/Melee/stunprod.rsi layers: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/Entities/Objects/Weapons/security.yml index 561af78a56c..bdcbfc4494b 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/security.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/security.yml @@ -4,6 +4,9 @@ id: Stunbaton description: A stun baton for incapacitating people with. Actively harming with this is considered bad tone. components: + - type: Tag # heretic edit + tags: + - Stunbaton - type: Sprite sprite: Objects/Weapons/Melee/stunbaton.rsi layers: diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml index 2a546bc5cf2..9f14ea16f3e 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml @@ -195,6 +195,9 @@ - type: Construction graph: Table node: Table + - type: Tag # heretic edit + tags: + - Table - type: entity id: TableReinforced diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 366a4b2166c..0ee9c40782d 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1,1598 +1,1586 @@ -- type: entity - id: BaseLathe - parent: [ BaseMachinePowered, ConstructibleMachine ] - abstract: true - name: lathe - components: - - type: Appearance - - type: WiresVisuals - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.4,-0.4,0.4,0.4" - density: 190 - mask: - - MachineMask - layer: - - MachineLayer - - type: Lathe - - type: MaterialStorage - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: MetalBreak - - !type:ChangeConstructionNodeBehavior - node: machineFrame - - !type:DoActsBehavior - acts: ["Destruction"] - - type: WiresPanel - - type: ActivatableUI - key: enum.LatheUiKey.Key - - type: ActivatableUIRequiresPower - - type: UserInterface - interfaces: - enum.LatheUiKey.Key: - type: LatheBoundUserInterface - enum.ResearchClientUiKey.Key: - type: ResearchClientBoundUserInterface - - type: Transform - anchored: true - - type: Pullable - - type: StaticPrice - price: 800 - - type: ResearchClient - - type: TechnologyDatabase - -# a lathe that can be sped up with space lube / slowed down with glue -- type: entity - abstract: true - parent: BaseLathe - id: BaseLatheLube - components: - - type: ReagentSpeed - solution: lube - modifiers: - SpaceLube: 0.25 - SpaceGlue: 5 - - type: SolutionContainerManager - solutions: - lube: - maxVol: 250 - - type: Spillable - solution: lube - - type: RefillableSolution - solution: lube - - type: ExaminableSolution - solution: lube - -- type: entity - abstract: true - id: BaseHyperlathe - components: - - type: Lathe - materialUseMultiplier: 0.5 - timeMultiplier: 1.5 - - type: LatheHeatProducing - - type: ReagentSpeed - modifiers: - SpaceLube: 0.8 # being faster means less heat so lube needs to be nerfed - SpaceGlue: 5 # no change from normal lathe, overheat!!! - -- type: entity - id: Autolathe - parent: BaseLatheLube - name: autolathe - description: It produces basic items using metal and glass. - components: - - type: Sprite - sprite: Structures/Machines/autolathe.rsi - snapCardinals: true - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: AutolatheMachineCircuitboard - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - - type: Lathe - idleState: icon - runningState: building - staticRecipes: - - Wirecutter - - Igniter - - Signaller - - Screwdriver - - Welder - - Wrench - - Crowbar - - Multitool - - NetworkConfigurator - - SprayPainter - - FlashlightLantern - - CableStack - - CableMVStack - - CableHVStack - - HandheldGPSBasic - - TRayScanner - - AirTank - - GasAnalyzer - - UtilityBelt - - Fulton - - FultonBeacon - - Pickaxe - - ModularReceiver - - AppraisalTool - - SheetRGlass - - Beaker - - Syringe - - HandLabeler - - LightTube - - LedLightTube - - SodiumLightTube - - ExteriorLightTube - - LightBulb - - LedLightBulb - - Bucket - - DrinkMug - - DrinkMugMetal - - DrinkGlass - - DrinkShotGlass - - DrinkGlassCoupeShaped - - CustomDrinkJug - - FoodPlate - - FoodPlateSmall - - FoodPlatePlastic - - FoodPlateSmallPlastic - - FoodBowlBig - - FoodPlateTin - - FoodKebabSkewer - - SprayBottle - - MopItem - - Holoprojector - - Mousetrap - - LightReplacer - - TrashBag - - PowerCellSmall - - PowerCellMedium - - RollerBedSpawnFolded - - CheapRollerBedSpawnFolded - - EmergencyRollerBedSpawnFolded - - MicroManipulatorStockPart - - MatterBinStockPart - - CapacitorStockPart - - ConveyorBeltAssembly - - IntercomElectronics - - FirelockElectronics - - DoorElectronics - - AirAlarmElectronics - - StationMapElectronics - - FireAlarmElectronics - - MailingUnitElectronics - - SignalTimerElectronics - - APCElectronics - - SMESMachineCircuitboard - - SubstationMachineCircuitboard - - WallmountSubstationElectronics - - CellRechargerCircuitboard - - BorgChargerCircuitboard - - WeaponCapacitorRechargerCircuitboard - - HandheldStationMap - - ClothingHeadHatWelding - - type: EmagLatheRecipes - emagStaticRecipes: - - BoxLethalshot - - BoxShotgunFlare - - BoxShotgunSlug - - MagazineBoxLightRifle - - MagazineBoxMagnum - - MagazineBoxPistol - - MagazineBoxRifle - - MagazineLightRifle - - MagazineLightRifleEmpty - - MagazinePistol - - MagazinePistolEmpty - - MagazinePistolSubMachineGun - - MagazinePistolSubMachineGunEmpty - - MagazinePistolSubMachineGunTopMounted - - MagazinePistolSubMachineGunTopMountedEmpty - - MagazineRifle - - MagazineRifleEmpty - - MagazineShotgun - - MagazineShotgunEmpty - - MagazineShotgunSlug - - RiotShield - - SpeedLoaderMagnum - - SpeedLoaderMagnumEmpty - -- type: entity - id: AutolatheHyperConvection - parent: [Autolathe, BaseHyperlathe] - name: hyper convection autolathe - description: A highly-experimental autolathe that harnesses the power of extreme heat to slowly create objects more cost-effectively. - components: - - type: Sprite - sprite: Structures/Machines/autolathe_hypercon.rsi - - type: Machine - board: AutolatheHyperConvectionMachineCircuitboard - -- type: entity - id: Protolathe - parent: BaseLatheLube - name: protolathe - description: Converts raw materials into advanced items. - components: - - type: Sprite - sprite: Structures/Machines/protolathe.rsi - snapCardinals: true - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: ProtolatheMachineCircuitboard - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - - type: Lathe - idleState: icon - runningState: building - staticRecipes: - - LargeBeaker - - Dropper - - ClothingEyesGlassesChemical - dynamicRecipes: - - PowerDrill - - MiningDrill - - MiningDrillDiamond - - AnomalyScanner - - AnomalyLocator - - AnomalyLocatorWide - - HandheldCrewMonitor - - Scalpel - - Retractor - - Cautery - - Drill - - WeaponParticleDecelerator - - HoloprojectorField - - Saw - - Hemostat - - CryostasisBeaker - - SyringeCryostasis - - Syringe - - Implanter - - PillCanister - - ChemistryEmptyBottle01 - - AdvancedCapacitorStockPart - - AdvancedMatterBinStockPart - - NanoManipulatorStockPart - - SuperCapacitorStockPart - - SuperMatterBinStockPart - - PicoManipulatorStockPart - - BluespaceCapacitorStockPart - - BluespaceManipulatorStockPart - - BluespaceMatterBinStockPart - - AdvMopItem - - WeaponSprayNozzle - - ClothingBackpackWaterTank - - MegaSprayBottle - - TimerTrigger - - ChemicalPayload - - FlashPayload - - Signaller - - SignallerAdvanced - - SignalTrigger - - VoiceTrigger - - Igniter - - HandHeldMassScanner - - PowerCellMicroreactor - - PowerCellHigh - - WeaponPistolCHIMP - - ClothingMaskWeldingGas - - WeaponGauntletGorilla - - SynthesizerInstrument - - RPED - - ClothingShoesBootsMagSci - - ClothingShoesBootsMoon - - ClothingShoesBootsSpeed - - NodeScanner - - HolofanProjector - - BluespaceBeaker - - SyringeBluespace - - WeaponForceGun - - WeaponLaserSvalinn - - WeaponProtoKineticAccelerator - - WeaponTetherGun - - WeaponGrapplingGun - - ClothingBackpackHolding - - ClothingBackpackSatchelHolding - - ClothingBackpackDuffelHolding - - WelderExperimental - - JawsOfLife - - CoreSilver # Nyanotrasen - Silver Golem core - - FauxTileAstroGrass - - FauxTileMowedAstroGrass - - FauxTileJungleAstroGrass - - FauxTileAstroIce - - FauxTileAstroSnow - - OreBagOfHolding - - DeviceQuantumSpinInverter - - CanilunztTranslator - - BubblishTranslator - - NekomimeticTranslator - - DraconicTranslator - - SolCommonTranslator - - RootSpeakTranslator - - XenoTranslator - - BasicGalaticCommonTranslatorImplanter - - AdvancedGalaticCommonTranslatorImplanter - - BubblishTranslatorImplanter - - NekomimeticTranslatorImplanter - - DraconicTranslatorImplanter - - CanilunztTranslatorImplanter - - SolCommonTranslatorImplanter - - RootSpeakTranslatorImplanter - - AnimalTranslator - - MofficTranslatorImplanter - - MofficTranslator - - ClothingEyesNightVisionGoggles - - ClothingEyesNightVisionDiagnosticGoggles - - ClothingEyesThermalVisionGoggles - - RCDAmmo #DeltaV - - RCD #EE - # Shitmed Change - - EnergyScalpel - - EnergyCautery - - AdvancedRetractor - - type: EmagLatheRecipes - emagDynamicRecipes: - - BoxBeanbag - - BoxShotgunIncendiary - - BoxShotgunUranium - - ExplosivePayload - - GrenadeBlast - - GrenadeEMP - - GrenadeFlash - - HoloprojectorSecurity - - MagazineBoxLightRifleIncendiary - - MagazineBoxLightRifleUranium - - MagazineBoxMagnumIncendiary - - MagazineBoxMagnumUranium - - MagazineBoxPistolIncendiary - - MagazineBoxPistolUranium - - MagazineBoxRifleIncendiary - - MagazineBoxRifleUranium - - MagazineGrenadeEmpty - - MagazineLightRifleIncendiary - - MagazineLightRifleUranium - - MagazinePistolIncendiary - - MagazinePistolUranium - - MagazineRifleIncendiary - - MagazineRifleUranium - - MagazineShotgunBeanbag - - MagazineShotgunIncendiary - - MagazineShotgunIncendiary - - PortableRecharger - - PowerCageHigh - - PowerCageMedium - - PowerCageSmall - - ShellTranquilizer - - SpeedLoaderMagnumIncendiary - - SpeedLoaderMagnumUranium - - TelescopicShield - - Truncheon - - WeaponAdvancedLaser - - WeaponLaserCannon - - WeaponLaserCarbine - - WeaponXrayCannon - - WeaponEnergyGun # DeltaV - Energy Gun - - WeaponEnergyGunMini # DeltaV - Miniature Energy Gun - - WeaponEnergyGunPistol # DeltaV - PDW-9 Energy Pistol - - WeaponGunLaserCarbineAutomatic # DeltaV - IK-60 Laser Carbine - -- type: entity - id: ProtolatheHyperConvection - parent: [Protolathe, BaseHyperlathe] - name: hyper convection protolathe - description: A highly-experimental protolathe that harnesses the power of extreme heat to slowly create objects more cost-effectively. - components: - - type: Sprite - sprite: Structures/Machines/protolathe_hypercon.rsi - - type: Machine - board: ProtolatheHyperConvectionMachineCircuitboard - -- type: entity - id: CircuitImprinter - parent: BaseLatheLube - name: circuit imprinter - description: Prints circuit boards for machines. - components: - - type: Sprite - sprite: Structures/Machines/circuit_imprinter.rsi - snapCardinals: true - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: CircuitImprinterMachineCircuitboard - - type: Lathe - producingSound: /Audio/Machines/circuitprinter.ogg - idleState: icon - runningState: building - staticRecipes: - - ProtolatheMachineCircuitboard - - AutolatheMachineCircuitboard - - CircuitImprinterMachineCircuitboard - - OreProcessorMachineCircuitboard - - MaterialReclaimerMachineCircuitboard - - ElectrolysisUnitMachineCircuitboard - - CentrifugeMachineCircuitboard - - ChemDispenserMachineCircuitboard - - ChemMasterMachineCircuitboard - - CondenserMachineCircuitBoard - - HotplateMachineCircuitboard - - UniformPrinterMachineCircuitboard - - FloorGreenCircuit - - FloorBlueCircuit - - MicrowaveMachineCircuitboard - - ReagentGrinderMachineCircuitboard - - ElectricGrillMachineCircuitboard - - BoozeDispenserMachineCircuitboard - - SodaDispenserMachineCircuitboard - - DeepFryerMachineCircuitboard #Nyano - Summary: adds deep fryer circuit board - - SpaceHeaterMachineCircuitBoard - - StationAnchorCircuitboard - dynamicRecipes: - - ThermomachineFreezerMachineCircuitBoard - - HellfireFreezerMachineCircuitBoard - - PortableScrubberMachineCircuitBoard - - CloningPodMachineCircuitboard - - MedicalScannerMachineCircuitboard - - CryoPodMachineCircuitboard - - VaccinatorMachineCircuitboard - - DiagnoserMachineCircuitboard - - BiomassReclaimerMachineCircuitboard - - BiofabricatorMachineCircuitboard - - SurveillanceCameraRouterCircuitboard - - SurveillanceCameraMonitorCircuitboard - - SurveillanceWirelessCameraMonitorCircuitboard - - SurveillanceCameraWirelessRouterCircuitboard - - ComputerTelevisionCircuitboard - - JukeboxCircuitBoard - - SurveillanceWirelessCameraMovableCircuitboard - - SurveillanceWirelessCameraAnchoredCircuitboard - - HydroponicsTrayMachineCircuitboard - - SolarControlComputerCircuitboard - - SolarTrackerElectronics - - TurboItemRechargerCircuitboard - - PowerComputerCircuitboard - - AlertsComputerCircuitboard - - AutolatheHyperConvectionMachineCircuitboard - - ProtolatheHyperConvectionMachineCircuitboard - - CircuitImprinterHyperConvectionMachineCircuitboard - - FatExtractorMachineCircuitboard - - FlatpackerMachineCircuitboard - - SheetifierMachineCircuitboard - - ShuttleConsoleCircuitboard - - RadarConsoleCircuitboard - - TechDiskComputerCircuitboard - - DawInstrumentMachineCircuitboard - - CloningConsoleComputerCircuitboard - - StasisBedMachineCircuitboard - - OreProcessorIndustrialMachineCircuitboard - - CargoTelepadMachineCircuitboard - - RipleyCentralElectronics - - RipleyPeripheralsElectronics - - HonkerCentralElectronics - - HonkerPeripheralsElectronics - - HonkerTargetingElectronics - - HamtrCentralElectronics - - HamtrPeripheralsElectronics - - PortableGeneratorPacmanMachineCircuitboard - - PortableGeneratorSuperPacmanMachineCircuitboard - - PortableGeneratorJrPacmanMachineCircuitboard - - WallmountGeneratorElectronics - - WallmountGeneratorAPUElectronics - - WallmountSubstationElectronics - - PowerCageRechargerCircuitboard - - EmitterCircuitboard - - ThrusterMachineCircuitboard - - GyroscopeMachineCircuitboard - - MiniGravityGeneratorCircuitboard - - ShuttleGunKineticCircuitboard - - GasRecyclerMachineCircuitboard - - SeedExtractorMachineCircuitboard - - AnalysisComputerCircuitboard - - ExosuitFabricatorMachineCircuitboard - - AnomalyVesselCircuitboard - - AnomalyVesselExperimentalCircuitboard - - AnomalySynchronizerCircuitboard - - APECircuitboard - - ArtifactAnalyzerMachineCircuitboard - - ArtifactCrusherMachineCircuitboard - - TelecomServerCircuitboard - - MassMediaCircuitboard - - ReagentGrinderIndustrialMachineCircuitboard - - ReverseEngineeringMachineCircuitboard - - CrewMonitoringComputerCircuitboard - - DoorElectronics - - FireAlarmElectronics - - FirelockElectronics - - IntercomElectronics - - MailingUnitElectronics - - SalvageMagnetMachineCircuitboard - - StationMapElectronics - - MetempsychoticMachineCircuitboard - - SalvageExpeditionsComputerCircuitboard - - JukeboxCircuitBoard - - AutodocCircuitboard # Shitmed Change - - OperatingTableCircuitboard # Shitmed Change - - type: EmagLatheRecipes - emagDynamicRecipes: - - ShuttleGunDusterCircuitboard - - ShuttleGunFriendshipCircuitboard - - ShuttleGunPerforatorCircuitboard - - ShuttleGunSvalinnMachineGunCircuitboard - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - - type: RequireProjectileTarget - -- type: entity - id: CircuitImprinterHyperConvection - parent: [CircuitImprinter, BaseHyperlathe] - name: hyper convection circuit imprinter - description: A highly-experimental circuit imprinter that harnesses the power of extreme heat to slowly create objects more cost-effectively. - components: - - type: Sprite - sprite: Structures/Machines/circuit_imprinter_hypercon.rsi - - type: Machine - board: CircuitImprinterHyperConvectionMachineCircuitboard - -- type: entity - id: ExosuitFabricator - parent: BaseLatheLube - name: exosuit fabricator - description: Creates parts for robotics and other mechanical needs - components: - - type: Sprite - sprite: Structures/Machines/exosuit_fabricator.rsi - layers: - - state: fab-idle - map: ["enum.LatheVisualLayers.IsRunning"] - - state: fab-load - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: fab-o - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: ExosuitFabricatorMachineCircuitboard - - type: Lathe - idleState: fab-idle - runningState: fab-active - staticRecipes: - - MMI - - PositronicBrain - - SciFlash - - BorgModuleCable - - BorgModuleFireExtinguisher - - BorgModuleRadiationDetection - - BorgModuleTool - - BorgModuleAppraisal - - BorgModuleConstruction - - BorgModuleService - - BorgModuleTreatment - - BorgModuleSurgery - - BorgModuleCleaning - - CyborgEndoskeleton - - LeftArmBorg - - RightArmBorg - - LeftLegBorg - - RightLegBorg - - LightHeadBorg - - TorsoBorg - - LeftArmBorgEngineer - - RightArmBorgEngineer - - LeftLegBorgEngineer - - RightLegBorgEngineer - - HeadBorgEngineer - - TorsoBorgEngineer - - LeftLegBorgJanitor - - RightLegBorgJanitor - - HeadBorgJanitor - - TorsoBorgJanitor - - LeftArmBorgMedical - - RightArmBorgMedical - - LeftLegBorgMedical - - RightLegBorgMedical - - HeadBorgMedical - - TorsoBorgMedical - - LeftArmBorgMining - - RightArmBorgMining - - LeftLegBorgMining - - RightLegBorgMining - - HeadBorgMining - - TorsoBorgMining - - LeftArmBorgService - - RightArmBorgService - - LeftLegBorgService - - RightLegBorgService - - HeadBorgService - - TorsoBorgService - dynamicRecipes: - - ProximitySensor - - BorgModuleLightReplacer - - BorgModuleAdvancedCleaning - - BorgModuleMining - - BorgModuleGrapplingGun - - BorgModuleAdvancedTool - - BorgModuleGPS - - BorgModuleRCD - - BorgModuleJetpack - - BorgModulePka - - BorgModuleArtifact - - BorgModuleAnomaly - - BorgModuleGardening - - BorgModuleHarvesting - - BorgModuleMusique - - BorgModuleClowning - - BorgModuleDiagnosis - - BorgModuleDefibrillator - - BorgModuleAdvancedTreatment - - BorgModuleAdvancedSurgery - - JawsOfLifeLeftArm - - JawsOfLifeRightArm - - SpeedLeftLeg - - SpeedRightLeg - - BasicCyberneticEyes - - RipleyHarness - - RipleyLArm - - RipleyRArm - - RipleyLLeg - - RipleyRLeg - - MechEquipmentGrabber - - HonkerHarness - - HonkerLArm - - HonkerRArm - - HonkerLLeg - - HonkerRLeg - - MechEquipmentHorn - - MechEquipmentGrabberSmall - - HamtrHarness - - HamtrLArm - - HamtrRArm - - HamtrLLeg - - HamtrRLeg - - VimHarness - # Begin Nyano additions - - JetpackBlue - - JetpackMini - # End Nyano additions - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - - type: GuideHelp - guides: - - Robotics - -- type: entity - id: Biofabricator - parent: BaseLathe - name: biofabricator - description: Produces animal cubes using biomass. - components: - - type: Sprite - sprite: Structures/Machines/biofabricator.rsi - snapCardinals: true - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: BiofabricatorMachineCircuitboard - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - type: Lathe - idleState: icon - runningState: building - staticRecipes: - - MonkeyCube - - KoboldCube - - CowCube - - GoatCube - - MothroachCube - - MouseCube - - CockroachCube - - type: EmagLatheRecipes - emagStaticRecipes: - - AbominationCube - - SpaceCarpCube - - SpaceTickCube - -- type: entity - id: SecurityTechFab - parent: BaseLatheLube - name: security techfab - description: Prints equipment for use by security crew. - components: - - type: Sprite - sprite: Structures/Machines/techfab.rsi - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: sec - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: SecurityTechFabCircuitboard - - type: Lathe - idleState: icon - runningState: icon - staticRecipes: - - BoxLethalshot - - BoxShotgunFlare - - BoxShotgunPractice - - BoxShotgunSlug - - ClothingEyesHudSecurity - - CombatKnife - - Flash - - ForensicPad - - Handcuffs - - ShellShotgun - - ShellShotgunSlug - - ShellShotgunFlare - - ShellTranquilizer - - MagazineBoxLightRifle - - MagazineBoxLightRiflePractice - - MagazineBoxMagnum - - MagazineBoxMagnumPractice - - MagazineBoxPistol - - MagazineBoxPistolPractice - - MagazineBoxRifle - - MagazineBoxRiflePractice - - MagazineLightRifle - - MagazineLightRifleEmpty - - MagazinePistol - - MagazinePistolEmpty - - MagazinePistolSubMachineGun - - MagazinePistolSubMachineGunEmpty - - MagazinePistolSubMachineGunTopMounted - - MagazinePistolSubMachineGunTopMountedEmpty - - MagazineMagnum - - MagazineMagnumEmpty - - MagazineRifle - - MagazineRifleEmpty - - MagazineShotgun - - MagazineShotgunEmpty - - MagazineShotgunSlug - - RiotShield - - SpeedLoaderMagnum - - SpeedLoaderMagnumEmpty - - Stunbaton - - TargetClown - - ClothingOuterArmorPlateCarrier - - ClothingOuterArmorDuraVest - - TargetHuman - - TargetSyndicate - - WeaponDisablerPractice - - WeaponFlareGunSecurity - - WeaponLaserCarbinePractice - - Zipties - - ShockCollar - # DeltaV - .38 special ammo - Add various .38 special ammo to security techfab - - MagazineBoxSpecial - - MagazineBoxSpecialPractice - - SpeedLoaderSpecial - - MagazinePistolSpecial - dynamicRecipes: - - BolaEnergy - - BoxBeanbag - - BoxShotgunIncendiary - - BoxShotgunUranium - - EncryptionKeySyndie - - CartridgeLightRifleIncendiary - - CartridgeMagnumIncendiary - - CartridgePistolIncendiary - - CartridgeRifleIncendiary - - CartridgeLightRifleUranium - - CartridgeMagnumUranium - - CartridgePistolUranium - - CartridgeRifleUranium - - CartridgeLightRifleRubber - - CartridgeMagnumRubber - - CartridgePistolRubber - - CartridgeRifleRubber - - ClothingEyesGlassesSecurity - - ExplosivePayload - - FlashPayload - - GrenadeBlast - - GrenadeEMP - - GrenadeFlash - - HoloprojectorSecurity - - MagazineBoxLightRifleIncendiary - - MagazineBoxLightRifleUranium - - MagazineBoxMagnumIncendiary - - MagazineBoxMagnumUranium - - MagazineBoxPistolIncendiary - - MagazineBoxPistolUranium - - MagazineBoxRifleIncendiary - - MagazineBoxRifleUranium - - ShellSoulbreaker - - MagazineBoxLightRifleRubber - - MagazineBoxMagnumRubber - - MagazineBoxPistolRubber - - MagazineBoxRifleRubber - - MagazineGrenadeEmpty - - MagazineLightRifleRubber - - MagazineLightRifleIncendiary - - MagazineLightRifleUranium - - MagazinePistolRubber - - MagazinePistolIncendiary - - MagazinePistolUranium - - MagazinePistolSubMachineGunRubber - - MagazinePistolSubMachineGunIncendiary - - MagazinePistolSubMachineGunUranium - - MagazineMagnumRubber - - MagazineMagnumIncendiary - - MagazineMagnumUranium - - MagazineRifleRubber - - MagazineRifleIncendiary - - MagazineRifleUranium - - MagazineShotgunBeanbag - - MagazineShotgunIncendiary - - PortableRecharger - - PowerCageHigh - - PowerCageMedium - - PowerCageSmall - - ShellTranquilizer - - ShuttleGunDusterCircuitboard - - ShuttleGunFriendshipCircuitboard - - ShuttleGunPerforatorCircuitboard - - ShuttleGunSvalinnMachineGunCircuitboard - - Signaller - - SignalTrigger - - SpeedLoaderMagnumRubber - - SpeedLoaderMagnumIncendiary - - SpeedLoaderMagnumUranium - - TelescopicShield - - TimerTrigger - - Truncheon - - VoiceTrigger - - WeaponAdvancedLaser - - WeaponDisabler - - WeaponDisablerSMG - - WeaponLaserCannon - - WeaponLaserCarbine - - ClothingEyesNightVisionSecurityGoggles - - ClothingHeadHelmetInsulated # Nyanotrasen - Insulative headgear - - ClothingHeadCage # Nyanotrasen - Insulative headgear - - ShockCollar # Nyanotrasen - Shock Collar - - WeaponXrayCannon - - WeaponEnergyGun - - WeaponEnergyGunMini - - WeaponEnergyGunPistol - - WeaponGunLaserCarbineAutomatic - - CartridgeSpecialRubber - - CartridgeSpecialIncendiary - - CartridgeSpecialUranium - - CartridgeSpecialHoly - - CartridgeSpecialMindbreaker - - MagazineBoxSpecialRubber - - MagazineBoxSpecialIncendiary - - MagazineBoxSpecialUranium - - MagazineBoxSpecialMindbreaker - - SecurityCyberneticEyes - - MedicalCyberneticEyes - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - -- type: entity - id: AmmoTechFab - parent: BaseLatheLube - name: ammo techfab - description: Prints the bare minimum of bullets that any budget military or armory could need. Nothing fancy. - components: - - type: Sprite - sprite: Structures/Machines/techfab.rsi - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: ammo - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: AmmoTechFabCircuitboard - - type: Lathe - idleState: icon - runningState: icon - staticRecipes: - - BoxLethalshot - - BoxShotgunFlare - - BoxShotgunSlug - - MagazineBoxLightRifle - - MagazineBoxMagnum - - MagazineBoxPistol - - MagazineBoxRifle - - MagazineLightRifle - - MagazineLightRifleEmpty - - MagazinePistol - - MagazinePistolEmpty - - MagazineRifle - - MagazineRifleEmpty - - MagazineShotgun - - MagazineShotgunEmpty - - MagazineShotgunSlug - - ShellTranquilizer - - SpeedLoaderMagnum - - SpeedLoaderMagnumEmpty - - CartridgeSpecial - - MagazineBoxSpecial - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - -- type: entity - id: MedicalTechFab - parent: BaseLatheLube - name: medical techfab - description: Prints equipment for use by the medbay. - components: - - type: Sprite - sprite: Structures/Machines/techfab.rsi - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: med - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Lathe - idleState: icon - runningState: icon - staticRecipes: - - Brutepack - - Ointment - - Gauze - - HandLabeler - - Defibrillator - - HandheldHealthAnalyzer - - ClothingHandsGlovesLatex - - ClothingHandsGlovesNitrile - - ClothingMaskSterile - - DiseaseSwab - - Beaker - - LargeBeaker - - Dropper - - Jug - - Syringe - - Implanter - - PillCanister - - BodyBag - - ChemistryEmptyBottle01 - - RollerBedSpawnFolded - - CheapRollerBedSpawnFolded - - EmergencyRollerBedSpawnFolded - - Medkit - - MedkitBurn - - MedkitToxin - - MedkitO2 - - MedkitBrute - - MedkitAdvanced - - MedkitRadiation - - MedkitCombat - - Scalpel - - Retractor - - Cautery - - Drill - - Saw - - Hemostat - - ClothingEyesGlassesChemical - - BoneGel # Shitmed Change - dynamicRecipes: - - ChemicalPayload - - CryostasisBeaker - - BluespaceBeaker - - SyringeBluespace - - ClothingEyesHudMedical # Nyano - - ChemicalPayload # Nyano - - SyringeCryostasis - - ClothingEyesNightVisionMedicalGoggles - # Shitmed Change - - EnergyScalpel - - EnergyCautery - - AdvancedRetractor - - OmnimedTool - - MedicalCyberneticEyes - - type: Machine - board: MedicalTechFabCircuitboard - - type: StealTarget - stealGroup: MedicalTechFabCircuitboard - -- type: entity - parent: BaseLathe - id: UniformPrinter - name: uniform printer - description: Prints new or replacement uniforms. - components: - - type: Transform - noRot: false - - type: Sprite - sprite: Structures/Machines/uniform_printer.rsi - snapCardinals: false - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - type: Machine - board: UniformPrinterMachineCircuitboard - - type: Lathe - producingSound: /Audio/Machines/uniformprinter.ogg - idleState: icon - runningState: building - staticRecipes: - - ClothingUniformJumpsuitColorGrey - - ClothingUniformJumpskirtColorGrey - - ClothingUniformJumpsuitBartender - - ClothingUniformJumpskirtBartender - - ClothingHeadHatCapcap - - ClothingHeadHatCaptain - - ClothingUniformJumpsuitCaptain - - ClothingUniformJumpskirtCaptain - - ClothingUniformJumpsuitCapFormal - - ClothingUniformJumpskirtCapFormalDress - - ClothingUniformJumpsuitCargo - - ClothingUniformJumpskirtCargo - - ClothingUniformJumpsuitSalvageSpecialist - - ClothingHeadHatBeretEngineering - - ClothingUniformJumpsuitChiefEngineer - - ClothingUniformJumpskirtChiefEngineer - - ClothingUniformJumpsuitChiefEngineerTurtle - - ClothingUniformJumpskirtChiefEngineerTurtle - - ClothingUniformJumpsuitChaplain - - ClothingUniformJumpskirtChaplain - - ClothingUniformJumpsuitChef - - ClothingUniformJumpskirtChef - - ClothingUniformJumpsuitChemistry - - ClothingUniformJumpskirtChemistry - - ClothingUniformJumpsuitClown - - ClothingHeadHatBeretCmo - - ClothingUniformJumpsuitCMO - - ClothingUniformJumpskirtCMO - - ClothingUniformJumpsuitCMOTurtle - - ClothingUniformJumpskirtCMOTurtle - - ClothingUniformJumpsuitDetective - - ClothingUniformJumpskirtDetective - - ClothingUniformJumpsuitEngineering - - ClothingUniformJumpskirtEngineering - - ClothingUniformJumpsuitSeniorEngineer - - ClothingUniformJumpskirtSeniorEngineer - - ClothingHeadHatHopcap - - ClothingUniformJumpsuitHoP - - ClothingUniformJumpskirtHoP - - ClothingHeadHatBeretHoS - - ClothingHeadHatHoshat - - ClothingUniformJumpsuitHoS - - ClothingUniformJumpskirtHoS - - ClothingUniformJumpsuitHoSBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtHoSBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpsuitHoSGrey # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtHoSGrey # DeltaV - alternate sec uniforms - - ClothingUniformJumpsuitHosFormal - - ClothingUniformJumpskirtHosFormal - - ClothingUniformJumpsuitHoSAlt - - ClothingUniformJumpskirtHoSAlt - - ClothingUniformJumpsuitHoSBlue - - ClothingUniformJumpsuitHoSGrey - - ClothingUniformJumpsuitHoSParadeMale - - ClothingUniformJumpskirtHoSParadeMale - - ClothingUniformJumpsuitHydroponics - - ClothingUniformJumpskirtHydroponics - - ClothingUniformJumpsuitJanitor - - ClothingUniformJumpskirtJanitor - - ClothingUniformJumpsuitLawyerBlack - - ClothingUniformJumpsuitLibrarian - - ClothingUniformJumpskirtColorLightBrown - - ClothingUniformCourier # DeltaV - Courier Uniform - - ClothingUniformSkirtCourier # DeltaV - Courier Uniform - - ClothingUniformJumpsuitMantis # Nyanotrasen - Forensic Mantis - - ClothingUniformSkirtMantis # Nyanotrasen - Forensic Mantis - - ClothingHeadHatBeretSeniorPhysician - - ClothingUniformJumpsuitMedicalDoctor - - ClothingUniformJumpskirtMedicalDoctor - - ClothingUniformJumpsuitSeniorPhysician - - ClothingUniformJumpskirtSeniorPhysician - - ClothingUniformJumpsuitMime - - ClothingUniformJumpskirtMime - - ClothingUniformJumpsuitMusician - - ClothingUniformJumpsuitParamedic - - ClothingUniformJumpskirtParamedic - - ClothingUniformJumpsuitSeniorOfficer - - ClothingUniformJumpskirtSeniorOfficer - - ClothingUniformJumpsuitPrisoner - - ClothingUniformJumpskirtPrisoner - - ClothingHeadHatQMsoft - - ClothingHeadHatBeretQM - - ClothingUniformJumpsuitQM - - ClothingUniformJumpskirtQM - - ClothingUniformJumpsuitQMTurtleneck - - ClothingUniformJumpskirtQMTurtleneck - - ClothingUniformJumpsuitQMFormal - - ClothingHeadHatBeretRND - - ClothingUniformJumpsuitResearchDirector - - ClothingUniformJumpskirtResearchDirector - - ClothingUniformJumpsuitScientist - - ClothingUniformJumpskirtScientist - - ClothingUniformJumpsuitSeniorResearcher - - ClothingUniformJumpskirtSeniorResearcher - - ClothingHeadHatBeretSecurity - - ClothingUniformJumpsuitSec - - ClothingUniformJumpskirtSec - - ClothingUniformJumpsuitSecBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtSecBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpsuitSecGrey # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtSecGrey # DeltaV - alternate sec uniforms - - ClothingHeadHatBeretBrigmedic - - ClothingUniformJumpsuitBrigmedic - - ClothingUniformJumpskirtBrigmedic - - ClothingHeadHatBeretWarden - - ClothingHeadHatWarden - - ClothingUniformJumpsuitWarden - - ClothingUniformJumpskirtWarden - - ClothingUniformJumpsuitWardenBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtWardenBlue # DeltaV - alternate sec uniforms - - ClothingUniformJumpsuitWardenGrey # DeltaV - alternate sec uniforms - - ClothingUniformJumpskirtWardenGrey # DeltaV - alternate sec uniforms - - ClothingHeadHatParamedicsoft - # Winter outfits - - ClothingOuterWinterCap - - ClothingOuterWinterCE - - ClothingOuterWinterCMO - - ClothingOuterWinterHoP - - ClothingOuterWinterHoSUnarmored - - ClothingOuterWinterWardenUnarmored - - ClothingOuterWinterQM - - ClothingOuterWinterRD - - ClothingNeckMantleCap - - ClothingNeckMantleCE - - ClothingNeckMantleCMO - - ClothingNeckMantleHOP - - ClothingNeckMantleHOS - - ClothingNeckMantleRD - - ClothingNeckMantleQM - - ClothingOuterStasecSweater # DeltaV - added stasec sweater to uniform printer. - - ClothingOuterWinterMusician - - ClothingOuterWinterClown - - ClothingOuterWinterMime - - ClothingOuterWinterCoat - - ClothingOuterWinterJani - - ClothingOuterWinterBar - - ClothingOuterWinterChef - - ClothingOuterWinterHydro - - ClothingOuterWinterAtmos - - ClothingOuterWinterEngi - - ClothingOuterWinterCargo - - ClothingOuterWinterMiner - - ClothingOuterWinterMed - - ClothingOuterWinterPara - - ClothingOuterWinterChem - - ClothingOuterWinterGen - - ClothingOuterWinterViro - - ClothingOuterWinterSci - - ClothingOuterWinterRobo - - ClothingOuterWinterSec - # Ties - - ClothingNeckTieRed - - ClothingNeckTieDet - - ClothingNeckTieSci - # Scarfs - All scarfs avaible in winterdrobe - - ClothingNeckScarfStripedGreen - - ClothingNeckScarfStripedBlue - - ClothingNeckScarfStripedRed - - ClothingNeckScarfStripedBrown - - ClothingNeckScarfStripedLightBlue - - ClothingNeckScarfStripedOrange - - ClothingNeckScarfStripedBlack - - ClothingNeckScarfStripedPurple - # Carpets - - Carpet - - CarpetBlack - - CarpetPink - - CarpetBlue - - CarpetGreen - - CarpetOrange - - CarpetPurple - - CarpetCyan - - CarpetWhite - - type: EmagLatheRecipes - emagStaticRecipes: - - ClothingHeadHatCentcomcap - - ClothingHeadHatCentcom - - ClothingUniformJumpsuitCentcomAgent - - ClothingUniformJumpsuitCentcomFormal - - ClothingUniformJumpskirtCentcomFormalDress - - ClothingUniformJumpsuitCentcomOfficer - - ClothingUniformJumpsuitCentcomOfficial - - ClothingHeadHatSyndieMAA - - ClothingHeadHatSyndie - - ClothingUniformJumpsuitOperative - - ClothingUniformJumpskirtOperative - - ClothingUniformJumpsuitSyndieFormal - - ClothingUniformJumpskirtSyndieFormalDress - - ClothingHeadPyjamaSyndicateBlack - - ClothingUniformJumpsuitPyjamaSyndicateBlack - - ClothingHeadPyjamaSyndicatePink - - ClothingUniformJumpsuitPyjamaSyndicatePink - - ClothingHeadPyjamaSyndicateRed - - ClothingUniformJumpsuitPyjamaSyndicateRed - - ClothingOuterWinterCentcom - - ClothingOuterWinterSyndie - - ClothingOuterWinterSyndieCap - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - Ingot - -- type: entity - parent: BaseLathe - id: OreProcessor - name: ore processor - description: It produces sheets and ingots using ores. - components: - - type: Sprite - sprite: Structures/Machines/ore_processor.rsi - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: inserting - map: ["enum.MaterialStorageVisualLayers.Inserting"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: OreProcessorMachineCircuitboard - - type: MaterialStorage - ignoreColor: true - whitelist: - tags: - - Ore - - type: Lathe - idleState: icon - runningState: building - defaultProductionAmount: 10 - staticRecipes: - - BluespaceCrystal - - NormalityCrystal - - SheetSteel - - SheetGlass1 - - SheetRGlass - - SheetPlasma1 - - SheetPGlass1 - - SheetRPGlass1 - - SheetUranium1 - - IngotGold1 - - IngotSilver1 - - MaterialBananium1 - - type: MaterialStorageMagnetPickup # Delta V - Summary: Adds magnet pull from Frontier - magnetEnabled: True - range: 0.30 # Delta V - End Magnet Pull - - type: MiningPoints # DeltaV - Source of mining points for miners - transferSound: - path: /Audio/Effects/Cargo/ping.ogg - - type: MiningPointsLathe # DeltaV - -- type: entity - parent: OreProcessor - id: OreProcessorIndustrial - name: industrial ore processor - description: An ore processor specifically designed for mass-producing metals in industrial applications. - components: - - type: Sprite - sprite: Structures/Machines/ore_processor_industrial.rsi - - type: Machine - board: OreProcessorIndustrialMachineCircuitboard - - type: Lathe - materialUseMultiplier: 0.75 - timeMultiplier: 0.5 - staticRecipes: - - BluespaceCrystal - - NormalityCrystal - - SheetSteel - - SheetGlass1 - - SheetRGlass - - SheetPlasma1 - - SheetPGlass1 - - SheetRPGlass1 - - SheetPlasteel1 - - SheetUranium1 - - SheetUGlass1 - - SheetRUGlass1 - - IngotGold1 - - IngotSilver1 - - MaterialBananium1 - - MaterialDiamond - -- type: entity - parent: BaseLathe - id: Sheetifier - name: sheet-meister 2000 - description: A very sheety machine. - components: - - type: Sprite - sprite: Structures/Machines/sheetifier.rsi - layers: - - state: base_machine - map: ["enum.LatheVisualLayers.IsRunning"] - - state: buttons_on - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - type: Machine - board: SheetifierMachineCircuitboard - - type: MaterialStorage - dropOnDeconstruct: false #should drop ores instead of ingots/sheets - ignoreColor: true - canEjectStoredMaterials: false - whitelist: - tags: - - Raw - - Wooden - - type: Lathe - idleState: base_machine - runningState: base_machine_processing - staticRecipes: - - MaterialSheetMeat - - SheetPaper - -- type: entity - parent: BaseLathe - id: PrizeCounter - name: prize counter - description: Claim your prize and win some toys and cute plushies! - components: - - type: AmbientOnPowered - - type: AmbientSound - volume: -9 - range: 3 - enabled: false - sound: - path: /Audio/Ambience/Objects/vending_machine_hum.ogg - - type: LitOnPowered - - type: ApcPowerReceiver - powerLoad: 200 - # - type: Advertise - # pack: CuddlyCritterAds # TODO Change this - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#4b93ad" - - type: Transform - noRot: false - - type: Sprite - sprite: Structures/Machines/prizecounter.rsi - snapCardinals: true - layers: - - state: icon - map: ["enum.LatheVisualLayers.IsRunning"] - - state: unlit - shader: unshaded - map: ["enum.PowerDeviceVisualLayers.Powered"] - - state: panel - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Lathe - idleState: icon - runningState: icon - staticRecipes: - - PrizeBall - - PlushieMothRandom - - PlushieShadowkin - - PlushieMothMusician - - PlushieMothBartender - - PlushieBee - - PlushieHampter - - PlushieRouny - - PlushieLamp - - PlushieArachind - - PlushieLizard - - PlushieSpaceLizard - - PlushieSharkBlue - - PlushieSharkPink - - PlushieSharkGrey - - PlushieCarp - - PlushieMagicarp - - PlushieHolocarp - - PlushieSlime - - PlushieSnake - - ToyMouse - - ToyRubberDuck - - PlushieVox - - PlushieAtmosian - - PlushiePenguin - - PlushieHuman - - PlushieArachne - - PlushieGnome - - PlushieLoveable - - PlushieDeer - - PlushieIpc - - PlushieGrey - - PlushieRedFox - - PlushiePurpleFox - - PlushiePinkFox - - PlushieOrangeFox - - PlushieMarbleFox - - PlushieCrimsonFox - - PlushieCoffeeFox - - PlushieBlueFox - - PlushieBlackFox - - PlushieVulp - - PlushieCorgi - - PlushieGirlyCorgi - - PlushieRobotCorgi - - PlushieCatBlack - - PlushieCatGrey - - PlushieCatOrange - - PlushieCatSiames - - PlushieCatTabby - - PlushieCatTuxedo - - PlushieCatWhite - - ToyAi - - ToyIan - - BalloonNT - - BalloonCorgi - - CrayonBox - - PetRockCarrier - - PlushieXeno - - FoamCrossbow - - RevolverCapGun - - PonderingOrb - - ToyAmongPequeno - - FoamCutlass - - WhoopieCushion - - ToyHammer - - PlasticBanana - - WeaponWaterPistol - - WeaponWaterBlaster - - NewtonCradle - - SnapPopBox - - MrDips - - MrChips - - CrazyGlue - - PlushieRatvar - - PlushieNar - - type: EmagLatheRecipes - emagStaticRecipes: - - PlushieGhost - - PlushieRGBee - - PlushieRainbowCarp - - PlushieJester - - PlushieSlips - - PlushieTrystan - - PlushieAbductor - - PlushieAbductorAgent - - PlushieNuke - - ToyNuke - - FoamBlade - - BalloonSyn - - SingularityToy - - TeslaToy - - ToySword - - BwoinkHammer - - ThronglerToy - - type: MaterialStorage - whitelist: - tags: - - PrizeTicket - -- type: entity - id: MedicalBiofabricator - parent: BaseLathe - name: medical biofabricator - description: Produces organs and other organic matter that can be surgically grafted onto patients with biomass. - components: - - type: Sprite - sprite: _Shitmed/Structures/Machines/limbgrower.rsi - snapCardinals: true - layers: - - state: limbgrower_idleoff - map: ["enum.LatheVisualLayers.IsRunning"] - # - state: limbgrower_idleoff - # shader: unshaded - # map: ["enum.PowerDeviceVisualLayers.Powered"] - # - state: inserting - # map: ["enum.MaterialStorageVisualLayers.Inserting"] - # - state: panel - # map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Machine - board: MedicalBiofabMachineBoard - - type: MaterialStorage - whitelist: - tags: - - Sheet - - RawMaterial - - type: Lathe - idleState: limbgrower_idleoff - runningState: limbgrower_idleon - staticRecipes: - - SynthLiver - - SynthHeart - - SynthLungs - - SynthEyes - - SynthLeftLeg - - SynthRightLeg - - SynthLeftFoot - - SynthRightFoot - - SynthLeftArm - - SynthRightArm - - SynthLeftHand - - SynthRightHand - - type: EmagLatheRecipes - emagStaticRecipes: - - PizzaLeftArm - - PizzaRightArm +- type: entity + id: BaseLathe + parent: [ BaseMachinePowered, ConstructibleMachine ] + abstract: true + name: lathe + components: + - type: Appearance + - type: WiresVisuals + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer + - type: Lathe + - type: MaterialStorage + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: machineFrame + - !type:DoActsBehavior + acts: ["Destruction"] + - type: WiresPanel + - type: ActivatableUI + key: enum.LatheUiKey.Key + - type: ActivatableUIRequiresPower + - type: UserInterface + interfaces: + enum.LatheUiKey.Key: + type: LatheBoundUserInterface + enum.ResearchClientUiKey.Key: + type: ResearchClientBoundUserInterface + - type: Transform + anchored: true + - type: Pullable + - type: StaticPrice + price: 800 + - type: ResearchClient + - type: TechnologyDatabase + +# a lathe that can be sped up with space lube / slowed down with glue +- type: entity + abstract: true + parent: BaseLathe + id: BaseLatheLube + components: + - type: ReagentSpeed + solution: lube + modifiers: + SpaceLube: 0.25 + SpaceGlue: 5 + - type: SolutionContainerManager + solutions: + lube: + maxVol: 250 + - type: Spillable + solution: lube + - type: RefillableSolution + solution: lube + - type: ExaminableSolution + solution: lube + +- type: entity + abstract: true + id: BaseHyperlathe + components: + - type: Lathe + materialUseMultiplier: 0.5 + timeMultiplier: 1.5 + - type: LatheHeatProducing + - type: ReagentSpeed + modifiers: + SpaceLube: 0.8 # being faster means less heat so lube needs to be nerfed + SpaceGlue: 5 # no change from normal lathe, overheat!!! + +- type: entity + id: Autolathe + parent: BaseLatheLube + name: autolathe + description: It produces basic items using metal and glass. + components: + - type: Sprite + sprite: Structures/Machines/autolathe.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: AutolatheMachineCircuitboard + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: Lathe + idleState: icon + runningState: building + staticRecipes: + - Wirecutter + - Igniter + - Signaller + - Screwdriver + - Welder + - Wrench + - Crowbar + - Multitool + - NetworkConfigurator + - SprayPainter + - FlashlightLantern + - CableStack + - CableMVStack + - CableHVStack + - HandheldGPSBasic + - TRayScanner + - AirTank + - GasAnalyzer + - UtilityBelt + - Fulton + - FultonBeacon + - Pickaxe + - ModularReceiver + - AppraisalTool + - SheetRGlass + - Beaker + - Syringe + - HandLabeler + - LightTube + - LedLightTube + - SodiumLightTube + - ExteriorLightTube + - LightBulb + - LedLightBulb + - Bucket + - DrinkMug + - DrinkMugMetal + - DrinkGlass + - DrinkShotGlass + - DrinkGlassCoupeShaped + - CustomDrinkJug + - FoodPlate + - FoodPlateSmall + - FoodPlatePlastic + - FoodPlateSmallPlastic + - FoodBowlBig + - FoodPlateTin + - FoodKebabSkewer + - SprayBottle + - MopItem + - Holoprojector + - Mousetrap + - LightReplacer + - TrashBag + - PowerCellSmall + - PowerCellMedium + - RollerBedSpawnFolded + - CheapRollerBedSpawnFolded + - EmergencyRollerBedSpawnFolded + - MicroManipulatorStockPart + - MatterBinStockPart + - CapacitorStockPart + - ConveyorBeltAssembly + - IntercomElectronics + - FirelockElectronics + - DoorElectronics + - AirAlarmElectronics + - StationMapElectronics + - FireAlarmElectronics + - MailingUnitElectronics + - SignalTimerElectronics + - APCElectronics + - SMESMachineCircuitboard + - SubstationMachineCircuitboard + - WallmountSubstationElectronics + - CellRechargerCircuitboard + - BorgChargerCircuitboard + - WeaponCapacitorRechargerCircuitboard + - HandheldStationMap + - ClothingHeadHatWelding + - type: EmagLatheRecipes + emagStaticRecipes: + - BoxLethalshot + - BoxShotgunFlare + - BoxShotgunSlug + - MagazineBoxLightRifle + - MagazineBoxMagnum + - MagazineBoxPistol + - MagazineBoxRifle + - MagazineLightRifle + - MagazineLightRifleEmpty + - MagazinePistol + - MagazinePistolEmpty + - MagazinePistolSubMachineGun + - MagazinePistolSubMachineGunEmpty + - MagazinePistolSubMachineGunTopMounted + - MagazinePistolSubMachineGunTopMountedEmpty + - MagazineRifle + - MagazineRifleEmpty + - MagazineShotgun + - MagazineShotgunEmpty + - MagazineShotgunSlug + - RiotShield + - SpeedLoaderMagnum + - SpeedLoaderMagnumEmpty + +- type: entity + id: AutolatheHyperConvection + parent: [Autolathe, BaseHyperlathe] + name: hyper convection autolathe + description: A highly-experimental autolathe that harnesses the power of extreme heat to slowly create objects more cost-effectively. + components: + - type: Sprite + sprite: Structures/Machines/autolathe_hypercon.rsi + - type: Machine + board: AutolatheHyperConvectionMachineCircuitboard + +- type: entity + id: Protolathe + parent: BaseLatheLube + name: protolathe + description: Converts raw materials into advanced items. + components: + - type: Sprite + sprite: Structures/Machines/protolathe.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: ProtolatheMachineCircuitboard + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: Lathe + idleState: icon + runningState: building + staticRecipes: + - LargeBeaker + - Dropper + - ClothingEyesGlassesChemical + dynamicRecipes: + - PowerDrill + - MiningDrill + - MiningDrillDiamond + - AnomalyScanner + - AnomalyLocator + - AnomalyLocatorWide + - HandheldCrewMonitor + - Scalpel + - Retractor + - Cautery + - Drill + - WeaponParticleDecelerator + - HoloprojectorField + - Saw + - Hemostat + - CryostasisBeaker + - SyringeCryostasis + - Syringe + - Implanter + - PillCanister + - ChemistryEmptyBottle01 + - AdvancedCapacitorStockPart + - AdvancedMatterBinStockPart + - NanoManipulatorStockPart + - SuperCapacitorStockPart + - SuperMatterBinStockPart + - PicoManipulatorStockPart + - BluespaceCapacitorStockPart + - BluespaceManipulatorStockPart + - BluespaceMatterBinStockPart + - AdvMopItem + - WeaponSprayNozzle + - ClothingBackpackWaterTank + - MegaSprayBottle + - TimerTrigger + - ChemicalPayload + - FlashPayload + - Signaller + - SignallerAdvanced + - SignalTrigger + - VoiceTrigger + - Igniter + - HandHeldMassScanner + - PowerCellMicroreactor + - PowerCellHigh + - WeaponPistolCHIMP + - ClothingMaskWeldingGas + - WeaponGauntletGorilla + - SynthesizerInstrument + - RPED + - ClothingShoesBootsMagSci + - ClothingShoesBootsMoon + - ClothingShoesBootsSpeed + - NodeScanner + - HolofanProjector + - BluespaceBeaker + - SyringeBluespace + - WeaponForceGun + - WeaponLaserSvalinn + - WeaponProtoKineticAccelerator + - WeaponTetherGun + - WeaponGrapplingGun + - ClothingBackpackHolding + - ClothingBackpackSatchelHolding + - ClothingBackpackDuffelHolding + - WelderExperimental + - JawsOfLife + - CoreSilver # Nyanotrasen - Silver Golem core + - FauxTileAstroGrass + - FauxTileMowedAstroGrass + - FauxTileJungleAstroGrass + - FauxTileAstroIce + - FauxTileAstroSnow + - OreBagOfHolding + - DeviceQuantumSpinInverter + - CanilunztTranslator + - BubblishTranslator + - NekomimeticTranslator + - DraconicTranslator + - SolCommonTranslator + - RootSpeakTranslator + - XenoTranslator + - BasicGalaticCommonTranslatorImplanter + - AdvancedGalaticCommonTranslatorImplanter + - BubblishTranslatorImplanter + - NekomimeticTranslatorImplanter + - DraconicTranslatorImplanter + - CanilunztTranslatorImplanter + - SolCommonTranslatorImplanter + - RootSpeakTranslatorImplanter + - AnimalTranslator + - MofficTranslatorImplanter + - MofficTranslator + - ClothingEyesNightVisionGoggles + - ClothingEyesNightVisionDiagnosticGoggles + - ClothingEyesThermalVisionGoggles + - RCDAmmo #DeltaV + - RCD #EE + # Shitmed Change + - EnergyScalpel + - EnergyCautery + - AdvancedRetractor + - type: EmagLatheRecipes + emagDynamicRecipes: + - BoxBeanbag + - BoxShotgunIncendiary + - BoxShotgunUranium + - ExplosivePayload + - GrenadeBlast + - GrenadeEMP + - GrenadeFlash + - HoloprojectorSecurity + - MagazineBoxLightRifleIncendiary + - MagazineBoxLightRifleUranium + - MagazineBoxMagnumIncendiary + - MagazineBoxMagnumUranium + - MagazineBoxPistolIncendiary + - MagazineBoxPistolUranium + - MagazineBoxRifleIncendiary + - MagazineBoxRifleUranium + - MagazineGrenadeEmpty + - MagazineLightRifleIncendiary + - MagazineLightRifleUranium + - MagazinePistolIncendiary + - MagazinePistolUranium + - MagazineRifleIncendiary + - MagazineRifleUranium + - MagazineShotgunBeanbag + - MagazineShotgunIncendiary + - MagazineShotgunIncendiary + - PortableRecharger + - PowerCageHigh + - PowerCageMedium + - PowerCageSmall + - ShellTranquilizer + - SpeedLoaderMagnumIncendiary + - SpeedLoaderMagnumUranium + - TelescopicShield + - Truncheon + - WeaponAdvancedLaser + - WeaponLaserCannon + - WeaponLaserCarbine + - WeaponXrayCannon + - WeaponEnergyGun # DeltaV - Energy Gun + - WeaponEnergyGunMini # DeltaV - Miniature Energy Gun + - WeaponEnergyGunPistol # DeltaV - PDW-9 Energy Pistol + - WeaponGunLaserCarbineAutomatic # DeltaV - IK-60 Laser Carbine + +- type: entity + id: ProtolatheHyperConvection + parent: [Protolathe, BaseHyperlathe] + name: hyper convection protolathe + description: A highly-experimental protolathe that harnesses the power of extreme heat to slowly create objects more cost-effectively. + components: + - type: Sprite + sprite: Structures/Machines/protolathe_hypercon.rsi + - type: Machine + board: ProtolatheHyperConvectionMachineCircuitboard + +- type: entity + id: CircuitImprinter + parent: BaseLatheLube + name: circuit imprinter + description: Prints circuit boards for machines. + components: + - type: Sprite + sprite: Structures/Machines/circuit_imprinter.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: CircuitImprinterMachineCircuitboard + - type: Lathe + producingSound: /Audio/Machines/circuitprinter.ogg + idleState: icon + runningState: building + staticRecipes: + - ProtolatheMachineCircuitboard + - AutolatheMachineCircuitboard + - CircuitImprinterMachineCircuitboard + - OreProcessorMachineCircuitboard + - MaterialReclaimerMachineCircuitboard + - ElectrolysisUnitMachineCircuitboard + - CentrifugeMachineCircuitboard + - ChemDispenserMachineCircuitboard + - ChemMasterMachineCircuitboard + - CondenserMachineCircuitBoard + - HotplateMachineCircuitboard + - UniformPrinterMachineCircuitboard + - FloorGreenCircuit + - FloorBlueCircuit + - MicrowaveMachineCircuitboard + - ReagentGrinderMachineCircuitboard + - ElectricGrillMachineCircuitboard + - BoozeDispenserMachineCircuitboard + - SodaDispenserMachineCircuitboard + - DeepFryerMachineCircuitboard #Nyano - Summary: adds deep fryer circuit board + - SpaceHeaterMachineCircuitBoard + - StationAnchorCircuitboard + dynamicRecipes: + - ThermomachineFreezerMachineCircuitBoard + - HellfireFreezerMachineCircuitBoard + - PortableScrubberMachineCircuitBoard + - CloningPodMachineCircuitboard + - MedicalScannerMachineCircuitboard + - CryoPodMachineCircuitboard + - VaccinatorMachineCircuitboard + - DiagnoserMachineCircuitboard + - BiomassReclaimerMachineCircuitboard + - BiofabricatorMachineCircuitboard + - SurveillanceCameraRouterCircuitboard + - SurveillanceCameraMonitorCircuitboard + - SurveillanceWirelessCameraMonitorCircuitboard + - SurveillanceCameraWirelessRouterCircuitboard + - ComputerTelevisionCircuitboard + - JukeboxCircuitBoard + - SurveillanceWirelessCameraMovableCircuitboard + - SurveillanceWirelessCameraAnchoredCircuitboard + - HydroponicsTrayMachineCircuitboard + - SolarControlComputerCircuitboard + - SolarTrackerElectronics + - TurboItemRechargerCircuitboard + - PowerComputerCircuitboard + - AlertsComputerCircuitboard + - AutolatheHyperConvectionMachineCircuitboard + - ProtolatheHyperConvectionMachineCircuitboard + - CircuitImprinterHyperConvectionMachineCircuitboard + - FatExtractorMachineCircuitboard + - FlatpackerMachineCircuitboard + - SheetifierMachineCircuitboard + - ShuttleConsoleCircuitboard + - RadarConsoleCircuitboard + - TechDiskComputerCircuitboard + - DawInstrumentMachineCircuitboard + - CloningConsoleComputerCircuitboard + - StasisBedMachineCircuitboard + - OreProcessorIndustrialMachineCircuitboard + - CargoTelepadMachineCircuitboard + - RipleyCentralElectronics + - RipleyPeripheralsElectronics + - HonkerCentralElectronics + - HonkerPeripheralsElectronics + - HonkerTargetingElectronics + - HamtrCentralElectronics + - HamtrPeripheralsElectronics + - PortableGeneratorPacmanMachineCircuitboard + - PortableGeneratorSuperPacmanMachineCircuitboard + - PortableGeneratorJrPacmanMachineCircuitboard + - WallmountGeneratorElectronics + - WallmountGeneratorAPUElectronics + - WallmountSubstationElectronics + - PowerCageRechargerCircuitboard + - EmitterCircuitboard + - ThrusterMachineCircuitboard + - GyroscopeMachineCircuitboard + - MiniGravityGeneratorCircuitboard + - ShuttleGunKineticCircuitboard + - GasRecyclerMachineCircuitboard + - SeedExtractorMachineCircuitboard + - AnalysisComputerCircuitboard + - ExosuitFabricatorMachineCircuitboard + - AnomalyVesselCircuitboard + - AnomalyVesselExperimentalCircuitboard + - AnomalySynchronizerCircuitboard + - APECircuitboard + - ArtifactAnalyzerMachineCircuitboard + - ArtifactCrusherMachineCircuitboard + - TelecomServerCircuitboard + - MassMediaCircuitboard + - ReagentGrinderIndustrialMachineCircuitboard + - ReverseEngineeringMachineCircuitboard + - CrewMonitoringComputerCircuitboard + - DoorElectronics + - FireAlarmElectronics + - FirelockElectronics + - IntercomElectronics + - MailingUnitElectronics + - SalvageMagnetMachineCircuitboard + - StationMapElectronics + - MetempsychoticMachineCircuitboard + - SalvageExpeditionsComputerCircuitboard + - JukeboxCircuitBoard + - AutodocCircuitboard # Shitmed Change + - OperatingTableCircuitboard # Shitmed Change + - type: EmagLatheRecipes + emagDynamicRecipes: + - ShuttleGunDusterCircuitboard + - ShuttleGunFriendshipCircuitboard + - ShuttleGunPerforatorCircuitboard + - ShuttleGunSvalinnMachineGunCircuitboard + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: RequireProjectileTarget + +- type: entity + id: CircuitImprinterHyperConvection + parent: [CircuitImprinter, BaseHyperlathe] + name: hyper convection circuit imprinter + description: A highly-experimental circuit imprinter that harnesses the power of extreme heat to slowly create objects more cost-effectively. + components: + - type: Sprite + sprite: Structures/Machines/circuit_imprinter_hypercon.rsi + - type: Machine + board: CircuitImprinterHyperConvectionMachineCircuitboard + +- type: entity + id: ExosuitFabricator + parent: BaseLatheLube + name: exosuit fabricator + description: Creates parts for robotics and other mechanical needs + components: + - type: Sprite + sprite: Structures/Machines/exosuit_fabricator.rsi + layers: + - state: fab-idle + map: ["enum.LatheVisualLayers.IsRunning"] + - state: fab-load + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: fab-o + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: ExosuitFabricatorMachineCircuitboard + - type: Lathe + idleState: fab-idle + runningState: fab-active + staticRecipes: + - MMI + - PositronicBrain + - SciFlash + - BorgModuleCable + - BorgModuleFireExtinguisher + - BorgModuleRadiationDetection + - BorgModuleTool + - BorgModuleAppraisal + - BorgModuleConstruction + - BorgModuleService + - BorgModuleTreatment + - BorgModuleSurgery + - BorgModuleCleaning + - CyborgEndoskeleton + - LeftArmBorg + - RightArmBorg + - LeftLegBorg + - RightLegBorg + - LightHeadBorg + - TorsoBorg + - LeftArmBorgEngineer + - RightArmBorgEngineer + - LeftLegBorgEngineer + - RightLegBorgEngineer + - HeadBorgEngineer + - TorsoBorgEngineer + - LeftLegBorgJanitor + - RightLegBorgJanitor + - HeadBorgJanitor + - TorsoBorgJanitor + - LeftArmBorgMedical + - RightArmBorgMedical + - LeftLegBorgMedical + - RightLegBorgMedical + - HeadBorgMedical + - TorsoBorgMedical + - LeftArmBorgMining + - RightArmBorgMining + - LeftLegBorgMining + - RightLegBorgMining + - HeadBorgMining + - TorsoBorgMining + - LeftArmBorgService + - RightArmBorgService + - LeftLegBorgService + - RightLegBorgService + - HeadBorgService + - TorsoBorgService + dynamicRecipes: + - ProximitySensor + - BorgModuleLightReplacer + - BorgModuleAdvancedCleaning + - BorgModuleMining + - BorgModuleGrapplingGun + - BorgModuleAdvancedTool + - BorgModuleGPS + - BorgModuleRCD + - BorgModuleJetpack + - BorgModulePka + - BorgModuleArtifact + - BorgModuleAnomaly + - BorgModuleGardening + - BorgModuleHarvesting + - BorgModuleMusique + - BorgModuleClowning + - BorgModuleDiagnosis + - BorgModuleDefibrillator + - BorgModuleAdvancedTreatment + - BorgModuleAdvancedSurgery + - JawsOfLifeLeftArm + - JawsOfLifeRightArm + - SpeedLeftLeg + - SpeedRightLeg + - BasicCyberneticEyes + - RipleyHarness + - RipleyLArm + - RipleyRArm + - RipleyLLeg + - RipleyRLeg + - MechEquipmentGrabber + - HonkerHarness + - HonkerLArm + - HonkerRArm + - HonkerLLeg + - HonkerRLeg + - MechEquipmentHorn + - MechEquipmentGrabberSmall + - HamtrHarness + - HamtrLArm + - HamtrRArm + - HamtrLLeg + - HamtrRLeg + - VimHarness + # Begin Nyano additions + - JetpackBlue + - JetpackMini + # End Nyano additions + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: Biofabricator + parent: BaseLathe + name: biofabricator + description: Produces animal cubes using biomass. + components: + - type: Sprite + sprite: Structures/Machines/biofabricator.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: BiofabricatorMachineCircuitboard + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - type: Lathe + idleState: icon + runningState: building + staticRecipes: + - MonkeyCube + - KoboldCube + - CowCube + - GoatCube + - MothroachCube + - MouseCube + - CockroachCube + - type: EmagLatheRecipes + emagStaticRecipes: + - AbominationCube + - SpaceCarpCube + - SpaceTickCube + +- type: entity + id: SecurityTechFab + parent: BaseLatheLube + name: security techfab + description: Prints equipment for use by security crew. + components: + - type: Sprite + sprite: Structures/Machines/techfab.rsi + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: sec + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: SecurityTechFabCircuitboard + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - BoxLethalshot + - BoxShotgunFlare + - BoxShotgunPractice + - BoxShotgunSlug + - ClothingEyesHudSecurity + - CombatKnife + - Flash + - ForensicPad + - Handcuffs + - ShellShotgun + - ShellShotgunSlug + - ShellShotgunFlare + - ShellTranquilizer + - MagazineBoxLightRifle + - MagazineBoxLightRiflePractice + - MagazineBoxMagnum + - MagazineBoxMagnumPractice + - MagazineBoxPistol + - MagazineBoxPistolPractice + - MagazineBoxRifle + - MagazineBoxRiflePractice + - MagazineLightRifle + - MagazineLightRifleEmpty + - MagazinePistol + - MagazinePistolEmpty + - MagazinePistolSubMachineGun + - MagazinePistolSubMachineGunEmpty + - MagazinePistolSubMachineGunTopMounted + - MagazinePistolSubMachineGunTopMountedEmpty + - MagazineRifle + - MagazineRifleEmpty + - MagazineShotgun + - MagazineShotgunEmpty + - MagazineShotgunSlug + - RiotShield + - SpeedLoaderMagnum + - SpeedLoaderMagnumEmpty + - Stunbaton + - TargetClown + - ClothingOuterArmorPlateCarrier + - ClothingOuterArmorDuraVest + - TargetHuman + - TargetSyndicate + - WeaponDisablerPractice + - WeaponFlareGunSecurity + - WeaponLaserCarbinePractice + - Zipties + - ShockCollar + # DeltaV - .38 special ammo - Add various .38 special ammo to security techfab + - MagazineBoxSpecial + - MagazineBoxSpecialPractice + - SpeedLoaderSpecial + - MagazinePistolSpecial + dynamicRecipes: + - BolaEnergy + - BoxBeanbag + - BoxShotgunIncendiary + - BoxShotgunUranium + - EncryptionKeySyndie + - CartridgeLightRifleIncendiary + - CartridgeMagnumIncendiary + - CartridgePistolIncendiary + - CartridgeRifleIncendiary + - CartridgeLightRifleUranium + - CartridgeMagnumUranium + - CartridgePistolUranium + - CartridgeRifleUranium + - CartridgeLightRifleRubber + - CartridgeMagnumRubber + - CartridgePistolRubber + - CartridgeRifleRubber + - ClothingEyesGlassesSecurity + - ExplosivePayload + - FlashPayload + - GrenadeBlast + - GrenadeEMP + - GrenadeFlash + - HoloprojectorSecurity + - MagazineBoxLightRifleIncendiary + - MagazineBoxLightRifleUranium + - MagazineBoxMagnumIncendiary + - MagazineBoxMagnumUranium + - MagazineBoxPistolIncendiary + - MagazineBoxPistolUranium + - MagazineBoxRifleIncendiary + - MagazineBoxRifleUranium + - ShellSoulbreaker + - MagazineBoxLightRifleRubber + - MagazineBoxMagnumRubber + - MagazineBoxPistolRubber + - MagazineBoxRifleRubber + - MagazineGrenadeEmpty + - MagazineLightRifleIncendiary + - MagazineLightRifleUranium + - MagazinePistolIncendiary + - MagazinePistolUranium + - MagazineRifleIncendiary + - MagazineRifleUranium + - MagazineShotgunBeanbag + - MagazineShotgunIncendiary + - PortableRecharger + - PowerCageHigh + - PowerCageMedium + - PowerCageSmall + - ShellTranquilizer + - ShuttleGunDusterCircuitboard + - ShuttleGunFriendshipCircuitboard + - ShuttleGunPerforatorCircuitboard + - ClothingEyesNightVisionSecurityGoggles + - ShuttleGunSvalinnMachineGunCircuitboard + - Signaller + - SignalTrigger + - SpeedLoaderMagnumIncendiary + - SpeedLoaderMagnumUranium + - TelescopicShield + - TimerTrigger + - Truncheon + - VoiceTrigger + - WeaponAdvancedLaser + - WeaponDisabler + - WeaponDisablerSMG + - WeaponLaserCannon + - WeaponLaserCarbine + - ClothingHeadHelmetInsulated # Nyanotrasen - Insulative headgear + - ClothingHeadCage # Nyanotrasen - Insulative headgear + - ShockCollar # Nyanotrasen - Shock Collar + - WeaponXrayCannon + - WeaponEnergyGun + - WeaponEnergyGunMini + - WeaponEnergyGunPistol + - WeaponGunLaserCarbineAutomatic + - CartridgeSpecialRubber + - CartridgeSpecialIncendiary + - CartridgeSpecialUranium + - CartridgeSpecialHoly + - CartridgeSpecialMindbreaker + - MagazineBoxSpecialRubber + - MagazineBoxSpecialIncendiary + - MagazineBoxSpecialUranium + - MagazineBoxSpecialMindbreaker + - SecurityCyberneticEyes + - MedicalCyberneticEyes + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + +- type: entity + id: AmmoTechFab + parent: BaseLatheLube + name: ammo techfab + description: Prints the bare minimum of bullets that any budget military or armory could need. Nothing fancy. + components: + - type: Sprite + sprite: Structures/Machines/techfab.rsi + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: ammo + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: AmmoTechFabCircuitboard + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - BoxLethalshot + - BoxShotgunFlare + - BoxShotgunSlug + - MagazineBoxLightRifle + - MagazineBoxMagnum + - MagazineBoxPistol + - MagazineBoxRifle + - MagazineLightRifle + - MagazineLightRifleEmpty + - MagazinePistol + - MagazinePistolEmpty + - MagazineRifle + - MagazineRifleEmpty + - MagazineShotgun + - MagazineShotgunEmpty + - MagazineShotgunSlug + - ShellTranquilizer + - SpeedLoaderMagnum + - SpeedLoaderMagnumEmpty + - CartridgeSpecial + - MagazineBoxSpecial + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + +- type: entity + id: MedicalTechFab + parent: BaseLatheLube + name: medical techfab + description: Prints equipment for use by the medbay. + components: + - type: Sprite + sprite: Structures/Machines/techfab.rsi + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: med + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - Brutepack + - Ointment + - Gauze + - HandLabeler + - Defibrillator + - HandheldHealthAnalyzer + - ClothingHandsGlovesLatex + - ClothingHandsGlovesNitrile + - ClothingMaskSterile + - DiseaseSwab + - Beaker + - LargeBeaker + - Dropper + - Jug + - Syringe + - Implanter + - PillCanister + - BodyBag + - ChemistryEmptyBottle01 + - RollerBedSpawnFolded + - CheapRollerBedSpawnFolded + - EmergencyRollerBedSpawnFolded + - Medkit + - MedkitBurn + - MedkitToxin + - MedkitO2 + - MedkitBrute + - MedkitAdvanced + - MedkitRadiation + - MedkitCombat + - Scalpel + - Retractor + - Cautery + - Drill + - Saw + - Hemostat + - ClothingEyesGlassesChemical + - BoneGel # Shitmed Change + dynamicRecipes: + - ChemicalPayload + - CryostasisBeaker + - BluespaceBeaker + - SyringeBluespace + - ClothingEyesHudMedical # Nyano + - ChemicalPayload # Nyano + - SyringeCryostasis + - ClothingEyesNightVisionMedicalGoggles + # Shitmed Change + - EnergyScalpel + - EnergyCautery + - AdvancedRetractor + - OmnimedTool + - MedicalCyberneticEyes + - type: Machine + board: MedicalTechFabCircuitboard + - type: StealTarget + stealGroup: MedicalTechFabCircuitboard + +- type: entity + parent: BaseLathe + id: UniformPrinter + name: uniform printer + description: Prints new or replacement uniforms. + components: + - type: Transform + noRot: false + - type: Sprite + sprite: Structures/Machines/uniform_printer.rsi + snapCardinals: false + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - type: Machine + board: UniformPrinterMachineCircuitboard + - type: Lathe + producingSound: /Audio/Machines/uniformprinter.ogg + idleState: icon + runningState: building + staticRecipes: + - ClothingUniformJumpsuitColorGrey + - ClothingUniformJumpskirtColorGrey + - ClothingUniformJumpsuitBartender + - ClothingUniformJumpskirtBartender + - ClothingHeadHatCapcap + - ClothingHeadHatCaptain + - ClothingUniformJumpsuitCaptain + - ClothingUniformJumpskirtCaptain + - ClothingUniformJumpsuitCapFormal + - ClothingUniformJumpskirtCapFormalDress + - ClothingUniformJumpsuitCargo + - ClothingUniformJumpskirtCargo + - ClothingUniformJumpsuitSalvageSpecialist + - ClothingHeadHatBeretEngineering + - ClothingUniformJumpsuitChiefEngineer + - ClothingUniformJumpskirtChiefEngineer + - ClothingUniformJumpsuitChiefEngineerTurtle + - ClothingUniformJumpskirtChiefEngineerTurtle + - ClothingUniformJumpsuitChaplain + - ClothingUniformJumpskirtChaplain + - ClothingUniformJumpsuitChef + - ClothingUniformJumpskirtChef + - ClothingUniformJumpsuitChemistry + - ClothingUniformJumpskirtChemistry + - ClothingUniformJumpsuitClown + - ClothingHeadHatBeretCmo + - ClothingUniformJumpsuitCMO + - ClothingUniformJumpskirtCMO + - ClothingUniformJumpsuitCMOTurtle + - ClothingUniformJumpskirtCMOTurtle + - ClothingUniformJumpsuitDetective + - ClothingUniformJumpskirtDetective + - ClothingUniformJumpsuitEngineering + - ClothingUniformJumpskirtEngineering + - ClothingUniformJumpsuitSeniorEngineer + - ClothingUniformJumpskirtSeniorEngineer + - ClothingHeadHatHopcap + - ClothingUniformJumpsuitHoP + - ClothingUniformJumpskirtHoP + - ClothingHeadHatBeretHoS + - ClothingHeadHatHoshat + - ClothingUniformJumpsuitHoS + - ClothingUniformJumpskirtHoS + - ClothingUniformJumpsuitHoSBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtHoSBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpsuitHoSGrey # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtHoSGrey # DeltaV - alternate sec uniforms + - ClothingUniformJumpsuitHosFormal + - ClothingUniformJumpskirtHosFormal + - ClothingUniformJumpsuitHoSAlt + - ClothingUniformJumpskirtHoSAlt + - ClothingUniformJumpsuitHoSBlue + - ClothingUniformJumpsuitHoSGrey + - ClothingUniformJumpsuitHoSParadeMale + - ClothingUniformJumpskirtHoSParadeMale + - ClothingUniformJumpsuitHydroponics + - ClothingUniformJumpskirtHydroponics + - ClothingUniformJumpsuitJanitor + - ClothingUniformJumpskirtJanitor + - ClothingUniformJumpsuitLawyerBlack + - ClothingUniformJumpsuitLibrarian + - ClothingUniformJumpskirtColorLightBrown + - ClothingUniformCourier # DeltaV - Courier Uniform + - ClothingUniformSkirtCourier # DeltaV - Courier Uniform + - ClothingUniformJumpsuitMantis # Nyanotrasen - Forensic Mantis + - ClothingUniformSkirtMantis # Nyanotrasen - Forensic Mantis + - ClothingHeadHatBeretSeniorPhysician + - ClothingUniformJumpsuitMedicalDoctor + - ClothingUniformJumpskirtMedicalDoctor + - ClothingUniformJumpsuitSeniorPhysician + - ClothingUniformJumpskirtSeniorPhysician + - ClothingUniformJumpsuitMime + - ClothingUniformJumpskirtMime + - ClothingUniformJumpsuitMusician + - ClothingUniformJumpsuitParamedic + - ClothingUniformJumpskirtParamedic + - ClothingUniformJumpsuitSeniorOfficer + - ClothingUniformJumpskirtSeniorOfficer + - ClothingUniformJumpsuitPrisoner + - ClothingUniformJumpskirtPrisoner + - ClothingHeadHatQMsoft + - ClothingHeadHatBeretQM + - ClothingUniformJumpsuitQM + - ClothingUniformJumpskirtQM + - ClothingUniformJumpsuitQMTurtleneck + - ClothingUniformJumpskirtQMTurtleneck + - ClothingUniformJumpsuitQMFormal + - ClothingHeadHatBeretRND + - ClothingUniformJumpsuitResearchDirector + - ClothingUniformJumpskirtResearchDirector + - ClothingUniformJumpsuitScientist + - ClothingUniformJumpskirtScientist + - ClothingUniformJumpsuitSeniorResearcher + - ClothingUniformJumpskirtSeniorResearcher + - ClothingHeadHatBeretSecurity + - ClothingUniformJumpsuitSec + - ClothingUniformJumpskirtSec + - ClothingUniformJumpsuitSecBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtSecBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpsuitSecGrey # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtSecGrey # DeltaV - alternate sec uniforms + - ClothingHeadHatBeretBrigmedic + - ClothingUniformJumpsuitBrigmedic + - ClothingUniformJumpskirtBrigmedic + - ClothingHeadHatBeretWarden + - ClothingHeadHatWarden + - ClothingUniformJumpsuitWarden + - ClothingUniformJumpskirtWarden + - ClothingUniformJumpsuitWardenBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtWardenBlue # DeltaV - alternate sec uniforms + - ClothingUniformJumpsuitWardenGrey # DeltaV - alternate sec uniforms + - ClothingUniformJumpskirtWardenGrey # DeltaV - alternate sec uniforms + - ClothingHeadHatParamedicsoft + # Winter outfits + - ClothingOuterWinterCap + - ClothingOuterWinterCE + - ClothingOuterWinterCMO + - ClothingOuterWinterHoP + - ClothingOuterWinterHoSUnarmored + - ClothingOuterWinterWardenUnarmored + - ClothingOuterWinterQM + - ClothingOuterWinterRD + - ClothingNeckMantleCap + - ClothingNeckMantleCE + - ClothingNeckMantleCMO + - ClothingNeckMantleHOP + - ClothingNeckMantleHOS + - ClothingNeckMantleRD + - ClothingNeckMantleQM + - ClothingOuterStasecSweater # DeltaV - added stasec sweater to uniform printer. + - ClothingOuterWinterMusician + - ClothingOuterWinterClown + - ClothingOuterWinterMime + - ClothingOuterWinterCoat + - ClothingOuterWinterJani + - ClothingOuterWinterBar + - ClothingOuterWinterChef + - ClothingOuterWinterHydro + - ClothingOuterWinterAtmos + - ClothingOuterWinterEngi + - ClothingOuterWinterCargo + - ClothingOuterWinterMiner + - ClothingOuterWinterMed + - ClothingOuterWinterPara + - ClothingOuterWinterChem + - ClothingOuterWinterGen + - ClothingOuterWinterViro + - ClothingOuterWinterSci + - ClothingOuterWinterRobo + - ClothingOuterWinterSec + # Ties + - ClothingNeckTieRed + - ClothingNeckTieDet + - ClothingNeckTieSci + # Scarfs - All scarfs avaible in winterdrobe + - ClothingNeckScarfStripedGreen + - ClothingNeckScarfStripedBlue + - ClothingNeckScarfStripedRed + - ClothingNeckScarfStripedBrown + - ClothingNeckScarfStripedLightBlue + - ClothingNeckScarfStripedOrange + - ClothingNeckScarfStripedBlack + - ClothingNeckScarfStripedPurple + # Carpets + - Carpet + - CarpetBlack + - CarpetPink + - CarpetBlue + - CarpetGreen + - CarpetOrange + - CarpetPurple + - CarpetCyan + - CarpetWhite + - type: EmagLatheRecipes + emagStaticRecipes: + - ClothingHeadHatCentcomcap + - ClothingHeadHatCentcom + - ClothingUniformJumpsuitCentcomAgent + - ClothingUniformJumpsuitCentcomFormal + - ClothingUniformJumpskirtCentcomFormalDress + - ClothingUniformJumpsuitCentcomOfficer + - ClothingUniformJumpsuitCentcomOfficial + - ClothingHeadHatSyndieMAA + - ClothingHeadHatSyndie + - ClothingUniformJumpsuitOperative + - ClothingUniformJumpskirtOperative + - ClothingUniformJumpsuitSyndieFormal + - ClothingUniformJumpskirtSyndieFormalDress + - ClothingHeadPyjamaSyndicateBlack + - ClothingUniformJumpsuitPyjamaSyndicateBlack + - ClothingHeadPyjamaSyndicatePink + - ClothingUniformJumpsuitPyjamaSyndicatePink + - ClothingHeadPyjamaSyndicateRed + - ClothingUniformJumpsuitPyjamaSyndicateRed + - ClothingOuterWinterCentcom + - ClothingOuterWinterSyndie + - ClothingOuterWinterSyndieCap + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + +- type: entity + parent: BaseLathe + id: OreProcessor + name: ore processor + description: It produces sheets and ingots using ores. + components: + - type: Sprite + sprite: Structures/Machines/ore_processor.rsi + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: OreProcessorMachineCircuitboard + - type: MaterialStorage + ignoreColor: true + whitelist: + tags: + - Ore + - type: Lathe + idleState: icon + runningState: building + defaultProductionAmount: 10 + staticRecipes: + - BluespaceCrystal + - NormalityCrystal + - SheetSteel + - SheetGlass1 + - SheetRGlass + - SheetPlasma1 + - SheetPGlass1 + - SheetRPGlass1 + - SheetUranium1 + - IngotGold1 + - IngotSilver1 + - MaterialBananium1 + - type: MaterialStorageMagnetPickup # Delta V - Summary: Adds magnet pull from Frontier + magnetEnabled: True + range: 0.30 # Delta V - End Magnet Pull + - type: MiningPoints # DeltaV - Source of mining points for miners + transferSound: + path: /Audio/Effects/Cargo/ping.ogg + - type: MiningPointsLathe # DeltaV + +- type: entity + parent: OreProcessor + id: OreProcessorIndustrial + name: industrial ore processor + description: An ore processor specifically designed for mass-producing metals in industrial applications. + components: + - type: Sprite + sprite: Structures/Machines/ore_processor_industrial.rsi + - type: Machine + board: OreProcessorIndustrialMachineCircuitboard + - type: Lathe + materialUseMultiplier: 0.75 + timeMultiplier: 0.5 + staticRecipes: + - BluespaceCrystal + - NormalityCrystal + - SheetSteel + - SheetGlass1 + - SheetRGlass + - SheetPlasma1 + - SheetPGlass1 + - SheetRPGlass1 + - SheetPlasteel1 + - SheetUranium1 + - SheetUGlass1 + - SheetRUGlass1 + - IngotGold1 + - IngotSilver1 + - MaterialBananium1 + - MaterialDiamond + +- type: entity + parent: BaseLathe + id: Sheetifier + name: sheet-meister 2000 + description: A very sheety machine. + components: + - type: Sprite + sprite: Structures/Machines/sheetifier.rsi + layers: + - state: base_machine + map: ["enum.LatheVisualLayers.IsRunning"] + - state: buttons_on + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - type: Machine + board: SheetifierMachineCircuitboard + - type: MaterialStorage + dropOnDeconstruct: false #should drop ores instead of ingots/sheets + ignoreColor: true + canEjectStoredMaterials: false + whitelist: + tags: + - Raw + - Wooden + - type: Lathe + idleState: base_machine + runningState: base_machine_processing + staticRecipes: + - MaterialSheetMeat + - SheetPaper + +- type: entity + parent: BaseLathe + id: PrizeCounter + name: prize counter + description: Claim your prize and win some toys and cute plushies! + components: + - type: AmbientOnPowered + - type: AmbientSound + volume: -9 + range: 3 + enabled: false + sound: + path: /Audio/Ambience/Objects/vending_machine_hum.ogg + - type: LitOnPowered + - type: ApcPowerReceiver + powerLoad: 200 + # - type: Advertise + # pack: CuddlyCritterAds # TODO Change this + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#4b93ad" + - type: Transform + noRot: false + - type: Sprite + sprite: Structures/Machines/prizecounter.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - PrizeBall + - PlushieMothRandom + - PlushieShadowkin + - PlushieMothMusician + - PlushieMothBartender + - PlushieBee + - PlushieHampter + - PlushieRouny + - PlushieLamp + - PlushieArachind + - PlushieLizard + - PlushieSpaceLizard + - PlushieSharkBlue + - PlushieSharkPink + - PlushieSharkGrey + - PlushieCarp + - PlushieMagicarp + - PlushieHolocarp + - PlushieSlime + - PlushieSnake + - ToyMouse + - ToyRubberDuck + - PlushieVox + - PlushieAtmosian + - PlushiePenguin + - PlushieHuman + - PlushieArachne + - PlushieGnome + - PlushieLoveable + - PlushieDeer + - PlushieIpc + - PlushieGrey + - PlushieRedFox + - PlushiePurpleFox + - PlushiePinkFox + - PlushieOrangeFox + - PlushieMarbleFox + - PlushieCrimsonFox + - PlushieCoffeeFox + - PlushieBlueFox + - PlushieBlackFox + - PlushieVulp + - PlushieCorgi + - PlushieGirlyCorgi + - PlushieRobotCorgi + - PlushieCatBlack + - PlushieCatGrey + - PlushieCatOrange + - PlushieCatSiames + - PlushieCatTabby + - PlushieCatTuxedo + - PlushieCatWhite + - ToyAi + - ToyIan + - BalloonNT + - BalloonCorgi + - CrayonBox + - PetRockCarrier + - PlushieXeno + - FoamCrossbow + - RevolverCapGun + - PonderingOrb + - ToyAmongPequeno + - FoamCutlass + - WhoopieCushion + - ToyHammer + - PlasticBanana + - WeaponWaterPistol + - WeaponWaterBlaster + - NewtonCradle + - SnapPopBox + - MrDips + - MrChips + - CrazyGlue + - PlushieRatvar + - PlushieNar + - type: EmagLatheRecipes + emagStaticRecipes: + - PlushieGhost + - PlushieRGBee + - PlushieRainbowCarp + - PlushieJester + - PlushieSlips + - PlushieTrystan + - PlushieAbductor + - PlushieAbductorAgent + - PlushieNuke + - ToyNuke + - FoamBlade + - BalloonSyn + - SingularityToy + - TeslaToy + - ToySword + - BwoinkHammer + - ThronglerToy + - type: MaterialStorage + whitelist: + tags: + - PrizeTicket + +- type: entity + id: MedicalBiofabricator + parent: BaseLathe + name: medical biofabricator + description: Produces organs and other organic matter that can be surgically grafted onto patients with biomass. + components: + - type: Sprite + sprite: _Shitmed/Structures/Machines/limbgrower.rsi + snapCardinals: true + layers: + - state: limbgrower_idleoff + map: ["enum.LatheVisualLayers.IsRunning"] + # - state: limbgrower_idleoff + # shader: unshaded + # map: ["enum.PowerDeviceVisualLayers.Powered"] + # - state: inserting + # map: ["enum.MaterialStorageVisualLayers.Inserting"] + # - state: panel + # map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: MedicalBiofabMachineBoard + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - type: Lathe + idleState: limbgrower_idleoff + runningState: limbgrower_idleon + staticRecipes: + - SynthLiver + - SynthHeart + - SynthLungs + - SynthEyes + - SynthLeftLeg + - SynthRightLeg + - SynthLeftFoot + - SynthRightFoot + - SynthLeftArm + - SynthRightArm + - SynthLeftHand + - SynthRightHand + - type: EmagLatheRecipes + emagStaticRecipes: + - PizzaLeftArm + - PizzaRightArm \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml index df19550cdbd..c3aae448710 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml @@ -85,6 +85,9 @@ description: A water tank. It's used to store high amounts of water. suffix: Empty components: + - type: Tag # heretic edit + tags: + - WaterTank - type: StaticPrice price: 500 - type: Sprite diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index 70ccd06f394..4584ba11609 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -14,6 +14,8 @@ rules: - id: Thief prob: 0.5 + - id: Heretic # goob edit + prob: 0.33 - type: entity id: DeathMatch31 diff --git a/Resources/Prototypes/Guidebook/antagonist.yml b/Resources/Prototypes/Guidebook/antagonist.yml index 4b275446800..03ef81f7a32 100644 --- a/Resources/Prototypes/Guidebook/antagonist.yml +++ b/Resources/Prototypes/Guidebook/antagonist.yml @@ -10,6 +10,7 @@ - MinorAntagonists - SpaceNinja - BloodCult + - Heretics # goob - heretics - type: guideEntry id: Traitors diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index 29f3fed247b..f489fc2eb53 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -261,4 +261,4 @@ Glass: 300 Silver: 100 Gold: 100 - Plasma: 200 + Plasma: 200 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Lathes/security.yml b/Resources/Prototypes/Recipes/Lathes/security.yml index e80ba6bbf94..066ac25b526 100644 --- a/Resources/Prototypes/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/Recipes/Lathes/security.yml @@ -242,15 +242,6 @@ materials: Steel: 145 -- type: latheRecipe - id: MagazinePistolRubber - result: MagazinePistolRubber - category: Ammo - completetime: 5 - materials: - Steel: 45 - Plastic: 100 - - type: latheRecipe id: MagazinePistolPractice result: MagazinePistolPractice @@ -294,34 +285,6 @@ materials: Steel: 300 -- type: latheRecipe - id: MagazinePistolSubMachineGunRubber - result: MagazinePistolSubMachineGunRubber - category: Ammo - completetime: 5 - materials: - Steel: 100 - Plastic: 200 - -- type: latheRecipe - id: MagazinePistolSubMachineGunUranium - result: MagazinePistolSubMachineGunUranium - category: Ammo - completetime: 5 - materials: - Steel: 25 - Plastic: 225 - Uranium: 225 - -- type: latheRecipe - id: MagazinePistolSubMachineGunIncendiary - result: MagazinePistolSubMachineGunIncendiary - category: Ammo - completetime: 5 - materials: - Steel: 25 - Plastic: 400 - - type: latheRecipe id: MagazinePistolSubMachineGunTopMountedEmpty result: MagazinePistolSubMachineGunTopMountedEmpty @@ -388,14 +351,6 @@ materials: Steel: 475 -- type: latheRecipe - id: MagazineRifleRubber - result: MagazineRifleRubber - category: Ammo - completetime: 5 - materials: - Steel: 150 - Plastic: 325 - type: latheRecipe id: MagazineRiflePractice @@ -440,15 +395,6 @@ materials: Steel: 565 -- type: latheRecipe - id: MagazineLightRifleRubber - result: MagazineLightRifleRubber - category: Ammo - completetime: 5 - materials: - Steel: 125 - Plastic: 350 - - type: latheRecipe id: MagazineLightRiflePractice result: MagazineLightRiflePractice @@ -457,6 +403,7 @@ materials: Steel: 205 + - type: latheRecipe id: MagazineLightRifleUranium result: MagazineLightRifleUranium @@ -476,50 +423,6 @@ Steel: 25 Plastic: 540 -- type: latheRecipe - id: MagazineMagnumEmpty - result: MagazineMagnumEmpty - category: Ammo - completetime: 5 - materials: - Steel: 30 - -- type: latheRecipe - id: MagazineMagnum - result: MagazineMagnum - category: Ammo - completetime: 5 - materials: - Steel: 150 - -- type: latheRecipe - id: MagazineMagnumRubber - result: MagazineMagnumRubber - category: Ammo - completetime: 5 - materials: - Steel: 50 - Plastic: 100 - -- type: latheRecipe - id: MagazineMagnumUranium - result: MagazineMagnumUranium - category: Ammo - completetime: 5 - materials: - Steel: 30 - Plastic: 75 - Uranium: 150 - -- type: latheRecipe - id: MagazineMagnumIncendiary - result: MagazineMagnumIncendiary - category: Ammo - completetime: 5 - materials: - Steel: 30 - Plastic: 150 - - type: latheRecipe id: MagazineBoxRifle result: MagazineBoxRifle @@ -571,15 +474,6 @@ Steel: 240 Plastic: 160 -- type: latheRecipe - id: MagazineBoxLightRifleRubber - result: MagazineBoxLightRifleRubber - category: Ammo - completetime: 5 - materials: - Steel: 350 - Plastic: 600 - - type: latheRecipe id: SpeedLoaderMagnumEmpty result: SpeedLoaderMagnumEmpty @@ -589,21 +483,21 @@ Steel: 50 - type: latheRecipe - id: SpeedLoaderMagnum - result: SpeedLoaderMagnum + id: MagazineBoxLightRifleRubber + result: MagazineBoxLightRifleRubber category: Ammo completetime: 5 materials: - Steel: 190 + Steel: 350 + Plastic: 600 - type: latheRecipe - id: SpeedLoaderMagnumRubber - result: SpeedLoaderMagnumRubber + id: SpeedLoaderMagnum + result: SpeedLoaderMagnum category: Ammo completetime: 5 materials: - Steel: 50 - Plastic: 70 + Steel: 190 - type: latheRecipe id: SpeedLoaderMagnumPractice @@ -864,46 +758,46 @@ result: MagazineGrenadeEmpty completetime: 3 materials: - Steel: 150 - Plastic: 50 + Steel: 150 + Plastic: 50 - type: latheRecipe id: GrenadeEMP result: GrenadeEMP completetime: 3 materials: - Steel: 150 - Plastic: 100 - Glass: 20 + Steel: 150 + Plastic: 100 + Glass: 20 - type: latheRecipe id: GrenadeBlast result: GrenadeBlast completetime: 3 materials: - Steel: 150 - Plastic: 100 - Gold: 50 + Steel: 150 + Plastic: 100 + Gold: 50 - type: latheRecipe id: GrenadeFlash result: GrenadeFlash completetime: 3 materials: - Steel: 150 - Plastic: 100 - Glass: 20 + Steel: 150 + Plastic: 100 + Glass: 20 - type: latheRecipe id: PortableRecharger result: PortableRecharger completetime: 15 materials: - Steel: 2000 - Uranium: 2000 - Plastic: 1000 - Plasma: 500 - Glass: 500 + Steel: 2000 + Uranium: 2000 + Plastic: 1000 + Plasma: 500 + Glass: 500 - type: latheRecipe id: ShellShotgun @@ -996,6 +890,7 @@ materials: Plastic: 15 Uranium: 10 + Uranium: 10 - type: latheRecipe id: ClothingEyesNightVisionSecurityGoggles @@ -1005,4 +900,4 @@ Steel: 500 Glass: 300 Silver: 100 - Gold: 100 + Gold: 100 \ No newline at end of file diff --git a/Resources/Prototypes/Research/experimental.yml b/Resources/Prototypes/Research/experimental.yml index cf6493847ac..9e4d2d82094 100644 --- a/Resources/Prototypes/Research/experimental.yml +++ b/Resources/Prototypes/Research/experimental.yml @@ -56,7 +56,6 @@ cost: 5000 recipeUnlocks: - TechDiskComputerCircuitboard - - ReverseEngineeringMachineCircuitboard #DeltaV - type: technology id: MagnetsTech @@ -85,20 +84,6 @@ # Tier 2 -- type: technology - id: AdvancedParts - name: research-technology-advanced-parts - icon: - sprite: Objects/Misc/stock_parts.rsi - state: advanced_matter_bin - discipline: Experimental - tier: 2 - cost: 10000 - recipeUnlocks: - - AdvancedCapacitorStockPart - - AdvancedMatterBinStockPart - - NanoManipulatorStockPart - - type: technology id: AbnormalArtifactManipulation name: research-technology-abnormal-artifact-manipulation @@ -127,18 +112,6 @@ technologyPrerequisites: - BasicAnomalousResearch -- type: technology - id: RapidPartExchange - name: research-technology-rped - icon: - sprite: Objects/Specific/Research/rped.rsi - state: icon - discipline: Experimental - tier: 2 - cost: 7500 - recipeUnlocks: - - RPED - - type: technology id: DeterrenceTechnologies name: research-technology-deterrence @@ -152,20 +125,6 @@ - WeaponParticleDecelerator - HoloprojectorField -- type: technology - id: Metempsychosis - name: research-technology-metempsychosis - icon: - sprite: Structures/Machines/metempsychotic.rsi - state: cloning_idle - discipline: Experimental - tier: 2 - cost: 15000 - recipeUnlocks: - - BiomassReclaimerMachineCircuitboard - - CloningConsoleComputerCircuitboard - - MedicalScannerMachineCircuitboard - - MetempsychoticMachineCircuitboard - type: technology id: NightVisionTech @@ -196,20 +155,6 @@ # Tier 3 -- type: technology - id: SuperParts - name: research-technology-super-parts - icon: - sprite: Objects/Misc/stock_parts.rsi - state: super_matter_bin - discipline: Experimental - tier: 3 - cost: 15000 - recipeUnlocks: - - SuperCapacitorStockPart - - SuperMatterBinStockPart - - PicoManipulatorStockPart - - type: technology id: GravityManipulation name: research-technology-gravity-manipulation diff --git a/Resources/Prototypes/Shaders/shaders.yml b/Resources/Prototypes/Shaders/shaders.yml index 96c51d1a985..5f11d5ffa20 100644 --- a/Resources/Prototypes/Shaders/shaders.yml +++ b/Resources/Prototypes/Shaders/shaders.yml @@ -132,4 +132,4 @@ - type: shader id: NightVision kind: source - path: "/Textures/Shaders/nightvision.swsl" + path: "/Textures/Shaders/nightvision.swsl" \ No newline at end of file diff --git a/Resources/Prototypes/WhiteDream/Entities/Clothing/Cult/armor.yml b/Resources/Prototypes/WhiteDream/Entities/Clothing/Cult/armor.yml index bdbb4bac46d..9b675b8b3c4 100644 --- a/Resources/Prototypes/WhiteDream/Entities/Clothing/Cult/armor.yml +++ b/Resources/Prototypes/WhiteDream/Entities/Clothing/Cult/armor.yml @@ -126,3 +126,4 @@ - type: ShowHealthIcons damageContainers: - Biological + diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/basic.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/basic.yml new file mode 100644 index 00000000000..8be1ea6330b --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/basic.yml @@ -0,0 +1,64 @@ +# actions +- type: entity + id: ActionHereticOpenStore + name: Open Knowledge Store + description: Open the Knowledge Store. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: open_store + event: !type:EventHereticOpenStore {} + - type: HereticAction + requireMagicItem: false + +- type: entity + id: ActionHereticMansusGrasp + name: Mansus Grasp + description: Channel the power of the Old Gods through your grip. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 10 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: mansus_grasp + event: !type:EventHereticMansusGrasp {} + - type: HereticAction + requireMagicItem: false + +- type: entity + id: ActionHereticLivingHeart + name: Living Heart + description: Use your heart to get your sacrifice targets location. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 2 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: living_heart + event: !type:EventHereticLivingHeart {} + - type: HereticAction + requireMagicItem: false + +- type: entity + id: ActionHereticMansusLink + name: Manse Link + description: Pierce through reality and connect minds to one another. Default radio key is :z + categories: [ HideSpawnMenu ] + components: + - type: EntityTargetAction + useDelay: 10 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: mansus_link + event: !type:EventHereticMansusLink {} + - type: HereticAction + requireMagicItem: false + messageLoc: heretic-speech-link diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_ash.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_ash.yml new file mode 100644 index 00000000000..b0dd2b0dfd2 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_ash.yml @@ -0,0 +1,89 @@ +- type: entity + id: ActionHereticJaunt + name: Ashen Passage + description: A short range spell that allows you to pass unimpeded through walls. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 15 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: ashen_shift + event: !type:EventHereticAshenShift + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-ash-jaunt + +- type: entity + id: ActionHereticVolcanoBlast + name: Volcanic Blast + description: Charge up a blast of fire that chains between nearby targets, setting them ablaze. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 10 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: volcano_blast + event: !type:EventHereticVolcanoBlast + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-ash-volcano + +- type: entity + id: ActionHereticNightwatcherRebirth + name: Nightwatcher's Rebirth + description: A spell that extinguishes you and drains nearby heathens engulfed in flames of their life force. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 15 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: nightwatcher_rebirth + event: !type:EventHereticNightwatcherRebirth + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-ash-rebirth + +- type: entity + id: ActionHereticAscension1 + name: Oath of Flame + description: For a minute, you will passively create a ring of fire around you. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 90 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: ashlord_rite1 + event: !type:EventHereticFlames + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-ash-flame + +- type: entity + id: ActionHereticAscension2 + name: Fire Cascade + description: Heats the air around you. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 30 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: ashlord_rite2 + event: !type:EventHereticCascade + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-ash-cascade diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_blade.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_blade.yml new file mode 100644 index 00000000000..5a9abd1160b --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_blade.yml @@ -0,0 +1,37 @@ +# actions +- type: entity + id: ActionHereticRealignment + name: Realignment + description: Recover from all stuns and knockdowns, gaining short term pacifism. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + checkCanInteract: false + checkConsciousness: false + useDelay: 10 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: realignment + event: !type:EventHereticRealignment + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-realignment + +- type: entity + id: ActionHereticFuriousSteel + name: Furious steel + description: Summon three orbiting protecting blades around you. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 30 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: furious_steel + event: !type:EventHereticFuriousSteel + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-blade-furioussteel diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_flesh.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_flesh.yml new file mode 100644 index 00000000000..339e6d28740 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_flesh.yml @@ -0,0 +1,15 @@ +- type: entity + id: ActionHereticFleshSurgery + name: flesh surgery + description: Remove a random organ from someone, or heal your teammates. + components: + - type: EntityTargetAction + useDelay: 30 + event: !type:EventHereticFleshSurgery + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: flesh_surgery + checkCanInteract: true + - type: HereticAction + messageLoc: heretic-speech-flesh-surgery diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_side.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_side.yml new file mode 100644 index 00000000000..4f729951623 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_side.yml @@ -0,0 +1 @@ +# actions diff --git a/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_void.yml b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_void.yml new file mode 100644 index 00000000000..d7d1065fdb2 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Actions/Heretic/path_void.yml @@ -0,0 +1,56 @@ +- type: entity + id: ActionHereticVoidBlast + name: Void Blast + description: Fire off a cone of ice in front of you. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 15 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: void_blast + event: !type:HereticVoidBlastEvent + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-void-blast + +- type: entity + id: ActionHereticVoidPhase + name: Void Phase + description: Shift through the void, knocking down everyone around you. + categories: [ HideSpawnMenu ] + components: + - type: WorldTargetAction + useDelay: 15 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: void_phase + event: !type:HereticVoidBlinkEvent + checkCanAccess: false + range: 0 + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-void-phase + +- type: entity + id: ActionHereticVoidPull + name: Void Pull + description: Pull and damage nearby heathens. + categories: [ HideSpawnMenu ] + components: + - type: InstantAction + useDelay: 20 + itemIconStyle: NoItem + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: void_pull + event: !type:HereticVoidPullEvent + checkCanInteract: false + - type: HereticAction + requireMagicItem: true + messageLoc: heretic-speech-void-pull + diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_ash.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_ash.yml new file mode 100644 index 00000000000..48be74a48f5 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_ash.yml @@ -0,0 +1,163 @@ +- type: listing + id: HereticAshPath1 + name: knowledge-path-ash-s1-name + description: knowledge-path-ash-s1-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_ash.rsi, state: icon } + productHereticKnowledge: NightwatcherSecret + cost: + KnowledgePoint: 1 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 + # add every path here because you shouldn't be able to buy more starter knowledge + blacklist: + - Ash + - Blade + - Flesh + - Lock + - Void + +- type: listing + id: HereticAshPath2 + name: knowledge-path-ash-s2-name + description: knowledge-path-ash-s2-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: GraspOfAsh + cost: + KnowledgePoint: 1 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 1 + whitelist: + - Ash + +# side +- type: listing + id: HereticAshPath3 + name: knowledge-path-ash-s3-name + description: knowledge-path-ash-s3-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: ashen_shift } + productHereticKnowledge: AshenShift + cost: + KnowledgePoint: 2 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticAshPath4 + name: knowledge-path-ash-s4-name + description: knowledge-path-ash-s4-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: MarkOfAsh + cost: + KnowledgePoint: 1 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 3 + whitelist: + - Ash + +- type: listing + id: HereticAshPath5 + name: knowledge-path-ash-s5-name + description: knowledge-path-ash-s5-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: volcano_blast } + productHereticKnowledge: VolcanicBlast + cost: + KnowledgePoint: 1 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 4 + whitelist: + - Ash + +# side +- type: listing + id: HereticAshPath6 + name: knowledge-path-ash-s6-name + description: knowledge-path-ash-s6-desc + icon: { sprite: _Goobstation/Heretic/mad_mask.rsi, state: icon } + productHereticKnowledge: MaskOfMadness + cost: + KnowledgePoint: 2 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 5 + +- type: listing + id: HereticAshPath7 + name: knowledge-path-ash-s7-name + description: knowledge-path-ash-s7-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_ash.rsi, state: icon } + productHereticKnowledge: FieryBlade + cost: + KnowledgePoint: 1 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 6 + whitelist: + - Ash + +# side +- type: listing + id: HereticAshPath8 + name: knowledge-path-ash-s8-name + description: knowledge-path-ash-s8-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: nightwatcher_rebirth } + productHereticKnowledge: NightwatcherRebirth + cost: + KnowledgePoint: 2 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 7 + +- type: listing + id: HereticAshPath9 + name: knowledge-path-ash-s9-name + description: knowledge-path-ash-s9-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: ashlord_rite1 } + productHereticKnowledge: AscensionAsh + cost: + KnowledgePoint: 2 + categories: + - HereticPathAsh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 8 + whitelist: + - Ash diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_blade.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_blade.yml new file mode 100644 index 00000000000..1cb2b6b58f1 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_blade.yml @@ -0,0 +1,163 @@ +- type: listing + id: KnowledgePathStartBlade + name: knowledge-path-blade-s1-name + description: knowledge-path-blade-s1-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_blade.rsi, state: icon } + productHereticKnowledge: CuttingEdge + cost: + KnowledgePoint: 1 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 + # add every path here because you shouldn't be able to buy more starter knowledge + blacklist: + - Ash + - Blade + - Flesh + - Lock + - Void + +- type: listing + id: HereticBladePath2 + name: knowledge-path-blade-s2-name + description: knowledge-path-blade-s2-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: GraspOfBlade + cost: + KnowledgePoint: 1 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 1 + whitelist: + - Blade + +# side +- type: listing + id: HereticBladePath3 + name: knowledge-path-blade-s3-name + description: knowledge-path-blade-s3-desc + icon: { sprite: _Goobstation/Heretic/book.rsi, state: icon-on } + productHereticKnowledge: DanceOfTheBrand + cost: + KnowledgePoint: 2 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticBladePath4 + name: knowledge-path-blade-s4-name + description: knowledge-path-blade-s4-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: MarkOfBlade + cost: + KnowledgePoint: 1 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 3 + whitelist: + - Blade + +- type: listing + id: HereticBladePath5 + name: knowledge-path-blade-s5-name + description: knowledge-path-blade-s5-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: realignment } + productHereticKnowledge: Realignment + cost: + KnowledgePoint: 1 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 4 + whitelist: + - Blade + +# side +- type: listing + id: HereticBladePath6 + name: knowledge-path-blade-s6-name + description: knowledge-path-blade-s6-desc + icon: { sprite: _Goobstation/Heretic/book.rsi, state: icon-on } + productHereticKnowledge: TornChampionStance + cost: + KnowledgePoint: 2 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 5 + +- type: listing + id: HereticBladePath7 + name: knowledge-path-blade-s7-name + description: knowledge-path-blade-s7-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: EmpoweredBlades + cost: + KnowledgePoint: 1 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 6 + whitelist: + - Blade + +# side +- type: listing + id: HereticBladePath8 + name: knowledge-path-blade-s8-name + description: knowledge-path-blade-s8-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: furious_steel } + productHereticKnowledge: FuriousSteel + cost: + KnowledgePoint: 2 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 7 + +- type: listing + id: HereticBladePath9 + name: knowledge-path-blade-s9-name + description: knowledge-path-blade-s9-desc + icon: { sprite: _Goobstation/Heretic/items.rsi, state: protective_blade } + productHereticKnowledge: AscensionBlade + cost: + KnowledgePoint: 3 + categories: + - HereticPathBlade + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 8 + whitelist: + - Blade diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_flesh.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_flesh.yml new file mode 100644 index 00000000000..d59765e8cb6 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_flesh.yml @@ -0,0 +1,163 @@ +- type: listing + id: KnowledgePathStartFlesh + name: knowledge-path-flesh-s1-name + description: knowledge-path-flesh-s1-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_flesh.rsi, state: icon } + productHereticKnowledge: PrincipleOfHunger + cost: + KnowledgePoint: 1 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 + # add every path here because you shouldn't be able to buy more starter knowledge + blacklist: + - Ash + - Blade + - Flesh + - Lock + - Void + +- type: listing + id: HereticFleshPath2 + name: knowledge-path-flesh-s2-name + description: knowledge-path-flesh-s2-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: GraspOfFlesh + cost: + KnowledgePoint: 1 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 1 + whitelist: + - Flesh + +# side +- type: listing + id: HereticFleshPath3 + name: knowledge-path-flesh-s3-name + description: knowledge-path-flesh-s3-desc + icon: { sprite: Objects/Specific/Hydroponics/poppy.rsi, state: dead } + productHereticKnowledge: ImperfectRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticFleshPath4 + name: knowledge-path-flesh-s4-name + description: knowledge-path-flesh-s4-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: MarkOfFlesh + cost: + KnowledgePoint: 1 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 3 + whitelist: + - Flesh + +- type: listing + id: HereticFleshPath5 + name: knowledge-path-flesh-s5-name + description: knowledge-path-flesh-s5-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: flesh_surgery } + productHereticKnowledge: KnittingOfFlesh + cost: + KnowledgePoint: 1 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 4 + whitelist: + - Flesh + +# side +- type: listing + id: HereticFleshPath6 + name: knowledge-path-flesh-s6-name + description: knowledge-path-flesh-s6-desc + icon: { sprite: _Goobstation/Heretic/eldritch_mobs.rsi, state: raw_prophet } + productHereticKnowledge: RawRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 5 + +- type: listing + id: HereticFleshPath7 + name: knowledge-path-flesh-s7-name + description: knowledge-path-flesh-s7-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_flesh.rsi, state: icon } + productHereticKnowledge: BleedingSteel + cost: + KnowledgePoint: 1 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 6 + whitelist: + - Flesh + +# side +- type: listing + id: HereticFleshPath8 + name: knowledge-path-flesh-s8-name + description: knowledge-path-flesh-s8-desc + icon: { sprite: _Goobstation/Heretic/eldritch_mobs.rsi, state: stalker } + productHereticKnowledge: LonelyRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 7 + +- type: listing + id: HereticFleshPath9 + name: knowledge-path-flesh-s9-name + description: knowledge-path-flesh-s9-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: final_hymn } + productHereticKnowledge: AscensionFlesh + cost: + KnowledgePoint: 2 + categories: + - HereticPathFlesh + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 8 + whitelist: + - Flesh diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_lock.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_lock.yml new file mode 100644 index 00000000000..b0224f148f1 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_lock.yml @@ -0,0 +1,22 @@ +- type: listing + id: KnowledgePathStartLock + name: knowledge-path-lock-s1-name + description: knowledge-path-lock-s1-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_lock.rsi, state: icon } + #productHereticKnowledge: + cost: + KnowledgePoint: 1 + categories: + - HereticPathLock + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 + # add every path here because you shouldn't be able to buy more starter knowledge + blacklist: + - Ash + - Blade + - Flesh + - Lock + - Void diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_side.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_side.yml new file mode 100644 index 00000000000..66f581866fc --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_side.yml @@ -0,0 +1,63 @@ +# store catalog +- type: listing + id: HereticSidePath3Armor + name: knowledge-path-side-s3-armor-name + description: knowledge-path-side-s3-armor-desc + icon: { sprite: _Goobstation/Heretic/eldritch_hood.rsi, state: icon } + productHereticKnowledge: ArmorerRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathSide + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticSidePath3Flask + name: knowledge-path-side-s3-flask-name + description: knowledge-path-side-s3-flask-desc + icon: { sprite: _Goobstation/Heretic/items.rsi, state: eldritch_flask } + productHereticKnowledge: PriestRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathSide + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticSidePath3AshenEyes + name: knowledge-path-side-s3-ashen-eyes-name + description: knowledge-path-side-s3-ashen-eyes-desc + icon: { sprite: _Goobstation/Heretic/eldritch_medalion.rsi, state: icon } + productHereticKnowledge: AshenEyesRitual + cost: + KnowledgePoint: 2 + categories: + - HereticPathSide + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticSidePathKnowledge + name: knowledge-path-side-knowledge-name + description: knowledge-path-side-knowledge-desc + productHereticKnowledge: RitualOfKnowledge + cost: + KnowledgePoint: 2 + categories: + - HereticPathSide + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 diff --git a/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_void.yml b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_void.yml new file mode 100644 index 00000000000..c1fdf4c12c3 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Catalog/Heretic/path_void.yml @@ -0,0 +1,160 @@ +- type: listing + id: HereticVoidPath1 + name: knowledge-path-void-s1-name + description: knowledge-path-void-s1-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_void.rsi, state: icon } + productHereticKnowledge: GlimmerOfWinter + cost: + KnowledgePoint: 1 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 0 + # add every path here because you shouldn't be able to buy more starter knowledge + blacklist: + - Ash + - Blade + - Flesh + - Lock + - Void + +- type: listing + id: HereticVoidPath2 + name: knowledge-path-void-s2-name + description: knowledge-path-void-s2-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: GraspOfVoid + cost: + KnowledgePoint: 1 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 1 + whitelist: + - Void + +- type: listing + id: HereticVoidPath3 + name: knowledge-path-void-s3-name + description: knowledge-path-void-s3-desc + icon: { sprite: Interface/Alerts/temperature.rsi, state: cold1 } + productHereticKnowledge: AristocratWay + cost: + KnowledgePoint: 2 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 2 + +- type: listing + id: HereticVoidPath4 + name: knowledge-path-void-s4-name + description: knowledge-path-void-s4-desc + icon: { sprite: _Goobstation/Heretic/mansus_grasp.rsi, state: icon } + productHereticKnowledge: MarkOfVoid + cost: + KnowledgePoint: 1 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 3 + whitelist: + - Void + +- type: listing + id: HereticVoidPath5 + name: knowledge-path-void-s5-name + description: knowledge-path-void-s5-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: void_blast } + productHereticKnowledge: VoidBlast + cost: + KnowledgePoint: 1 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 4 + whitelist: + - Void + +- type: listing + id: HereticVoidPath6 + name: knowledge-path-void-s6-name + description: knowledge-path-void-s6-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: void_phase } + productHereticKnowledge: VoidPhase + cost: + KnowledgePoint: 2 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 5 + +- type: listing + id: HereticVoidPath7 + name: knowledge-path-void-s7-name + description: knowledge-path-void-s7-desc + icon: { sprite: _Goobstation/Heretic/Blades/blade_void.rsi, state: icon } + productHereticKnowledge: SeekingBlade + cost: + KnowledgePoint: 1 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 6 + whitelist: + - Void + +- type: listing + id: HereticVoidPath8 + name: knowledge-path-void-s8-name + description: knowledge-path-void-s8-desc + icon: { sprite: _Goobstation/Heretic/abilities_heretic.rsi, state: void_pull } + productHereticKnowledge: VoidPull + cost: + KnowledgePoint: 2 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 7 + +- type: listing + id: HereticVoidPath9 + name: knowledge-path-void-s9-name + description: knowledge-path-void-s9-desc + icon: { sprite: Interface/Alerts/temperature.rsi, state: cold3 } + productHereticKnowledge: AscensionVoid + cost: + KnowledgePoint: 2 + categories: + - HereticPathVoid + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + - !type:HereticPathCondition + stage: 8 + whitelist: + - Void diff --git a/Resources/Prototypes/_Goobstation/Heretic/Datasets/tags.yml b/Resources/Prototypes/_Goobstation/Heretic/Datasets/tags.yml new file mode 100644 index 00000000000..ed4cc7d7fbd --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Datasets/tags.yml @@ -0,0 +1,124 @@ +- type: dataset + id: EligibleTags + values: + - BreathMask + - ClownEmergencyOxygenTank + - EmergencyMedipen + - EmergencyNitrogenTank + - EmergencyOxygenTank + - ExtendedEmergencyOxygenTank + - MedicalPatch + - SecurityBreathMask + - SpaceMedipen + - AirAlarm + - AirAlarmElectronics + - Airlock + - AirSensor + - Ambrosia + - AppraisalTool + - Arrow + - ArtifactFragment + - Banana + - BananaPeel + - BaseballBat + - BBQsauce + - Bedsheet + - Beer + - BikeHorn + - Bloodpack + - BodyBag + - Book + - BorgArm + - BorgHead + - BorgLeg + - BotanyHatchet + - BotanyHoe + - BotanyShovel + - Bottle + - Brain + - Bread + - Briefcase + - BrimFlatcapBrown + - BrimFlatcapGrey + - Brutepack + - Bucket + - CableCoil + - Candle + - Cake + - CaptainSabre + - Carpet + - Carrot + - Chicken + - Cigarette + - CigFilter + - CigPack + - Cleaver + - ClownMask + - ClownRecorder + - ClownShoes + - ClownSuit + - CombatKnife + - ConveyorAssembly + - Cow + - Crayon + - Crowbar + - DoorElectronics + - Egg + - Eyes + - Figurine + - FireAlarm + - FireAlarmElectronics + - Flare + - Flashlight + - Flower + - Folder + - Fruit + - Galaxythistle + - GasMask + - GasScrubber + - GasTank + - GasVent + - Gauze + - GeigerCounter + - GlassAirlock + - GlassBeaker + - GlassShard + - Goat + - GPS + - HudMedical + - HudSecurity + - Hamster + - Hardsuit + - Heart + - HelmetEVA + - Igniter + - Liver + - Lungs + - Mask + - Mayo + - Meat + - Medal + - Medkit + - MicrowaveMachineBoard + - MonkeyCube + - Mop + - Mouse + - Multitool + - Ointment + - Organ + - Paper + - Pen + - Pickaxe + - Pill + - PillCanister + - Pipe + - PowerCell + - Shiv + - Soap + - Stomach + - Steak + - Sunglasses + - SurgeryTool + - Trash + - Wirecutter + - Wrench diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Head/hoods.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Head/hoods.yml new file mode 100644 index 00000000000..7190af8a402 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Head/hoods.yml @@ -0,0 +1,18 @@ +- type: entity + parent: [ ClothingHeadBase, BaseMagicContraband ] + id: ClothingHeadHatHoodHeretic + name: ominous hood + description: A torn, dust-caked hood. Strange eyes line the inside. + components: + - type: HereticMagicItem + - type: Sprite + sprite: _Goobstation/Heretic/eldritch_hood.rsi + state: icon + - type: Clothing + sprite: _Goobstation/Heretic/eldritch_hood.rsi + - type: Tag + tags: + - WhitelistChameleon + - type: HideLayerClothing + slots: + - Hair diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Mask/masks.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Mask/masks.yml new file mode 100644 index 00000000000..ed167a7b918 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Mask/masks.yml @@ -0,0 +1,23 @@ +- type: entity + parent: [ ClothingMaskBase, BaseMagicContraband ] + id: ClothingMaskMadHeretic + name: abyssal mask + description: A mask created from suffering. When you look into its eyes, it looks back. + components: + # what heretic would remove the mask that will shit on everyone around him? + # also forcing the mask on heathens will be funny. + - type: SelfUnremovableClothing + - type: MadnessMask + - type: Sprite + sprite: _Goobstation/Heretic/mad_mask.rsi + - type: Clothing + sprite: _Goobstation/Heretic/mad_mask.rsi + - type: BreathMask + - type: IdentityBlocker + - type: Tag + tags: + - Mask + - WhitelistChameleon + - type: HideLayerClothing + slots: + - Snout diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Neck/specific.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Neck/specific.yml new file mode 100644 index 00000000000..c2bd6129984 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/Neck/specific.yml @@ -0,0 +1,32 @@ +- type: entity + parent: [ ClothingNeckBase, BaseMagicContraband ] + id: ClothingNeckAmberFocus + name: amber focus + description: An amber focusing glass that provides a link to the world beyond. The necklace seems to twitch, but only when you look at it from the corner of your eye. + suffix: MagicItem + components: + - type: HereticMagicItem + - type: HereticClothing + - type: Sprite + sprite: _Goobstation/Heretic/amber_focus.rsi + state: icon + - type: Clothing + sprite: _Goobstation/Heretic/amber_focus.rsi + +- type: entity + parent: ClothingNeckAmberFocus + id: ClothingEldritchMedalion + name: warm eldritch medallion + description: A strange medallion. Peering through the crystalline surface, the world around you melts away. You see your own beating heart, and the pulsing of a thousand others. + components: + - type: Sprite + sprite: _Goobstation/Heretic/eldritch_medalion.rsi + state: icon + - type: Clothing + sprite: _Goobstation/Heretic/eldritch_medalion.rsi + - type: ThermalVision + isActive: true + color: white + drawOverlay: false + lightRadius: 0 + toggleAction: null diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/OuterClothing/armor.yml new file mode 100644 index 00000000000..087730bf3a1 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Clothing/OuterClothing/armor.yml @@ -0,0 +1,25 @@ +- type: entity + parent: [ ClothingOuterBaseMedium, ClothingOuterStorageToggleableBase, BaseMagicContraband ] + id: ClothingOuterArmorHeretic + name: ominous armor + description: A ragged, dusty set of robes. Strange eyes line the inside. + components: + - type: HereticClothing + - type: Sprite + sprite: _Goobstation/Heretic/eldritch_armor.rsi + state: icon + - type: Clothing + sprite: _Goobstation/Heretic/eldritch_armor.rsi + - type: Armor + modifiers: + coefficients: + Blunt: 0.50 + Slash: 0.50 + Piercing: 0.50 + Heat: 0.50 + Caustic: 0.50 + - type: ExplosionResistance + damageCoefficient: 0.25 + - type: ToggleableClothing # Goobstation - Modsuits change + clothingPrototypes: + head: ClothingHeadHatHoodHeretic diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/eldritch_mobs.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/eldritch_mobs.yml new file mode 100644 index 00000000000..169cc14305e --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/eldritch_mobs.yml @@ -0,0 +1,132 @@ +- type: entity + parent: [ SimpleMobBase, MobCombat ] + id: BaseMobGhoul + abstract: true + components: + - type: Ghoul + - type: MovementSpeedModifier + baseWalkSpeed: 2.00 + baseSprintSpeed: 3.00 + - type: InputMover + - type: MobMover + - type: Reactive + groups: + Flammable: [Touch] + Extinguish: [Touch] + - type: NpcFactionMember + factions: + - Heretic + - type: Physics + bodyType: KinematicController + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 250 + mask: + - MobMask + layer: + - MobLayer + - type: MobState + - type: MobThresholds + thresholds: + 0: Alive + 90: Critical + 100: Dead + - type: MeleeWeapon + altDisarm: false + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh1.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 12 + Piercing: 8 + - type: NoSlip + - type: Grammar + attributes: + gender: male + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghostrole-ghoul-name + description: ghostrole-ghoul-desc + rules: ghostrole-ghoul-rules + raffle: + settings: short + - type: ActiveRadio + channels: + - Mansus + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - Mansus + + +- type: entity + parent: BaseMobGhoul + id: MobGhoulStalker + name: flesh stalker + description: An abomination cobbled together from varied remains. Its appearance changes slightly every time you blink. + components: + - type: Ghoul + totalHealth: 150 + - type: Sprite + sprite: _Goobstation/Heretic/eldritch_mobs.rsi + state: stalker + - type: GhostRole + name: ghostrole-stalker-name + description: ghostrole-stalker-desc + - type: ActionsProvider + actions: + - ActionHereticJaunt + # basically an EMP implant. don't feel like making 1 more emp action + - ActionActivateEmpImplant + - type: TriggerImplantAction + - type: EmpOnTrigger + range: 5 + energyConsumption: 50000 + disableDuration: 20 + +- type: entity + parent: BaseMobGhoul + id: MobGhoulProphet + name: raw prophet + description: An abomination stitched together from a few severed arms and one swollen, orphaned eye. + components: + - type: Ghoul + totalHealth: 75 + - type: Sprite + noRot: true + sprite: _Goobstation/Heretic/eldritch_mobs.rsi + layers: + - map: [ "movement" ] + state: raw_prophet + - type: SpriteMovement + movementLayers: + movement: + state: raw_prophet-move + noMovementLayers: + movement: + state: raw_prophet + - type: GhostRole + name: ghostrole-prophet-name + description: ghostrole-prophet-desc + - type: ActionsProvider + actions: + - ActionHereticJaunt + - ActionHereticMansusLink + +- type: entity + parent: BaseMobGhoul + id: MobGhoulRustWalker + name: rust walker + description: A grinding, clanking construct which leaches life from its surroundings with every armoured step. + suffix: DO NOT MAP + components: + - type: Ghoul + totalHealth: 100 \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/polymorph.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/polymorph.yml new file mode 100644 index 00000000000..9d6b5591dc0 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Mobs/NPC/polymorph.yml @@ -0,0 +1,185 @@ +- type: entity + id: PolymorphAshJauntAnimation + name: Unknown + description: You can't figure out what that is. + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _Goobstation/Heretic/polymorphs.rsi + state: ash_jaunt + loop: false + - type: TimedDespawn + lifetime: 1 + +- type: entity + id: PolymorphAshJauntEndAnimation + name: Unknown + description: You can't figure out what that is. + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _Goobstation/Heretic/polymorphs.rsi + state: ash_jaunt_end + loop: false + - type: TimedDespawn + lifetime: 1 + +- type: entity + id: PolymorphAshJaunt + name: Unknown + description: You can't figure out what that is. + categories: [ HideSpawnMenu ] + components: + - type: MindContainer + - type: InputMover + - type: MobMover + - type: Input + context: "ghost" + - type: MovementSpeedModifier + baseWalkSpeed: 3 + baseSprintSpeed: 3 + - type: Physics + bodyType: KinematicController + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 80 + mask: + - GhostImpassable + - type: MovementIgnoreGravity + - type: Actions + - type: NoSlip + - type: Eye + drawFov: false + visMask: + - Normal + - Ghost + - type: ContentEye + maxZoom: 1.2, 1.2 + - type: DoAfter + - type: Alerts + +# heretic ascend flesh form +- type: entity + parent: [ SimpleSpaceMobBase, FlyingMobBase ] + id: MobHereticFleshAscend + name: eldritch horror + description: An incomprehensible mess of limbs and eyes. You can feel it's stare into your soul. + suffix: DO NOT MAP + components: + - type: Bloodstream + bloodMaxVolume: 1984 + - type: NpcFactionMember + factions: + - Heretic + - type: CombatMode + - type: MovementSpeedModifier + baseWalkSpeed: 5 + baseSprintSpeed: 7.5 + weightlessModifier: 1.5 + - type: Sprite + drawdepth: Mobs + sprite: _Goobstation/Heretic/eldritch_horror.rsi + noRot: true + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - type: DamageStateVisuals + states: + Alive: + Base: alive + Dead: + Base: dead + - type: Clickable + - type: InteractionOutline + - type: Physics + bodyType: KinematicController + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 1500: Dead + - type: Damageable + damageContainer: Biological + - type: StatusEffects + allowed: + - SlowedDown + - RadiationProtection + - type: MeleeWeapon + hidden: false + altDisarm: false + autoAttack: true + attackRate: 2.5 + damage: + types: + Blunt: 20 + Structural: 60 + soundHit: + collection: Punch + animation: WeaponArcFist + - type: Devourer + foodPreference: Humanoid + shouldStoreDevoured: true + chemical: Ichor + healRate: 50.0 + whitelist: + components: + - MobState + - Door + tags: + - Wall + - type: Metabolizer + solutionOnBody: false + updateInterval: 0.25 + metabolizerTypes: [ Dragon ] + groups: + - id: Medicine + - id: Poison + - type: Butcherable + spawned: + - id: RandomAnomalySpawner + amount: 3 # 3 anoms on heretic butcher holy shit eh + - type: Tag + tags: + - CannotSuicide + - DoorBumpOpener + - type: ActiveRadio + channels: + - Mansus + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - Mansus + - type: Examiner + - type: Pullable + - type: Reflect + reflectProb: 0.7 + reflects: + - Energy + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepThud + - type: Flammable + damage: + types: {} + - type: Puller + needsHands: false \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Specific/heretic.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Specific/heretic.yml new file mode 100644 index 00000000000..83918244f5d --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Specific/heretic.yml @@ -0,0 +1,102 @@ +- type: entity + parent: [ BaseItem, BaseMagicContraband ] + id: CodexCicatrix + name: codex cicatrix + description: An ominous book you've never seen before. The letters seem to be contantly rearranging themselves. + components: + - type: Sprite + sprite: _Goobstation/Heretic/book.rsi + layers: + - state: icon + map: [ "base" ] + - type: GenericVisualizer + visuals: + enum.ToggleVisuals.Toggled: + base: + True: { state: icon-on } + False: { state: icon } + - type: Item + size: Small + sprite: _Goobstation/Heretic/book.rsi + - type: UseDelay + delay: 1.0 + - type: PointLight + enabled: false + radius: 2 + energy: 1 + color: "#6e7500" + netsync: false + - type: Appearance + - type: ItemToggle + predictable: false + - type: ComponentToggler + components: + - type: HereticMagicItem + - type: ItemTogglePointLight + - type: ToggleableLightVisuals + - type: ItemToggleSize + activatedSize: Normal + +- type: entity + parent: [ DrinkBase, BaseMagicContraband ] + id: HereticEldritchFlask + name: eldritch flask + description: A flask filled with an unknown substance. Who knows what will happen when you take a sip from it. + components: + - type: Sprite + sprite: _Goobstation/Heretic/items.rsi + state: eldritch_flask + - type: Icon + sprite: _Goobstation/Heretic/items.rsi + state: eldritch_flask + - type: SolutionContainerManager + solutions: + drink: + # it's a cryostasis flash filled with healing goodies what could possibly go wrong? + # i will certainly not abuse it as a heretic chemist + maxVol: 30 + canReact: false + reagents: + - ReagentId: Ichor + Quantity: 30 + +- type: entity + id: HereticProtectiveBlade + name: eldritch blade + description: Maelstrom of razors flashing right before your eyes. Why are you stopping to look at it!? + categories: [ HideSpawnMenu ] + components: + - type: Sprite + noRot: true + sprite: _Goobstation/Heretic/items.rsi + state: protective_blade + - type: Clickable + - type: InteractionOutline + - type: ProtectiveBlade + lifetime: 60 + - type: Physics + bodyType: Dynamic + fixedRotation: false + angularDamping: 0 + linearDamping: 0 + canCollide: False + +- type: entity + parent: BaseBullet + categories: [ HideSpawnMenu ] + id: HereticProtectiveBladeProjectile + name: eldritch blade + description: Maelstrom of razors flashing right before your eyes. Why are you stopping to look at it!? + components: + - type: Sprite + sprite: _Goobstation/Heretic/items.rsi + state: protective_blade + - type: Projectile + impactEffect: BulletImpactEffectKinetic + damage: + types: + Slash: 15 + Piercing: 15 + Structural: 100 + soundHit: + path: /Audio/Weapons/Guns/Hits/bullet_hit.ogg diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml new file mode 100644 index 00000000000..0bd118ac8d7 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -0,0 +1,28 @@ +- type: entity + parent: BaseBulletTrigger + id: FireballChain + name: twisted fireball + description: Uh oh. + categories: [ HideSpawnMenu ] + components: + - type: ChainFireball + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/magic.rsi + layers: + - state: fireball + shader: unshaded + - type: IgnitionSource + temperature: 1000 + ignited: true + - type: IgniteOnCollide + fireStacks: 0.5 + - type: PointLight + color: "#E25822" + radius: 2.0 + energy: 5.0 + - type: Projectile + damage: + types: + Heat: 5 + - type: TimedDespawn + lifetime: 1 diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Melee/heretic_blades.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Melee/heretic_blades.yml new file mode 100644 index 00000000000..d0687a1b242 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Melee/heretic_blades.yml @@ -0,0 +1,123 @@ +- type: entity + parent: [ BaseItem, BaseMagicContraband ] + id: HereticBladeBase + name: eldritch blade + description: The sickly blade used by sinister individuals for rituals and sacrifices. + components: + - type: HereticBlade + - type: Sharp + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_blade.rsi + state: icon + - type: MeleeWeapon + wideAnimationRotation: -125 + attackRate: 1 + damage: + types: + Slash: 17.5 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Item + size: Normal + sprite: _Goobstation/Heretic/Blades/blade_blade-inhand.rsi + - type: ItemToggle + - type: RandomTeleport + - type: Scalpel # Shitmed + speed: 0.75 + +- type: entity + parent: HereticBladeBase + id: HereticBladeAsh + name: ashen blade + suffix: Ash + components: + - type: HereticBlade + path: Ash + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_ash.rsi + state: icon + - type: Item + sprite: _Goobstation/Heretic/Blades/blade_ash-inhand.rsi + - type: MeleeWeapon + wideAnimationRotation: -125 + attackRate: 1 + damage: + types: + Heat: 10 + Slash: 7.5 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + +- type: entity + parent: HereticBladeBase + id: HereticBladeBlade + name: sundered blade + suffix: Blade + components: + - type: HereticBlade + path: Blade + +- type: entity + parent: HereticBladeBase + id: HereticBladeFlesh + name: bloody blade + suffix: Flesh + components: + - type: HereticBlade + path: Flesh + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_flesh.rsi + state: icon + - type: Item + sprite: _Goobstation/Heretic/Blades/blade_flesh-inhand.rsi + +- type: entity + parent: HereticBladeBase + id: HereticBladeLock + name: key blade + suffix: Lock + components: + - type: HereticBlade + path: Lock + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_lock.rsi + state: icon + - type: Item + sprite: _Goobstation/Heretic/Blades/blade_lock-inhand.rsi + +- type: entity + parent: HereticBladeBase + id: HereticBladeRust + name: rusty blade + suffix: Rust + components: + - type: HereticBlade + path: Rust + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_rust.rsi + state: icon + - type: Item + sprite: _Goobstation/Heretic/Blades/blade_rust-inhand.rsi + +- type: entity + parent: HereticBladeBase + id: HereticBladeVoid + name: void blade + suffix: Void + components: + - type: HereticBlade + path: Void + - type: Sprite + sprite: _Goobstation/Heretic/Blades/blade_void.rsi + state: icon + - type: Item + sprite: _Goobstation/Heretic/Blades/blade_void-inhand.rsi + - type: MeleeWeapon + wideAnimationRotation: -125 + attackRate: 1 + damage: + types: + Cold: 10 + Slash: 7.5 + soundHit: + path: /Audio/Weapons/bladeslice.ogg diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Touchspell/mansus_grasp.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Touchspell/mansus_grasp.yml new file mode 100644 index 00000000000..a93f3f91c7b --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/Weapons/Touchspell/mansus_grasp.yml @@ -0,0 +1,19 @@ +- type: entity + id: TouchSpellMansus + name: mansus grasp + description: The power of the Old Gods, channeled through your grip. + categories: [ HideSpawnMenu ] + components: + - type: Unremoveable + - type: Item + - type: MansusGrasp + - type: Sprite + sprite: _Goobstation/Heretic/mansus_grasp.rsi + state: icon + - type: Appearance + - type: UseDelay + - type: PointLight + enabled: true + radius: 2 + energy: 1 + color: "#329a00" diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/magic_contraband.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/magic_contraband.yml new file mode 100644 index 00000000000..fb6c1ccb07d --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Objects/magic_contraband.yml @@ -0,0 +1,11 @@ +- type: entity + id: BaseMagicContraband + abstract: true + components: + - type: Contraband + severity: Magic + allowedDepartments: null + +- type: contrabandSeverity + id: Magic + examineText: contraband-examine-text-magic \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/eldritch_influence.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/eldritch_influence.yml new file mode 100644 index 00000000000..1aa54a248fa --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/eldritch_influence.yml @@ -0,0 +1,37 @@ +- type: entity + id: EldritchInfluence + name: reality shift + description: Your eyes start to burn just from a single look. Should you delve deeper? + placement: + mode: SnapgridCenter + components: + - type: InteractionOutline + - type: EldritchInfluence + - type: Sprite + sprite: _Goobstation/Heretic/reality_fracture.rsi + state: icon + - type: Clickable + - type: Visibility + layer: 69 + +- type: entity + id: EldritchInfluenceIntermediate + categories: [ HideSpawnMenu ] + components: + - type: TimedDespawn + lifetime: 30 + - type: SpawnOnDespawn + prototype: EldritchInfluenceSpent + +- type: entity + id: EldritchInfluenceSpent + name: reality fracture + description: A reality fracture. Something keeps leaking out of it, should you really be near this thing? + placement: + mode: SnapgridCenter + components: + - type: InteractionOutline + - type: Sprite + sprite: _Goobstation/Heretic/reality_fracture.rsi + state: icon_harvested + - type: Clickable diff --git a/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/ritual_rune.yml b/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/ritual_rune.yml new file mode 100644 index 00000000000..095e16c680c --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Entities/Structures/Specific/Heretic/ritual_rune.yml @@ -0,0 +1,45 @@ +- type: entity + id: HereticRuneRitual + name: transmutation rune + description: An ancient drawing used by sinister individuals for sacrifices. + placement: + mode: SnapgridCenter + components: + - type: HereticRitualRune + - type: Sprite + drawdepth: WallMountedItems + sprite: _Goobstation/Heretic/ritual_rune.rsi + state: icon + - type: Clickable + - type: UserInterface + interfaces: + enum.HereticRitualRuneUiKey.Key: + type: HereticRitualRuneBoundUserInterface + +- type: entity + id: HereticRuneRitualDrawAnimation + name: unfinished transmutation rune + description: An unfinished ancient drawing used by sinister individuals for sacrifices. + categories: [ HideSpawnMenu ] + placement: + mode: SnapgridCenter + components: + - type: Sprite + drawdepth: WallMountedItems + sprite: _Goobstation/Heretic/ritual_rune.rsi + state: icon_drawanim + +- type: entity + id: HereticRuneRitualAnimation + name: transmutation rune + description: you shouldn't be seeing this description + placement: + mode: SnapgridCenter + categories: [ HideSpawnMenu ] + components: + - type: TimedDespawn + lifetime: 1 + - type: Sprite + drawdepth: WallMountedItems + sprite: _Goobstation/Heretic/ritual_rune.rsi + state: icon_ritualanim diff --git a/Resources/Prototypes/_Goobstation/Heretic/GameRules/roundstart.yml b/Resources/Prototypes/_Goobstation/Heretic/GameRules/roundstart.yml new file mode 100644 index 00000000000..3d29d5b111c --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/GameRules/roundstart.yml @@ -0,0 +1,25 @@ +- type: entity + parent: BaseGameRule + id: Heretic + components: + - type: HereticRule + - type: GameRule + minPlayers: 15 + delay: + min: 30 + max: 60 + - type: AntagSelection + agentName: heretic-roundend-name + definitions: + - prefRoles: [ Heretic ] + max: 5 # Sub-Gamemode. + playerRatio: 15 + blacklist: + components: + - AntagImmune + - Traitor + - Thief + lateJoinAdditional: true + mindComponents: + - type: HereticRole + prototype: Heretic \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Heretic/Guidebook/antagonist.yml b/Resources/Prototypes/_Goobstation/Heretic/Guidebook/antagonist.yml new file mode 100644 index 00000000000..69b15240979 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Guidebook/antagonist.yml @@ -0,0 +1,4 @@ +- type: guideEntry + id: Heretics + name: guide-entry-heretics + text: "/ServerInfo/_Goobstation/Guidebook/Antagonist/Heretics.xml" diff --git a/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_knowledge.yml b/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_knowledge.yml new file mode 100644 index 00000000000..e943e4601af --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_knowledge.yml @@ -0,0 +1,325 @@ +### basic knowledge +- type: hereticKnowledge + id: BreakOfDawn + actionPrototypes: + - ActionHereticOpenStore + - ActionHereticMansusGrasp + +- type: hereticKnowledge + id: HeartbeatOfMansus + ritualPrototypes: + - Sacrifice + +- type: hereticKnowledge + id: AmberFocus + ritualPrototypes: + - AmberFocus + +- type: hereticKnowledge + id: CodexCicatrix + ritualPrototypes: + - CodexCicatrix + +- type: hereticKnowledge + id: LivingHeart + ritualPrototypes: + - LivingHeart + actionPrototypes: + - ActionHereticLivingHeart + +### ash path +- type: hereticKnowledge + id: NightwatcherSecret + path: Ash + stage: 1 + ritualPrototypes: + - BladeAsh + +- type: hereticKnowledge + id: GraspOfAsh + path: Ash + stage: 2 + +- type: hereticKnowledge + id: AshenShift + path: Ash + sideKnowledge: true + stage: 3 + actionPrototypes: + - ActionHereticJaunt + +- type: hereticKnowledge + id: MarkOfAsh + path: Ash + stage: 4 + +- type: hereticKnowledge + id: VolcanicBlast + path: Ash + stage: 5 + actionPrototypes: + - ActionHereticVolcanoBlast + +- type: hereticKnowledge + id: MaskOfMadness + path: Ash + sideKnowledge: true + stage: 6 + ritualPrototypes: + - MaskOfMadness + +- type: hereticKnowledge + id: FieryBlade + path: Ash + stage: 7 + +- type: hereticKnowledge + id: NightwatcherRebirth + path: Ash + sideKnowledge: true + stage: 8 + actionPrototypes: + - ActionHereticNightwatcherRebirth + +- type: hereticKnowledge + id: AscensionAsh + path: Ash + stage: 9 + ritualPrototypes: + - AscensionAsh + +- type: hereticKnowledge + id: AshlordRite + path: Ash + stage: 10 + actionPrototypes: + - ActionHereticAscension1 + - ActionHereticAscension2 + event: !type:HereticAscensionAshEvent + +### blade path +- type: hereticKnowledge + id: CuttingEdge + path: Blade + stage: 1 + event: !type:HereticCuttingEdgeEvent + ritualPrototypes: + - BladeBlade + +- type: hereticKnowledge + id: GraspOfBlade + path: Blade + stage: 2 + +- type: hereticKnowledge + id: DanceOfTheBrand + path: Blade + stage: 3 + event: !type:HereticDanceOfTheBrandEvent + +- type: hereticKnowledge + id: MarkOfBlade + path: Blade + stage: 4 + +- type: hereticKnowledge + id: Realignment + path: Blade + stage: 5 + actionPrototypes: + - ActionHereticRealignment + +- type: hereticKnowledge + id: TornChampionStance + path: Blade + stage: 6 + event: !type:HereticChampionStanceEvent + +- type: hereticKnowledge + id: EmpoweredBlades + path: Blade + stage: 7 + +- type: hereticKnowledge + id: FuriousSteel + path: Blade + stage: 8 + actionPrototypes: + - ActionHereticFuriousSteel + +- type: hereticKnowledge + id: AscensionBlade + path: Blade + stage: 9 + ritualPrototypes: + - AscensionBlade + +- type: hereticKnowledge + id: MaelstromOfSilver + path: Blade + stage: 10 + event: !type:HereticAscensionBladeEvent + +### flesh path +- type: hereticKnowledge + id: PrincipleOfHunger + path: Flesh + stage: 1 + ritualPrototypes: + - BladeFlesh + +- type: hereticKnowledge + id: GraspOfFlesh + path: Flesh + stage: 2 + +- type: hereticKnowledge + id: ImperfectRitual + path: Flesh + sideKnowledge: true + stage: 3 + ritualPrototypes: + - ImperfectRitual + +- type: hereticKnowledge + id: MarkOfFlesh + path: Flesh + stage: 4 + +- type: hereticKnowledge + id: KnittingOfFlesh + path: Flesh + stage: 5 + actionPrototypes: + - ActionHereticFleshSurgery + +- type: hereticKnowledge + id: RawRitual + path: Flesh + sideKnowledge: true + stage: 6 + ritualPrototypes: + - RawRitual + +- type: hereticKnowledge + id: BleedingSteel + path: Flesh + stage: 7 + +- type: hereticKnowledge + id: LonelyRitual + path: Flesh + sideKnowledge: true + stage: 8 + ritualPrototypes: + - LonelyRitual + +- type: hereticKnowledge + id: AscensionFlesh + path: Flesh + stage: 9 + ritualPrototypes: + - AscensionFlesh + +- type: hereticKnowledge + id: PriestFinalHymn + path: Flesh + stage: 10 + event: !type:HereticAscensionFleshEvent + +### void path +- type: hereticKnowledge + id: GlimmerOfWinter + path: Void + stage: 1 + ritualPrototypes: + - BladeVoid + +- type: hereticKnowledge + id: GraspOfVoid + path: Void + stage: 2 + +- type: hereticKnowledge + id: AristocratWay + path: Void + sideKnowledge: true + stage: 3 + event: !type:HereticAristocratWayEvent + +- type: hereticKnowledge + id: MarkOfVoid + path: Void + stage: 4 + +- type: hereticKnowledge + id: VoidBlast + path: Void + stage: 5 + actionPrototypes: + - ActionHereticVoidBlast + +- type: hereticKnowledge + id: VoidPhase + path: Void + sideKnowledge: true + stage: 6 + actionPrototypes: + - ActionHereticVoidPhase + +- type: hereticKnowledge + id: SeekingBlade + path: Void + stage: 7 + +- type: hereticKnowledge + id: VoidPull + path: Void + sideKnowledge: true + stage: 8 + actionPrototypes: + - ActionHereticVoidPull + +- type: hereticKnowledge + id: AscensionVoid + stage: 9 + path: Void + ritualPrototypes: + - AscensionVoid + +- type: hereticKnowledge + id: WaltzAtTheEndOfTime + stage: 10 + path: Void + event: !type:HereticAscensionVoidEvent + +### side paths +- type: hereticKnowledge + id: RitualOfKnowledge + sideKnowledge: true + ritualPrototypes: + - RitualOfKnowledge + +## stage 3 +- type: hereticKnowledge + id: ArmorerRitual + sideKnowledge: true + stage: 3 + ritualPrototypes: + - ArmorerRitual + +- type: hereticKnowledge + id: AshenEyesRitual + sideKnowledge: true + stage: 3 + ritualPrototypes: + - AshenEyesRitual + +- type: hereticKnowledge + id: PriestRitual + sideKnowledge: true + stage: 3 + ritualPrototypes: + - PriestRitual + +## stage 7 diff --git a/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_rituals.yml b/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_rituals.yml new file mode 100644 index 00000000000..970ed9c21ae --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Heretic/heretic_rituals.yml @@ -0,0 +1,287 @@ +### basic +# Heartbeat of the Mansus (sacrifice) +- type: hereticRitual + id: Sacrifice + locName: heretic-ritual-basic-sacrifice + locDesc: heretic-ritual-basic-sacrifice-desc + icon: + sprite: Mobs/Species/Human/organs.rsi + state: heart-on + customBehaviors: + - !type:RitualSacrificeBehavior + onlyTargets: true + +- type: hereticRitual + id: AmberFocus + locName: heretic-ritual-basic-focus + locDesc: heretic-ritual-basic-focus-desc + icon: + sprite: _Goobstation/Heretic/amber_focus.rsi + state: icon + requiredTags: + GlassShard: 1 + Eyes: 1 + output: + ClothingNeckAmberFocus: 1 + +- type: hereticRitual + id: LivingHeart + locName: heretic-ritual-basic-heart + locDesc: heretic-ritual-basic-heart-desc + icon: + sprite: _Goobstation/Heretic/items.rsi + state: living_heart + requiredTags: + Heart: 1 + Pen: 1 + Paper: 1 + outputEvent: !type:EventHereticRerollTargets + +- type: hereticRitual + id: CodexCicatrix + locName: heretic-ritual-basic-codex + locDesc: heretic-ritual-basic-codex-desc + icon: + sprite: _Goobstation/Heretic/book.rsi + state: icon-on + requiredTags: + Eyes: 1 + Book: 1 + Pen: 1 + output: + CodexCicatrix: 1 + +### ash path +- type: hereticRitual + id: BladeAsh + locName: knowledge-path-ash-s1-name + locDesc: knowledge-path-ash-s1-desc + icon: + sprite: _Goobstation/Heretic/Blades/blade_ash.rsi + state: icon + requiredTags: + Knife: 1 + Matchstick: 1 + output: + HereticBladeAsh: 1 + +- type: hereticRitual + id: MaskOfMadness + locName: knowledge-path-ash-s6-name + locDesc: knowledge-path-ash-s6-desc + icon: + sprite: _Goobstation/Heretic/mad_mask.rsi + state: icon + requiredTags: + Mask: 1 + Candle: 4 + Stunbaton: 1 + output: + ClothingMaskMadHeretic: 1 + +- type: hereticRitual + id: AscensionAsh + locName: knowledge-path-ash-s9-name + locDesc: knowledge-path-ash-s9-desc + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: ashlord_rite2 + customBehaviors: + - !type:RitualAshAscendBehavior + min: 3 + max: 3 + outputKnowledge: AshlordRite + outputEvent: !type:EventHereticAscension + +### blade path +- type: hereticRitual + id: BladeBlade + locName: knowledge-path-blade-s1-name + locDesc: knowledge-path-blade-s1-desc + icon: + sprite: _Goobstation/Heretic/Blades/blade_blade.rsi + state: icon + requiredTags: + Knife: 4 + output: + HereticBladeBlade: 1 + +- type: hereticRitual + id: AscensionBlade + locName: knowledge-path-blade-s9-name + locDesc: knowledge-path-blade-s9-desc + icon: + sprite: _Goobstation/Heretic/items.rsi + state: protective_blade + customBehaviors: + - !type:RitualBladeAscendBehavior + min: 3 + max: 3 + outputKnowledge: MaelstromOfSilver + outputEvent: !type:EventHereticAscension + +### flesh path +- type: hereticRitual + id: BladeFlesh + locName: knowledge-path-flesh-s1-name + locDesc: knowledge-path-flesh-s1-desc + icon: + sprite: _Goobstation/Heretic/Blades/blade_flesh.rsi + state: icon + customBehaviors: + - !type:RitualReagentPuddleBehavior + reagent: Blood + requiredTags: + Knife: 1 + output: + HereticBladeFlesh: 1 + +- type: hereticRitual + id: ImperfectRitual + locName: knowledge-path-flesh-s3-name + locDesc: knowledge-path-flesh-s3-desc + icon: + sprite: Mobs/Species/Skeleton/parts.rsi + state: full + customBehaviors: + - !type:RitualMuteGhoulifyBehavior + requiredTags: + Poppy: 1 + +- type: hereticRitual + id: RawRitual + locName: knowledge-path-flesh-s6-name + locDesc: knowledge-path-flesh-s6-desc + icon: + sprite: _Goobstation/Heretic/eldritch_mobs.rsi + state: raw_prophet + customBehaviors: + - !type:RitualReagentPuddleBehavior + reagent: Blood + requiredTags: + Eyes: 1 + Stomach: 1 + output: + MobGhoulProphet: 1 + +- type: hereticRitual + id: LonelyRitual + locName: knowledge-path-flesh-s8-name + locDesc: knowledge-path-flesh-s8-desc + icon: + sprite: _Goobstation/Heretic/eldritch_mobs.rsi + state: stalker + customBehaviors: + - !type:RitualReagentPuddleBehavior + reagent: Blood + requiredTags: + Pen: 1 + Heart: 1 + Stomach: 1 + Lungs: 1 + output: + MobGhoulStalker: 1 + +- type: hereticRitual + id: AscensionFlesh + locName: knowledge-path-flesh-s9-name + locDesc: knowledge-path-flesh-s9-desc + icon: + sprite: _Goobstation/Heretic/abilities_heretic.rsi + state: final_hymn + customBehaviors: + - !type:RitualSacrificeBehavior + min: 4 + max: 4 + outputKnowledge: PriestFinalHymn + outputEvent: !type:EventHereticAscension + + + +### void path +- type: hereticRitual + id: BladeVoid + locName: knowledge-path-void-s1-name + locDesc: knowledge-path-void-s1-desc + icon: + sprite: _Goobstation/Heretic/Blades/blade_void.rsi + state: icon + customBehaviors: + - !type:RitualTemperatureBehavior + minThreshold: 0 # ~= -1 celcius. or sub zero temperatures + requiredTags: + Knife: 1 + output: + HereticBladeVoid: 1 + +- type: hereticRitual + id: AscensionVoid + locName: knowledge-path-void-s9-name + locDesc: knowledge-path-void-s9-desc + icon: + sprite: Interface/Alerts/temperature.rsi + state: cold3 + customBehaviors: + - !type:RitualSacrificeBehavior + min: 3 + max: 3 + - !type:RitualTemperatureBehavior + minThreshold: -20 + outputKnowledge: WaltzAtTheEndOfTime + outputEvent: !type:EventHereticAscension + + + +### side knowledge +- type: hereticRitual + id: RitualOfKnowledge + locName: knowledge-path-side-knowledge-name + locDesc: knowledge-path-side-knowledge-desc + icon: + sprite: _Goobstation/Heretic/book.rsi + state: icon + customBehaviors: + - !type:RitualKnowledgeBehavior + +## stage 3 +- type: hereticRitual + id: ArmorerRitual + locName: knowledge-path-side-s3-armor-name + locDesc: knowledge-path-side-s3-armor-desc + icon: + sprite: _Goobstation/Heretic/eldritch_armor.rsi + state: icon + requiredTags: + Table: 1 + GasMask: 1 + output: + ClothingOuterArmorHeretic: 1 + +- type: hereticRitual + id: PriestRitual + locName: knowledge-path-side-s3-flask-name + locDesc: knowledge-path-side-s3-flask-desc + icon: + sprite: _Goobstation/Heretic/items.rsi + state: eldritch_flask + requiredTags: + WaterTank: 1 + GlassShard: 1 + output: + HereticEldritchFlask: 1 + +- type: hereticRitual + id: AshenEyesRitual + locName: knowledge-path-side-s3-ashen-eyes-name + locDesc: knowledge-path-side-s3-ashen-eyes-desc + icon: + sprite: _Goobstation/Heretic/eldritch_medalion.rsi + state: icon + requiredTags: + GlassShard: 1 + Eyes: 1 + Flare: 1 + output: + ClothingEldritchMedalion: 1 + +## stage 7 diff --git a/Resources/Prototypes/_Goobstation/Heretic/Objectives/heretic.yml b/Resources/Prototypes/_Goobstation/Heretic/Objectives/heretic.yml new file mode 100644 index 00000000000..d65e8a88165 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Objectives/heretic.yml @@ -0,0 +1,51 @@ +- type: entity + abstract: true + parent: BaseObjective + id: BaseHereticObjective + components: + - type: Objective + difficulty: 1.5 + issuer: objective-issuer-heretic + +- type: entity + parent: BaseHereticObjective + id: HereticKnowledgeObjective + components: + - type: Objective + icon: + sprite: _Goobstation/Heretic/reality_fracture.rsi + state: icon_harvested + - type: NumberObjective + min: 12 + max: 18 + title: objective-condition-knowledge-title + - type: HereticKnowledgeCondition + +- type: entity + parent: BaseHereticObjective + id: HereticSacrificeObjective + components: + - type: Objective + icon: + sprite: _Goobstation/Heretic/Blades/blade_blade.rsi + state: icon + - type: NumberObjective + min: 2 + max: 4 + title: objective-condition-sacrifice-title + - type: HereticSacrificeCondition + +- type: entity + parent: BaseHereticObjective + id: HereticSacrificeHeadObjective + components: + - type: Objective + icon: + sprite: _Goobstation/Heretic/Blades/blade_blade.rsi + state: icon + - type: NumberObjective + min: 1 + max: 1 + title: objective-condition-sacrifice-head-title + - type: HereticSacrificeCondition + isCommand: true diff --git a/Resources/Prototypes/_Goobstation/Heretic/Polymorphs/polymorphs.yml b/Resources/Prototypes/_Goobstation/Heretic/Polymorphs/polymorphs.yml new file mode 100644 index 00000000000..e4ed3be3015 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Polymorphs/polymorphs.yml @@ -0,0 +1,16 @@ +- type: polymorph + id: AshJaunt + configuration: + entity: PolymorphAshJaunt + forced: true + duration: 5 + +- type: polymorph + id: EldritchHorror + configuration: + entity: MobHereticFleshAscend + forced: true + transferName: true + transferDamage: true + revertOnCrit: false + revertOnDeath: false \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Heretic/Roles/Antags/heretic.yml b/Resources/Prototypes/_Goobstation/Heretic/Roles/Antags/heretic.yml new file mode 100644 index 00000000000..e6c594cbc88 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Roles/Antags/heretic.yml @@ -0,0 +1,17 @@ +- type: antag + id: Heretic + name: roles-antag-heretic-name + antagonist: true + setPreference: true + objective: roles-antag-heretic-description + requirements: + - !type:OverallPlaytimeRequirement + time: 54000 # 15h + guides: [ Heretics ] + +- type: startingGear + id: HereticGear + storage: + back: + - CodexCicatrix + - OrganHumanHeart diff --git a/Resources/Prototypes/_Goobstation/Heretic/Store/categories.yml b/Resources/Prototypes/_Goobstation/Heretic/Store/categories.yml new file mode 100644 index 00000000000..5c04d4a2086 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Store/categories.yml @@ -0,0 +1,31 @@ +# heretic + +- type: storeCategory + id: HereticPathAsh + name: store-heretic-path-ash + priority: 0 + +- type: storeCategory + id: HereticPathLock + name: store-heretic-path-lock + priority: 0 + +- type: storeCategory + id: HereticPathFlesh + name: store-heretic-path-flesh + priority: 0 + +- type: storeCategory + id: HereticPathVoid + name: store-heretic-path-void + priority: 0 + +- type: storeCategory + id: HereticPathBlade + name: store-heretic-path-blade + priority: 0 + +- type: storeCategory + id: HereticPathSide + name: store-heretic-path-side + priority: 999 # lowest possible diff --git a/Resources/Prototypes/_Goobstation/Heretic/Store/currency.yml b/Resources/Prototypes/_Goobstation/Heretic/Store/currency.yml new file mode 100644 index 00000000000..6827c823119 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/Store/currency.yml @@ -0,0 +1,4 @@ +- type: currency + id: KnowledgePoint + displayName: store-currency-display-knowledgepoint + canWithdraw: false diff --git a/Resources/Prototypes/_Goobstation/Heretic/ai_factions.yml b/Resources/Prototypes/_Goobstation/Heretic/ai_factions.yml new file mode 100644 index 00000000000..7ab8ebd9f81 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/ai_factions.yml @@ -0,0 +1,9 @@ +- type: npcFaction + id: Heretic + hostile: + - NanoTrasen + - Syndicate + - Zombie + - Revolutionary + - Changeling + - Blob # Goobstation - Blob diff --git a/Resources/Prototypes/_Goobstation/Heretic/radio_channels.yml b/Resources/Prototypes/_Goobstation/Heretic/radio_channels.yml new file mode 100644 index 00000000000..1ce51f47345 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Heretic/radio_channels.yml @@ -0,0 +1,7 @@ +- type: radioChannel + id: Mansus + name: chat-radio-mansus + keycode: 'z' + frequency: 80085 + color: "#237500" + longRange: true \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/sheet.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/sheet.yml new file mode 100644 index 00000000000..8a6784658ec --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/sheet.yml @@ -0,0 +1,9 @@ +- type: latheRecipe + id: MaterialBSCrystal + result: MaterialBSCrystal1 + completetime: 2 + materials: + Gold: 25 + Silver: 25 + Glass: 50 + Plasma: 50 diff --git a/Resources/Prototypes/ai_factions.yml b/Resources/Prototypes/ai_factions.yml index c0f7c7da6a0..0ff074cabd2 100644 --- a/Resources/Prototypes/ai_factions.yml +++ b/Resources/Prototypes/ai_factions.yml @@ -7,6 +7,7 @@ - PetsNT - Zombie - Revolutionary + - Heretic # goob edit - heretics - type: npcFaction id: NanoTrasen @@ -16,6 +17,7 @@ - Xeno - Zombie - Revolutionary + - Heretic # goob edit - heretics - type: npcFaction id: Mouse @@ -45,6 +47,7 @@ - Zombie - Revolutionary - GeometerOfBlood + - Heretic # goob edit - heretics - type: npcFaction id: SimpleNeutral @@ -57,6 +60,7 @@ - Xeno - PetsNT - Zombie + - Heretic # goob edit - heretics - type: npcFaction id: Xeno @@ -67,6 +71,7 @@ - PetsNT - Zombie - Revolutionary + - Heretic # goob edit - heretics - type: npcFaction id: Zombie @@ -78,6 +83,7 @@ - Passive - PetsNT - Revolutionary + - Heretic # goob edit - heretics - type: npcFaction id: Revolutionary diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 8f64a139402..9f8f41a7105 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -594,6 +594,9 @@ - type: Tag id: ExplosivePassable +- type: Tag # goob edit + id: Eyes + - type: Tag id: Figurine @@ -648,6 +651,9 @@ - type: Tag id: Galaxythistle +- type: Tag # heretic edit + id: GasMask + - type: Tag id: GasScrubber @@ -729,6 +735,9 @@ - type: Tag id: Head +- type: Tag # goob edit + id: Heart + - type: Tag id: HelmetEVA @@ -825,6 +834,9 @@ - type: Tag id: KeyedInstrument +- type: Tag # goob edit + id: Kidneys + - type: Tag id: KitchenKnife @@ -840,6 +852,12 @@ - type: Tag id: Lime +- type: Tag # goob edit + id: Liver + +- type: Tag # goob edit + id: Lungs + - type: Tag id: Machete @@ -917,6 +935,9 @@ - type: Tag id: MailingUnitElectronics +- type: Tag # heretic edit + id: Mask + - type: Tag id: Matchstick @@ -998,6 +1019,9 @@ - type: Tag id: Ore +- type: Tag # goob edit + id: Organ + - type: Tag id: Packet @@ -1076,6 +1100,9 @@ - type: Tag id: PlushieSharkGrey +- type: Tag # goob edit + id: Poppy + - type: Tag id: Potato @@ -1248,12 +1275,18 @@ - type: Tag id: StringInstrument +- type: Tag # heretic edit + id: Stunbaton + - type: Tag id: StationMapElectronics - type: Tag id: Steak +- type: Tag # goob edit + id: Stomach + - type: Tag id: SubdermalImplant @@ -1278,6 +1311,9 @@ - type: Tag id: Spellbook +- type: Tag # heretic edit + id: Table + - type: Tag id: Taser @@ -1299,6 +1335,9 @@ - type: Tag id: TimerSignalElectronics +- type: Tag # goob edit + id: Tongue + - type: Tag id: Toolbox @@ -1359,6 +1398,9 @@ - type: Tag id: WeaponShotgunKammerer +- type: Tag # goob edit + id: WaterTank + - type: Tag id: WeldingMask