diff --git a/Resources/Audio/Effects/Vehicle/ambulancesiren.ogg b/Resources/Audio/Effects/Vehicle/ambulancesiren.ogg new file mode 100644 index 0000000000..0f18ac6927 Binary files /dev/null and b/Resources/Audio/Effects/Vehicle/ambulancesiren.ogg differ diff --git a/Resources/Audio/Effects/Vehicle/attributions.yml b/Resources/Audio/Effects/Vehicle/attributions.yml index d6bd49a581..fb38493d74 100644 --- a/Resources/Audio/Effects/Vehicle/attributions.yml +++ b/Resources/Audio/Effects/Vehicle/attributions.yml @@ -19,3 +19,8 @@ source: "https://freesound.org/people/13gkopeckak/sounds/378911/" license: "CC0-1.0" copyright: "13gkopeckak on freesound.org" + +- files: ["ambulancesiren.ogg"] + source: "https://freesound.org/people/Lalks/sounds/336894/" + license: "CC-BY-3.0" + copyright: "Lalks on freesound.org, small edit by Velken" diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index d7c97aaef4..cfff380380 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -340,3 +340,16 @@ itemIconStyle: NoItem useDelay: 1 event: !type:FakeMindShieldToggleEvent + +- type: entity + id: ActionToggleParamedicSiren + name: Toggle Paramedic Siren + description: Toggles the paramedic siren on and off. + components: + - type: InstantAction + icon: + sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + state: icon-siren + useDelay: 1 + itemIconStyle: BigAction + event: !type:ToggleActionEvent diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index 46fe9ef09d..cc4c84840a 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -180,8 +180,9 @@ - type: entity abstract: true - parent: ClothingHeadHardsuitBase - id: ClothingHeadHardsuitWithLightBase + # No parent since it isn't an item + # must parent both this and the desired helmet base when using + id: ClothingHeadSuitWithLightBase name: base hardsuit helmet with light categories: [ HideSpawnMenu ] components: diff --git a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml index c38c869f2e..60a0e0be28 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml @@ -50,26 +50,6 @@ - type: Clothing sprite: Clothing/Head/Helmets/cosmonaut.rsi -#Paramedic Void Helmet -- type: entity - parent: ClothingHeadEVAHelmetBase - id: ClothingHeadHelmetVoidParamed - name: paramedic void helmet - description: A void helmet made for paramedics. - components: - - type: Sprite - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: Clothing - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: TemperatureProtection - heatingCoefficient: 0.1 - coolingCoefficient: 0.1 - - type: Armor - modifiers: - coefficients: - Heat: 0.90 - Radiation: 0.75 - #Ancient Void Helmet - type: entity parent: ClothingHeadEVAHelmetBase @@ -81,3 +61,37 @@ sprite: Clothing/Head/Helmets/ancientvoidsuit.rsi - type: Clothing sprite: Clothing/Head/Helmets/ancientvoidsuit.rsi + +#Paramedic Void Helmet +- type: entity + parent: [ ClothingHeadSuitWithLightBase, ClothingHeadEVAHelmetBase ] #Despite acting like a hardsuit helmet, since it inherits from EVA Helmet, it goes here. + id: ClothingHeadHelmetVoidParamed + name: paramedic void helmet + description: A void helmet made for paramedics. + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: Clothing/Head/Hardsuits/paramedhelm.rsi + - type: HandheldLight + addPrefix: false + - type: ToggleableLightVisuals + spriteLayer: light + clothingVisuals: + head: + - state: equipped-head-light + - type: Clothing + clothingVisuals: + head: + - state: equipped-head + - type: TemperatureProtection + heatingCoefficient: 0.1 + coolingCoefficient: 0.1 + - type: Armor + modifiers: + coefficients: + Heat: 0.90 + Radiation: 0.75 + - type: PointLight + radius: 5 + energy: 2 + color: "#00ffff" diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index 4ce8bbb960..23eb7ec95d 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -25,7 +25,7 @@ #Atmospherics Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitAtmos name: atmos hardsuit helmet description: A special hardsuit helmet designed for working in low-pressure, high thermal environments. @@ -67,7 +67,7 @@ #Engineering Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitEngineering name: engineering hardsuit helmet description: An engineering hardsuit helmet designed for working in low-pressure, high radioactive environments. @@ -84,7 +84,7 @@ #Spationaut Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSpatio name: spationaut hardsuit helmet description: A sturdy helmet designed for complex industrial operations in space. @@ -120,7 +120,7 @@ #Salvage Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSalvage name: salvage hardsuit helmet description: A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights. @@ -137,7 +137,7 @@ energy: 3 - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitGoliath name: goliath hardsuit helmet description: A sturdy hardsuit helmet, infused with a goliath's hide and an eerie, unblinking eye cut from its mass. @@ -195,7 +195,7 @@ #Security Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSecurity name: security hardsuit helmet description: Armored hardsuit helmet for security needs. @@ -219,7 +219,7 @@ #Brigmedic Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitBrigmedic name: brigmedic hardsuit helmet description: The lightweight helmet of the brigmedic hardsuit. Protects against viruses, and clowns. @@ -245,7 +245,7 @@ #Warden's Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitWarden name: warden's hardsuit helmet description: A modified riot helmet. Oddly comfortable. @@ -269,7 +269,7 @@ #Captain's Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitCap name: captain's hardsuit helmet description: Special hardsuit helmet, made for the captain of the station. @@ -284,7 +284,7 @@ #Chief Engineer's Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitEngineeringWhite name: chief engineer's hardsuit helmet description: Special hardsuit helmet, made for the chief engineer of the station. @@ -303,7 +303,7 @@ #Chief Medical Officer's Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitMedical name: chief medical officer's hardsuit helmet description: Lightweight medical hardsuit helmet that doesn't restrict your head movements. @@ -320,7 +320,7 @@ #Research Director's Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitRd name: experimental research hardsuit helmet description: Lightweight hardsuit helmet that doesn't restrict your head movements. @@ -337,7 +337,7 @@ #Head of Security's hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSecurityRed name: head of security's hardsuit helmet description: Security hardsuit helmet with the latest top secret NT-HUD software. Belongs to the HoS. @@ -361,7 +361,7 @@ #Luxury Mining Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitLuxury #DO NOT MAP - https://github.com/space-wizards/space-station-14/pull/19738#issuecomment-1703486738 name: luxury mining hardsuit helmet description: A refurbished mining hardsuit helmet, fitted with satin cushioning and an extra (non-functioning) antenna, because you're that extra. @@ -380,7 +380,7 @@ #ANTAG HARDSUITS #Blood-red Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSyndie name: blood-red hardsuit helmet description: A heavily armored helmet designed for work in special operations. Property of Gorlex Marauders. @@ -404,7 +404,7 @@ #Blood-red Medic Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSyndieMedic name: blood-red medic hardsuit helmet description: An advanced red hardsuit helmet specifically designed for field medic operations. @@ -428,7 +428,7 @@ #Syndicate Elite Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSyndieElite name: syndicate elite helmet description: An elite version of the blood-red hardsuit's helmet, with improved armor and fireproofing. Property of Gorlex Marauders. @@ -457,7 +457,7 @@ #Syndicate Commander Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitSyndieCommander name: syndicate commander helmet description: A bulked up version of the blood-red hardsuit's helmet, purpose-built for the commander of a syndicate operative squad. Has significantly improved armor for those deadly front-lines firefights. @@ -503,7 +503,7 @@ #Wizard Hardsuit - type: entity - parent: ClothingHeadHardsuitWithLightBase + parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitWizard name: wizard hardsuit helmet description: A bizarre gem-encrusted helmet that radiates magical energies. @@ -680,7 +680,7 @@ #CBURN Hardsuit - type: entity - parent: [ BaseCentcommContraband, ClothingHeadHardsuitWithLightBase ] + parent: [ BaseCentcommContraband, ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetCBURN name: CBURN exosuit helmet description: A pressure resistant and fireproof hood worn by special cleanup units. diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml index a60d9bc75c..40f88540f2 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml @@ -91,15 +91,17 @@ - type: HeldSpeedModifier #Paramedic Voidsuit -#Despite having resistances and looking like a hardsuit, this parents off the EVA suit so it goes here. - type: entity - parent: ClothingOuterEVASuitBase + parent: [ClothingOuterEVASuitBase, BaseMedicalContraband] #Despite "Voidsuits are light hardsuits", since it parents of EVA Suits, it goes with the other softsuits id: ClothingOuterHardsuitVoidParamed name: paramedic void suit description: A void suit made for paramedics. components: - type: Sprite sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + layers: + - state: icon + - type: Appearance - type: Clothing sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi - type: PressureProtection @@ -123,7 +125,31 @@ stealGroup: ClothingOuterHardsuitVoidParamed - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetVoidParamed - slot: head + - type: ItemToggle + onUse: false + soundActivate: + path: /Audio/Items/flashlight_on.ogg + soundDeactivate: + path: /Audio/Items/flashlight_off.ogg + - type: ItemToggleActiveSound + activeSound: + path: /Audio/Effects/Vehicle/ambulancesiren.ogg #not the best sound, but after looking through all of current freesound regarding sirens and ambulance, this was the best compromise + params: + volume: -4 + - type: UseDelay + delay: 1.0 + - type: ToggleClothing + action: ActionToggleParamedicSiren + - type: ItemTogglePointLight + - type: PointLight + enabled: false + radius: 2 + energy: 2 + color: blue + netsync: false + mask: /Textures/Effects/LightMasks/double_cone.png + - type: RotatingLight + speed: 360 - type: ContainerContainer containers: toggleable-clothing: !type:ContainerSlot {} diff --git a/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light-vox.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light-vox.png new file mode 100644 index 0000000000..d8779ba669 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light-vox.png differ diff --git a/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light.png new file mode 100644 index 0000000000..de6d1bf962 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-light.png differ diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET-vox.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-vox.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET-vox.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head-vox.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-head.png diff --git a/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon-flash.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon-flash.png new file mode 100644 index 0000000000..4f7a3171aa Binary files /dev/null and b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon-flash.png differ diff --git a/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png new file mode 100644 index 0000000000..b806d49131 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/light-overlay.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/light-overlay.png new file mode 100644 index 0000000000..1399b770a3 Binary files /dev/null and b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/light-overlay.png differ diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json similarity index 55% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json index 72965ccfe2..f996b208da 100644 --- a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser. vox state by Flareguy", + "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser. vox state by Flareguy, icon-flash and light-overlay states by Velken", "size": { "x": 32, "y": 32 @@ -11,19 +11,25 @@ "name": "icon" }, { - "name": "equipped-HELMET", + "name": "icon-flash" + }, + { + "name": "light-overlay" + }, + { + "name": "equipped-head", "directions": 4 }, { - "name": "equipped-HELMET-vox", + "name": "equipped-head-light", "directions": 4 }, { - "name": "inhand-left", + "name": "equipped-head-vox", "directions": 4 }, { - "name": "inhand-right", + "name": "equipped-head-light-vox", "directions": 4 } ] diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png b/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png deleted file mode 100644 index 0c0dc62be7..0000000000 Binary files a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png deleted file mode 100644 index 0a75a797db..0000000000 Binary files a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png deleted file mode 100644 index 5c7f8b902b..0000000000 Binary files a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/icon-siren.png b/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/icon-siren.png new file mode 100644 index 0000000000..bf6ec647f7 Binary files /dev/null and b/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/icon-siren.png differ diff --git a/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json b/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json index 87d6d0e669..a281023a51 100644 --- a/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json +++ b/Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from paradise station git at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser. Vox state made by Flareguy for SS14", + "copyright": "Taken from paradise station git at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser. Vox state made by Flareguy for SS14. Siren Icon made by Velen based of the helmet's colours", "size": { "x": 32, "y": 32 @@ -10,6 +10,9 @@ { "name": "icon" }, + { + "name": "icon-siren" + }, { "name": "equipped-OUTERCLOTHING", "directions": 4