mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 20:47:43 +01:00
@@ -517,6 +517,7 @@ client/proc/one_click_antag()
|
||||
new_vox.mind_initialize()
|
||||
new_vox.mind.assigned_role = "MODE"
|
||||
new_vox.mind.special_role = "Vox Raider"
|
||||
new_vox.mutations |= NOCLONE //Stops the station crew from messing around with their DNA.
|
||||
|
||||
ticker.mode.traitors += new_vox.mind
|
||||
new_vox.equip_vox_raider()
|
||||
|
||||
@@ -822,7 +822,9 @@ datum/preferences
|
||||
var/list/valid_hairstyles = list()
|
||||
for(var/hairstyle in hair_styles_list)
|
||||
var/datum/sprite_accessory/S = hair_styles_list[hairstyle]
|
||||
if(gender != S.gender)
|
||||
if(gender == MALE && S.gender == FEMALE)
|
||||
continue
|
||||
if(gender == FEMALE && S.gender == MALE)
|
||||
continue
|
||||
if( !(species in S.species_allowed))
|
||||
continue
|
||||
@@ -838,7 +840,9 @@ datum/preferences
|
||||
var/list/valid_facialhairstyles = list()
|
||||
for(var/facialhairstyle in facial_hair_styles_list)
|
||||
var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
|
||||
if(gender != S.gender)
|
||||
if(gender == MALE && S.gender == FEMALE)
|
||||
continue
|
||||
if(gender == FEMALE && S.gender == MALE)
|
||||
continue
|
||||
if( !(species in S.species_allowed))
|
||||
continue
|
||||
@@ -875,7 +879,7 @@ datum/preferences
|
||||
for(var/L in all_languages)
|
||||
var/datum/language/lang = all_languages[L]
|
||||
if(!(lang.flags & RESTRICTED))
|
||||
new_languages += lang
|
||||
new_languages += lang.name
|
||||
|
||||
language = input("Please select a secondary language", "Character Generation", null) in new_languages
|
||||
|
||||
@@ -921,7 +925,9 @@ datum/preferences
|
||||
var/list/valid_facialhairstyles = list()
|
||||
for(var/facialhairstyle in facial_hair_styles_list)
|
||||
var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
|
||||
if(gender != S.gender)
|
||||
if(gender == MALE && S.gender == FEMALE)
|
||||
continue
|
||||
if(gender == FEMALE && S.gender == MALE)
|
||||
continue
|
||||
if( !(species in S.species_allowed))
|
||||
continue
|
||||
|
||||
@@ -1,6 +1,32 @@
|
||||
/obj/item/clothing
|
||||
name = "clothing"
|
||||
var/list/species_restricted = null //Only these species can wear this kit.
|
||||
|
||||
//BS12: Species-restricted clothing check.
|
||||
/obj/item/clothing/mob_can_equip(M as mob, slot)
|
||||
|
||||
if(species_restricted && istype(M,/mob/living/carbon/human))
|
||||
|
||||
var/wearable = null
|
||||
var/exclusive = null
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
if("exclude" in species_restricted)
|
||||
exclusive = 1
|
||||
|
||||
if(H.species)
|
||||
if(exclusive)
|
||||
if(!(H.species.name in species_restricted))
|
||||
wearable = 1
|
||||
else
|
||||
if(H.species.name in species_restricted)
|
||||
wearable = 1
|
||||
|
||||
if(!wearable)
|
||||
M << "\red Your species cannot wear [src]."
|
||||
return 0
|
||||
|
||||
return ..()
|
||||
|
||||
//Ears: currently only used for headsets and earmuffs
|
||||
/obj/item/clothing/ears
|
||||
@@ -98,6 +124,7 @@ BLIND // can't see anything
|
||||
body_parts_covered = HANDS
|
||||
slot_flags = SLOT_GLOVES
|
||||
attack_verb = list("challenged")
|
||||
species_restricted = list("exclude","Unathi","Tajara")
|
||||
|
||||
/obj/item/clothing/gloves/examine()
|
||||
set src in usr
|
||||
@@ -142,6 +169,7 @@ BLIND // can't see anything
|
||||
|
||||
permeability_coefficient = 0.50
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
species_restricted = list("exclude","Unathi","Tajara")
|
||||
|
||||
//Suit
|
||||
/obj/item/clothing/suit
|
||||
@@ -170,6 +198,7 @@ BLIND // can't see anything
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
species_restricted = list("exclude","Diona","Vox")
|
||||
|
||||
/obj/item/clothing/suit/space
|
||||
name = "Space suit"
|
||||
@@ -188,7 +217,7 @@ BLIND // can't see anything
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
species_restricted = list("exclude","Diona","Vox")
|
||||
|
||||
//Under clothing
|
||||
/obj/item/clothing/under
|
||||
|
||||
@@ -85,4 +85,10 @@
|
||||
name = "security cap"
|
||||
desc = "It's baseball hat in tasteful red colour."
|
||||
icon_state = "secsoft"
|
||||
color = "sec"
|
||||
color = "sec"
|
||||
|
||||
/obj/item/clothing/head/soft/sec/corp
|
||||
name = "corporate security cap"
|
||||
desc = "It's baseball hat in corpotate colours."
|
||||
icon_state = "corpsoft"
|
||||
color = "corp"
|
||||
@@ -8,6 +8,7 @@
|
||||
origin_tech = "syndicate=3"
|
||||
var/list/clothing_choices = list()
|
||||
siemens_coefficient = 0.8
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/mime
|
||||
name = "mime shoes"
|
||||
@@ -48,11 +49,13 @@
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
heat_protection = FEET
|
||||
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/sandal
|
||||
desc = "A pair of rather plain, wooden sandals."
|
||||
name = "sandals"
|
||||
icon_state = "wizard"
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/sandal/marisa
|
||||
desc = "A pair of magic, black shoes."
|
||||
@@ -66,6 +69,7 @@
|
||||
permeability_coefficient = 0.05
|
||||
flags = NOSLIP
|
||||
slowdown = SHOES_SLOWDOWN+1
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes
|
||||
desc = "The prankster's standard-issue clowning shoes. Damn they're huge!"
|
||||
@@ -75,6 +79,7 @@
|
||||
slowdown = SHOES_SLOWDOWN+1
|
||||
color = "clown"
|
||||
var/footstep = 1 //used for squeeks whilst walking
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/jackboots
|
||||
name = "jackboots"
|
||||
@@ -96,6 +101,7 @@
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
heat_protection = FEET
|
||||
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/cyborg
|
||||
name = "cyborg boots"
|
||||
@@ -107,6 +113,7 @@
|
||||
desc = "Fluffy!"
|
||||
icon_state = "slippers"
|
||||
item_state = "slippers"
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/slippers_worn
|
||||
name = "worn bunny slippers"
|
||||
|
||||
@@ -1,20 +1,64 @@
|
||||
// Tajaran rigs.
|
||||
/obj/item/clothing/head/helmet/space/rig/tajara
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding. This one doesn't look like it was made for humans."
|
||||
icon_state = "rig0-taj-helmet"
|
||||
item_state = "rig0-taj-helmet"
|
||||
color = "taj-helmet"
|
||||
species_restricted = list("Tajaran")
|
||||
|
||||
/obj/item/clothing/suit/space/rig/tajara
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding. This one doesn't look like it was made for humans."
|
||||
icon_state = "rig-taj"
|
||||
item_state = "rig-taj"
|
||||
color = "rig-taj"
|
||||
species_restricted = list("Tajaran")
|
||||
|
||||
//Skrell space gear. Sleek like a wetsuit.
|
||||
|
||||
/obj/item/clothing/head/helmet/space/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_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("Skrell","Human")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/skrell/white
|
||||
icon_state = "skrell_helmet_white"
|
||||
item_state = "skrell_helmet_white"
|
||||
color = "skrell_helmet_white"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/skrell/black
|
||||
icon_state = "skrell_suit_black"
|
||||
item_state = "skrell_suit_black"
|
||||
color = "skrell_suit_black"
|
||||
|
||||
/obj/item/clothing/suit/space/skrell
|
||||
name = "Skrellian hardsuit"
|
||||
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)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("Skrell","Human")
|
||||
|
||||
/obj/item/clothing/suit/space/skrell/white
|
||||
icon_state = "skrell_suit_white"
|
||||
item_state = "skrell_suit_white"
|
||||
color = "skrell_suit_white"
|
||||
|
||||
/obj/item/clothing/suit/space/skrell/black
|
||||
icon_state = "skrell_suit_black"
|
||||
item_state = "skrell_suit_black"
|
||||
color = "skrell_suit_black"
|
||||
|
||||
//Unathi space gear. Huge and restrictive.
|
||||
|
||||
/obj/item/clothing/head/helmet/space/unathi
|
||||
|
||||
armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50)
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
var/up = 0 //So Unathi helmets play nicely with the weldervision check.
|
||||
mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/U = M
|
||||
if(U.species.name != "Unathi")
|
||||
U << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/suit/space/unathi/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/U = M
|
||||
if(U.species.name != "Unathi")
|
||||
U << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
|
||||
return ..()
|
||||
species_restricted = list("Unathi")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/unathi/helmet_cheap
|
||||
name = "NT breacher helmet"
|
||||
@@ -22,9 +66,13 @@
|
||||
icon_state = "unathi_helm_cheap"
|
||||
item_state = "unathi_helm_cheap"
|
||||
color = "unathi_helm_cheap"
|
||||
|
||||
/obj/item/clothing/suit/space/unathi
|
||||
armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50)
|
||||
heat_protection = HEAD
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("Unathi")
|
||||
|
||||
/obj/item/clothing/suit/space/unathi/rig_cheap
|
||||
name = "NT breacher chassis"
|
||||
@@ -32,10 +80,21 @@
|
||||
icon_state = "rig-unathi-cheap"
|
||||
item_state = "rig-unathi-cheap"
|
||||
slowdown = 3
|
||||
armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
|
||||
/obj/item/clothing/head/helmet/space/unathi/breacher
|
||||
name = "breacher helm"
|
||||
desc = "Weathered, ancient and battle-scarred. The helmet is too."
|
||||
icon_state = "unathi_breacher"
|
||||
item_state = "unathi_breacher"
|
||||
color = "unathi_breacher"
|
||||
|
||||
/obj/item/clothing/suit/space/unathi/breacher
|
||||
name = "breacher chassis"
|
||||
desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank."
|
||||
icon_state = "unathi_breacher"
|
||||
item_state = "unathi_breacher"
|
||||
color = "unathi_breacher"
|
||||
slowdown = 1
|
||||
|
||||
// Vox space gear (vaccuum suit, low pressure armour)
|
||||
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
||||
@@ -47,24 +106,12 @@
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
flags = HEADCOVERSEYES|STOPSPRESSUREDMAGE
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/V = M
|
||||
if(V.species.name != "Vox")
|
||||
V << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/suit/space/vox/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/V = M
|
||||
if(V.species.name != "Vox")
|
||||
V << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/pressure
|
||||
name = "alien helmet"
|
||||
@@ -116,6 +163,7 @@
|
||||
|
||||
/obj/item/clothing/under/vox
|
||||
has_sensor = 0
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/under/vox/vox_casual
|
||||
name = "alien clothing"
|
||||
@@ -139,13 +187,7 @@
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
color="gloves-vox"
|
||||
|
||||
/obj/item/clothing/gloves/yellow/vox/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/U = M
|
||||
if(U.species.name != "Vox")
|
||||
U << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox
|
||||
|
||||
@@ -153,6 +195,7 @@
|
||||
name = "vox boots"
|
||||
item_state = "boots-vox"
|
||||
icon_state = "boots-vox"
|
||||
species_restricted = list("Vox")
|
||||
|
||||
toggle()
|
||||
//set name = "Toggle Floor Grip"
|
||||
@@ -170,11 +213,4 @@
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/U = M
|
||||
if(U.species.name != "Vox")
|
||||
U << "<span class='warning'>This clearly isn't designed for your species!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
..()
|
||||
@@ -12,6 +12,7 @@
|
||||
icon_action_button = "action_hardhat"
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("exclude","Unathi","Tajara","Skrell","Diona","Vox")
|
||||
|
||||
attack_self(mob/user)
|
||||
if(!isturf(user.loc))
|
||||
@@ -46,6 +47,7 @@
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
species_restricted = list("exclude","Unathi","Tajara","Diona","Vox")
|
||||
|
||||
//Chief Engineer's rig
|
||||
/obj/item/clothing/head/helmet/space/rig/elite
|
||||
|
||||
@@ -48,6 +48,16 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/rank/security/corp
|
||||
icon_state = "sec_corporate"
|
||||
item_state = "sec_corporate"
|
||||
color = "sec_corporate"
|
||||
|
||||
/obj/item/clothing/under/rank/warden/corp
|
||||
icon_state = "warden_corporate"
|
||||
item_state = "warden_corporate"
|
||||
color = "warden_corporate"
|
||||
|
||||
/*
|
||||
* Detective
|
||||
*/
|
||||
@@ -83,6 +93,10 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/under/rank/head_of_security/corp
|
||||
icon_state = "hos_corporate"
|
||||
item_state = "hos_corporate"
|
||||
color = "hos_corporate"
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS
|
||||
name = "Head of Security Hat"
|
||||
@@ -94,10 +108,9 @@
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/hos
|
||||
name = "armored coat"
|
||||
desc = "A greatcoat enchanced with a special alloy for some protection and style."
|
||||
desc = "A greatcoat enhanced with a special alloy for some protection and style."
|
||||
icon_state = "hos"
|
||||
item_state = "hos"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
|
||||
@@ -677,7 +677,7 @@
|
||||
for (var/datum/data/record/R in data_core.general)
|
||||
if (R.fields["id"] == E.fields["id"])
|
||||
|
||||
var/setmedical = input(usr, "Specify a new medical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("*Deceased*", "*Unconscious*", "Physically Unfit", "Active", "Cancel")
|
||||
var/setmedical = input(usr, "Specify a new medical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("*SSD*", "*Deceased*", "Physically Unfit", "Active", "Disabled", "Cancel")
|
||||
|
||||
if(hasHUD(usr,"medical"))
|
||||
if(setmedical != "Cancel")
|
||||
|
||||
@@ -357,10 +357,10 @@
|
||||
|
||||
var/datum/language/chosen_language
|
||||
if(client.prefs.language)
|
||||
chosen_language = all_languages[client.prefs.language]
|
||||
chosen_language = all_languages["[client.prefs.language]"]
|
||||
if(chosen_language)
|
||||
if(is_alien_whitelisted(src, client.prefs.language) || !config.usealienwhitelist || !(chosen_language.flags & WHITELISTED))
|
||||
new_character.add_language(client.prefs.language)
|
||||
new_character.add_language("[client.prefs.language]")
|
||||
|
||||
if(ticker.random_players)
|
||||
new_character.gender = pick(MALE, FEMALE)
|
||||
|
||||
Reference in New Issue
Block a user