//Baseline hardsuits /obj/item/clothing/head/helmet/space/hardsuit name = "hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" item_state = "eng_helm" armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) var/basestate = "hardsuit" var/brightness_on = 4 //luminosity when on var/on = 0 var/obj/item/clothing/suit/space/hardsuit/suit item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite) actions_types = list(/datum/action/item_action/toggle_helmet_light) /obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user) if(!isturf(user.loc)) user << "You cannot turn the light on while in this [user.loc]!" //To prevent some lighting anomalities. return on = !on icon_state = "[basestate][on]-[item_color]" user.update_inv_head() //so our mob-overlays update if(on) user.AddLuminosity(brightness_on) else user.AddLuminosity(-brightness_on) for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() /obj/item/clothing/head/helmet/space/hardsuit/pickup(mob/user) ..() if(on) user.AddLuminosity(brightness_on) SetLuminosity(0) /obj/item/clothing/head/helmet/space/hardsuit/dropped(mob/user) ..() if(on) user.AddLuminosity(-brightness_on) SetLuminosity(brightness_on) if(suit) suit.RemoveHelmet() /obj/item/clothing/head/helmet/space/hardsuit/item_action_slot_check(slot) if(slot == slot_head) return 1 /obj/item/clothing/head/helmet/space/hardsuit/equipped(mob/user, slot) ..() if(slot != slot_head) if(suit) suit.RemoveHelmet() else qdel(src) /obj/item/clothing/head/helmet/space/hardsuit/proc/display_visor_message(var/msg) var/mob/wearer = loc if(msg && ishuman(wearer)) wearer.show_message("\icon[src][msg]", 1) /obj/item/clothing/head/helmet/space/hardsuit/rad_act(severity) ..() display_visor_message("Radiation pulse detected! Magnitude: [severity] RADs.") /obj/item/clothing/head/helmet/space/hardsuit/emp_act(severity) ..() display_visor_message("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!") /obj/item/clothing/suit/space/hardsuit name = "hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/pipe_dispenser) siemens_coefficient = 0 var/obj/item/clothing/head/helmet/space/hardsuit/helmet actions_types = list(/datum/action/item_action/toggle_helmet) var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit var/obj/item/weapon/tank/jetpack/suit/jetpack = null /obj/item/clothing/suit/space/hardsuit/New() if(jetpack && ispath(jetpack)) jetpack = new jetpack(src) ..() /obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) ..() if(jetpack) if(slot == slot_wear_suit) for(var/X in jetpack.actions) var/datum/action/A = X A.Grant(user) /obj/item/clothing/suit/space/hardsuit/dropped(mob/user) ..() if(jetpack) for(var/X in jetpack.actions) var/datum/action/A = X A.Remove(user) /obj/item/clothing/suit/space/hardsuit/item_action_slot_check(slot) if(slot == slot_wear_suit) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit. return 1 //Engineering /obj/item/clothing/head/helmet/space/hardsuit/engine name = "engineering hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" item_state = "eng_helm" armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) item_color = "engineering" /obj/item/clothing/suit/space/hardsuit/engine name = "engineering hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos name = "atmospherics hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has thermal shielding." icon_state = "hardsuit0-atmospherics" item_state = "atmo_helm" item_color = "atmospherics" armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/engine/atmos name = "atmospherics hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has thermal shielding." icon_state = "hardsuit-atmospherics" item_state = "atmo_hardsuit" armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos //Chief Engineer's hardsuit /obj/item/clothing/head/helmet/space/hardsuit/engine/elite name = "advanced hardsuit helmet" desc = "An advanced helmet designed for work in a hazardous, low pressure environment. Shines with a high polish." icon_state = "hardsuit0-white" item_state = "ce_helm" item_color = "white" armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/engine/elite icon_state = "hardsuit-white" name = "advanced hardsuit" desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." item_state = "ce_hardsuit" armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite jetpack = /obj/item/weapon/tank/jetpack/suit //Mining hardsuit /obj/item/clothing/head/helmet/space/hardsuit/mining name = "mining hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights." icon_state = "hardsuit0-mining" item_state = "mining_helm" item_color = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|ARMS armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) brightness_on = 7 allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator) /obj/item/clothing/suit/space/hardsuit/mining icon_state = "hardsuit-mining" name = "mining hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters." item_state = "mining_hardsuit" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining //Syndicate hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi name = "blood-red hardsuit helmet" desc = "A dual-mode advanced helmet designed for work in special operations. It is in EVA mode. Property of Gorlex Marauders." alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) on = 1 var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null actions_types = list(/datum/action/item_action/toggle_helmet_mode) visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR visor_flags = STOPSPRESSUREDMAGE /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon() icon_state = "hardsuit[on]-[item_color]" /obj/item/clothing/head/helmet/space/hardsuit/syndi/New() ..() if(istype(loc, /obj/item/clothing/suit/space/hardsuit/syndi)) linkedsuit = loc /obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self(mob/user) //Toggle Helmet if(!isturf(user.loc)) user << "You cannot toggle your helmet while in this [user.loc]!" //To prevent some lighting anomalities. return on = !on if(on || force) user << "You switch your hardsuit to EVA mode, sacrificing speed for space protection." name = initial(name) desc = initial(desc) user.AddLuminosity(brightness_on) flags |= visor_flags flags_cover |= HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv |= visor_flags_inv cold_protection |= HEAD else user << "You switch your hardsuit to combat mode and can now run at full speed." name += " (combat)" desc = alt_desc user.AddLuminosity(-brightness_on) flags &= ~visor_flags flags_cover &= ~(HEADCOVERSEYES | HEADCOVERSMOUTH) flags_inv &= ~visor_flags_inv cold_protection &= ~HEAD update_icon() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) toggle_hardsuit_mode(user) user.update_inv_head() if(istype(user, /mob/living/carbon)) var/mob/living/carbon/C = user C.head_update(src, forced = 1) for(var/X in actions) var/datum/action/A = X A.UpdateButtonIcon() /obj/item/clothing/head/helmet/space/hardsuit/syndi/proc/toggle_hardsuit_mode(mob/user) //Helmet Toggles Suit Mode if(linkedsuit) if(on) linkedsuit.name = initial(linkedsuit.name) linkedsuit.desc = initial(linkedsuit.desc) linkedsuit.slowdown = 1 linkedsuit.flags |= STOPSPRESSUREDMAGE linkedsuit.cold_protection |= CHEST | GROIN | LEGS | FEET | ARMS | HANDS else linkedsuit.name += " (combat)" linkedsuit.desc = linkedsuit.alt_desc linkedsuit.slowdown = 0 linkedsuit.flags &= ~(STOPSPRESSUREDMAGE) linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) linkedsuit.icon_state = "hardsuit[on]-[item_color]" linkedsuit.update_icon() user.update_inv_wear_suit() user.update_inv_w_uniform() /obj/item/clothing/suit/space/hardsuit/syndi name = "blood-red hardsuit" desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in EVA mode. Property of Gorlex Marauders." alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" item_color = "syndi" w_class = 3 armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/weapon/tank/jetpack/suit //Elite Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite name = "elite syndicate hardsuit helmet" desc = "An elite version of the syndicate helmet, with improved armour and fire shielding. It is in EVA mode. Property of Gorlex Marauders." alt_desc = "An elite version of the syndicate helmet, with improved armour and fire shielding. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit0-syndielite" item_color = "syndielite" armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT visor_flags_inv = 0 visor_flags = 0 on = 0 /obj/item/clothing/suit/space/hardsuit/syndi/elite name = "elite syndicate hardsuit" desc = "An elite version of the syndicate hardsuit, with improved armour and fire shielding. It is in travel mode." alt_desc = "An elite version of the syndicate hardsuit, with improved armour and fire shielding. It is in combat mode." icon_state = "hardsuit0-syndielite" item_color = "syndielite" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT //The Owl Hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl name = "owl hardsuit helmet" desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in travel mode." alt_desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in combat mode." icon_state = "hardsuit1-owl" item_state = "s_helmet" item_color = "owl" visor_flags_inv = 0 visor_flags = 0 on = 0 /obj/item/clothing/suit/space/hardsuit/syndi/owl name = "owl hardsuit" desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in travel mode." alt_desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in combat mode." icon_state = "hardsuit1-owl" item_state = "s_suit" item_color = "owl" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl //Wizard hardsuit /obj/item/clothing/head/helmet/space/hardsuit/wizard name = "gem-encrusted hardsuit helmet" desc = "A bizarre gem-encrusted helmet that radiates magical energies." icon_state = "hardsuit0-wiz" item_state = "wiz_helm" item_color = "wiz" unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles! armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 35, bio = 100, rad = 50) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/wizard icon_state = "hardsuit-wiz" name = "gem-encrusted hardsuit" desc = "A bizarre gem-encrusted suit that radiates magical energies." item_state = "wiz_hardsuit" w_class = 3 unacidable = 1 armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 35, bio = 100, rad = 50) allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank/internals) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard //Medical hardsuit /obj/item/clothing/head/helmet/space/hardsuit/medical name = "medical hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light." icon_state = "hardsuit0-medical" item_state = "medical_helm" item_color = "medical" flash_protect = 0 armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) scan_reagents = 1 /obj/item/clothing/suit/space/hardsuit/medical icon_state = "hardsuit-medical" name = "medical hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement." item_state = "medical_hardsuit" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical //Research Director hardsuit /obj/item/clothing/head/helmet/space/hardsuit/rd name = "prototype hardsuit helmet" desc = "A prototype helmet designed for research in a hazardous, low pressure environment. Scientific data flashes across the visor." icon_state = "hardsuit0-rd" item_color = "rd" unacidable = 1 var/onboard_hud_enabled = 0 //stops conflicts with another diag HUD max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60) var/obj/machinery/doppler_array/integrated/bomb_radar scan_reagents = 1 actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) /obj/item/clothing/head/helmet/space/hardsuit/rd/New() ..() bomb_radar = new /obj/machinery/doppler_array/integrated(src) /obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot) ..() if(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic)) user << ("Your [user.glasses] prevents you using [src]'s diagnostic visor HUD.") else onboard_hud_enabled = 1 var/datum/atom_hud/DHUD = huds[DATA_HUD_DIAGNOSTIC] DHUD.add_hud_to(user) /obj/item/clothing/head/helmet/space/hardsuit/rd/dropped(mob/living/carbon/human/user) ..() if(onboard_hud_enabled && !(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic))) var/datum/atom_hud/DHUD = huds[DATA_HUD_DIAGNOSTIC] DHUD.remove_hud_from(user) /obj/item/clothing/suit/space/hardsuit/rd icon_state = "hardsuit-rd" name = "prototype hardsuit" desc = "A prototype suit that protects against hazardous, low pressure environments. Fitted with extensive plating for handling explosives and dangerous research materials." item_state = "hardsuit-rd" unacidable = 1 max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT //Same as an emergency firesuit. Not ideal for extended exposure. allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy/wormhole_projector, /obj/item/weapon/hand_tele, /obj/item/device/aicard) armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd //Security hardsuit /obj/item/clothing/head/helmet/space/hardsuit/security name = "security hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-sec" item_state = "sec_helm" item_color = "sec" armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50) /obj/item/clothing/suit/space/hardsuit/security icon_state = "hardsuit-sec" name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security /obj/item/clothing/head/helmet/space/hardsuit/security/hos name = "head of security's hardsuit helmet" desc = "a special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-hos" item_color = "hos" armor = list(melee = 45, bullet = 25, laser = 30,energy = 10, bomb = 25, bio = 100, rad = 50) /obj/item/clothing/suit/space/hardsuit/security/hos icon_state = "hardsuit-hos" name = "head of security's hardsuit" desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor." armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos /////////////SHIELDED////////////////////////////////// /obj/item/clothing/suit/space/hardsuit/shielded name = "shielded hardsuit" desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire." icon_state = "hardsuit-hos" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) var/current_charges = 3 var/max_charges = 3 //How many charges total the shielding has var/recharge_delay = 200 //How long after we've been shot before we can start recharging. 20 seconds here var/recharge_cooldown = 0 //Time since we've last been shot var/recharge_rate = 1 //How quickly the shield recharges once it starts charging var/shield_state = "shield-old" var/shield_on = "shield-old" /obj/item/clothing/suit/space/hardsuit/shielded/New() jetpack = new /obj/item/weapon/tank/jetpack/suit(src) ..() /obj/item/clothing/suit/space/hardsuit/shielded/hit_reaction(mob/living/carbon/human/owner, attack_text) if(current_charges > 0) var/datum/effect_system/spark_spread/s = new s.set_up(2, 1, src) s.start() owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") current_charges-- recharge_cooldown = world.time + recharge_delay START_PROCESSING(SSobj, src) if(current_charges <= 0) owner.visible_message("[owner]'s shield overloads!") shield_state = "broken" owner.update_inv_wear_suit() return 1 return 0 /obj/item/clothing/suit/space/hardsuit/shielded/Destroy() STOP_PROCESSING(SSobj, src) return ..() /obj/item/clothing/suit/space/hardsuit/shielded/process() if(world.time > recharge_cooldown && current_charges < max_charges) current_charges = Clamp((current_charges + recharge_rate), 0, max_charges) playsound(loc, 'sound/magic/Charge.ogg', 50, 1) if(current_charges == max_charges) playsound(loc, 'sound/machines/ding.ogg', 50, 1) STOP_PROCESSING(SSobj, src) shield_state = "[shield_on]" if(istype(loc, /mob/living/carbon/human)) var/mob/living/carbon/human/C = loc C.update_inv_wear_suit() /obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands) . = list() if(!isinhands) . += image(icon = 'icons/effects/effects.dmi', icon_state = "[shield_state]") ///////////////Capture the Flag//////////////////// /obj/item/clothing/suit/space/hardsuit/shielded/ctf name = "white shielded hardsuit" desc = "Standard issue hardsuit for playing capture the flag." icon_state = "ert_medical" item_state = "ert_medical" item_color = "ert_medical" flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP //Dont want people changing into the other teams gear helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100) slowdown = 0 max_charges = 5 /obj/item/clothing/suit/space/hardsuit/shielded/ctf/red name = "red shielded hardsuit" icon_state = "ert_security" item_state = "ert_security" item_color = "ert_security" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red shield_state = "shield-red" shield_on = "shield-red" /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue name = "blue shielded hardsuit" desc = "Standard issue hardsuit for playing capture the flag." icon_state = "ert_command" item_state = "ert_command" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf name = "shielded hardsuit helmet" desc = "Standard issue hardsuit helmet for playing capture the flag." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" item_color = "ert_medical" armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100) /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red icon_state = "hardsuit0-ert_security" item_state = "hardsuit0-ert_security" item_color = "ert_security" /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue name = "shielded hardsuit helmet" desc = "Standard issue hardsuit helmet for playing capture the flag." icon_state = "hardsuit0-ert_commander" item_state = "hardsuit0-ert_commander" item_color = "ert_commander" //////Syndicate Version /obj/item/clothing/suit/space/hardsuit/shielded/syndi name = "blood-red hardsuit" desc = "An advanced hardsuit with built in energy shielding." icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" item_color = "syndi" armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi name = "blood-red hardsuit helmet" desc = "An advanced hardsuit helmet with built in energy shielding." icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)