Merge branch 'master' into Bloody_bags

This commit is contained in:
Trilbyspaceclone
2018-10-28 20:51:53 -04:00
committed by GitHub
119 changed files with 7612 additions and 6840 deletions

View File

@@ -37,7 +37,7 @@
active_hotspot = new /obj/effect/hotspot(src)
active_hotspot.temperature = exposed_temperature
active_hotspot.volume = exposed_volume
active_hotspot.volume = exposed_volume*25
active_hotspot.just_spawned = (current_cycle < SSair.times_fired)
//remove just_spawned protection if no longer processing this cell

View File

@@ -650,7 +650,7 @@
if(0)
add_overlay(AALARM_OVERLAY_GREEN)
overlay_state = AALARM_OVERLAY_GREEN
light_color = LIGHT_COLOR_GREEN
light_color = LIGHT_COLOR_BLUEGREEN
set_light(brightness_on)
if(1)
add_overlay(AALARM_OVERLAY_WARN)

View File

@@ -1475,7 +1475,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["mam_tail"] = "None"
if("tail_human")
var/list/snowflake_tails_list = list("None" = null)
var/list/snowflake_tails_list = list()
for(var/path in GLOB.tails_list_human)
var/datum/sprite_accessory/tails/human/instance = GLOB.tails_list_human[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1492,7 +1492,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["mam_tail"] = "None"
if("mam_tail")
var/list/snowflake_tails_list = list("None" = null)
var/list/snowflake_tails_list = list()
for(var/path in GLOB.mam_tails_list)
var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1568,7 +1568,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
skin_tone = new_s_tone
if("taur")
var/list/snowflake_taur_list = list("Normal" = null)
var/list/snowflake_taur_list = list()
for(var/path in GLOB.taur_list)
var/datum/sprite_accessory/taur/instance = GLOB.taur_list[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1586,7 +1586,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["tail_lizard"] = "None"
if("ears")
var/list/snowflake_ears_list = list("Normal" = null)
var/list/snowflake_ears_list = list()
for(var/path in GLOB.ears_list)
var/datum/sprite_accessory/ears/instance = GLOB.ears_list[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1599,7 +1599,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["ears"] = new_ears
if("mam_ears")
var/list/snowflake_ears_list = list("Normal" = null)
var/list/snowflake_ears_list = list()
for(var/path in GLOB.mam_ears_list)
var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path]
if(istype(instance, /datum/sprite_accessory))
@@ -1612,7 +1612,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["mam_ears"] = new_ears
if("mam_body_markings")
var/list/snowflake_markings_list = list("Normal" = null)
var/list/snowflake_markings_list = list()
for(var/path in GLOB.mam_body_markings_list)
var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[path]
if(istype(instance, /datum/sprite_accessory))
@@ -2062,9 +2062,19 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else if("xenotail" in pref_species.default_features)
character.dna.species.mutant_bodyparts |= "xenotail"
if(("legs" in pref_species.default_features) && character.dna.features["legs"] == "Digitigrade Legs")
pref_species.species_traits += DIGITIGRADE
if("legs" in pref_species.default_features)
if(character.dna.features["legs"] == "Digitigrade Legs")
pref_species.species_traits += DIGITIGRADE
character.Digitigrade_Leg_Swap(FALSE)
if(character.dna.features["legs"] == "Normal Legs" && DIGITIGRADE in pref_species.species_traits)
pref_species.species_traits -= DIGITIGRADE
character.Digitigrade_Leg_Swap(TRUE)
else if((!"legs" in pref_species.default_features) && DIGITIGRADE in pref_species.species_traits)
pref_species.species_traits -= DIGITIGRADE
character.Digitigrade_Leg_Swap(TRUE)
if(DIGITIGRADE in pref_species.species_traits)
character.Digitigrade_Leg_Swap(FALSE)

View File

@@ -56,7 +56,7 @@
var/antaglisting = list()
for(var/datum/mind/M in get_antag_minds(/datum/antagonist))
if(!M.current || !M.current.client)
if(!M.current || !M.current.client || isnewplayer(M.current))
continue
antaglisting |= M.current.client
@@ -104,7 +104,7 @@ GLOBAL_VAR_INIT(antag_ooc_colour, AOOC_COLOR)
var/antaglisting = list() //Only those who have access to AOOC need to know if it's enabled or not.
for(var/datum/mind/M in get_antag_minds(/datum/antagonist))
if(!M.current || !M.current.client)
if(!M.current || !M.current.client || isnewplayer(M.current))
continue
antaglisting |= M.current.client

View File

@@ -54,7 +54,10 @@
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe")
if(bloody)
. += mutable_appearance('icons/effects/blood.dmi', "shoeblood")
if(adjusted == NORMAL_STYLE)
. += mutable_appearance('icons/effects/blood.dmi', "shoeblood")
else
. += mutable_appearance('modular_citadel/icons/mob/digishoes.dmi', "shoeblood")
/obj/item/clothing/shoes/equipped(mob/user, slot)
. = ..()

View File

@@ -35,7 +35,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals)
slowdown = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -43,3 +43,4 @@
strip_delay = 80
equip_delay_other = 80
resistance_flags = NONE
tauric = TRUE //Citadel Add for tauric hardsuits

View File

@@ -180,6 +180,7 @@
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
//Atmospherics
/obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
@@ -201,6 +202,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
tauric = TRUE //Citadel Add for tauric hardsuits
//Chief Engineer's hardsuit
@@ -224,6 +226,7 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
//Mining hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/mining
@@ -254,6 +257,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/mining/Initialize()
. = ..()
@@ -349,6 +353,7 @@
allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
//Elite Syndie suit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
@@ -377,6 +382,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
//The Owl Hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
@@ -449,6 +455,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical
tauric = TRUE //Citadel Add for tauric hardsuits
//Research Director hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/rd
@@ -490,6 +497,7 @@
/obj/item/hand_tele, /obj/item/aicard)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd
tauric = TRUE //Citadel Add for tauric hardsuits
@@ -510,6 +518,7 @@
item_state = "sec_hardsuit"
armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/security/Initialize()
. = ..()
@@ -531,6 +540,7 @@
armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
//Captain
/obj/item/clothing/head/helmet/space/hardsuit/captain
@@ -558,6 +568,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/captain/Initialize()
. = ..()
@@ -657,6 +668,7 @@
var/recharge_rate = 1 //How quickly the shield recharges once it starts charging
var/shield_state = "shield-old"
var/shield_on = "shield-old"
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/shielded/Initialize()
. = ..()
@@ -774,6 +786,7 @@
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
slowdown = 0
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/shielded/syndi/Initialize()
@@ -803,6 +816,7 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat
dog_fashion = /datum/dog_fashion/back/deathsquad
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/helmet/space/hardsuit/shielded/swat
name = "death commando helmet"

View File

@@ -191,6 +191,7 @@ Contains:
icon_state = "ert_security"
item_state = "ert_security"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/sec
tauric = TRUE //Citadel Add for tauric hardsuits
//ERT Engineering
/obj/item/clothing/head/helmet/space/hardsuit/ert/engi
@@ -204,6 +205,7 @@ Contains:
icon_state = "ert_engineer"
item_state = "ert_engineer"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engi
tauric = TRUE //Citadel Add for tauric hardsuits
//ERT Medical
/obj/item/clothing/head/helmet/space/hardsuit/ert/med
@@ -218,6 +220,7 @@ Contains:
item_state = "ert_medical"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/med
species_exception = list(/datum/species/angel)
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/eva
name = "EVA suit"
@@ -225,6 +228,7 @@ Contains:
item_state = "s_suit"
desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies."
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 65)
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/helmet/space/eva
name = "EVA helmet"
@@ -343,6 +347,7 @@ Contains:
slowdown = 2
armor = list("melee" = 5, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 0, "acid" = 0)
strip_delay = 65
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(!torn && prob(50))

View File

@@ -109,6 +109,7 @@
name = "green space suit"
icon_state = "syndicate-black-med"
item_state = "syndicate-black"
tauric = TRUE //Citadel Add for tauric hardsuits
//Black-orange syndicate space suit

View File

@@ -9,6 +9,48 @@
var/togglename = null
var/suittoggled = FALSE
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
var/tauric = FALSE //Citadel Add for tauric hardsuits
var/taurmode = NOT_TAURIC
var/dimension_x = 32
var/dimension_y = 32
var/center = FALSE //Should we center the sprite?
/obj/item/clothing/suit/equipped(mob/user, slot)
..()
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(mutantrace_variation)
if(DIGITIGRADE in H.dna.species.species_traits)
adjusted = ALT_STYLE
H.update_inv_wear_suit()
else if(adjusted == ALT_STYLE)
adjusted = NORMAL_STYLE
H.update_inv_wear_suit()
if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None"))
if(H.dna.features["taur"] in list("Naga", "Tentacle"))
taurmode = SNEK_TAURIC
if(tauric == TRUE)
center = TRUE
dimension_x = 64
else if(H.dna.features["taur"] in list("Fox", "Wolf", "Otie", "Drake", "Lab", "Shepherd", "Husky", "Eevee", "Panther", "Tajaran", "Horse", "Cow"))
taurmode = PAW_TAURIC
if(tauric == TRUE)
center = TRUE
dimension_x = 64
/*
else if(H.dna.features["taur"] == "Horse" || "Cow")
taurmode = HOOF_TAURIC //tweak this for when the exotics get their own suits, if ever.
center = TRUE
dimension_x = 64
*/
else
taurmode = NOT_TAURIC
H.update_inv_wear_suit()
/obj/item/clothing/suit/worn_overlays(isinhands = FALSE)
. = list()

View File

@@ -23,6 +23,7 @@
item_state = "armoralt"
blood_overlay_type = "armor"
dog_fashion = /datum/dog_fashion/back
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/armor/vest/alt
desc = "A Type I armored vest that provides decent protection against most types of damage."

View File

@@ -23,10 +23,11 @@
slowdown = 1
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/pen, /obj/item/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
strip_delay = 70
equip_delay_other = 70
resistance_flags = ACID_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general

View File

@@ -20,7 +20,8 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar)
slowdown = 1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
@@ -29,6 +30,7 @@
strip_delay = 60
equip_delay_other = 60
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/fire/firefighter
icon_state = "firesuit"
@@ -83,7 +85,7 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 2
armor = list("melee" = 20, "bullet" = 0, "laser" = 20,"energy" = 10, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
flags_inv = HIDEJUMPSUIT
flags_inv = HIDEJUMPSUIT|HIDETAUR
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -91,6 +93,7 @@
strip_delay = 70
equip_delay_other = 70
resistance_flags = NONE
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/bomb_hood/security
@@ -143,6 +146,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30)
strip_delay = 60
equip_delay_other = 60
flags_inv = HIDEJUMPSUIT
flags_inv = HIDEJUMPSUIT|HIDETAUR
resistance_flags = NONE
rad_flags = RAD_PROTECT_CONTENTS
tauric = TRUE //Citadel Add for tauric hardsuits

View File

@@ -9,6 +9,7 @@
siemens_coefficient = 0.5
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/armor/xcomsquaddie/dredd
name = "Judge Armor"
@@ -17,6 +18,7 @@
item_state = "dredd-suit"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/armor/xcomarmor
@@ -30,6 +32,7 @@
siemens_coefficient = 0.5
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/armor/vest/neorussian
name = "neo-Russian vest"
@@ -38,6 +41,7 @@
item_state = "nr_vest"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/armor/doomguy
name = "Doomguy's armor"
@@ -49,6 +53,7 @@
armor = list(melee = 50, bullet = 30, laser = 20, energy = 20, bomb = 30, bio = 0, rad = 0)
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/kaminacape
@@ -58,6 +63,7 @@
body_parts_covered = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/officercoat
name = "Officer's Coat"
@@ -65,6 +71,7 @@
icon_state = "officersuit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/soldiercoat
name = "Soldier's Coat"
@@ -72,6 +79,7 @@
icon_state = "soldiersuit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/russofurcoat
name = "russian fur coat"
@@ -81,6 +89,7 @@
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/doshjacket
name = "Plasterer's Jacket"
@@ -89,6 +98,7 @@
body_parts_covered = CHEST|GROIN|ARMS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/maidapron
name = "Apron"
@@ -97,6 +107,7 @@
body_parts_covered = CHEST|GROIN
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/clownpiece
name = "small fairy wings"
@@ -105,6 +116,7 @@
body_parts_covered = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/clownpiece/flying
name = "small fairy wings"
@@ -112,6 +124,7 @@
icon_state = "clownpiece-fly"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/raincoat
name = "Raincoat"
@@ -120,5 +133,6 @@
body_parts_covered =CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION

View File

@@ -65,6 +65,8 @@
var/mob/living/carbon/human/H = user
if(DIGITIGRADE in H.dna.species.species_traits)
suit_style = DIGITIGRADE_SUIT_STYLE
else
suit_style = NORMAL_SUIT_STYLE
H.update_inv_w_uniform()
if(attached_accessory && slot != SLOT_HANDS && ishuman(user))

View File

@@ -148,6 +148,7 @@
new /obj/item/stack/spacecash/c200(drop_location())
credits_stored -= 200
to_chat(user,"<span class='notice'>You retrieve the siphoned credits!</span>")
credits_stored = 0
/obj/machinery/shuttle_scrambler/proc/send_notification()

View File

@@ -156,7 +156,7 @@
icon_state = "mint"
bitesize = 1
trash = /obj/item/trash/plate
list_reagents = list("minttoxin" = 1)
list_reagents = list("minttoxin" = 2)
filling_color = "#800000"
foodtype = TOXIC | SUGAR

View File

@@ -28,7 +28,7 @@
if(last_check_time + 50 < world.time)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.mind && H.mind.assigned_role == "Security Officer" && !H.has_trait(TRAIT_AGEUSIA))
if(H.mind && H.mind.assigned_role == "Security Officer" || H.mind.assigned_role == "Detective" || H.mind.assigned_role == "Warden" || H.mind.assigned_role == "Head of Security" && !H.has_trait(TRAIT_AGEUSIA))
to_chat(H,"<span class='notice'>I love this taste!</span>")
H.adjust_disgust(-5 + -2.5 * fraction)
GET_COMPONENT_FROM(mood, /datum/component/mood, H)

View File

@@ -10,6 +10,8 @@
active_power_usage = 100
circuit = /obj/item/circuitboard/machine/microwave
pass_flags = PASSTABLE
light_color = LIGHT_COLOR_YELLOW
light_power = 3
var/operating = FALSE // Is it on?
var/dirty = 0 // = {0..100} Does it need cleaning?
var/broken = 0 // ={0,1,2} How broken is it???
@@ -267,12 +269,14 @@
soundloop.start()
operating = TRUE
icon_state = "mw1"
set_light(1.5)
updateUsrDialog()
/obj/machinery/microwave/proc/abort()
operating = FALSE // Turn it off again aferwards
icon_state = "mw"
updateUsrDialog()
set_light(0)
soundloop.stop()
/obj/machinery/microwave/proc/stop()
@@ -298,6 +302,7 @@
if(prob(50))
new /obj/item/reagent_containers/food/snacks/badrecipe(src)
qdel(S)
set_light(0)
soundloop.stop()
/obj/machinery/microwave/proc/broke()
@@ -310,6 +315,7 @@
flags_1 = null //So you can't add condiments
operating = FALSE // Turn it off again aferwards
updateUsrDialog()
set_light(0)
soundloop.stop()
/obj/machinery/microwave/Topic(href, href_list)

View File

@@ -13,6 +13,7 @@
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/hooded/explorer
name = "explorer hood"
@@ -63,6 +64,7 @@
clothing_flags = THICKMATERIAL //not spaceproof
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | LAVA_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
slowdown = 0
armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
@@ -121,7 +123,7 @@
/****************SEVA Suit and Mask****************/
/obj/item/clothing/suit/hooded/seva
name = "SEVA suit"
name = "SEVA Suit"
desc = "A fire-proof suit for exploring hot environments."
icon_state = "seva"
item_state = "seva"
@@ -133,9 +135,10 @@
armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/hooded/seva
name = "SEVA hood"
name = "SEVA Hood"
desc = "A fire-proof hood for exploring hot environments."
icon_state = "seva"
item_state = "seva"
@@ -145,6 +148,19 @@
armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25)
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
/obj/item/clothing/mask/gas/seva
name = "SEVA Mask"
desc = "A face-covering plate that can be connected to an air supply. Intended for use with the SEVA Suit."
icon_state = "seva"
clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_NORMAL
item_state = "seva"
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
resistance_flags = FIRE_PROOF
/****************Exo-Suit and Mask****************/
/obj/item/clothing/suit/hooded/exo
@@ -162,6 +178,7 @@
armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/hooded/exo
name = "Exo-hood"
@@ -173,4 +190,17 @@
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
/obj/item/clothing/mask/gas/exo
name = "Exosuit Mask"
desc = "A face-covering mask that can be connected to an air supply. Intended for use with the Exosuit."
icon_state = "exo"
clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_NORMAL
item_state = "exo"
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
resistance_flags = FIRE_PROOF

View File

@@ -73,6 +73,9 @@
/obj/item/twohanded/required/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams)
. = ..()
if(istype(target, /obj/item/crusher_trophy))
var/obj/item/crusher_trophy/T = target
T.add_to(src, user)
if(!proximity_flag && charged)//Mark a target, or mine a tile.
var/turf/proj_turf = user.loc
if(!isturf(proj_turf))

View File

@@ -99,6 +99,8 @@ GLOBAL_LIST(labor_sheet_values)
if("move_shuttle")
if(!alone_in_area(get_area(src), usr))
to_chat(usr, "<span class='warning'>Prisoners are only allowed to be released while alone.</span>")
else if(!check_auth())
to_chat(usr, "<span class='warning'>Prisoners are only allowed to be released when they reach their point goal.</span>")
else
switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE))
if(1)

View File

@@ -308,8 +308,10 @@
switch(selection)
if("Exo-suit")
new /obj/item/clothing/suit/hooded/exo(drop_location)
new /obj/item/clothing/mask/gas/exo(drop_location)
if("SEVA suit")
new /obj/item/clothing/suit/hooded/seva(drop_location)
new /obj/item/clothing/mask/gas/seva(drop_location)
SSblackbox.record_feedback("tally", "suit_voucher_redeemed", 1, selection)
qdel(voucher)

View File

@@ -53,3 +53,4 @@
var/creamed = FALSE //to use with creampie overlays
var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot))
var/lastpuke = 0
var/last_fire_update

View File

@@ -122,6 +122,12 @@
///FIRE CODE
/mob/living/carbon/human/handle_fire()
if(!last_fire_update)
last_fire_update = fire_stacks
if((fire_stacks > HUMAN_FIRE_STACK_ICON_NUM && last_fire_update <= HUMAN_FIRE_STACK_ICON_NUM) || (fire_stacks <= HUMAN_FIRE_STACK_ICON_NUM && last_fire_update > HUMAN_FIRE_STACK_ICON_NUM))
last_fire_update = fire_stacks
update_fire()
..()
if(dna)
dna.species.handle_fire(src)
@@ -154,6 +160,7 @@
/mob/living/carbon/human/ExtinguishMob()
if(!dna || !dna.species.ExtinguishMob(src))
last_fire_update = null
..()
//END FIRE CODE

View File

@@ -528,22 +528,22 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD)
if("tail_lizard" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None"))
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "tail_lizard"
if("waggingtail_lizard" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None"))
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "waggingtail_lizard"
else if ("tail_lizard" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_lizard"
if("tail_human" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None"))
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "tail_human"
if("waggingtail_human" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || (!H.dna.features["taur"] == "None"))
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "waggingtail_human"
else if ("tail_human" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_human"
@@ -599,11 +599,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
//Other Races
if("mam_tail" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) || !H.dna.features["taur"] == "None")
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "mam_tail"
if("mam_waggingtail" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT || !H.dna.features["taur"] == "None"))
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
bodyparts_to_add -= "mam_waggingtail"
else if ("mam_tail" in mutant_bodyparts)
bodyparts_to_add -= "mam_waggingtail"
@@ -613,8 +613,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
bodyparts_to_add -= "mam_ears"
if("taur" in mutant_bodyparts)
if(!H.dna.features["taur"] || H.dna.features["taur"] == "None")
if(!H.dna.features["taur"] || H.dna.features["taur"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)))
bodyparts_to_add -= "taur"
//END EDIT
//Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs.
@@ -629,7 +630,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
species_traits += DIGITIGRADE
var/should_be_squished = FALSE
if(H.wear_suit)
if((H.wear_suit.flags_inv & HIDEJUMPSUIT) || ((H.wear_suit.body_parts_covered & LEGS) && (H.wear_suit.body_parts_covered & FEET)))
if(H.wear_suit.mutantrace_variation == NO_MUTANTRACE_VARIATION) //we got digitigrade suits now fam
should_be_squished = TRUE
if(H.w_uniform && !H.wear_suit)
if(H.w_uniform.mutantrace_variation == NO_MUTANTRACE_VARIATION)
@@ -1431,9 +1432,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!target.combatmode) // CITADEL CHANGE
randn += -10 //CITADEL CHANGE - being out of combat mode makes it easier for you to get disarmed
if(user.resting) //CITADEL CHANGE
randn += 60 //CITADEL CHANGE - No kosher disarming if you're resting
randn += 100 //CITADEL CHANGE - No kosher disarming if you're resting
if(!user.combatmode) //CITADEL CHANGE
randn += 25 //CITADEL CHANGE - Makes it harder to disarm outside of combat mode
if(user.pulling == target)
randn += -20 //If you have the time to get someone in a grab, you should have a greater chance at snatching the thing in their hand. Will be made completely obsolete by the grab rework but i've got a poor track record for releasing big projects on time so w/e i guess
if(randn <= 35)//CIT CHANGE - changes this back to a 35% chance to accomodate for the above being commented out in favor of right-click pushing
var/obj/item/I = null

View File

@@ -130,6 +130,8 @@ There are several things that need to be remembered:
t_color = "[t_color]_d_l"
else if(U.adjusted == NORMAL_STYLE)
t_color = "[t_color]_l"
else
U.alternate_worn_icon = null
var/mutable_appearance/uniform_overlay
@@ -284,6 +286,8 @@ There are several things that need to be remembered:
if(S.mutantrace_variation)
if(S.adjusted == ALT_STYLE)
S.alternate_worn_icon = 'modular_citadel/icons/mob/digishoes.dmi'
else
S.alternate_worn_icon = null
overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(state = shoes.icon_state, default_layer = SHOES_LAYER, default_icon_file = ((shoes.alternate_worn_icon) ? shoes.alternate_worn_icon : 'icons/mob/feet.dmi'))
var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER]
@@ -363,18 +367,35 @@ There are several things that need to be remembered:
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_SUIT]
inv.update_icon()
if(istype(wear_suit, /obj/item/clothing/suit))
if(wear_suit)
var/obj/item/clothing/suit/S = wear_suit
wear_suit.screen_loc = ui_oclothing
if(client && hud_used && hud_used.hud_shown)
if(hud_used.inventory_shown)
client.screen += wear_suit
update_observer_view(wear_suit,1)
overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? wear_suit.alternate_worn_icon : 'icons/mob/suit.dmi'))
if(S.mutantrace_variation)
if(S.adjusted == ALT_STYLE)
S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi'
else
S.alternate_worn_icon = null
if(S.tauric == TRUE)
if(S.taurmode == SNEK_TAURIC)
S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_naga.dmi'
if(S.taurmode == PAW_TAURIC)
S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_canine.dmi'
// if(S.taurmode == HOOF_TAURIC) //commenting out for eventual pede/spider/exotics
// S.alternate_worn_icon = 'modular_citadel/icons/mob/taur_hooved.dmi'
overlays_standing[SUIT_LAYER] = S.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? S.alternate_worn_icon : 'icons/mob/suit.dmi'))
var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER]
if(OFFSET_SUIT in dna.species.offset_features)
suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1]
suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2]
if(S.center)
suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y)
overlays_standing[SUIT_LAYER] = suit_overlay
update_hair()
update_mutant_bodyparts()

View File

@@ -1020,7 +1020,7 @@
client.move_delay = world.time + movement_delay()
lying_prev = lying
if(canmove && !intentionalresting && iscarbon(src) && client && client.prefs && client.prefs.autostand)//CIT CHANGE - adds autostanding as a preference
resist_a_rest(TRUE)//CIT CHANGE - ditto
addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto
return canmove
/mob/living/proc/AddAbility(obj/effect/proc_holder/A)

View File

@@ -52,8 +52,9 @@
icon_state = "apc0"
use_power = NO_POWER_USE
req_access = null
max_integrity = 200
max_integrity = 300
integrity_failure = 50
var/damage_deflection = 10
resistance_flags = FIRE_PROOF
interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON
@@ -150,7 +151,7 @@
if (!req_access)
req_access = list(ACCESS_ENGINE_EQUIP)
if (!armor)
armor = list("melee" = 20, "bullet" = 20, "laser" = 10, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 100, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50)
..()
GLOB.apcs_list += src
@@ -742,6 +743,11 @@
if(!(flags_1 & NODECONSTRUCT_1))
set_broken()
/obj/machinery/power/apc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == "melee" && damage_amount < damage_deflection)
return 0
. = ..()
/obj/machinery/power/apc/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(!(stat & BROKEN))

View File

@@ -177,6 +177,7 @@
ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange)
item_state = null
icon_state = "wormhole_projector"
pin = null
var/obj/effect/portal/p_blue
var/obj/effect/portal/p_orange
var/atmos_link = FALSE

View File

@@ -14,6 +14,8 @@
/obj/item/reagent_containers/pill/patch/attack(mob/living/L, mob/user)
if(ishuman(L))
var/obj/item/bodypart/affecting = L.get_bodypart(check_zone(user.zone_selected))
if(!L.can_inject(user, 1, affecting)) //like monkey code, thickmaterial stops patches
return
if(!affecting)
to_chat(user, "<span class='warning'>The limb is missing!</span>")
return

View File

@@ -185,6 +185,7 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/////////////////////////////////////////
//////////Alien Surgery Tools////////////
/////////////////////////////////////////
@@ -605,3 +606,95 @@
id = "surgery_zombie"
surgery = /datum/surgery/advanced/necrotic_revival
research_icon_state = "surgery_head"
/////////////////////////////////////////
////////////Medical Prosthetics//////////
/////////////////////////////////////////
/datum/design/basic_l_arm
name = "Surplus prosthetic left arm"
desc = "Basic outdated and fragile prosthetic left arm."
id = "basic_l_arm"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
construction_time = 20
build_path = /obj/item/bodypart/l_arm/robot/surplus
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/basic_r_arm
name = "Surplus prosthetic right arm"
desc = "Basic outdated and fragile prosthetic left arm."
id = "basic_r_arm"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
construction_time = 20
build_path = /obj/item/bodypart/r_arm/robot/surplus
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/basic_l_leg
name = "Surplus prosthetic left leg"
desc = "Basic outdated and fragile prosthetic left leg."
id = "basic_l_leg"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
construction_time = 20
build_path = /obj/item/bodypart/l_leg/robot/surplus
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/basic_r_leg
name = "Surplus prosthetic right leg"
desc = "Basic outdated and fragile prosthetic right leg."
id = "basic_r_leg"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500)
construction_time = 20
build_path = /obj/item/bodypart/r_leg/robot/surplus
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/adv_r_leg
name = "Advanced prosthetic right leg"
desc = "A renforced prosthetic right leg."
id = "adv_r_leg"
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
construction_time = 40
build_path = /obj/item/bodypart/r_leg/robot/surplus_upgraded
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/adv_l_leg
name = "Advanced prosthetic left leg"
desc = "A renforced prosthetic left leg."
id = "adv_l_leg"
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
construction_time = 40
build_path = /obj/item/bodypart/l_leg/robot/surplus_upgraded
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/adv_l_arm
name = "Advanced prosthetic left arm"
desc = "A renforced prosthetic left arm."
id = "adv_l_arm"
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
construction_time = 40
build_path = /obj/item/bodypart/l_arm/robot/surplus_upgraded
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/datum/design/adv_r_arm
name = "Advanced prosthetic right arm"
desc = "A renforced prosthetic right arm."
id = "adv_r_arm"
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 3500, MAT_GOLD = 500, MAT_TITANIUM = 800)
construction_time = 40
build_path = /obj/item/bodypart/r_arm/robot/surplus_upgraded
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL

View File

@@ -71,6 +71,24 @@
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
/datum/techweb_node/surplus_lims
id = "surplus_lims"
display_name = "Basic Prosthetics"
description = "Basic fragile lims for the impaired."
prereq_ids = list("biotech")
design_ids = list("basic_l_arm", "basic_r_arm", "basic_r_leg", "basic_l_leg")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) // You can knock them off with a glass shard...
export_price = 5000
/datum/techweb_node/advance_lims
id = "advance_lims"
display_name = "Upgraded Prosthetics"
description = "Reinforced prosthetics for the impaired."
prereq_ids = list("adv_biotech", "surplus_lims")
design_ids = list("adv_l_arm", "adv_r_arm", "adv_r_leg", "adv_l_leg")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
/////////////////////////Advanced Surgery/////////////////////////
/datum/techweb_node/adv_surgery
id = "adv_surgery"

View File

@@ -305,3 +305,10 @@
else
S.adjusted = ALT_STYLE
H.update_inv_shoes()
if(H.wear_suit)
var/obj/item/clothing/suit/S = H.wear_suit
if(swap_back)
S.adjusted = NORMAL_STYLE
else
S.adjusted = ALT_STYLE
H.update_inv_wear_suit()

View File

@@ -235,7 +235,7 @@
// Surplus lims
/obj/item/bodypart/l_arm/robot/surplus
name = "surplus prosthetic left arm"
desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing."
@@ -268,6 +268,38 @@
burn_reduction = 0
max_damage = 20
// Upgraded Surplus lims
/obj/item/bodypart/l_arm/robot/surplus_upgraded
name = "reinforced surplus prosthetic left arm"
desc = "A skeletal, robotic limb. This one is reinforced to provide better protection."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
brute_reduction = 1
burn_reduction = 1
max_damage = 30
/obj/item/bodypart/r_arm/robot/surplus_upgraded
name = "reinforced surplus prosthetic right arm"
desc = "A skeletal, robotic limb. This one is reinforced to provide better protection."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
brute_reduction = 1
burn_reduction = 1
max_damage = 30
/obj/item/bodypart/l_leg/robot/surplus_upgraded
name = "reinforced surplus prosthetic left leg"
desc = "A skeletal, robotic limb. This one is reinforced to provide better protection."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
brute_reduction = 1
burn_reduction = 1
max_damage = 30
/obj/item/bodypart/r_leg/robot/surplus_upgraded
name = "reinforced surplus prosthetic right leg"
desc = "A skeletal, robotic limb. This one is reinforced to provide better protection."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
brute_reduction = 1
burn_reduction = 1
max_damage = 30
#undef ROBOTIC_LIGHT_BRUTE_MSG
#undef ROBOTIC_MEDIUM_BRUTE_MSG