diff --git a/code/game/objects/structures/survey_probe.dm b/code/game/objects/structures/survey_probe.dm index 5a5691b477a..1913a6703c8 100644 --- a/code/game/objects/structures/survey_probe.dm +++ b/code/game/objects/structures/survey_probe.dm @@ -6,9 +6,7 @@ desc_extended = "\ It has different devices, samplers, and drill bits, as well as internal processing computers, \ to inspect the atmosphere, ground, soil, crust, and many other properties and qualities of planetary bodies. \ - Commonly used by surveyors, explorers, pioneers, all over the Spur, looking for planets that are actually worth settling or exploiting for resources. \ - This probe was manufactured by Orion Express, but it is based on on older model designed by Hephaestus Industries.\ - " + Commonly used by surveyors, explorers, pioneers, all over the Spur, looking for planets that are actually worth settling or exploiting for resources. " desc_info = "\ The probe has to be deployed first before it is used. Wrench it to deploy, then click with empty hand to activate.\ " @@ -21,6 +19,18 @@ /// Timer of the survey process. /// If null, it is not currently surveying. var/timer_id = null + /// The language that the report will output in. + var/report_language + /// Should this probe start deployed? Used for mapped-in probes + var/start_deployed = FALSE + ///Extra information for variant types - manufacturer, faction, etc. + var/desc_extra = "This probe was manufactured by Orion Express, but it is based on on older model designed by Hephaestus Industries." + +/obj/structure/survey_probe/Initialize(mapload) + . = ..() + desc_extended += desc_extra + if(start_deployed) + deploy() /obj/structure/survey_probe/attackby(obj/item/item, mob/living/user) if(!timer_id && item.iswrench()) @@ -30,18 +40,14 @@ SPAN_NOTICE("You unfasten the locking bolts on \the [src], and it deploys, lowering its devices and drill bits to the ground. It is ready to survey."), ) item.play_tool_sound(user, 30) - anchored = TRUE - density = TRUE - icon_state = "surveying_probe_deployed" + deploy() else user.visible_message( SPAN_NOTICE("\The [user] fastens the locking bolts on \the [src], stowing it."), SPAN_NOTICE("You fasten the locking bolts \the [src], stowing it. It retracts its devices and drill bits."), ) item.play_tool_sound(user, 30) - anchored = FALSE - density = FALSE - icon_state = "surveying_probe" + undeploy() /obj/structure/survey_probe/attack_hand(mob/user as mob) if(timer_id) @@ -58,6 +64,16 @@ else to_chat(user, SPAN_NOTICE("You try to activate \the [src], but its devices and drill bits are not deployed yet.")) +/obj/structure/survey_probe/proc/deploy() + anchored = TRUE + density = TRUE + icon_state = "surveying_probe_deployed" + +/obj/structure/survey_probe/proc/undeploy() + anchored = FALSE + density = FALSE + icon_state = "surveying_probe" + /obj/structure/survey_probe/proc/survey_end() if(timer_id) // message @@ -125,6 +141,13 @@
\

\ " + // Translate to a specific written language + if(report_language) + var/datum/language/L = GLOB.all_languages[report_language] + if(L && L.written_style) + var/languagetext = "\[lang=[L.key]]" + languagetext += "[report_contents]\[/lang]" + report_contents = languagetext // print the report playsound(get_turf(src), 'sound/machines/dotprinter.ogg', 30, 1) @@ -134,3 +157,31 @@ timer_id = null icon_state = "surveying_probe_deployed" +// Language-specific probe versions for mapping. +/obj/structure/survey_probe/sol + desc_extra = "This probe is an older model, manufactured by Hephaestus Industries. A small emblem on the side bears the flag of the Solarian Alliance." + report_language = LANGUAGE_SOL_COMMON + +/obj/structure/survey_probe/pra + desc_extra = "This probe is manufactured by NanoTrasen, based on an older Hephaestus design. A small emblem on the side bears the flag of the People's Republic of Adhomai." + report_language = LANGUAGE_SIIK_MAAS + +/obj/structure/survey_probe/elyra + desc_extra = "This probe is a newer model manufactured by the Elyra-based Elco corporation for phoron deposit survey. A small emblem on the side bears the flag of the Republic of Elyra." + report_language = LANGUAGE_ELYRAN_STANDARD + +/obj/structure/survey_probe/coc + desc_extra = "This probe was manufactured by Orion Express, but it is based on on older model designed by Hephaestus Industries. A small emblem on the side bears the flag of the Coalition of Colonies." + report_language = LANGUAGE_GUTTER + +/obj/structure/survey_probe/hegemony + desc_extra = "This probe is a newer model designed and manufactured by Hephaestus Industries. A small emblem on the side bears the flag of the Izweski Hegemony." + report_language = LANGUAGE_UNATHI + +/obj/structure/survey_probe/dominia + desc_extra = "This probe is a newer model designed and manufactured by the Imperial Engineering and Shipbuilding Conglomerate, in collaboration with Zavodskoi Interstellar. A small emblem on the side bears the flag of the Empire of Dominia." + report_language = LANGUAGE_TRADEBAND + +/obj/structure/survey_probe/skrell + desc_extra = "This probe is a newer model designed and manufactured by Tuz'qlip Researchers, in collaboration with Einstein Engines. A small emblem on the side bears the flag of the Nralakk Federation." + report_language = LANGUAGE_SKRELLIAN diff --git a/html/changelogs/RustingWithYou - probing.yml b/html/changelogs/RustingWithYou - probing.yml new file mode 100644 index 00000000000..282a067d0b7 --- /dev/null +++ b/html/changelogs/RustingWithYou - probing.yml @@ -0,0 +1,41 @@ +################################ +# 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 +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: RustingWithYou + +# 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: "Survey probes can now print their output in different languages." diff --git a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dmm b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dmm index 12a4a468945..fcd842c49ea 100644 --- a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dmm +++ b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dmm @@ -271,7 +271,12 @@ /turf/simulated/floor/tiled, /area/coc_survey_ship/quarters) "cG" = ( -/obj/machinery/mining/drill, +/obj/machinery/mining/brace{ + dir = 8 + }, +/obj/effect/floor_decal/corner_wide/orange{ + dir = 10 + }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, /area/coc_survey_ship/miningeva) @@ -2351,6 +2356,8 @@ /obj/effect/floor_decal/corner_wide/orange{ dir = 10 }, +/obj/effect/floor_decal/industrial/outline/engineering, +/obj/structure/survey_probe/coc, /turf/simulated/floor/tiled, /area/coc_survey_ship/miningeva) "ux" = ( @@ -2573,6 +2580,17 @@ }, /turf/simulated/floor/carpet/rubber, /area/coc_survey_ship/engineering) +"wC" = ( +/obj/machinery/light, +/obj/machinery/mining/brace{ + dir = 4 + }, +/obj/effect/floor_decal/corner_wide/orange{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/coc_survey_ship/miningeva) "wF" = ( /obj/item/flame/lighter/zippo/coalition, /obj/item/flame/lighter/zippo/coalition, @@ -3790,10 +3808,11 @@ /turf/simulated/floor/carpet/rubber, /area/coc_survey_ship/engineering) "FB" = ( -/obj/machinery/mining/brace{ - dir = 8 +/obj/effect/floor_decal/corner_wide/orange{ + dir = 10 }, -/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/industrial/outline/engineering, +/obj/structure/survey_probe/coc, /turf/simulated/floor/tiled, /area/coc_survey_ship/miningeva) "FC" = ( @@ -3842,11 +3861,9 @@ /turf/simulated/floor/tiled, /area/coc_survey_ship/atmos) "FU" = ( -/obj/structure/sign/flag/himeo{ - pixel_y = -32 - }, -/obj/machinery/mining/brace{ - dir = 4 +/obj/machinery/mining/drill, +/obj/effect/floor_decal/corner_wide/orange{ + dir = 10 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, @@ -5079,6 +5096,8 @@ dir = 10 }, /obj/machinery/light, +/obj/effect/floor_decal/industrial/outline/engineering, +/obj/structure/survey_probe/coc, /turf/simulated/floor/tiled, /area/coc_survey_ship/miningeva) "Ql" = ( @@ -11353,7 +11372,7 @@ YW cr oo Lr -Qh +wC Vh rn zj @@ -11863,7 +11882,7 @@ Vh Vh WN Lr -oS +FB Vh oX Dz diff --git a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm index c0018db0553..59d80a8ca40 100644 --- a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm +++ b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm @@ -159,11 +159,8 @@ /turf/simulated/floor/plating, /area/shuttle/dominian_science_shuttle) "atQ" = ( -/obj/structure/table/steel, -/obj/item/crowbar/rescue_axe, -/obj/item/crowbar/rescue_axe, -/obj/item/crowbar, -/obj/item/crowbar, +/obj/structure/survey_probe/dominia, +/obj/effect/floor_decal/industrial/outline/research, /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/eva) "axE" = ( @@ -5084,11 +5081,8 @@ /turf/simulated/floor/plating, /area/ship/dominian_science_vessel/aft_dock) "qYW" = ( -/obj/structure/table/steel, -/obj/item/storage/firstaid/regular{ - pixel_y = 6; - pixel_x = 3 - }, +/obj/effect/floor_decal/industrial/outline/research, +/obj/structure/survey_probe/dominia, /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/eva) "rex" = ( @@ -5808,10 +5802,13 @@ /turf/simulated/floor/carpet/rubber, /area/ship/dominian_science_vessel/bridge) "tEo" = ( -/obj/structure/filingcabinet, +/obj/structure/filingcabinet{ + pixel_x = 14 + }, /obj/effect/floor_decal/corner/purple{ dir = 5 }, +/obj/structure/closet/excavation, /turf/simulated/floor/tiled/white, /area/ship/dominian_science_vessel/research) "tEV" = ( @@ -6205,7 +6202,6 @@ /turf/simulated/wall/shuttle, /area/ship/dominian_science_vessel/port_propulsion) "vjQ" = ( -/obj/structure/closet/emcloset, /obj/effect/floor_decal/corner/purple{ dir = 5 }, @@ -6214,6 +6210,7 @@ inserted_light = /obj/item/light/tube/colored/blue; icon_state = "tube_empty" }, +/obj/structure/closet/excavation, /turf/simulated/floor/tiled/white, /area/ship/dominian_science_vessel/research) "vjT" = ( @@ -6275,10 +6272,35 @@ /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/port_hall) "vuF" = ( -/obj/structure/closet/emcloset, /obj/effect/floor_decal/corner/purple{ dir = 5 }, +/obj/item/clothing/head/hazmat/anomaly, +/obj/item/clothing/suit/hazmat/anomaly, +/obj/item/clothing/suit/hazmat/anomaly, +/obj/item/clothing/head/hazmat/anomaly, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/southleft{ + name = "Anomaly Suits" + }, /turf/simulated/floor/tiled/white, /area/ship/dominian_science_vessel/research) "vwC" = ( @@ -6519,6 +6541,10 @@ /obj/machinery/light{ dir = 4 }, +/obj/item/crowbar, +/obj/item/crowbar/rescue_axe, +/obj/item/crowbar, +/obj/item/crowbar/rescue_axe, /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/eva) "wzs" = ( @@ -7161,6 +7187,11 @@ }, /turf/simulated/floor/marble/dark, /area/ship/dominian_science_vessel/chapel) +"xRu" = ( +/obj/effect/floor_decal/industrial/outline/research, +/obj/machinery/suspension_gen, +/turf/simulated/floor/carpet/rubber, +/area/shuttle/dominian_science_shuttle) "xRX" = ( /turf/template_noop, /area/space) @@ -39962,11 +39993,11 @@ lri qdL jZe tjB -tyS +qYW qYW wvN atQ -tyS +atQ tjB str bpc @@ -40464,7 +40495,7 @@ aaJ uJi tSP wny -inf +xRu cYy iJz cQs diff --git a/maps/away/ships/pra/database_freighter/database_freighter.dmm b/maps/away/ships/pra/database_freighter/database_freighter.dmm index 9a535459c21..411cfc4647c 100644 --- a/maps/away/ships/pra/database_freighter/database_freighter.dmm +++ b/maps/away/ships/pra/database_freighter/database_freighter.dmm @@ -337,6 +337,8 @@ dir = 8 }, /obj/machinery/light, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/survey_probe/pra, /turf/simulated/floor/tiled/dark{ temperature = 278.15 }, @@ -4651,6 +4653,13 @@ temperature = 278.15 }, /area/database_freighter/engineering) +"So" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/survey_probe/pra, +/turf/simulated/floor/tiled/dark{ + temperature = 278.15 + }, +/area/database_freighter/hangar) "SV" = ( /obj/effect/floor_decal/corner/red{ dir = 6 @@ -4702,6 +4711,16 @@ temperature = 278.15 }, /area/database_freighter/captain_quarters) +"To" = ( +/obj/structure/sign/vacuum{ + pixel_x = 32 + }, +/obj/structure/survey_probe/pra, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark{ + temperature = 278.15 + }, +/area/database_freighter/hangar) "Tu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor{ @@ -4966,6 +4985,13 @@ temperature = 278.15 }, /area/database_freighter) +"XH" = ( +/obj/structure/survey_probe/pra, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark{ + temperature = 278.15 + }, +/area/database_freighter/hangar) "XZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood{ @@ -15164,7 +15190,7 @@ Ni pH rj xw -Nf +XH Nf rH Ql @@ -15326,7 +15352,7 @@ YC zh uY xw -gT +To Nf Nf Nf @@ -15342,7 +15368,7 @@ Nf Nf Nf gT -Nf +So yo cq tR diff --git a/maps/away/ships/scc/scc_scout_ship.dmm b/maps/away/ships/scc/scc_scout_ship.dmm index 4ecc2dfca1d..345697effe5 100644 --- a/maps/away/ships/scc/scc_scout_ship.dmm +++ b/maps/away/ships/scc/scc_scout_ship.dmm @@ -735,6 +735,8 @@ /area/ship/scc_scout_ship/maint_propulsion_port) "dQ" = ( /obj/effect/floor_decal/industrial/outline/research, +/obj/structure/survey_probe, +/obj/structure/survey_probe, /turf/simulated/floor/carpet/rubber, /area/shuttle/scc_scout_ship_shuttle/cargo) "dS" = ( @@ -1351,8 +1353,9 @@ /turf/simulated/floor/plating, /area/ship/scc_scout_ship/maint_propulsion_port) "gP" = ( -/obj/effect/floor_decal/industrial/outline/grey, /obj/random/dirt_75, +/obj/structure/survey_probe, +/obj/effect/floor_decal/industrial/outline/research, /turf/simulated/floor/carpet/rubber, /area/shuttle/scc_scout_ship_shuttle/cargo) "gU" = ( @@ -3430,6 +3433,11 @@ }, /turf/simulated/floor/plating, /area/ship/scc_scout_ship/maint_atmos) +"tv" = ( +/obj/structure/survey_probe, +/obj/effect/floor_decal/industrial/outline/research, +/turf/simulated/floor/carpet/rubber, +/area/shuttle/scc_scout_ship_shuttle/cargo) "tw" = ( /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -4734,6 +4742,11 @@ }, /turf/simulated/floor/plating, /area/ship/scc_scout_ship/maint_atmos) +"CB" = ( +/obj/effect/floor_decal/industrial/outline/research, +/obj/structure/survey_probe, +/turf/simulated/floor/carpet/rubber, +/area/shuttle/scc_scout_ship_shuttle/cargo) "CP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 10 @@ -41621,7 +41634,7 @@ SX aa xG FF -gP +nB CX lK FN @@ -42136,7 +42149,7 @@ qJ WP qA dQ -sN +tv sG HR SF @@ -42393,7 +42406,7 @@ aa rW hd gP -nB +CB Mn FN FN