From 2acd444f3345f5a1d17883a29df0a9a50384de67 Mon Sep 17 00:00:00 2001
From: Killian <49700375+KillianKirilenko@users.noreply.github.com>
Date: Sat, 6 Jun 2020 19:40:20 +0100
Subject: [PATCH] Vintage Voidsuits Expansion
---
code/game/machinery/suit_storage_unit.dm | 50 ++++++-
.../modules/clothing/spacesuits/void/event.dm | 138 ++++++++++++++++++
icons/mob/head.dmi | Bin 217558 -> 219603 bytes
icons/mob/spacesuit.dmi | Bin 193071 -> 191723 bytes
icons/mob/species/skrell/helmet.dmi | Bin 71552 -> 70819 bytes
icons/mob/species/skrell/suit.dmi | Bin 84916 -> 86036 bytes
icons/mob/species/tajaran/helmet.dmi | Bin 60643 -> 59733 bytes
icons/mob/species/tajaran/suit.dmi | Bin 116975 -> 118496 bytes
icons/mob/species/unathi/helmet.dmi | Bin 57596 -> 60025 bytes
icons/mob/species/unathi/suit.dmi | Bin 107788 -> 112279 bytes
icons/obj/clothing/hats.dmi | Bin 112427 -> 113084 bytes
icons/obj/clothing/spacesuits.dmi | Bin 68319 -> 70656 bytes
icons/obj/clothing/species/skrell/hats.dmi | Bin 18418 -> 19186 bytes
icons/obj/clothing/species/skrell/suits.dmi | Bin 15219 -> 15589 bytes
icons/obj/clothing/species/tajaran/hats.dmi | Bin 22863 -> 23525 bytes
icons/obj/clothing/species/tajaran/suits.dmi | Bin 28077 -> 28302 bytes
icons/obj/clothing/species/unathi/suits.dmi | Bin 27332 -> 27636 bytes
17 files changed, 185 insertions(+), 3 deletions(-)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index abbf229cac2..ead7eaaf963 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -658,9 +658,30 @@
departments = list("Pilot Blue","Pilot")
/obj/machinery/suit_cycler/vintage
- name = "Vintage suit cycler"
+ name = "Vintage Crew suit cycler"
model_text = "Vintage"
- departments = list("Vintage Crew","Vintage Engineering","Vintage Marine","Vintage Medical","Vintage Officer")
+ departments = list("Vintage Crew")
+ req_access = null
+
+/obj/machinery/suit_cycler/vintage/pilot
+ name = "Vintage Pilot suit cycler"
+ model_text = "Vintage Pilot"
+ departments = list("Vintage Pilot (Bubble Helm)","Vintage Pilot (Closed Helm)")
+
+/obj/machinery/suit_cycler/vintage/medsci
+ name = "Vintage MedSci suit cycler"
+ model_text = "Vintage MedSci"
+ departments = list("Vintage Medical (Bubble Helm)","Vintage Medical (Closed Helm)","Vintage Research (Bubble Helm)","Vintage Research (Closed Helm)")
+
+/obj/machinery/suit_cycler/vintage/rugged
+ name = "Vintage Ruggedized suit cycler"
+ model_text = "Vintage Ruggedized"
+ departments = list("Vintage Engineering","Vintage Marine","Vintage Officer","Vintage Mercenary")
+
+/obj/machinery/suit_cycler/vintage/omni
+ name = "Vintage Master suit cycler"
+ model_text = "Vintage Master"
+ departments = list("Vintage Crew","Vintage Engineering","Vintage Pilot (Bubble Helm)","Vintage Pilot (Closed Helm)","Vintage Medical (Bubble Helm)","Vintage Medical (Closed Helm)","Vintage Research (Bubble Helm)","Vintage Research (Closed Helm)","Vintage Marine","Vintage Officer","Vintage Mercenary")
/obj/machinery/suit_cycler/vintage/Initialize()
species -= SPECIES_TESHARI
@@ -775,8 +796,13 @@
//Clear the access reqs, disable the safeties, and open up all paintjobs.
to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols.")
+<<<<<<< HEAD
departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Crowd Control","Security EVA","Emergency Medical Response","^%###^%$", "Charring","Vintage Crew","Vintage Engineering","Vintage Marine","Vintage Medical","Vintage Officer")
species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN) //VORESTATION EDIT
+=======
+ departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Crowd Control","Security EVA","Emergency Medical Response","^%###^%$", "Charring")
+ species = list(SPECIES_HUMAN,SPECIES_TAJ,SPECIES_SKRELL,SPECIES_UNATHI, SPECIES_TESHARI)
+>>>>>>> 99523da... Vintage Voidsuits Expansion (#7266)
emagged = 1
safeties = 0
@@ -1084,7 +1110,10 @@
if("Vintage Engineering")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/engineering
parent_suit = /obj/item/clothing/suit/space/void/refurb/engineering
- if("Vintage Medical")
+ if("Vintage Medical (Bubble Helm)")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical/alt
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/medical
+ if("Vintage Medical (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical
parent_suit = /obj/item/clothing/suit/space/void/refurb/medical
if("Vintage Marine")
@@ -1093,6 +1122,21 @@
if("Vintage Officer")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/officer
parent_suit = /obj/item/clothing/suit/space/void/refurb/officer
+ if("Vintage Pilot (Bubble Helm)")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot
+ if("Vintage Pilot (Closed Helm)")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot/alt
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot
+ if("Vintage Research (Bubble Helm)")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research/alt
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/research
+ if("Vintage Research (Closed Helm)")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/research
+ if("Vintage Mercenary")
+ parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/mercenary
+ parent_suit = /obj/item/clothing/suit/space/void/refurb/mercenary
//BEGIN: Space for additional downstream variants
//VOREStation Addition Start
if("Director")
diff --git a/code/modules/clothing/spacesuits/void/event.dm b/code/modules/clothing/spacesuits/void/event.dm
index 35a153f5d85..5e68414a330 100644
--- a/code/modules/clothing/spacesuits/void/event.dm
+++ b/code/modules/clothing/spacesuits/void/event.dm
@@ -62,10 +62,14 @@
/obj/item/weapon/storage/briefcase/inflatable,
/obj/item/device/gps,
/obj/item/device/radio/beacon,
+ /obj/item/device/robotanalyzer,
+ /obj/item/device/geiger,
/obj/item/weapon/tool,
/obj/item/weapon/weldingtool,
/obj/item/weapon/cell,
/obj/item/weapon/pickaxe,
+ /obj/item/device/measuring_tape,
+ /obj/item/device/lightreplacer,
/obj/item/weapon/shovel
)
@@ -79,6 +83,11 @@
item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
armor = list(melee = 30, bullet = 15, laser = 15, energy = 5, bomb = 25, bio = 100, rad = 75)
+/obj/item/clothing/head/helmet/space/void/refurb/medical/alt
+ name = "vintage medical voidsuit bubble helmet"
+ desc = "A refurbished early contact era voidsuit helmet of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. The visor on this model has been expanded to the full bubble design to improve visibility. Wouldn't want to lose a scalpel in someone's abdomen because your visor fogged over!"
+ icon_state = "rig0-vintagepilot"
+
/obj/item/clothing/suit/space/void/refurb/medical
name = "vintage medical voidsuit"
desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer spacers swear by these old things, even if new powered hardsuits have more features and better armor. The green and white markings indicate this as a medic's suit."
@@ -91,6 +100,9 @@
/obj/item/device/suit_cooling_unit,
/obj/item/weapon/storage/firstaid,
/obj/item/device/healthanalyzer,
+ /obj/item/device/robotanalyzer,
+ /obj/item/device/mass_spectrometer,
+ /obj/item/device/halogen_counter,
/obj/item/stack/medical,
/obj/item/device/gps,
/obj/item/device/radio/beacon,
@@ -120,9 +132,14 @@
/obj/item/weapon/tank,
/obj/item/device/suit_cooling_unit,
/obj/item/weapon/melee,
+ /obj/item/weapon/grenade,
+ /obj/item/device/flash,
/obj/item/device/gps,
/obj/item/device/radio/beacon,
/obj/item/weapon/handcuffs,
+ /obj/item/device/hailer,
+ /obj/item/device/holowarrant,
+ /obj/item/device/megaphone,
/obj/item/ammo_magazine,
/obj/item/weapon/cell
)
@@ -151,9 +168,130 @@
/obj/item/weapon/tank,
/obj/item/device/suit_cooling_unit,
/obj/item/weapon/melee,
+ /obj/item/weapon/grenade,
+ /obj/item/device/flash,
/obj/item/device/gps,
/obj/item/device/radio/beacon,
/obj/item/weapon/handcuffs,
+ /obj/item/device/hailer,
+ /obj/item/device/holowarrant,
+ /obj/item/device/megaphone,
/obj/item/ammo_magazine,
/obj/item/weapon/cell
)
+
+//Pilot Crewsuit (ROYAL BLUE, I)
+//The lightest weight of the lot, but protection is about the same as the crew variant's. It has an extra helmet variant for those who prefer that design.
+/obj/item/clothing/head/helmet/space/void/refurb/pilot
+ name = "vintage pilot's voidsuit bubble helmet"
+ desc = "A refurbished early contact era voidsuit helmet of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. The standard pilot model has a nice clear bubble helmet that doesn't fog up easily and has much better visibility, at the cost of relatively poor protection."
+ icon_state = "rig0-vintagepilot"
+ item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
+ armor = list(melee = 25, bullet = 20, laser = 20, energy = 5, bomb = 20, bio = 100, rad = 50)
+ siemens_coefficient = 0.9
+
+//fluff alt-variant helmet, no changes to protection or anything despite the desc (and it wouldn't matter unless you found a base-type since armor values aren't transferred during refits)
+/obj/item/clothing/head/helmet/space/void/refurb/pilot/alt
+ name = "vintage pilot's voidsuit helmet"
+ desc = "For pilots who don't like the increased fracture vulnerability of the huge visor, overrides exist in certain cyclers that allow pilots to use the conventional helmet design. It's a little more claustrophobic, but some find the all-round protection to be worth the loss in visibility."
+ icon_state = "rig0-vintagepilotalt"
+
+/obj/item/clothing/suit/space/void/refurb/pilot
+ name = "vintage pilot's voidsuit"
+ desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer spacers swear by these old things, even if new powered hardsuits have more features and better armor. The royal blue markings indicate this is the pilot's variant; low protection but ultra-lightweight."
+ icon_state = "rig-vintagepilot"
+ item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG")
+ slowdown = 0.25
+ armor = list(melee = 25, bullet = 20, laser = 20, energy = 5, bomb = 20, bio = 100, rad = 50)
+ siemens_coefficient = 0.9
+ allowed = list(/obj/item/device/flashlight,
+ /obj/item/weapon/tank,
+ /obj/item/device/suit_cooling_unit,
+ /obj/item/weapon/storage/briefcase/inflatable,
+ /obj/item/device/gps,
+ /obj/item/device/radio/beacon,
+ )
+
+//Scientist Crewsuit (PURPLE, O)
+//Baseline values are slightly worse than the gray crewsuit, but it has significantly better Energy protection and is the only other suit with 100% rad immunity besides the engi suit
+/obj/item/clothing/head/helmet/space/void/refurb/research
+ name = "vintage research voidsuit helmet"
+ desc = "A refurbished early contact era voidsuit helmet of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. The visor has a bad habit of fogging up and collecting condensation, but it beats sucking hard vacuum. The purple markings indicate this as a scientist's helmet. Got your crowbar handy?"
+ icon_state = "rig0-vintagescientist"
+ item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
+ armor = list(melee = 25, bullet = 10, laser = 10, energy = 50, bomb = 10, bio = 100, rad = 100)
+ siemens_coefficient = 0.8
+
+/obj/item/clothing/head/helmet/space/void/refurb/research/alt
+ name = "vintage research voidsuit bubble helmet"
+ desc = "A refurbished early contact era voidsuit helmet of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. This version has been refitted with the distinctive bubble design to increase visibility, so that you can see what you're sciencing better!"
+ icon_state = "rig0-vintagepilot"
+
+/obj/item/clothing/suit/space/void/refurb/research
+ name = "vintage research voidsuit"
+ desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer spacers swear by these old things, even if new powered hardsuits have more features and better armor. The purple markings indicate this as a scientist's suit. Keep your eyes open for ropes."
+ icon_state = "rig-vintagescientist"
+ item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG")
+ slowdown = 0.5
+ armor = list(melee = 25, bullet = 10, laser = 10, energy = 50, bomb = 10, bio = 100, rad = 100)
+ siemens_coefficient = 0.8
+ allowed = list(/obj/item/device/flashlight,
+ /obj/item/weapon/tank,
+ /obj/item/device/suit_cooling_unit,
+ /obj/item/weapon/storage/firstaid,
+ /obj/item/device/healthanalyzer,
+ /obj/item/device/gps,
+ /obj/item/device/radio/beacon,
+ /obj/item/device/ano_scanner,
+ /obj/item/device/depth_scanner,
+ /obj/item/device/xenoarch_multi_tool,
+ /obj/item/device/measuring_tape,
+ /obj/item/device/reagent_scanner,
+ /obj/item/device/robotanalyzer,
+ /obj/item/device/analyzer,
+ /obj/item/device/cataloguer,
+ /obj/item/device/universal_translator,
+ /obj/item/weapon/tool/crowbar,
+ /obj/item/stack/marker_beacon,
+ /obj/item/stack/flag,
+ /obj/item/weapon/clipboard,
+ /obj/item/weapon/cell
+ )
+
+//Mercenary Crewsuit (RED, CROSS)
+//The best of the best, this should be ultra-rare
+/obj/item/clothing/head/helmet/space/void/refurb/mercenary
+ name = "vintage mercenary voidsuit helmet"
+ desc = "A refurbished early contact era voidsuit helmet of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. The visor has a bad habit of fogging up and collecting condensation, but it beats sucking hard vacuum. The red markings indicate this as the mercenary variant. The company ID has been scratched off."
+ icon_state = "rig0-vintagemerc"
+ item_state_slots = list(slot_r_hand_str = "syndicate-helm-black", slot_l_hand_str = "syndicate-helm-black")
+ armor = list(melee = 55, bullet = 45, laser = 45, energy = 25, bomb = 50, bio = 100, rad = 50)
+ siemens_coefficient = 0.6
+
+/obj/item/clothing/suit/space/void/refurb/mercenary
+ name = "vintage mercenary voidsuit"
+ desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. The company ID has been scratched off."
+ icon_state = "rig-vintagemerc"
+ item_state_slots = list(slot_r_hand_str = "sec_voidsuitTG", slot_l_hand_str = "sec_voidsuitTG")
+ slowdown = 1.5 //the tradeoff for being hot shit almost on par with a crimson suit is that it slows you down even more
+ armor = list(melee = 55, bullet = 45, laser = 45, energy = 25, bomb = 50, bio = 100, rad = 50)
+ siemens_coefficient = 0.6
+ allowed = list(/obj/item/weapon/gun,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/tank,
+ /obj/item/device/suit_cooling_unit,
+ /obj/item/weapon/melee,
+ /obj/item/weapon/grenade,
+ /obj/item/device/flash,
+ /obj/item/device/gps,
+ /obj/item/device/radio/beacon,
+ /obj/item/weapon/handcuffs,
+ /obj/item/device/hailer,
+ /obj/item/device/holowarrant,
+ /obj/item/device/megaphone,
+ /obj/item/ammo_magazine,
+ /obj/item/device/spaceflare,
+ /obj/item/device/powersink,
+ /obj/item/device/radio_jammer,
+ /obj/item/weapon/cell
+ )
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index 07f4090386ba1dd85ee2a45f6db6359f0a7ff51b..f241ee11e828136f4f1b3b20f107d6ceb8b975cb 100644
GIT binary patch
delta 25083
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