Skip to content

Commit

Permalink
translated official station goals
Browse files Browse the repository at this point in the history
  • Loading branch information
mattgroy committed Nov 12, 2023
1 parent 3e714d3 commit 1d87b5f
Show file tree
Hide file tree
Showing 6 changed files with 105 additions and 105 deletions.
6 changes: 3 additions & 3 deletions code/game/gamemodes/game_mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -481,15 +481,15 @@

/datum/game_mode/proc/send_station_goals_message()
var/message_text = "<div style='text-align:center;'><img src='ntlogo.png'>"
message_text += "<h3>NAS Trurl Orders</h3></div><hr>"
message_text += "<b>Special Orders for [station_name()]:</b><br><br>"
message_text += "<h3>Приказы АКН «Трурль»</h3></div><hr>"
message_text += "<b>Специальное распоряжение для [station_name()]:</b><br><br>"

for(var/datum/station_goal/G in station_goals)
G.on_report()
message_text += G.get_report()
message_text += "<hr>"

print_command_report(message_text, "NAS Trurl Orders", FALSE)
print_command_report(message_text, "Приказы АКН «Трурль»", FALSE)

/datum/game_mode/proc/declare_station_goal_completion()
for(var/V in station_goals)
Expand Down
60 changes: 30 additions & 30 deletions code/modules/station_goals/bluespace_tap.dm
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
//Station goal stuff goes here
/datum/station_goal/bluespace_tap
name = "Bluespace Harvester"
name = "Блюспейс-Сборщик"
var/goal = 45000

/datum/station_goal/bluespace_tap/get_report()
return {"<b>Bluespace Harvester Experiment</b><br>
Another research station has developed a device called a Bluespace Harvester.
It reaches through bluespace into other dimensions to shift through them for interesting objects.<br>
Due to unforseen circumstances the large-scale test of the prototype could not be completed on the original research station. It will instead be carried out on your station.
Acquire the circuit board, construct the device over a wire knot and feed it enough power to generate [goal] mining points by shift end.
return {"<b>Эксперимент с Блюспейс-Сборщиком</b><br><br>
Одна из наших исследовательских станций разработала устройство, именуемое Блюспейс-Сборщиком.
Это устройство проникает сквозь блюспейс в другие измерения в поисках объектов интереса.<br>
Вследствие непредвиденных обстоятельств, изначальная исследовательская станция не смогла завершить полномасштабные испытания прототипа. Поэтому они будут проведены на вашей станции.
Заполучите плату БСС, установите прототип над кабельным узлом и запитайте его должным количеством энергии для генерации [goal] [declension_ru(goal,"очка","очков","очков")] добычи до конца смены.
<br><br>
Be advised that the device is experimental and might act in slightly unforseen ways if sufficiently powered.
<br>
Nanotrasen Science Directorate"}
Имейте в виду, что устройство является экспериментальным и при достаточном питании может работать непредвиденным образом.
<br><br>
-Исследовательский Директорат Nanotrasen"}

/datum/station_goal/bluespace_tap/on_report()
var/datum/supply_packs/misc/station_goal/bluespace_tap/P = SSeconomy.supply_packs["[/datum/supply_packs/misc/station_goal/bluespace_tap]"]
Expand All @@ -24,7 +24,7 @@
var/highscore = 0
for(var/obj/machinery/power/bluespace_tap/T in GLOB.machines)
highscore = max(highscore, T.total_points)
to_chat(world, "<b>Bluespace Harvester Highscore</b>: [highscore >= goal ? "<span class='greenannounce'>": "<span class='boldannounce'>"][highscore]</span>")
to_chat(world, "<b>Рекорд Блюспейс-Сборщика</b>: [highscore >= goal ? "<span class='greenannounce'>": "<span class='boldannounce'>"][highscore]</span>")
if(highscore >= goal)
return TRUE
return FALSE
Expand Down Expand Up @@ -399,7 +399,7 @@
input_level--
update_icon()
if(prob(input_level - safe_levels + (emagged * 5))) //at dangerous levels, start doing freaky shit. prob with values less than 0 treat it as 0
GLOB.major_announcement.Announce("Unexpected power spike during Bluespace Harvester Operation. Extra-dimensional intruder alert. Expected location: [get_area(src).name]. [emagged ? "DANGER: Emergency shutdown failed! Please proceed with manual shutdown." : "Emergency shutdown initiated."]", "Bluespace Harvester Malfunction", 'sound/AI/harvester.ogg')
GLOB.major_announcement.Announce("Зафиксирован скачок мощности во время работы Блюспейс-Сборщика. ТРЕВОГА: межпространственное вторжение. Ожидаемое местоположение: [get_area(src).name]. [emagged ? "ОПАСНОСТЬ: Сбой процедуры аварийного отключения! Требуется ручное вмешательство." : "Запущена процедура аварийного отключения."]", "НЕИСПРАВНОСТЬ БЛЮСПЕЙС-СБОРЩИКА", 'sound/AI/harvester.ogg')
if(!emagged)
input_level = 0 //emergency shutdown unless we're sabotaged
desired_level = 0
Expand Down Expand Up @@ -444,7 +444,7 @@
/obj/machinery/power/bluespace_tap/attack_hand(mob/user)
add_fingerprint(user)
if(length(active_nether_portals)) //this would be cool if we made unique TGUI for this
to_chat(user, "<span class='warning'>UNKNOWN INTERFERENCE ... UNRESPONSIVE</span>")
to_chat(user, "<span class='warning'>НЕИЗВЕСТНЫЕ ПОМЕХИ ... НЕТ ОТВЕТА</span>")
return
ui_interact(user)

Expand All @@ -453,7 +453,7 @@

/obj/machinery/power/bluespace_tap/attack_ai(mob/user)
if(length(active_nether_portals)) //this would be cool if we made unique TGUI for this
to_chat(user, "<span class='warning'>UNKNOWN INTERFERENCE ... UNRESPONSIVE</span>")
to_chat(user, "<span class='warning'>НЕИЗВЕСТНЫЕ ПОМЕХИ ... НЕТ ОТВЕТА</span>")
return
ui_interact(user)

Expand Down Expand Up @@ -505,7 +505,7 @@
emagged = TRUE
do_sparks(5, FALSE, src)
if(user)
user.visible_message("<span class='warning'>[user] overrides the safety protocols of [src].</span>", "<span class='warning'>You override the safety protocols.</span>")
user.visible_message("<span class='warning'>[user] перезаписывает протоколы безопасности у [src].</span>", "<span class='warning'>Вы перезаписали протоколы безопасности.</span>")

/obj/structure/spawner/nether/bluespace_tap
spawn_time = 30 SECONDS
Expand All @@ -525,22 +525,22 @@
linked_source_object.update_icon()

/obj/item/paper/bluespace_tap
name = "paper- 'The Experimental NT Bluespace Harvester - Mining other universes for science and profit!'"
info = "<h1>Important Instructions!</h1>Please follow all setup instructions to ensure proper operation. <br>\
1. Create a wire node with ample access to spare power. The device operates independently of APCs. <br>\
2. Create a machine frame as normal on the wire node, taking into account the device's dimensions (3 by 3 meters). <br>\
3. Insert wiring, circuit board and required components and finish construction according to NT engineering standards. <br>\
4. Ensure the device is connected to the proper power network and the network contains sufficient power. <br>\
5. Set machine to desired level. Check periodically on machine progress. <br>\
6. Optionally, spend earned points on fun and exciting rewards. <br><hr>\
<h2>Operational Principles</h2> \
<p>The Bluespace Harvester is capable of accepting a nearly limitless amount of power to search other universes for valuables to recover. The speed of this search is controlled via the 'level' control of the device. \
While it can be run on a low level by almost any power generation system, higher levels require work by a dedicated engineering team to power. \
As we are interested in testing how the device performs under stress, we wish to encourage you to stress-test it and see how much power you can provide it. \
For this reason, total shift point production will be calculated and announced at shift end. High totals may result in bonus payments to members of the Engineering department. <p>\
<p>NT Science Directorate, Extradimensional Exploitation Research Group</p> \
<p><small>Device highly experimental. Not for sale. Do not operate near small children or vital NT assets. Do not tamper with machine. In case of existential dread, stop machine immediately. \
Please document any and all extradimensional incursions. In case of imminent death, please leave said documentation in plain sight for clean-up teams to recover.</small></p>"
name = "бумага- 'Экспериментальный Блюспейс-Сборщик NT - Добыча других вселенных ради науки и прибыли!'"
info = "<h1>Важные инструкции!</h1>Пожалуйста, следуйте всем инструкциям по настройке для обеспечения правильной работы. <br>\
1. Создайте кабельный узел с доступом к источнику обильного питания. Устройство работает независимо от ЛКП. <br>\
2. Создайте и разместите корпус прибора на кабельном узле, принимая в расчёт размеры устройства(3 на 3 метра). <br>\
3. Вставьте проводку, плату и необходимые компоненты, завершите постройку согласно инженерным стандартам NT. <br>\
4. Убедитесь, что устройство подключено к рабочей сети питания, и что сеть может предоставить достаточное количество энергии. <br>\
5. Выставите желаемый уровень добычи. Периодически проверяйте прогресс добычи. <br>\
6. Опционально, потратьте заработанные очки на весёлые и интересные награды. <br><hr>\
<h2>Принципы работы</h2> \
<p>Блюспейс-Сборщик способен принимать почти безграничное количество энергии для поиска ценностей в других вселенных. Скорость поиска контролируется переключателем «Уровень». \
Хотя устройство, будучи переключённым на минимальный уровень, может быть запитанно почти любым источником энергии, более высокие уровни потребуют выделения отдельной инженерной команды для обеспечения питания. \
Так как мы заинтересованы в тестировании работы устройства в экстремальных условиях, мы призываем вас повышать нагрузку и фиксировать максимальное возможное количество потребляемой энергии. \
По вышесказанной причине, общее количество добытых за смену очков будет подсчитано и объявлено в конце смены. Высокие показатели могут привести к выплате премий сотрудникам инженерного отдела. <p>\
<p>Исследовательский Директорат NT, Исследовательская Группа Межпространственной Эксплуатации</p> \
<p><small>Экспериментальный прототип. Не для продажи. Не оперировать устройством в присутствии детей или жизненно важных активов NT. Не вносить изменения в устройство. В случае возникновения опасности для жизни, немедленно остановить работу устройства. \
Просьба документировать любые случаи межпространственных вторжений. В случае неминуемой смерти, просьба оставлять раннее упомянутую документацию на виду, чтобы отряды зачистки могли беспрепятственно вернуть её.</small></p>"

#undef kW
#undef MW
Expand Down
42 changes: 21 additions & 21 deletions code/modules/station_goals/bsa.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
// Requires high level stock parts

/datum/station_goal/bluespace_cannon
name = "Bluespace Artillery"
name = "Блюспейс-Артиллерия"

/datum/station_goal/bluespace_cannon/get_report()
return {"<b>Bluespace Artillery position construction</b><br>
Our military presence is inadequate in your sector. We need you to construct a BSA-[rand(1,99)] Artillery position aboard your station.
return {"<b>Строительство Блюспейс-Артиллерийского орудия</b><br><br>
Военное присутствие Nanotrasen в вашем секторе оставляет желать лучшего. Необходимо построить артиллерийское орудие БСА-[rand(1,99)] на борту вашей станции.
<br><br>
Требуемые для строительства части установки доступны для заказа в отделе снабжения.
<br><br>
Its base parts should be available for shipping by your cargo shuttle.
<br>
-Nanotrasen Naval Command"}
-Командование ВКФ Nanotrasen"}

/datum/station_goal/bluespace_cannon/on_report()
//Unlock BSA parts
Expand All @@ -34,14 +34,14 @@

/obj/machinery/bsa/back
name = "Bluespace Artillery Generator"
desc = "Generates cannon pulse. Needs to be linked with a fusor. "
desc = "Генерирует пушечный импульс. Необходимо подключить к фузору."
icon_state = "power_box"

/obj/machinery/bsa/back/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/multitool))
var/obj/item/multitool/M = W
M.buffer = src
to_chat(user, "<span class='notice'>You store linkage information in [W]'s buffer.</span>")
to_chat(user, "<span class='notice'>Вы сохранили информацию о связи в буфере [W].</span>")
else if(istype(W, /obj/item/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
Expand All @@ -50,14 +50,14 @@

/obj/machinery/bsa/front
name = "Bluespace Artillery Bore"
desc = "Do not stand in front of cannon during operation. Needs to be linked with a fusor."
desc = "Не стойте перед пушкой при работе с ней. Необходимо подключить к фузору."
icon_state = "emitter_center"

/obj/machinery/bsa/front/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/multitool))
var/obj/item/multitool/M = W
M.buffer = src
to_chat(user, "<span class='notice'>You store linkage information in [W]'s buffer.</span>")
to_chat(user, "<span class='notice'>Вы сохранили информацию о связи в буфере [W].</span>")
else if(istype(W, /obj/item/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
Expand All @@ -66,7 +66,7 @@

/obj/machinery/bsa/middle
name = "Bluespace Artillery Fusor"
desc = "Contents classifed by Nanotrasen Naval Command. Needs to be linked with the other BSA parts using multitool."
desc = "Внутреннее устройство фузора засекречено ВКФ Nanotrasen. Необходимо соединить с другими частями БСА с помощью мультитула."
icon_state = "fuel_chamber"
var/obj/machinery/bsa/back/back
var/obj/machinery/bsa/front/front
Expand All @@ -78,11 +78,11 @@
if(istype(M.buffer,/obj/machinery/bsa/back))
back = M.buffer
M.buffer = null
to_chat(user, "<span class='notice'>You link [src] with [back].</span>")
to_chat(user, "<span class='notice'>Вы подключили [back] к [src].</span>")
else if(istype(M.buffer,/obj/machinery/bsa/front))
front = M.buffer
M.buffer = null
to_chat(user, "<span class='notice'>You link [src] with [front].</span>")
to_chat(user, "<span class='notice'>Вы подключили [front] к [src].</span>")
else if(istype(W, /obj/item/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
Expand All @@ -91,13 +91,13 @@

/obj/machinery/bsa/middle/proc/check_completion()
if(!front || !back)
return "No multitool-linked parts detected!"
return "Детали, подключаемые с помощью мультитула, не обнаружены!"
if(!front.anchored || !back.anchored || !anchored)
return "Linked parts unwrenched!"
return "Подключаемые детали не закреплены!"
if(front.y != y || back.y != y || !(front.x > x && back.x < x || front.x < x && back.x > x) || front.z != z || back.z != z)
return "Parts misaligned!"
return "Детали смещены!"
if(!has_space())
return "Not enough free space!"
return "Недостаточно свободного места!"

/obj/machinery/bsa/middle/proc/has_space()
var/cannon_dir = get_cannon_direction()
Expand All @@ -124,7 +124,7 @@

/obj/machinery/bsa/full
name = "Bluespace Artillery"
desc = "Long range bluespace artillery."
desc = "Дальнобойное блюспейс-артиллерийское орудие."
icon = 'icons/obj/lavaland/cannon.dmi'
icon_state = "cannon_west"

Expand Down Expand Up @@ -373,7 +373,7 @@
var/list/options = gps_locators
if(area_aim)
options += target_all_areas ? SSmapping.ghostteleportlocs : SSmapping.teleportlocs
var/V = input(user,"Select target", "Select target",null) in options|null
var/V = input(user,"Выберите цель", "Выберите цель",null) in options|null
target = options[V]

/obj/machinery/computer/bsa_control/proc/get_target_name()
Expand All @@ -394,7 +394,7 @@
if(!cannon || !target)
return
if(cannon.stat)
notice = "Cannon unpowered!"
notice = "Отсутствует питание орудия!"
return
notice = null
cannon.fire(user, get_impact_turf(), target)
Expand All @@ -407,7 +407,7 @@

var/obj/machinery/bsa/middle/centerpiece = locate() in range(7, src)
if(!centerpiece)
notice = "No BSA parts detected nearby."
notice = "Поблизости не обнаружено деталей БСА."
return null
notice = centerpiece.check_completion()
if(notice)
Expand Down
Loading

0 comments on commit 1d87b5f

Please sign in to comment.