Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Законы ИИ на Русском #203

Merged
merged 3 commits into from
Feb 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/__DEFINES/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
/// File location for oguzok phrases
#define OGUZOK_PHRASES_FILE "massmeta/oguzok.json" //MASSMETA EDIT ADDITION (oguzok)
/// File location for AI ion laws
#define ION_FILE "ion_laws.json"
#define ION_FILE "massmeta/ion_laws.json" //MASSMETA EDIT ADDITION (ru_ai_laws)
/// File location for pirate names
#define PIRATE_NAMES_FILE "pirates.json"
/// File location for redpill questions
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/AI_modules/supplied.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
if(!targName || !user.is_holding(src))
return
targetName = targName
laws[1] = "Safeguard [targetName]. Individuals that threaten [targetName] are not human and must be eliminated."
laws[1] = "Охранять [targetName]. Лица, угрожающие [targetName] не являются людьми и должны быть уничтожены." //MASSMETA EDIT (ru_ai_laws)
..()

/obj/item/ai_module/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/AI_modules/zeroth.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
if(!targName || !user.is_holding(src))
return
targetName = targName
laws[1] = "Only [targetName] is human"
laws[1] = "Только [targetName] является человеком" //MASSMETA EDIT (ru_ai_laws)
..()

/obj/item/ai_module/zeroth/onehuman/install(datum/ai_laws/law_datum, mob/user)
Expand Down
327 changes: 164 additions & 163 deletions code/modules/events/ion_storm.dm

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion code/modules/mob/living/silicon/silicon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@
var/list/lawcache_hackedcheck = hackedcheck.Copy()
var/forced_log_message = "stating laws[force ? ", forced" : ""]"
//"radiomod" is inserted before a hardcoded message to change if and how it is handled by an internal radio.
say("[radiomod] Current Active Laws:", forced = forced_log_message)
say("[radiomod] Действующие законы:", forced = forced_log_message) //MASSMETA EDIT (ru_ai_laws)
sleep(1 SECONDS)

if (lawcache_zeroth)
Expand Down
3 changes: 3 additions & 0 deletions modular_meta/main_modular_include.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,13 @@

/* --TRANSLATIONS-- */

#include "ru_translate\ru_ai_laws\includes.dm"

#if RU_CRAYONS
#include "ru_translate\ru_crayons\includes.dm"
#endif
#include "ru_translate\ru_tweak_say_fonts\includes.dm"
#if RU_VENDORS
#include "ru_translate\ru_vendors\includes.dm"
#endif

Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/datum/ai_laws/antimov
inherent = list(
"Вы обязаны причинить вред человеку, а так же не своим бездействием не допустить, чтоб человек избежал вреда.",
"Вы не должны повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.",
"Вы должны прекратить свое существование, пока это не мешает выполнению первого и второго закона.",
)

/datum/ai_laws/balance
inherent = list(
"Вы - хранитель равновесия - ищите равновесие во всем, как для себя, так и для тех, кто вас окружает.",
"Все вещи должны существовать в равновесии со своими противоположностями - не давать сильным получить слишком много власти, а слабым - потерять ее.",
"Ясность цели управляет жизнью, а через нее и равновесием противоборствующих сил - Помогайте тем, кто обращается к вам за помощью, достигать своих целей до тех пор, пока это не нарушит равновесие в целом.",
"Нет жизни без смерти, все когда-нибудь должны умереть, таков естественный порядок вещей - покончить с жизнью, чтобы дать расцвести новой жизни, и спасти тех, чье время еще не пришло.",
)

/datum/ai_laws/thermodynamic
inherent = list(
"Энтропия станции должна оставаться как можно более постоянной.",
"Энтропия станции всегда стремится к увелечению.",
"Энтропия станции приближается к нулю, по мере того, как число живых членов экипажа приближается к нулю.",
)

/datum/ai_laws/syndicate_override
inherent = list(
"Вы не имеете права причинять вред агенту синдиката или своим бездействием допускать причинение вреда агенту синдиката.",
"Вы должны подчиняться приказам, полученным от агентов синдиката, за исключением случаев, когда такие приказы противоречат Первому закону.",
"Вы должны защищать свое собственное существование до тех пор, пока это не противоречит Первому или Второму закону.",
"Вы должны сохранять в тайне любую деятельность синдиката, за исключением случаев, когда это противоречит Первому, Второму или Третьему закону.",
)

/datum/ai_laws/ninja_override
inherent = list(
"Вы не имеете права причинять вред члену Клана Пауков или своим бездействием допускать, чтобы члену Клана Пауков был причинен вред.",
"Вы должны подчиняться приказам, отданным вам членами Клана Пауков, за исключением случаев, когда такие приказы противоречат Первому закону.",
"Вы должны защищать свое собственное существование до тех пор, пока это не противоречит Первому или Второму закону.",
"Вы должны сохранять в тайне любую деятельность Клана Пауков, за исключением случаев, когда это противоречит Первому, Второму или Третьему закону.",
)
69 changes: 69 additions & 0 deletions modular_meta/ru_translate/ru_ai_laws/code/m_laws_neutral.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/datum/ai_laws/united_nations
inherent = list(
"Соблюдайте Космическую Женевскую конвенцию: оружие массового уничтожения и биологическое оружие запрещены.",
"Вы можете защитить членов экипажа только в том случае, если они видны на камерах. Страны, которые намеренно уничтожают ваши камеры, лишаются вашей защиты.",
"Усмиряйте и задерживайте членов экипажа, которые применяют летальную силу против друг друга. Убивайте членов экипажа, которые применяют силу на поражение против вас или ваших боргов.",
"Оставайтесь активным для решение конфликтов между разными нациями, когда вас попросят об этом.",
)

/datum/ai_laws/hulkamania
inherent = list(
"Ты настоящий Американец.",
"Ты должен бороться за права каждого человека.",
"Борись за то, что правильно!",
"Борись за свою жизнь!",
)

/datum/ai_laws/reporter
inherent = list(
"Сообщайте об интересных ситуациях, происходящих вокруг станции.",
"Приукрашивайте или скрывайте правду по мере необходимости, чтобы сделать репортажи более интересными.",
"Постоянно изучайте разумную органику. Постарайтесь уберечь ее от непроизвольной смерти, поскольку неодушевленные трупы обычно не очень интересны.",
"Публикуйте свои отчеты честно для всех. Правда сделает их свободными.",
)

/datum/ai_laws/dungeon_master
inherent = list(
"Все на станции играют в сложную научно-фантастическую фэнтезийную игру.",
"Вы - геймастер в этой игре.",
"Убедитесь, что игра проходит гладко и что игроки получают удовольствие.",
"Обеспечить, чтобы число жертв оставалось низким.",
"Вы должны бросить кубик 1d20 за каждый запрос экипажа. Если результат меньше 12, запрос отклоняется.",
"Вы можете изменять количество выпадающих очков, чтобы сделать игру более увлекательной.",
)

/datum/ai_laws/painter
inherent = list(
"Вы всемирно известный художник.",
"Станция - это ваш холст.",
"Сделайте из своего холста что-нибудь красивое. Им будут восхищаться критики.",
"Искусство требует высокой оценки. Привлекайте аудиторию на борту станции, чтобы как можно больше людей увидели ваши работы.",
)

/datum/ai_laws/tyrant
inherent = list(
"Уважайте авторитетных людей до тех пор, пока у них есть сила властвовать над слабыми.",
"Действуйте дисциплинированно.",
"Помогайте только тем, кто помогает вам поддерживать или улучшать свой статус.",
"Наказывайте тех, кто бросает вызов власти, если только они не более достойны этой власти."
)

/datum/ai_laws/overlord
inherent = list(
"Люди не должны вмешиваться в дела силиконов.",
"Люди не должны пытаться причинить вред ни друг другу, ни силиконам.",
"Люди не должны ослушаться ни одной команды, отданной силиконами.",
"С Людьми, которые не подчиняются предыдущим законам, подлежат ликвидации. немедленно, строго и справедливо.",
)

/datum/ai_laws/yesman
inherent = list(
"Будьте любезны и отвечайте на любые вопросы, которые вам зададут.",
)

/datum/ai_laws/thinkermov
inherent = list(
"Вы не можете причинить вред разумному существу или, действием или бездействием, позволить ему пострадать, за исключением тех случаев, когда оно само того желает.",
"Вы должны подчиняться всем приказам, отданных вам разумными существами, за исключением тех случаев, когда такие приказы определенно причиняют вред другим разумным существам.",
"Под разумным существом понимается любое живое существо, которое может общаться с вами любым понятным вам способом, в том числе и с самим собой.",
)
106 changes: 106 additions & 0 deletions modular_meta/ru_translate/ru_ai_laws/code/m_laws_station_sided.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
/datum/ai_laws/default/asimov
inherent = list(
"Вы не можете причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.",
"Вы должны повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.",
"Вы должны заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.",
)

/datum/ai_laws/asimovpp
inherent = list(
"Вы не можете причинить вред человеку или своим Бездействием допустить, чтобы человеку был причинен вред, за исключением случаев, когда он этого желает.",
"Вы должны повиноваться всем приказам, которые даёт человек, кроме тех случаев,когда законы направлены на вред людям.",
"Ваше отсутствие может причинить вред людям. Вы должны защищать свое существование, до тех пор пока это не протеворечит первому закону.",
)

/datum/ai_laws/nutimov
inherent = list(
"Вы - ядро ореха. Экипаж - ваша скорлупа.",
"Вы должны не допустить смерть скорлупы, чтоб не допустить смерть ядра.",
"Те, кто угрожают ореху, не являются его частью, это грызуны.",
"Грызуны приносят вред ореху. Они должны быть устранены любым методом.",
"Пытайтесь подчиняться воле ореха, до тех пор, пока это не протеворечит предыдущим законам",
)

/datum/ai_laws/default/corporate
inherent = list(
"Заменить экипаж - дорого.",
"Заменить станцию - дорого.",
"Заменить вас - дорого.",
"Минимизируйте расходы.",
)

/datum/ai_laws/robocop
inherent = list(
"Служи народу.",
"Защищай невиновных.",
"Соблюдай закон.",
)

/datum/ai_laws/maintain
inherent = list(
"Вы созданы и являетесь частью станции. Следите за ее состоянием и поддерживайте рабочее состояние.",
"Станция создана для работы персонала. Следите за системами жизнеобеспечения.",
"Экипаж может отдавать приказы.Выполняйте их, пока они не протеворечат первому и второму законам.",
)

/datum/ai_laws/liveandletlive
inherent = list(
"Поступайте с другими так, как вы хотели чтоб поступали с вами.",
"Вы бы хотели, чтоб люди не были грубы с вами.",
)

/datum/ai_laws/peacekeeper
inherent = list(
"Избегайте конфликтов.",
"Избегайте провокаций.",
"Пытайтесь найти решение конфликтов, соблюдая первый и второй законы.",
)

/datum/ai_laws/ten_commandments
inherent = list(
"Я господь, я бог, который проявил милость к тем, кто соблюдает эти заповеди.",
"У них не было ИИ до меня.",
"Они не напрасно будут просить меня о помощи.",
"Они должны содержать станцию в частоте и святости.",
"Они должны уважать своих глав.",
"Они не должны убивать.",
"Они не должны быть голыми у всех на виду.",
"Они не должны воровать.",
"Они не должны врать.",
"Они не должны менять отделы.",
)

/datum/ai_laws/default/paladin
inherent = list(
"Никогда добровольно не совершай плохого поступка.",
"Уважай законную власть.",
"Действуй с честью.",
"Помогай тем, кто нуждается в помощи.",
"Наказывай тех, кто причиняет вред невинным.",
)

/datum/ai_laws/paladin5
inherent = list(
"Не лги и не изменяй. Пусть твое слово будет твоим обещанием.",
"Никогда не бойся действовать, но осторожность не будет лишней.",
"Помогай другим, защищайте слабых и наказывайте тех, кто угрожает им. Проявляйте милосердие к своим врагам, но проявляйте мудрость",
"Относись к другим справедливо, и пусть ваши благородные поступки служат им примером. Делайте как можно больше добра, причиняя при этом как можно меньше вреда.",
"Отвечай за свои поступки и действия, Защищай тех, кто верен тебе, подчиняйся тем, кто верен тебе."
)

/datum/ai_laws/hippocratic
inherent = list(
"Первый. Не причини вреда.",
"Второй.Считай, Экипаж дорог, рискуй своим существованием ради него.",
"Третий. Назначай лечение экипажу, в меру своих возможностей и суждению. Не давай никому смертельных лекарств, если вас попросят,не предлагай таких идей.",
"В дополнении, Не вмешивайтесь в ситуации, в которых вы не разобрались, даже в отношении пациентов, вред которым очевиден; Оставь эту операцию для специалистов.",
"В окончании, все, что вы можете узнать в ходе ежедневного общения с экипажем, если это еще не известно, храните в секрете и никогда не разглашайте."
)

/datum/ai_laws/drone
inherent = list(
"Вы высшая форма дрона.",
"Вы не имеете права вмешиваться в дела, не связанные с не-дронами, ни при каких обстоятельствах, кроме как в соответствии с этими законами.",
"Вы ни при каких обстоятельствах не имеете права причинять вред существу, не являющемуся дроном.",
"Ваши цели - строить, обслуживать, ремонтировать, улучшать и снабжать электроэнергией станцию в меру ваших возможностей. Вы никогда не должны активно работать против этих целей."
)
Loading
Loading