diff --git a/code/_helpers/atom_movables.dm b/code/_helpers/atom_movables.dm new file mode 100644 index 00000000000..b838f868e64 --- /dev/null +++ b/code/_helpers/atom_movables.dm @@ -0,0 +1,43 @@ +/proc/get_turf_pixel(atom/movable/AM) + if(!istype(AM)) + return + + //Find AM's matrix so we can use it's X/Y pixel shifts + var/matrix/M = matrix(AM.transform) + + var/pixel_x_offset = AM.pixel_x + M.get_x_shift() + var/pixel_y_offset = AM.pixel_y + M.get_y_shift() + + //Irregular objects + if(AM.bound_height != world.icon_size || AM.bound_width != world.icon_size) + var/icon/AMicon = icon(AM.icon, AM.icon_state) + pixel_x_offset += ((AMicon.Width()/world.icon_size)-1)*(world.icon_size*0.5) + pixel_y_offset += ((AMicon.Height()/world.icon_size)-1)*(world.icon_size*0.5) + qdel(AMicon) + + //DY and DX + var/rough_x = round(round(pixel_x_offset,world.icon_size)/world.icon_size) + var/rough_y = round(round(pixel_y_offset,world.icon_size)/world.icon_size) + + //Find coordinates + var/turf/T = get_turf(AM) //use AM's turfs, as it's coords are the same as AM's AND AM's coords are lost if it is inside another atom + var/final_x = T.x + rough_x + var/final_y = T.y + rough_y + + if(final_x || final_y) + return locate(final_x, final_y, T.z) + +// Walks up the loc tree until it finds a holder of the given holder_type +/proc/get_holder_of_type(atom/A, holder_type) + if(!istype(A)) return + for(A, A && !istype(A, holder_type), A=A.loc); + return A + +/atom/movable/proc/throw_at_random(var/include_own_turf, var/maxrange, var/speed) + var/list/turfs = trange(maxrange, src) + if(!maxrange) + maxrange = 1 + + if(!include_own_turf) + turfs -= get_turf(src) + src.throw_at(pick(turfs), maxrange, speed, src) diff --git a/code/_helpers/lists.dm~1fb83e6... Merge pull request #5959 from elgeonmb_suit++ b/code/_helpers/lists.dm~1fb83e6... Merge pull request #5959 from elgeonmb_suit++ deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index 5dbfeb427ac..2229c4febc5 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -35,7 +35,12 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle if (!shuttle.location) //leaving from the station //launch the pods! - for (var/datum/shuttle/ferry/escape_pod/pod in escape_pods) + for (var/EP in escape_pods) + var/datum/shuttle/ferry/escape_pod/pod + if(istype(escape_pods[EP], /datum/shuttle/ferry/escape_pod)) + pod = escape_pods[EP] + else + continue if (!pod.arming_controller || pod.arming_controller.armed) pod.launch(src) @@ -57,7 +62,12 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle //arm the escape pods if (evac) - for (var/datum/shuttle/ferry/escape_pod/pod in escape_pods) + for (var/EP in escape_pods) + var/datum/shuttle/ferry/escape_pod/pod + if(istype(escape_pods[EP], /datum/shuttle/ferry/escape_pod)) + pod = escape_pods[EP] + else + continue if (pod.arming_controller) pod.arming_controller.arm() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 1676fc5b85f..b5aa5d7594d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -643,6 +643,7 @@ |ACCESSORY_SLOT_ARMBAND\ |ACCESSORY_SLOT_DECOR\ |ACCESSORY_SLOT_MEDAL\ + |ACCESSORY_SLOT_INSIGNIA\ |ACCESSORY_SLOT_TIE\ |ACCESSORY_SLOT_OVER) restricted_accessory_slots = (\ diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 3e01478371a..88da8f743d1 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -13,7 +13,7 @@ var/overlay_state = null var/concealed_holster = 0 var/mob/living/carbon/human/wearer = null //To check if the wearer changes, so species spritesheets change properly. - + var/list/on_rolled = list() //used when jumpsuit sleevels are rolled ("rolled" entry) or it's rolled down ("down"). Set to "none" to hide in those states. sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ties.dmi') //Teshari can into webbing, too! /obj/item/clothing/accessory/Destroy() @@ -32,30 +32,38 @@ return inv_overlay /obj/item/clothing/accessory/proc/get_mob_overlay() - if(!mob_overlay || has_suit.loc != wearer) - var/tmp_icon_state = "[overlay_state? "[overlay_state]" : "[icon_state]"]" - if(ishuman(has_suit.loc)) - wearer = has_suit.loc - else - wearer = null + if(!istype(loc,/obj/item/clothing/)) //don't need special handling if it's worn as normal item. + return ..() + var/tmp_icon_state = "[overlay_state? "[overlay_state]" : "[icon_state]"]" + if(ishuman(has_suit.loc)) + wearer = has_suit.loc + else + wearer = null - if(icon_override) - if("[tmp_icon_state]_mob" in icon_states(icon_override)) - tmp_icon_state = "[tmp_icon_state]_mob" - mob_overlay = image("icon" = icon_override, "icon_state" = "[tmp_icon_state]") - else if(wearer && sprite_sheets[wearer.species.get_bodytype(wearer)]) //Teshari can finally into webbing, too! - mob_overlay = image("icon" = sprite_sheets[wearer.species.get_bodytype(wearer)], "icon_state" = "[tmp_icon_state]") - else - mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]") - if(addblends) - var/icon/base = new/icon("icon" = mob_overlay.icon, "icon_state" = mob_overlay.icon_state) - var/addblend_icon = new/icon("icon" = mob_overlay.icon, "icon_state" = src.addblends) - if(color) - base.Blend(src.color, ICON_MULTIPLY) - base.Blend(addblend_icon, ICON_ADD) - mob_overlay = image(base) - else - mob_overlay.color = src.color + if(istype(loc,/obj/item/clothing/under)) + var/obj/item/clothing/under/C = loc + if(on_rolled["down"] && C.rolled_down > 0) + tmp_icon_state = on_rolled["down"] + else if(on_rolled["rolled"] && C.rolled_sleeves > 0) + tmp_icon_state = on_rolled["rolled"] + + if(icon_override) + if("[tmp_icon_state]_mob" in icon_states(icon_override)) + tmp_icon_state = "[tmp_icon_state]_mob" + mob_overlay = image("icon" = icon_override, "icon_state" = "[tmp_icon_state]") + else if(wearer && sprite_sheets[wearer.species.get_bodytype(wearer)]) //Teshari can finally into webbing, too! + mob_overlay = image("icon" = sprite_sheets[wearer.species.get_bodytype(wearer)], "icon_state" = "[tmp_icon_state]") + else + mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]") + if(addblends) + var/icon/base = new/icon("icon" = mob_overlay.icon, "icon_state" = mob_overlay.icon_state) + var/addblend_icon = new/icon("icon" = mob_overlay.icon, "icon_state" = src.addblends) + if(color) + base.Blend(src.color, ICON_MULTIPLY) + base.Blend(addblend_icon, ICON_ADD) + mob_overlay = image(base) + else + mob_overlay.color = src.color return mob_overlay diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/under/accessories/armband.dm index 93f4790492c..e448a7d125f 100644 --- a/code/modules/clothing/under/accessories/armband.dm +++ b/code/modules/clothing/under/accessories/armband.dm @@ -3,6 +3,7 @@ desc = "A fancy red armband!" icon_state = "red" slot = ACCESSORY_SLOT_ARMBAND + on_rolled = list("down" = "none") /obj/item/clothing/accessory/armband/cargo name = "cargo armband" diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/under/accessories/badges.dm index 8e114c6984e..55de2c36b76 100644 --- a/code/modules/clothing/under/accessories/badges.dm +++ b/code/modules/clothing/under/accessories/badges.dm @@ -23,6 +23,8 @@ stored_name = new_name name = "[initial(name)] ([stored_name])" +/obj/item/clothing/accessory/badge/proc/set_desc(var/mob/living/carbon/human/H) + /obj/item/clothing/accessory/badge/attack_self(mob/user as mob) if(!stored_name) diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index bdd97a1148d..83cf2e3049d 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -8,6 +8,7 @@ var/slots = 5 var/obj/item/weapon/storage/internal/hold w_class = ITEMSIZE_NORMAL + on_rolled = list("down" = "none") /obj/item/clothing/accessory/storage/New() ..() diff --git a/code/modules/clothing/under/accessories/torch.dm b/code/modules/clothing/under/accessories/torch.dm new file mode 100644 index 00000000000..c7fe8538081 --- /dev/null +++ b/code/modules/clothing/under/accessories/torch.dm @@ -0,0 +1,713 @@ +/***** +medals +*****/ +/obj/item/clothing/accessory/medal/solgov/iron/star + name = "iron star medal" + desc = "An iron star awarded to members of the SCG for meritorious achievement or service in a combat zone." + icon_state = "iron_star" + +/obj/item/clothing/accessory/medal/solgov/iron/sol + name = "\improper Sol expeditionary medal" + desc = "An iron medal awarded to members of the SCG for service outside of the borders of the Sol Central Government." + icon_state = "iron_sol" + +/obj/item/clothing/accessory/medal/solgov/bronze/heart + name = "bronze heart medal" + desc = "A bronze heart awarded to members of the SCG for injury or death in the line of duty." + icon_state = "bronze_heart" + +/obj/item/clothing/accessory/medal/solgov/bronze/sol + name = "\improper Sol defensive operations medal" + desc = "A bronze medal awarded for members of the SCG for service defending the border regions." + icon_state = "bronze_sol" + +/obj/item/clothing/accessory/medal/solgov/silver/sword + name = "combat action medal" + desc = "A silver medal awarded to members of the SCG for honorable service while under enemy fire." + icon_state = "silver_sword" + +/obj/item/clothing/accessory/medal/solgov/silver/sol + name = "\improper Sol valor medal" + desc = "A silver medal awarded for members of the SCG for acts of exceptional valor." + icon_state = "silver_sol" + +/obj/item/clothing/accessory/medal/solgov/gold/star + name = "gold star medal" + desc = "A gold star awarded to members of the SCG for acts of heroism in a combat zone." + icon_state = "gold_star" + +/obj/item/clothing/accessory/medal/solgov/gold/sun + name = "solar service medal" + desc = "A gold medal awarded to members of the SCG by the Secretary General for significant contributions to the Sol Central Government." + icon_state = "gold_sun" + +/obj/item/clothing/accessory/medal/solgov/gold/crest + name = "solar honor medal" + desc = "A gold medal awarded to members of the Defense Forces by the Secretary General for personal acts of valor and heroism above and beyond the call of duty." + icon_state = "gold_crest" + +/obj/item/clothing/accessory/medal/solgov/gold/sol + name = "\improper Sol sapientarian medal" + desc = "A gold medal awarded for members of the SCG for significant contributions to sapient rights." + icon_state = "gold_sol" + +/obj/item/clothing/accessory/medal/solgov/heart + name = "medical medal" + desc = "A white heart emblazoned with a red cross awarded to members of the SCG for service as a medical professional in a combat zone." + icon_state = "white_heart" + +/obj/item/clothing/accessory/solgov/torch_patch + name = "\improper Torch mission patch" + desc = "A fire resistant shoulder patch, worn by the personnel involved in the Torch Project." + icon_state = "torchpatch" + on_rolled = list("down" = "none") + slot = ACCESSORY_SLOT_INSIGNIA + +/obj/item/clothing/accessory/solgov/ec_patch + name = "\improper Observatory patch" + desc = "A laminated shoulder patch, carrying the symbol of the Sol Central Government Expeditionary Corpss Observatory, or SCGEO for short, the eyes and ears of the Expeditionary Corps' missions." + icon_state = "ecpatch1" + on_rolled = list("down" = "none") + slot = ACCESSORY_SLOT_INSIGNIA + +/obj/item/clothing/accessory/solgov/ec_patch/fieldops + name = "\improper Field Operations patch" + desc = "A radiation-shielded shoulder patch, carrying the symbol of the Sol Central Government Expeditionary Corps Field Operations, or SCGECFO for short, the hands-on workers of every Expeditionary Corps mission." + icon_state = "ecpatch2" + +/obj/item/clothing/accessory/solgov/cultex_patch + name = "\improper Cultural Exchange patch" + desc = "A radiation-shielded shoulder patch, denoting service in the the Sol Central Government Expeditionary Corps Cultural Exchange program." + icon_state = "ecpatch3" + slot = ACCESSORY_SLOT_INSIGNIA + +/obj/item/clothing/accessory/solgov/fleet_patch + name = "\improper First Fleet patch" + desc = "A fancy shoulder patch carrying insignia of First Fleet, the Sol Guard, stationed in Sol." + icon_state = "fleetpatch1" + on_rolled = list("down" = "none") + slot = ACCESSORY_SLOT_INSIGNIA + +/obj/item/clothing/accessory/solgov/fleet_patch/second + name = "\improper Second Fleet patch" + desc = "A well-worn shoulder patch carrying insignia of Second Fleet, the Home Guard, tasked with defense of Sol territories." + icon_state = "fleetpatch2" + +/obj/item/clothing/accessory/solgov/fleet_patch/third + name = "\improper Third Fleet patch" + desc = "A scuffed shoulder patch carrying insignia of Third Fleet, the Border Guard, guarding borders of Sol territory against Vox and pirates." + icon_state = "fleetpatch3" + +/obj/item/clothing/accessory/solgov/fleet_patch/fourth + name = "\improper Fourth Fleet patch" + desc = "A pristine shoulder patch carrying insignia of Fourth Fleet, stationed on Skrell border." + icon_state = "fleetpatch4" + +/obj/item/clothing/accessory/solgov/fleet_patch/fifth + name = "\improper Fifth Fleet patch" + desc = "A tactical shoulder patch carrying insignia of Fifth Fleet, the Quick Reaction Force, recently formed and outfited with last tech." + icon_state = "fleetpatch5" + +/****** +ribbons +******/ +/obj/item/clothing/accessory/ribbon/solgov + name = "ribbon" + desc = "A simple military decoration." + icon_state = "ribbon_marksman" + on_rolled = list("down" = "none") + slot = ACCESSORY_SLOT_MEDAL + +/obj/item/clothing/accessory/ribbon/solgov/marksman + name = "marksmanship ribbon" + desc = "A military decoration awarded to members of the SCG for good marksmanship scores in training. Common in the days of energy weapons." + icon_state = "ribbon_marksman" + +/obj/item/clothing/accessory/ribbon/solgov/peace + name = "peacekeeping ribbon" + desc = "A military decoration awarded to members of the SCG for service during a peacekeeping operation." + icon_state = "ribbon_peace" + +/obj/item/clothing/accessory/ribbon/solgov/frontier + name = "frontier ribbon" + desc = "A military decoration awarded to members of the SCG for service along the frontier." + icon_state = "ribbon_frontier" + +/obj/item/clothing/accessory/ribbon/solgov/instructor + name = "instructor ribbon" + desc = "A military decoration awarded to members of the SCG for service as an instructor." + icon_state = "ribbon_instructor" + +/************* +specialty pins +*************/ +/obj/item/clothing/accessory/solgov/specialty + name = "speciality blaze" + desc = "A color blaze denoting fleet personnel in some special role. This one is silver." + icon_state = "marinerank_command" + slot = ACCESSORY_SLOT_INSIGNIA + +/obj/item/clothing/accessory/solgov/specialty/janitor + name = "custodial blazes" + desc = "Purple blazes denoting a custodial technician." + icon_state = "fleetspec_janitor" + +/obj/item/clothing/accessory/solgov/specialty/brig + name = "brig blazes" + desc = "Red blazes denoting a brig officer." + icon_state = "fleetspec_brig" + +/obj/item/clothing/accessory/solgov/specialty/forensic + name = "forensics blazes" + desc = "Steel blazes denoting a forensic technician." + icon_state = "fleetspec_forensic" + +/obj/item/clothing/accessory/solgov/specialty/atmos + name = "atmospherics blazes" + desc = "Turquoise blazes denoting an atmospheric technician." + icon_state = "fleetspec_atmos" + +/obj/item/clothing/accessory/solgov/specialty/counselor + name = "counselor blazes" + desc = "Blue blazes denoting a counselor." + icon_state = "fleetspec_counselor" + +/obj/item/clothing/accessory/solgov/specialty/chemist + name = "chemistry blazes" + desc = "Orange blazes denoting a chemist." + icon_state = "fleetspec_chemist" + +/obj/item/clothing/accessory/solgov/specialty/enlisted + name = "enlisted qualification pin" + desc = "An iron pin denoting some special qualification." + icon_state = "fleetpin_enlisted" + +/obj/item/clothing/accessory/solgov/specialty/officer + name = "officer's qualification pin" + desc = "A golden pin denoting some special qualification." + icon_state = "fleetpin_officer" + +/obj/item/clothing/accessory/solgov/specialty/pilot + name = "pilot's qualification pin" + desc = "An iron pin denoting the qualification to fly SCG spacecraft." + icon_state = "pin_pilot" + +/***** +badges +*****/ +/obj/item/clothing/accessory/badge/solgov/security + name = "security forces badge" + desc = "A silver law enforcement badge. Stamped with the words 'Master at Arms'." + icon_state = "silverbadge" + slot_flags = SLOT_TIE + badge_string = "Sol Central Government" + +/obj/item/clothing/accessory/badge/solgov/tags + name = "dog tags" + desc = "Plain identification tags made from a durable metal. They are stamped with a variety of informational details." + gender = PLURAL + icon_state = "tags" + badge_string = "Sol Central Government" + slot_flags = SLOT_MASK | SLOT_TIE + +/obj/item/clothing/accessory/badge/solgov/tags/Initialize() + . = ..() + var/mob/living/carbon/human/H + H = get_holder_of_type(src, /mob/living/carbon/human) + if(H) + set_name(H.real_name) + set_desc(H) + +/obj/item/clothing/accessory/badge/solgov/tags/set_desc(var/mob/living/carbon/human/H) + if(!istype(H)) + return + var/religion = "Unset" + desc = "[initial(desc)]\nName: [H.real_name] ([H.get_species()])\nReligion: [religion]\nBlood type: [H.b_type]" + +/obj/item/clothing/accessory/badge/solgov/representative + name = "representative's badge" + desc = "A leather-backed plastic badge with a variety of information printed on it. Belongs to a representative of the Sol Central Government." + icon_state = "solbadge" + slot_flags = SLOT_TIE + badge_string = "Sol Central Government" + +/******* +armbands +*******/ +/obj/item/clothing/accessory/armband/solgov/mp + name = "military police brassard" + desc = "An armlet, worn by the crew to display which department they're assigned to. This one is black with 'MP' in white." + icon_state = "mpband" + +/obj/item/clothing/accessory/armband/solgov/ma + name = "master at arms brassard" + desc = "An armlet, worn by the crew to display which department they're assigned to. This one is white with 'MA' in navy blue." + icon_state = "maband" + +/***************** +armour attachments +*****************/ +/obj/item/clothing/accessory/armor/tag/solgov + name = "\improper SCG Flag" + desc = "An emblem depicting the Sol Central Government's flag." + icon_state = "solflag" + slot = ACCESSORY_SLOT_ARMOR_M + +/obj/item/clothing/accessory/armor/tag/solgov/ec + name = "\improper Expeditionary Corps crest" + desc = "An emblem depicting the crest of the SCG Expeditionary Corps." + icon_state = "ecflag" + +/obj/item/clothing/accessory/armor/tag/solgov/sec + name = "\improper POLICE tag" + desc = "An armor tag with the word POLICE printed in silver lettering on it." + icon_state = "sectag" + +/obj/item/clothing/accessory/armor/tag/solgov/medic + name = "\improper MEDIC tag" + desc = "An armor tag with the word MEDIC printed in red lettering on it." + icon_state = "medictag" + +/obj/item/clothing/accessory/armor/tag/solgov/agent + name = "\improper OCIE AGENT tag" + desc = "An armor tag with the word OCIE AGENT printed in gold lettering on it." + icon_state = "agenttag" + +/obj/item/clothing/accessory/armor/tag/solgov/com + name = "\improper SCG tag" + desc = "An armor tag with the words SOL CENTRAL GOVERNMENT printed in gold lettering on it." + icon_state = "comtag" + +/obj/item/clothing/accessory/armor/tag/solgov/com/sec + name = "\improper POLICE tag" + desc = "An armor tag with the words POLICE printed in gold lettering on it." + +/obj/item/clothing/accessory/armor/helmcover/blue/sol + name = "peacekeeper helmet cover" + desc = "A fabric cover for armored helmets. This one is in SCG peacekeeper colors." + +/************** +department tags +**************/ +/obj/item/clothing/accessory/solgov/department + name = "department insignia" + desc = "Insignia denoting assignment to a department. These appear blank." + icon_state = "dept_exped" + on_rolled = list("down" = "none", "rolled" = "dept_exped_sleeves") + slot = ACCESSORY_SLOT_DECOR + //removable = FALSE + +/obj/item/clothing/accessory/solgov/department/command + name = "command insignia" + desc = "Insignia denoting assignment to the command department. These fit Expeditionary Corps uniforms." + color = "#e5ea4f" + +/obj/item/clothing/accessory/solgov/department/command/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/command/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the command department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/command/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the command department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/engineering + name = "engineering insignia" + desc = "Insignia denoting assignment to the engineering department. These fit Expeditionary Corps uniforms." + color = "#ff7f00" + +/obj/item/clothing/accessory/solgov/department/engineering/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/engineering/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the engineering department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/engineering/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the engineering department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/security + name = "security insignia" + desc = "Insignia denoting assignment to the security department. These fit Expeditionary Corps uniforms." + color = "#bf0000" + +/obj/item/clothing/accessory/solgov/department/security/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/security/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the security department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/security/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the security department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/medical + name = "medical insignia" + desc = "Insignia denoting assignment to the medical department. These fit Expeditionary Corps uniforms." + color = "#4c9ce4" + +/obj/item/clothing/accessory/solgov/department/medical/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/medical/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the medical department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/medical/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the medical department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/supply + name = "supply insignia" + desc = "Insignia denoting assignment to the supply department. These fit Expeditionary Corps uniforms." + color = "#bb9042" + +/obj/item/clothing/accessory/solgov/department/supply/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/supply/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the supply department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/supply/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the supply department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/service + name = "service insignia" + desc = "Insignia denoting assignment to the service department. These fit Expeditionary Corps uniforms." + color = "#6eaa2c" + +/obj/item/clothing/accessory/solgov/department/service/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/service/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the service department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/service/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the service department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/exploration + name = "exploration insignia" + desc = "Insignia denoting assignment to the exploration department. These fit Expeditionary Corps uniforms." + color = "#68099e" + +/obj/item/clothing/accessory/solgov/department/exploration/service + icon_state = "dept_exped_service" + +/obj/item/clothing/accessory/solgov/department/exploration/fleet + icon_state = "dept_fleet" + desc = "Insignia denoting assignment to the exploration department. These fit Fleet uniforms." + on_rolled = list("rolled" = "dept_fleet_sleeves", "down" = "none") + +/obj/item/clothing/accessory/solgov/department/exploration/army + icon_state = "dept_army" + desc = "Insignia denoting assignment to the exploration department. These fit Army uniforms." + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/department/research + name = "research insignia" + desc = "Insignia denoting assignment to the research department. These fit Expeditionary Corps uniforms." + color = "#68099e" + +/obj/item/clothing/accessory/solgov/department/research/service + icon_state = "dept_exped_service" + +/********* +ranks - ec +*********/ + +/obj/item/clothing/accessory/solgov/rank + name = "ranks" + desc = "Insignia denoting rank of some kind. These appear blank." + icon_state = "fleetrank" + on_rolled = list("down" = "none") + slot = ACCESSORY_SLOT_DECOR + gender = PLURAL + //high_visibility = 1 + +/obj/item/clothing/accessory/solgov/rank/ec + name = "explorer ranks" + desc = "Insignia denoting rank of some kind. These appear blank." + icon_state = "ecrank_e1" + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/rank/ec/enlisted + name = "ranks (E-1 apprentice explorer)" + desc = "Insignia denoting the rank of Apprentice Explorer." + icon_state = "ecrank_e1" + +/obj/item/clothing/accessory/solgov/rank/ec/enlisted/e3 + name = "ranks (E-3 explorer)" + desc = "Insignia denoting the rank of Explorer." + icon_state = "ecrank_e3" + +/obj/item/clothing/accessory/solgov/rank/ec/enlisted/e5 + name = "ranks (E-5 senior explorer)" + desc = "Insignia denoting the rank of Senior Explorer." + icon_state = "ecrank_e5" + +/obj/item/clothing/accessory/solgov/rank/ec/enlisted/e7 + name = "ranks (E-7 chief explorer)" + desc = "Insignia denoting the rank of Chief Explorer." + icon_state = "ecrank_e7" + +/obj/item/clothing/accessory/solgov/rank/ec/officer + name = "ranks (O-1 ensign)" + desc = "Insignia denoting the rank of Ensign." + icon_state = "ecrank_o1" + +/obj/item/clothing/accessory/solgov/rank/ec/officer/o3 + name = "ranks (O-3 lieutenant)" + desc = "Insignia denoting the rank of Lieutenant." + icon_state = "ecrank_o3" + +/obj/item/clothing/accessory/solgov/rank/ec/officer/o5 + name = "ranks (O-5 commander)" + desc = "Insignia denoting the rank of Commander." + icon_state = "ecrank_o5" + +/obj/item/clothing/accessory/solgov/rank/ec/officer/o6 + name = "ranks (O-6 captain)" + desc = "Insignia denoting the rank of Captain." + icon_state = "ecrank_o6" + +/obj/item/clothing/accessory/solgov/rank/ec/officer/o8 + name = "ranks (O-8 admiral)" + desc = "Insignia denoting the rank of Admiral." + icon_state = "ecrank_o8" + +/************ +ranks - fleet +************/ +/obj/item/clothing/accessory/solgov/rank/fleet + name = "naval ranks" + desc = "Insignia denoting naval rank of some kind. These appear blank." + icon_state = "fleetrank" + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted + name = "ranks (E-1 crewman recruit)" + desc = "Insignia denoting the rank of Crewman Recruit." + icon_state = "fleetrank_enlisted" + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e2 + name = "ranks (E-2 crewman apprentice)" + desc = "Insignia denoting the rank of Crewman Apprentice." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e3 + name = "ranks (E-3 crewman)" + desc = "Insignia denoting the rank of Crewman." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e4 + name = "ranks (E-4 petty officer third class)" + desc = "Insignia denoting the rank of Petty Officer Third Class." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e5 + name = "ranks (E-5 petty officer second class)" + desc = "Insignia denoting the rank of Petty Officer Second Class." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e6 + name = "ranks (E-6 petty officer first class)" + desc = "Insignia denoting the rank of Petty Officer First Class." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e7 + name = "ranks (E-7 chief petty officer)" + desc = "Insignia denoting the rank of Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e8 + name = "ranks (E-8 senior chief petty officer)" + desc = "Insignia denoting the rank of Senior Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e9 + name = "ranks (E-9 master chief petty officer)" + desc = "Insignia denoting the rank of Master Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e9_alt1 + name = "ranks (E-9 command master chief petty officer)" + desc = "Insignia denoting the rank of Command Master Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e9_alt2 + name = "ranks (E-9 fleet master chief petty officer)" + desc = "Insignia denoting the rank of Fleet Master Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e9_alt3 + name = "ranks (E-9 force master chief petty officer)" + desc = "Insignia denoting the rank of Force Master Chief Petty Officer." + +/obj/item/clothing/accessory/solgov/rank/fleet/enlisted/e9_alt4 + name = "ranks (E-9 master chief petty officer of the Fleet)" + desc = "Insignia denoting the rank of Master Chief Petty Officer of the Fleet." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer + name = "ranks (O-1 ensign)" + desc = "Insignia denoting the rank of Ensign." + icon_state = "fleetrank_officer" + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/wo1_monkey + name = "makeshift ranks (WO-1 warrant officer 1)" + desc = "Insignia denoting the mythical rank of Warrant Officer. Too bad it's obviously fake." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/o2 + name = "ranks (O-2 sub-lieutenant)" + desc = "Insignia denoting the rank of Sub-lieutenant." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/o3 + name = "ranks (O-3 lieutenant)" + desc = "Insignia denoting the rank of Lieutenant." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/o4 + name = "ranks (O-4 lieutenant commander)" + desc = "Insignia denoting the rank of Lieutenant Commander." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/o5 + name = "ranks (O-5 commander)" + desc = "Insignia denoting the rank of Commander." + +/obj/item/clothing/accessory/solgov/rank/fleet/officer/o6 + name = "ranks (O-6 captain)" + desc = "Insignia denoting the rank of Captain." + icon_state = "fleetrank_command" + +/obj/item/clothing/accessory/solgov/rank/fleet/flag + name = "ranks (O-7 commodore)" + desc = "Insignia denoting the rank of Commodore." + icon_state = "fleetrank_command" + +/obj/item/clothing/accessory/solgov/rank/fleet/flag/o8 + name = "ranks (O-8 rear admiral)" + desc = "Insignia denoting the rank of Rear Admiral." + +/obj/item/clothing/accessory/solgov/rank/fleet/flag/o9 + name = "ranks (O-9 vice admiral)" + desc = "Insignia denoting the rank of Vice Admiral." + +/obj/item/clothing/accessory/solgov/rank/fleet/flag/o10 + name = "ranks (O-10 admiral)" + desc = "Insignia denoting the rank of Admiral." + +/obj/item/clothing/accessory/solgov/rank/fleet/flag/o10_alt + name = "ranks (O-10 fleet admiral)" + desc = "Insignia denoting the rank of Fleet Admiral." + +/************** +ranks - marines +**************/ +/obj/item/clothing/accessory/solgov/rank/army + name = "army ranks" + desc = "Insignia denoting marine rank of some kind. These appear blank." + icon_state = "armyrank_enlisted" + on_rolled = list("down" = "none") + +/obj/item/clothing/accessory/solgov/rank/army/enlisted + name = "ranks (E-1 private)" + desc = "Insignia denoting the rank of Private." + icon_state = "armyrank_enlisted" + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e2 + name = "ranks (E-2 private second class)" + desc = "Insignia denoting the rank of Private Second Class." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e3 + name = "ranks (E-3 private first class)" + desc = "Insignia denoting the rank of Private First Class." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e4 + name = "ranks (E-4 corporal)" + desc = "Insignia denoting the rank of Corporal." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e5 + name = "ranks (E-5 sergeant)" + desc = "Insignia denoting the rank of Sergeant." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e6 + name = "ranks (E-6 staff sergeant)" + desc = "Insignia denoting the rank of Staff Sergeant." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e7 + name = "ranks (E-7 sergeant first class)" + desc = "Insignia denoting the rank of Sergeant First Class." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e8 + name = "ranks (E-8 master sergeant)" + desc = "Insignia denoting the rank of Master Sergeant." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e8_alt + name = "ranks (E-8 first sergeant)" + desc = "Insignia denoting the rank of First Sergeant." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e9 + name = "ranks (E-9 sergeant major)" + desc = "Insignia denoting the rank of Sergeant Major." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e9_alt1 + name = "ranks (E-9 command sergeant major)" + desc = "Insignia denoting the rank of Command Sergeant Major." + +/obj/item/clothing/accessory/solgov/rank/army/enlisted/e9_alt2 + name = "ranks (E-9 sergeant major of the Army)" + desc = "Insignia denoting the rank of Sergeant Major of the Army." + +/obj/item/clothing/accessory/solgov/rank/army/officer + name = "ranks (O-1 second lieutenant)" + desc = "Insignia denoting the rank of Second Lieutenant." + icon_state = "armyrank_officer" + +/obj/item/clothing/accessory/solgov/rank/army/officer/o2 + name = "ranks (O-2 first lieutenant)" + desc = "Insignia denoting the rank of First Lieutenant." + +/obj/item/clothing/accessory/solgov/rank/army/officer/o3 + name = "ranks (O-3 captain)" + desc = "Insignia denoting the rank of Captain." + +/obj/item/clothing/accessory/solgov/rank/army/officer/o4 + name = "ranks (O-4 major)" + desc = "Insignia denoting the rank of Major." + +/obj/item/clothing/accessory/solgov/rank/army/officer/o5 + name = "ranks (O-5 lieutenant colonel)" + desc = "Insignia denoting the rank of Lieutenant Colonel." + +/obj/item/clothing/accessory/solgov/rank/army/officer/o6 + name = "ranks (O-6 colonel)" + desc = "Insignia denoting the rank of Colonel." + +/obj/item/clothing/accessory/solgov/rank/army/flag + name = "ranks (O-7 brigadier general)" + desc = "Insignia denoting the rank of Brigadier General." + icon_state = "armyrank_command" + +/obj/item/clothing/accessory/solgov/rank/army/flag/o8 + name = "ranks (O-8 major general)" + desc = "Insignia denoting the rank of Major General." + +/obj/item/clothing/accessory/solgov/rank/army/flag/o9 + name = "ranks (O-9 lieutenant general)" + desc = "Insignia denoting the rank of lieutenant general." + +/obj/item/clothing/accessory/solgov/rank/army/flag/o10 + name = "ranks (O-10 general)" + desc = "Insignia denoting the rank of General." + +/obj/item/clothing/accessory/solgov/rank/army/flag/o10_alt + name = "ranks (O-10 field marshal)" + desc = "Insignia denoting the rank of Field Marshal." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm index e9ef05cbece..e66162432b2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/types.dm @@ -92,6 +92,16 @@ /mob/living/simple_mob/shadekin/blue/brown icon_state = "brown" +/mob/living/simple_mob/shadekin/blue/ai + ai_holder_type = /datum/ai_holder/simple_mob/passive + +/mob/living/simple_mob/shadekin/blue/ai/white + icon_state = "white" +/mob/living/simple_mob/shadekin/blue/ai/dark + icon_state = "dark" +/mob/living/simple_mob/shadekin/blue/ai/brown + icon_state = "brown" + ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/purple name = "purple-eyed shadekin" @@ -134,6 +144,16 @@ /mob/living/simple_mob/shadekin/purple/brown icon_state = "brown" +/mob/living/simple_mob/shadekin/purple/ai + ai_holder_type = /datum/ai_holder/simple_mob/retaliate + +/mob/living/simple_mob/shadekin/purple/ai/white + icon_state = "white" +/mob/living/simple_mob/shadekin/purple/ai/dark + icon_state = "dark" +/mob/living/simple_mob/shadekin/purple/ai/brown + icon_state = "brown" + ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/yellow name = "yellow-eyed shadekin" @@ -174,6 +194,26 @@ /mob/living/simple_mob/shadekin/yellow/brown icon_state = "brown" +/mob/living/simple_mob/shadekin/yellow/ai + ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run + +/mob/living/simple_mob/shadekin/yellow/ai/white + icon_state = "white" +/mob/living/simple_mob/shadekin/yellow/ai/dark + icon_state = "dark" +/mob/living/simple_mob/shadekin/yellow/ai/brown + icon_state = "brown" + +/mob/living/simple_mob/shadekin/yellow/ai/retaliate + ai_holder_type = /datum/ai_holder/simple_mob/retaliate + +/mob/living/simple_mob/shadekin/yellow/ai/retaliate/white + icon_state = "white" +/mob/living/simple_mob/shadekin/yellow/ai/retaliate/dark + icon_state = "dark" +/mob/living/simple_mob/shadekin/yellow/ai/retaliate/brown + icon_state = "brown" + ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/green name = "green-eyed shadekin" @@ -214,6 +254,16 @@ /mob/living/simple_mob/shadekin/green/brown icon_state = "brown" +/mob/living/simple_mob/shadekin/green/ai + ai_holder_type = /datum/ai_holder/simple_mob/passive + +/mob/living/simple_mob/shadekin/green/ai/white + icon_state = "white" +/mob/living/simple_mob/shadekin/green/ai/dark + icon_state = "dark" +/mob/living/simple_mob/shadekin/green/ai/brown + icon_state = "brown" + ///////////////////////////////////////////////////////////////// /mob/living/simple_mob/shadekin/orange name = "orange-eyed shadekin" diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 3726ce23cd5..d24f47b1d7b 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -147,7 +147,7 @@ var/new_name = input(user, "Please enter a new name for this vessel. Note that you can only set its name once, so choose wisely.", "Rename Shuttle", visible_name) as null|text var/sanitized_name = sanitizeName(new_name, MAX_NAME_LEN, TRUE) if(sanitized_name) - can_rename = FALSE + //can_rename = FALSE //VOREStation Removal to_chat(user, "You've renamed the vessel to '[sanitized_name]'.") message_admins("[key_name_admin(user)] renamed shuttle '[visible_name]' to '[sanitized_name]'.") visible_name = sanitized_name diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 829172a970b..589a63667f1 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi index 75410db893a..10953bd6516 100644 Binary files a/icons/mob/spacesuit.dmi and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi index 253d740ba9d..965c8302257 100644 Binary files a/icons/mob/species/skrell/helmet.dmi and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi index 443f30fe2d7..c22f114f5fe 100644 Binary files a/icons/mob/species/skrell/suit.dmi and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi index b9c958f7d1e..2d5c971757e 100644 Binary files a/icons/mob/species/tajaran/helmet.dmi and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi index e85786a5471..841b3249d21 100644 Binary files a/icons/mob/species/tajaran/suit.dmi and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index de17a80f86a..4bc29021bb8 100644 Binary files a/icons/mob/species/unathi/helmet.dmi and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi index c65654823d5..5698d845dde 100644 Binary files a/icons/mob/species/unathi/suit.dmi and b/icons/mob/species/unathi/suit.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index ed5fd931450..0bcafce8151 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index d0d5e987212..4297efb405c 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/spacesuits.dmi b/icons/obj/clothing/spacesuits.dmi index 7e0311acd5b..a2ea4f77754 100644 Binary files a/icons/obj/clothing/spacesuits.dmi and b/icons/obj/clothing/spacesuits.dmi differ diff --git a/icons/obj/clothing/species/skrell/hats.dmi b/icons/obj/clothing/species/skrell/hats.dmi index 1489b3fa7a6..b28f2d64e6b 100644 Binary files a/icons/obj/clothing/species/skrell/hats.dmi and b/icons/obj/clothing/species/skrell/hats.dmi differ diff --git a/icons/obj/clothing/species/skrell/suits.dmi b/icons/obj/clothing/species/skrell/suits.dmi index 96c2e451293..c2e084864a7 100644 Binary files a/icons/obj/clothing/species/skrell/suits.dmi and b/icons/obj/clothing/species/skrell/suits.dmi differ diff --git a/icons/obj/clothing/species/tajaran/hats.dmi b/icons/obj/clothing/species/tajaran/hats.dmi index 3622feffdbd..409c7b9f7ff 100644 Binary files a/icons/obj/clothing/species/tajaran/hats.dmi and b/icons/obj/clothing/species/tajaran/hats.dmi differ diff --git a/icons/obj/clothing/species/tajaran/suits.dmi b/icons/obj/clothing/species/tajaran/suits.dmi index e70f3bd1bba..a579dc7a39a 100644 Binary files a/icons/obj/clothing/species/tajaran/suits.dmi and b/icons/obj/clothing/species/tajaran/suits.dmi differ diff --git a/icons/obj/clothing/species/unathi/hats.dmi b/icons/obj/clothing/species/unathi/hats.dmi index e20774b376a..9f6d7a8aed1 100644 Binary files a/icons/obj/clothing/species/unathi/hats.dmi and b/icons/obj/clothing/species/unathi/hats.dmi differ diff --git a/icons/obj/clothing/species/unathi/suits.dmi b/icons/obj/clothing/species/unathi/suits.dmi index 8819aedffd2..a363b6104e6 100644 Binary files a/icons/obj/clothing/species/unathi/suits.dmi and b/icons/obj/clothing/species/unathi/suits.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 66f569f0099..b1e3e213fa6 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/food_vr.dmi b/icons/obj/food_vr.dmi index 6eeb3e96356..08c984102b6 100644 Binary files a/icons/obj/food_vr.dmi and b/icons/obj/food_vr.dmi differ diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm index 0665a6c0b73..fe9a25f138c 100644 --- a/maps/submaps/surface_submaps/mountains/mountains.dm +++ b/maps/submaps/surface_submaps/mountains/mountains.dm @@ -198,84 +198,85 @@ * Deep Caves * **************/ +/* Vorestation Removal /datum/map_template/surface/mountains/deep/lost_explorer name = "Lost Explorer, Deep" desc = "The remains of an explorer who rotted away ages ago, and their equipment. Again." mappath = 'maps/submaps/surface_submaps/mountains/lost_explorer.dmm' cost = 5 - allow_duplicates = TRUE + allow_duplicates = TRUE */ -/datum/map_template/surface/mountains/deep/crashed_ufo +/datum/map_template/surface/mountains/normal/crashed_ufo //VOREStation Edit name = "Crashed UFO" desc = "A (formerly) flying saucer that is now embedded into the mountain, yet it still seems to be running..." mappath = 'maps/submaps/surface_submaps/mountains/crashed_ufo.dmm' cost = 40 discard_prob = 50 -/datum/map_template/surface/mountains/deep/Scave1 +/datum/map_template/surface/mountains/normal/Scave1 //VOREStation Edit name = "Spider Cave 1" desc = "A minning tunnel home to an aggressive collection of spiders." mappath = 'maps/submaps/surface_submaps/mountains/Scave1.dmm' cost = 20 -/datum/map_template/surface/mountains/deep/CaveTrench +/datum/map_template/surface/mountains/normal/CaveTrench //VOREStation Edit name = "Cave River" desc = "A strange underground river." mappath = 'maps/submaps/surface_submaps/mountains/CaveTrench.dmm' cost = 20 -/datum/map_template/surface/mountains/deep/Cavelake +/datum/map_template/surface/mountains/normal/Cavelake //VOREStation Edit name = "Cave Lake" desc = "A large underground lake." mappath = 'maps/submaps/surface_submaps/mountains/Cavelake.dmm' cost = 20 -/datum/map_template/surface/mountains/deep/vault1 +/datum/map_template/surface/mountains/normal/vault1 //VOREStation Edit name = "Mine Vault 1" desc = "A small vault with potential loot." mappath = 'maps/submaps/surface_submaps/mountains/vault1.dmm' cost = 5 allow_duplicates = TRUE -/datum/map_template/surface/mountains/deep/vault2 +/datum/map_template/surface/mountains/normal/vault2 //VOREStation Edit name = "Mine Vault 2" desc = "A small vault with potential loot." mappath = 'maps/submaps/surface_submaps/mountains/vault2.dmm' cost = 5 allow_duplicates = TRUE -/datum/map_template/surface/mountains/deep/vault3 +/datum/map_template/surface/mountains/normal/vault3 //VOREStation Edit name = "Mine Vault 3" desc = "A small vault with potential loot. Also a horrible suprise." mappath = 'maps/submaps/surface_submaps/mountains/vault3.dmm' cost = 15 -/datum/map_template/surface/mountains/deep/vault4 +/datum/map_template/surface/mountains/normal/vault4 //VOREStation Edit name = "Mine Vault 4" desc = "A small xeno vault with potential loot. Also horrible suprises." mappath = 'maps/submaps/surface_submaps/mountains/vault4.dmm' cost = 20 -/datum/map_template/surface/mountains/deep/vault5 +/datum/map_template/surface/mountains/normal/vault5 //VOREStation Edit name = "Mine Vault 5" desc = "A small xeno vault with potential loot. Also major horrible suprises." mappath = 'maps/submaps/surface_submaps/mountains/vault5.dmm' cost = 25 -/datum/map_template/surface/mountains/deep/BlastMine1 +/datum/map_template/surface/mountains/normal/BlastMine1 //VOREStation Edit name = "Blast Mine 1" desc = "An abandoned blast mining site, seems that local wildlife has moved in." mappath = 'maps/submaps/surface_submaps/mountains/BlastMine1.dmm' cost = 20 -/datum/map_template/surface/mountains/deep/lava_trench +/datum/map_template/surface/mountains/normal/lava_trench //VOREStation Edit name = "lava trench" desc = "A long stretch of lava underground, almost river-like, with a small crystal research outpost on the side." mappath = 'maps/submaps/surface_submaps/mountains/lava_trench.dmm' cost = 20 fixed_orientation = TRUE -/datum/map_template/surface/mountains/deep/crashedmedshuttle +/datum/map_template/surface/mountains/normal/crashedmedshuttle //VOREStation Edit name = "Crashed Med Shuttle" desc = "A medical response shuttle that went missing some time ago. So this is where they went." mappath = 'maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm' diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm index c931bbbc933..3a3faacb22f 100644 --- a/maps/tether/submaps/_tether_submaps.dm +++ b/maps/tether/submaps/_tether_submaps.dm @@ -92,8 +92,8 @@ /datum/map_template/tether_lateload/away_beach_cave/on_map_loaded(z) . = ..() - seed_submaps(list(Z_LEVEL_BEACH_CAVE), 70, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal) - seed_submaps(list(Z_LEVEL_BEACH_CAVE), 70, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/deep) + seed_submaps(list(Z_LEVEL_BEACH_CAVE), 120, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal) + //seed_submaps(list(Z_LEVEL_BEACH_CAVE), 70, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/deep) // Now for the tunnels. new /datum/random_map/automata/cave_system/no_cracks(null, 3, 3, Z_LEVEL_BEACH_CAVE, world.maxx - 4, world.maxy - 4) diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm index 690c958115d..2e6dd50fca8 100644 --- a/maps/tether/tether-06-station2.dmm +++ b/maps/tether/tether-06-station2.dmm @@ -13836,10 +13836,10 @@ icon_state = "0-8" }, /obj/structure/closet/crate/freezer, -/obj/item/weapon/virusdish, -/obj/item/weapon/virusdish, -/obj/item/weapon/virusdish, -/obj/item/weapon/virusdish, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, +/obj/item/weapon/virusdish/random, /turf/simulated/floor/tiled/white, /area/medical/virology) "vc" = ( @@ -18568,17 +18568,31 @@ base_turf = /turf/simulated/mineral/floor/vacuum }) "Cq" = ( -/obj/structure/bed/roller, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = 0; - pixel_y = 32 +/obj/structure/table/standard, +/obj/random/medical/lite, +/obj/item/weapon/tool/wrench, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = -4; + pixel_y = 0 }, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum }) "Cr" = ( -/obj/structure/bed/roller, +/obj/structure/table/rack, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/weapon/tank/emergency/oxygen, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum @@ -18623,10 +18637,7 @@ pixel_x = 28; pixel_y = 0 }, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = 0; - pixel_y = 32 - }, +/obj/structure/closet/walllocker/emerglocker/north, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum @@ -18735,7 +18746,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 8 + }, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum @@ -18840,13 +18853,11 @@ base_turf = /turf/simulated/mineral/floor/vacuum }) "CX" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ - pixel_x = -4; - pixel_y = 0 +/obj/machinery/atmospherics/unary/freezer{ + dir = 1; + icon_state = "freezer_1"; + use_power = 1 }, -/obj/item/weapon/tool/wrench, -/obj/random/medical/lite, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1/station{ base_turf = /turf/simulated/mineral/floor/vacuum @@ -18889,11 +18900,6 @@ /obj/item/weapon/storage/firstaid/adv{ pixel_x = -2 }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/empty, /obj/machinery/status_display{ density = 0; layer = 4; @@ -19516,6 +19522,10 @@ /obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"El" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled, +/area/tether/exploration/equipment) "Em" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled, @@ -21206,6 +21216,15 @@ }, /turf/simulated/floor/plating, /area/security/brig) +"Uz" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/south, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1/station{ + base_turf = /turf/simulated/mineral/floor/vacuum + }) "UE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -21541,6 +21560,14 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/monotile, /area/security/brig) +"Xv" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1/station{ + base_turf = /turf/simulated/mineral/floor/vacuum + }) "Xx" = ( /obj/structure/railing{ dir = 8 @@ -21916,6 +21943,10 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) +"ZT" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled, +/area/tether/exploration/crew) "ZW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -32205,7 +32236,7 @@ cE dg dH eD -eG +ZT fU eG gQ @@ -32818,7 +32849,7 @@ ac yY BW Cq -Ct +Xv CX BW yY @@ -33634,7 +33665,7 @@ ix jv ks lk -lk +El pF As kp @@ -33671,7 +33702,7 @@ yY BW Cw Ct -Dc +Uz BW yY ac diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm index 9c8ba27eda4..efdb53dc3e6 100644 --- a/maps/tether/tether-07-station3.dmm +++ b/maps/tether/tether-07-station3.dmm @@ -28425,6 +28425,10 @@ "VM" = ( /turf/simulated/open, /area/ai/foyer) +"VX" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/monotile, +/area/tether/exploration) "WB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -40230,7 +40234,7 @@ cK cK cK ms -mq +VX Ox Ox Sp diff --git a/maps/tether/tether-10-colony.dmm b/maps/tether/tether-10-colony.dmm index 312b865f7b8..b0704731b38 100644 --- a/maps/tether/tether-10-colony.dmm +++ b/maps/tether/tether-10-colony.dmm @@ -16894,6 +16894,10 @@ icon_state = "dark" }, /area/centcom/specops) +"QB" = ( +/obj/machinery/washing_machine, +/turf/unsimulated/floor/steel, +/area/centcom/evac) "Rc" = ( /obj/structure/table/glass, /obj/item/device/defib_kit/compact/loaded, @@ -23127,8 +23131,8 @@ mQ no no mQ -oN -oN +QB +QB mQ no no diff --git a/vorestation.dme b/vorestation.dme index bff9a7b8925..21b76883df1 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -92,6 +92,7 @@ #include "code\_helpers\_global_objects.dm" #include "code\_helpers\_lists.dm" #include "code\_helpers\atmospherics.dm" +#include "code\_helpers\atom_movables.dm" #include "code\_helpers\events.dm" #include "code\_helpers\files.dm" #include "code\_helpers\game.dm" @@ -1691,6 +1692,7 @@ #include "code\modules\clothing\under\accessories\permits.dm" #include "code\modules\clothing\under\accessories\permits_vr.dm" #include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\accessories\torch.dm" #include "code\modules\clothing\under\jobs\civilian.dm" #include "code\modules\clothing\under\jobs\engineering.dm" #include "code\modules\clothing\under\jobs\medsci.dm"