diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm index 8c5c505f82a..224478646db 100644 --- a/code/__defines/species_languages_vr.dm +++ b/code/__defines/species_languages_vr.dm @@ -4,6 +4,7 @@ #define LANGUAGE_ECUREUILIAN "Ecureuilian" #define LANGUAGE_DAEMON "Daemon" #define LANGUAGE_ENOCHIAN "Enochian" +#define LANGUAGE_VESPINAE "Vespinae" #define LANGUAGE_CHIMPANZEE "Chimpanzee" #define LANGUAGE_NEAERA "Neaera" diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index fa755e6eeb6..09911f47617 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -28,24 +28,17 @@ var/global/list/vantag_choices_list = list( VANTAG_KIDNAP = "Be Kidnapped", VANTAG_KILL = "Be Killed") -/* Time to finally undo this. Replaced with digest_act on these items. -//Important items that are preserved when people are digested, etc. -//On Polaris, different from Cryo list as MMIs need to be removed for FBPs to be logged out. -var/global/list/important_items = list( +//Blacklist to exclude items from object ingestion. Digestion blacklist located in digest_act_vr.dm +var/global/list/item_vore_blacklist = list( /obj/item/weapon/hand_tele, /obj/item/weapon/card/id/gold/captain/spare, - /obj/item/device/aicard, - /obj/item/device/mmi/digital/posibrain, - /obj/item/device/paicard, /obj/item/weapon/gun, /obj/item/weapon/pinpointer, /obj/item/clothing/shoes/magboots, /obj/item/blueprints, /obj/item/clothing/head/helmet/space, /obj/item/weapon/disk/nuclear, - /obj/item/clothing/suit/storage/hooded/wintercoat/roiz, - /obj/item/device/perfect_tele_beacon) -*/ + /obj/item/clothing/suit/storage/hooded/wintercoat/roiz) var/global/list/digestion_sounds = list( 'sound/vore/digest1.ogg', diff --git a/code/controllers/Processes/scheduler.dm b/code/controllers/Processes/scheduler.dm index c852264bb75..c68ef116b6e 100644 --- a/code/controllers/Processes/scheduler.dm +++ b/code/controllers/Processes/scheduler.dm @@ -137,6 +137,7 @@ var/datum/callback/callback /datum/scheduled_task/callback/New(var/trigger_time, var/datum/callback, var/proc/task_after_process, var/list/task_after_process_args) + src.callback = callback ..(trigger_time = trigger_time, task_after_process = task_after_process, task_after_process_args = task_after_process_args) /datum/scheduled_task/callback/process() diff --git a/code/datums/autolathe/tools_vr.dm b/code/datums/autolathe/tools_vr.dm new file mode 100644 index 00000000000..c89d768f0b1 --- /dev/null +++ b/code/datums/autolathe/tools_vr.dm @@ -0,0 +1,3 @@ +/datum/category_item/autolathe/tools/prybar + name = "prybar" + path =/obj/item/weapon/tool/prybar diff --git a/code/datums/supplypacks/hospitality_vr.dm b/code/datums/supplypacks/hospitality_vr.dm index 642032d46f1..95a921f8176 100644 --- a/code/datums/supplypacks/hospitality_vr.dm +++ b/code/datums/supplypacks/hospitality_vr.dm @@ -81,4 +81,4 @@ containername = "Chinese takeout crate" /datum/supply_pack/randomised/hospitality/pizza - cost = 50 \ No newline at end of file + cost = 25 diff --git a/code/datums/underwear/socks.dm b/code/datums/underwear/socks.dm index fc1c96ce538..e1fe7e07f2f 100644 --- a/code/datums/underwear/socks.dm +++ b/code/datums/underwear/socks.dm @@ -56,4 +56,8 @@ /datum/category_item/underwear/socks/fishnet name = "Fishnet" - icon_state = "fishnet" \ No newline at end of file + icon_state = "fishnet" + +/datum/category_item/underwear/socks/leggings + name = "Leggings" + icon_state = "leggings" \ No newline at end of file diff --git a/code/datums/underwear/top.dm b/code/datums/underwear/top.dm index 72ac72c2320..28a17c3ab7b 100644 --- a/code/datums/underwear/top.dm +++ b/code/datums/underwear/top.dm @@ -62,4 +62,12 @@ /datum/category_item/underwear/top/striped_bra name = "Striped Bra" icon_state = "striped_bra" - has_color = TRUE \ No newline at end of file + has_color = TRUE + +/datum/category_item/underwear/top/binder + name = "Binder" + icon_state = "binder_s" + +/datum/category_item/underwear/top/straplessbinder + name = "Binder Strapless" + icon_state = "straplessbinder_s" \ No newline at end of file diff --git a/code/datums/underwear/undershirts.dm b/code/datums/underwear/undershirts.dm index 1bbbae7fb5b..1f91d1222cc 100644 --- a/code/datums/underwear/undershirts.dm +++ b/code/datums/underwear/undershirts.dm @@ -165,4 +165,16 @@ /datum/category_item/underwear/undershirt/tiedye name = "Tiedye Shirt" - icon_state = "tiedye" \ No newline at end of file + icon_state = "tiedye" + +/datum/category_item/underwear/undershirt/longstripe_pink + name = "Longsleeve Striped Shirt, Pink" + icon_state = "longstripe_pink_s" + +/datum/category_item/underwear/undershirt/wingshirt + name = "Pink Wing Shirt" + icon_state = "wing_shirt_s" + +/datum/category_item/underwear/undershirt/pinkblack_tshirt + name = "Pink and Black T-Shirt" + icon_state = "pinkblack_tshirt" \ No newline at end of file diff --git a/code/game/jobs/access_datum_vr.dm b/code/game/jobs/access_datum_vr.dm new file mode 100644 index 00000000000..872db2ae73f --- /dev/null +++ b/code/game/jobs/access_datum_vr.dm @@ -0,0 +1,12 @@ +//Moved from southern_cross_jobs.vr to fix a runtime +var/const/access_explorer = 43 +/datum/access/explorer + id = access_explorer + desc = "Explorer" + region = ACCESS_REGION_GENERAL + +var/const/access_pilot = 67 +/datum/access/pilot + id = access_pilot + desc = "Pilot" + region = ACCESS_REGION_SUPPLY diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index d9623d06e8e..0316f824c80 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -18,7 +18,7 @@ access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks)//VOREStation Edit minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, + access_research, access_engine, access_mining, access_construction, access_mailsorting, access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks)//VOREStation Edit minimum_character_age = 25 minimal_player_age = 14 diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 395b46e934f..cd698067f5d 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -73,7 +73,7 @@ var/list/medical_positions = list( "Geneticist", "Psychiatrist", "Chemist", - "Search and Rescue", // VOREStation Edit - Moved SAR from planetary -> medical + "Field Medic", // VOREStation Edit - Moved SAR from planetary -> medical "Paramedic" ) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index fd1dbf529db..389901c2732 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -391,6 +391,13 @@ var/obj/belly/B = belly for(var/mob/living/sub_L in B) despawn_occupant(sub_L) + for(var/obj/item/W in B) + W.forceMove(src) + if(W.contents.len) + for(var/obj/item/O in W.contents) + if(istype(O,/obj/item/weapon/storage/internal)) + continue + O.forceMove(src) if(ishuman(to_despawn)) var/mob/living/carbon/human/H = to_despawn if(H.nif) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 4c447e91f30..fa808ea051a 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -132,7 +132,7 @@ if("cellremove") if(panel_open && cell && !usr.get_active_hand()) - usr.visible_message("\The usr] removes \the [cell] from \the [src].", "You remove \the [cell] from \the [src].") + usr.visible_message("\The [usr] removes \the [cell] from \the [src].", "You remove \the [cell] from \the [src].") cell.update_icon() usr.put_in_hands(cell) cell.add_fingerprint(usr) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 672b0a2c4e9..480e613c27f 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -50,6 +50,7 @@ else state = 5 update_icon() + playsound(src, 'sound/items/washingmachine.ogg', 50, 1, 1) sleep(200) for(var/atom/A in washing) A.clean_blood() diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 7b9eb676912..ab46a48fbc1 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -48,6 +48,7 @@ set popup_menu = 0 if(usr!=src.occupant) return + playsound(src, 'sound/mecha/duranddefencemode.ogg', 50, 1) defence = !defence if(defence) deflect_chance = defence_deflect diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 591351032b3..978bbdeda87 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -37,6 +37,7 @@ wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark max_equip = 4 step_energy_drain = 5 + mech_faction = MECH_FACTION_SYNDI max_hull_equip = 1 max_weapon_equip = 2 @@ -84,6 +85,7 @@ step_energy_drain = step_energy_drain*overload_coeff src.occupant_message("You enable leg actuators overload.") src.log_message("Toggled leg actuators overload.") + playsound(src, 'sound/mecha/mechanical_toggle.ogg', 50, 1) return /obj/mecha/combat/gygax/dyndomove(direction) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 32366003097..27bdf905a94 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -22,6 +22,7 @@ internal_damage_threshold = 25 force = 45 max_equip = 4 + mech_faction = MECH_FACTION_NT max_hull_equip = 3 max_weapon_equip = 3 @@ -42,6 +43,7 @@ force = 55 max_equip = 5 + /obj/mecha/combat/marauder/mauler desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model." name = "Mauler" @@ -49,6 +51,7 @@ initial_icon = "mauler" operation_req_access = list(access_syndicate) wreckage = /obj/effect/decal/mecha_wreckage/mauler + mech_faction = MECH_FACTION_SYNDI /obj/mecha/combat/marauder/New() ..() diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index fec8c18e1df..825dfde5f53 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -20,10 +20,13 @@ var/required_type = /obj/mecha //may be either a type or a list of allowed types var/equip_type = null //mechaequip2 var/allow_duplicate = FALSE + var/ready_sound = 'sound/mecha/mech_reload_default.ogg' //Sound to play once the fire delay passed. /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(target=1) sleep(equip_cooldown) set_ready_state(1) + if(ready_sound) //Kind of like the kinetic accelerator. + playsound(loc, ready_sound, 50, 1, -1) if(target && chassis) return 1 return 0 @@ -69,10 +72,22 @@ src.update_chassis_page() chassis.occupant_message("The [src] is destroyed!") chassis.log_append_to_last("[src] is destroyed.",1) - if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon)) - chassis.occupant << sound('sound/mecha/weapdestr.ogg',volume=50) - else - chassis.occupant << sound('sound/mecha/critdestr.ogg',volume=50) + if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))//Gun + switch(chassis.mech_faction) + if(MECH_FACTION_NT) + src.chassis.occupant << sound('sound/mecha/weapdestrnano.ogg',volume=70) + if(MECH_FACTION_SYNDI) + src.chassis.occupant << sound('sound/mecha/weapdestrsyndi.ogg',volume=60) + else + src.chassis.occupant << sound('sound/mecha/weapdestr.ogg',volume=50) + else //Not a gun + switch(chassis.mech_faction) + if(MECH_FACTION_NT) + src.chassis.occupant << sound('sound/mecha/critdestrnano.ogg',volume=70) + if(MECH_FACTION_SYNDI) + src.chassis.occupant << sound('sound/mecha/critdestrsyndi.ogg',volume=70) + else + src.chassis.occupant << sound('sound/mecha/critdestr.ogg',volume=50) spawn qdel(src) return diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 263bd93d7e2..8dcadc42b66 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -128,7 +128,7 @@ desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)" icon_state = "mecha_diamond_drill" origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3) - equip_cooldown = 20 + equip_cooldown = 10 force = 15 /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill/action(atom/target) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index edb275a2faa..2605e7e0eb0 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -7,6 +7,11 @@ #define MELEE 1 #define RANGED 2 + +#define MECH_FACTION_NT "nano" +#define MECH_FACTION_SYNDI "syndi" +#define MECH_FACTION_NONE "none" + /obj/mecha name = "Mecha" desc = "Exosuit" @@ -41,6 +46,10 @@ var/lights_power = 6 var/force = 0 + var/mech_faction = null + var/firstactivation = 0 //It's simple. If it's 0, no one entered it yet. Otherwise someone entered it at least once. + + //inner atmos var/use_internal_tank = 0 var/internal_tank_valve = ONE_ATMOSPHERE @@ -500,7 +509,7 @@ internal_damage |= int_dam_flag pr_internal_damage.start() log_append_to_last("Internal damage of type [int_dam_flag].",1) - occupant << sound('sound/machines/warning-buzzer.ogg',wait=0) + occupant << sound('sound/mecha/internaldmgalarm.ogg',volume=50) //Better sounding. return /obj/mecha/proc/clearInternalDamage(int_dam_flag) @@ -1008,6 +1017,7 @@ if(network && !(internal_tank.return_air() in network.gases)) network.gases += internal_tank.return_air() network.update = 1 + playsound(src, 'sound/mecha/gasconnected.ogg', 50, 1) log_message("Connected to gas port.") return 1 @@ -1021,6 +1031,7 @@ connected_port.connected_device = null connected_port = null + playsound(src, 'sound/mecha/gasdisconnected.ogg', 50, 1) src.log_message("Disconnected from gas port.") return 1 @@ -1078,6 +1089,7 @@ else set_light(light_range - lights_power) src.occupant_message("Toggled lights [lights?"on":"off"].") log_message("Toggled lights [lights?"on":"off"].") + playsound(src, 'sound/mecha/heavylightswitch.ogg', 50, 1) return @@ -1178,8 +1190,22 @@ src.icon_state = src.reset_icon() set_dir(dir_in) playsound(src, 'sound/machines/windowdoor.ogg', 50, 1) - if(!hasInternalDamage()) - src.occupant << sound('sound/mecha/nominal.ogg',volume=50) + if(!hasInternalDamage()) //Otherwise it's not nominal! + switch(mech_faction) + if(MECH_FACTION_NT)//The good guys category + if(firstactivation)//First time = long activation sound + firstactivation = 1 + src.occupant << sound('sound/mecha/LongNanoActivation.ogg',volume=50) + else + src.occupant << sound('sound/mecha/nominalnano.ogg',volume=50) + if(MECH_FACTION_SYNDI)//Bad guys + if(firstactivation) + firstactivation = 1 + src.occupant << sound('sound/mecha/LongSyndiActivation.ogg',volume=50) + else + src.occupant << sound('sound/mecha/nominalsyndi.ogg',volume=50) + else//Everyone else gets the normal noise + src.occupant << sound('sound/mecha/nominal.ogg',volume=50) return 1 else return 0 diff --git a/code/game/objects/items/devices/PDA/PDA_vr.dm b/code/game/objects/items/devices/PDA/PDA_vr.dm index e21fcbea8b7..20558c965ca 100644 --- a/code/game/objects/items/devices/PDA/PDA_vr.dm +++ b/code/game/objects/items/devices/PDA/PDA_vr.dm @@ -6,4 +6,12 @@ /obj/item/device/pda/pathfinder default_cartridge = /obj/item/weapon/cartridge/signal/science + icon_state = "pda-lawyer-old" + +/obj/item/device/pda/explorer + default_cartridge = /obj/item/weapon/cartridge/signal/science + icon_state = "pda-det" + +/obj/item/device/pda/sar + default_cartridge = /obj/item/weapon/cartridge/medical icon_state = "pda-h" diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 44d3c98c8c4..b25d86897fe 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -68,6 +68,7 @@ cell.charge = 0 visible_message("\The [src] flickers before going dull.") set_light(0) + playsound(src.loc, 'sound/effects/sparks3.ogg', 10, 1, -3) //Small cue that your light went dull in your pocket. on = 0 update_icon() @@ -180,6 +181,7 @@ user.put_in_hands(cell) cell = null user << "You remove the cell from the [src]." + playsound(src, 'sound/machines/button.ogg', 30, 1, 0) on = 0 update_icon() return @@ -228,6 +230,7 @@ W.loc = src cell = W user << "You install a cell in \the [src]." + playsound(src, 'sound/machines/button.ogg', 30, 1, 0) update_icon() else user << "\The [src] already has a cell." diff --git a/code/game/objects/items/devices/radio/jammer_vr.dm b/code/game/objects/items/devices/radio/jammer_vr.dm new file mode 100644 index 00000000000..a92005621aa --- /dev/null +++ b/code/game/objects/items/devices/radio/jammer_vr.dm @@ -0,0 +1,4 @@ +//Unlimited use, unlimited range jammer for admins. Turn it on, drop it somewhere, it works. +/obj/item/device/radio_jammer/admin + jam_range = 255 + tick_cost = 0 diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 231693305fe..9e03e7ff63e 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -1,4 +1,5 @@ // Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't +//VOREStation Edit Start - Updating this for Virgo var/global/list/default_internal_channels = list( num2text(PUB_FREQ) = list(), num2text(AI_FREQ) = list(access_synth), @@ -10,16 +11,18 @@ var/global/list/default_internal_channels = list( num2text(MED_I_FREQ)=list(access_medical_equip), num2text(SEC_FREQ) = list(access_security), num2text(SEC_I_FREQ)=list(access_security), - num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology), - num2text(SUP_FREQ) = list(access_cargo), - num2text(SRV_FREQ) = list(access_janitor, access_hydroponics) + num2text(SCI_FREQ) = list(access_tox, access_robotics, access_xenobiology, access_explorer), + num2text(SUP_FREQ) = list(access_cargo, access_mining_station), + num2text(SRV_FREQ) = list(access_janitor, access_library, access_hydroponics, access_bar, access_kitchen), + num2text(EXP_FREQ) = list(access_explorer, access_pilot, access_rd) ) var/global/list/default_medbay_channels = list( num2text(PUB_FREQ) = list(), - num2text(MED_FREQ) = list(access_medical_equip), - num2text(MED_I_FREQ) = list(access_medical_equip) + num2text(MED_FREQ) = list(), + num2text(MED_I_FREQ) = list() ) +//VOREStation Edit End /obj/item/device/radio icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit @@ -480,6 +483,13 @@ var/global/list/default_medbay_channels = list( //THIS IS TEMPORARY. YEAH RIGHT if(!connection) return 0 //~Carn +//VOREStation Add Start + if(bluespace_radio) + return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), + src, message, displayname, jobname, real_name, M.voice_name, + 0, signal.data["compression"], list(0), connection.frequency,verb,speaking) +//VOREStation Add End + return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), src, message, displayname, jobname, real_name, M.voice_name, filter_type, signal.data["compression"], list(position.z), connection.frequency,verb,speaking) @@ -518,7 +528,8 @@ var/global/list/default_medbay_channels = list( if(!(0 in level)) var/turf/position = get_turf(src) if(!position || !(position.z in level)) - return -1 + if(!bluespace_radio) //VOREStation Edit + return -1 if(freq in ANTAG_FREQS) if(!(src.syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys return -1 diff --git a/code/game/objects/items/devices/radio/radio_vr.dm b/code/game/objects/items/devices/radio/radio_vr.dm new file mode 100644 index 00000000000..d3681423f3b --- /dev/null +++ b/code/game/objects/items/devices/radio/radio_vr.dm @@ -0,0 +1,146 @@ +/obj/item/device/radio + var/bluespace_radio = FALSE + +/obj/item/device/radio/phone + subspace_transmission = 1 + canhear_range = 0 + adhoc_fallback = TRUE + +/obj/item/device/radio/emergency + name = "Medbay Emergency Radio Link" + icon_state = "med_walkietalkie" + frequency = MED_I_FREQ + subspace_transmission = 1 + adhoc_fallback = TRUE + +/obj/item/device/radio/emergency/New() + ..() + internal_channels = default_medbay_channels.Copy() + +//Pathfinder's Subspace Radio +/obj/item/device/subspaceradio + name = "subspace radio" + desc = "A powerful new radio recently gifted to Nanotrasen from KHI, this communications device has the ability to send and recieve transmissions from anywhere." + icon = 'icons/vore/custom_items_vr.dmi' + icon_state = "radiopack" + item_state = "parachute" + slot_flags = SLOT_BACK + force = 5 + throwforce = 6 + preserve_item = 1 + w_class = ITEMSIZE_LARGE + action_button_name = "Remove/Replace Handset" + + var/obj/item/device/radio/subspacehandset/linked/handset + +/obj/item/device/subspaceradio/New() //starts without a cell for rnd + ..() + if(ispath(handset)) + handset = new handset(src, src) + else + handset = new(src, src) + +/obj/item/device/subspaceradio/Destroy() + . = ..() + QDEL_NULL(handset) + +/obj/item/device/subspaceradio/ui_action_click() + toggle_handset() + +/obj/item/device/subspaceradio/attack_hand(mob/user) + if(loc == user) + toggle_handset() + else + ..() + +/obj/item/device/subspaceradio/MouseDrop() + if(ismob(loc)) + if(!CanMouseDrop(src)) + return + var/mob/M = loc + if(!M.unEquip(src)) + return + add_fingerprint(usr) + M.put_in_any_hand_if_possible(src) + +/obj/item/device/subspaceradio/attackby(obj/item/weapon/W, mob/user, params) + if(W == handset) + reattach_handset(user) + else + return ..() + +/obj/item/device/subspaceradio/verb/toggle_handset() + set name = "Toggle Handset" + set category = "Object" + + var/mob/living/carbon/human/user = usr + if(!handset) + to_chat(user, "The handset is missing!") + return + + if(handset.loc != src) + reattach_handset(user) //Remove from their hands and back onto the defib unit + return + + if(!slot_check()) + to_chat(user, "You need to equip [src] before taking out [handset].") + else + if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands + to_chat(user, "You need a free hand to hold the handset!") + update_icon() //success + +//checks that the base unit is in the correct slot to be used +/obj/item/device/subspaceradio/proc/slot_check() + var/mob/M = loc + if(!istype(M)) + return 0 //not equipped + + if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src) + return 1 + if((slot_flags & SLOT_BELT) && M.get_equipped_item(slot_belt) == src) + return 1 + + return 0 + +/obj/item/device/subspaceradio/dropped(mob/user) + ..() + reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit + +/obj/item/device/subspaceradio/proc/reattach_handset(mob/user) + if(!handset) return + + if(ismob(handset.loc)) + var/mob/M = handset.loc + if(M.drop_from_inventory(handset, src)) + to_chat(user, "\The [handset] snap back into the main unit.") + else + handset.forceMove(src) + +//Subspace Radio Handset +/obj/item/device/radio/subspacehandset + name = "subspace radio handset" + desc = "A large walkie talkie attached to the subspace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use." + bluespace_radio = TRUE + icon_state = "signaller" + slot_flags = null + w_class = ITEMSIZE_LARGE + +/obj/item/device/radio/subspacehandset/linked + var/obj/item/device/subspaceradio/base_unit + +/obj/item/device/radio/subspacehandset/linked/New(newloc, obj/item/device/subspaceradio/radio) + base_unit = radio + ..(newloc) + +/obj/item/device/radio/subspacehandset/linked/Destroy() + if(base_unit) + //ensure the base unit's icon updates + if(base_unit.handset == src) + base_unit.handset = null + base_unit = null + return ..() + +/obj/item/device/radio/subspacehandset/linked/dropped(mob/user) + ..() //update twohanding + if(base_unit) + base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index d404b5cd445..260a01b04de 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -7,55 +7,82 @@ RSF /obj/item/weapon/rsf name = "\improper Rapid-Service-Fabricator" desc = "A device used to rapidly deploy service items." - icon = 'icons/obj/items.dmi' + description_info = "Control Clicking on the device will allow you to choose the glass it dispenses when in the proper mode." + icon = 'icons/obj/tools.dmi' icon_state = "rcd" opacity = 0 density = 0 anchored = 0.0 var/stored_matter = 30 var/mode = 1 + var/obj/item/weapon/reagent_containers/glasstype = /obj/item/weapon/reagent_containers/food/drinks/metaglass + + var/list/container_types = list( + "metamorphic glass" = /obj/item/weapon/reagent_containers/food/drinks/metaglass, + "half-pint glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/square, + "rocks glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks, + "milkshake glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/shake, + "cocktail glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/cocktail, + "shot glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/shot, + "pint glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/pint, + "mug" = /obj/item/weapon/reagent_containers/food/drinks/glass2/mug, + "wine glass" = /obj/item/weapon/reagent_containers/food/drinks/glass2/wine, + "condiment bottle" = /obj/item/weapon/reagent_containers/food/condiment + ) + w_class = ITEMSIZE_NORMAL /obj/item/weapon/rsf/examine(mob/user) if(..(user, 0)) - user << "It currently holds [stored_matter]/30 fabrication-units." + to_chat(user,"It currently holds [stored_matter]/30 fabrication-units.") /obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/rcd_ammo)) if ((stored_matter + 10) > 30) - user << "The RSF can't hold any more matter." + to_chat(user, "The RSF can't hold any more matter.") return qdel(W) stored_matter += 10 playsound(src.loc, 'sound/machines/click.ogg', 10, 1) - user << "The RSF now holds [stored_matter]/30 fabrication-units." + to_chat(user,"The RSF now holds [stored_matter]/30 fabrication-units.") return +/obj/item/weapon/rsf/CtrlClick(mob/living/user) + if(!Adjacent(user) || !istype(user)) + to_chat(user,"You are too far away.") + return + var/glass_choice = input(user, "Please choose which type of glass you would like to produce.") as null|anything in container_types + + if(glass_choice) + glasstype = container_types[glass_choice] + else + glasstype = /obj/item/weapon/reagent_containers/food/drinks/metaglass + /obj/item/weapon/rsf/attack_self(mob/user as mob) playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) if (mode == 1) mode = 2 - user << "Changed dispensing mode to 'Drinking Glass:Pint'" + to_chat(user,"Changed dispensing mode to 'Container'.") return if (mode == 2) mode = 3 - user << "Changed dispensing mode to 'Paper'" + to_chat(user,"Changed dispensing mode to 'Paper'") return if (mode == 3) mode = 4 - user << "Changed dispensing mode to 'Pen'" + to_chat(user,"Changed dispensing mode to 'Pen'") return if (mode == 4) mode = 5 - user << "Changed dispensing mode to 'Dice Pack'" + to_chat(user,"Changed dispensing mode to 'Dice Pack'") return if (mode == 5) mode = 1 - user << "Changed dispensing mode to 'Cigarette'" + to_chat(user,"Changed dispensing mode to 'Cigarette'") return /obj/item/weapon/rsf/afterattack(atom/A, mob/user as mob, proximity) @@ -82,7 +109,7 @@ RSF product = new /obj/item/clothing/mask/smokable/cigarette() used_energy = 10 if(2) - product = new /obj/item/weapon/reagent_containers/food/drinks/glass2/pint() + product = new glasstype() used_energy = 50 if(3) product = new /obj/item/weapon/paper() @@ -94,7 +121,7 @@ RSF product = new /obj/item/weapon/storage/pill_bottle/dice() used_energy = 200 - user << "Dispensing [product ? product : "product"]..." + to_chat(user,"Dispensing [product ? product : "product"]...") product.loc = get_turf(A) if(isrobot(user)) @@ -103,4 +130,4 @@ RSF R.cell.use(used_energy) else stored_matter-- - user << "The RSF now holds [stored_matter]/30 fabrication-units." + to_chat(user,"The RSF now holds [stored_matter]/30 fabrication-units.") diff --git a/code/game/objects/items/weapons/implants/implant_vr.dm b/code/game/objects/items/weapons/implants/implant_vr.dm index ebcc2d9f546..006c4884e1f 100644 --- a/code/game/objects/items/weapons/implants/implant_vr.dm +++ b/code/game/objects/items/weapons/implants/implant_vr.dm @@ -39,3 +39,101 @@ source.mind.store_memory("A implant can be activated by using the smile emote, say *smile to attempt to activate.", 0, 0) to_chat(source,"The implanted language implant can be activated by using the smile emote, say *smile to attempt to activate.") return 1 + +////////////////////////////// +// Size Control Implant +////////////////////////////// +/obj/item/weapon/implant/sizecontrol + name = "size control implant" + desc = "Implant which allows to control host size via voice commands." + icon_state = "implant_evil" + var/owner + var/active = TRUE + +/obj/item/weapon/implant/sizecontrol/get_data() + var/dat = {" +Implant Specifications:
+Name:L3-WD Size Controlling Implant
+Life:1-2 weeks after implanting
+
+Function: Resizes the host whenever specific verbal command is received
"} + return dat + +/obj/item/weapon/implant/sizecontrol/hear_talk(mob/M, msg) + if(M == imp_in) + return + if(owner) + if(M != owner) + return + if(findtext(msg,"ignore")) + return + var/list/replacechars = list("'" = "",">" = "","<" = "","(" = "",")" = "", "~" = "") + msg = replace_characters(msg, replacechars) + hear(msg) + return + +/obj/item/weapon/implant/sizecontrol/see_emote(mob/living/M, message, m_type) + if(M == imp_in) + return + if(owner) + if(M != owner) + return + var/list/replacechars = list("'" = "",">" = "","<" = "","(" = "",")" = "", "~" = "") + message = replace_characters(message, replacechars) + var/static/regex/say_in_me = new/regex("(")(.*?)(&#)", "g") + while(say_in_me.Find(message)) + if(findtext(say_in_me.match,"ignore")) + return + hear(say_in_me.group[2]) + + +/obj/item/weapon/implant/sizecontrol/hear(var/msg) + if (malfunction) + return + + if(istype(imp_in, /mob/living)) + var/mob/living/H = imp_in + if(findtext(msg,"implant-toggle")) + active = !active + if(active) + if(findtext(msg,"grow")) + H.resize(min(H.size_multiplier*1.5, 2)) + else if(findtext(msg,"shrink")) + H.resize(max(H.size_multiplier*0.5, 0.25)) + else if(findtext(msg, "resize")) + var/static/regex/size_mult = new/regex("\\d+") + if(size_mult.Find(msg)) + var/resizing_value = text2num(size_mult.match) + if(findtext(msg, "centimeter")) //Because metric system rules + H.resize(Clamp(resizing_value/170 , 0.25, 2)) //170 cm is average crewmember, I think + else + H.resize(Clamp(resizing_value , 0.25, 2)) + + + +/obj/item/weapon/implant/sizecontrol/post_implant(mob/source, mob/living/user = usr) + if(source != user) + owner = user + + +/obj/item/weapon/implant/sizecontrol/emp_act(severity) + if(istype(imp_in, /mob/living)) + var/newsize = pick(RESIZE_HUGE,RESIZE_BIG,RESIZE_NORMAL,RESIZE_SMALL,RESIZE_TINY,RESIZE_A_HUGEBIG,RESIZE_A_BIGNORMAL,RESIZE_A_NORMALSMALL,RESIZE_A_SMALLTINY) + var/mob/living/H = imp_in + H.resize(newsize) + +/obj/item/weapon/implanter/sizecontrol + name = "size control implant" + desc = "Implant which allows to control host size via voice commands." + description_info = {"Only accessable by those who implanted the victim. Self-implanting allows everyone to change host size. The following special commands are available: +'Shrink' - host size decreases. +'Grow' - host size increases. +'Resize (NUMBER)' or 'Resize (NUMBER) centimeter(s)' - for accurate size control. +'Ignore' - keywords in the speech won't have any effect. +'Implant-toggle' - toggles implant."} + +/obj/item/weapon/implanter/sizecontrol/New() + src.imp = new /obj/item/weapon/implant/sizecontrol( src ) + ..() + update() + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implantreagent_vr.dm b/code/game/objects/items/weapons/implants/implantreagent_vr.dm index 83a586d2ba1..0b227d95391 100644 --- a/code/game/objects/items/weapons/implants/implantreagent_vr.dm +++ b/code/game/objects/items/weapons/implants/implantreagent_vr.dm @@ -82,10 +82,11 @@ var/obj/item/weapon/implant/reagent_generator/rimplant - for(var/I in src.contents) - if(istype(I, /obj/item/weapon/implant/reagent_generator)) - rimplant = I - break + for(var/obj/item/organ/external/E in organs) + for(var/obj/item/weapon/implant/I in E.implants) + if(istype(I, /obj/item/weapon/implant/reagent_generator)) + rimplant = I + break if(rimplant) if(container.reagents.total_volume < container.volume) var/container_name = container.name diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index b6dde04e704..2dd06bc0bce 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -56,7 +56,6 @@ name = "emergency supply box" desc = "A survival box issued to crew members for use in emergency situations." starts_with = list( - /obj/item/clothing/glasses/goggles, //VOREStation Add - Goggles for the phoron atmosphere, /obj/item/clothing/mask/breath ) @@ -64,7 +63,6 @@ name = "synthetic supply box" desc = "A survival box issued to synthetic crew members for use in emergency situations." starts_with = list( - /obj/item/clothing/glasses/goggles //VOREStation Add - Goggles for the phoron atmosphere, ) /obj/item/weapon/storage/box/survival/comp @@ -72,7 +70,6 @@ desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies." icon_state = "survival" starts_with = list( - /obj/item/clothing/glasses/goggles, //VOREStation Add - Goggles for the phoron atmosphere, /obj/item/weapon/reagent_containers/hypospray/autoinjector, /obj/item/stack/medical/bruise_pack, /obj/item/device/flashlight/glowstick, diff --git a/code/game/objects/items/weapons/storage/boxes_vr.dm b/code/game/objects/items/weapons/storage/boxes_vr.dm index d3dcd936dab..81833a29a11 100644 --- a/code/game/objects/items/weapons/storage/boxes_vr.dm +++ b/code/game/objects/items/weapons/storage/boxes_vr.dm @@ -1,3 +1,27 @@ +/obj/item/weapon/storage/box/survival + starts_with = list( + /obj/item/weapon/tool/prybar/red, + /obj/item/clothing/glasses/goggles, + /obj/item/clothing/mask/breath + ) + +/obj/item/weapon/storage/box/survival/synth + starts_with = list( + /obj/item/weapon/tool/prybar/red, + /obj/item/clothing/glasses/goggles + ) + +/obj/item/weapon/storage/box/survival/comp + starts_with = list( + /obj/item/weapon/tool/prybar/red, + /obj/item/clothing/glasses/goggles, + /obj/item/weapon/reagent_containers/hypospray/autoinjector, + /obj/item/stack/medical/bruise_pack, + /obj/item/device/flashlight/glowstick, + /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, + /obj/item/clothing/mask/breath + ) + /obj/item/weapon/storage/box/explorerkeys name = "box of volunteer headsets" desc = "A box full of volunteer headsets, for issuing out to exploration volunteers." diff --git a/code/game/objects/items/weapons/tools/crowbar_vr.dm b/code/game/objects/items/weapons/tools/crowbar_vr.dm new file mode 100644 index 00000000000..49cbfa63a9f --- /dev/null +++ b/code/game/objects/items/weapons/tools/crowbar_vr.dm @@ -0,0 +1,32 @@ +/* + * Prybar + */ + +/obj/item/weapon/tool/prybar + name = "pry bar" + desc = "A steel bar with a wedge, designed specifically for opening unpowered doors in an emergency. It comes in a variety of configurations - collect them all!" + icon = 'icons/obj/tools_vr.dmi' + icon_state = "prybar" + flags = CONDUCT + slot_flags = SLOT_BELT + force = 4 + throwforce = 5 + pry = 1 + item_state = "crowbar" + w_class = ITEMSIZE_SMALL + origin_tech = list(TECH_ENGINEERING = 1) + matter = list(DEFAULT_WALL_MATERIAL = 30) + attack_verb = list("whapped", "smacked", "swatted", "thwacked", "hit") + usesound = 'sound/items/crowbar.ogg' + toolspeed = 1 + var/random_color = TRUE + +/obj/item/weapon/tool/prybar/red + icon_state = "prybar_red" + item_state = "crowbar_red" + random_color = FALSE + +/obj/item/weapon/tool/prybar/New() + if(random_color) + icon_state = "prybar[pick("","_green","_aubergine","_blue")]" + . = ..() diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm index bdb8207cbd2..01c0554170d 100644 --- a/code/game/objects/structures/trash_pile.dm +++ b/code/game/objects/structures/trash_pile.dm @@ -221,6 +221,7 @@ prob(4);/obj/item/weapon/storage/pill_bottle/happy, prob(4);/obj/item/weapon/storage/pill_bottle/zoom, prob(4);/obj/item/weapon/gun/energy/sizegun, + prob(3);/obj/item/weapon/implanter/sizecontrol, prob(3);/obj/item/weapon/material/butterfly, prob(3);/obj/item/weapon/material/butterfly/switchblade, prob(3);/obj/item/clothing/gloves/knuckledusters, diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 718b7da615a..0327e0c84a9 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -343,8 +343,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) return var/msg = "- AdminHelp marked as IC issue! -
" - msg += "Losing is part of the game!
" - msg += "Your AdminHelp may also be unabled to be answered due to ongoing events." + msg += "This is something that can be solved ICly, and does not currently require admin intervention.
" //VOREStation Edit + msg += "Your AdminHelp may also be unable to be answered due to ongoing events." //VOREStation Edit if(initiator) to_chat(initiator, msg) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm index 86ea0381d07..c3d4adc34be 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm @@ -30,11 +30,36 @@ display_name = "collar, holo" path = /obj/item/clothing/accessory/collar/holo -/datum/gear/accessory/white_drop_pouches - allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist") +/datum/gear/accessory/holster + display_name = "holster selection (Security, CD, HoP, Exploration)" + allowed_roles = list("Colony Director", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective","Explorer","Pathfinder") + +/datum/gear/accessory/brown_vest + display_name = "webbing, brown" + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder") + +/datum/gear/accessory/black_vest + display_name = "webbing, black" + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder") /datum/gear/accessory/white_vest - allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist") + display_name = "webbing, white (Medical)" + allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic") + +/datum/gear/accessory/brown_drop_pouches + display_name = "drop pouches, brown" + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder") + +/datum/gear/accessory/black_drop_pouches + display_name = "drop pouches, black" + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Pathfinder") + +/datum/gear/accessory/white_drop_pouches + display_name = "drop pouches, white (Medical)" + allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic") + +/datum/gear/accessory/stethoscope + allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Field Medic") /datum/gear/accessory/khcrystal display_name = "KH Life Crystal" diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm index 94094428c9c..da9ad9021db 100644 --- a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm @@ -1,3 +1,10 @@ +/datum/gear/eyes/medical + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") + +/datum/gear/eyes/meson + display_name = "Optical Meson Scanners (Engineering, Science)" + allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director", "Explorer", "Pathfinder") + /datum/gear/eyes/arglasses display_name = "AR glasses" path = /obj/item/clothing/glasses/omnihud diff --git a/code/modules/client/preference_setup/loadout/loadout_shoes_vr.dm b/code/modules/client/preference_setup/loadout/loadout_shoes_vr.dm index ff04b6a9897..73cce9a17e2 100644 --- a/code/modules/client/preference_setup/loadout/loadout_shoes_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_shoes_vr.dm @@ -1,3 +1,9 @@ +/datum/gear/shoes/boots/winter/science + allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Explorer", "Pathfinder") + +/datum/gear/shoes/boots/winter/medical + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") + /datum/gear/shoes/black/cuffs display_name = "legwraps, black" path = /obj/item/clothing/shoes/black/cuffs diff --git a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm index 002d032a3d3..719ba98a382 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm @@ -1,3 +1,21 @@ +/datum/gear/suit/roles/poncho/cloak/research + allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Explorer", "Pathfinder") + +/datum/gear/suit/roles/poncho/cloak/medical + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") + +/datum/gear/suit/wintercoat/medical + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") + +/datum/gear/suit/wintercoat/science + allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Explorer", "Pathfinder") + +/datum/gear/suit/snowsuit/medical + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic") + +/datum/gear/suit/snowsuit/science + allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Explorer", "Pathfinder") + /datum/gear/suit/labcoat_colorable display_name = "labcoat, colorable" path = /obj/item/clothing/suit/storage/toggle/labcoat diff --git a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm index 65bc2af8bd6..4edfe9246f7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm @@ -35,7 +35,7 @@ /datum/gear/utility/dufflebag/med display_name = "medical dufflebag" path = /obj/item/weapon/storage/backpack/dufflebag/med - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist","Psychiatrist","Search and Rescue") + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist","Psychiatrist","Field Medic") /datum/gear/utility/dufflebag/med/emt display_name = "EMT dufflebag" @@ -54,4 +54,4 @@ /datum/gear/utility/dufflebag/sci display_name = "science dufflebag" path = /obj/item/weapon/storage/backpack/dufflebag/sci - allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Explorer") + allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Explorer","Pathfinder") diff --git a/code/modules/clothing/suits/hooded_vr.dm b/code/modules/clothing/suits/hooded_vr.dm new file mode 100644 index 00000000000..ef13979bdc9 --- /dev/null +++ b/code/modules/clothing/suits/hooded_vr.dm @@ -0,0 +1,3 @@ +// Field Medic Suit - Someone who can sprite should probably reskin this +/obj/item/clothing/suit/storage/hooded/explorer/medic + starting_accessories = list(/obj/item/clothing/accessory/armband/med/cross) diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm index 064f5b37b8b..25148b88132 100644 --- a/code/modules/clothing/under/accessories/accessory_vr.dm +++ b/code/modules/clothing/under/accessories/accessory_vr.dm @@ -6,6 +6,7 @@ slot_flags = SLOT_TIE | SLOT_OCLOTHING icon = 'icons/obj/clothing/collars_vr.dmi' icon_override = 'icons/obj/clothing/collars_vr.dmi' + var/writtenon = 0 /obj/item/clothing/accessory/collar/silver name = "Silver tag collar" @@ -27,6 +28,20 @@ icon_state = "collar_bell" item_state = "collar_bell_overlay" overlay_state = "collar_bell_overlay" + var/jingled = 0 + +/obj/item/clothing/accessory/collar/bell/verb/jinglebell() + set name = "Jingle Bell" + set category = "Object" + set src in usr + if(!istype(usr, /mob/living)) return + if(usr.stat) return + + if(!jingled) + usr.audible_message("[usr] jingles the [src]'s bell.") + jingled = 1 + schedule_callback_in(5 SECONDS, VARSET_CALLBACK(src, jingled, 0)) + return /obj/item/clothing/accessory/collar/shock name = "Shock collar" @@ -164,8 +179,14 @@ item_state = "collar_holo_overlay" overlay_state = "collar_holo_overlay" -/obj/item/clothing/accessory/collar/holo/attack_self(mob/user as mob) - to_chat(user,"[name]'s interface is projected onto your hand.") +/obj/item/clothing/accessory/collar/attack_self(mob/user as mob) + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + to_chat(user,"[name]'s interface is projected onto your hand.") + else + if(writtenon) + to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") + return + to_chat(user,"You adjust the [name]'s tag.") var/str = copytext(reject_bad_text(input(user,"Tag text?","Set tag","")),1,MAX_NAME_LEN) @@ -176,7 +197,49 @@ else to_chat(user,"You set the [name]'s tag to '[str]'.") name = initial(name) + " ([str])" - desc = initial(desc) + " The tag says \"[str]\"." + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + desc = initial(desc) + " The tag says \"[str]\"." + else + desc = initial(desc) + " \"[str]\" has been engraved on the tag." + writtenon = 1 + +/obj/item/clothing/accessory/collar/attackby(obj/item/I, mob/user) + if(istype(src,/obj/item/clothing/accessory/collar/holo)) + return + + if(istype(I,/obj/item/weapon/tool/screwdriver)) + update_collartag(user, I, "scratched out", "scratch out", "engraved") + return + + if(istype(I,/obj/item/weapon/pen)) + update_collartag(user, I, "crossed out", "cross out", "written") + return + + to_chat(user,"You need a pen or a screwdriver to edit the tag on this collar.") + +/obj/item/clothing/accessory/collar/proc/update_collartag(mob/user, obj/item/I, var/erasemethod, var/erasing, var/writemethod) + if(!(istype(user.get_active_hand(),I)) || !(istype(user.get_inactive_hand(),src)) || (user.stat)) + return + + var/str = copytext(reject_bad_text(input(user,"Tag text?","Set tag","")),1,MAX_NAME_LEN) + + if(!str || !length(str)) + if(!writtenon) + to_chat(user,"You don't write anything.") + else + to_chat(user,"You [erasing] the words with the [I].") + name = initial(name) + desc = initial(desc) + " The tag has had the words [erasemethod]." + else + if(!writtenon) + to_chat(user,"You write '[str]' on the tag with the [I].") + name = initial(name) + " ([str])" + desc = initial(desc) + " \"[str]\" has been [writemethod] on the tag." + writtenon = 1 + else + to_chat(user,"You [erasing] the words on the tag with the [I], and write '[str]'.") + name = initial(name) + " ([str])" + desc = initial(desc) + " Something has been [erasemethod] on the tag, and it now has \"[str]\" [writemethod] on it." //Machete Holsters /obj/item/clothing/accessory/holster/machete @@ -193,4 +256,4 @@ /obj/item/clothing/accessory/medal/silver/unity name = "medal of unity" - desc = "A silver medal awarded to a group which has demonstrated exceptional teamwork to achieve a notable feat." \ No newline at end of file + desc = "A silver medal awarded to a group which has demonstrated exceptional teamwork to achieve a notable feat." diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm index b8acc3377e2..13b6e2e88fc 100644 --- a/code/modules/food/food/snacks_vr.dm +++ b/code/modules/food/food/snacks_vr.dm @@ -308,3 +308,195 @@ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/wolpincube name = "wolpin cube" monkey_type = "Wolpin" + +/obj/item/weapon/reagent_containers/food/snacks/pizza/margfrozen + name = "frozen margherita pizza" + desc = "It's frozen rock solid, better thaw it in a microwave." + icon = 'icons/obj/food_vr.dmi' + icon_state = "margharita_pizza_frozen" + center_of_mass = list("x"=16, "y"=11) + nutriment_amt = 15 + nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen cheese" = 5, "frozen tomato" = 5) + +/obj/item/weapon/reagent_containers/food/snacks/pizza/margfrozen/New() + ..() + bitesize = 20 + reagents.add_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margcargo + name = "Margherita" + desc = "The golden standard of pizzas, it looks drowned in tomato sauce." + icon = 'icons/obj/food_vr.dmi' + icon_state = "margharita_pizza_cargo" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/margcargo + slices_num = 6 + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("pizza crust" = 10, "tomato" = 15, "cheese" = 5) + nutriment_amt = 10 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margcargo/New() + ..() + reagents.add_reagent("protein", 2) + reagents.add_reagent("tomatojuice", 10) + bitesize = 2 + reagents.remove_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/slice/margcargo + name = "Margherita slice" + desc = "A slice of the classic pizza, it's hard not to spill any tomato juice on yourself." + icon = 'icons/obj/food_vr.dmi' + icon_state = "margharita_pizza_slice_cargo" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=16, "y"=13) + whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margcargo + +/obj/item/weapon/reagent_containers/food/snacks/slice/margcargo/filled + filled = TRUE + +/obj/item/weapon/reagent_containers/food/snacks/pizza/meatfrozen + name = "frozen meat pizza" + desc = "It's frozen rock solid, better thaw it in a microwave." + icon = 'icons/obj/food_vr.dmi' + icon_state = "meat_pizza_frozen" + center_of_mass = list("x"=16, "y"=11) + nutriment_amt = 15 + nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen meat" = 5, "frozen cow screams" = 5) + +/obj/item/weapon/reagent_containers/food/snacks/pizza/meatfrozen/New() + ..() + bitesize = 20 + reagents.add_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatcargo + name = "Meatpizza" + desc = "A pizza with meat topping, some of it suspiciously pink." + icon = 'icons/obj/food_vr.dmi' + icon_state = "meat_pizza_cargo" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/meatcargo + slices_num = 6 + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("meat" = 10, "beef" = 10, "squeaky pork" = 15, "longpig" = 5) + nutriment_amt = 10 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatcargo/New() + ..() + reagents.add_reagent("protein", 20) + reagents.add_reagent("tomatojuice", 6) + bitesize = 2 + reagents.remove_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/slice/meatcargo + name = "Meatpizza slice" + desc = "A slice of a meaty pizza, there are some bits of supiciously pink meat." + icon = 'icons/obj/food_vr.dmi' + icon_state = "meat_pizza_slice_cargo" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=16, "y"=13) + whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatcargo + +/obj/item/weapon/reagent_containers/food/snacks/slice/meatcargo/filled + filled = TRUE + +/obj/item/weapon/reagent_containers/food/snacks/pizza/mushfrozen + name = "frozen mushroom pizza" + desc = "It's frozen rock solid, better thaw it in a microwave." + icon = 'icons/obj/food_vr.dmi' + icon_state = "mushroom_pizza_frozen" + center_of_mass = list("x"=16, "y"=11) + nutriment_amt = 15 + nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen mushrooms" = 5, "frozen cream" = 5) + +/obj/item/weapon/reagent_containers/food/snacks/pizza/mushfrozen/New() + ..() + bitesize = 20 + reagents.add_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushcargo + name = "Mushroompizza" + desc = "Very special pizza, it looks to be drowned in cream." + icon = 'icons/obj/food_vr.dmi' + icon_state = "mushroom_pizza_cargo" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/mushcargo + slices_num = 6 + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("pizza crust" = 10, "cheese" = 5, "creamy sauce" = 5, "mushroom" = 5) + nutriment_amt = 10 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushcargo/New() + ..() + reagents.add_reagent("protein", 4) + bitesize = 2 + reagents.remove_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/slice/mushcargo + name = "Mushroompizza slice" + desc = "Very special pizza slice, it looks to be drowned in cream." + icon = 'icons/obj/food_vr.dmi' + icon_state = "mushroom_pizza_slice_cargo" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=16, "y"=13) + whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushcargo + +/obj/item/weapon/reagent_containers/food/snacks/slice/mushcargp/filled + filled = TRUE + +/obj/item/weapon/reagent_containers/food/snacks/pizza/vegfrozen + name = "frozen vegtable pizza" + desc = "It's frozen rock solid, better thaw it in a microwave." + icon = 'icons/obj/food_vr.dmi' + icon_state = "vegetable_pizza_frozen" + center_of_mass = list("x"=16, "y"=11) + nutriment_amt = 15 + nutriment_desc = list("ice" = 5, "toothache" = 1, "frozen vegtable chunks" = 5) + +/obj/item/weapon/reagent_containers/food/snacks/pizza/vegfrozen/New() + ..() + bitesize = 20 + reagents.add_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegcargo + name = "Vegetablepizza" + desc = "At least 10 of Tomato Sapiens were harmed during making this pizza." + icon = 'icons/obj/food_vr.dmi' + icon_state = "vegetable_pizza_cargo" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/slice/vegcargo + slices_num = 6 + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("pizza crust" = 10, "tomato" = 20, "cheese" = 5, "eggplant" = 5, "carrot" = 5, "corn" = 5) + nutriment_amt = 5 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegcargo/New() + ..() + reagents.add_reagent("protein", 4) + reagents.add_reagent("tomatojuice", 15) + reagents.add_reagent("imidazoline", 10) + bitesize = 2 + reagents.remove_reagent("frostoil",3) + +/obj/item/weapon/reagent_containers/food/snacks/slice/vegcargo + name = "Vegtablepizza slice" + desc = "At least 10 of Tomato Sapiens were harmed during making this pizza." + icon = 'icons/obj/food_vr.dmi' + icon_state = "vegetable_pizza_slice_cargo" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=16, "y"=13) + whole_path = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegcargo + +/obj/item/weapon/reagent_containers/food/snacks/slice/vegcargo/filled + filled = TRUE + +/obj/item/pizzabox/margherita/New() + pizza = new /obj/item/weapon/reagent_containers/food/snacks/pizza/margfrozen(src) + +/obj/item/pizzabox/vegetable/New() + pizza = new /obj/item/weapon/reagent_containers/food/snacks/pizza/vegfrozen(src) + +/obj/item/pizzabox/mushroom/New() + pizza = new /obj/item/weapon/reagent_containers/food/snacks/pizza/mushfrozen(src) + +/obj/item/pizzabox/meat/New() + pizza = new /obj/item/weapon/reagent_containers/food/snacks/pizza/meatfrozen(src) diff --git a/code/modules/reagents/reagent_containers/glass/bottle_vr.dm b/code/modules/food/glass/bottle_vr.dm similarity index 100% rename from code/modules/reagents/reagent_containers/glass/bottle_vr.dm rename to code/modules/food/glass/bottle_vr.dm diff --git a/code/game/machinery/kitchen/smartfridge_vr.dm b/code/modules/food/kitchen/smartfridge_vr.dm similarity index 100% rename from code/game/machinery/kitchen/smartfridge_vr.dm rename to code/modules/food/kitchen/smartfridge_vr.dm diff --git a/code/modules/food/recipes_microwave_vr.dm b/code/modules/food/recipes_microwave_vr.dm index ddf3a70de1c..f9aadda69db 100644 --- a/code/modules/food/recipes_microwave_vr.dm +++ b/code/modules/food/recipes_microwave_vr.dm @@ -152,3 +152,31 @@ /obj/item/weapon/reagent_containers/food/snacks/cheesewedge ) result = /obj/item/weapon/reagent_containers/food/snacks/makaroni + +/datum/recipe/margheritapizzacargo + reagents = list() + items = list( + /obj/item/weapon/reagent_containers/food/snacks/pizza/margfrozen + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margcargo + +/datum/recipe/mushroompizzacargo + reagents = list() + items = list( + /obj/item/weapon/reagent_containers/food/snacks/pizza/mushfrozen + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushcargo + +/datum/recipe/meatpizzacargo + reagents = list() + items = list( + /obj/item/weapon/reagent_containers/food/snacks/pizza/meatfrozen + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatcargo + +/datum/recipe/vegtablepizzacargo + reagents = list() + items = list( + /obj/item/weapon/reagent_containers/food/snacks/pizza/vegfrozen + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegcargo diff --git a/code/modules/maps/tg/reader.dm b/code/modules/maps/tg/reader.dm index 30de8067dc6..b8fbf2cab6f 100644 --- a/code/modules/maps/tg/reader.dm +++ b/code/modules/maps/tg/reader.dm @@ -99,6 +99,11 @@ var/global/use_preloader = FALSE var/ycrd = text2num(dmmRegex.group[4]) + y_offset - 1 var/zcrd = text2num(dmmRegex.group[5]) + z_offset - 1 + if(orientation & (EAST | WEST)) //VOREStation edit we just have to pray the upstream spacebrains take into consideration before their refator is done. + xcrd = ycrd // temp variable + ycrd = xcrdStart + xcrdStart = xcrd + var/zexpansion = zcrd > world.maxz if(zexpansion && !measureOnly) if(cropMap) diff --git a/code/modules/mining/shelter_atoms.dm b/code/modules/mining/shelter_atoms.dm index 25af7b13940..51b61cd5b1b 100644 --- a/code/modules/mining/shelter_atoms.dm +++ b/code/modules/mining/shelter_atoms.dm @@ -87,6 +87,11 @@ desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom." template_id = "shelter_beta" +/obj/item/device/survivalcapsule/tabiranth + name = "silver-trimmed surfluid shelter capsule" + desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom." + template_id = "shelter_gamma" + //Pod objects //Walls /turf/simulated/shuttle/wall/voidcraft/survival @@ -197,6 +202,9 @@ icon = 'icons/obj/survival_pod.dmi' icon_state = "bed" +/obj/structure/bed/pod/New(var/newloc) + ..(newloc,DEFAULT_WALL_MATERIAL,"cotton") + //Survival Storage Unit /obj/machinery/smartfridge/survival_pod name = "survival pod storage" @@ -209,25 +217,13 @@ light_power = 1.2 light_color = "#DDFFD3" pixel_y = -4 - max_n_of_items = 10 - var/empty = FALSE + max_n_of_items = 100 -/obj/machinery/smartfridge/survival_pod/initialize(mapload) +/obj/machinery/smartfridge/survival_pod/initialize() . = ..() - if(empty) - return - for(var/i in 1 to 5) - var/obj/item/weapon/reagent_containers/food/snacks/liquidfood/W = new(src) - stock(W) - for(var/i in 1 to 2) - var/obj/item/device/fbp_backup_cell/W = new(src) - stock(W) - if(prob(50)) - var/obj/item/weapon/storage/pill_bottle/dice/D = new(src) - stock(D) - else - var/obj/item/device/instrument/violin/V = new(src) - stock(V) + for(var/obj/item/O in loc) + if(accept_check(O)) + stock(O) /obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O) return isitem(O) @@ -235,7 +231,6 @@ /obj/machinery/smartfridge/survival_pod/empty name = "dusty survival pod storage" desc = "A heated storage unit. This one's seen better days." - empty = TRUE //Fans /obj/structure/fans diff --git a/code/modules/mining/shelters.dm b/code/modules/mining/shelters.dm index 5ac1a7f6cd8..b68606f914b 100644 --- a/code/modules/mining/shelters.dm +++ b/code/modules/mining/shelters.dm @@ -70,3 +70,18 @@ whitelisted_turfs = typecacheof(/turf/simulated/mineral) banned_objects = list() +/datum/map_template/shelter/gamma + name = "Shelter Gamma" + shelter_id = "shelter_gamma" + description = "An heavily modified variant of the luxury shelter, \ + this particular model has extra food, drinks, and other supplies. \ + Originally designed for use by colonists on worlds with little to \ + to no contact, the expense of these shelters have prevented them \ + from seeing common use." + mappath = "maps/submaps/shelters/shelter_3.dmm" + roof = "roof_beta" + +/datum/map_template/shelter/gamma/New() + . = ..() + whitelisted_turfs = typecacheof(/turf/simulated/mineral) + banned_objects = list() diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm index 7c610ab9a2c..488167dc178 100644 --- a/code/modules/mob/language/station_vr.dm +++ b/code/modules/mob/language/station_vr.dm @@ -70,6 +70,18 @@ syllables = list("salve","sum","loqui","operatur","iusta","et","permittit","facere","effercio","pluribus","enim","hoc", "mihi","wan","six","salve","tartu") machine_understands = FALSE + +/datum/language/bug + name = LANGUAGE_VESPINAE + desc = "A jarring and clicky language developed and used by Vasilissans, it is designed for use with mouthparts and as a result has become a common language for various arthropod species." + speech_verb = "clicks" + ask_verb = "chitters" + exclaim_verb = "rasps" + colour = "bug" + key = "x" + syllables = list("vaur","uyek","uyit","avek","sc'theth","k'ztak","teth","wre'ge","lii","dra'","zo'","ra'","kax'","zz","vh","ik","ak", + "uhk","zir","sc'orth","sc'er","thc'yek","th'zirk","th'esk","k'ayek","ka'mil","sc'","ik'yir","yol","kig","k'zit","'","'","zrk","krg","isk'yet","na'k", + "sc'azz","th'sc","nil","n'ahk","sc'yeth","aur'sk","iy'it","azzg","a'","i'","o'","u'","a","i","o","u","zz","kr","ak","nrk","tzzk","bz","xic'","k'lax'","histh") /datum/language/unathi flags = 0 diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm index 44488ae3190..fd6a4264476 100644 --- a/code/modules/mob/living/carbon/human/examine_vr.dm +++ b/code/modules/mob/living/carbon/human/examine_vr.dm @@ -113,7 +113,7 @@ message = "[t_He] [t_is] engorged with a huge stomach that sags and wobbles as they move. [t_He] must have consumed at least twice their body weight. It looks incredibly soft.\n" if(3005 to 4074) // Three people. message = "[t_His] stomach is firmly packed with digesting slop. [t_He] must have eaten at least a few times worth their body weight! It looks hard for them to stand, and [t_his] gut jiggles when they move.\n" - if(4075 to 10000) // Four or more people. + if(4075 to INFINITY) // Four or more people. message = "[t_He] [t_is] so absolutely stuffed that you aren't sure how it's possible to move. [t_He] can't seem to swell any bigger. The surface of [t_his] belly looks sorely strained!\n" return message diff --git a/code/modules/mob/living/carbon/human/life_vr.dm b/code/modules/mob/living/carbon/human/life_vr.dm index 1dc37ff8cc1..46476a636a7 100644 --- a/code/modules/mob/living/carbon/human/life_vr.dm +++ b/code/modules/mob/living/carbon/human/life_vr.dm @@ -1,5 +1,5 @@ /mob/living/carbon/human/proc/weightgain() - if (nutrition > 0 && stat != 2) + if (nutrition >= 0 && stat != 2) if (nutrition > MIN_NUTRITION_TO_GAIN && weight < MAX_MOB_WEIGHT && weight_gain) weight += species.metabolism*(0.01*weight_gain) @@ -28,15 +28,16 @@ holder.icon_state = "hudblank" - for(var/obj/item/weapon/implant/I in src) - if(I.implanted) - if(istype(I,/obj/item/weapon/implant/backup)) - if(!mind) - holder.icon_state = "hud_backup_nomind" - else if(!(mind.name in SStranscore.body_scans)) - holder.icon_state = "hud_backup_nobody" - else - holder.icon_state = "hud_backup_norm" + for(var/obj/item/organ/external/E in organs) + for(var/obj/item/weapon/implant/I in E.implants) + if(I.implanted) + if(istype(I,/obj/item/weapon/implant/backup)) + if(!mind) + holder.icon_state = "hud_backup_nomind" + else if(!(mind.name in SStranscore.body_scans)) + holder.icon_state = "hud_backup_nobody" + else + holder.icon_state = "hud_backup_norm" apply_hud(BACKUP_HUD, holder) @@ -67,6 +68,8 @@ M.nutrition -= M.species.hunger_factor/10 if(M.m_intent == "run") M.nutrition -= M.species.hunger_factor/10 + if(M.nutrition < 0) + M.nutrition = 0 else src.nutrition -= DEFAULT_HUNGER_FACTOR/10 if(src.m_intent == "run") diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 6ecb93e2953..d3a50f3755b 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -61,7 +61,7 @@ // The languages the species can't speak without an assisted organ. // This list is a guess at things that no one other than the parent species should be able to speak - var/list/assisted_langs = list(LANGUAGE_EAL, LANGUAGE_TERMINUS, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) + var/list/assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //VOREStation Edit //Soundy emotey things. var/scream_verb = "screams" diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index f2342442403..1857e59bcdd 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -323,7 +323,7 @@ burn_mod = 1.15 //15% burn damage increase. They're spiders. Aerosol can+lighter = dead spiders. num_alternate_languages = 2 - secondary_langs = list("Sol Common") + secondary_langs = list(LANGUAGE_VESPINAE) color_mult = 1 tail = "tail" //Spider tail. icobase_tail = 1 diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index 58cf208d0e5..2a6c9878f16 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -77,6 +77,7 @@ name_language = LANGUAGE_SKRELLIAN color_mult = 1 inherent_verbs = list(/mob/living/proc/shred_limb) + assisted_langs = list(LANGUAGE_EAL, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) min_age = 18 max_age = 80 @@ -327,6 +328,7 @@ color_mult = 1 min_age = 18 reagent_tag = null + assisted_langs = list(LANGUAGE_EAL, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) /datum/species/diona spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm index 20db108099c..402c1928ddd 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm @@ -90,12 +90,6 @@ cost = -2 var_changes = list("siemens_coefficient" = 2.0) //This makes you extremely weak to tasers. -/datum/trait/photosensitive - name = "Photosensitive" - desc = "Increases stun duration from flashes and other light-based stuns." - cost = -1 - var_changes = list("flash_mod" = 2.0) - /datum/trait/hollow name = "Hollow Bones/Aluminum Alloy" desc = "Your bones and robot limbs are much easier to break." diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index 44238cc16a3..a4154692158 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -42,13 +42,13 @@ name = "Darksight" desc = "Allows you to see a short distance in the dark." cost = 1 - var_changes = list("darksight" = 3) + var_changes = list("darksight" = 3, "flash_mod" = 2.0) /datum/trait/darksight_plus name = "Darksight (Major)" desc = "Allows you to see in the dark for the whole screen." cost = 2 - var_changes = list("darksight" = 7) + var_changes = list("darksight" = 7, "flash_mod" = 3.0) /datum/trait/melee_attack name = "Sharp Melee" diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 360c805e047..934db0a1edd 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -60,6 +60,9 @@ return if(compactor) + if(is_type_in_list(target,item_vore_blacklist)) + to_chat(user, "You are hard-wired to not ingest this item.") + return if(istype(target, /obj/item) || istype(target, /obj/effect/decal/remains)) var/obj/target_obj = target if(target_obj.w_class > ITEMSIZE_LARGE) @@ -224,7 +227,7 @@ dat += "Cargo compartment slot: Fuel.
" dat += "([list2text(contents - (deliveryslot_1 + deliveryslot_2 + deliveryslot_3),", ")])

" - if(analyzer && synced) + if(analyzer && !synced) dat += "Sync Files
" //Cleaning and there are still un-preserved items @@ -666,4 +669,4 @@ desc = "A mounted cargo bay unit for tagged deliveries." icon_state = "decompiler" max_item_count = 20 - delivery = TRUE \ No newline at end of file + delivery = TRUE diff --git a/code/modules/mob/living/silicon/robot/robot_vr.dm b/code/modules/mob/living/silicon/robot/robot_vr.dm index 332fabb19fb..e453f4c595a 100644 --- a/code/modules/mob/living/silicon/robot/robot_vr.dm +++ b/code/modules/mob/living/silicon/robot/robot_vr.dm @@ -29,7 +29,14 @@ "mechoid-Service", "mechoid-Janitor", "mechoid-Combat", - "mechoid-Combat-roll" + "mechoid-Combat-roll", + "Noble-CLN", + "Noble-SRV", + "Noble-DIG", + "Noble-MED", + "Noble-SEC", + "Noble-ENG", + "Noble-STD" ) //List of all used sprites that are in robots_vr.dmi @@ -133,13 +140,7 @@ only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. /datum/riding/dogborg/handle_vehicle_layer() - if(ridden.has_buckled_mobs()) - if(ridden.dir != NORTH) - ridden.layer = ABOVE_MOB_LAYER - else - ridden.layer = initial(ridden.layer) - else - ridden.layer = initial(ridden.layer) + ridden.layer = initial(ridden.layer) /datum/riding/dogborg/ride_check(mob/living/M) var/mob/living/L = ridden @@ -158,10 +159,10 @@ var/scale = L.size_multiplier var/list/values = list( - "[NORTH]" = list(0, 8*scale, ABOVE_MOB_LAYER), - "[SOUTH]" = list(0, 8*scale, BELOW_MOB_LAYER), - "[EAST]" = list(-5*scale, 8*scale, ABOVE_MOB_LAYER), - "[WEST]" = list(5*scale, 8*scale, ABOVE_MOB_LAYER)) + "[NORTH]" = list(0, 10*scale, ABOVE_MOB_LAYER), + "[SOUTH]" = list(0, 10*scale, BELOW_MOB_LAYER), + "[EAST]" = list(-5*scale, 10*scale, ABOVE_MOB_LAYER), + "[WEST]" = list(5*scale, 10*scale, ABOVE_MOB_LAYER)) return values @@ -172,7 +173,7 @@ buckle_movable = TRUE buckle_lying = FALSE -/mob/living/silicon/robot/New() +/mob/living/silicon/robot/New(loc,var/unfinished = 0) ..() riding_datum = new /datum/riding/dogborg(src) diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm index 37ed5a6bf02..a116a9cf0ea 100644 --- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm +++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm @@ -33,6 +33,9 @@ var/vore_icons = 0 // Bitfield for which fields we have vore icons for. var/life_disabled = 0 // For performance reasons + var/mount_offset_x = 5 // Horizontal riding offset. + var/mount_offset_y = 8 // Vertical riding offset + // Release belly contents before being gc'd! /mob/living/simple_mob/Destroy() release_vore_contents() @@ -243,3 +246,89 @@ if(a_intent == I_GRAB && isliving(A) && !has_hands) animal_nom(A) + +// Riding +/datum/riding/simple_animal + keytype = /obj/item/weapon/material/twohanded/fluff/riding_crop // Crack! + nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs. + key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called. + only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. + +/datum/riding/simple_animal/handle_vehicle_layer() + ridden.layer = initial(ridden.layer) + +/datum/riding/simple_animal/ride_check(mob/living/M) + var/mob/living/L = ridden + if(L.stat) + force_dismount(M) + return FALSE + return TRUE + +/datum/riding/simple_animal/force_dismount(mob/M) + . =..() + ridden.visible_message("[M] stops riding [ridden]!") + +/datum/riding/simple_animal/get_offsets(pass_index) // list(dir = x, y, layer) + var/mob/living/simple_animal/L = ridden + var/scale = L.size_multiplier + + var/list/values = list( + "[NORTH]" = list(0, L.mount_offset_y*scale, ABOVE_MOB_LAYER), + "[SOUTH]" = list(0, L.mount_offset_y*scale, BELOW_MOB_LAYER), + "[EAST]" = list(-L.mount_offset_x*scale, L.mount_offset_y*scale, ABOVE_MOB_LAYER), + "[WEST]" = list(L.mount_offset_x*scale, L.mount_offset_y*scale, ABOVE_MOB_LAYER)) + + return values + +/mob/living/simple_animal/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE) + if(forced) + return ..() // Skip our checks + if(!riding_datum) + return FALSE + if(lying) + return FALSE + if(!ishuman(M)) + return FALSE + if(M in buckled_mobs) + return FALSE + if(M.size_multiplier > size_multiplier * 1.2) + to_chat(src,"This isn't a pony show! You need to be bigger for them to ride.") + return FALSE + + var/mob/living/carbon/human/H = M + + if(H.loc != src.loc) + if(H.Adjacent(src)) + H.forceMove(get_turf(src)) + + . = ..() + if(.) + buckled_mobs[H] = "riding" + +/mob/living/simple_animal/attack_hand(mob/user as mob) + if(riding_datum && LAZYLEN(buckled_mobs)) + //We're getting off! + if(user in buckled_mobs) + riding_datum.force_dismount(user) + //We're kicking everyone off! + if(user == src) + for(var/rider in buckled_mobs) + riding_datum.force_dismount(rider) + else + . = ..() + +/mob/living/simple_animal/proc/animal_mount(var/mob/living/M in living_mobs(1)) + set name = "Animal Mount/Dismount" + set category = "Abilities" + set desc = "Let people ride on you." + + if(LAZYLEN(buckled_mobs)) + for(var/rider in buckled_mobs) + riding_datum.force_dismount(rider) + return + if (stat != CONSCIOUS) + return + if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled) + return + if(buckle_mob(M)) + visible_message("[M] starts riding [name]!") diff --git a/code/modules/mob/living/simple_animal/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_animal/vore/corrupt_hounds.dm index d534205f7e3..bbf9c9f9d95 100644 --- a/code/modules/mob/living/simple_animal/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_animal/vore/corrupt_hounds.dm @@ -49,6 +49,11 @@ minbodytemp = 150 maxbodytemp = 900 + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + var/image/eye_layer = null @@ -114,3 +119,12 @@ remove_eyes() if(stat == CONSCIOUS && !resting) add_eyes() + +/mob/living/simple_animal/hostile/corrupthound/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/hostile/corrupthound/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/deathclaw.dm b/code/modules/mob/living/simple_animal/vore/deathclaw.dm index 4497e8b6eb5..e015c07b9e5 100644 --- a/code/modules/mob/living/simple_animal/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_animal/vore/deathclaw.dm @@ -22,6 +22,13 @@ pixel_x = -16 pixel_y = 0 + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_x = 5 + mount_offset_y = 30 + // Activate Noms! /mob/living/simple_mob/hostile/deathclaw vore_active = 1 @@ -30,3 +37,12 @@ vore_min_size = RESIZE_SMALL vore_pounce_chance = 0 // Beat them into crit before eating. vore_icons = SA_ICON_LIVING + +/mob/living/simple_animal/hostile/deathclaw/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/hostile/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/dragon.dm b/code/modules/mob/living/simple_animal/vore/dragon.dm index 3e6493d56d6..10934e4b38a 100644 --- a/code/modules/mob/living/simple_animal/vore/dragon.dm +++ b/code/modules/mob/living/simple_animal/vore/dragon.dm @@ -49,3 +49,12 @@ maxHealth = 200 health = 200 faction = "virgo3b" + +/mob/living/simple_animal/hostile/dragon/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/hostile/dragon/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/hippo.dm b/code/modules/mob/living/simple_animal/vore/hippo.dm index b18d14f7ef5..4366395d384 100644 --- a/code/modules/mob/living/simple_animal/vore/hippo.dm +++ b/code/modules/mob/living/simple_animal/vore/hippo.dm @@ -49,6 +49,12 @@ meat_amount = 10 //Infinite meat! meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_y = 20 + // Activate Noms! /mob/living/simple_mob/retaliate/hippo //I don't know why it's in a seperate line but everyone does it so i do it vore_active = 1 @@ -64,3 +70,12 @@ vore_stomach_name = "rumen" //First stomach of a ruminant. It's where the pre digestion bacteria stuff happens. Very warm. vore_stomach_flavor = "You are squeezed into the sweltering insides of the herbivore rumen." vore_icons = SA_ICON_LIVING + +/mob/living/simple_animal/retaliate/hippo/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/retaliate/hippo/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/horse.dm b/code/modules/mob/living/simple_animal/vore/horse.dm index f9bada661f7..9332ae043ce 100644 --- a/code/modules/mob/living/simple_animal/vore/horse.dm +++ b/code/modules/mob/living/simple_animal/vore/horse.dm @@ -31,7 +31,22 @@ meat_amount = 4 meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_x = 0 + // Activate Noms! /mob/living/simple_mob/horse vore_active = 1 vore_icons = SA_ICON_LIVING + +/mob/living/simple_animal/horse/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/horse/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/otie.dm b/code/modules/mob/living/simple_animal/vore/otie.dm index f7d7dbbf8e1..c837ea7b12c 100644 --- a/code/modules/mob/living/simple_animal/vore/otie.dm +++ b/code/modules/mob/living/simple_animal/vore/otie.dm @@ -46,6 +46,12 @@ pixel_x = -16 pixel_y = 0 + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_y = 10 + var/glowyeyes = FALSE var/image/eye_layer = null var/eyetype @@ -382,4 +388,13 @@ /mob/living/simple_mob/otie/death(gibbed, deathmessage = "dies!") .=..() resting = 0 - icon_state = icon_dead \ No newline at end of file + icon_state = icon_dead + +/mob/living/simple_animal/otie/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/otie/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/panther.dm b/code/modules/mob/living/simple_animal/vore/panther.dm index 82e4b1e3447..fb992e49edd 100644 --- a/code/modules/mob/living/simple_animal/vore/panther.dm +++ b/code/modules/mob/living/simple_animal/vore/panther.dm @@ -27,9 +27,24 @@ pixel_x = -16 pixel_y = 0 + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_y = 12 + // Activate Noms! /mob/living/simple_mob/hostile/panther vore_active = 1 vore_capacity = 2 vore_pounce_chance = 10 vore_icons = SA_ICON_LIVING | SA_ICON_REST + +/mob/living/simple_animal/hostile/panther/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/hostile/panther/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/rat.dm b/code/modules/mob/living/simple_animal/vore/rat.dm index 8a865faea70..7cdd2c3bfd7 100644 --- a/code/modules/mob/living/simple_animal/vore/rat.dm +++ b/code/modules/mob/living/simple_animal/vore/rat.dm @@ -36,6 +36,12 @@ pixel_x = -16 pixel_y = 0 + max_buckled_mobs = 1 //Yeehaw + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + mount_offset_y = 10 + vore_active = TRUE vore_capacity = 1 vore_pounce_chance = 45 @@ -159,3 +165,12 @@ /mob/living/simple_mob/hostile/rat/death() playsound(src, 'sound/effects/mouse_squeak_loud.ogg', 50, 1) ..() + +/mob/living/simple_animal/hostile/rat/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_animal(src) + verbs |= /mob/living/simple_animal/proc/animal_mount + +/mob/living/simple_animal/hostile/rat/MouseDrop_T(mob/living/M, mob/living/user) + return \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 3835bbb144c..3a0499b7b25 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -750,9 +750,14 @@ icon_state = "hair_belenkotied" flags = HAIR_TIEABLE - belenkotied - name = "Supernova" - icon_state = "hair_supernova" + glossy + name = "Glossy" + icon_state = "hair_glossy" + flags = HAIR_TIEABLE + + sharpponytail + name = "Sharp Ponytail" + icon_state = "hair_sharpponytail" flags = HAIR_TIEABLE /* diff --git a/code/modules/projectiles/ammunition/magazines_vr.dm b/code/modules/projectiles/ammunition/magazines_vr.dm new file mode 100644 index 00000000000..56221e2ddef --- /dev/null +++ b/code/modules/projectiles/ammunition/magazines_vr.dm @@ -0,0 +1,3 @@ +/obj/item/ammo_magazine/m9mm/large/preban/hp // Hollow Point Version + name = "magazine (9mm hollow-point)" + ammo_type = /obj/item/ammo_casing/a9mm/hp \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/rounds.dm b/code/modules/projectiles/ammunition/rounds.dm index 406dbcae88b..e87c91409de 100644 --- a/code/modules/projectiles/ammunition/rounds.dm +++ b/code/modules/projectiles/ammunition/rounds.dm @@ -92,6 +92,11 @@ projectile_type = /obj/item/projectile/bullet/pistol/ap matter = list(DEFAULT_WALL_MATERIAL = 80) +/obj/item/ammo_casing/a9mm/hp + desc = "A 9mm hollow-point bullet casing." + projectile_type = /obj/item/projectile/bullet/pistol/hp + + /obj/item/ammo_casing/a9mm/flash desc = "A 9mm flash shell casing." icon_state = "r-casing" @@ -149,7 +154,7 @@ /obj/item/ammo_casing/a45/hp desc = "A .45 hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow + projectile_type = /obj/item/projectile/bullet/pistol/medium/hp /* * 10mm @@ -265,7 +270,7 @@ /obj/item/ammo_casing/a762/hp desc = "A 7.62mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow + projectile_type = /obj/item/projectile/bullet/rifle/a762/hp /obj/item/ammo_casing/a762/hunter desc = "A 7.62mm hunting bullet casing." @@ -311,7 +316,7 @@ /obj/item/ammo_casing/a545/hp desc = "A 5.45mm hollow-point bullet casing." - projectile_type = /obj/item/projectile/bullet/rifle/a545/hollow + projectile_type = /obj/item/projectile/bullet/rifle/a545/hp /obj/item/ammo_casing/a545/hunter desc = "A 5.45mm hunting bullet casing." diff --git a/code/modules/projectiles/guns/energy/netgun_vr.dm b/code/modules/projectiles/guns/energy/netgun_vr.dm index 8678d2c5dc7..3e82aef282a 100644 --- a/code/modules/projectiles/guns/energy/netgun_vr.dm +++ b/code/modules/projectiles/guns/energy/netgun_vr.dm @@ -1,6 +1,6 @@ /obj/item/weapon/gun/energy/netgun - name = "\improper KHI \"Hunter\" capture gun" - desc = "A Kitsuhana-designed 'non-lethal capture device' stunner and energy net launcher, \ + name = "energy net gun" + desc = "A Kitsuhana-designed, usually dubbed 'Hunter' or 'non-lethal capture device' stunner and energy net launcher, \ for when you want criminals to stop acting like they're on a 20th century British comedy sketch show." icon = 'icons/obj/gun_vr.dmi' icon_state = "hunter" diff --git a/code/modules/projectiles/guns/projectile/pistol_vr.dm b/code/modules/projectiles/guns/projectile/pistol_vr.dm index e7e369cebfb..7a76b125527 100644 --- a/code/modules/projectiles/guns/projectile/pistol_vr.dm +++ b/code/modules/projectiles/guns/projectile/pistol_vr.dm @@ -6,4 +6,7 @@ /obj/item/weapon/gun/projectile/p92x/large/preban icon_state = "p92x-brown" - magazine_type = /obj/item/ammo_magazine/m9mm/large/preban // Spawns with big magazines that are legal. \ No newline at end of file + magazine_type = /obj/item/ammo_magazine/m9mm/large/preban // Spawns with big magazines that are legal. + +/obj/item/weapon/gun/projectile/p92x/large/preban/hp + magazine_type = /obj/item/ammo_magazine/m9mm/large/preban/hp // Spawns with legal hollow-point mag \ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index e4b7241bb0a..ed161059396 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -64,38 +64,43 @@ /* short-casing projectiles, like the kind used in pistols or SMGs */ -/obj/item/projectile/bullet/pistol - fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' +/obj/item/projectile/bullet/pistol // 9mm pistols and most SMGs. Sacrifice power for capacity. + fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' // ToDo: Different shot sounds for different strength pistols. -Ace damage = 20 /obj/item/projectile/bullet/pistol/ap damage = 15 armor_penetration = 30 -/obj/item/projectile/bullet/pistol/medium +/obj/item/projectile/bullet/pistol/hp + damage = 25 + armor_penetration = -50 + +/obj/item/projectile/bullet/pistol/medium // .45 (and maybe .40 if it ever gets added) caliber security pistols. Balance between capacity and power. + // fire_sound = 'sound/weapons/gunshot3.ogg' // ToDo: Different shot sounds for different strength pistols. damage = 25 /obj/item/projectile/bullet/pistol/medium/ap damage = 20 armor_penetration = 15 -/obj/item/projectile/bullet/pistol/medium/hollow +/obj/item/projectile/bullet/pistol/medium/hp damage = 30 armor_penetration = -50 -/obj/item/projectile/bullet/pistol/strong //revolvers and matebas - fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' +/obj/item/projectile/bullet/pistol/strong // .357 and .44 caliber stuff. High power pistols like the Mateba or Desert Eagle. Sacrifice capacity for power. + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' // ToDo: Replace with something less ugly. I recommend weapons/gunshot3.ogg damage = 60 -/obj/item/projectile/bullet/pistol/rubber/strong //"rubber" bullets for revolvers and matebas - fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' +/obj/item/projectile/bullet/pistol/rubber/strong // "Rubber" bullets for high power pistols. + fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' // ToDo: Same as above. damage = 10 agony = 60 embed_chance = 0 sharp = 0 check_armour = "melee" -/obj/item/projectile/bullet/pistol/rubber //"rubber" bullets +/obj/item/projectile/bullet/pistol/rubber // "Rubber" bullets for all other pistols. name = "rubber bullet" damage = 5 agony = 40 @@ -167,7 +172,7 @@ damage = 30 armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds. -/obj/item/projectile/bullet/rifle/a762/hollow +/obj/item/projectile/bullet/rifle/a762/hp damage = 40 armor_penetration = -50 penetrating = 0 @@ -184,7 +189,7 @@ damage = 20 armor_penetration = 50 // At 40 or more armor, this will do more damage than standard rounds. -/obj/item/projectile/bullet/rifle/a545/hollow +/obj/item/projectile/bullet/rifle/a545/hp damage = 35 armor_penetration = -50 penetrating = 0 diff --git a/code/modules/research/designs_vr.dm b/code/modules/research/designs_vr.dm index cc9b649b751..94fbb9ce097 100644 --- a/code/modules/research/designs_vr.dm +++ b/code/modules/research/designs_vr.dm @@ -13,6 +13,14 @@ materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000) build_path = /obj/item/weapon/implantcase/backup +/datum/design/item/implant/sizecontrol + name = "Size control implant" + id = "implant_size" + req_tech = list(TECH_MATERIAL = 3, TECH_BIO = 4, TECH_DATA = 4, TECH_ENGINEERING = 3) + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000, "silver" = 3000) + build_path = /obj/item/weapon/implanter/sizecontrol + sort_string = "TAAAA" + /datum/design/item/weapon/sizegun name = "Size gun" id = "sizegun" diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 3670f60beac..9c0c80c28d8 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -88,6 +88,13 @@ else resistance += rand(1,9) + //VOREStation Add Start - Corophazine can treat higher stages + var/antibiotics = mob.chem_effects[CE_ANTIBIOTIC] + if(antibiotics == ANTIBIO_SUPER) + if(prob(70)) + src.cure(mob) + //VOREStation Add End + //Resistance is capped at 90 without being manually set to 100 if(resistance > 90 && resistance < 100) resistance = 90 diff --git a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm index 6d0f63e95c9..301d0841be6 100644 --- a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm +++ b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm @@ -6,10 +6,7 @@ /datum/riding/taur/handle_vehicle_layer() if(ridden.has_buckled_mobs()) - if(ridden.dir != NORTH) - ridden.layer = ABOVE_MOB_LAYER - else - ridden.layer = initial(ridden.layer) + ridden.layer = initial(ridden.layer) else var/mob/living/L = ridden if(!(istype(L) && (L.status_flags & HIDING))) @@ -463,3 +460,12 @@ msg_owner_grab_fail = "You step down onto %prey with one of your vines, forcing them onto the ground!" msg_prey_grab_fail = "%owner steps down onto you with one of their vines, squishing you and forcing you onto the ground!" + +/datum/sprite_accessory/tail/taur/alraune/alraune_2c + name = "Alraune (dual color)" + icon_state = "alraunecolor_s" + ani_state = "alraunecolor_closed_s" + ckeys_allowed = null + do_colouration = 1 + extra_overlay = "alraunecolor_markings" + extra_overlay_w = "alraunecolor_closed_markings" \ No newline at end of file diff --git a/code/modules/vore/eating/contaminate_vr.dm b/code/modules/vore/eating/contaminate_vr.dm index 7d09d1e245b..36ecb8f4707 100644 --- a/code/modules/vore/eating/contaminate_vr.dm +++ b/code/modules/vore/eating/contaminate_vr.dm @@ -90,6 +90,9 @@ var/image/gurgled_overlay = image('icons/effects/sludgeoverlay_vr.dmi') digest_act(item_storage) //Digesting these anyway return TRUE +/obj/item/device/pda/gurgle_contaminate(var/atom/movable/item_storage = null) + return FALSE + /obj/item/weapon/reagent_containers/food/gurgle_contaminate(var/atom/movable/item_storage = null) digest_act(item_storage) return TRUE diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index f06cd1b7412..b78a91146d2 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -87,7 +87,8 @@ else if(isrobot(B.owner)) var/mob/living/silicon/robot/R = B.owner R.cell.charge += 150 - + qdel(src) + return w_class . = ..() /obj/item/weapon/holder/digest_act(var/atom/movable/item_storage = null) @@ -100,7 +101,11 @@ /obj/item/organ/digest_act(var/atom/movable/item_storage = null) if((. = ..())) - . += 70 //Organs give a little more + if(isbelly(item_storage)) + var/obj/belly/B = item_storage + . += 5 * (B.digest_brute + B.digest_burn) + else + . += 70 //Organs give a little more /obj/item/weapon/storage/digest_act(var/atom/movable/item_storage = null) for(var/obj/item/I in contents) @@ -117,4 +122,4 @@ // Gradual damage measurement /obj/item - var/digest_stage = null \ No newline at end of file + var/digest_stage = null diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 98fac950aa7..cb0b64ba135 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -458,9 +458,9 @@ // This is about 0.896m^3 of atmosphere /datum/gas_mixture/belly_air - volume = 1000 + volume = 2500 temperature = 293.150 - total_moles = 40 + total_moles = 104 /datum/gas_mixture/belly_air/New() . = ..() @@ -553,6 +553,10 @@ to_chat(src, "You are not holding anything.") return + if(is_type_in_list(I,item_vore_blacklist)) + to_chat(src, "You are not allowed to eat this.") + return + if(is_type_in_list(I,edible_trash)) if(I.hidden_uplink) to_chat(src, "You really should not be eating this.") diff --git a/code/modules/vore/fluffstuff/custom_boxes_vr.dm b/code/modules/vore/fluffstuff/custom_boxes_vr.dm index 68a31f06c95..ba0e72238c5 100644 --- a/code/modules/vore/fluffstuff/custom_boxes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_boxes_vr.dm @@ -228,12 +228,13 @@ /obj/item/clothing/gloves/fluff/morsleeves, /obj/item/clothing/under/fluff/morunder) -// Mewchild: Phi Vietsi -/obj/item/weapon/storage/box/fluff/vietsi +// Mewchild: Phi Ahkeen +/obj/item/weapon/storage/box/fluff/phi name = "Phi's Personal Items" has_items = list( /obj/item/clothing/accessory/medal/bronze_heart, /obj/item/clothing/gloves/ring/seal/signet/fluff/vietsi) + /* //VORESTATION AI TEMPORARY REMOVAL // Tabiranth: Ascian /obj/item/weapon/grenade/spawnergrenade/spirit diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index 4658c2b0f54..17c734e2405 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -780,6 +780,9 @@ /obj/item/clothing/head/fluff/pompom/digest_act(var/atom/movable/item_storage = null) return FALSE +/obj/item/clothing/head/fluff/pompom/gurgle_contaminate(var/atom/movable/item_storage = null) + return FALSE + /obj/item/clothing/head/fluff/pompom/attack_self(mob/user) //if(!isturf(user.loc)) -- doesn't seem to cause problems to allow this and it's silly not to // to_chat(user, "You cannot turn the light on while in this [user.loc]") @@ -1686,16 +1689,15 @@ Departamental Swimsuits, for general use icon_state = "kilanosuit_p" item_state = "kilanosuit_p" -//Mewchild: Phi Vietsi -/obj/item/clothing/gloves/ring/seal/signet/fluff/vietsi - name = "Phi Vietsi's Bone Signet Ring" - desc = "A signet ring belonging to Phi Vietsi, carved from the bones of something long extinct, as a ward against bad luck." - var/signet_name = "Phi Vietsi" +//Mewchild: Phi Ahkeen +/obj/item/clothing/gloves/ring/seal/signet/fluff/phi + name = "Phi's Bone Signet Ring" + desc = "A signet ring belonging to Phi, carved from the bones of something long extinct, as a ward against bad luck." icon = 'icons/vore/custom_clothes_vr.dmi' - icon_state = "vietsi_ring" + icon_state = "phi_ring" -/obj/item/clothing/gloves/ring/seal/signet/fluff/vietsi/change_name(var/signet_name = "Unknown") +/obj/item/clothing/gloves/ring/seal/signet/fluff/phi/change_name(var/signet_name = "Unknown") name = "[signet_name]'s Bone Signet Ring" desc = "A signet ring belonging to [signet_name], carved from the bones of something long extinct, as a ward against bad luck." diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index cdd2bb770fe..dbb99b910da 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1948,3 +1948,9 @@ name = "nobel sciences award" desc = "A bronze medal which represents significant contributions to the field of science or engineering, this one has Ashley Kifer engraved on it." +//lm40 - Kenzie Houser +/obj/item/weapon/reagent_containers/hypospray/vial/kenzie + name = "gold-trimmed hypospray" + desc = "A gold-trimmed MKII hypospray. The name 'Kenzie Houser' is engraved on the side." + icon = 'icons/vore/custom_items_vr.dmi' + icon_state = "kenziehypo" \ No newline at end of file diff --git a/code/modules/vore/fluffstuff/guns/dominator.dm b/code/modules/vore/fluffstuff/guns/dominator.dm index 25ca2610f35..657ba95738e 100644 --- a/code/modules/vore/fluffstuff/guns/dominator.dm +++ b/code/modules/vore/fluffstuff/guns/dominator.dm @@ -1,7 +1,7 @@ // -------------- Dominator ------------- /obj/item/weapon/gun/energy/gun/fluff/dominator - name = "\improper MWPSB Dominator" - desc = "A MWPSB's Dominator from the Federation. Like the basic Energy Gun, this gun has two settings. It is used by the United Federation Public Safety Bureau's Criminal Investigation Division. The weapon can only be fired by the owner and is alert-level locked." + name = "bulky energy gun" + desc = "A MWPSB Dominator from the Federation. Like the basic Energy Gun, this gun has two settings. It is used by the United Federation Public Safety Bureau's Criminal Investigation Division. The weapon can only be fired by the owner and is alert-level locked." icon = 'icons/vore/custom_guns_vr.dmi' icon_state = "dominatorstun100" diff --git a/code/modules/vore/fluffstuff/guns/gunsword.dm b/code/modules/vore/fluffstuff/guns/gunsword.dm index 63be249006c..f6bb1a30263 100644 --- a/code/modules/vore/fluffstuff/guns/gunsword.dm +++ b/code/modules/vore/fluffstuff/guns/gunsword.dm @@ -1,6 +1,6 @@ /obj/item/weapon/gun/energy/gun/fluff/gunsword name = "Sword Buster" - desc = "A gun custom built using the science behind a Golden Empire pistol." + desc = "The Sword Buster gun is custom built using the science behind a Golden Empire pistol. The cell can be removed in close range and used as energy shortsword." icon = 'icons/vore/custom_guns_vr.dmi' icon_state = "gbuster100" diff --git a/code/modules/vore/fluffstuff/guns/nsfw.dm b/code/modules/vore/fluffstuff/guns/nsfw.dm index bc570697d6d..a0c7d89196e 100644 --- a/code/modules/vore/fluffstuff/guns/nsfw.dm +++ b/code/modules/vore/fluffstuff/guns/nsfw.dm @@ -1,7 +1,7 @@ // -------------- NSFW ------------- /obj/item/weapon/gun/projectile/nsfw - name = "KHI-102b \'NSFW\'" - desc = "Variety is the spice of life! The 'Nanotech Selectable-Fire Weapon' is an unholy hybrid of an ammo-driven \ + name = "cell-loaded revolver" + desc = "Variety is the spice of life! The KHI-102b 'Nanotech Selectable-Fire Weapon', or NSFW for short, is an unholy hybrid of an ammo-driven \ energy weapon that allows the user to mix and match their own fire modes. Up to three combinations of \ energy beams can be configured at once. Ammo not included." diff --git a/code/modules/vore/fluffstuff/guns/protector.dm b/code/modules/vore/fluffstuff/guns/protector.dm index 173c00b637c..b1b39e6f2d3 100644 --- a/code/modules/vore/fluffstuff/guns/protector.dm +++ b/code/modules/vore/fluffstuff/guns/protector.dm @@ -1,7 +1,7 @@ // -------------- Protector ------------- /obj/item/weapon/gun/energy/protector - name = "\improper KHI-98a \'Protector\'" - desc = "The KHI-98a is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \ + name = "small energy gun" + desc = "The KHI-98a 'Protector' is the first firearm custom-designed for Nanotrasen by KHI. It features a powerful stun mode, and \ an alert-level-locked lethal mode, only usable on code blue and higher. It also features an integrated flashlight!" description_info = "This gun can only be fired in lethal mode while on higher security alert levels. It is legal for sec to carry for this reason, since it cannot be used for lethal force until SOP allows it, in essence." diff --git a/code/modules/vore/fluffstuff/guns/pummeler.dm b/code/modules/vore/fluffstuff/guns/pummeler.dm index b12ce223e8c..f3d6c546ee9 100644 --- a/code/modules/vore/fluffstuff/guns/pummeler.dm +++ b/code/modules/vore/fluffstuff/guns/pummeler.dm @@ -1,7 +1,7 @@ // -------------- Pummeler ------------- /obj/item/weapon/gun/energy/pummeler - name = "\improper PML9 \'Pummeler\'" - desc = "For when you want to get that pesky marketing guy out of your face ASAP. The pummeler fires one HUGE \ + name = "hypersonic gun" + desc = "For when you want to get that pesky marketing guy out of your face ASAP. The PML9 'Pummeler' fires one HUGE \ sonic blast in the direction of fire, throwing the target away from you at high speed. Now you can REALLY \ turn up the bass to max." diff --git a/code/modules/vore/fluffstuff/guns/sickshot.dm b/code/modules/vore/fluffstuff/guns/sickshot.dm index ea0820a908c..6afda74a9c4 100644 --- a/code/modules/vore/fluffstuff/guns/sickshot.dm +++ b/code/modules/vore/fluffstuff/guns/sickshot.dm @@ -1,7 +1,7 @@ // -------------- Sickshot ------------- /obj/item/weapon/gun/energy/sickshot - name = "\improper MPA6 \'Sickshot\'" - desc = "Need to stun someone? Don't mind having to clean up the mess afterwards? The Sickshot is the answer to your prayers. \ + name = "\'Sickshot\' revolver" + desc = "Need to stun someone? Don't mind having to clean up the mess afterwards? The MPA6 'Sickshot' is the answer to your prayers. \ Using a short-range concentrated blast of disruptive sound, the Sickshot will nauseate and confuse the target for several seconds. NOTE: Not suitable \ for use in vacuum. Usage on animals may cause panic and rage without stunning. May cause contraction and release of various 'things' from various 'orifices', even if the target is already dead." @@ -44,7 +44,7 @@ var/mob/living/carbon/human/H = target H.vomit() H.Confuse(2) - + return 1 //R&D Design diff --git a/code/modules/xenoarcheaology/misc.dm b/code/modules/xenoarcheaology/misc.dm index 0f51e4fd773..b457e98984c 100644 --- a/code/modules/xenoarcheaology/misc.dm +++ b/code/modules/xenoarcheaology/misc.dm @@ -65,6 +65,7 @@ /obj/item/clothing/under/rank/scientist, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/shoes/white, + /obj/item/weapon/melee/umbrella, // vorestation addition, /obj/item/clothing/glasses/science, /obj/item/device/radio/headset/headset_sci, /obj/item/weapon/storage/belt/archaeology, diff --git a/code/stylesheet.dm b/code/stylesheet.dm index dd992a62bf1..1a09a30f400 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -102,6 +102,7 @@ h1.alert, h2.alert {color: #000000;} .vulpkanin {color: #B97A57;} .enochian {color: #848A33; letter-spacing:-1pt; word-spacing:4pt; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;} .daemon {color: #5E339E; letter-spacing:-1pt; word-spacing:0pt; font-family: "Courier New", Courier, monospace;} +.bug {color: #9e9e39;} .vox {color: #AA00AA;} .rough {font-family: "Trebuchet MS", cursive, sans-serif;} .say_quote {font-family: Georgia, Verdana, sans-serif;} diff --git a/config/alienwhitelist.txt b/config/alienwhitelist.txt index 76f2a9b1966..3db20fb9c1c 100644 --- a/config/alienwhitelist.txt +++ b/config/alienwhitelist.txt @@ -1,3 +1,5 @@ +some~user - Species + admiraldragon - Vox aether_elemental - Daemon arokha - Protean @@ -16,6 +18,7 @@ ktccd - Diona mewchild - Diona mewchild - Vox natje - Xenochimera +oreganovulgaris - Xenochimera paradoxspace - Xenochimera rapidvalj - Vox rikaru19xjenkins - Xenomorph Hybrid @@ -29,8 +32,8 @@ silverTalismen - Diona silverTalismen - Vox silvertalismen - Xenochimera singo - Gutter -some~user - Species tastypred - Xenochimera +varonis - Xenochimera verkister - Xenochimera wickedtemp - Shadekin Empathy wtfismyname - Xenomorph Hybrid diff --git a/config/custom_items.txt b/config/custom_items.txt index 2291f4c4104..dd83a67c10f 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -177,6 +177,18 @@ character_name: Diana Kuznetsova item_path: /obj/item/clothing/head/fluff/pink_tiara } +{ +ckey: cross_exonar +character_name: Sari-U +item_path: /obj/item/weapon/disk/limb/eggnerdltd +} + +{ +ckey: cross_exonar +character_name: Sari-E +item_path: /obj/item/weapon/disk/limb/eggnerdltd +} + # ######## D CKEYS { ckey: deepindigo @@ -390,14 +402,14 @@ req_access = 3 { ckey: jertheace character_name: Jeremiah Acacius -item_path: /obj/item/weapon/gun/projectile/p92x/large/preban #Todo: Replace with HP version allowed in the application. +item_path: /obj/item/weapon/gun/projectile/p92x/large/preban/hp req_access = 3 } { ckey: jertheace character_name: Jeremiah Acacius -item_path: /obj/item/ammo_magazine/m9mm/large/preban #Spare ammo. #Todo: Replace with HP version allowed in the application. +item_path: /obj/item/ammo_magazine/m9mm/large/preban/hp #Spare ammo req_access = 3 } @@ -543,6 +555,13 @@ item_path: /obj/item/clothing/accessory/medal/nobel_science/fluff/ashley # ######## L CKEYS +{ +ckey: lm40 +character_name: Kenzie Houser +item_path: /obj/item/weapon/reagent_containers/hypospray/vial/kenzie +req_access: 5 +} + #Weapon Box. Permit Expired #{ #ckey: luminescentring @@ -565,8 +584,8 @@ item_path: /obj/item/weapon/implanter/reagent_generator/savannah # ######## M CKEYS { ckey: mewchild -character_name: Phi Vietsi -item_path: /obj/item/weapon/storage/box/fluff/vietsi +character_name: Phi Ahkeen +item_path: /obj/item/weapon/storage/box/fluff/phi } { @@ -845,6 +864,18 @@ character_name: Ascian item_path: /obj/item/clothing/accessory/medal/silver/unity } +{ +ckey: tabiranth +character_name: Ascian +item_path: /obj/item/weapon/grenade/spawnergrenade/spirit +} + +{ +ckey: tabiranth +character_name: Ascian +item_path: /obj/item/device/survivalcapsule/tabiranth +} + { ckey: techtypes character_name: Lasshseeki Korss @@ -863,12 +894,6 @@ character_name: Tony Bingham item_path: /obj/item/clothing/head/fluff/runac } -{ -ckey: tabiranth -character_name: Ascian -item_path: /obj/item/weapon/grenade/spawnergrenade/spirit -} - # ######## U CKEYS # ######## V CKEYS { diff --git a/config/names/first_female.txt b/config/names/first_female.txt index b500f027efc..3f8c53a7a9d 100644 --- a/config/names/first_female.txt +++ b/config/names/first_female.txt @@ -306,7 +306,6 @@ Yolanda Ysabel Zelda Zune -Emma Isabella Emily Madison @@ -314,13 +313,11 @@ Ava Olivia Sophia Abigail -Elizabeth Chloe Samantha Addison Natalie Mia -Alexis Alyssa Hannah Ashley @@ -330,7 +327,6 @@ Grace Taylor Brianna Lily -Hailey Anna Victoria Kayla @@ -345,19 +341,13 @@ Sofia Makayla Avery Riley -Julia Leah -Aubrey -Jasmine Audrey Katherine Morgan Brooklyn Destiny -Sydney -Alexa Kylie -Brooke Kaitlyn Evelyn Layla @@ -379,7 +369,6 @@ Trinity Andrea Maya Valeria -Sophie Rachel Vanessa Aaliyah @@ -406,7 +395,6 @@ Zoey Gracie Megan Haley -Mya Michelle Molly Stephanie @@ -427,7 +415,6 @@ Rebecca Lydia Daniela Bella -Keira Adriana Lilly Hayden @@ -464,7 +451,6 @@ London Juliana Shelby Cheyenne -Angel Daisy Makenzie Miranda @@ -478,7 +464,6 @@ Mikayla Summer Piper Adrianna -Jillian Sierra Jayden Sienna @@ -493,7 +478,6 @@ Sabrina Stella Aniyah Annabelle -Alexandria Kathryn Skylar Aliyah @@ -501,7 +485,6 @@ Delilah Julianna Kelsey Khloe -Carly Amaya Mariana Christina @@ -516,7 +499,6 @@ Josephine Delaney Scarlett Elena -Cadence Alexia Maggie Laura @@ -543,7 +525,6 @@ Caitlin Kendra Karina Kyra -Kayleigh Addyson Kiara Jazmine @@ -554,11 +535,9 @@ Lola Kyla Kelly Fatima -Tiffany Kira Crystal Mallory -Esmeralda Alejandra Eleanor Angelica @@ -607,14 +586,12 @@ Lexi Camille Savanna Dulce -Daniella Lucia Emely Joselyn Kiley Kailey Miriam -Cynthia Rihanna Georgia Rylie @@ -652,7 +629,6 @@ Rose Malia Shayla Fiona -Phoebe Nayeli Paola Kaelyn @@ -675,8 +651,6 @@ Hanna Tatum Marlee Nataly -Helen -Janelle Lizbeth Serena Anya @@ -686,13 +660,11 @@ Jazlyn Nancy Lindsay Desiree -Hayley Itzel Imani Madelynn Asia Kadence -Madyson Talia Jane Kayden @@ -704,7 +676,6 @@ Jadyn Celeste Jimena Luna -Yasmin Emilia Annika Estrella @@ -718,7 +689,6 @@ Dayana Lilah Lilliana Natasha -Hadley Harley Priscilla Claudia @@ -753,7 +723,6 @@ Meredith Kailyn Lesly Johanna -Diamond Evangeline Juliet Kathleen @@ -786,22 +755,660 @@ Perla Amiyah Alyson Rachael -Shannon Aileen Miracle Lillie Danika -Heather Kassidy Taryn -Tori Francesca Kristen Amya -Elle Kristina Cheyanne Haylie Patricia -Anne -Samara \ No newline at end of file +Samara +Balina +Skiftere +Albana +Fatushe +Vilna +Hamia +Kalila +Noura +Shadia +Selima +Herri +Zwina +Tanit +Satna +Batti +Loula +Nuja +Kassu +Aketa +Pherenike +Cyrene +Megare +Hekaline +Axiothea +Atheer +Hamda +Hakeema +Nadeera +Farha +Nasreen +Arwa +Pilar +Gezana +Dukinea +Reyna +Gala +Cira +Violeta +Arpi +Noushig +Zabel +Nane +Arev +Asiah +Ishtar +Zaminy +Durna +Liboko +Mathe +Ratu +Nana +Ntsebo +Uraburu +Ino +Itzalle +Graziana +Ixone +Celien +Jente +Marianne +Floriane +Stefanie +Eloise +Anke +Dristi +Chitra +Geeta +Shila +Suravi +Rani +Ekta +Fullara +Anasuya +Manali +Annapurna +Vanita +Belma +Elmedina +Zineta +Habiba +Yi +Eka +Thi +New +Aye +Azah +Hapsatou +Aibell +Bethan +Carys +Branwyn +Alis +Gwen +Gwendolyn +Caitriona +Morag +Muireall +Khazan +Yahita +Yisa +Sovbika +Zheng +Liuxian +Chao +Ping +Yan +Hai +Ling +Min +Ru +Bao +Sanja +Gordana +Dorotea +Ruzena +Tatjana +Vilma +Dagmar +Blanka +Yvonne +Hertha +Lise +Liv +Randi +Ester +Ziba +Taban +Shireen +Yasaman +Karlien +Saar +Liene +Khat +Maat +Tauret +Sitra +Anta +Niut +Ankhi +Bennu +Anku +Sagira +Kakra +Safa +Masika +Salma +Aya +Nesma +Myrrh +Wynfride +Millicent +Sybell +Inna +Rebeka +Esta +Endla +Nanni +Awet +Sisay +Lakech +Jaana +Kirsi +Roosa +Saimi +Hilda +Berta +Rauna +Reeta +Kanerva +Germaine +Sabine +Laurette +Yvette +Mara +Elsbeth +Maike +Agatha +Nadja +Gerda +Thalia +Dora +Corinna +Lambrini +Vassia +Panagoita +Leena +Dayita +Purva +Hardi +Pani +Vedi +Lasya +Charvi +Yanina +Eliora +Shir +Ayelet +Fanya +Liza +Gaya +Zimra +Nehal +Ananya +Jyoti +Neha +Salani +Ruhi +Karnavati +Jaya +Padmini +Anu +Sa +Sua +Neng +True +Fridlin +Silfa +Iren +Iva +Tamara +Solny +Snaiborg +Dagny +Holmfridur +Hellveig +Thula +Hjalta +Alfdis +Freygerdur +Aldis +Thorhalla +Pala +Ingis +Grima +Telma +Yobanna +Kambiri +Adanna +Oluchi +Amachey +Mgbeke +Yuka +Koken +Chiho +Akae +Taka +Ritsuko +Hasumi +Tama +Yumako +Haniko +Kaori +Setsu +Shoken +Sakura +Sen +Tane +Yoshe +Imari +Cho +Jupar +Janna +Albina +Maira +Aru +Nazira +Aliya +Zubaira +Sang +Phan +Preap +Kim +Jey +Meang +Moul +Touch +Rous +Sok +Priti +Damini +Ihita +Amrita +Kalyani +Rashmi +Kunda +Vani +Sarika +Wacu +Nduta +Noni +Muthoni +Nyambura +Mukondi +Wandia +Magiri +Njoki +Mun +Ya +Noe +Kal +Pak +Ton +Wi +Fulcina +Vibia +Sextia +Cania +Modesta +Cordia +Lae +Moana +Oke +Lilo +Wanika +Kalena +Napua +Kalama +Alona +Kalia +Makani +Kawena +Lani +Halina +Asola +Salitia +Dianna +Denisa +Katre +Gaiva +Rima +Apollonia +Kornelia +Zofia +Vika +Anyang +Ambala +Apudo +Awuor +Naamah +Akoth +Atuku +Farhat +Aisyah +Jeelaan +Rihaab +Mayang +Meriam +Rona +Uruewa +Marama +Ruihi +Neni +Manewa +Tapu +Shefali +Vritika +Namita +Ena +Manisha +Akshata +Aaruni +Orbei +Temulun +Saran +Chagur +Ghoa +Aysha +Zaheda +Nezha +Ahlam +Fiza +Hafida +Saida +Awinita +Tuwa +Orenda +Pamuya +Tsomah +Hola +Washta +Yutu +Catori +Tablita +Kasa +Muna +Weeko +Minku +Seti +Sajal +Thaili +Rajani +Kopeela +Pratik +Erna +Sonja +Margrete +Turid +Evy +Tordis +Anette +Kristin +Elna +Malin +Bente +Frida +Magnhild +Astrid +Monika +Hamna +Yesim +Nira +Diba +Salwa +Arta +Nakisa +Sima +Tumay +Maryam +Soraya +Fariba +Pouri +Pari +Nikou +Soheila +Nasim +Hanieh +Shamsi +Nassim +Maja +Szarlota +Kinga +Marietta +Donata +Lidia +Luiza +Adelina +Josefina +Sonia +Salome +Dores +Amor +Bruna +Jassi +Avneet +Livnoor +Yasmine +Hir +Lakh +Shaminder +Mashaal +Ruza +Kostana +Esma +Masilda +Viollca +Lajaria +Tsura +Jeta +Vai +Melania +Teodora +Aurelia +Viorica +Dominique +Mariutza +Dumitra +Uta +Delia +Ylenia +Grusha +Galka +Valeriya +Lera +Mashka +Nelya +Feodora +Jelena +Sveta +Jenya +Lara +Matryosha +Matryona +Tina +Eseta +Emere +Pele +Svetlana +Stanislava +Jasna +Olga +Anka +Dragica +Bogdana +Bozena +Petra +Jaroslava +Jolana +Alena +Nikola +Sona +Vanda +Zawati +Tisa +Hawa +Jaha +Shauriana +Rashida +Koffi +Satsobek +Sigrid +Tilda +Oleana +Nelly +Kerstin +Britt +Maj +Siv +Siri +Agneta +Asgard +Rishmeka +Oppila +Rajanitha +Vyshu +Rabika +Shai +Nirai +Kayala +Mae +Yodman +Kwanjai +Praitun +Choi +Phajee +Sumana +Adak +Sevil +Gunes +Isil +Izel +Latife +Kieu +Minh +Le +Cat +Thu +Tien +Jofrid +Vigdis +Signy +Arnora +Fridgerd +Skuld +Brynhild +Bolla +Gyrd +Fastvi +Disai +Zena +Katha +Nith +Navpreet +Izula +Sihle +Ethwasa +Xolani +Thando +Neith +Zamani +Zinhle +Msizi +Amehlo +Fatiha +Aicha +Fatma +Khiera +Dalal +Gamalat +Hana +Rania +Milagrosa +Amahle +Lesedi +Reem +Aria +Noemi +Concepcion +Antonella +Aadya +Diya +Jing +Ying +Xiaoyan +Xinyi +Tingting +Tala +Rimas +Adi +Noam +Tamar +Yael +Zara +Seo +Shu +Althea +Kabita +Nor +Zeynep +Aura +Chastity +Rebel +Vixen +Zero +Nix +Wren +India +Pearl +Natuna +Dawn +Aditya +Mio +Discovery +Cas +Zee +Rewi +Lusia +Olympia +Freya +Chani +Ash +Val +Okra +Verda +Mania +Peace +Fortuna +Hathor +Lucky +Wish +Africa +Proxima +Ceti +Sabik \ No newline at end of file diff --git a/config/names/first_male.txt b/config/names/first_male.txt index f2b03e16868..84270df02eb 100644 --- a/config/names/first_male.txt +++ b/config/names/first_male.txt @@ -223,26 +223,21 @@ Woodrow Zack Zane Zeke -Jacob -Michael Ethan Joshua Daniel Alexander Anthony -William Christopher Matthew Jayden Andrew Joseph David -Noah Aiden James Ryan Logan -John Nathan Elijah Christian @@ -265,15 +260,12 @@ Jack Kevin Jose Isaiah -Luke Landon Justin -Lucas Zachary Jordan Robert Aaron -Brayden Thomas Cameron Hunter @@ -285,9 +277,7 @@ Aidan Jason Julian Wyatt -Charles Luis -Carter Juan Chase Diego @@ -299,7 +289,6 @@ Carlos Sebastian Liam Hayden -Nathaniel Henry Jesus Ian @@ -307,18 +296,14 @@ Tristan Bryan Sean Cole -Alex Eric Brian Jaden Carson -Blake Ayden Cooper -Dominic Brady Caden -Josiah Kyle Colton Kaden @@ -329,16 +314,11 @@ Parker Steven Alejandro Riley -Richard -Timothy -Devin Jesse Victor -Jake Joel Colin Kaleb -Bryce Levi Oliver Oscar @@ -348,16 +328,12 @@ Cody Micah Preston Marcus -Max -Patrick Seth Jeremy Peyton Nolan Ivan -Damian Maxwell -Alan Kenneth Jonah Jorge @@ -365,10 +341,8 @@ Mark Giovanni Eduardo Grant -Collin Gage Omar -Emmanuel Trevor Edward Ricardo @@ -384,7 +358,6 @@ Andres Derek Garrett Tanner -Malachi Conner Fernando Cesar @@ -396,7 +369,6 @@ Leonardo Santiago Francisco Cayden -Shane Edwin Hudson Travis @@ -415,21 +387,18 @@ Damien Kaiden Spencer Stephen -Edgar Wesley Shawn Trenton Jared Jeffrey Landen -Johnathan Bradley Braxton Ryder Camden Roman Asher -Brendan Maddox Sergio Israel @@ -437,7 +406,6 @@ Andy Lincoln Erik Donovan -Raymond Avery Rylan Dalton @@ -447,7 +415,6 @@ Martin Keegan Marco Jude -Sawyer Dakota Leo Calvin @@ -457,7 +424,6 @@ Troy Zion Clayton Roberto -Zane Gregory Tucker Rafael @@ -468,7 +434,6 @@ Griffin Devon Drew Lukas -Johnny Ty Pedro Tyson @@ -478,12 +443,10 @@ Braylon Cash Aden Chance -Taylor Marcos Maximus Ruben Emanuel -Simon Corbin Brennan Dillon @@ -499,8 +462,6 @@ Colby Jonas Joaquin Payton -Brock -Frank Enrique Quinn Emilio @@ -516,7 +477,6 @@ Gerardo Dante Ezra Armando -Allen Theodore Gael Amir @@ -552,7 +512,6 @@ Anderson Rodrigo Pablo Saul -Danny Donald Elliot Brayan @@ -580,12 +539,9 @@ Felix Jimmy Cohen Tony -Holden Reid -Abel Bennett Zackary -Arthur Nehemiah Ricky Esteban @@ -611,11 +567,9 @@ Darren Elliott Uriel Alfredo -Hugo Alec Jamari Marshall -Walter Judah Jay Lance @@ -629,13 +583,11 @@ Kobe Bryant Maurice Russell -Leland Colten Reed Davis Joe Ernesto -Desmond Kade Reece Morgan @@ -648,15 +600,12 @@ Paxton Jacoby Douglas Kristopher -Gary Lawrence Izaiah Solomon -Nikolas Mekhi Justice Tate -Jaydon Salvador Shaun Alvin @@ -664,7 +613,6 @@ Eddie Kane Davion Zachariah -Damien Titus Kellen Camron @@ -673,9 +621,7 @@ Javon Nasir Milo Johan -Byron Jasper -Jonathon Chad Marc Kelvin @@ -685,7 +631,6 @@ Cory Deandre River Reese -Roger Quinton Talon Romeo @@ -698,7 +643,6 @@ Damon Jadon Emerson Micheal -Bruce Terry Kolton Melvin @@ -712,7 +656,6 @@ Leonel Karson Zayden Keagan -Carl Khalil Cristopher Nelson @@ -722,4 +665,712 @@ Isaias Roy Triston Walker -Kale \ No newline at end of file +Kale +Tafil +Ismet +Bardhal +Valm +Ermir +Milosh +Lunik +Rahul +Sabir +Majed +Bakri +Feroz +Taysir +Hamal +Mawel +Amadsu +Mastina +Deren +Ides +Masar +Belkin +Kriton +Aktis +Lemnus +Agastrophos +Charax +Cylon +Theomestor +Telephus +Aatif +Abdul +Ridwaan +Isaam +Azmi +Kaleem +Akram +Jafar +Humaid +Umar +Masood +Angelito +Bautista +Humberto +Enzo +Rey +Taniel +Matsag +Movses +Antog +Moushegh +Ismail +Arseen +Balishar +Cavad +Akif +Orxun +Thuso +Malefane +Makolo +Refilwe +Likotsi +Mohau +Amose +Xurio +Zipselo +Patrizio +Luze +Benoit +Emiel +Bastien +Anas +Kylian +Florent +Rik +Arjun +Indranil +Balinder +Bimal +Guru +Hari +Lalit +Sudeep +Sonu +Subhash +Anil +Dipen +Chandra +Musa +Vildan +Hamza +Mevludin +Wai +Linn +Soe +Kaung +Khine +Aung +Phyo +Thiha +Entekele +Leke +Sakeh +Dufach +Rohan +Glyn +Elwyn +Iver +Berian +Mercher +Jesstin +Ermid +Dermid +Dafydd +Sion +Conall +Conn +Alasdair +Ruaraidh +Rustam +Asu +Vakha +Beksolta +Nezh +Illyas +Tian +Bai +Delan +Shun +Gengxin +Liang +Jun +Shui +Chun +Fang +Zhenya +Bo +Dubravko +Branko +Davor +Damir +Mislav +Lucijan +Milovan +Andrej +Drahoslav +Oluf +Frans +Rune +Bernt +Fardin +Kalan +Jebran +Shapoor +Klaas +Siert +Elco +Jan +Karst +Aker +Anum +Kha +Anhur +Pakhrua +Ahmes +Hotep +Tutamen +Meri +Sneferu +Imhotep +Nefer +Pepi +Hanif +Odion +Adel +Aymn +Mando +Dodi +Mustafa +Adham +Manu +Darwishi +Erasmus +Cleeve +Taaniel +Kaljo +Timmo +Uno +Nega +Ayene +Bekele +Abenet +Haile +Mahmoud +Aldo +Benjam +Sampo +Oskari +Mika +Sampsa +Risto +Yves +Antoine +Theo +Henri +Maxime +Mathis +Eugene +Jorg +Ulrich +Hubert +Raimund +Gunter +Christoforos +Markos +Romanos +Vasilios +Valentinos +Lambros +Emmanouil +Devnand +Inesh +Savit +Yatnesh +Vishay +Manek +Amit +Munish +Oris +Jamiel +Ahron +Levey +Yesochor +Avidan +Harrod +Hanan +Tabor +Ephron +Absolom +Makis +Ichabod +Taaveti +Sumit +Vineet +Rishnu +Chand +Madhavacharta +Navin +Pranav +Tsim +Fue +Lung +Pheng +Sigbjorn +Heidrekur +Saimundur +Jovin +Ulfar +Velaugur +Hunn +Edvald +Sigurd +Sigfinnur +Bjarni +Oddur +Isar +Vemundur +Herluf +Linberg +Fenrir +Uranus +Skidi +Gudgeir +Geir +Akuchi +Okparo +Chikere +Chinou +Jelani +Chidy +Natsuo +Kyoden +Kakuei +Sotaro +Masakado +Kenji +Konyo +Kazuko +Kenko +Shogo +Jo +Shoji +Kazi +Shinji +Akira +Kakuzo +Hiro +Arman +Nurbolat +Alen +Iskander +Marat +Lorn +Moul +Phann +Pang +Dith +Chin +Chim +Aang +Kovind +Madhab +Lalu +Uttam +Nayan +Yasti +Waigwa +Theuri +Chege +Nyoro +Ngure +Kimaru +Min +Pak +Changgok +Gok +Kim +Nam +Tycho +Lycus +Hadrius +Cocus +Augustus +Virgo +Hegio +Leonida +Leonid +Nero +Kanoa +Loe +Lilo +Keon +Makan +Sommai +Makaio +Oke +Kalei +Alens +Ruriks +Falks +Osvalds +Godvars +Gytis +Naglis +Mykolas +Kestas +Vaidas +Mikas +Artemas +Okeyo +Othiambo +Onindo +Odede +Otiya +Muda +Jusoh +Desa +Raadi +Raaji +Jati +Tuna +Kingi +Urutu +Ruhi +Taika +Mahora +Eteka +Vivek +Tarak +Umanath +Punit +Dev +Nirmal +Kunal +Tartu +Bogen +Yegu +Bukdai +Yul +Ayoub +Muslih +Jaul +Youssef +Zamen +Aqil +Fala +Tocho +Wikvaya +Wanahton +Nantan +Hinto +Sugmuk +Mikasi +Alo +Ouray +Prakash +Subodh +Bishwa +Mukesh +Nikhil +Dheer +Yngvar +Sivert +Christer +Age +Svend +Gudmund +Tore +Viggo +Georg +Torbjorn +Vebjorn +Isak +Oystein +Halvard +Alf +Helge +Joar +Thor +Mats +Husain +Ziyaad +Demir +Sahand +Sabahattin +Hamood +Birtan +Ihsan +Harun +Balash +Daud +Jaffar +Shahab +Hossein +Heshmat +Arash +Karim +Sadeq +Aref +Parsa +Abbas +Aziz +Morteza +Hashem +Feliks +Prots +Luboslaw +Leslaw +Urban +Mieszko +Hanusz +Stojan +Kasper +Jozafat +Wit +Teobaldo +Balbino +Viriato +Candido +Ramiro +Gaspar +Godofredo +Navjeev +Uddam +Kabir +Sukhinidhan +Biradol +Mahanleen +Harbeer +Django +Yanko +Chal +Lasho +Tobar +Durril +Shandor +Zale +Bosnik +Boiko +Radu +Vasile +Marku +Nicu +Skender +Grigore +Toma +Costache +Catarino +Sasha +Aleksandr +Filya +Krasimir +Kliment +Vadim +Rasim +Vadik +Iosif +Danya +Nikita +Lukyan +Petr +Valentin +Valya +Ruslan +Pili +Malosi +Losi +Atini +Vujadin +Duro +Miran +Kalinik +Jezdimir +Gavrilo +Lubos +Henrich +Silvester +Miroslav +Viliam +Konrad +Jakub +Hodari +Jamba +Mosi +Abasi +Sefu +Ayo +Tamu +Khalfani +Ludvig +Hakan +Onne +Zakarias +Mikael +Elton +Sigge +Roland +Stefan +Ovid +Ravel +Srinan +Natheep +Lithik +Shikan +Yasmith +Sayan +Venujayan +Tadthon +Chakan +Vidura +Trat +Thorn +Taat +Vitaya +Nattanan +Somsak +Pasat +Ertek +Haldun +Eray +Suat +Erksun +Mehmet +Aytek +Ergin +Dogander +Quang +Quoc +Tuan +Viet +Loc +Khang +Blann +Skarf +Thorvard +Jorund +Starolf +Steinolf +Haki +Throst +Rognvald +Bolverk +Vigi +Odinkar +Hjor +Beinir +Ingolf +Ragnar +Badahar +Heru +Abrik +Darshanbir +Baljeet +Daldir +Fakeer +Puneet +Maskeen +Lungelo +Phakama +Horus +Xeghu +Ukuza +Dundubala +Thembelani +Dumesani +Mohamed +Abdelkader +Rachid +Said +Brahim +Djamel +Abdallah +Habib +Murad +Fadi +Mohammed +Tareq +Mamadou +Junior +Bandile +Prince +Mehdi +Santino +Keven +Heitor +Agustin +Vicente +Iker +Jie +Fenf +Yong +Bin +Aarav +Wei +Reza +Noam +Itai +Rahman +Batkhaan +Ichika +So +Minato +Ren +Hinata +Haruta +Ryo +Somchai +Prasert +Maksim +Cyrus +Rip +Ripley +Colt +Kilroy +Zero +Armitage +Lucky +Blitz +Kroner +Zak +Basque +Tau +Kepler +Neo +Nova +Cas +Cypher +Switch +Thadeus +Lock +Morpheus +Sifat +Ose +Havdid +Bruno +Jossen +Tetsuo +Talos +Solo +Tobor +Huey +Dewey +Louie +Ash +Sonny +Titan +Bax +Casper +Finnegan +Loki +Odin +Finley +Flynn +Shamus +Ultan +German +Sirius +Castor +Pollux \ No newline at end of file diff --git a/config/names/last.txt b/config/names/last.txt index 6080967e2da..926773a6727 100644 --- a/config/names/last.txt +++ b/config/names/last.txt @@ -36,7 +36,6 @@ Logue Reichard Day Dugmore -Murray Greenawalt Jyllian Osterwise @@ -224,13 +223,11 @@ Unk Otis Quinn Bell -Roberts Wood Ullman Bicknell Gibson Rohtin -James Wallick Eggbert Losey @@ -273,7 +270,6 @@ Hook Reighner Welty Jenkins -Bennett Swarner Hawker Agg @@ -341,7 +337,6 @@ Laurenzi Minnie Houser Langston -Anderson Barrett Wible Hujsak @@ -398,7 +393,6 @@ Ratcliff Riggle Newton Sanders -Mitchell Lauffer Aggley Moberly @@ -438,13 +432,9 @@ Smith Steele Leach Armstrong -Wheeler Easter Greenwood -Woodward -Pratt Buzzard -Cox Eliza Rockwell Zeal @@ -468,7 +458,6 @@ Digson Byers Hincken Shaner -Todd Whiteman Lineman Albright @@ -505,68 +494,36 @@ Dawkins McShain McDonohugh Power -Smith Jones Williams Brown Taylor Davies Wilson -Evans -Thomas -Roberts -Johnson Walker Wright -Robinson Thompson -Hughes -White -Edwards -Hall Patel -Green Martins Lewis -Wood -Jackson -Clarke Harris Clark -Scott Turner -Hill -Moore Cooper Morris -Ward -Watson Morgan -Anderson Harrison -King -Campbell -Young -Mitchell -Baker -James Kelly Allen -Bell Phillips Lee -Stewart -Miller Parker Simpson -Bennett -Davis Griffiths Shaw Price Cook Richardson -Murray Marshall Begum Murphy @@ -577,9 +534,6 @@ Bailey Carter Robertson Graham -Adams -Richards -Cox Singh Hussain Ellis @@ -591,22 +545,18 @@ Ali Reid Rathens Rathen -Mason Chapman Powell Owen Ahmed -Gibson Rogers Webb Holmes Mills Matthews -Hunt Palmer Lloyd Kaur -Fisher Ivanov Smirnov Vasilyev @@ -616,4 +566,1061 @@ Mikhaylov Pavlov Semenov Andreev -Alekseev \ No newline at end of file +Alekseev +Mali +Troshani +Nano +Kupi +Syla +Lucca +Hasani +Khalef +Benita +Fahas +Seghir +Ziani +Saadi +Beghal +Yamin +Mousa +Bilal +Khalaf +Zafar +Salman +Naderi +Usman +Al-Hassen +El-Salame +Al-Fadel +El-Shaer +El-Amini +Al-Miah +Al-Meskin +El-Nazar +Villar +Caceres +Dominguez +Ortiz +Vidal +Escobar +Schiavone +Hagopian +Petrosian +Baronian +Kostanian +Ismailyan +Jamshidova +Kyrimsoy +Maharramova +Jurio +Zabalain +Ilurdoz +Menda +Anchoverri +Osteriz +Basque +Duquesne +Peeters +Blindeman +Piat +Raes +Delporte +Verplancke +Vandevelde +Carton +Basak +Khuro +Sastri +Thakur +Chakraborty +Paramahamsa +Mazumdar +Momen +Sanu +Chatterjee +Saraswat +Ghosh +Rakib +Majumder +Terzic +Alagic +Topalovic +Bajramovic +Ivanovic +Vidovic +Yadanar +Nway +Myat +Naing +Ebot +Njoya +Ewaso +Lekeaka +Lukombo +Masumbuku +Mukendi +Dimonekene +Kosi +Linzenge +Nguo +Boko +Manoka +Gower +Pumphrey +Priddy +Clough +Sealy +Bethel +Ros +MacLeoir +MacCrum +Tsarnaeva +Khadzhiev +Maskhadov +Hamidov +Musaeva +Usamova +Xing +Feng +Qui +Zhang +Xun +Teng +Huang +Deng +Pan +Zhou +Kong +Cheng +Mao +Zou +Solic +Kopic +Paunovic +Papratovic +Spiljak +Marek +Capek +Prusik +Vecerova +Karaskova +Jansen +Ludvigsen +Bentsen +Berg +Jepsen +Karlsen +Ebbesen +Dogger +Bakker +Keulen +Harloff +Ossen +Storteboom +Vermeer +Gasner +Dam +Boer +Hurmann +Geerts +Cheverton +Goddard +Harpham +Ashpole +Hillyard +Lochty +Relish +Fernsby +Khepera +Nebka +Amemu +Neferu +Horemhebi +Kharatanekha +Anuketma +Cham +Bata +Tannous +Tuma +Asghar +Mallouf +Bishara +Aswan +Kouri +Hackeman +Bulstrode +Fane +Norwood +Goodstone +Milner +Parn +Teder +Sirel +Magi +Kask +Lepmets +Jogi +Girma +Abebe +Lebna +Anom +Feleke +Bereket +Selassie +Panaligan +Manalastas +Zoleta +Decatoria +Solonen +Paananen +Latvala +Kukkonen +Waris +Niemi +Kallo +Delon +Allard +Renaud +Blanc +Gerin +Aubert +Geiger +Landry +Vannier +Saint-Yves +Gauthier +Ehrenfest +Konig +Kindler +Ruhl +Voigt +Rickenbacker +Strasburger +Stratos +Rota +Economos +Romanos +Hallos +Floros +Fotopoulos +Constantinos +Stamou +Demetrios +Stavropoulos +Demetriou +Panagopoulou +Desai +Vyas +Chudasama +Kotak +Tripathi +Bhansali +Chitalia +Sarabhai +Modi +Adani +Silberstein +Dresner +Cohen +Metz +Bashevis +Laski +Yedidyah +Ginsberg +Levinstein +Abraham +Federman +Adler +Gottesman +Rabinowicz +Seth +Vad +Mahanta +Chadda +Bhaumik +Jadhav +Dvivedi +Lata +Poddar +Talavalakar +Satavelekar +Mudaliyar +Nayar +Nan +Tsab +Chue +Wong +Thao +Thai +Song +Finnsson +Finnsdottir +Kristvinsson +Krisovinsdottir +Ingvaldsson +Ingvaldsdottir +Abelsson +Abelsdottir +Sigurdsson +Sigurdsdottir +Holmsson +Holmsdottir +Chidey +Onuchukwu +Akachi +Mazzi +Onyekachi +Ndulu +Ngozi +Obasi +Jajah +Uchechea +Zebenjo +Ishida +Ito +Matsushita +Yoshimi +Horikiri +Sakai +Kase +Watari +Tano +Fuji +Okada +Yadama +Yagami +Homura +Tanimoto +Kugo +Fuse +Sugita +Naya +Hamakawa +Kobayashi +Serikov +Fauskeev +Yerbolatev +Ayatova +Ericova +Khazretgaliev +Baurzhanova +Khemera +Nhean +Narith +Sourkea +Visal +Poeu +Kalliyan +Akara +Chantou +Rachana +Kunthea +Rasmey +Nuon +Akash +Vrsiini +Ijay +Navin +Ikshu +Asheesh +Harihar +Paramartha +Mukesh +Ngendo +Mumbi +Murugi +Kioni +Nyagura +Njambi +Mugo +Kiongo +Mburu +Sook +Eon +Ri +So-Yung +So-Ri +Dae-Jung +Jin +Joon +Yong +Yung +Scaro +Decius +Geta +Nero +Natalis +Pollienus +Docilus +Castus +Nerva +Siyavong +Chanthraphone +Sengtavisouk +Thonemany +Vatthana +Keobunta +Savang +Rattanavongsa +Khanthavong +Lapsina +Lodina +Caune +Veiss +Ozers +Lielmanis +Lidaks +Rubenis +Tucs +Bekeryte +Vaiciute +Pakeryte +Maczinskiene +Pretkelis +Naidicas +Suksta +Kanapickas +Straksys +Remeza +Kantautine +Leipute +Ogutu +Ondiek +Were +Kowa +Sialo +Ochola +Obonyo +Akelo +Hongo +Julu +Oduyu +Orombi +Noh +Che +Dhareef +Taufan +Petera +Witika +Pikari +Enoka +Timoti +Piripi +Arona +Romana +Natana +Kapale +Agarkar +Karve +Rasam +Deshmane +Sonarkar +Lagu +Shinde +Javkar +Sawant +Ranganakar +Hardas +Pawgi +Sibari +Khatibi +Mernissi +Bikri +Samie +Zniber +Lemsih +Wasti +Subba +Karkee +Pandeya +Belbase +Rawal +Osland +Thygesen +Reiten +Davidsen +Haller +Tofte +Pettersen +Island +Handeland +Saltvik +Bakke +Hotvedt +Kampen +Vangsness +Fjerstad +Underberg +Munch +Lodhra +Ansari +Banday +Karlal +Hameed +Sarpara +Bhatti +Tareen +Marri +Kirmani +Daudpota +Ghazali +Mangi +Vele +Paiyo +Apa +Henao +Kasi +Injia +Kewa +Tajik +Raad +Vakili +Mashayekhi +Hosseini +Panahi +Rashidi +Fallah +Mostofi +Kasebi +Afshani +Boromand +Qaderi +Safavi +Golshani +Barbarz +Bina +Raoufi +Ahangar +Kabat +Loszowska +Ras +Murawska +Kwasny +Halas +Kabacinska +Maszowska +Rojek +Maczko +Makos +Hodor +Kapitan +Sirek +Kopinski +Cordeiro +Seixas +Tavares +Carneiro +Neves +Queiroz +Nunes +Hind +Abril +Baptista +Montenegro +Azevedo +Sousa +Bandiera +Barboza +Dhir +Gora +Tott +Tatran +Jhaal +Motsara +Dhama +Bhadu +Bargoti +Sherred +Heron +Jell +Kitt +Driskin +Ilica +Gupta +Cristea +Ragar +Lascar +Troester +Rosetti +Bus +Dita +Trelles +Macek +Moscovici +Gavrikova +Bylinkaina +Stepnova +Kaverina +Antipov +Vadimovich +Pavlovich +Victorovna +Denisovna +Panina +Desyatkova +Burkov +Kuzkin +Dmitrivich +Rusakov +Safenu +Niu +Savali +Pelesa +Tilo +Pule +Lotomau +Milovic +Jelic +Pesic +Zoric +Ristovski +Karanovic +Pejakovski +Janketic +Kovacova +Tesarova +Botosova +Bartos +Holub +Koren +Mokry +Ekholm +Wikstrom +Malmquist +Almgren +Westermark +Dahlman +Wallin +Mattson +Ostlund +Bjork +Linden +Stenbeck +Forslund +Sandstrom +Srinan +Natheep +Lithik +Shikan +Yasmith +Sayan +Venujayan +Palapol +Sudham +Kitjakarn +Montri +Singhapat +Gason +Wongsawat +Juntasa +Yao +Tahir +Sakir +Keles +Usta +Hasim +Karaduman +Bayat +Korkut +Altun +Nguyen +Chu +Hoang +Do +Huynh +Duong +Vu +Quang +Gunnsteinssen +Ketilssen +Skialgssen +Kotkelldottir +Ufidottir +Warydottir +Ragnarssen +Junhi +Rakhya +Bhander +Sadho +Rajwa +Kes +Dhesi +Sohi +Puriwal +Jawia +Hayre +Wains +Asar +Bati +Li +Truong +Jang +Wang +Ruan +Smirnova +Mammadov +Ailyev +Hasanov +Kazi +Mina +Pal +Saha +Roy +Dewan +Hasan +Islam +Wazen +Rohman +Akter +Banik +Bishwas +Chakma +Dey +Gazi +Shekh +Xu +Ho +Law +Lam +Zhu +Bedrize +Gill +Joshi +Babu +Dutta +Kumar +Patil +Mehta +Mittal +Pandit +Levi +Mizrachi +Peretz +Biton +Sato +Kato +Suzuki +Takahashi +Tanaka +Watanabe +Nakamura +Yamamoto +Kimura +Abe +Endo +Park +Shreshtha +Thapa +Navarro +Perara +Kumara +Gamage +Kaya +Demir +Gruber +Huber +Bauer +Wagner +Pichler +Moser +Mayer +Maier +Schuster +Ivanou +Kazlou +janssens +Maes +Jacobs +Mertens +Simon +Hodzic +Petrovic +Jovanovic +Dimitrov +Boyanov +Tasev +Nikolov +Gruev +Horvat +Kovacevic +Babic +Maric +Novak +Svoboda +Nielsen +Jensen +Pedersen +Sorensen +Tamm +Saar +Sepp +Joensen +Korhonen +Virtanen +Makinen +Laine +Salo +Dubois +Martin +Roux +Laurent +Mercier +Dupont +Lambert +Francois +Michel +Nagy +Giannopoulos +Kovacs +Horvath +Kiss +Byrne +Reilly +Doyle +Doherty +Rossi +Russo +Ferrari +Esposito +Bianchi +Colombo +Ricci +Rizzo +Leone +Conte +Neri +Caputo +Grassi +Monti +Krasniqi +Morina +Ozols +Berzins +Kazlauskas +Petrauskas +Jankauskas +Borg +Camilleri +Andov +Heaven +Bozinov +Rusu +Ceban +Popa +Bos +Vos +Hendriks +Dijkstra +Smits +Janse +Hansen +Johansen +Dahl +Lund +Nowak +Kowalski +Wisniewski +Wojak +Mazur +Wozniak +Silva +Jesus +Freitas +Radu +Stoica +Popov +Haven +Moreno +Sanz +Bernasconi +Fontana +Yilmaz +Melnyk +Shevchenko +Boyko +MacDonald +Driscoll +Mackintosh +Craig +MacLean +Cormack +Keenan +MacCulloch +Mackinnon +Tremblay +Jimenez +Gagnon +Mora +Solis +Tjon +Mars +Venus +Mercury +Luna +Ceres +Deimos +Phobos +Ganymede +Io +Europa +Amalthea +Himalia +Thebe +Elara +Pasiphae +Metis +Carme +Sinope +Lysithea +Ananke +Leda +Themisto +Praxidike +Locaste +Kalyke +Megaclite +Taygete +Callirrhoe +Autonoe +Harpalyke +Thyone +Hermippe +Chalende +Aoede +Eukalade +Isonoe +Helike +Carpo +Aitne +Eurydome +Hegomone +Arche +Euanthe +Sponde +Euporie +Mneme +Kore +Kallichore +Valetudo +Titan +Thea +Iapetus +Dione +Tethys +Enceladus +Mimas +Hyperion +Pheobe +Janus +Epimethus +Prometheus +Pandora +Siarnaq +Helene +Albiorix +Atlas +Telesto +Paaliaq +Calypso +Ymir +Tarvos +Skathi +Narvi +Kari +Skoll +Bestla +Methone +Pallene +Anthe +Titania +Oberon +Umbriel +Ariel +Miranda +Sycorax +Puck +Portia +Juliet +Caliban +Belinda +Rosalina +Bianca +Cupid +Mab +Triton +Proteus +Larissa +Halimede +Sao +Charon +Hydra +Nix +Kerberos +Styx +Jupiter +Saturn +Uranus +Neptune +Pluto +Orcus +Haumea +Quaoar +Makemake +Eris +Salacia +Sedna +Nova +Trask +Ripley +Kilroy +Simms +Winters +Renard +Reeves +Looper +Cassini +Juno +Dawn +Kepler +Akatsuki +Ofako +Zeng +Fong +Said +Halward +Tetsuo +Onishi +Link +Score +Asimov +Strugatsky +Gort +Gallagher +Nimrod +Jovian +Crichton +Andromeda +Llewellyn +Naylor +Thorax +Curie +Zisa +Zax +Aegis +Bishop +Alpha +Omega +Delta +Ohm +Cain +Brax +Bracket +Bolt +Weld +Apogee +Gliese +Zeta +Leporis +Barnard +Vega +Altair \ No newline at end of file diff --git a/html/changelogs/Cerebulon - Namelists.yml b/html/changelogs/Cerebulon - Namelists.yml new file mode 100644 index 00000000000..6fd79111319 --- /dev/null +++ b/html/changelogs/Cerebulon - Namelists.yml @@ -0,0 +1,7 @@ + +author: Cerebulon + +delete-after: True + +changes: + - rscadd: "Added 1000+ surnames and 1200+ forenames from various world cultures to human namelists" diff --git a/html/changelogs/Mechoid-RSFs.yml b/html/changelogs/Mechoid-RSFs.yml new file mode 100644 index 00000000000..72c7ac0b09a --- /dev/null +++ b/html/changelogs/Mechoid-RSFs.yml @@ -0,0 +1,37 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Mechoid + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Ctrl clicking a Rapid Service Fabricator when held will allow you to choose the container it deploys." + - bugfix: "The Rapid Service Fabricator's icon is correctly set." diff --git a/html/changelogs/kartagrafi-NewHairAndUnderwear.yml b/html/changelogs/kartagrafi-NewHairAndUnderwear.yml new file mode 100644 index 00000000000..f28a41c04ba --- /dev/null +++ b/html/changelogs/kartagrafi-NewHairAndUnderwear.yml @@ -0,0 +1,39 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: kartagrafi + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds new hairstyle ''Sharp Ponytail''" + - rscadd: "Adds several new underwear - ''Binder'', ''Strapless Binder'', ''Longsleeve Striped Shirt, Pink'', ''Pink Wing Shirt'', ''Pink and Black T-Shirt'', ''Leggings''" + - tweak: "Changes name of ''Supernova'' hairstyle to ''Glossy'', and makes the sprite somewhat neater" + - bugfix: "Fixes a hairstyle not appearing" \ No newline at end of file diff --git a/icons/mob/back_vr.dmi b/icons/mob/back_vr.dmi index 4048e02bfea..84aec25ab3c 100644 Binary files a/icons/mob/back_vr.dmi and b/icons/mob/back_vr.dmi differ diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index fbea9c563e1..cbf20402e6b 100644 Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 75929194f9f..a65de5defd5 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/human_face_m.dmi b/icons/mob/human_face_m.dmi index 457dd0e5df2..fe62645869e 100644 Binary files a/icons/mob/human_face_m.dmi and b/icons/mob/human_face_m.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard.dmi b/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard.dmi index 7700cc1d177..ce86dcadfdc 100644 Binary files a/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard.dmi and b/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard_a.dmi b/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard_a.dmi index 4d3223b41ed..1361b9e5fba 100644 Binary files a/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard_a.dmi and b/icons/mob/human_races/cyberlimbs/DSILizard/dsi_lizard_a.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/DSINevrean/dsi_nevrean.dmi b/icons/mob/human_races/cyberlimbs/DSINevrean/dsi_nevrean.dmi index f19af52106e..5424d46b780 100644 Binary files a/icons/mob/human_races/cyberlimbs/DSINevrean/dsi_nevrean.dmi and b/icons/mob/human_races/cyberlimbs/DSINevrean/dsi_nevrean.dmi differ diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi index 0abfa5e0cbb..300caaa9d83 100644 Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ diff --git a/icons/mob/human_races/r_harpy_vr.dmi b/icons/mob/human_races/r_harpy_vr.dmi index b4173fb818e..827e0d605f8 100644 Binary files a/icons/mob/human_races/r_harpy_vr.dmi and b/icons/mob/human_races/r_harpy_vr.dmi differ diff --git a/icons/mob/human_races/r_human_vr.dmi b/icons/mob/human_races/r_human_vr.dmi index 24413995a73..7a91929aad3 100644 Binary files a/icons/mob/human_races/r_human_vr.dmi and b/icons/mob/human_races/r_human_vr.dmi differ diff --git a/icons/mob/human_races/r_lizard_vr.dmi b/icons/mob/human_races/r_lizard_vr.dmi index b2b6dfac121..0bfbfb04eea 100644 Binary files a/icons/mob/human_races/r_lizard_vr.dmi and b/icons/mob/human_races/r_lizard_vr.dmi differ diff --git a/icons/mob/human_races/r_nevrean.dmi b/icons/mob/human_races/r_nevrean.dmi index d937299dc5f..d2bebc171a8 100644 Binary files a/icons/mob/human_races/r_nevrean.dmi and b/icons/mob/human_races/r_nevrean.dmi differ diff --git a/icons/mob/taursuits_horse_vr.dmi b/icons/mob/taursuits_horse_vr.dmi index 7a67ec72a22..12f309f9fec 100644 Binary files a/icons/mob/taursuits_horse_vr.dmi and b/icons/mob/taursuits_horse_vr.dmi differ diff --git a/icons/mob/taursuits_naga_vr.dmi b/icons/mob/taursuits_naga_vr.dmi index 49cc2360894..38640c904dd 100644 Binary files a/icons/mob/taursuits_naga_vr.dmi and b/icons/mob/taursuits_naga_vr.dmi differ diff --git a/icons/mob/taursuits_wolf_vr.dmi b/icons/mob/taursuits_wolf_vr.dmi index d5099056b5b..03ad5e3929c 100644 Binary files a/icons/mob/taursuits_wolf_vr.dmi and b/icons/mob/taursuits_wolf_vr.dmi differ diff --git a/icons/mob/vore.dmi b/icons/mob/vore.dmi index 0357739b9cf..4479212c1be 100644 Binary files a/icons/mob/vore.dmi and b/icons/mob/vore.dmi differ diff --git a/icons/mob/vore/taurs_vr.dmi b/icons/mob/vore/taurs_vr.dmi index 203119e9c32..0a1e2e48164 100644 Binary files a/icons/mob/vore/taurs_vr.dmi and b/icons/mob/vore/taurs_vr.dmi differ diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi index 42d2cf426db..b290bfca7b3 100644 Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ diff --git a/icons/mob/vore64x64.dmi b/icons/mob/vore64x64.dmi index 8454da40d78..76c5830021a 100644 Binary files a/icons/mob/vore64x64.dmi and b/icons/mob/vore64x64.dmi differ diff --git a/icons/obj/food_vr.dmi b/icons/obj/food_vr.dmi index e7bd78f8bfe..95b293d9f41 100644 Binary files a/icons/obj/food_vr.dmi and b/icons/obj/food_vr.dmi differ diff --git a/icons/obj/tools_vr.dmi b/icons/obj/tools_vr.dmi new file mode 100644 index 00000000000..72316467dd6 Binary files /dev/null and b/icons/obj/tools_vr.dmi differ diff --git a/icons/vore/custom_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi index 73e5e7f363b..be9148ca025 100644 Binary files a/icons/vore/custom_clothes_vr.dmi and b/icons/vore/custom_clothes_vr.dmi differ diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi index aa2910fb65b..97578011b44 100644 Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ diff --git a/maps/southern_cross/items/encryptionkey_sc.dm b/maps/southern_cross/items/encryptionkey_sc.dm index 6896bf1c6c4..feb63e58943 100644 --- a/maps/southern_cross/items/encryptionkey_sc.dm +++ b/maps/southern_cross/items/encryptionkey_sc.dm @@ -6,7 +6,7 @@ /obj/item/device/encryptionkey/explorer name = "explorer radio encryption key" icon_state = "com_cypherkey" - channels = list("Science" = 1, "Explorer" = 1) //VOREStation Edit + channels = list("Explorer" = 1) /obj/item/device/encryptionkey/sar name = "sar's encryption key" diff --git a/maps/southern_cross/items/encryptionkey_vr.dm b/maps/southern_cross/items/encryptionkey_vr.dm index 54f26ccebe5..94b12bdd2c6 100644 --- a/maps/southern_cross/items/encryptionkey_vr.dm +++ b/maps/southern_cross/items/encryptionkey_vr.dm @@ -1,3 +1,6 @@ /obj/item/device/encryptionkey/pilot icon_state = "cypherkey" channels = list("Explorer" = 1) + +/obj/item/device/encryptionkey/explorer + channels = list("Science" = 1, "Explorer" = 1) diff --git a/maps/southern_cross/items/headset_sc.dm b/maps/southern_cross/items/headset_sc.dm index ec73fbc7c77..eca7eeb27d3 100644 --- a/maps/southern_cross/items/headset_sc.dm +++ b/maps/southern_cross/items/headset_sc.dm @@ -1,30 +1,25 @@ /obj/item/device/radio/headset/pilot name = "pilot's headset" - desc = "A headset used by pilots, has access to the explorer channel." //VOREStation Edit + desc = "A headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset" adhoc_fallback = TRUE ks2type = /obj/item/device/encryptionkey/pilot /obj/item/device/radio/headset/pilot/alt name = "pilot's bowman headset" - desc = "A bowman headset used by pilots, has access to the explorer channel." //VOREStation Edit - icon_state = "pilot_headset_alt" - -/obj/item/device/radio/headset/pilot/alt - name = "pilot's bowman headset" - desc = "A bowman headset used by pilots, has access to the explorer channel." //VOREStation Edit + desc = "A bowman headset used by pilots, has access to supply and explorer channels." icon_state = "pilot_headset_alt" /obj/item/device/radio/headset/explorer name = "explorer's headset" - desc = "Headset used by explorers for exploring. Access to explorer and science channels." //VOREStation Edit + desc = "Headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset" adhoc_fallback = TRUE ks2type = /obj/item/device/encryptionkey/explorer /obj/item/device/radio/headset/explorer/alt name = "explorer's bowman headset" - desc = "Bowman headset used by explorers for exploring. Access to explorer and science channels." //VOREStation Edit + desc = "Bowman headset used by explorers for exploring. Access to the explorer channel." icon_state = "exp_headset_alt" /obj/item/device/radio/headset/sar diff --git a/maps/southern_cross/items/headset_vr.dm b/maps/southern_cross/items/headset_vr.dm index c100fcf4411..ac737845b5a 100644 --- a/maps/southern_cross/items/headset_vr.dm +++ b/maps/southern_cross/items/headset_vr.dm @@ -1,3 +1,23 @@ +/obj/item/device/radio/headset/pilot + desc = "A headset used by pilots, has access to the explorer channel." + +/obj/item/device/radio/headset/pilot/alt + desc = "A bowman headset used by pilots, has access to the explorer channel." + +/obj/item/device/radio/headset/explorer + desc = "Headset used by explorers for exploring. Access to explorer and science channels." + +/obj/item/device/radio/headset/explorer/alt + desc = "Bowman headset used by explorers for exploring. Access to explorer and science channels." + +/obj/item/device/radio/headset/sar + name = "fm radio headset" + desc = "A headset for field medics." + +/obj/item/device/radio/headset/sar/alt + name = "fm radio bowman headset" + desc = "A bowman headset for field medics." + /obj/item/device/radio/headset/volunteer name = "volunteer's headset" desc = "A headset used by volunteers to expedition teams, has access to the exploration channel." diff --git a/maps/southern_cross/job/outfits.dm b/maps/southern_cross/job/outfits.dm index a32b784c0d7..159701decd0 100644 --- a/maps/southern_cross/job/outfits.dm +++ b/maps/southern_cross/job/outfits.dm @@ -13,8 +13,8 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go l_ear = /obj/item/device/radio/headset/explorer id_slot = slot_wear_id pda_slot = slot_l_store - pda_type = /obj/item/device/pda/cargo // Brown looks more rugged - id_type = /obj/item/weapon/card/id/civilian/explorer + pda_type = /obj/item/device/pda/explorer //VORESTation Edit - Better Brown + id_type = /obj/item/weapon/card/id/explorer/explorer //VOREStation Edit id_pda_assignment = "Explorer" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) @@ -46,20 +46,21 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go l_ear = /obj/item/device/radio/headset/pilot/alt id_slot = slot_wear_id pda_slot = slot_belt - pda_type = /obj/item/device/pda/cargo // Brown looks more rugged - id_type = /obj/item/weapon/card/id/civilian/pilot + pda_type = /obj/item/device/pda //VOREStation Edit - Civilian + id_type = /obj/item/weapon/card/id/explorer/pilot //VOREStation Edit id_pda_assignment = "Pilot" flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL /decl/hierarchy/outfit/job/medical/sar - name = OUTFIT_JOB_NAME("Search and Rescue") + name = OUTFIT_JOB_NAME("Field Medic") //VOREStation Edit uniform = /obj/item/clothing/under/utility/blue - suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar + //suit = /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar //VOREStation Edit shoes = /obj/item/clothing/shoes/boots/winter/explorer l_ear = /obj/item/device/radio/headset/sar l_hand = /obj/item/weapon/storage/firstaid/regular belt = /obj/item/weapon/storage/belt/medical/emt pda_slot = slot_l_store + pda_type = /obj/item/device/pda/sar //VOREStation Add id_type = /obj/item/weapon/card/id/medical/sar - id_pda_assignment = "Search and Rescue" + id_pda_assignment = "Field Medic" //VOREStation Edit flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL diff --git a/maps/southern_cross/job/outfits_vr.dm b/maps/southern_cross/job/outfits_vr.dm index 51b3c3670ee..902a0658cc4 100644 --- a/maps/southern_cross/job/outfits_vr.dm +++ b/maps/southern_cross/job/outfits_vr.dm @@ -6,7 +6,7 @@ id_slot = slot_wear_id pda_slot = slot_l_store pda_type = /obj/item/device/pda/pathfinder - id_type = /obj/item/weapon/card/id/science/head/pathfinder + id_type = /obj/item/weapon/card/id/explorer/head/pathfinder id_pda_assignment = "Pathfinder" flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL backpack_contents = list(/obj/item/clothing/accessory/permit/gun/planetside = 1) diff --git a/maps/southern_cross/southern_cross_jobs.dm b/maps/southern_cross/southern_cross_jobs.dm index df8aae6e98b..12166d14787 100644 --- a/maps/southern_cross/southern_cross_jobs.dm +++ b/maps/southern_cross/southern_cross_jobs.dm @@ -1,9 +1,8 @@ -//VORESTATION EDIT!!! This whole file is being included by hand to get these jobs rather than using the map datum itself. // Pilots var/const/SAR =(1<<11) -var/const/PILOT =(1<<15) //VOREStation Edit - Bumped up 2 -var/const/EXPLORER =(1<<12) //VOREStation Edit - Moved to science +var/const/PILOT =(1<<13) +var/const/EXPLORER =(1<<14) var/const/access_pilot = 67 var/const/access_explorer = 43 @@ -77,28 +76,28 @@ var/const/access_explorer = 43 faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the pathfinder and the head of personnel" //VOREStation Edit + supervisors = "the head of personnel" selection_color = "#515151" idtype = /obj/item/weapon/card/id/civilian/pilot - economic_modifier = 5 //VOREStation Edit - access = list(access_pilot) //VOREStation Edit - minimal_access = list(access_pilot) //VOREStation Edit + economic_modifier = 4 + access = list(access_pilot, access_cargo, access_mining, access_mining_station) + minimal_access = list(access_pilot, access_cargo, access_mining, access_mining_station) outfit_type = /decl/hierarchy/outfit/job/pilot /datum/job/explorer title = "Explorer" flag = EXPLORER - department = "Science" //VOREStation Edit - department_flag = MEDSCI //VOREStation Edit + department = "Civilian" + department_flag = CIVILIAN faction = "Station" - total_positions = 2 //VOREStation Edit - spawn_positions = 2 //VOREStation Edit - supervisors = "the pathfinder and the research director" //VOREStation Edit - selection_color = "#633D63" //VOREStation Edit + total_positions = 4 + spawn_positions = 4 + supervisors = "the explorer leader and the head of personnel" + selection_color = "#515151" idtype = /obj/item/weapon/card/id/civilian/explorer - economic_modifier = 6 //VOREStation Edit - access = list(access_pilot, access_explorer, access_research) //VOREStation Edit - minimal_access = list(access_pilot, access_explorer, access_research) //VOREStation Edit + economic_modifier = 4 + access = list(access_explorer) + minimal_access = list(access_explorer) outfit_type = /decl/hierarchy/outfit/job/explorer2 /* alt_titles = list( @@ -114,10 +113,10 @@ var/const/access_explorer = 43 faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the pathfinder and the chief medical officer" //VOREStation Edit - selection_color = "#013D3B" //VOREStation Edit + supervisors = "the chief medical officer" + selection_color = "#515151" idtype = /obj/item/weapon/card/id/medical - economic_modifier = 6 //VOREStation Edit + economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist, access_explorer) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_explorer) outfit_type = /decl/hierarchy/outfit/job/medical/sar \ No newline at end of file diff --git a/maps/southern_cross/southern_cross_jobs_vr.dm b/maps/southern_cross/southern_cross_jobs_vr.dm index 600ace3885a..251417dbba5 100644 --- a/maps/southern_cross/southern_cross_jobs_vr.dm +++ b/maps/southern_cross/southern_cross_jobs_vr.dm @@ -1,7 +1,41 @@ -var/const/PATHFINDER =(1<<13) //VOREStation Edit - Added Pathfinder +var/const/SAR =(1<<11) +var/const/PILOT =(1<<15) +var/const/EXPLORER =(1<<12) +var/const/PATHFINDER =(1<<13) -/obj/item/weapon/card/id/science/head/pathfinder +/obj/item/weapon/card/id/medical/sar + assignment = "Field Medic" + rank = "Field Medic" + icon_state = "cyan" + primary_color = rgb(47,189,189) + secondary_color = rgb(127,223,223) + job_access_type = /datum/job/sar + +/obj/item/weapon/card/id/explorer + name = "identification card" + desc = "A card issued to station exploration staff." + icon_state = "green" + primary_color = rgb(47,189,0) + secondary_color = rgb(127,223,95) + +/obj/item/weapon/card/id/explorer/pilot + assignment = "Pilot" + rank = "Pilot" + job_access_type = /datum/job/pilot + +/obj/item/weapon/card/id/explorer/explorer + assignment = "Explorer" + rank = "Explorer" + job_access_type = /datum/job/explorer + +/obj/item/weapon/card/id/explorer/head/ + name = "identification card" desc = "A card which represents discovery of the unknown." + icon_state = "greenGold" + primary_color = rgb(47,189,0) + secondary_color = rgb(127,223,95) + +/obj/item/weapon/card/id/explorer/head/pathfinder assignment = "Pathfinder" rank = "Pathfinder" job_access_type = /datum/job/pathfinder @@ -16,9 +50,60 @@ var/const/PATHFINDER =(1<<13) //VOREStation Edit - Added Pathfinder spawn_positions = 1 supervisors = "the research director" selection_color = "#AD6BAD" - idtype = /obj/item/weapon/card/id/science/head/pathfinder + idtype = /obj/item/weapon/card/id/explorer/head/pathfinder economic_modifier = 7 - + minimal_player_age = 7 + access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_research, access_gateway) minimal_access = list(access_eva, access_pilot, access_explorer, access_research, access_gateway) outfit_type = /decl/hierarchy/outfit/job/pathfinder + +/datum/job/pilot + title = "Pilot" + flag = PILOT + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the pathfinder and the head of personnel" + selection_color = "#515151" + idtype = /obj/item/weapon/card/id/explorer/pilot + economic_modifier = 5 + minimal_player_age = 3 + access = list(access_pilot) + minimal_access = list(access_pilot) + outfit_type = /decl/hierarchy/outfit/job/pilot + +/datum/job/explorer + title = "Explorer" + flag = EXPLORER + department = "Science" + department_flag = MEDSCI + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the pathfinder and the research director" + selection_color = "#633D63" + idtype = /obj/item/weapon/card/id/explorer/explorer + economic_modifier = 6 + access = list(access_explorer, access_research) + minimal_access = list(access_explorer, access_research) + outfit_type = /decl/hierarchy/outfit/job/explorer2 + +/datum/job/sar + title = "Field Medic" + flag = SAR + department = "Medical" + department_flag = MEDSCI + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the pathfinder and the chief medical officer" + selection_color = "#013D3B" + idtype = /obj/item/weapon/card/id/medical/sar + economic_modifier = 6 + minimal_player_age = 3 + access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) + minimal_access = list(access_medical, access_medical_equip, access_morgue, access_pilot) + outfit_type = /decl/hierarchy/outfit/job/medical/sar diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm index 7fc5b62889b..82b2bd65cba 100644 --- a/maps/southern_cross/structures/closets/misc.dm +++ b/maps/southern_cross/structures/closets/misc.dm @@ -36,15 +36,6 @@ /obj/structure/closet/secure_closet/explorer name = "explorer locker" - //VOREStation Add begin - icon = 'icons/obj/closet_vr.dmi' //VOREStation Add - icon_state = "secureexp1" - icon_closed = "secureexp" - icon_locked = "secureexp1" - icon_opened = "secureexpopen" - icon_broken = "secureexpbroken" - icon_off = "secureexpoff" - //VOREStation Add end req_access = list(access_explorer) starts_with = list( @@ -60,11 +51,7 @@ /obj/item/device/geiger, /obj/item/weapon/cell/device, /obj/item/device/radio, - /obj/item/stack/marker_beacon/thirty, - /obj/item/weapon/material/knife/tacknife/survival, //VOREStation Add, - /obj/item/weapon/material/knife/machete, //VOREStation Add, - /obj/item/clothing/accessory/holster/machete, //VOREStation Add, - /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2) //VOREStation Add + /obj/item/stack/marker_beacon/thirty) /obj/structure/closet/secure_closet/explorer/initialize() if(prob(50)) @@ -99,7 +86,6 @@ /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, /obj/item/weapon/storage/belt/medical/emt, - /obj/item/weapon/material/knife/tacknife/survival, //VOREStation Add, /obj/item/clothing/mask/gas, /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, /obj/item/clothing/shoes/boots/winter/explorer, diff --git a/maps/southern_cross/structures/closets/misc_vr.dm b/maps/southern_cross/structures/closets/misc_vr.dm index 48b2f88d5b1..07d98e84343 100644 --- a/maps/southern_cross/structures/closets/misc_vr.dm +++ b/maps/southern_cross/structures/closets/misc_vr.dm @@ -1,3 +1,85 @@ +/obj/structure/closet/secure_closet/explorer + icon = 'icons/obj/closet_vr.dmi' + icon_state = "secureexp1" + icon_closed = "secureexp" + icon_locked = "secureexp1" + icon_opened = "secureexpopen" + icon_broken = "secureexpbroken" + icon_off = "secureexpoff" + + starts_with = list( + /obj/item/clothing/under/explorer, + /obj/item/clothing/suit/storage/hooded/explorer, + /obj/item/clothing/mask/gas/explorer, + /obj/item/clothing/shoes/boots/winter/explorer, + /obj/item/clothing/gloves/black, + /obj/item/device/radio/headset/explorer, + /obj/item/device/flashlight, + /obj/item/device/gps/explorer, + /obj/item/weapon/storage/box/flare, + /obj/item/device/geiger, + /obj/item/weapon/cell/device, + /obj/item/device/radio, + /obj/item/stack/marker_beacon/thirty, + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/weapon/material/knife/machete, + /obj/item/clothing/accessory/holster/machete, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2) + +/obj/structure/closet/secure_closet/sar + name = "field medic locker" + + starts_with = list( + /obj/item/weapon/storage/backpack/dufflebag/emt, + /obj/item/weapon/storage/box/autoinjectors, + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, + /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, + /obj/item/weapon/storage/belt/medical/emt, + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/weapon/gun/energy/frontier/locked/holdout, + /obj/item/clothing/mask/gas/explorer, + /obj/item/clothing/suit/storage/hooded/explorer/medic, + /obj/item/clothing/suit/storage/hooded/wintercoat/medical/sar, + /obj/item/clothing/shoes/boots/winter/explorer, + /obj/item/device/radio/headset/sar, + /obj/item/weapon/cartridge/medical, + /obj/item/device/flashlight, + /obj/item/weapon/tank/emergency/oxygen/engi, + /obj/item/clothing/glasses/hud/health, + /obj/item/device/healthanalyzer, + /obj/item/device/radio/off, + /obj/random/medical, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 3, + /obj/item/weapon/tool/crowbar, + /obj/item/weapon/extinguisher/mini, + /obj/item/weapon/storage/box/freezer, + /obj/item/clothing/accessory/storage/white_vest, + /obj/item/taperoll/medical, + /obj/item/device/gps, + /obj/item/device/geiger, + /obj/item/bodybag/cryobag) + +/obj/structure/closet/secure_closet/pilot + starts_with = list( + /obj/item/weapon/storage/backpack/parachute, + /obj/item/weapon/material/knife/tacknife/survival, + /obj/item/weapon/gun/energy/frontier/locked/holdout, + /obj/item/clothing/head/pilot, + /obj/item/clothing/under/rank/pilot1, + /obj/item/clothing/suit/storage/toggle/bomber/pilot, + /obj/item/clothing/shoes/boots/winter/explorer, + /obj/item/clothing/mask/gas/half, + /obj/item/clothing/shoes/black, + /obj/item/clothing/gloves/fingerless, + /obj/item/device/radio/headset/pilot/alt, + /obj/item/device/flashlight, + /obj/item/weapon/reagent_containers/food/snacks/liquidfood = 2, + /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, + /obj/item/weapon/storage/box/flare, + /obj/item/weapon/cell/device, + /obj/item/device/radio) + /obj/structure/closet/secure_closet/pathfinder name = "pathfinder locker" icon = 'icons/obj/closet_vr.dmi' @@ -23,6 +105,7 @@ /obj/item/device/geiger, /obj/item/weapon/cell/device, /obj/item/device/radio, + /obj/item/device/subspaceradio, /obj/item/stack/marker_beacon/thirty, /obj/item/weapon/material/knife/tacknife/survival, /obj/item/weapon/material/knife/machete/deluxe, diff --git a/maps/submaps/engine_submaps/engine_tesla.dmm b/maps/submaps/engine_submaps/engine_tesla.dmm index 415b6de6b69..ea807840f48 100644 --- a/maps/submaps/engine_submaps/engine_tesla.dmm +++ b/maps/submaps/engine_submaps/engine_tesla.dmm @@ -13,8 +13,8 @@ "am" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/airless,/area/space) "an" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/space) "ao" = (/obj/structure/closet/emcloset,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eng_north_airlock"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,11); tag_airpump = "eng_north_pump"; tag_chamber_sensor = "eng_north_sensor"; tag_exterior_door = "eng_north_outer"; tag_interior_door = "eng_north_inner"},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) -"ap" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/turf/simulated/floor,/area/engineering/engine_gas) -"aq" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/dispenser/phoron,/turf/simulated/floor,/area/engineering/engine_gas) +"ap" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/turf/simulated/floor,/area/engineering/engine_gas) +"aq" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table/standard,/obj/item/stack/cable_coil/random,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/screwdriver,/turf/simulated/floor,/area/engineering/engine_gas) "ar" = (/obj/structure/cable/cyan,/obj/machinery/power/emitter{anchored = 1; state = 1},/turf/simulated/floor/airless,/area/space) "as" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/rust/mono_rusted1,/turf/simulated/floor/airless,/area/space) "at" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_north_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(10,11,13)},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_north_outer"; locked = 1; name = "Engine North Airlock Exterior"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) @@ -24,15 +24,15 @@ "ax" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/yellow/border{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engine_room) "ay" = (/obj/structure/cable/cyan{d1 = 0; d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -28},/turf/simulated/floor,/area/engineering/engine_gas) "az" = (/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/engineering/engine_gas) -"aA" = (/obj/machinery/camera/network/engine{dir = 1},/obj/structure/table/standard,/obj/item/weapon/circuitboard/tesla_coil{pixel_x = -2; pixel_y = -2},/obj/item/weapon/circuitboard/tesla_coil{pixel_x = 2; pixel_y = 2},/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -2; pixel_y = 2},/turf/simulated/floor,/area/engineering/engine_gas) +"aA" = (/obj/machinery/camera/network/engine{dir = 1},/obj/structure/table/standard,/obj/item/weapon/circuitboard/grounding_rod{pixel_x = 2; pixel_y = 2},/obj/item/weapon/circuitboard/grounding_rod{pixel_x = -2; pixel_y = -2},/turf/simulated/floor,/area/engineering/engine_gas) "aB" = (/obj/machinery/camera/network/engine{dir = 8},/turf/space,/area/space) "aC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/engine_room) "aD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_room) "aE" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"aF" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/engineering/engine_gas) +"aF" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/engineering/engine_gas) "aG" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; dir = 1; id = "SupermatterPort"; name = "Observation Blast Doors"; pixel_x = -4; pixel_y = -24; req_access = list(10)},/turf/simulated/floor/tiled,/area/engineering/engine_room) "aH" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "SupermatterPort"; name = "Observation Blast Doors"; pixel_x = -4; pixel_y = 24; req_access = list(10)},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"aI" = (/obj/machinery/power/tesla_coil,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless,/area/space) +"aI" = (/obj/item/weapon/extinguisher,/turf/space,/area/space) "aJ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/engineering/engine_room) "aK" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/yellow/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_room) "aL" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/yellow/border{dir = 1},/turf/simulated/floor/tiled,/area/engineering/engine_room) @@ -56,14 +56,16 @@ "bd" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/turf/simulated/floor,/area/submap/pa_room) "be" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_room) "bf" = (/turf/simulated/floor/tiled,/area/submap/pa_room) +"bg" = (/obj/machinery/power/grounding_rod,/turf/simulated/floor/airless,/area/space) "bh" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/submap/pa_room) "bi" = (/turf/simulated/wall/r_wall,/area/submap/pa_room) -"bj" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_engineering,/turf/simulated/floor/tiled,/area/submap/pa_room) +"bj" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/power/tesla_coil,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless,/area/space) "bk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_room) "bl" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 6},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_room) "bm" = (/turf/simulated/wall/r_wall,/area/template_noop) "bn" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/submap/pa_room) "bo" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/pa_room) +"bp" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/clothing/head/hardhat,/turf/simulated/floor/airless,/area/space) "bq" = (/obj/effect/floor_decal/steeldecal,/turf/simulated/floor/tiled,/area/submap/pa_room) "br" = (/obj/machinery/light{dir = 1},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the engine charging port."; id = "EngineRadiatorViewport"; name = "Viewport Blast Doors"; pixel_x = -4; pixel_y = 24; req_access = list(10)},/turf/simulated/floor/tiled,/area/submap/pa_room) "bs" = (/obj/structure/cable/cyan{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/pa_room) @@ -74,7 +76,7 @@ "bx" = (/obj/structure/particle_accelerator/particle_emitter/left{dir = 8},/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/pa_room) "by" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/pa_room) "bz" = (/obj/machinery/particle_accelerator/control_box,/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/submap/pa_room) -"bA" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled/techfloor,/area/submap/pa_room) +"bA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_engineering,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/submap/pa_room) "bB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/submap/pa_room) "bC" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/machinery/door/firedoor/glass,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor,/area/submap/pa_room) "bD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/engineering/engine_room) @@ -99,6 +101,7 @@ "bW" = (/obj/effect/floor_decal/techfloor/orange/corner,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/pa_room) "bX" = (/obj/effect/floor_decal/techfloor/orange{icon_state = "techfloororange_edges"; dir = 6},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor/grid,/area/submap/pa_room) "bY" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/steeldecal/steel_decals8,/obj/structure/table/standard,/obj/item/weapon/book/manual/tesla_engine,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled,/area/submap/pa_room) +"bZ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/tesla_coil,/turf/simulated/floor/airless,/area/space) "ca" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/pa_room) "cb" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/yellow/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/yellow/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/engineering/engine_room) "cc" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/engineering/engine_room) @@ -117,7 +120,7 @@ "cp" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engine_room) "cq" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engine_room) "cr" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/engineering/engine_room) -"cs" = (/obj/machinery/power/emitter{anchored = 1; dir = 1; state = 1},/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/airless,/area/space) +"cs" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/airless,/area/space) "ct" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_south_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 26; req_one_access = list(10,11,13)},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_south_outer"; locked = 1; name = "Engine South Airlock Exterior"},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) "cu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_south_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_south_sensor"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) "cv" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_south_inner"; locked = 1; name = "Engine South Airlock Interior"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_south_airlock"; name = "interior access button"; pixel_x = 8; pixel_y = -26; req_one_access = list(10,11)},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) @@ -128,14 +131,15 @@ "cA" = (/obj/structure/cable/cyan{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/airless,/area/space) "cB" = (/obj/structure/closet/emcloset,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "eng_south_airlock"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,11); tag_airpump = "eng_south_pump"; tag_chamber_sensor = "eng_south_sensor"; tag_exterior_door = "eng_south_outer"; tag_interior_door = "eng_south_inner"},/turf/simulated/floor/tiled/dark,/area/engineering/engine_room) "cC" = (/turf/simulated/wall/r_wall,/area/space) -"cD" = (/obj/structure/lattice,/obj/machinery/power/grounding_rod,/turf/space,/area/space) +"cD" = (/obj/effect/floor_decal/techfloor/orange{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/submap/pa_room) "cE" = (/obj/machinery/door/blast/regular{density = 0; dir = 2; icon_state = "pdoor0"; id = "SupermatterPort"; layer = 2.7; name = "Reactor Blast Door"; opacity = 0},/obj/machinery/door/firedoor/glass,/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor,/area/engineering/engine_room) -"cF" = (/obj/machinery/power/emitter{anchored = 1; state = 1},/obj/structure/cable/cyan,/turf/simulated/floor/airless,/area/space) +"cF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow,/obj/machinery/power/tesla_coil,/turf/simulated/floor/airless,/area/space) "cG" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/pa_room) -"cH" = (/obj/machinery/door/airlock/glass_engineering,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/submap/pa_room) +"cH" = (/obj/machinery/door/airlock/glass_engineering,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/submap/pa_room) "cI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_room) +"cJ" = (/obj/item/weapon/tool/wirecutters,/turf/simulated/floor/airless,/area/space) "cK" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/airless,/area/space) -"cL" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/airless,/area/space) +"cL" = (/obj/structure/cable/cyan{d2 = 2; icon_state = "0-2"},/obj/machinery/power/emitter{dir = 1; anchored = 1; state = 1},/turf/simulated/floor/airless,/area/space) "cM" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/yellow/border,/turf/simulated/floor/tiled,/area/engineering/engine_room) "cN" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/space) "cQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/airless,/area/space) @@ -149,25 +153,25 @@ aaacababababababababababababababababababababababababababaaaa aaacababababababababababababababababababababababababababaaaa aaadabababababababababababababababababababaeaeaeaeaeababaaaa aaacacacacacacacacacacacacacacacafafafababaeagahaiaeababaaaa -aaacababajajajakalalalamalalalanafaoafafafaeagapaqaeababaaaa -aaacabababajajcFajajajarajajadasatauavawaxaeayazaAaaaaaaaaaa -aaacababababadabababababadababaBafafaCaDaEaeaeaFaeaaaaaaaaaa -aaacababababcDabababababcDabababababcEaJaKaLaMaNaOaaaaaaaaaa -aaacababababadabababababadabababababcEaQaRaSaUaVaWaaaaaaaaaa -aaacadadadajcocKcKaIcKcKaIcLababababcEaGbabbbcaZbeaaaaaaaaaa -aaacabababajadadadadadadadcNabaYbPbPbhbibjbibibkblbmbmaaaaaa -aaacabababajadaXadadadaXadcNabbnbobfbqbrbsbtbibkaEaabubvaaaa -aaacabababajadadajajajadadcNadbnbwbxbybzbAbBbCbDaEaaaaaaaaaa -aaacabababajadadajbEajadadaPcKbFbQbGbHbIbJbKbLbMbNaaaabOaaaa +aaacababajajakalalalalalamalalanafaoafafafaeagapaqaeababaaaa +aaacabababajarajajajajajarajadasatauavawaxaeayazaAaaaaaaaaaa +aaacababababadababadababadababaBafafaCaDaEaeaeaFaeaaaaaaaaaa +aaacababababadababadababadabababababcEaJaKaLaMaNaOaaaaaaaaaa +aaacababaIabadababadababadadbgabababcEaQaRaSaUaVaWaaaaaaaaaa +aaacabababbgajcocKcKcKbjcKbpadabababcEaGbabbbcaZbeaaaaaaaaaa +aaacadadadajaXabadabadabaXcNadaYbPbPbhbibAbibibkblbmbmaaaaaa +aaacabababajababadabadababbZadbnbobfbqbrbsbtbibkaEaabubvaaaa +aaacabababajadadcsajajadadcNadbnbwbxbybzcDbBbCbDaEaaaaaaaaaa +aaacabababajababajbEajababaPcKbFbQbGbHbIbJbKbLbMbNaaaabOaaaa aaacabababajadadajajajadadcNadbnbWbRbSbTbUbVbCbDaEaaaaaaaaaa -aaacabababajadaXadadadaXadcNabbnbXcacacdcGbYbibkaEaaaaaaaaaa -aaacabababajadadadadadadadcNabbdcmcmbhbicHbibibkcbbmbmaaaaaa -aaacadadadajcocKcKaIcKcKaIcQababababcEaHcIcecfcgbaaaaaaaaaaa -aaacababababadabababababadabababababcEccchaTcjckclaaaaaaaaaa -aaacababababcDabababababcDabababababcEaJcncMcpcqcraaaaaaaaaa -aaacababababadabababababadababaBafafaCciaEafafafafaaaaaaaaaa -aaacabababajajcsajajajcsajajadakctcucvcwcxafaaaaaaaaaaaaaaaa -aaacabadajajajcyalalalczalalalcAafcBafafafafaaaaaaaaaaaaaaaa +aaacabababajababadabadababcFadbnbXcacacdcGbYbibkaEaaaaaaaaaa +aaacadadadajaXabadabadabaXcNadbdcmcmbhbicHbibibkcbbmbmaaaaaa +aaacabababbgajcocKcKcKbjcKcQadabababcEaHcIcecfcgbaaaaaaaaaaa +aaacababababadababadababadadbgabababcEccchaTcjckclaaaaaaaaaa +aaacababababadababadababadabababababcEaJcncMcpcqcraaaaaaaaaa +aaacababababadababadababadababaBafafaCciaEafafafafaaaaaaaaaa +aaacabababcJcLajajajajajcLajadakctcucvcwcxafaaaaaaaaaaaaaaaa +aaacabadajajcyalalalalalczalalcAafcBafafafafaaaaaaaaaaaaaaaa aaacadadcCcCcCcCcCcCcCcCcCcCcCcCafafaCaaaaaaaaaaaaaaaaaaaaaa aaacababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/shelters/shelter_1.dmm b/maps/submaps/shelters/shelter_1.dmm index 8b85eea25e1..66eba3541de 100644 --- a/maps/submaps/shelters/shelter_1.dmm +++ b/maps/submaps/shelters/shelter_1.dmm @@ -14,6 +14,17 @@ /area/survivalpod) "d" = ( /obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/weapon/storage/pill_bottle/dice, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "e" = ( diff --git a/maps/submaps/shelters/shelter_2.dmm b/maps/submaps/shelters/shelter_2.dmm index f06fb904205..b7e87215449 100644 --- a/maps/submaps/shelters/shelter_2.dmm +++ b/maps/submaps/shelters/shelter_2.dmm @@ -32,6 +32,24 @@ /area/survivalpod) "f" = ( /obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/weapon/storage/pill_bottle/antitox, +/obj/item/device/healthanalyzer, +/obj/item/weapon/storage/pill_bottle/dice_nerd, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "g" = ( @@ -87,9 +105,7 @@ /area/survivalpod) "p" = ( /obj/structure/table/survival_pod, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 4 - }, +/obj/item/weapon/storage/firstaid/adv, /turf/simulated/shuttle/floor/voidcraft, /area/survivalpod) "q" = ( diff --git a/maps/submaps/shelters/shelter_3.dmm b/maps/submaps/shelters/shelter_3.dmm new file mode 100644 index 00000000000..4b7e36706fd --- /dev/null +++ b/maps/submaps/shelters/shelter_3.dmm @@ -0,0 +1,336 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) +"b" = ( +/obj/structure/sign/mining/survival{ + dir = 1 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) +"c" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8; + layer = 2.6 + }, +/obj/machinery/door/window/survival_pod{ + dir = 1; + icon_state = "windoor" + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"d" = ( +/obj/structure/sign/mining/survival{ + dir = 8 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) +"e" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"f" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/device/fbp_backup_cell, +/obj/item/weapon/storage/pill_bottle/dice_nerd, +/obj/item/weapon/storage/pill_bottle/antitox, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/item/weapon/extinguisher/mini, +/obj/item/device/radio{ + icon_state = "walkietalkieOLD"; + name = "emergency radio" + }, +/obj/item/weapon/towel{ + color = "#800080" + }, +/obj/item/weapon/towel{ + color = "#800080" + }, +/obj/item/weapon/storage/box/donkpockets, +/obj/item/weapon/storage/box/donkpockets, +/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/weapon/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake, +/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar, +/obj/item/weapon/reagent_containers/food/snacks/candy, +/obj/item/weapon/reagent_containers/food/snacks/candy, +/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, +/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, +/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, +/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/weapon/reagent_containers/food/snacks/chips, +/obj/item/weapon/reagent_containers/food/snacks/sosjerky, +/obj/item/weapon/reagent_containers/food/snacks/sosjerky, +/obj/item/weapon/reagent_containers/food/snacks/no_raisin, +/obj/item/weapon/reagent_containers/food/snacks/no_raisin, +/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie, +/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie, +/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/syndicake, +/obj/item/weapon/reagent_containers/food/snacks/unajerky, +/obj/item/weapon/storage/box/mixedglasses, +/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/lemonjuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/applejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up, +/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, +/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice, +/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater, +/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater, +/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, +/obj/item/weapon/reagent_containers/food/drinks/cans/gingerale, +/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle, +/obj/item/weapon/reagent_containers/food/drinks/ice, +/obj/item/weapon/reagent_containers/food/drinks/ice, +/obj/item/weapon/reagent_containers/food/drinks/tea, +/obj/item/weapon/reagent_containers/food/drinks/tea, +/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, +/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, +/obj/item/weapon/reagent_containers/food/drinks/h_chocolate, +/obj/item/toy/plushie/kitten, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"g" = ( +/obj/item/device/gps/computer, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"h" = ( +/obj/machinery/shower, +/obj/item/weapon/soap/deluxe, +/obj/structure/curtain, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"i" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"j" = ( +/obj/structure/sign/mining/survival{ + dir = 4 + }, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) +"k" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"l" = ( +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"m" = ( +/obj/structure/bed/pod, +/obj/item/weapon/bedsheet/hos, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"n" = ( +/obj/structure/window/reinforced/survival_pod{ + icon_state = "pwindow"; + dir = 1 + }, +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hop, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"o" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8; + icon_state = "pwindow" + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"p" = ( +/obj/structure/table/survival_pod, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/structure/sink/kitchen{ + icon_state = "sink_alt"; + dir = 4; + pixel_x = -13 + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"q" = ( +/obj/structure/tubes, +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"r" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#DDFFD3" + }, +/obj/structure/flora/pottedplant/stoutbush, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"s" = ( +/obj/structure/window/reinforced/survival_pod{ + icon_state = "pwindow"; + dir = 1 + }, +/obj/structure/bed/chair/comfy/black, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"t" = ( +/obj/machinery/door/window/survival_pod{ + icon_state = "windoor"; + dir = 1 + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"u" = ( +/obj/structure/window/reinforced/survival_pod{ + icon_state = "pwindow"; + dir = 1 + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"v" = ( +/obj/structure/window/reinforced/survival_pod{ + density = 0; + dir = 9; + icon_state = "pwindow" + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"w" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"x" = ( +/obj/machinery/light, +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"y" = ( +/obj/structure/table/steel, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"z" = ( +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"A" = ( +/obj/machinery/button/remote/airlock/survival_pod{ + dir = 10; + id = "shelter_gamma"; + pixel_y = -24 + }, +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/floor/carpet/sblucarpet, +/area/survivalpod) +"C" = ( +/obj/structure/sign/mining/survival, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) +"D" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/voidcraft/survival_pod{ + id_tag = "shelter_gamma" + }, +/turf/simulated/shuttle/floor/voidcraft, +/area/survivalpod) +"E" = ( +/obj/structure/sign/mining, +/turf/simulated/shuttle/wall/voidcraft/survival, +/area/survivalpod) + +(1,1,1) = {" +a +d +a +d +a +d +a +"} +(2,1,1) = {" +b +e +k +p +s +y +C +"} +(3,1,1) = {" +a +f +l +l +t +x +a +"} +(4,1,1) = {" +b +g +m +q +u +z +D +"} +(5,1,1) = {" +a +i +c +o +v +A +a +"} +(6,1,1) = {" +b +h +n +r +w +y +E +"} +(7,1,1) = {" +a +j +a +j +a +j +a +"} diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm index 5c30fad0dfb..11e6c44b2d0 100644 --- a/maps/tether/submaps/_tether_submaps.dm +++ b/maps/tether/submaps/_tether_submaps.dm @@ -37,12 +37,13 @@ name = "Underdark" flags = MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER base_turf = /turf/simulated/mineral/floor/virgo3b + z = Z_LEVEL_UNDERDARK /datum/map_template/tether_lateload/tether_underdark/on_map_loaded(z) . = ..() - seed_submaps(list(z), 100, /area/mine/unexplored/underdark, /datum/map_template/underdark) - new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, z, world.maxx, world.maxy) // Create the mining Z-level. - new /datum/random_map/noise/ore(null, 1, 1, z, 64, 64) // Create the mining ore distribution map. + seed_submaps(list(Z_LEVEL_UNDERDARK), 100, /area/mine/unexplored/underdark, /datum/map_template/underdark) + new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_UNDERDARK, world.maxx, world.maxy) // Create the mining Z-level. + new /datum/random_map/noise/ore(null, 1, 1, Z_LEVEL_UNDERDARK, 64, 64) // Create the mining ore distribution map. ////////////////////////////////////////////////////////////////////////////// /// Away Missions @@ -63,6 +64,7 @@ /datum/map_z_level/tether_lateload/away_beach name = "Away Mission - Desert Beach" + z = Z_LEVEL_BEACH /datum/map_template/tether_lateload/away_beach_cave name = "Desert Planet - Z2 Cave" @@ -70,8 +72,18 @@ mappath = 'beach/cave.dmm' associated_map_datum = /datum/map_z_level/tether_lateload/away_beach_cave +/datum/map_template/tether_lateload/away_beach_cave/on_map_loaded(z) + . = ..() + seed_submaps(list(Z_LEVEL_BEACH_CAVE), 50, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal) + seed_submaps(list(Z_LEVEL_BEACH_CAVE), 50, /area/tether_away/cave/unexplored/deep, /datum/map_template/surface/mountains/deep) + + // Now for the tunnels. + new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_BEACH_CAVE, world.maxx, world.maxy) + new /datum/random_map/noise/ore/beachmine(null, 1, 1, Z_LEVEL_BEACH_CAVE, 64, 64) + /datum/map_z_level/tether_lateload/away_beach_cave name = "Away Mission - Desert Cave" + z = Z_LEVEL_BEACH_CAVE /obj/effect/step_trigger/zlevel_fall/beach var/static/target_z @@ -86,6 +98,7 @@ /datum/map_z_level/tether_lateload/away_alienship name = "Away Mission - Alien Ship" + z = Z_LEVEL_ALIENSHIP #include "aerostat/_aerostat.dm" @@ -97,6 +110,7 @@ /datum/map_z_level/tether_lateload/away_aerostat name = "Away Mission - Aerostat" + z = Z_LEVEL_AEROSTAT /datum/map_template/tether_lateload/away_aerostat_surface name = "Remmi Aerostat - Z2 Surface" @@ -104,8 +118,15 @@ mappath = 'aerostat/surface.dmm' associated_map_datum = /datum/map_z_level/tether_lateload/away_aerostat_surface +/datum/map_template/tether_lateload/away_aerostat_surface/on_map_loaded(z) + . = ..() + seed_submaps(list(Z_LEVEL_AEROSTAT_SURFACE), 50, /area/tether_away/aerostat/surface/unexplored, /datum/map_template/virgo2) + new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, world.maxx, world.maxy) + new /datum/random_map/noise/ore/virgo2(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, 64, 64) + /datum/map_z_level/tether_lateload/away_aerostat_surface name = "Away Mission - Aerostat Surface" + z = Z_LEVEL_AEROSTAT_SURFACE ////////////////////////////////////////////////////////////////////////////////////// @@ -144,7 +165,7 @@ flags = MAP_LEVEL_SEALED /datum/map_z_level/tether_lateload/New(var/datum/map/map, mapZ) - if(mapZ) + if(mapZ && !z) z = mapZ return ..(map) diff --git a/maps/tether/submaps/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm index b66caa5630b..a41331fe2ff 100644 --- a/maps/tether/submaps/aerostat/_aerostat.dm +++ b/maps/tether/submaps/aerostat/_aerostat.dm @@ -49,9 +49,9 @@ destinations = list(/datum/shuttle_destination/excursion/virgo2orbit, /datum/shuttle_destination/excursion/aerostat) /obj/away_mission_init/aerostat/initialize() - seed_submaps(list(z), 50, /area/tether_away/aerostat/surface/unexplored, /datum/map_template/virgo2) - new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, z, world.maxx, world.maxy) - new /datum/random_map/noise/ore/virgo2(null, 1, 1, z, 64, 64) + /*seed_submaps(list(Z_LEVEL_AEROSTAT_SURFACE), 50, /area/tether_away/aerostat/surface/unexplored, /datum/map_template/virgo2) + new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, world.maxx, world.maxy) + new /datum/random_map/noise/ore/virgo2(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, 64, 64)*/ initialized = TRUE return INITIALIZE_HINT_QDEL diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm index f90c5b5c3ad..bd43f82dde8 100644 --- a/maps/tether/submaps/beach/_beach.dm +++ b/maps/tether/submaps/beach/_beach.dm @@ -74,12 +74,12 @@ //In our case, it initializes the ores and random submaps in the beach's cave, then deletes itself /obj/away_mission_init/beachcave/initialize() // Cave submaps are first. - seed_submaps(list(z), 50, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal) + /*seed_submaps(list(z), 50, /area/tether_away/cave/unexplored/normal, /datum/map_template/surface/mountains/normal) seed_submaps(list(z), 50, /area/tether_away/cave/unexplored/deep, /datum/map_template/surface/mountains/deep) // Now for the tunnels. - new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, z, world.maxx, world.maxy) - new /datum/random_map/noise/ore/beachmine(null, 1, 1, z, 64, 64) + new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_BEACH_CAVE, world.maxx, world.maxy) + new /datum/random_map/noise/ore/beachmine(null, 1, 1, Z_LEVEL_BEACH_CAVE, 64, 64)*/ initialized = TRUE return INITIALIZE_HINT_QDEL diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 2f3d16e25a4..b7c6a777495 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -13773,11 +13773,7 @@ "aGx" = ( /obj/structure/table/glass, /obj/item/weapon/storage/toolbox/emergency, -/obj/item/device/radio{ - frequency = 1487; - icon_state = "med_walkietalkie"; - name = "Medbay Emergency Radio Link" - }, +/obj/item/device/radio/emergency, /obj/machinery/recharger, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/first_aid_west) @@ -14750,14 +14746,7 @@ /area/engineering/atmos/processing) "aJj" = ( /obj/structure/table/glass, -/obj/item/device/radio{ - anchored = 1; - broadcasting = 0; - canhear_range = 1; - frequency = 1487; - icon = 'icons/obj/items.dmi'; - icon_state = "red_phone"; - listening = 1; +/obj/item/device/radio/phone/medbay{ name = "Medical Emergency Phone" }, /obj/machinery/atmospherics/unary/vent_pump/on{ diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index a4f35926d36..f95e5e4bf85 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -4381,6 +4381,7 @@ "jG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/human, +/obj/random/action_figure, /turf/simulated/floor/plating, /area/maintenance/lower/rnd) "jH" = ( @@ -4441,7 +4442,7 @@ "jP" = ( /obj/item/weapon/storage/fancy/cigar/havana, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/mimic/crate, +/obj/random/drinkbottle, /turf/simulated/floor/plating, /area/maintenance/lower/rnd) "jQ" = ( diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index f8d7b4cf9fe..ac19de75b03 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -21787,7 +21787,7 @@ icon_state = "1-8" }, /obj/effect/landmark/start{ - name = "Search and Rescue" + name = "Field Medic" }, /turf/simulated/floor/tiled, /area/tether/station/explorer_meeting) @@ -21851,7 +21851,7 @@ dir = 1 }, /obj/effect/landmark/start{ - name = "Search and Rescue" + name = "Field Medic" }, /turf/simulated/floor/tiled, /area/tether/station/explorer_meeting) @@ -21912,7 +21912,7 @@ dir = 4 }, /obj/effect/landmark/start{ - name = "Search and Rescue" + name = "Field Medic" }, /turf/simulated/floor/tiled, /area/tether/station/explorer_meeting) diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm index 95bba7abe94..c2928919a61 100644 --- a/maps/tether/tether-06-station2.dmm +++ b/maps/tether/tether-06-station2.dmm @@ -16384,7 +16384,7 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/landmark/start{ - name = "Search and Rescue" + name = "Field Medic" }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -16500,7 +16500,7 @@ }, /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/effect/landmark/start{ - name = "Search and Rescue" + name = "Field Medic" }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm index d911465a74a..f3de2446010 100644 --- a/maps/tether/tether-07-station3.dmm +++ b/maps/tether/tether-07-station3.dmm @@ -122,14 +122,6 @@ }, /turf/simulated/floor, /area/security/eva) -"an" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/security{ - name = "Security Restroom"; - req_one_access = list(1,38) - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "ao" = ( /turf/simulated/wall/r_wall, /area/security/armory/blue) @@ -167,20 +159,12 @@ /turf/simulated/floor/tiled, /area/security/briefing_room) "ar" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/structure/table/woodentable, +/obj/machinery/photocopier/faxmachine{ + department = "Head of Security" }, -/obj/machinery/door/airlock/security{ - name = "Security Restroom"; - req_one_access = list(1,38) - }, -/turf/simulated/floor/tiled, -/area/security/security_bathroom) +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "as" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/glass_security{ @@ -222,15 +206,16 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/door/airlock/glass_security{ - name = "Break Room"; - req_one_access = list(1,38) - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door/airlock/command{ + id_tag = "HoSdoor"; + name = "Head of Security"; + req_access = list(58) + }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "aw" = ( /obj/machinery/door/window/northright, /obj/effect/floor_decal/industrial/outline/yellow, @@ -353,6 +338,18 @@ }, /turf/simulated/floor/tiled, /area/security/range) +"aF" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/rack{ + dir = 1 + }, +/obj/random/maintenance/cargo, +/obj/random/maintenance/clean, +/obj/random/maintenance/engineering, +/turf/simulated/floor, +/area/maintenance/station/ai) "aG" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -1206,6 +1203,12 @@ maxcharge = 15000 }, /obj/machinery/light/small, +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'HIGH VOLTAGE'"; + icon_state = "shock"; + name = "HIGH VOLTAGE"; + pixel_y = -32 + }, /turf/simulated/floor, /area/maintenance/substation/security) "bU" = ( @@ -1470,16 +1473,6 @@ /obj/structure/closet/bombcloset/double, /turf/simulated/floor/tiled/dark, /area/security/armory/blue) -"cn" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/red/border{ - dir = 8 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled, -/area/security/hallwayaux) "co" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -1496,6 +1489,7 @@ }, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_security, /turf/simulated/floor/tiled, /area/security/hallwayaux) "cp" = ( @@ -1504,23 +1498,10 @@ }, /area/maintenance/cargo) "cq" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - d2 = 4; - icon_state = "0-4" - }, -/obj/structure/cable/green{ - d2 = 2; - icon_state = "0-2" - }, /obj/structure/grille, -/obj/structure/window/reinforced/polarized{ - dir = 10; - icon_state = "fwindow"; - id = "hos_office" - }, +/obj/structure/window/reinforced/full, /turf/simulated/floor, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "cr" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -1533,20 +1514,6 @@ }, /turf/simulated/floor/tiled, /area/security/hallwayaux) -"cs" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/polarized{ - dir = 10; - icon_state = "fwindow"; - id = "hos_office" - }, -/turf/simulated/floor, -/area/crew_quarters/heads/hos) "ct" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/regular{ @@ -1571,16 +1538,6 @@ "cv" = ( /turf/simulated/wall/r_wall, /area/security/range) -"cw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/engineering{ - name = "Security Substation"; - req_one_access = list(1,11,24) - }, -/turf/simulated/floor, -/area/maintenance/substation/security) "cx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -1606,14 +1563,13 @@ /turf/simulated/floor, /area/maintenance/station/ai) "cz" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, /obj/random/junk, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor, /area/maintenance/substation/security) "cA" = ( @@ -1757,33 +1713,21 @@ /turf/simulated/floor/tiled/dark, /area/security/warden) "cO" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 +/obj/structure/table/woodentable, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/machinery/button/remote/blast_door{ - id = "security_lockdown"; - name = "Brig Lockdown"; - pixel_x = -28; - pixel_y = -36; - req_access = list(2) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/obj/machinery/button/remote/airlock{ - id = "HoSdoor"; - name = "Office Door"; - pixel_x = -28; - pixel_y = -24 - }, -/obj/machinery/button/windowtint{ - id = "hos_office"; - pixel_x = -36; - pixel_y = -26; - req_access = list(58) - }, -/obj/effect/landmark/start{ - name = "Head of Security" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, +/obj/item/weapon/deck/cards, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "cP" = ( /turf/simulated/wall, /area/security/observation) @@ -1893,38 +1837,18 @@ /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "da" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/table/woodentable, +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) -"db" = ( -/obj/random/trash_pile, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) +/area/security/breakroom) "dc" = ( /turf/simulated/floor/plating, /area/maintenance/station/ai) "dd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) -"de" = ( -/obj/effect/floor_decal/rust, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) -"df" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'HIGH VOLTAGE'"; - icon_state = "shock"; - name = "HIGH VOLTAGE"; - pixel_y = 0 - }, -/turf/simulated/wall, -/area/maintenance/substation/security) +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) "dg" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -2006,44 +1930,36 @@ /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, /area/security/hallwayaux) -"dq" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green, -/obj/structure/grille, -/obj/structure/window/reinforced/polarized{ - dir = 10; - icon_state = "fwindow"; - id = "hos_office" +"ds" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 }, -/turf/simulated/floor, -/area/crew_quarters/heads/hos) -"dr" = ( -/obj/structure/disposalpipe/segment, /obj/structure/cable/green{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) -"ds" = ( -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/carpet, +/area/security/breakroom) "dt" = ( -/obj/machinery/alarm{ - dir = 8; - icon_state = "alarm0"; - pixel_x = 24 +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/carpet, +/area/security/breakroom) "du" = ( -/obj/structure/table/woodentable, -/obj/machinery/newscaster/security_unit{ - pixel_y = -32 +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/obj/machinery/disposal, +/turf/simulated/floor/wood, +/area/security/breakroom) "dv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/door/firedoor/glass, @@ -2055,19 +1971,14 @@ /obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_upper) -"dx" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, +"dy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) -"dy" = ( /obj/structure/cable{ - icon_state = "4-8" + d1 = 1; + d2 = 4; + icon_state = "1-4" }, -/obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_upper) "dz" = ( @@ -2079,6 +1990,10 @@ /area/security/security_equiptment_storage) "dA" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_upper) "dB" = ( @@ -2266,17 +2181,6 @@ }, /turf/simulated/floor/tiled, /area/security/hallwayaux) -"dN" = ( -/obj/structure/table/woodentable, -/obj/machinery/photocopier/faxmachine{ - department = "Head of Security" - }, -/obj/item/device/radio/intercom{ - dir = 4; - pixel_x = 24 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) "dO" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -2291,12 +2195,6 @@ "dP" = ( /turf/simulated/wall, /area/security/security_bathroom) -"dQ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "dR" = ( /turf/simulated/wall/r_wall, /area/security/breakroom) @@ -2510,29 +2408,23 @@ /turf/simulated/floor/tiled, /area/security/hallwayaux) "el" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/hologram/holopad, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/turf/simulated/floor/wood, +/area/security/breakroom) "em" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2543,28 +2435,12 @@ /turf/simulated/wall, /area/maintenance/station/ai) "en" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/folder/red_hos, -/obj/item/weapon/pen/multi, -/obj/item/device/radio/intercom/department/security{ - dir = 4; - icon_state = "secintercom"; - pixel_x = 24; - pixel_y = 0 +/obj/machinery/camera/network/security{ + c_tag = "SEC - Vault Exterior West"; + dir = 8 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) -"eo" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -24 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) +/area/security/breakroom) "ep" = ( /turf/simulated/wall, /area/security/security_lockerroom) @@ -2600,15 +2476,11 @@ /turf/simulated/floor, /area/maintenance/cargo) "et" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/turf/simulated/floor/wood, -/area/security/breakroom) +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) "eu" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -2748,51 +2620,32 @@ /obj/structure/window/reinforced/full, /turf/simulated/floor, /area/security/observation) -"eE" = ( -/obj/machinery/computer/secure_data{ - dir = 1 - }, -/turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) "eF" = ( -/obj/structure/table/woodentable, -/obj/item/clothing/accessory/permit/gun, -/obj/item/clothing/accessory/permit/gun, -/obj/item/clothing/accessory/permit/gun, -/obj/item/clothing/accessory/permit/gun, -/obj/item/clothing/accessory/permit/gun, -/obj/item/weapon/paper{ - desc = ""; - info = "In the event that more weapon permits are needed, please fax Central Command to request more. Please also include a reason for the request. Blank permits will be shipped to cargo for pickup. If long-term permits are desired, please contact your NanoTrasen Employee Representitive for more information."; - name = "note from CentCom about permits" - }, -/obj/item/weapon/storage/secure/safe{ - pixel_x = 38; - pixel_y = 0 - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) -"eG" = ( /obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/structure/table/woodentable, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"eH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/floor/carpet, +/turf/simulated/floor/wood, /area/security/breakroom) +"eG" = ( +/obj/structure/table/woodentable, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) +"eH" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/folder/red_hos, +/obj/item/weapon/stamp/hos, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) "eI" = ( /obj/machinery/door/firedoor/glass, /obj/structure/catwalk, @@ -2820,15 +2673,12 @@ }, /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) -"eL" = ( -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "eM" = ( -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/silver, -/obj/item/weapon/bone/skull, -/mob/living/simple_animal/hostile/mimic/crate, -/turf/simulated/mineral/floor/cave, +/obj/structure/railing{ + dir = 4 + }, +/obj/random/junk, +/turf/simulated/floor, /area/maintenance/station/ai) "eN" = ( /obj/structure/cable{ @@ -2964,17 +2814,11 @@ /turf/simulated/floor, /area/security/briefing_room) "eY" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "east bump"; - pixel_x = 28 - }, -/obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "eZ" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -2987,32 +2831,14 @@ /obj/structure/table/reinforced, /turf/simulated/floor/tiled, /area/security/briefing_room) -"fa" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/security/breakroom) "fb" = ( -/obj/effect/floor_decal/rust, -/obj/structure/railing{ - dir = 4 +/obj/machinery/light_switch{ + dir = 4; + icon_state = "light1"; + pixel_x = -24 }, -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 - }, -/obj/random/maintenance/security, -/obj/random/maintenance/security, -/obj/random/maintenance/clean, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) "fc" = ( /obj/structure/catwalk, /turf/simulated/floor, @@ -3054,23 +2880,23 @@ /turf/simulated/floor/tiled, /area/security/hallway) "ff" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "fg" = ( /obj/machinery/alarm{ dir = 1; @@ -3231,13 +3057,15 @@ /turf/simulated/floor, /area/maintenance/station/sec_upper) "fr" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -24 +/obj/machinery/photocopier, +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28 }, +/obj/structure/cable/green, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "fs" = ( /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled, @@ -3391,11 +3219,19 @@ /turf/simulated/open, /area/maintenance/station/ai) "fG" = ( -/obj/structure/railing{ - dir = 4 +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 10 }, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/machinery/shower{ + icon_state = "shower"; + dir = 1 + }, +/obj/structure/curtain/open/shower/security, +/turf/simulated/floor/tiled, +/area/security/security_bathroom) "fH" = ( /turf/simulated/wall, /area/security/detectives_office) @@ -3434,6 +3270,12 @@ /obj/structure/table/reinforced, /obj/machinery/computer/med_data/laptop, /obj/machinery/camera/network/security, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "fK" = ( @@ -4324,6 +4166,16 @@ "hr" = ( /turf/simulated/floor/tiled, /area/security/eva) +"hs" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/random/maintenance/research, +/obj/random/maintenance/clean, +/obj/random/cigarettes, +/turf/simulated/floor, +/area/maintenance/station/ai) "hu" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/regular{ @@ -4355,6 +4207,10 @@ }, /turf/simulated/floor/tiled, /area/security/eva) +"hx" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) "hy" = ( /turf/simulated/mineral/floor/cave, /area/maintenance/station/ai) @@ -4916,10 +4772,6 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, /obj/structure/cable/green{ d1 = 1; d2 = 8; @@ -5647,60 +5499,13 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/security/hallwayaux) -"jm" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) "jn" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/obj/machinery/newscaster/security_unit{ + pixel_y = 32 }, -/obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/device/taperecorder{ - pixel_y = 0 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/turf/simulated/floor/wood, +/area/security/breakroom) "jo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/structure/table/woodentable, -/obj/item/device/radio/off, -/obj/item/device/megaphone, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/machinery/light{ dir = 1 }, @@ -5711,19 +5516,13 @@ pixel_y = 26 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "jp" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/machinery/photocopier, -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" +/obj/machinery/alarm{ + pixel_y = 22 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "jq" = ( /obj/machinery/space_heater, /turf/simulated/floor, @@ -5856,13 +5655,13 @@ /turf/simulated/floor/tiled, /area/security/hallwayaux) "jB" = ( -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/obj/machinery/hologram/holopad, +/turf/simulated/floor/carpet, +/area/security/breakroom) "jC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/carpet, +/area/security/breakroom) "jD" = ( /obj/random/junk, /turf/simulated/mineral/floor/cave, @@ -5998,29 +5797,10 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "jN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table/woodentable, -/obj/machinery/computer/skills{ - icon_state = "laptop"; - dir = 4 - }, -/obj/item/clothing/accessory/permit/gun{ - desc = "An example of a card indicating that the owner is allowed to carry a firearm. There's a note saying to fax CentCom if you want to order more blank permits."; - name = "sample weapon permit"; - owner = 1 - }, -/obj/item/weapon/paper{ - desc = ""; - info = "The Chief of Security at CentCom is debating a new policy. It's not official yet, and probably won't be since it's hard to enforce, but I suggest following it anyway. That policy is, if a security officer claims they need more than two extra magazines (or batteries) to go on routine patrols, fire them. If they cannot subdue a single suspect using all that ammo, they are not competent as Security.\[br]-Jeremiah Acacius"; - name = "note to the Head of Security" - }, +/obj/item/weapon/storage/box/donut, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) -"jO" = ( -/obj/machinery/computer/security, -/turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "jP" = ( /obj/structure/table/rack{ dir = 4 @@ -6094,56 +5874,58 @@ /turf/simulated/floor/tiled, /area/security/hallwayaux) "jV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/door/airlock/glass_security{ + name = "Break Room"; + req_one_access = list(1,38) }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/firedoor/glass, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/machinery/door/airlock/command{ - id_tag = "HoSdoor"; - name = "Head of Security"; - req_access = list(58) - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) -"jW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/turf/simulated/floor/wood, +/area/security/breakroom) +"jW" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/bed/chair{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "jX" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, /obj/structure/table/woodentable, -/obj/item/weapon/stamp/hos, -/obj/item/device/flashlight/lamp/green{ - dir = 2; - pixel_x = -4; - pixel_y = 12 +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "jY" = ( /obj/random/trash_pile, /turf/simulated/mineral/floor/cave, @@ -6225,18 +6007,9 @@ /turf/simulated/wall/r_wall, /area/security/armory/blue) "kh" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -28; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/wood, +/area/security/breakroom) "ki" = ( /obj/structure/closet/crate, /obj/random/maintenance/clean, @@ -6318,37 +6091,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/security/hallwayaux) -"ks" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) -"kt" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) -"ku" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) "kv" = ( /obj/structure/cable/green{ d1 = 4; @@ -6470,49 +6212,23 @@ /turf/simulated/floor/tiled, /area/security/observation) "kF" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -24 }, -/obj/structure/table/woodentable, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Head of Security's Desk"; - departmentType = 5; - name = "Head of Security RC"; - pixel_x = 0; - pixel_y = -32 - }, -/obj/machinery/camera/network/security{ - dir = 1 - }, -/turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/hos) +/turf/simulated/floor/wood, +/area/security/breakroom) "kG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/structure/closet/secure_closet/hos2, +/obj/structure/table/woodentable, +/obj/machinery/chemical_dispenser/bar_soft/full, /obj/machinery/light, -/obj/machinery/keycard_auth{ - pixel_y = -28 - }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "kH" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/closet/secure_closet/hos, -/obj/item/clothing/suit/space/void/security/fluff/hos, -/obj/item/clothing/head/helmet/space/void/security/fluff/hos, +/obj/structure/table/woodentable, +/obj/item/weapon/storage/box/glasses/square, /turf/simulated/floor/wood, -/area/crew_quarters/heads/hos) +/area/security/breakroom) "kI" = ( /obj/structure/bookcase, /obj/item/weapon/book/manual/security_space_law, @@ -6520,20 +6236,6 @@ /obj/item/weapon/book/manual/command_guide, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) -"kJ" = ( -/obj/effect/floor_decal/steeldecal/steel_decals5, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/machinery/shower{ - pixel_y = 16 - }, -/obj/structure/curtain/open/shower/security, -/turf/simulated/floor/tiled, -/area/security/security_bathroom) "kK" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -6560,6 +6262,12 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_upper) "kN" = ( @@ -6629,6 +6337,10 @@ icon_state = "camera"; dir = 8 }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, /turf/simulated/floor/tiled, /area/security/hallwayaux) "kQ" = ( @@ -6674,26 +6386,12 @@ }, /turf/simulated/floor, /area/maintenance/station/ai) -"kV" = ( -/obj/machinery/recharge_station, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "kW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled/white, /area/security/security_bathroom) -"kX" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "kY" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -6765,8 +6463,10 @@ d2 = 2; icon_state = "1-2" }, -/obj/machinery/door/airlock/glass_security, /obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/glass_security{ + req_one_access = list(1,38) + }, /turf/simulated/floor/tiled, /area/security/hallwayaux) "le" = ( @@ -6836,21 +6536,6 @@ }, /turf/simulated/floor/tiled, /area/security/briefing_room) -"lj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 - }, -/obj/random/maintenance, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) "lk" = ( /obj/effect/floor_decal/techfloor{ dir = 8 @@ -6928,34 +6613,6 @@ }, /turf/simulated/floor, /area/maintenance/station/ai) -"lu" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/undies_wardrobe, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) -"lv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) -"lw" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/alarm{ - dir = 8; - icon_state = "alarm0"; - pixel_x = 24 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "lx" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/airlock/security{ @@ -7125,11 +6782,9 @@ /turf/simulated/floor/tiled, /area/security/briefing_room) "lL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 8 - }, -/obj/random/trash_pile, +/obj/structure/catwalk, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor, /area/maintenance/station/sec_upper) "lM" = ( @@ -7251,37 +6906,6 @@ "lY" = ( /turf/space, /area/shuttle/antag_space/north) -"lZ" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) -"ma" = ( -/obj/machinery/power/apc{ - dir = 2; - name = "south bump"; - pixel_y = -28 - }, -/obj/structure/cable/green{ - icon_state = "0-4" - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) -"mb" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/simulated/floor/tiled/white, -/area/security/security_bathroom) "mc" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -7573,9 +7197,11 @@ /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "my" = ( -/obj/structure/sign/warning/secure_area, -/turf/simulated/wall/r_wall, -/area/security/security_bathroom) +/obj/structure/closet/secure_closet/hos, +/obj/item/clothing/suit/space/void/security/fluff/hos, +/obj/item/clothing/head/helmet/space/void/security/fluff/hos, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "mz" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -7777,12 +7403,6 @@ /obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_upper) -"mS" = ( -/obj/structure/catwalk, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/maintenance/common, -/turf/simulated/floor, -/area/maintenance/cargo) "mT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, @@ -7849,32 +7469,6 @@ }, /turf/simulated/floor/wood, /area/security/breakroom) -"nf" = ( -/obj/machinery/camera/network/security, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, -/turf/simulated/floor/wood, -/area/security/breakroom) -"ng" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/cable/green{ - d2 = 2; - icon_state = "0-2" - }, -/turf/simulated/floor/wood, -/area/security/breakroom) -"nh" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/security/breakroom) "ni" = ( /obj/structure/bookcase, /obj/item/weapon/book/manual/security_space_law, @@ -8123,45 +7717,85 @@ /turf/simulated/floor, /area/maintenance/station/ai) "nD" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - d2 = 2; - icon_state = "0-2" +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; +/obj/machinery/newscaster/security_unit{ + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"nE" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/paper{ + desc = ""; + info = "The Chief of Security at CentCom is debating a new policy. It's not official yet, and probably won't be since it's hard to enforce, but I suggest following it anyway. That policy is, if a security officer claims they need more than two extra magazines (or batteries) to go on routine patrols, fire them. If they cannot subdue a single suspect using all that ammo, they are not competent as Security.\[br]-Jeremiah Acacius"; + name = "note to the Head of Security" + }, +/obj/item/clothing/accessory/permit/gun{ + desc = "An example of a card indicating that the owner is allowed to carry a firearm. There's a note saying to fax CentCom if you want to order more blank permits."; + name = "sample weapon permit"; + owner = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weapon/pen/multi, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) +"nF" = ( +/obj/structure/bed/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/button/windowtint{ + id = "hos_office"; + pixel_x = -36; + pixel_y = -26; + req_access = list(58) + }, +/obj/machinery/button/remote/airlock{ + id = "HoSdoor"; + name = "Office Door"; + pixel_x = -28; + pixel_y = -24 + }, +/obj/machinery/button/remote/blast_door{ id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 + name = "Brig Lockdown"; + pixel_x = -28; + pixel_y = -36; + req_access = list(2) }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ +/obj/effect/landmark/start{ + name = "Head of Security" + }, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) +"nG" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/turf/simulated/floor, -/area/security/breakroom) -"nE" = ( -/obj/structure/bed/chair, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"nF" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/item/device/radio/intercom/department/security{ + dir = 4; + icon_state = "secintercom"; + pixel_x = 24; + pixel_y = 0 + }, +/obj/machinery/camera/network/security{ + icon_state = "camera"; + dir = 8 }, -/obj/structure/bed/chair, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"nG" = ( -/obj/structure/table/steel, -/obj/machinery/chemical_dispenser/bar_soft/full, -/obj/item/weapon/storage/box/glasses/square, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "nH" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -8341,59 +7975,39 @@ /turf/simulated/floor, /area/maintenance/station/ai) "nW" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green{ - d2 = 2; - icon_state = "0-2" +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -26 }, -/obj/structure/cable/green, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ +/obj/machinery/light{ + icon_state = "tube1"; dir = 8 }, -/turf/simulated/floor, -/area/security/breakroom) +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "nX" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"nY" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"nZ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/wood, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) +"nY" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, /area/security/breakroom) "oa" = ( -/obj/structure/table/steel, -/obj/machinery/microwave, -/obj/machinery/alarm{ - dir = 8; - icon_state = "alarm0"; +/obj/item/device/radio/intercom{ + dir = 4; pixel_x = 24 }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "ob" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -8575,10 +8189,6 @@ /obj/random/junk, /turf/simulated/floor, /area/maintenance/cargo) -"oq" = ( -/obj/random/obstruction, -/turf/simulated/floor, -/area/maintenance/station/ai) "or" = ( /obj/item/weapon/storage/laundry_basket, /turf/simulated/floor, @@ -8597,44 +8207,25 @@ /obj/structure/grille, /turf/space, /area/space) -"ou" = ( -/obj/structure/table/woodentable, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/carpet, -/area/security/breakroom) "ov" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/structure/bed/chair/office/dark{ + dir = 1 }, -/obj/structure/table/woodentable, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/item/weapon/deck/cards, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "ow" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/bed/chair{ - dir = 8 - }, +/obj/machinery/hologram/holopad, /turf/simulated/floor/carpet, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "ox" = ( -/obj/structure/table/steel, -/obj/item/weapon/storage/box/donkpockets, /obj/machinery/light_switch{ dir = 8; - pixel_x = 24 + pixel_x = 28 }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "oy" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8906,72 +8497,24 @@ /turf/simulated/floor, /area/maintenance/station/ai) "oW" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/cable/green, +/obj/structure/table/woodentable, /obj/structure/cable/green{ - icon_state = "0-4" + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor, -/area/security/breakroom) +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "oX" = ( /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"oY" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"oZ" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/green{ - d1 = 1; + d1 = 2; d2 = 4; - icon_state = "1-4" - }, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/floor/carpet, -/area/security/breakroom) -"pa" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" + icon_state = "2-4" }, /obj/structure/cable/green{ d1 = 1; @@ -8979,7 +8522,45 @@ icon_state = "1-4" }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) +"oZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "pb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9384,21 +8965,21 @@ /obj/random/maintenance/medical, /turf/simulated/floor, /area/maintenance/station/ai) -"pB" = ( -/obj/machinery/light, -/turf/simulated/floor/wood, -/area/security/breakroom) "pC" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/simulated/floor/wood, -/area/security/breakroom) +/area/crew_quarters/heads/hos) "pD" = ( /obj/machinery/door/firedoor/glass, /obj/structure/grille, -/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, /turf/simulated/floor, /area/security/breakroom) "pE" = ( @@ -9842,9 +9423,6 @@ }, /obj/structure/table/reinforced, /obj/machinery/microscope, -/obj/machinery/alarm{ - pixel_y = 22 - }, /turf/simulated/floor/tiled/white, /area/security/forensics) "qy" = ( @@ -9855,12 +9433,6 @@ dir = 1 }, /obj/machinery/dnaforensics, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 0; - pixel_y = 26 - }, /turf/simulated/floor/tiled/white, /area/security/forensics) "qz" = ( @@ -9880,12 +9452,6 @@ d2 = 2; icon_state = "0-2" }, -/obj/machinery/power/apc{ - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, /obj/structure/closet{ name = "Evidence Closet" }, @@ -9923,12 +9489,6 @@ dir = 5 }, /obj/structure/disposalpipe/trunk, -/obj/machinery/light_switch{ - dir = 2; - name = "light switch "; - pixel_x = 10; - pixel_y = 36 - }, /turf/simulated/floor/tiled/white, /area/security/forensics) "qC" = ( @@ -10302,6 +9862,11 @@ icon_state = "4-8" }, /obj/machinery/door/window/eastleft, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "ri" = ( @@ -10310,11 +9875,6 @@ d2 = 8; icon_state = "4-8" }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, /obj/structure/cable/green{ d1 = 2; d2 = 4; @@ -10370,6 +9930,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "rm" = ( @@ -10384,6 +9947,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/lino, /area/security/detectives_office) "rn" = ( @@ -10398,6 +9964,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/lino, /area/security/detectives_office) "ro" = ( @@ -10412,6 +9981,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/lino, /area/security/detectives_office) "rp" = ( @@ -10431,6 +10003,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/lino, /area/security/detectives_office) "rq" = ( @@ -10445,6 +10020,9 @@ name = "Detective"; req_access = list(4) }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, /area/security/detectives_office) "rr" = ( @@ -10984,6 +10562,12 @@ icon_state = "tube1"; dir = 8 }, +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "sb" = ( @@ -11086,10 +10670,9 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/alarm{ +/obj/machinery/light_switch{ dir = 8; - icon_state = "alarm0"; - pixel_x = 24 + pixel_x = 28 }, /turf/simulated/floor/tiled/white, /area/security/forensics) @@ -12185,6 +11768,11 @@ dir = 6 }, /obj/structure/filingcabinet, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -24 + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "tK" = ( @@ -12205,14 +11793,24 @@ }, /obj/structure/cable/green{ d1 = 1; - d2 = 2; - icon_state = "1-2" + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/alarm{ + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 }, /turf/simulated/floor/tiled/white, /area/security/forensics) "tL" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/red/border, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, /turf/simulated/floor/tiled/white, /area/security/forensics) "tM" = ( @@ -12802,16 +12400,13 @@ name = "Security Blast Doors"; opacity = 0 }, -/obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" - }, /obj/structure/cable/green{ icon_state = "0-4" }, /obj/structure/grille, /obj/structure/window/reinforced/full, /obj/structure/window/reinforced, +/obj/structure/cable/green, /turf/simulated/floor, /area/security/forensics) "uI" = ( @@ -15377,6 +14972,16 @@ /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 10 }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, /turf/simulated/floor/tiled, /area/hallway/station/upper) "yF" = ( @@ -16017,6 +15622,12 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, /turf/simulated/floor/tiled, /area/hallway/station/upper) "zz" = ( @@ -27192,31 +26803,10 @@ }, /turf/simulated/floor/tiled, /area/security/hallway) -"QX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) "QY" = ( /obj/structure/railing{ dir = 8 }, -/obj/structure/railing{ - icon_state = "railing0"; - dir = 1 - }, -/turf/simulated/floor, -/area/maintenance/station/sec_upper) -"QZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - icon_state = "railing0"; - dir = 1 - }, /turf/simulated/floor, /area/maintenance/station/sec_upper) "Ra" = ( @@ -27333,13 +26923,40 @@ /obj/machinery/meter, /turf/simulated/floor/tiled, /area/security/eva) +"Rn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/station/upper) +"Rq" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp/green{ + dir = 2; + pixel_x = -4; + pixel_y = 12 + }, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) "Rs" = ( /obj/machinery/button/windowtint{ id = "sec_processing"; pixel_x = 26; pixel_y = 6; - req_access = list(1); - + req_access = list(1) }, /turf/simulated/floor/tiled, /area/security/security_processing) @@ -27352,6 +26969,18 @@ }, /turf/simulated/floor/tiled/dark, /area/security/warden) +"RN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 4 + }, +/obj/random/trash_pile, +/turf/simulated/floor, +/area/maintenance/cargo) +"RT" = ( +/obj/structure/toilet, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) "Sa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -27359,6 +26988,24 @@ }, /turf/simulated/floor/tiled, /area/security/eva) +"Sc" = ( +/obj/structure/table/woodentable, +/obj/item/device/megaphone, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"Sz" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "SD" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -27366,9 +27013,99 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) -"SW" = ( -/turf/simulated/mineral/vacuum, -/area/space) +"SP" = ( +/obj/structure/table/woodentable, +/obj/item/device/taperecorder{ + pixel_y = 0 + }, +/obj/item/weapon/reagent_containers/food/drinks/flask/barflask{ + pixel_x = -4; + pixel_y = 8 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"ST" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -26 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"SX" = ( +/obj/machinery/door/airlock/security{ + name = "Security Restroom"; + req_one_access = list(1,38) + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"Tb" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/structure/cable/green, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/simulated/floor, +/area/security/forensics) +"Tc" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor, +/area/maintenance/cargo) +"Td" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/security/breakroom) +"Th" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/security/breakroom) +"Tp" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/sec_upper) +"TD" = ( +/obj/structure/table/woodentable, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/computer/skills{ + icon_state = "laptop"; + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) "TL" = ( /obj/machinery/ai_slipper{ icon_state = "motion0" @@ -27378,6 +27115,21 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) +"TO" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/storage/secure/safe{ + pixel_x = -30 + }, +/obj/item/clothing/accessory/permit/gun, +/obj/item/clothing/accessory/permit/gun, +/obj/item/clothing/accessory/permit/gun, +/obj/item/weapon/paper{ + desc = ""; + info = "In the event that more weapon permits are needed, please fax Central Command to request more. Please also include a reason for the request. Blank permits will be shipped to cargo for pickup. If long-term permits are desired, please contact your NanoTrasen Employee Representitive for more information."; + name = "note from CentCom about permits" + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "TP" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -27385,15 +27137,39 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) +"TQ" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/storage/box/donkpockets, +/turf/simulated/floor/wood, +/area/security/breakroom) +"TX" = ( +/obj/machinery/alarm{ + dir = 8; + icon_state = "alarm0"; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"Ub" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) "Un" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/machinery/hologram/holopad, -/turf/simulated/floor/carpet, -/area/security/breakroom) +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "Up" = ( /obj/machinery/door/firedoor/glass, /obj/machinery/door/blast/regular{ @@ -27416,6 +27192,19 @@ }, /turf/simulated/floor, /area/security/eva) +"Uq" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/wood, +/area/security/breakroom) "Ur" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -27426,6 +27215,192 @@ }, /turf/simulated/floor/tiled, /area/security/eva) +"Uu" = ( +/obj/machinery/computer/security, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"Uw" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/table/standard, +/obj/random/soap, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"Uy" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Security's Desk"; + departmentType = 5; + name = "Head of Security RC"; + pixel_x = 32; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"UA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor, +/area/security/forensics) +"UC" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/red/border{ + dir = 8 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_security{ + req_one_access = list(1,38) + }, +/turf/simulated/floor/tiled, +/area/security/hallwayaux) +"UH" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "security_lockdown"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor, +/area/crew_quarters/heads/hos) +"UM" = ( +/turf/simulated/wall/r_wall, +/area/maintenance/cargo) +"UO" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/cable/green, +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "security_lockdown"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor, +/area/crew_quarters/heads/hos) +"US" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"UT" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"UV" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/security/security_bathroom) +"Vb" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/cable/green, +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "security_lockdown"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor, +/area/crew_quarters/heads/hos) +"Ve" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) +"Vk" = ( +/obj/effect/floor_decal/rust, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/random/maintenance/security, +/obj/random/maintenance/security, +/obj/random/maintenance/clean, +/turf/simulated/floor, +/area/maintenance/cargo) "Vn" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -27438,6 +27413,14 @@ }, /turf/simulated/floor/tiled, /area/security/lobby) +"Vp" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/carpet, +/area/crew_quarters/heads/hos) "Vr" = ( /obj/effect/floor_decal/techfloor{ dir = 1 @@ -27449,6 +27432,40 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) +"VB" = ( +/obj/machinery/washing_machine, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"VJ" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"VK" = ( +/obj/structure/table/woodentable, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/keycard_auth{ + pixel_y = 32 + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"VL" = ( +/obj/structure/grille, +/obj/structure/lattice, +/turf/space, +/area/space) "VM" = ( /turf/simulated/open, /area/ai/foyer) @@ -27461,10 +27478,63 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) +"Wc" = ( +/obj/machinery/door/airlock/engineering{ + name = "Security Substation"; + req_one_access = list(1,11,24) + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/turf/space, +/area/maintenance/substation/security) +"Wj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/polarized{ + dir = 10; + icon_state = "fwindow"; + id = "hos_office" + }, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor, +/area/security/forensics) +"WB" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/obj/structure/mirror{ + pixel_x = 30 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"WX" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/security/breakroom) "WY" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/dark, /area/security/evidence_storage) +"Xe" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/security/breakroom) "XG" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled, @@ -27478,10 +27548,126 @@ }, /turf/simulated/floor/bluegrid, /area/ai/foyer) +"XP" = ( +/obj/effect/floor_decal/rust, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/cargo) +"XT" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/upper) +"Yu" = ( +/obj/structure/closet/secure_closet/hos2, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"YF" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/security/breakroom) +"YH" = ( +/obj/structure/table/woodentable, +/obj/machinery/microwave, +/turf/simulated/floor/wood, +/area/security/breakroom) +"YT" = ( +/turf/simulated/wall, +/area/security/breakroom) +"YV" = ( +/obj/machinery/computer/secure_data, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) +"YW" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/secure_area{ + pixel_x = 32 + }, +/turf/space, +/area/space) +"Ze" = ( +/obj/machinery/door/airlock/security{ + name = "Security Restroom"; + req_one_access = list(1,38) + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/security/security_bathroom) +"ZM" = ( +/obj/structure/table/woodentable, +/obj/item/device/radio/off, +/turf/simulated/floor/wood, +/area/crew_quarters/heads/hos) "ZO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/security/eva) +"ZP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor, +/area/maintenance/station/sec_upper) +"ZT" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/random/trash_pile, +/turf/simulated/floor, +/area/maintenance/cargo) +"ZY" = ( +/turf/simulated/wall/r_wall, +/area/security/security_lockerroom) (1,1,1) = {" aa @@ -30941,8 +31127,8 @@ aa aa aa aa -aa -aa +VL +ae ad ad ad @@ -31083,7 +31269,7 @@ aa aa aa aa -aa +VL aa ae aa @@ -31225,9 +31411,8 @@ aa aa aa aa -aa -aa -ae +VL +YW ae ae ae @@ -31235,6 +31420,7 @@ ae ae ae ae +YW ae ae ae @@ -31364,18 +31550,18 @@ aa aa aa aa +aa +aa ab ab -ab -aa -aa -ae -aa -aa -ae -aa -aa -aa +je +UH +UO +je +je +je +UH +Vb qc qv rd @@ -31505,20 +31691,20 @@ aa aa aa aa -aa ab -dS -dS -dS -dS +ab +ab +ab +ab +je my -dR +kv nD nW -nW +TO oW -dR -qc +ZM +UA qw re sa @@ -31649,24 +31835,24 @@ ab ab ab ab -dS -kV -dP -lZ -dP -ne -ey +ab +ab +ab +je +Yu +Vp +Ve nX nX oX -eJ -qd +Sc +Tb qx rf sb sM tI -uH +uI vs ae aa @@ -31790,25 +31976,25 @@ ab ab ab ab -dS -dS -an -dP -an -dP -nf +ab +ab +ab +ab +je +Uu +jM nE -nY -ou -oY -eJ -qd +Rq +jM +kv +SP +Wj qy rg sc sN gc -uI +qc vs vs vs @@ -31932,19 +32118,19 @@ ab ab ab ab -dS -kJ -eL -lu -eL -dP -ng +ab +ab +ab +ab +je +VK +jM nF eG ov oZ fr -qd +qc fJ rh wS @@ -32074,25 +32260,25 @@ ao ao ao ao -dS -kJ -eL -dQ -ma -dP -nh -ey +ab +ab +ab +ab +je +YV +jM +TD eH ow Un -pB -qd +cZ +UA qz ri sd sP tK -uG +qc vt vt vt @@ -32216,19 +32402,19 @@ ao ao ao ao -dS -kJ -kW -lv -mb +ab +ab +ab +ab +je ar +jM et -et -nZ -fa +jM +jM pa -eJ -qd +Sz +Tb qA rj se @@ -32358,19 +32544,19 @@ jR ju ju ao -dS -kJ -kX -lw -eo -dP -ni +ab +ab +ab +ab +je +kI +Uy nG oa ox ff pC -qd +Wj qB rk sf @@ -32501,15 +32687,15 @@ ju ju ko ko -eT -eT -eT -ep -ep -ep -ep -ep -ep +ko +ko +ko +ZY +ZY +ZY +ZY +ZY +ZY av pD qd @@ -35475,7 +35661,7 @@ cv cv iC bP -cn +lc cX jz ik @@ -35484,7 +35670,7 @@ cM kq cM cM -lc +UC lE lE mK @@ -35606,7 +35792,7 @@ Rg Rg Rg gg -SW +ab ab ab aU @@ -35748,7 +35934,7 @@ Rh Ri Rj gg -SW +ab ab ab aU @@ -35759,15 +35945,15 @@ aT in bt iR -je +YT +cq +cq cq -dq -je jV -je cq -dq -je +cq +cq +dR le eX aq @@ -35890,7 +36076,7 @@ ae aa ed gg -SW +ab ab ab aU @@ -35901,15 +36087,15 @@ hr io iE iR -cq -jm -dr -dr +YT +ne +eJ +eJ el kh -ks +kh du -je +YT dO lG ml @@ -36043,15 +36229,15 @@ aV cb iF iR -cs +YT jn jB -jM +Th jW -jM -kt +ey +eJ kF -je +YT lf lH mm @@ -36185,15 +36371,15 @@ aW aU iG iS -je +YT jo jC jN jX da -ku +eJ kG -je +YT lg lH mn @@ -36327,15 +36513,15 @@ aX in bu iR -cq +YT jp -ds -jO +jC +nY cO -eE -kv +da +eJ kH -je +YT lh lH lH @@ -36469,15 +36655,15 @@ aY in bu iR -cs -cZ +YT +Uq dt ds -ds -ds +YF +Td eY -kI -je +TQ +YT li lH mm @@ -36611,15 +36797,15 @@ Rl aU iH iT -je -je -je -dN +YT +ni +WX +eJ en eF -je -je -je +Xe +YH +YT eZ lI mn @@ -36753,15 +36939,15 @@ aU aU iI iU -iU -db -je -je -je -je -je -db -af +dS +dP +dP +dP +dP +Ze +dP +dP +dP le lJ mo @@ -36895,14 +37081,14 @@ bm bz bw cl -bm -jq -jq -qU -qU -aI +dS +RT +SX +ST +VJ +UT fb -fq +UV fG le lK @@ -36927,8 +37113,8 @@ tn sp yE zy -As -Bz +XT +Rn Cn Dr DZ @@ -37037,15 +37223,15 @@ bm bA bW bT -df -iq -dw -dw -dw -eI -fc -fc -dw +dS +dP +dP +hx +kW +US +Ub +UV +fG af af af @@ -37179,18 +37365,18 @@ bm bB by cz -cw +dS dd -dx -aI -aI -aI -aI -dA -dw +SX +TX +WB +VB +Uw +UV +fG +af fc fc -eI fc fc dw @@ -37320,20 +37506,20 @@ hQ bm bm bm -bm -bm -iq -dy -aI -ab -ab -aI -dA -QX -lj +Wc +af +af +af +af +af +af +UM +UM +UM +af lL aI -mR +aI QY Ra fc @@ -37460,27 +37646,27 @@ gZ ha hw hZ -dA -iq +dw +fc dA kM -de -dy +jq +jq +qU +qU aI -ab -ab +Vk +RN +ZT aI +XP +Tc +iV aI aI aI aI aI -mR -QZ -aI -aI -aI -aI aI aI aI @@ -37605,20 +37791,19 @@ bc pS eW pN -iq -iq +ZP +Tp dy -aI -ab -ab -ab -ab -ab -ab -ab -iV -mS -iV +dw +dw +eI +nx +nx +nx +nx +nx +nx +Tc iV ab ab @@ -37627,6 +37812,7 @@ ab ab ab ab +ab sq tq ul @@ -37751,15 +37937,14 @@ aI aI dB aI -ab -ab -ab -ab -ab -ab -ab +aI +aI iV -mT +iV +iV +iV +iV +nx nx iV ab @@ -37769,6 +37954,7 @@ ab ab ab ab +ab sq tr um @@ -37899,7 +38085,6 @@ ab ab ab ab -ab iV es mT @@ -37911,6 +38096,7 @@ ab ab ab ab +ab sq fZ um @@ -38042,7 +38228,6 @@ ab ab iV iV -iV mU mT iV @@ -38053,6 +38238,7 @@ ab ab ab ab +ab sq ts um @@ -38182,7 +38368,6 @@ iV iV iV iV -iV lM mq mV @@ -38196,6 +38381,7 @@ iV iV iV iV +iV sq un va @@ -39323,8 +39509,8 @@ lQ ms mZ fP -gJ -gJ +ab +ab iV px pt @@ -39465,8 +39651,8 @@ TL VQ na fP -hy -hy +ab +ab iV py pY @@ -39607,8 +39793,8 @@ TP VM VM fP -hy -eM +ab +ab iV iV iV @@ -39749,7 +39935,7 @@ lR VM VM fP -hy +ab gJ gJ gJ @@ -39891,11 +40077,11 @@ fP fP fP fP -hy -oq -cy -cy -cy +ab +gJ +aF +eM +hs gJ qr rO diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm index d541ff126b6..913fc4b1966 100644 --- a/maps/tether/tether-09-solars.dmm +++ b/maps/tether/tether-09-solars.dmm @@ -1149,7 +1149,6 @@ /area/rnd/outpost/eva) "cB" = ( /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /obj/effect/floor_decal/steeldecal/steel_decals5, @@ -1330,7 +1329,6 @@ /area/rnd/outpost/testing) "cT" = ( /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1879,7 +1877,6 @@ icon_state = "2-4" }, /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /turf/simulated/floor, @@ -2388,7 +2385,6 @@ icon_state = "4-8" }, /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /obj/effect/floor_decal/borderfloor{ @@ -3416,7 +3412,6 @@ /area/rnd/outpost/heating) "gx" = ( /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /obj/effect/floor_decal/corner/purple{ @@ -3517,7 +3512,6 @@ /area/rnd/outpost) "gD" = ( /obj/machinery/alarm{ - frequency = 1441; pixel_y = 22 }, /obj/effect/floor_decal/borderfloor{ diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index ca596b1ea07..43afd68fdc5 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -35,6 +35,11 @@ #define Z_LEVEL_MISC 11 #define Z_LEVEL_SHIPS 12 #define Z_LEVEL_UNDERDARK 13 +#define Z_LEVEL_ALIENSHIP 14 +#define Z_LEVEL_BEACH 15 +#define Z_LEVEL_BEACH_CAVE 16 +#define Z_LEVEL_AEROSTAT 17 +#define Z_LEVEL_AEROSTAT_SURFACE 18 /datum/map/tether name = "Virgo" diff --git a/maps/tether/tether_shuttles.dm b/maps/tether/tether_shuttles.dm index 3ac68483b8a..00dc6442e71 100644 --- a/maps/tether/tether_shuttles.dm +++ b/maps/tether/tether_shuttles.dm @@ -174,7 +174,7 @@ name = "shuttle control console" shuttle_tag = "Excursion Shuttle" req_access = list() - req_one_access = list(access_explorer,access_pilot) + req_one_access = list(access_pilot) var/wait_time = 45 MINUTES /obj/machinery/computer/shuttle_control/web/excursion/ui_interact() @@ -190,7 +190,7 @@ current_area = /area/shuttle/excursion/tether docking_controller_tag = "expshuttle_docker" web_master_type = /datum/shuttle_web_master/excursion - var/abduct_chance = 0.5 //Prob + var/abduct_chance = 0 //Prob /datum/shuttle/web_shuttle/excursion/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) if(prob(abduct_chance)) diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm index e8118043a2e..6702a8402d4 100644 --- a/maps/tether/tether_things.dm +++ b/maps/tether/tether_things.dm @@ -396,8 +396,6 @@ var/global/list/latejoin_tram = list() ..() for(var/i = 1 to 3) new /obj/item/weapon/gun/energy/frontier/locked(src) - for(var/i = 1 to 4) - new /obj/item/weapon/gun/energy/frontier/locked/holdout(src) // Underdark mob spawners /obj/tether_away_spawner/underdark_normal diff --git a/maps/tether/tether_turfs.dm b/maps/tether/tether_turfs.dm index b755980b95d..4ae161d40f7 100644 --- a/maps/tether/tether_turfs.dm +++ b/maps/tether/tether_turfs.dm @@ -164,7 +164,7 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) /turf/space/bluespace name = "bluespace" icon_state = "bluespace" -/turf/space/bluespace/New() +/turf/space/bluespace/initialize() ..() icon_state = "bluespace" @@ -173,7 +173,7 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) name = "sand transit" icon = 'icons/turf/transit_vr.dmi' icon_state = "desert_ns" -/turf/space/sandyscroll/New() +/turf/space/sandyscroll/initialize() ..() icon_state = "desert_ns" diff --git a/sound/items/washingmachine.ogg b/sound/items/washingmachine.ogg new file mode 100644 index 00000000000..b4745c0e677 Binary files /dev/null and b/sound/items/washingmachine.ogg differ diff --git a/sound/mecha/duranddefencemode.ogg b/sound/mecha/duranddefencemode.ogg new file mode 100644 index 00000000000..5ae1ea60da5 Binary files /dev/null and b/sound/mecha/duranddefencemode.ogg differ diff --git a/sound/mecha/gasconnected.ogg b/sound/mecha/gasconnected.ogg new file mode 100644 index 00000000000..c1eb9f3d73f Binary files /dev/null and b/sound/mecha/gasconnected.ogg differ diff --git a/sound/mecha/gasdisconnected.ogg b/sound/mecha/gasdisconnected.ogg new file mode 100644 index 00000000000..62fa87fdee7 Binary files /dev/null and b/sound/mecha/gasdisconnected.ogg differ diff --git a/sound/mecha/heavylightswitch.ogg b/sound/mecha/heavylightswitch.ogg new file mode 100644 index 00000000000..aa54dc3a29a Binary files /dev/null and b/sound/mecha/heavylightswitch.ogg differ diff --git a/sound/mecha/mech_reload_default.ogg b/sound/mecha/mech_reload_default.ogg new file mode 100644 index 00000000000..74a07d285b9 Binary files /dev/null and b/sound/mecha/mech_reload_default.ogg differ diff --git a/sound/mecha/mechanical_toggle.ogg b/sound/mecha/mechanical_toggle.ogg new file mode 100644 index 00000000000..707ae24952d Binary files /dev/null and b/sound/mecha/mechanical_toggle.ogg differ diff --git a/vorestation.dme b/vorestation.dme index 165f516fdef..671199425d8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -267,6 +267,7 @@ #include "code\datums\autolathe\medical.dm" #include "code\datums\autolathe\medical_vr.dm" #include "code\datums\autolathe\tools.dm" +#include "code\datums\autolathe\tools_vr.dm" #include "code\datums\helper_datums\construction_datum.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" @@ -640,6 +641,7 @@ #include "code\game\jobs\_access_defs.dm" #include "code\game\jobs\access.dm" #include "code\game\jobs\access_datum.dm" +#include "code\game\jobs\access_datum_vr.dm" #include "code\game\jobs\job_controller.dm" #include "code\game\jobs\jobs.dm" #include "code\game\jobs\whitelist.dm" @@ -998,7 +1000,9 @@ #include "code\game\objects\items\devices\radio\headset_vr.dm" #include "code\game\objects\items\devices\radio\intercom.dm" #include "code\game\objects\items\devices\radio\jammer.dm" +#include "code\game\objects\items\devices\radio\jammer_vr.dm" #include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\devices\radio\radio_vr.dm" #include "code\game\objects\items\robot\robot_items.dm" #include "code\game\objects\items\robot\robot_parts.dm" #include "code\game\objects\items\robot\robot_upgrades.dm" @@ -1153,6 +1157,7 @@ #include "code\game\objects\items\weapons\tanks\tank_types_vr.dm" #include "code\game\objects\items\weapons\tanks\tanks.dm" #include "code\game\objects\items\weapons\tools\crowbar.dm" +#include "code\game\objects\items\weapons\tools\crowbar_vr.dm" #include "code\game\objects\items\weapons\tools\screwdriver.dm" #include "code\game\objects\items\weapons\tools\weldingtool.dm" #include "code\game\objects\items\weapons\tools\wirecutters.dm" @@ -1621,6 +1626,7 @@ #include "code\modules\clothing\suits\bio.dm" #include "code\modules\clothing\suits\bio_vr.dm" #include "code\modules\clothing\suits\hooded.dm" +#include "code\modules\clothing\suits\hooded_vr.dm" #include "code\modules\clothing\suits\jobs.dm" #include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\miscellaneous.dm" @@ -1780,11 +1786,13 @@ #include "code\modules\food\food\drinks\bottle\robot.dm" #include "code\modules\food\food\snacks\meat.dm" #include "code\modules\food\glass\bottle.dm" +#include "code\modules\food\glass\bottle_vr.dm" #include "code\modules\food\glass\bottle\robot.dm" #include "code\modules\food\kitchen\gibber.dm" #include "code\modules\food\kitchen\icecream.dm" #include "code\modules\food\kitchen\microwave.dm" #include "code\modules\food\kitchen\smartfridge.dm" +#include "code\modules\food\kitchen\smartfridge_vr.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker_output.dm" #include "code\modules\food\kitchen\cooking_machines\candy.dm" @@ -2525,6 +2533,7 @@ #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\ammunition\magazines_vr.dm" #include "code\modules\projectiles\ammunition\magnetic.dm" #include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\ammunition\smartmag.dm" @@ -2644,6 +2653,7 @@ #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\spray_vr.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\syringes_vr.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm" @@ -2967,7 +2977,6 @@ #include "maps\RandomZLevels\listeningpost.dm" #include "maps\RandomZLevels\snowfield.dm" #include "maps\RandomZLevels\zoo.dm" -#include "maps\southern_cross\southern_cross_jobs.dm" #include "maps\southern_cross\southern_cross_jobs_vr.dm" #include "maps\southern_cross\items\encryptionkey_sc.dm" #include "maps\southern_cross\items\encryptionkey_vr.dm"