Skrell suit update (#4246)

You now must detach helmets from suits to refit them.
Skrellian spacesuits are now voidsuits, allowing you to attach helmets and magboots to them.
This commit is contained in:
Ezuo
2018-02-20 06:40:49 +10:00
committed by Werner
parent 089cc9de0c
commit 99aa331b3b
9 changed files with 72 additions and 19 deletions

View File

@@ -73,8 +73,8 @@ var/datum/controller/subsystem/traumas/SStraumas
/obj/item/clothing/suit/unathi/robe, /obj/structure/sign/flag/hegemony, /obj/item/stack/material/animalhide/lizard,
/obj/item/toy/plushie/lizard)),
"skrell" = typecacheof(list(/obj/structure/sign/flag/jargon, /obj/item/clothing/ears/skrell, /obj/item/clothing/suit/space/skrell,
/obj/item/clothing/head/helmet/space/skrell, /obj/item/organ/brain/skrell, /obj/item/organ/eyes/skrell,
"skrell" = typecacheof(list(/obj/structure/sign/flag/jargon, /obj/item/clothing/ears/skrell, /obj/item/clothing/suit/space/void/skrell,
/obj/item/clothing/head/helmet/space/void/skrell, /obj/item/organ/brain/skrell, /obj/item/organ/eyes/skrell,
/obj/item/organ/heart/skrell, /obj/item/organ/kidneys/skrell, /obj/item/organ/liver/skrell, /obj/item/organ/lungs/skrell,
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)),

View File

@@ -868,6 +868,18 @@
else if(href_list["apply_paintjob"])
if(!suit && !helmet) return
if(suit && suit.helmet)
to_chat(usr, "<span class='alert'>\The [src] cannot function while a helmet is attached to the suit!</span>")
return
var/list/no_refit
if (helmet && !helmet.refittable)
LAZYADD(no_refit, helmet)
if (suit && !suit.refittable)
LAZYADD(no_refit, suit)
if (LAZYLEN(no_refit))
to_chat(usr, "<span class='alert'>\The [english_list(no_refit)] in [src] [no_refit.len == 1 ? "is" : "are"] not refittable!</span>")
return
active = 1
spawn(100)
apply_paintjob()

View File

@@ -33,7 +33,7 @@
allowed = 1
var/obj/item/clothing/I = O
if (!istype(I) || !allowed)
if (!istype(I) || !allowed || !I.refittable)
user << "<span class='notice'>[src] is unable to modify that.</span>"
return

View File

@@ -24,6 +24,7 @@
var/unbreakable = FALSE
var/default_material = null // Set this to something else if you want material attributes on init.
var/material_armor_modifer = 1 // Adjust if you want seperate types of armor made from the same material to have different protectiveness (e.g. makeshift vs real armor)
var/refittable = TRUE // If false doesn't let the clothing be refit in suit cyclers
/obj/item/clothing/Initialize(var/mapload, var/material_key)

View File

@@ -1,19 +1,20 @@
//Skrell space gear. Sleek like a wetsuit.
/obj/item/clothing/head/helmet/space/skrell
/obj/item/clothing/head/helmet/space/void/skrell
name = "skrellian helmet"
desc = "Smoothly contoured and polished to a shine. Still looks like a fishbowl."
armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100)
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Skrell","Human")
siemens_coefficient = 0.4
refittable = FALSE
/obj/item/clothing/head/helmet/space/skrell/white
/obj/item/clothing/head/helmet/space/void/skrell/white
icon_state = "skrell_helmet_white"
/obj/item/clothing/head/helmet/space/skrell/black
/obj/item/clothing/head/helmet/space/void/skrell/black
icon_state = "skrell_helmet_black"
/obj/item/clothing/suit/space/skrell
/obj/item/clothing/suit/space/void/skrell
name = "skrellian voidsuit"
desc = "Seems like a wetsuit with reinforced plating seamlessly attached to it. Very chic."
armor = list(melee = 20, bullet = 20, laser = 50,energy = 50, bomb = 50, bio = 100, rad = 100)
@@ -22,12 +23,13 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Skrell","Human")
siemens_coefficient = 0.4
refittable = FALSE
/obj/item/clothing/suit/space/skrell/white
/obj/item/clothing/suit/space/void/skrell/white
icon_state = "skrell_suit_white"
item_state = "skrell_suit_white"
/obj/item/clothing/suit/space/skrell/black
/obj/item/clothing/suit/space/void/skrell/black
icon_state = "skrell_suit_black"
item_state = "skrell_suit_black"

View File

@@ -474,7 +474,7 @@ var/list/worths = list(
/obj/item/clothing/suit/space/void/security = 3000,
/obj/item/clothing/suit/space/void = 2800,
/obj/item/clothing/suit/space/syndicate = 2200,
/obj/item/clothing/suit/space/skrell = 1500,
/obj/item/clothing/suit/space/void/skrell = 3000,
/obj/item/clothing/suit/space/vox = 1000,
/obj/item/clothing/suit/space/cult = 1050,
/obj/item/clothing/suit/space/emergency = 150,
@@ -547,7 +547,7 @@ var/list/worths = list(
/obj/item/clothing/head/helmet/space/syndicate = 1200,
/obj/item/clothing/head/helmet/space/deathsquad = 2400,
/obj/item/clothing/head/helmet/space/vox = 1200,
/obj/item/clothing/head/helmet/space/skrell = 1200,
/obj/item/clothing/head/helmet/space/void/skrell = 1200,
/obj/item/clothing/head/helmet/space/cult = 1300,
/obj/item/clothing/head/helmet/space/emergency = 250,
/obj/item/clothing/head/helmet/space = 450,