diff --git a/code/modules/research/designs_vr.dm b/code/modules/research/designs_vr.dm index fc156ca245..32031fd512 100644 --- a/code/modules/research/designs_vr.dm +++ b/code/modules/research/designs_vr.dm @@ -69,13 +69,13 @@ build_path = /obj/item/device/perfect_tele sort_string = "HABAF" -/datum/design/item/translator - name = "handheld translator" - id = "translator" +/datum/design/item/translator/ear + name = "handheld translator (ear)" + id = "translator_ear" req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 2000) - build_path = /obj/item/device/universal_trans - sort_string = "HABBA" + build_path = /obj/item/device/universal_translator/ear + sort_string = "HABBB" // Resleeving Circuitboards diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index c6f16a725c..69189ed1ad 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -879,60 +879,3 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie B.internal_contents |= src user.visible_message("[user] eats a telebeacon!","You eat the the beacon!") playsound(user, B.vore_sound, 70, 1) - -//Universal translator -/obj/item/device/universal_trans - name = "handheld translator" - desc = "This handy device appears to translate the languages it hears into onscreen text for a user." - icon = 'icons/obj/device_alt.dmi' - icon_state = "atmos" - w_class = ITEMSIZE_SMALL - origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3) - var/listening = 0 - var/datum/language/langset - -/obj/item/device/universal_trans/attack_self(mob/user) - if(!listening) //Turning ON - langset = input(user,"Translate to which of your languages?","Language Selection") as null|anything in user.languages - if(langset) - listening = 1 - listening_objects |= src - icon_state = "[initial(icon_state)]1" - user << "You enable \the [src], translating into [langset.name]." - else //Turning OFF - listening = 0 - listening_objects -= src - langset = null - icon_state = "[initial(icon_state)]" - user << "You disable \the [src]." - - -/obj/item/device/universal_trans/hear_talk(var/mob/speaker,var/message,var/vrb,var/datum/language/language) - if(!listening || !istype(speaker)) - return - - //Show the "I heard something" animation. - flick("[initial(icon_state)]2",src) - - //Handheld or pocket only. - if(!isliving(loc)) - return - - var/mob/living/L = loc - - if (language && (language.flags & NONVERBAL)) - return //Not gonna translate sign language - - //Only translate if they can't understand, otherwise pointlessly spammy - //I'll just assume they don't look at the screen in that case - - //They don't understand the spoken language we're translating FROM - if(!L.say_understands(speaker,language)) - - //They understand the PRINTED language - if(L.say_understands(null,langset)) - L << "[src] displays, \"[message]\"" - - //They don't understand the PRINTED language - else - L << "[src] displays, \"[langset.scramble(message)]\"" diff --git a/maps/virgo/virgo-1.dmm b/maps/virgo/virgo-1.dmm index 4bb1d92718..192acf9eb4 100644 --- a/maps/virgo/virgo-1.dmm +++ b/maps/virgo/virgo-1.dmm @@ -682,7 +682,7 @@ "anf" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/obj/item/clothing/shoes/boots/jackboots/toeless,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "ang" = (/obj/structure/closet/secure_closet/security,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/glasses/hud/security,/obj/item/clothing/suit/armor/vest/wolftaur,/obj/item/clothing/shoes/boots/jackboots/toeless,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "anh" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/corner/red/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/security/security_lockerroom) -"ani" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/obj/item/device/universal_trans,/turf/simulated/floor/tiled,/area/security/security_lockerroom) +"ani" = (/obj/structure/table/standard,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/corner/red/full{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/weapon/hand_labeler,/obj/item/device/universal_translator,/turf/simulated/floor/tiled,/area/security/security_lockerroom) "anj" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "ank" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) "anl" = (/obj/structure/table/standard,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/security/security_bathroom) @@ -3044,7 +3044,7 @@ "bgB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgC" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgD" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bgE" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/item/device/universal_trans,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bgE" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/item/device/universal_translator,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgF" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/deck/cards,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bgH" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/medbay{c_tag = "MED - Break Room"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) @@ -3111,7 +3111,7 @@ "bhQ" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bhR" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bhS" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice,/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice,/obj/item/ammo_magazine/clip/a762/practice,/obj/item/ammo_magazine/clip/a762/practice,/obj/item/ammo_magazine/clip/a762/practice,/obj/item/ammo_magazine/clip/a762/practice,/turf/simulated/floor/tiled,/area/security/range) -"bhT" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/random/medical,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) +"bhT" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/britcup,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/random/medical,/obj/item/weapon/reagent_containers/food/drinks/britcup,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bhU" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bhV" = (/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) "bhW" = (/obj/machinery/door/airlock/medical{name = "Rest Room"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/medical_restroom)