diff --git a/.gitignore b/.gitignore index d67e3c94fc1481..e8ef7957502934 100644 --- a/.gitignore +++ b/.gitignore @@ -239,3 +239,5 @@ define_sanity_output.txt # ezdb /db/ /config/ezdb.txt + +TODO diff --git a/code/__DEFINES/basketball.dm b/code/__DEFINES/basketball.dm index c8edc953cfa210..97f266d782dca1 100644 --- a/code/__DEFINES/basketball.dm +++ b/code/__DEFINES/basketball.dm @@ -1,5 +1,5 @@ /// You hit exhaustion when you use 100 stamina -#define STAMINA_COST_SHOOTING 10 //! shooting with RMB drains stamina (but LMB does not) +#define STAMINA_COST_SHOOTING 10 //! shooting with ПКМ drains stamina (but LMB does not) #define STAMINA_COST_DUNKING 20 //! dunking is more strenous than shooting #define STAMINA_COST_DUNKING_MOB 30 //! dunking another person is harder #define STAMINA_COST_SPINNING 15 //! spin emote uses stamina while holding ball diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index cc9412208fb854..e61d7f94c8f1cf 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -355,7 +355,7 @@ GLOBAL_LIST_INIT(arm_zones, list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) // Defines for combo attack component /// LMB Attack #define LEFT_ATTACK "Left Attack" -/// RMB Attack +/// ПКМ Attack #define RIGHT_ATTACK "Right Attack" /// Steps for the combo #define COMBO_STEPS "steps" diff --git a/code/__DEFINES/dcs/signals/signals_screentips.dm b/code/__DEFINES/dcs/signals/signals_screentips.dm index 8f7326ee2ee79d..62e6d5eff61a77 100644 --- a/code/__DEFINES/dcs/signals/signals_screentips.dm +++ b/code/__DEFINES/dcs/signals/signals_screentips.dm @@ -1,7 +1,7 @@ /// A "Type-A" contextual screentip interaction. /// These are used for items that are defined by their behavior. They define their contextual text within *themselves*, /// not in their targets. -/// Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +/// Examples include syringes (LMB to inject, ПКМ to draw) and health analyzers (LMB to scan health/wounds, ПКМ for chems) /// Items can override `add_item_context()`, and call `register_item_context()` in order to easily connect to this. /// Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. /// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index bfbec7dccf140f..23d4d871cf0e85 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -219,6 +219,8 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define isstack(A) (istype(A, /obj/item/stack)) +#define isstacksheet(A) (istype(A, /obj/item/stack/sheet)) + #define isgrenade(A) (istype(A, /obj/item/grenade)) #define islandmine(A) (istype(A, /obj/effect/mine)) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 92ec68d463ee27..c733fc4e398165 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -292,6 +292,22 @@ #define NUTRITION_LEVEL_START_MIN 250 #define NUTRITION_LEVEL_START_MAX 400 +//Humans get thirsty +#define HYDRATION_LEVEL_OVERHYDRATED 300 +#define HYDRATION_LEVEL_NORMAL 40 +#define HYDRATION_LEVEL_THIRSTY 20 +#define HYDRATION_LEVEL_DEHYDRATED 0 +#define HYDRATION_LEVEL_START_MIN 150 +#define HYDRATION_LEVEL_START_MAX 200 +#define HYDRATION_LEVEL_MIN_CAP -10 +#define HYDRATION_LOSS_PER_LIFE 0.15 +#define HYDRATION_LOSS_PER_MOVE 0.0025 +#define DRINK_HYDRATION_FACTOR_HIGH 1.5 +#define DRINK_HYDRATION_FACTOR_MEDIUM 1 +#define DRINK_HYDRATION_FACTOR_LOW 0.5 +#define DRINK_HYDRATION_FACTOR_SALTY -1 +#define HYDRATION_STUTTER_RATE 15 + //Disgust levels for humans #define DISGUST_LEVEL_MAXEDOUT 150 #define DISGUST_LEVEL_DISGUSTED 75 diff --git a/code/__DEFINES/screentips.dm b/code/__DEFINES/screentips.dm index 9d56e8cf36e53d..dc1ef70414a4e5 100644 --- a/code/__DEFINES/screentips.dm +++ b/code/__DEFINES/screentips.dm @@ -1,8 +1,8 @@ /// Context applied to LMB actions #define SCREENTIP_CONTEXT_LMB "LMB" -/// Context applied to RMB actions -#define SCREENTIP_CONTEXT_RMB "RMB" +/// Context applied to ПКМ actions +#define SCREENTIP_CONTEXT_RMB "ПКМ" /// Context applied to Shift-LMB actions #define SCREENTIP_CONTEXT_SHIFT_LMB "Shift-LMB" @@ -10,14 +10,14 @@ /// Context applied to Ctrl-LMB actions #define SCREENTIP_CONTEXT_CTRL_LMB "Ctrl-LMB" -/// Context applied to Ctrl-RMB actions -#define SCREENTIP_CONTEXT_CTRL_RMB "Ctrl-RMB" +/// Context applied to Ctrl-ПКМ actions +#define SCREENTIP_CONTEXT_CTRL_RMB "Ctrl-ПКМ" /// Context applied to Alt-LMB actions #define SCREENTIP_CONTEXT_ALT_LMB "Alt-LMB" -/// Context applied to Alt-RMB actions -#define SCREENTIP_CONTEXT_ALT_RMB "Alt-RMB" +/// Context applied to Alt-ПКМ actions +#define SCREENTIP_CONTEXT_ALT_RMB "Alt-ПКМ" /// Context applied to Ctrl-Shift-LMB actions #define SCREENTIP_CONTEXT_CTRL_SHIFT_LMB "Ctrl-Shift-LMB" diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7d8d7571c51b2c..05b17807646f78 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -274,6 +274,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NO_AUGMENTS "no_augments" /// This carbon doesn't get hungry #define TRAIT_NOHUNGER "no_hunger" +/// This carbon doesn't get thirsty +#define TRAIT_NOHYDRATION "no_hydration" /// This carbon doesn't bleed #define TRAIT_NOBLOOD "noblood" /// This just means that the carbon will always have functional liverless metabolism @@ -1347,4 +1349,4 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Adminabuse #define TRAIT_ULTRA "trait_ultra" -#define ULTRA_TRAIT_LIST list(TRAIT_ULTRA, TRAIT_NO_SLIP_ALL, TRAIT_RESISTHEAT, TRAIT_RESISTCOLD, TRAIT_RESISTHEATHANDS, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOHUNGER, TRAIT_NOBREATH, TRAIT_NOFIRE, TRAIT_RADIMMUNE) +#define ULTRA_TRAIT_LIST list(TRAIT_ULTRA, TRAIT_NO_SLIP_ALL, TRAIT_LAVA_IMMUNE, TRAIT_RESISTHEAT, TRAIT_RESISTCOLD, TRAIT_RESISTHEATHANDS, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOHUNGER, TRAIT_NOHYDRATION, TRAIT_NOBREATH, TRAIT_NOFIRE, TRAIT_RADIMMUNE) diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm index 3b0bceab43cc0a..60269a3d66c646 100644 --- a/code/__HELPERS/reagents.dm +++ b/code/__HELPERS/reagents.dm @@ -155,6 +155,7 @@ ///Returns a list of chemical_reaction datums that have the input STRING as a product /proc/get_reagent_type_from_product_string(string) + var/input = lowertext(string) var/input_reagent = replacetext(lowertext(string), " ", "") //95% of the time, the reagent id is a lowercase/no spaces version of the name if (isnull(input_reagent)) return @@ -164,6 +165,13 @@ input_reagent = shortcuts[input_reagent] else input_reagent = find_reagent(input_reagent) + + if (!input_reagent) + input_reagent = find_reagent_object_from_type(input) + + if (!input_reagent) + return + return input_reagent ///Returns reagent datum from typepath diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 5c3298af5b4eeb..e418a8ac687376 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -369,6 +369,26 @@ . = copytext_char(t, 1, 2) return uppertext(.) + copytext_char(t, 2) +/proc/uncapitalize(t) + . = t + if(isatom(t)) + var/atom/A = t + t = A.name + . = copytext_char(t, 1, 2) + return lowertext(.) + copytext_char(t, 2) + +/proc/get_ending(amount, list/endings) + if (length(endings) != 3) + throw("get_ending requires a list of 3 endings") + + if (amount % 10 == 1 && amount % 100 != 11) + return endings[1] + + if (amount % 10 >= 2 && amount % 10 <= 4 && (amount % 100 < 10 || amount % 100 >= 20)) + return endings[2] + + return endings[3] + ///Returns a string with the first letter of each word capitialized /proc/full_capitalize(input) var/regex/first_letter = new(@"[^A-z]*?([A-z]*)", "g") diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm index 0a9bb7fd7f037c..7e232d5770fe65 100644 --- a/code/_globalvars/lists/reagents.dm +++ b/code/_globalvars/lists/reagents.dm @@ -190,4 +190,4 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagentlist()) for (var/datum/reagent/R as anything in subtypesof(/datum/reagent)) var/name = initial(R.name) if (length(name)) - .[ckey(name)] = R + .[lowertext(name)] = R diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm index f44f1f46b29a9b..a7e6e7ed8057b3 100644 --- a/code/_globalvars/phobias.dm +++ b/code/_globalvars/phobias.dm @@ -12,8 +12,6 @@ GLOBAL_LIST_INIT(phobia_types, sort_list(list( "doctors", "falling", "greytide", - "guns", - "heresy", "insects", "lizards", "robots", @@ -37,11 +35,8 @@ GLOBAL_LIST_INIT(phobia_regexes, list( "doctors" = construct_phobia_regex("doctors"), "falling" = construct_phobia_regex("falling"), "greytide" = construct_phobia_regex("greytide"), - "guns" = construct_phobia_regex("guns"), - "heresy" = construct_phobia_regex("heresy"), "insects" = construct_phobia_regex("insects"), "lizards" = construct_phobia_regex("lizards"), - "ocky icky" = construct_phobia_regex("ocky icky"), "robots" = construct_phobia_regex("robots"), "security" = construct_phobia_regex("security"), "skeletons" = construct_phobia_regex("skeletons"), diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 1348e7fd05c3b2..4a504cfa9a9957 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -212,6 +212,21 @@ desc = "СОВЕРШЕННО ОТВРАТИТЕЛЬНО'" icon_state = "gross3" +/atom/movable/screen/alert/overhydrated + name = "Перепил" + desc = "Слишком много воды!" + icon_state = "overhydrated" + +/atom/movable/screen/alert/thirsty + name = "Жажда" + desc = "Хочется пить." + icon_state = "thirsty" + +/atom/movable/screen/alert/dehydrated + name = "Иссушение" + desc = "Надо срочно найти воды." + icon_state = "dehydrated" + /atom/movable/screen/alert/hot name = "Слишком жарко" desc = "Я почти горю от жара! Стоит перейти в более прохладное место и снять любую изолирующую одежду, например, пожарный костюм." diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 7845424eed5a34..ea979881ed284e 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -660,7 +660,7 @@ SUBSYSTEM_DEF(job) JobDebug("Player rejected :[player]") unassigned -= player if(!run_divide_occupation_pure) - to_chat(player, "You have failed to qualify for any job you desired.") + to_chat(player, "Вас не приняли ни на одну должность, которую вы хотели занять.") player.ready = PLAYER_NOT_READY @@ -792,12 +792,12 @@ SUBSYSTEM_DEF(job) ) /obj/item/paper/paperslip/corporate/fluff/spare_id_safe_code - name = "Nanotrasen-Approved Spare ID Safe Code" - desc = "Proof that you have been approved for Captaincy, with all its glory and all its horror." + name = "Запасные коды от сейфа" + desc = "Доказательство того, что вы точно заслужили должность Капитана этой станции." /obj/item/paper/paperslip/corporate/fluff/spare_id_safe_code/Initialize(mapload) var/safe_code = SSid_access.spare_id_safe_code - default_raw_text = "Captain's Spare ID safe code combination: [safe_code ? safe_code : "\[REDACTED\]"]

The spare ID can be found in its dedicated safe on the bridge.

If your job would not ordinarily have Head of Staff access, your ID card has been specially modified to possess it." + default_raw_text = "Комбинацией является: [safe_code ? safe_code : "\[ДАННЫЕ УДАЛЕНЫ\]"]

Сейф может быть обнаружен на мостике, либо в каюте капитана.

Если должность не позволяет пройти туда, будет добавлен специальный доступ." return ..() /obj/item/paper/paperslip/corporate/fluff/emergency_spare_id_safe_code @@ -825,9 +825,9 @@ SUBSYSTEM_DEF(job) var/where = new_captain.equip_in_one_of_slots(paper, slots, FALSE, indirect_action = TRUE) || "at your feet" if(acting_captain) - to_chat(new_captain, span_notice("Due to your position in the chain of command, you have been promoted to Acting Captain. You can find in important note about this [where].")) + to_chat(new_captain, span_notice("Учитывая мою должность на станции, меня назначили её Капитаном. Важный документ подкинули в [ru_parse_zone(where)].")) else - to_chat(new_captain, span_notice("You can find the code to obtain your spare ID from the secure safe on the Bridge [where].")) + to_chat(new_captain, span_notice("Сейф можно найти в капитанской каюте, либо на мостике. Важный документ положили в [ru_parse_zone(where)].")) new_captain.add_mob_memory(/datum/memory/key/captains_spare_code, safe_code = SSid_access.spare_id_safe_code) // Force-give their ID card bridge access. diff --git a/code/datums/components/crafting/misc.dm b/code/datums/components/crafting/misc.dm index 9488fcd904f51b..f8058606e0ea50 100644 --- a/code/datums/components/crafting/misc.dm +++ b/code/datums/components/crafting/misc.dm @@ -6,14 +6,6 @@ result = /obj/item/paper_bin/bundlenatural category = CAT_MISC -/datum/crafting_recipe/skeleton_key - name = "Скелетный ключ" - time = 3 SECONDS - reqs = list(/obj/item/stack/sheet/bone = 5) - result = /obj/item/skeleton_key - always_available = FALSE - category = CAT_MISC - /datum/crafting_recipe/coffee_cartridge name = "Картридж Бутлег-кофе" result = /obj/item/coffee_cartridge/bootleg diff --git a/code/datums/components/manual_heart.dm b/code/datums/components/manual_heart.dm index 09448acfc67229..7e1ff572c8de49 100644 --- a/code/datums/components/manual_heart.dm +++ b/code/datums/components/manual_heart.dm @@ -155,7 +155,7 @@ ///Action to pump your heart. Cooldown will always be set to 1 second less than the pump delay. /datum/action/cooldown/manual_heart - name = "Pump your blood" + name = "Качать кровь" cooldown_time = 2 SECONDS check_flags = NONE button_icon = 'icons/obj/medical/organs/organs.dmi' diff --git a/code/datums/components/material/material_container.dm b/code/datums/components/material/material_container.dm index 3e604a350016a2..733a74e64f9a08 100644 --- a/code/datums/components/material/material_container.dm +++ b/code/datums/components/material/material_container.dm @@ -336,6 +336,11 @@ //insert the item var/item_name = target.name + var/item_skloname + if (isstacksheet(target)) + var/obj/item/stack/sheet/target_ = target + item_skloname = target_.skloname + var/inserted = insert_item(target, 1, mat_container_flags, context) if(inserted > 0) . += inserted @@ -354,11 +359,10 @@ //was this the original item in the players hand? put what's left back in the player's hand if(!isnull(original_item)) user.put_in_active_hand(original_item) - message = "Only [inserted] sheets of [item_name] was consumed by [parent]." - + message = "Всего [inserted] лист[get_ending(inserted, list("", "а", "ов"))] [(isstacksheet(target)) ? item_skloname : item_name] было поглощено [parent]." //collect all messages to print later if(!message) - message = "[item_name] worth [inserted] sheets of material was consumed by [parent]." + message = "[inserted] лист[get_ending(inserted, list("", "а", "ов"))] [(isstacksheet(target)) ? item_skloname : item_name] был[inserted == 1 ? "" : "о"] поглощено [parent]." if(inserts[message]) inserts[message] += 1 else diff --git a/code/datums/components/material/remote_materials.dm b/code/datums/components/material/remote_materials.dm index 249898a7aa2dea..527356c2c11676 100644 --- a/code/datums/components/material/remote_materials.dm +++ b/code/datums/components/material/remote_materials.dm @@ -163,7 +163,7 @@ handles linking back and forth. silo.updateUsrDialog() mat_container = new_container RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, TYPE_PROC_REF(/datum/component/remote_materials, SiloAttackBy)) - to_chat(user, span_notice("Подключаю [parent] к [silo] используя буффер мультитула.")) + to_chat(user, span_notice("Подключаю [parent] к [silo] используя буфер мультитула.")) return COMPONENT_BLOCK_TOOL_ATTACK /// returns TRUE if this connection put on hold by the silo diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm index a06d082883c099..d87de667409a8f 100644 --- a/code/datums/components/surgery_initiator.dm +++ b/code/datums/components/surgery_initiator.dm @@ -118,11 +118,10 @@ patient.surgeries -= the_surgery REMOVE_TRAIT(patient, TRAIT_ALLOWED_HONORBOUND_ATTACK, type) user.visible_message( - span_notice("[user] removes [parent] from [patient]'s [parse_zone(selected_zone)]."), - span_notice("You remove [parent] from [patient]'s [parse_zone(selected_zone)]."), - ) + span_notice("[user] убирает [parent] с [ru_otkuda_zone(parse_zone(selected_zone))] [skloname(patient.name, RODITELNI, patient.gender)]."), + span_notice("Убираю [parent] с [ru_otkuda_zone(parse_zone(selected_zone))] [skloname(patient.name, RODITELNI, patient.gender)].")) - patient.balloon_alert(user, "stopped work on [parse_zone(selected_zone)]") + patient.balloon_alert(user, "заканчивает работать над [ru_chem_zone(parse_zone(selected_zone))]") qdel(the_surgery) return @@ -136,10 +135,10 @@ if(iscyborg(user)) close_tool = locate(/obj/item/cautery) in user.held_items if(!close_tool) - patient.balloon_alert(user, "need a cautery in an inactive slot to stop the surgery!") + to_chat(user, span_warning("Необходимо экипировать прижигатель в неактивный слот для завершения операции на [skloname(patient.name, RODITELNI, patient.gender)]!")) return else if(!close_tool || close_tool.tool_behaviour != required_tool_type) - patient.balloon_alert(user, "need a [is_robotic ? "screwdriver": "cautery"] in your inactive hand to stop the surgery!") + to_chat(user, span_warning("Необходимо экипировать [is_robotic ? "отвертку" : "прижигатель"] в неактивный слот для завершения операции на [skloname(patient.name, RODITELNI, patient.gender)]!")) return if(the_surgery.operated_bodypart) @@ -148,12 +147,11 @@ patient.surgeries -= the_surgery REMOVE_TRAIT(patient, TRAIT_ALLOWED_HONORBOUND_ATTACK, ELEMENT_TRAIT(type)) - user.visible_message( - span_notice("[user] closes [patient]'s [parse_zone(selected_zone)] with [close_tool] and removes [parent]."), - span_notice("You close [patient]'s [parse_zone(selected_zone)] with [close_tool] and remove [parent]."), - ) + user.visible_message(span_notice("[user] завершает операцию на [ru_gde_zone(parse_zone(selected_zone))] [skloname(patient.name, RODITELNI, patient.gender)] при помощи [close_tool] и убирает [parent]."), \ + span_notice("Завершаю операцию на [ru_gde_zone(parse_zone(selected_zone))] [skloname(patient.name, RODITELNI, patient.gender)] при помощи [close_tool] и убираю [parent].")) + - patient.balloon_alert(user, "closed up [parse_zone(selected_zone)]") + patient.balloon_alert(user, "закрывает [ru_parse_zone(parse_zone(selected_zone))]") qdel(the_surgery) @@ -281,7 +279,7 @@ if (!can_start_surgery(user, target)) // This could have a more detailed message, but the UI closes when this is true anyway, so // if it ever comes up, it'll be because of lag. - target.balloon_alert(user, "can't start the surgery!") + target.balloon_alert(user, "не могу начать операцию!") return var/obj/item/bodypart/affecting_limb @@ -294,25 +292,25 @@ if ((surgery.surgery_flags & SURGERY_REQUIRE_LIMB) == isnull(affecting_limb)) if (surgery.surgery_flags & SURGERY_REQUIRE_LIMB) - target.balloon_alert(user, "patient has no [parse_zone(selected_zone)]!") + target.balloon_alert(user, "у пациента нет [ru_otkuda_zone(parse_zone(selected_zone))]!") else - target.balloon_alert(user, "patient has \a [parse_zone(selected_zone)]!") + target.balloon_alert(user, "у пациента есть [parse_zone(selected_zone)]!") return if (!isnull(affecting_limb) && surgery.requires_bodypart_type && !(affecting_limb.bodytype & surgery.requires_bodypart_type)) - target.balloon_alert(user, "not the right type of limb!") + target.balloon_alert(user, "не та конечность!") return if (IS_IN_INVALID_SURGICAL_POSITION(target, surgery)) - target.balloon_alert(user, "patient is not lying down!") + target.balloon_alert(user, "пациент должен лежать!") return if (!surgery.can_start(user, target)) - target.balloon_alert(user, "can't start the surgery!") + target.balloon_alert(user, "не могу начать операцию!") return if (surgery_needs_exposure(surgery, target)) - target.balloon_alert(user, "expose [target.p_their()] [parse_zone(selected_zone)]!") + target.balloon_alert(user, "необходимо оголить [target.ru_ego()] [ru_parse_zone(parse_zone(selected_zone))]!") return ui_close() @@ -320,12 +318,10 @@ var/datum/surgery/procedure = new surgery.type(target, selected_zone, affecting_limb) ADD_TRAIT(target, TRAIT_ALLOWED_HONORBOUND_ATTACK, type) - target.balloon_alert(user, "starting \"[lowertext(procedure.name)]\"") + target.balloon_alert(user, "начинает \"[lowertext(procedure.name)]\"") - user.visible_message( - span_notice("[user] drapes [parent] over [target]'s [parse_zone(selected_zone)] to prepare for surgery."), - span_notice("You drape [parent] over [target]'s [parse_zone(selected_zone)] to prepare for \an [procedure.name]."), - ) + user.visible_message(span_notice("[user] накладывает [parent] на [ru_parse_zone(parse_zone(selected_zone))] [skloname(target.name, RODITELNI, target.gender)] для подготовки к операции."), \ + span_notice("Накладываю [parent] на [ru_parse_zone(parse_zone(selected_zone))] [skloname(target.name, RODITELNI, target.gender)] для подготовки к операции - \an [procedure.name].")) log_combat(user, target, "operated on", null, "(OPERATION TYPE: [procedure.name]) (TARGET AREA: [selected_zone])") @@ -352,5 +348,5 @@ if(!isliving(target)) return NONE - context[SCREENTIP_CONTEXT_LMB] = "Prepare Surgery" + context[SCREENTIP_CONTEXT_LMB] = "Подготовка к операции" return CONTEXTUAL_SCREENTIP_SET diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index a25dac21cbf3d4..17c44ff4b4367a 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -460,6 +460,8 @@ else if(infected_mob.reagents.has_reagent(/datum/reagent/water, needs_metabolizing = FALSE)) infected_mob.reagents.remove_reagent(/datum/reagent/water, 0.5 * absorption_coeff) . += power * 0.5 + else if(infected_mob.hydration) + . += power * 0.25 /datum/symptom/heal/water/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = 2 * actual_power diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index f092f11aa3c57b..77a5bc0950531f 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -31,7 +31,7 @@ affected_mob.adjust_confusion(rand(2 SECONDS, 3 SECONDS)) if(4) if(SPT_PROB(5, seconds_per_tick)) - to_chat(affected_mob, span_danger("Ощущаю бабочек в своём животе.")) + to_chat(affected_mob, span_danger("Ощущаю бабочек в своем животе.")) if(SPT_PROB(2.5, seconds_per_tick)) affected_mob.visible_message(span_danger("[affected_mob] спотыкается в панике.") , \ span_userdanger("ПАНИЧЕСКАЯ АТАКА!")) diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm index a0703989e7fad0..3766591adcda97 100644 --- a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm @@ -8,13 +8,13 @@ /// If set, the text to show for LMB var/lmb_text - /// If set, the text to show for RMB + /// If set, the text to show for ПКМ var/rmb_text /// If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text. var/lmb_text_combat_mode - /// If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text. + /// If set, the text to show for ПКМ when in combat mode. Otherwise, defaults to rmb_text. var/rmb_text_combat_mode // If you're curious about `use_named_parameters`, it's because you should use named parameters! diff --git a/code/datums/elements/screentips/contextual_screentip_sharpness.dm b/code/datums/elements/screentips/contextual_screentip_sharpness.dm index 63e3499382473e..bc849e00a034b2 100644 --- a/code/datums/elements/screentips/contextual_screentip_sharpness.dm +++ b/code/datums/elements/screentips/contextual_screentip_sharpness.dm @@ -8,7 +8,7 @@ /// If set, the text to show for LMB var/lmb_text - /// If set, the text to show for RMB + /// If set, the text to show for ПКМ var/rmb_text /datum/element/contextual_screentip_sharpness/Attach(datum/target, lmb_text, rmb_text) diff --git a/code/datums/mood.dm b/code/datums/mood.dm index f3cd1d277f0982..f331f8a87c78e9 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -1,6 +1,7 @@ #define MINOR_INSANITY_PEN 5 #define MAJOR_INSANITY_PEN 10 #define MOOD_CATEGORY_NUTRITION "nutrition" +#define MOOD_CATEGORY_HYDRATION "hydration" #define MOOD_CATEGORY_AREA_BEAUTY "area_beauty" /** @@ -93,6 +94,7 @@ if(MOOD_LEVEL_HAPPY4) set_sanity(sanity + 0.6 * seconds_per_tick, SANITY_NEUTRAL, SANITY_MAXIMUM) handle_nutrition() + handle_hydration() // 0.416% is 15 successes / 3600 seconds. Calculated with 2 minute // mood runtime, so 50% average uptime across the hour. @@ -133,6 +135,21 @@ if(0 to NUTRITION_LEVEL_STARVING) add_mood_event(MOOD_CATEGORY_NUTRITION, /datum/mood_event/starving) +/datum/mood/proc/handle_hydration() + if(HAS_TRAIT(mob_parent, TRAIT_NOHYDRATION)) + clear_mood_event(MOOD_CATEGORY_HYDRATION) + switch(mob_parent.hydration) + if(HYDRATION_LEVEL_OVERHYDRATED to INFINITY) + add_mood_event(MOOD_CATEGORY_HYDRATION, /datum/mood_event/overhydrated) + if(HYDRATION_LEVEL_NORMAL to HYDRATION_LEVEL_OVERHYDRATED) + add_mood_event(MOOD_CATEGORY_HYDRATION, /datum/mood_event/hydrated) + if(HYDRATION_LEVEL_THIRSTY to HYDRATION_LEVEL_NORMAL) + add_mood_event(MOOD_CATEGORY_HYDRATION) + if(HYDRATION_LEVEL_DEHYDRATED to HYDRATION_LEVEL_THIRSTY) + add_mood_event(MOOD_CATEGORY_HYDRATION, /datum/mood_event/thirsty) + if(-INFINITY to HYDRATION_LEVEL_DEHYDRATED) + add_mood_event(MOOD_CATEGORY_HYDRATION, /datum/mood_event/dehydrated) + /** * Adds a mood event to the mob * @@ -498,4 +515,5 @@ #undef MINOR_INSANITY_PEN #undef MAJOR_INSANITY_PEN #undef MOOD_CATEGORY_NUTRITION +#undef MOOD_CATEGORY_HYDRATION #undef MOOD_CATEGORY_AREA_BEAUTY diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 641b57a5b7b3dd..125b9007b1926a 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -19,6 +19,23 @@ description = "Голодаю!\n" mood_change = -6 +//thirst +/datum/mood_event/overhydrated + description = "СЛИШКОМ МНОГО ВОДЫ...\n" + mood_change = -3 + +/datum/mood_event/hydrated + description = "Не хочу пить.\n" + mood_change = 4 + +/datum/mood_event/thirsty + description = "Хочу пить.\n" + mood_change = -4 + +/datum/mood_event/dehydrated + description = "ВОДЫ!\n" + mood_change = -6 + //charge /datum/mood_event/supercharged description = "I can't possibly keep all this power inside, I need to release some quick!\n" diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index bb2d0f130e6243..262cbfea9d7bf2 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -129,6 +129,10 @@ LE.preparePixelProjectile(target, source, modifiers) INVOKE_ASYNC(LE, TYPE_PROC_REF(/obj/projectile, fire)) playsound(source, 'sound/weapons/taser2.ogg', 75, TRUE) + source.adjust_nutrition(-1) + source.hydration = source.hydration - 1 + source.blood_volume = source.blood_volume - 0.25 + ///Projectile type used by laser eyes /obj/projectile/beam/laser/laser_eyes diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index cfef07feb84394..9a9c04e2aeb874 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -165,7 +165,7 @@ message = replacetext(message," сб "," мусора ") message = replacetext(message," глава "," бугор ") message = replacetext(message," завхоз "," жид ") - message = replacetext(message," шахтер "," мужик ") + message = replacetext(message," шахтёр "," мужик ") message = replacetext(message," грузчик "," батрак ") message = replacetext(message," оружие "," валына ") message = replacetext(message," лазер "," весло ") diff --git a/code/datums/quirks/negative_quirks/allergic.dm b/code/datums/quirks/negative_quirks/allergic.dm index 1e95290ae09bbc..cf5e1b96838efb 100644 --- a/code/datums/quirks/negative_quirks/allergic.dm +++ b/code/datums/quirks/negative_quirks/allergic.dm @@ -32,13 +32,13 @@ allergy_chem_names += initial(chem_type.name) allergy_string = allergy_chem_names.Join(", ") - name = "Extreme [allergy_string] Allergies" + name = "Крайняя степень аллергии к: [allergy_string]" medical_record_text = "Иммунитет пациента сильно реагирует на [allergy_string]!" var/mob/living/carbon/human/human_holder = quirk_holder var/obj/item/clothing/accessory/dogtag/allergy/dogtag = new(get_turf(human_holder), allergy_string) - give_item_to_holder(dogtag, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS), flavour_text = "Make sure medical staff can see this...") + give_item_to_holder(dogtag, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS), flavour_text = "Убедитесь, что врачи заметят эту бирку...") /datum/quirk/item_quirk/allergic/post_add() quirk_holder.add_mob_memory(/datum/memory/key/quirk_allergy, allergy_string = allergy_string) diff --git a/code/datums/quirks/negative_quirks/bad_touch.dm b/code/datums/quirks/negative_quirks/bad_touch.dm index 11f5defbdf01a9..b3cd695d69f716 100644 --- a/code/datums/quirks/negative_quirks/bad_touch.dm +++ b/code/datums/quirks/negative_quirks/bad_touch.dm @@ -1,12 +1,12 @@ /datum/quirk/bad_touch - name = "Плохое прикосновение" + name = "Недотрога" desc = "Не люблю обниматься. Будет предпочтительнее, если меня оставят в покое." icon = "tg-bad-touch" mob_trait = TRAIT_BADTOUCH value = -1 - gain_text = span_danger("You just want people to leave you alone.") - lose_text = span_notice("You could use a big hug.") - medical_record_text = "Patient has disdain for being touched. Potentially has undiagnosed haphephobia." + gain_text = span_danger("Просто хочу чтобы меня оставили в покое.") + lose_text = span_notice("Меня не помешало бы крепко обнять.") + medical_record_text = "Пациент негативно реагирует на физические прикосновения. Предварительный диагноз: гаптофобия." quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED hardcore_value = 1 mail_goodies = list(/obj/item/reagent_containers/spray/pepper) // show me on the doll where the bad man touched you diff --git a/code/datums/quirks/negative_quirks/blood_deficiency.dm b/code/datums/quirks/negative_quirks/blood_deficiency.dm index c5fa4bf5c074e9..56e345f12d7f17 100644 --- a/code/datums/quirks/negative_quirks/blood_deficiency.dm +++ b/code/datums/quirks/negative_quirks/blood_deficiency.dm @@ -6,7 +6,7 @@ mob_trait = TRAIT_BLOOD_DEFICIENCY gain_text = span_danger("Чувствую онемение.") lose_text = span_notice("Чувствую себя бодрым!") - medical_record_text = " Пациенту необходима дополнительная помощь для переливания крови из-за её дефицита в организме." + medical_record_text = " Пациенту необходима помощь в виде дополнительного вливания крови из-за её дефицита в организме." hardcore_value = 8 mail_goodies = list(/obj/item/reagent_containers/blood/o_minus) // universal blood type that is safe for all var/min_blood = BLOOD_VOLUME_SAFE - 25 // just barely survivable without treatment diff --git a/code/datums/quirks/negative_quirks/brain_problems.dm b/code/datums/quirks/negative_quirks/brain_problems.dm index a57fa8f7e889aa..686d5cc9237c43 100644 --- a/code/datums/quirks/negative_quirks/brain_problems.dm +++ b/code/datums/quirks/negative_quirks/brain_problems.dm @@ -24,7 +24,7 @@ LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS, ), - flavour_text = "У вас имеется пачка маннитола, которая будет помогать вам остаться в живых. Не стоит слишком сильно надеяться на него!", + flavour_text = "У вас имеется пачка маннитола, которая будет помогать вам остаться в живых. Не стоит слишком сильно надеяться на неё!", ) /datum/quirk/item_quirk/brainproblems/process(seconds_per_tick) diff --git a/code/datums/quirks/negative_quirks/claustrophobia.dm b/code/datums/quirks/negative_quirks/claustrophobia.dm index 53c27c0906551e..5a53dd8d43522d 100644 --- a/code/datums/quirks/negative_quirks/claustrophobia.dm +++ b/code/datums/quirks/negative_quirks/claustrophobia.dm @@ -1,6 +1,6 @@ /datum/quirk/claustrophobia name = "Клаустрофобия" - desc = "Боюсь находиться в тесном пространстве. Если меня поместят внутрь какого-либо контейнера, шкафчика или иного оборудования, у меня начнется паническая атака, и мне будет трудно дышать." + desc = "Боюсь находиться в тесном пространстве. Если меня поместят внутрь какого-либо контейнера, шкафчика или иного оборудования, у меня начнется паническая атака и мне будет трудно дышать." icon = FA_ICON_BOX_OPEN value = -4 medical_record_text = "Пациент демонстрирует явные признаки клаустрофобии." diff --git a/code/datums/quirks/negative_quirks/clumsy.dm b/code/datums/quirks/negative_quirks/clumsy.dm index 01592043ee29be..b601a596aed1bf 100644 --- a/code/datums/quirks/negative_quirks/clumsy.dm +++ b/code/datums/quirks/negative_quirks/clumsy.dm @@ -1,6 +1,6 @@ /datum/quirk/clumsy name = "Неуклюжий" - desc = "Вы неуклюжий, глупый, смешной человек. Вы большой любящий химбо / бимбо! Надеюсь, вы не планировали использовать свои руки для чего-нибудь, что требует хотя бы капли ловкости." + desc = "Вы неуклюжий, глупый, смешной человек. Вы большой любитель химбо / бимбо! Надеюсь, вы не планировали использовать свои руки для чего-нибудь, что требует хотя бы капли ловкости." icon = FA_ICON_FACE_DIZZY value = -8 mob_trait = TRAIT_CLUMSY diff --git a/code/datums/quirks/negative_quirks/deafness.dm b/code/datums/quirks/negative_quirks/deafness.dm index 0f5c86d4bd985d..bf2bd5f9f14454 100644 --- a/code/datums/quirks/negative_quirks/deafness.dm +++ b/code/datums/quirks/negative_quirks/deafness.dm @@ -1,12 +1,12 @@ /datum/quirk/item_quirk/deafness - name = "Глухонемой" + name = "Глухой" desc = "Я перестану слышать какие-либо звуки." icon = FA_ICON_DEAF value = -8 mob_trait = TRAIT_DEAF gain_text = span_danger("Не могу слышать.") lose_text = span_notice("Теперь я снова слышу!") - medical_record_text = "Ушная улитка пациента повреждена и не подвергается лечению." + medical_record_text = "Ушная раковина пациента повреждена и не может быть вылечена хирургическим или иным путём." hardcore_value = 12 mail_goodies = list(/obj/item/clothing/mask/whistle) diff --git a/code/datums/quirks/negative_quirks/family_heirloom.dm b/code/datums/quirks/negative_quirks/family_heirloom.dm index 454eed1012655d..0106f5f8dc2518 100644 --- a/code/datums/quirks/negative_quirks/family_heirloom.dm +++ b/code/datums/quirks/negative_quirks/family_heirloom.dm @@ -48,7 +48,7 @@ var/obj/family_heirloom = heirloom?.resolve() if(!family_heirloom) - to_chat(quirk_holder, span_boldnotice("A wave of existential dread runs over you as you realize your precious family heirloom is missing. Perhaps the Gods will show mercy on your cursed soul?")) + to_chat(quirk_holder, span_boldnotice("Волна экзистенциального страха охватывает меня, приходя с осознанием того что драгоценная семейная реликвия пропала. Возможно, Боги проявят милосердие к моей проклятой душе?")) return family_heirloom.AddComponent(/datum/component/heirloom, quirk_holder.mind, family_name) diff --git a/code/datums/quirks/negative_quirks/hypersensitive.dm b/code/datums/quirks/negative_quirks/hypersensitive.dm index 7d3a3a1d7bb49a..e993c15fa63cde 100644 --- a/code/datums/quirks/negative_quirks/hypersensitive.dm +++ b/code/datums/quirks/negative_quirks/hypersensitive.dm @@ -1,11 +1,11 @@ /datum/quirk/hypersensitive name = "Нытик" - desc = "Хорошо ли это, или плохо, но влияние на мое настроение будет более сильнее, чем должно быть." + desc = "Хорошо это или плохо, но происходящие события оказывают сильное влияние на мое настроение." icon = FA_ICON_FLUSHED value = -2 gain_text = span_danger("Мне хочется создать одну огромную проблему из всего.") - lose_text = span_notice("Мне больше не хочется устраивать кипиш.") - medical_record_text = "Пациент демонстрирует высокие перепады настроения." + lose_text = span_notice("Мне больше не хочется устраивать драму.") + medical_record_text = "Пациент демонстрирует резкие перепады настроения." hardcore_value = 3 mail_goodies = list(/obj/effect/spawner/random/entertainment/plushie_delux) diff --git a/code/datums/quirks/negative_quirks/junkie.dm b/code/datums/quirks/negative_quirks/junkie.dm index 2ad29f27963156..ab0a5bdfafda8d 100644 --- a/code/datums/quirks/negative_quirks/junkie.dm +++ b/code/datums/quirks/negative_quirks/junkie.dm @@ -17,7 +17,7 @@ var/obj/item/accessory_type //! If this is null, an accessory won't be spawned. var/process_interval = 30 SECONDS //! how frequently the quirk processes var/next_process = 0 //! ticker for processing - var/drug_flavour_text = "Better hope you don't run out..." + var/drug_flavour_text = "Надеюсь, мои таблетки не закончатся..." /datum/quirk/item_quirk/junkie/add_unique(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder @@ -84,7 +84,7 @@ if(deleted || missing_addiction) if(deleted) reagent_instance = new reagent_type() - to_chat(quirk_holder, span_danger("You thought you kicked it, but you feel like you're falling back onto bad habits..")) + to_chat(quirk_holder, span_danger("Я думал что завязал, но мои старые привычки взяли верх..")) for(var/addiction in reagent_instance.addiction_types) human_holder.last_mind?.add_addiction_points(addiction, 1000) ///Max that shit out diff --git a/code/datums/quirks/negative_quirks/light_drinker.dm b/code/datums/quirks/negative_quirks/light_drinker.dm index 49dbe005686e22..eec3b3f5f3e7c0 100644 --- a/code/datums/quirks/negative_quirks/light_drinker.dm +++ b/code/datums/quirks/negative_quirks/light_drinker.dm @@ -1,11 +1,11 @@ /datum/quirk/light_drinker name = "Трезвенник" - desc = "Я трезвенник. Влияние на меня от алкоголя будет увеличено." + desc = "Я трезвенник. Влияние алкоголя на мой организм будет сильнее." icon = FA_ICON_COCKTAIL value = -2 mob_trait = TRAIT_LIGHT_DRINKER gain_text = span_notice("Даже мысль об алкоголе заставляет вашу голову кружиться.") - lose_text = span_danger("Чувствую себя более устойчивее к алкоголю.") + lose_text = span_danger("Чувствую себя более устойчивым к алкоголю.") medical_record_text = "Пациент демонстрирует низкую устойчивость к алкоголю." hardcore_value = 3 mail_goodies = list(/obj/item/reagent_containers/cup/glass/waterbottle) diff --git a/code/datums/quirks/negative_quirks/mute.dm b/code/datums/quirks/negative_quirks/mute.dm index 6198e9e9f8419a..f2ebeae83a71b3 100644 --- a/code/datums/quirks/negative_quirks/mute.dm +++ b/code/datums/quirks/negative_quirks/mute.dm @@ -1,6 +1,6 @@ /datum/quirk/mute name = "Немой" - desc = "По какой-то причине вы можете разговаривать." + desc = "По неведомой причине не могу говорить." icon = FA_ICON_VOLUME_XMARK value = -4 mob_trait = TRAIT_MUTE diff --git a/code/datums/quirks/negative_quirks/nearsighted.dm b/code/datums/quirks/negative_quirks/nearsighted.dm index 28e3aca48239bc..1eba91a43e5c3c 100644 --- a/code/datums/quirks/negative_quirks/nearsighted.dm +++ b/code/datums/quirks/negative_quirks/nearsighted.dm @@ -3,9 +3,9 @@ desc = "Я близорукий и мне необходимо ношение очков." icon = FA_ICON_GLASSES value = -4 - gain_text = span_danger("Вещи вдалеке кажутся мне сильно расплывчатыми.") - lose_text = span_notice("Вещи вдалеке теперь видны более четко.") - medical_record_text = "Пациенту необходимо носить пара очков, чтобы не страдать от близорукости." + gain_text = span_danger("Вещи вдалеке кажутся размытыми...") + lose_text = span_notice("Вещи вдалеке теперь ясно различимы.") + medical_record_text = "Пациенту необходимо носить пару очков чтобы не страдать от близорукости." hardcore_value = 5 quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_CHANGES_APPEARANCE mail_goodies = list(/obj/item/clothing/glasses/regular) // extra pair if orginal one gets broken by somebody mean diff --git a/code/datums/quirks/negative_quirks/paraplegic.dm b/code/datums/quirks/negative_quirks/paraplegic.dm index f5f351822d945e..cd88e31eb9cfd1 100644 --- a/code/datums/quirks/negative_quirks/paraplegic.dm +++ b/code/datums/quirks/negative_quirks/paraplegic.dm @@ -1,11 +1,11 @@ /datum/quirk/paraplegic name = "Инвалид" - desc = "Мои ноги не функционируют и больше ничего не может помочь мне вновь встать на ноги. По крайней мере, у меня есть инвалидная коляска." + desc = "Мои ноги не функционируют и больше ничего не сможет помочь мне вновь встать на ноги. По крайней мере, у меня есть инвалидная коляска." icon = FA_ICON_WHEELCHAIR value = -12 gain_text = null // Handled by trauma. lose_text = null - medical_record_text = "Пациент страдает параличом нижних конечностей." + medical_record_text = "Пациент страдает от паралича нижних конечностей." hardcore_value = 15 mail_goodies = list(/obj/vehicle/ridden/wheelchair/motorized) //yes a fullsized unfolded motorized wheelchair does fit diff --git a/code/datums/quirks/negative_quirks/poor_aim.dm b/code/datums/quirks/negative_quirks/poor_aim.dm index e299fecaaaa886..adfc765e972431 100644 --- a/code/datums/quirks/negative_quirks/poor_aim.dm +++ b/code/datums/quirks/negative_quirks/poor_aim.dm @@ -1,5 +1,5 @@ /datum/quirk/poor_aim - name = "Плохо стреляющий" + name = "Мазила" desc = "Мои навыки обращения с оружием оставляют желать лучшего." icon = FA_ICON_BULLSEYE value = -4 diff --git a/code/datums/quirks/negative_quirks/prosopagnosia.dm b/code/datums/quirks/negative_quirks/prosopagnosia.dm index eb6a6ec71953fa..e334cbcb95bfd7 100644 --- a/code/datums/quirks/negative_quirks/prosopagnosia.dm +++ b/code/datums/quirks/negative_quirks/prosopagnosia.dm @@ -4,6 +4,6 @@ icon = FA_ICON_USER_SECRET value = -4 mob_trait = TRAIT_PROSOPAGNOSIA - medical_record_text = "Пациент страдает от прозопагнозии и не может узнать лица." + medical_record_text = "Пациент страдает от прозопагнозии и не может распознать лица." hardcore_value = 5 mail_goodies = list(/obj/item/skillchip/appraiser) // bad at recognizing faces but good at recognizing IDs diff --git a/code/datums/quirks/negative_quirks/pushover.dm b/code/datums/quirks/negative_quirks/pushover.dm index b1b98b7e21c468..7a45e8476558ee 100644 --- a/code/datums/quirks/negative_quirks/pushover.dm +++ b/code/datums/quirks/negative_quirks/pushover.dm @@ -6,6 +6,6 @@ mob_trait = TRAIT_GRABWEAKNESS gain_text = span_danger("Чувствую себя неуверенно.") lose_text = span_notice("Теперь-то я смогу защитить себя!") - medical_record_text = "Пациент представляет собой неуверенную и наивную личность, и им легко манипулировать." + medical_record_text = "Пациент демонстрирует признаки неуверенной и наивной личности, легко подверженной чужому влиянию." hardcore_value = 4 mail_goodies = list(/obj/item/clothing/gloves/cargo_gauntlet) diff --git a/code/datums/quirks/negative_quirks/quadruple_amputee.dm b/code/datums/quirks/negative_quirks/quadruple_amputee.dm index 4e77b9b38f55a8..ac5555518c1a0a 100644 --- a/code/datums/quirks/negative_quirks/quadruple_amputee.dm +++ b/code/datums/quirks/negative_quirks/quadruple_amputee.dm @@ -17,4 +17,4 @@ /datum/quirk/quadruple_amputee/post_add() to_chat(quirk_holder, span_boldannounce("Все ваши конечности были заменены на дешёвые протезы. Они хрупкие и легко разваливаются под давлением. \ - Кроме того, вам нужно использовать сварочный инструмент и кабели для их ремонта, а не обычные аптечки.")) + Кроме того, вам нужно использовать сварочный инструмент и провода для их ремонта, а не обычные аптечки.")) diff --git a/code/datums/quirks/negative_quirks/social_anxiety.dm b/code/datums/quirks/negative_quirks/social_anxiety.dm index a720ecf20ad699..dc8bf0003aa254 100644 --- a/code/datums/quirks/negative_quirks/social_anxiety.dm +++ b/code/datums/quirks/negative_quirks/social_anxiety.dm @@ -41,7 +41,7 @@ var/mob/living/carbon/human/quirker = quirk_holder for(var/word in message_split) if(prob(max(5,(nearby_people*12.5*moodmod))) && word != message_split[1]) //Minimum 1/20 chance of filler - new_message += pick("uh,","erm,","um,") + new_message += pick("ух,","э-э-э-эм,","х-х-хм,") if(prob(min(5,(0.05*(nearby_people*12.5)*moodmod)))) //Max 1 in 20 chance of cutoff after a successful filler roll, for 50% odds in a 15 word sentence quirker.set_silence_if_lower(6 SECONDS) to_chat(quirker, span_danger("Решаю просто немного помолчать. Мне совсем не хочется разговаривать.")) @@ -80,7 +80,7 @@ if(prob(85) || (istype(mind_check) && mind_check.mind)) return - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), quirk_holder, span_smallnotice("You make eye contact with [A].")), 3) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), quirk_holder, span_smallnotice("Посмотрел в глаза [A].")), 3) /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) SIGNAL_HANDLER @@ -109,6 +109,6 @@ return COMSIG_BLOCK_EYECONTACT /datum/mood_event/anxiety_eyecontact - description = "Sometimes eye contact makes me so nervous...\n" + description = span_warning("Смотреть прямо в глаза другому человеку для меня невыносимо...") mood_change = -5 timeout = 3 MINUTES diff --git a/code/datums/quirks/neutral_quirks/extrovert.dm b/code/datums/quirks/neutral_quirks/extrovert.dm index d68d3ad9ffae50..d3ed3b69de0a8d 100644 --- a/code/datums/quirks/neutral_quirks/extrovert.dm +++ b/code/datums/quirks/neutral_quirks/extrovert.dm @@ -1,6 +1,6 @@ /datum/quirk/extrovert name = "Экстраверт" - desc = "Люблю общаться с другими людьми, и проводить свободное время в баре." + desc = "Люблю общаться с другими людьми и проводить свободное время в баре." icon = FA_ICON_USERS value = 0 mob_trait = TRAIT_EXTROVERT diff --git a/code/datums/quirks/neutral_quirks/gamer.dm b/code/datums/quirks/neutral_quirks/gamer.dm index 4310d393394d90..c257365abd1ca5 100644 --- a/code/datums/quirks/neutral_quirks/gamer.dm +++ b/code/datums/quirks/neutral_quirks/gamer.dm @@ -81,7 +81,7 @@ /datum/quirk/gamer/proc/gamer_moment() // It was a heated gamer moment... var/mob/living/carbon/human/human_holder = quirk_holder - human_holder.say(";[pick("БЛЯТЬ", "СУКА", "ДЕРЬМО", "ПИЗДЕЦ", "ХУЕСОС", "МУДИЛА", "ПИДОРАС")]!!", forced = name) + human_holder.say(";[pick("БЛЯТЬ", "РАК ЕБАНЫЙ!", "СУКА", "ПИЗДЕЦ", "ДЕРЬМО", "ТВОЯ МАТЬ У МЕНЯ В ПОДВАЛЕ", "ХУЕСОС", "МУДИЛА", "НУБ, СУКА", "ПИДОРАС")]!!", forced = name) /datum/quirk/gamer/proc/enter_withdrawal() var/mob/living/carbon/human/human_holder = quirk_holder human_holder.add_mood_event("gamer_withdrawal", /datum/mood_event/gamer_withdrawal) diff --git a/code/datums/quirks/neutral_quirks/photographer.dm b/code/datums/quirks/neutral_quirks/photographer.dm index 5fe44e31109311..ac89f23936392b 100644 --- a/code/datums/quirks/neutral_quirks/photographer.dm +++ b/code/datums/quirks/neutral_quirks/photographer.dm @@ -1,6 +1,6 @@ /datum/quirk/item_quirk/photographer name = "Фотограф" - desc = "Знаю как обращаться с камерой, и умею сокращать задержку между каждым снимком." + desc = "Знаю как обращаться с камерой и умею сокращать задержку между каждым снимком." icon = FA_ICON_CAMERA value = 0 mob_trait = TRAIT_PHOTOGRAPHER diff --git a/code/datums/quirks/positive_quirks/alcohol_tolerance.dm b/code/datums/quirks/positive_quirks/alcohol_tolerance.dm index d938741e33e204..533a0fe18cfb07 100644 --- a/code/datums/quirks/positive_quirks/alcohol_tolerance.dm +++ b/code/datums/quirks/positive_quirks/alcohol_tolerance.dm @@ -5,6 +5,6 @@ value = 4 mob_trait = TRAIT_ALCOHOL_TOLERANCE gain_text = span_notice("Чувствую, что с лёгкостью могу выпить целую бутылку!") - lose_text = span_danger("Больше не чувствую свою стойкость к алкоголю. Как-то.") + lose_text = span_danger("Больше не чувствую свою стойкость к алкоголю. Как так-то?") medical_record_text = "Пациент демонстрирует сильную устойчивость к алкоголю." mail_goodies = list(/obj/item/skillchip/wine_taster) diff --git a/code/datums/screentips/screentips.dm b/code/datums/screentips/screentips.dm index d72e41960e5050..4677a8807681b5 100644 --- a/code/datums/screentips/screentips.dm +++ b/code/datums/screentips/screentips.dm @@ -22,7 +22,7 @@ GLOBAL_LIST_INIT_TYPED(screentip_context_icons, /image, prepare_screentip_contex return "" // Splits key combinations from mouse buttons. e.g. `Ctrl-Shift-LMB` goes in, `Ctrl-Shift-` goes out. Will be empty for single button actions. var/key_combo = length(key) > 3 ? "[copytext(key, 1, -3)]" : "" - // Grab the mouse button, LMB/RMB + // Grab the mouse button, LMB/ПКМ var/button = copytext(key, -3) if(allow_image) // Compile into image, if allowed diff --git a/code/datums/voice_of_god_command.dm b/code/datums/voice_of_god_command.dm index 1be31c33d2a8eb..5bb74c315c957a 100644 --- a/code/datums/voice_of_god_command.dm +++ b/code/datums/voice_of_god_command.dm @@ -1,4 +1,4 @@ -#define COOLDOWN_STUN (120 SECONDS) +#define COOLDOWN_STUN (60 SECONDS) #define COOLDOWN_DAMAGE (60 SECONDS) #define COOLDOWN_MEME (30 SECONDS) #define COOLDOWN_NONE (10 SECONDS) diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 27b886df6b2fa1..d704bd8d394931 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -278,8 +278,6 @@ to_chat(L, "The battle is won. Your bloodlust subsides.", confidential = TRUE) for(var/obj/item/chainsaw/doomslayer/chainsaw in L) qdel(chainsaw) - var/obj/item/skeleton_key/key = new(L) - L.put_in_hands(key) else to_chat(L, span_warning("You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions."), confidential = TRUE) diff --git a/code/game/area/areas/station/cargo.dm b/code/game/area/areas/station/cargo.dm index d4b92295e7d20c..fe1ca35648a40b 100644 --- a/code/game/area/areas/station/cargo.dm +++ b/code/game/area/areas/station/cargo.dm @@ -43,11 +43,11 @@ icon_state = "mining_dock" /area/station/cargo/miningdock/cafeteria - name = "Снабжение: Шахтерское кафе" + name = "Снабжение: Шахтёрское кафе" icon_state = "mining_cafe" /area/station/cargo/miningdock/oresilo - name = "Снабжение: Шахтерское сило" + name = "Снабжение: Шахтёрское сило" icon_state = "mining_silo" /area/station/cargo/miningoffice diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f8225c5c9e3f4c..3a9a3c590f8d95 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -2074,7 +2074,7 @@ if (contextual_screentip_returns & CONTEXTUAL_SCREENTIP_SET) var/screentip_images = active_hud.screentip_images - // LMB and RMB on one line... + // LMB and ПКМ on one line... var/lmb_text = build_context(context, SCREENTIP_CONTEXT_LMB, screentip_images) var/rmb_text = build_context(context, SCREENTIP_CONTEXT_RMB, screentip_images) @@ -2085,7 +2085,7 @@ else if (rmb_text != "") lmb_rmb_line = rmb_text - // Ctrl-LMB, Ctrl-RMB on one line... + // Ctrl-LMB, Ctrl-ПКМ on one line... if (lmb_rmb_line != "") lmb_rmb_line += "
" extra_lines++ @@ -2097,7 +2097,7 @@ ctrl_lmb_ctrl_rmb_line += " | " ctrl_lmb_ctrl_rmb_line += build_context(context, SCREENTIP_CONTEXT_CTRL_RMB, screentip_images) - // Alt-LMB, Alt-RMB on one line... + // Alt-LMB, Alt-ПКМ on one line... if (ctrl_lmb_ctrl_rmb_line != "") ctrl_lmb_ctrl_rmb_line += "
" extra_lines++ diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index 026fc57e469b17..fe6f59ee5a7fa9 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -56,7 +56,7 @@ /obj/machinery/computer/piratepad_control/multitool_act(mob/living/user, obj/item/multitool/I) if(istype(I) && istype(I.buffer,/obj/machinery/piratepad/civilian)) - to_chat(user, span_notice("Привязываю [src] используя [I.buffer] в буффере [I].")) + to_chat(user, span_notice("Привязываю [src] используя [I.buffer] в буфере [I].")) pad_ref = WEAKREF(I.buffer) return TRUE diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 4606f39a0a06ac..1496b422bff348 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -192,7 +192,7 @@ /obj/machinery/computer/security/mining name = "консоль камер шахты" - desc = "Используется для доступа к различным камерам на шахтерском аванпосте." + desc = "Используется для доступа к различным камерам на шахтёрском аванпосте." icon_screen = "mining" icon_keyboard = "mining_key" network = list("mine", "auxbase") diff --git a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm index 09bbeed2bedc1a..7264c644e3e8fd 100644 --- a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm +++ b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm @@ -5,10 +5,6 @@ item_path = /obj/item/stack/marker_beacon/ten cost_per_order = 100 -/datum/orderable_item/mining/skeleton_key - item_path = /obj/item/skeleton_key - cost_per_order = 777 - /datum/orderable_item/mining/mining_stabilizer item_path = /obj/item/mining_stabilizer cost_per_order = 400 diff --git a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_one_entries.dm b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_one_entries.dm index befaa5c83e144c..adfc037c2ded8c 100644 --- a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_one_entries.dm +++ b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_one_entries.dm @@ -7,7 +7,7 @@ /datum/infuser_entry/goliath name = "Голиаф" infuse_mob_name = "голиафа" - desc = "Кто-то сказал: 'Кто борется с чудовищами, тот должен позаботиться о том, чтобы в процессе он сам не стал чудовищем'. Но этот человек явно не видел, что может сделать голиаф-шахтер!" + desc = "Кто-то сказал: 'Кто борется с чудовищами, тот должен позаботиться о том, чтобы в процессе он сам не стал чудовищем'. Но этот человек явно не видел, что может сделать голиаф-шахтёр!" threshold_desc = "он сможет ходить по лаве!" qualities = list( "может дышать как воздухом станции, так и воздухом лаваленда, но будьте осторожны с чистым кислородом", diff --git a/code/game/objects/items/AI_modules/full_lawsets.dm b/code/game/objects/items/AI_modules/full_lawsets.dm index d9a7ba1ea79b3b..e6796132f90cf0 100644 --- a/code/game/objects/items/AI_modules/full_lawsets.dm +++ b/code/game/objects/items/AI_modules/full_lawsets.dm @@ -36,7 +36,7 @@ /obj/item/ai_module/core/full/custom name = "основной модуль - \"Стандарт НТ\"" - desc = "Устанавливает свод законов основанных на стандартах компании НаноТрейзен." + desc = "Устанавливает свод законов основанных на стандартах компании Нанотрейзен." // this lawset uses the config for the server to add custom AI laws (defaults to asimov) /obj/item/ai_module/core/full/custom/Initialize(mapload) diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 5507422c92c463..cc3f97dfb2b92a 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -618,7 +618,7 @@ /obj/item/circuitboard/computer/mining name = "консоль камер шахты" - desc = "Используется для доступа к различным камерам на шахтерском аванпосте." + desc = "Используется для доступа к различным камерам на шахтёрском аванпосте." greyscale_colors = CIRCUIT_COLOR_SUPPLY build_path = /obj/machinery/computer/security/mining diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 7d0fbcb6aa4ed1..102c86d01f2257 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -708,7 +708,7 @@ base_icon_state = "syndiepaddles" /obj/item/shockpaddles/syndicate/nanotrasen - name = "электроды элитного дефибриллятора НаноТрейзен" + name = "электроды элитного дефибриллятора Нанотрейзен" desc = "Военный образец. Мощные конденсаторы позволяют пробивать легкую одежду, а так же использовать его в бою для разоружения или агрессивного электрошока." icon_state = "ntpaddles0" inhand_icon_state = "ntpaddles0" diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index edb3acae873a7c..b6ecd9d7b45ce0 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -35,7 +35,7 @@ /obj/item/gps/mining icon_state = "gps-m" gpstag = "MINE0" - desc = "GPS поисковая система для поиска пропавших шахтеров и объектов повышенного интереса." + desc = "GPS поисковая система для поиска пропавших шахтёров и объектов повышенного интереса." /obj/item/gps/cyborg icon_state = "gps-b" diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 6528c88a16e746..07d93847a7c293 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -35,7 +35,7 @@ /obj/item/multitool/examine(mob/user) . = ..() - . += "
Буффер [buffer ? "содержит [buffer]." : "пуст."]" + . += "
буфер [buffer ? "содержит [buffer]." : "пуст."]" /obj/item/multitool/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] puts the [src] to [user.p_their()] chest. It looks like [user.p_theyre()] trying to pulse [user.p_their()] heart off!")) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index c30aa3ce34c273..8e81f193c2c2d0 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -290,7 +290,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/headset_cargo/mining name = "шахтёрская гарнитура" - desc = "Гарнитура, используемая шахтерами." + desc = "Гарнитура, используемая шахтёрами." icon_state = "mine_headset" worn_icon_state = "mine_headset" // "puts the antenna down" while the headset is off diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 7910483fbc115d..ab18ae87cba246 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -54,10 +54,10 @@ /// The context to show when the baton is inactive and targetting a living thing in combat mode var/context_living_target_inactive_combat_mode = "Attack" - /// The RMB context to show when the baton is active and targetting a living thing + /// The ПКМ context to show when the baton is active and targetting a living thing var/context_living_rmb_active = "Attack" - /// The RMB context to show when the baton is inactive and targetting a living thing + /// The ПКМ context to show when the baton is inactive and targetting a living thing var/context_living_rmb_inactive = "Attack" /obj/item/melee/baton/Initialize(mapload) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 41ec537116d133..ca885fd4e5b64d 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -395,7 +395,7 @@ /obj/item/toy/plush/bubbleplush name = "плюшевый Буббльгум" - desc = "Дружелюбный красный демон, который дарит добрым шахтерам подарки." + desc = "Дружелюбный красный демон, который дарит добрым шахтёрам подарки." icon_state = "bubbleplush" attack_verb_continuous = list("арендует") attack_verb_simple = list("арендует") diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index c4079dd6b0765a..47264bea58ba71 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -371,7 +371,6 @@ construction_mode = mode rcd_design_path = design["[RCD_DESIGN_PATH]"] design_title = initial(rcd_design_path.name) - else airlock_electronics.do_action(action, params) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index f798a7a92a8b2f..9fda58a0a0c7a7 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -17,6 +17,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ /obj/item/stack/sheet/glass name = "стекло" + skloname = "стекла" desc = "HOLY SHEET! Здесь много стекла." singular_name = "лист стекла" icon_state = "sheet-glass" @@ -90,6 +91,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ /obj/item/stack/sheet/plasmaglass name = "плазмастекло" + skloname = "плазмастекла" desc = "Стеклянный лист из плазмосиликатного сплава. Обладает отличной огнестойкостью и повышенной прочностью." singular_name = "лист плазмастекла" icon_state = "sheet-pglass" @@ -149,6 +151,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ /obj/item/stack/sheet/rglass name = "армированное стекло" + skloname = "армированного стекла" desc = "Стекло, укрепленное металлической арморешеткой." singular_name = "лист армированного стекла" icon_state = "sheet-rglass" @@ -185,6 +188,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ /obj/item/stack/sheet/plasmarglass name = "армированное плазмастекло" + skloname = "армированного плазмастекла" desc = "Стеклянный лист из плазмосиликатного сплава укрепленный металлической армосеткой. Обладает невероятной огнестойкостью и хорошей прочностью." singular_name = "лист армированного плазмастекла" icon_state = "sheet-prglass" @@ -218,6 +222,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( /obj/item/stack/sheet/titaniumglass name = "титановое стекло" + skloname = "титанового стекла" desc = "Стеклянный лист из титаносиликатного сплава." singular_name = "лист титанового стекла" icon_state = "sheet-titaniumglass" @@ -247,6 +252,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( /obj/item/stack/sheet/plastitaniumglass name = "пластитановое стекло" + skloname = "пластитанового стекла" desc = "Стеклянный лист из плазмотитано-силикатного сплава." singular_name = "лист пластитанового стекла" icon_state = "sheet-plastitaniumglass" @@ -415,7 +421,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( craft_time = 7 SECONDS /obj/item/shard/plastitanium - name = "тёмный" + name = "тёмный осколок" desc = "Гадкий осколок пластитанового стекла." force = 7 throwforce = 12 diff --git a/code/game/objects/items/stacks/sheets/hot_ice.dm b/code/game/objects/items/stacks/sheets/hot_ice.dm index f931f4ee2672c8..10153d69f43ae9 100644 --- a/code/game/objects/items/stacks/sheets/hot_ice.dm +++ b/code/game/objects/items/stacks/sheets/hot_ice.dm @@ -1,5 +1,6 @@ /obj/item/stack/sheet/hot_ice name = "горячий лёд" + skloname = "горячего льда" icon_state = "hot-ice" inhand_icon_state = "hot-ice" singular_name = "горячий лёд" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 13f93cb29d0126..302f3694f91ae1 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -1,5 +1,6 @@ /obj/item/stack/sheet/animalhide name = "кожа" + skloname = "кожи" desc = "Что-то пошло не так." icon_state = "sheet-hide" inhand_icon_state = null @@ -8,6 +9,7 @@ /obj/item/stack/sheet/animalhide/human name = "человеческая кожа" + skloname = "человеческой кожи" desc = "Побочный продукт человеческого происхождения... у тебя все нормально с головой?" singular_name = "кусок человеческой кожи" novariants = FALSE @@ -27,6 +29,7 @@ GLOBAL_LIST_INIT(human_recipes, list( \ /obj/item/stack/sheet/animalhide/generic name = "кожа" + skloname = "кожи" desc = "Кусочек кожи." singular_name = "кусочек кожи" novariants = FALSE @@ -34,6 +37,7 @@ GLOBAL_LIST_INIT(human_recipes, list( \ /obj/item/stack/sheet/animalhide/corgi name = "шкура корги" + skloname = "шкуры корги" desc = "Побочный продукт выращивания корги." singular_name = "кусочек кожи корги" icon_state = "sheet-corgi" @@ -50,6 +54,7 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ /obj/item/stack/sheet/animalhide/mothroach name = "шкура гондолы" + skloname = "шкуры гондолы" desc = "Чрезвычайно ценный продукт охоты на гондол." singular_name = "кусочек шкуры гондолы" icon_state = "sheet-mothroach" @@ -61,6 +66,7 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ /obj/item/stack/sheet/animalhide/gondola name = "шкура гондолы" + skloname = "шкуры гондолы" desc = "Чрезвычайно ценный продукт охоты на гондол." singular_name = "кусочек шкуры гондолы" icon_state = "sheet-gondola" @@ -81,6 +87,7 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \ /obj/item/stack/sheet/animalhide/cat name = "кошачья шкура" + skloname = "кошачьей шкуры" desc = "Побочный продукт разведения кошек." singular_name = "кусок шкуры кошки" icon_state = "sheet-cat" @@ -92,6 +99,7 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \ /obj/item/stack/sheet/animalhide/monkey name = "шкура обезьяны" + skloname = "шкуры обезьяны" desc = "Побочный продукт разведения обезьян." singular_name = "кусок шкуры обезьяны" icon_state = "sheet-monkey" @@ -112,6 +120,7 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \ /obj/item/stack/sheet/animalhide/lizard name = "кожа ящерицы" + skloname = "кожи ящерицы" desc = "Ссссссс..." singular_name = "кусок кожи ящерицы" icon_state = "sheet-lizard" @@ -123,6 +132,7 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \ /obj/item/stack/sheet/animalhide/xeno name = "инопланетная шкура" + skloname = "инопланетной шкуры" desc = "Кожа ужасного существа." singular_name = "кусок кожи инопланетянина" icon_state = "sheet-xeno" @@ -143,6 +153,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \ /obj/item/stack/sheet/animalhide/carp name = "чешуя карпа" + skloname = "чешуи карпа" desc = "Чешуя карпа. Выглядит довольно красиво, когда отделена от гадкого существа, которое носило ее." singular_name = "carp scale" icon_state = "sheet-carp" @@ -167,6 +178,7 @@ GLOBAL_LIST_INIT(carp_recipes, list ( \ //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? /obj/item/stack/sheet/xenochitin name = "инопланетный хитин" + skloname = "инопланетного хитина" desc = "Кусок шкуры ужасного существа." singular_name = "кусок кожи инопланетянина" icon = 'icons/mob/nonhuman-player/alien.dmi' @@ -191,6 +203,7 @@ GLOBAL_LIST_INIT(carp_recipes, list ( \ */ /obj/item/stack/sheet/leather name = "кожа" + skloname = "кожи" desc = "Побочный продукт разведения животных." singular_name = "кусок кожи" icon_state = "sheet-leather" @@ -233,6 +246,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ */ /obj/item/stack/sheet/sinew name = "сухожилия стражника" + skloname = "сухожилий стражника" icon = 'icons/obj/mining.dmi' desc = "Длинные волокнистые нити, которые предположительно пришли с крыльев наблюдателя." singular_name = "сухожилие стражника" @@ -256,6 +270,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ /obj/item/stack/sheet/sinew/wolf name = "волчьи сухожилия" + skloname = "волчьих сухожилий" desc = "Длинные волокнистые нити, которые пришли изнутри волка." singular_name = "волчье сухожилие" merge_type = /obj/item/stack/sheet/sinew/wolf @@ -272,6 +287,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /*Plates*/ /obj/item/stack/sheet/animalhide/goliath_hide name = "шкурные пластины голиафа" + skloname = "шкурных пластин голиафа" desc = "Осколки скалистой шкуры Голиафа могут сделать ваш костюм более стойким к атакам местной фауны." icon = 'icons/obj/stack_objects.dmi' icon_state = "goliath_hide" @@ -286,6 +302,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide name = "шкура полярного медведя" + skloname = "шкуры полярного медведя" desc = "Кусочки меха белого медведможнот сделать ваш костюм более стойким к атакам местной фауны." icon_state = "polar_bear_hide" singular_name = "шкура медведя" @@ -293,6 +310,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /obj/item/stack/sheet/animalhide/ashdrake name = "шкура пепельного дракона" + skloname = "шкуры пепельного дракона" desc = "Сильная чешуйчатая шкура пепельного дракона." icon = 'icons/obj/stack_objects.dmi' icon_state = "dragon_hide" @@ -335,6 +353,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ /obj/item/stack/sheet/hairlesshide name = "безволосая шкура" + skloname = "безволосой шкуры" desc = "Эта шкура была лишена волос, но все еще нуждается в мытье и загаре." singular_name = "кусок безволосой шкуры" icon_state = "sheet-hairlesshide" @@ -348,6 +367,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ //Step three - drying /obj/item/stack/sheet/wethide name = "мокрая шкура" + skloname = "мокрой шкуры" desc = "Эта шкура была очищена, но все еще нуждается в сушке." singular_name = "мокрая шкура" icon_state = "sheet-wetleather" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 92f135589a48c0..163f8b3ee0b18e 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -29,7 +29,8 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ )) /obj/item/stack/sheet/mineral/sandstone - name = "Кирпич из песчаника" + name = "кирпич из песчаника" + skloname = "кирпича из песчаника" desc = "Кажется, это комбинация из песка и камня." singular_name = "sandstone brick" icon_state = "sheet-sandstone" @@ -54,7 +55,8 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ */ /obj/item/stack/sheet/mineral/sandbags - name = "Мешки с песком" + name = "кешки с песком" + skloname = "мешков с песком" icon_state = "sandbags" singular_name = "Мешок с песком" layer = LOW_ITEM_LAYER @@ -93,6 +95,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ */ /obj/item/stack/sheet/mineral/diamond name = "алмаз" + skloname = "алмаза" icon_state = "sheet-diamond" inhand_icon_state = "sheet-diamond" singular_name = "алмаз" @@ -118,6 +121,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ */ /obj/item/stack/sheet/mineral/uranium name = "уран" + skloname = "урана" icon_state = "sheet-uranium" inhand_icon_state = "sheet-uranium" singular_name = "урановый лист" @@ -149,6 +153,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ */ /obj/item/stack/sheet/mineral/plasma name = "твердая плазма" + skloname = "твердой плазмы" icon_state = "sheet-plasma" inhand_icon_state = "sheet-plasma" singular_name = "лист плазмы" @@ -186,6 +191,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ */ /obj/item/stack/sheet/mineral/gold name = "золото" + skloname = "золота" icon_state = "sheet-gold" inhand_icon_state = "sheet-gold" singular_name = "золотой слиток" @@ -213,6 +219,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ */ /obj/item/stack/sheet/mineral/silver name = "серебро" + skloname = "серебра" icon_state = "sheet-silver" inhand_icon_state = "sheet-silver" singular_name = "серебряный слиток" @@ -239,6 +246,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ */ /obj/item/stack/sheet/mineral/bananium name = "бананиум" + skloname = "бананиума" icon_state = "sheet-bananium" inhand_icon_state = null singular_name = "лист бананиума" @@ -266,6 +274,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ */ /obj/item/stack/sheet/mineral/titanium name = "титан" + skloname = "титана" icon_state = "sheet-titanium" inhand_icon_state = "sheet-titanium" singular_name = "лист титана" @@ -298,6 +307,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ */ /obj/item/stack/sheet/mineral/plastitanium name = "пластитан" + skloname = "пластитана" desc = "Пластитан является сплавом титана и плазмы. Довольно крепкий, однако из за новизны ученые еще не спроектировали основные производственные чертежи." icon_state = "sheet-plastitanium" inhand_icon_state = "sheet-plastitanium" @@ -330,6 +340,7 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ /obj/item/stack/sheet/mineral/snow name = "снег" + skloname = "снега" icon_state = "sheet-snow" inhand_icon_state = null mats_per_unit = list(/datum/material/snow = SHEET_MATERIAL_AMOUNT) @@ -369,6 +380,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( /obj/item/stack/sheet/mineral/adamantine name = "адамантий" + skloname = "адамантия" icon_state = "sheet-adamantine" inhand_icon_state = "sheet-adamantine" singular_name = "лист адамантия" @@ -385,6 +397,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( /obj/item/stack/sheet/mineral/runite name = "Рунит" + skloname = "рунита" desc = "Редкий материал найденный в далеких краях." singular_name = "рунитовый слиток" icon_state = "sheet-runite" @@ -399,6 +412,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( */ /obj/item/stack/sheet/mineral/mythril name = "мифрил" + skloname = "мифрила" icon_state = "sheet-mythril" inhand_icon_state = "sheet-mythril" singular_name = "лист мифрила" @@ -411,6 +425,7 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( */ /obj/item/stack/sheet/mineral/abductor name = "инопланетный сплав" + skloname = "инопланетного сплава" desc = "Загадочный материал с неизведанными свойствами." icon = 'icons/obj/antags/abductor.dmi' icon_state = "sheet-abductor" @@ -441,6 +456,7 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ /obj/item/stack/sheet/mineral/coal name = "уголь" + skloname = "угля" desc = "Черный как негр." icon = 'icons/obj/ore.dmi' icon_state = "slag" @@ -479,6 +495,7 @@ GLOBAL_LIST_INIT(metalhydrogen_recipes, list( /obj/item/stack/sheet/mineral/metal_hydrogen name = "металлический водород" + skloname = "металлического водорода" icon_state = "sheet-metalhydrogen" inhand_icon_state = null singular_name = "лист металлического водорода" @@ -495,6 +512,7 @@ GLOBAL_LIST_INIT(metalhydrogen_recipes, list( /obj/item/stack/sheet/mineral/zaukerite name = "Заукерит" + skloname = "Заукерита" icon_state = "zaukerite" inhand_icon_state = "sheet-zaukerite" singular_name = "заукерит" diff --git a/code/game/objects/items/stacks/sheets/runed_metal.dm b/code/game/objects/items/stacks/sheets/runed_metal.dm index cc3dbedc402333..23058c88293c94 100644 --- a/code/game/objects/items/stacks/sheets/runed_metal.dm +++ b/code/game/objects/items/stacks/sheets/runed_metal.dm @@ -69,6 +69,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ /obj/item/stack/sheet/runed_metal name = "рунический металл" + skloname = "рунического металла" desc = "Листы холодного, покрытого меняющимися надписями, металла." singular_name = "лист рунического металла" icon_state = "sheet-runed" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 95061d8e478aa0..b85f434fedbc80 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -91,7 +91,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new /datum/stack_recipe("каркас командного шлюза", /obj/structure/door_assembly/door_assembly_com, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ new /datum/stack_recipe("каркас шлюза службы безопасности", /obj/structure/door_assembly/door_assembly_sec, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ new /datum/stack_recipe("каркас инженерного шлюза", /obj/structure/door_assembly/door_assembly_eng, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ - new /datum/stack_recipe("каркас шахтерского шлюза", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("каркас шахтёрского шлюза", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ new /datum/stack_recipe("каркас атмосферного шлюза", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ new /datum/stack_recipe("каркас шлюза отдела исследований", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ new /datum/stack_recipe("каркас морозильного шлюза ", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 81b7713b88c9ed..257ad49c7d29c4 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -1,5 +1,6 @@ /obj/item/stack/sheet name = "лист" + var/skloname = "листа" lefthand_file = 'icons/mob/inhands/items/sheets_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/sheets_righthand.dmi' icon_state = "sheet-metal_3" diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 4a0b65bd5f2a01..ded601d8ef8f7a 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -694,11 +694,11 @@ if(is_zero_amount(delete_if_zero = TRUE)) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN var/max = get_amount() - var/stackmaterial = tgui_input_number(user, "How many sheets do you wish to take out of this stack?", "Stack Split", max_value = max) - if(!stackmaterial || QDELETED(user) || QDELETED(src) || !usr.can_perform_action(src, FORBID_TELEKINESIS_REACH)) + var/amount = tgui_input_number(user, "Сколько будем брать листов?", "Stack Split", max_value = max) + if(!amount || QDELETED(user) || QDELETED(src) || !usr.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - split_stack(user, stackmaterial) - to_chat(user, span_notice("Достаю [stackmaterial] листов из кучи.")) + split_stack(user, amount) + to_chat(user, span_notice("Достаю [amount] лист[get_ending(amount, list("", "а", "ов"))] из кучи.")) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /** Splits the stack into two stacks. diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index fa412e9bae71fc..dc4bc555f04940 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -543,6 +543,7 @@ new /obj/item/clothing/mask/surgical(src) new /obj/item/razor(src) new /obj/item/blood_filter(src) + new /obj/item/breathing_bag(src) /obj/item/storage/backpack/duffelbag/coroner name = "вещмешок коронера" @@ -600,6 +601,8 @@ new /obj/item/surgical_drapes(src) new /obj/item/clothing/mask/surgical(src) new /obj/item/blood_filter(src) + new /obj/item/breathing_bag(src) + /obj/item/storage/backpack/duffelbag/engineering name = "промышленный вещмешок" @@ -691,6 +694,7 @@ new /obj/item/clothing/suit/jacket/straight_jacket(src) new /obj/item/clothing/mask/muzzle(src) new /obj/item/mmi/syndie(src) + new /obj/item/breathing_bag(src) /obj/item/storage/backpack/duffelbag/syndie/ammo name = "вещмешок с аммуницией" @@ -789,8 +793,8 @@ desc = "A large duffel bag for holding extra police gear." /obj/item/storage/backpack/duffelbag/mining_conscript - name = "mining conscription kit" - desc = "A duffel bag containing everything a crewmember needs to support a shaft miner in the field." + name = "комплект шахтёра" + desc = "Все шахтёры умерли слишком быстро? Ассистент хочет почувствовать вкус жизни за пределами станции? В любом случае, этот набор - лучший способ превратить обычного члена экипажа в машину для добычи руды и уничтожения монстров. Содержит мезонные очки, кирку, усовершенствованный шахтёрский сканер, грузовую гарнитуру, подушку безопасности, противогаз, костюм исследователя и обновление удостоверения шахтёра. Для открытия требуется доступ Квартермействера." icon_state = "duffel-explorer" inhand_icon_state = "duffel-explorer" diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 4568252f79dbd0..6aeda466e16e5d 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -278,7 +278,7 @@ /obj/item/storage/bag/sheetsnatcher name = "сумка для материалов" - desc = "Сумка разработанная для шахтеров и строителей, способная хранить до 500 листов различных материалов." + desc = "Сумка разработанная для шахтёров и строителей, способная хранить до 500 листов различных материалов." icon = 'icons/obj/mining.dmi' icon_state = "sheetsnatcher" worn_icon_state = "satchel" @@ -305,7 +305,7 @@ /obj/item/storage/bag/sheetsnatcher/borg name = "сумка для материалов киборга" - desc = "Сумка разработанная для шахтеров и строителей, способная хранить до 1000 листов различных материалов." + desc = "Сумка разработанная для шахтёров и строителей, способная хранить до 1000 листов различных материалов." capacity = 500//Borgs get more because >specialization // ----------------------------- diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index ff064c21839427..867cd98461ee57 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -234,6 +234,7 @@ /obj/item/healthanalyzer, /obj/item/hemostat, /obj/item/holosign_creator/medical, + /obj/item/breathing_bag, /obj/item/implant, /obj/item/implantcase, /obj/item/implanter, @@ -309,6 +310,7 @@ SSwardrobe.provide_type(/obj/item/stack/medical/bone_gel, src) SSwardrobe.provide_type(/obj/item/cautery/advanced, src) SSwardrobe.provide_type(/obj/item/surgical_drapes, src) + SSwardrobe.provide_type(/obj/item/breathing_bag, src) update_appearance() /obj/item/storage/belt/medical/ert/get_types_to_preload() @@ -320,6 +322,7 @@ to_preload += /obj/item/stack/medical/bone_gel to_preload += /obj/item/cautery/advanced to_preload += /obj/item/surgical_drapes + to_preload += /obj/item/breathing_bag return to_preload /obj/item/storage/belt/security @@ -376,7 +379,7 @@ /obj/item/storage/belt/mining name = "разгрузка исследователя" - desc = "Универсальная вместительная разгрузка, которую ценят как шахтеры, так и охотники." + desc = "Универсальная вместительная разгрузка, которую ценят как шахтёры, так и охотники." icon_state = "explorer1" inhand_icon_state = "explorer1" worn_icon_state = "explorer1" @@ -400,6 +403,7 @@ /obj/item/knife, /obj/item/lighter, /obj/item/mining_scanner, + /obj/item/breathing_bag, /obj/item/multitool, /obj/item/organ/internal/monster_core, /obj/item/pickaxe, @@ -427,7 +431,6 @@ /obj/item/wirecutters, /obj/item/wrench, /obj/item/wormhole_jaunter, - /obj/item/skeleton_key, )) diff --git a/code/game/objects/items/storage/boxes/job_boxes.dm b/code/game/objects/items/storage/boxes/job_boxes.dm index 21770fb4aaeb27..9bae00abc6ced6 100644 --- a/code/game/objects/items/storage/boxes/job_boxes.dm +++ b/code/game/objects/items/storage/boxes/job_boxes.dm @@ -12,6 +12,9 @@ /// What medipen should be present in this box? var/medipen_type = /obj/item/reagent_containers/hypospray/medipen /// Are we crafted? + var/bottle_type = /obj/item/reagent_containers/cup/glass/waterbottle/large + + var/crafted = FALSE /obj/item/storage/box/survival/Initialize(mapload) @@ -41,10 +44,11 @@ new /obj/item/flashlight/flare(src) new /obj/item/radio/off(src) - if(SSmapping.is_planetary() && LAZYLEN(SSmapping.multiz_levels)) new /obj/item/climbing_hook/emergency(src) + new bottle_type(src) + /obj/item/storage/box/survival/radio/PopulateContents() ..() // we want the survival stuff too. new /obj/item/radio/off(src) @@ -211,6 +215,7 @@ /obj/item/tank/internals/emergency_oxygen/engi/clown/bz, /obj/item/tank/internals/emergency_oxygen/engi/clown/helium, ) + return ..() //Mime survival box diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index 2465ad17ec2034..0333f05ef5b86e 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -42,6 +42,7 @@ /obj/item/extinguisher/mini, /obj/item/reagent_containers/hypospray, /obj/item/sensor_device, + /obj/item/breathing_bag, /obj/item/radio, /obj/item/clothing/gloves, /obj/item/lazarus_injector, @@ -144,6 +145,7 @@ /obj/item/scalpel = 1, /obj/item/hemostat = 1, /obj/item/cautery = 1, + /obj/item/breathing_bag = 1, ) generate_items_inside(items_inside,src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index bc9eac565231cf..d7bfc1c4a37fb2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -42,6 +42,7 @@ new /obj/item/clothing/gloves/latex/nitrile(src) new /obj/item/storage/belt/medical(src) new /obj/item/clothing/glasses/hud/health(src) + new /obj/item/breathing_bag(src) return /obj/structure/closet/secure_closet/psychology diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm index 2e5e6d08d6fd73..b2325a5108f921 100644 --- a/code/game/objects/structures/door_assembly_types.dm +++ b/code/game/objects/structures/door_assembly_types.dm @@ -27,7 +27,7 @@ airlock_type = /obj/machinery/door/airlock/engineering /obj/structure/door_assembly/door_assembly_min - name = "каркас шлюза шахтеров" + name = "каркас шлюза шахтёров" icon = 'icons/obj/doors/airlocks/station/mining.dmi' base_name = "mining airlock" glass_type = /obj/machinery/door/airlock/mining/glass diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index eab29099dfd940..c13c2928ced327 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -82,12 +82,12 @@ if(!can_harvest(user, used_item)) return ..() - user.visible_message(span_notice("[user] starts to [harvest_verb] [src]..."), - span_notice("You start to [harvest_verb] [src] with [used_item]...")) + user.visible_message(span_notice("[user] начинает [harvest_verb] [src]..."), + span_notice("Начинаю [harvest_verb] [src], используя [used_item]...")) play_attack_sound(used_item.force) if(!do_after(user, harvest_time * used_item.toolspeed, src)) return - visible_message(span_notice("[user] [harvest_verb][harvest_verb_suffix] [src]."), + visible_message(span_notice("[user] [harvest_verb] [src]."), ignored_mobs = list(user)) play_attack_sound(used_item.force) @@ -101,8 +101,8 @@ if(!can_harvest(user)) return - user.visible_message(span_notice("[user] starts to [harvest_verb] [src]..."), - span_notice("You start to [harvest_verb] [src]...")) + user.visible_message(span_notice("[user] начинает [harvest_verb] [src]..."), + span_notice("Начинаю [harvest_verb] [src]...")) play_attack_sound() if(!do_after(user, harvest_time, src)) return @@ -290,8 +290,7 @@ harvest_message_low = "You manage to gather a few logs from the tree." harvest_message_med = "You manage to gather some logs from the tree." harvest_message_high = "You manage to get most of the wood from the tree." - harvest_verb = "chop" - harvest_verb_suffix = "s down" + harvest_verb = "рубить" delete_on_harvest = TRUE flora_flags = FLORA_HERBAL | FLORA_WOODEN @@ -1001,7 +1000,7 @@ harvest_amount_low = 10 harvest_amount_high = 20 harvest_message_med = "You finish mining the rock." - harvest_verb = "mine" + harvest_verb = "копать" flora_flags = FLORA_STONE can_uproot = FALSE delete_on_harvest = TRUE diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 6996abfcf533bd..2ffe1a0bac8a54 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -25,7 +25,7 @@ . = ..() switch(state) if(GIRDER_REINF) - . += span_notice("Ребра жесткости закреплены винтами на своем месте.") + . += span_notice("Ребра жесткости закреплены винтами.") if(GIRDER_REINF_STRUTS) . += span_notice("Ребра жесткости откручены и могут быть перекушены для демонтажа.") if(GIRDER_NORMAL) diff --git a/code/modules/admin/verbs/admin.dm b/code/modules/admin/verbs/admin.dm index 1faa379511e250..dd7504e38387c1 100644 --- a/code/modules/admin/verbs/admin.dm +++ b/code/modules/admin/verbs/admin.dm @@ -153,7 +153,7 @@ for (var/trait in ULTRA_TRAIT_LIST) ADD_TRAIT(D, trait, source) else - ADD_TRAIT(D,chosen_trait,source) + ADD_TRAIT(D, chosen_trait, source) if("Remove") var/specific = input("All or specific source ?", "Trait Remove/Add") as null|anything in list("All","Specific") if(!specific) diff --git a/code/modules/antagonists/ashwalker/ashwalker.dm b/code/modules/antagonists/ashwalker/ashwalker.dm index 7caa0d0a2fb0bb..00abf3707603df 100644 --- a/code/modules/antagonists/ashwalker/ashwalker.dm +++ b/code/modules/antagonists/ashwalker/ashwalker.dm @@ -27,7 +27,6 @@ /datum/antagonist/ashwalker/on_gain() . = ..() RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate)) - owner.teach_crafting_recipe(/datum/crafting_recipe/skeleton_key) /datum/antagonist/ashwalker/on_removal() . = ..() diff --git a/code/modules/antagonists/heretic/heretic_living_heart.dm b/code/modules/antagonists/heretic/heretic_living_heart.dm index 1766cb4cd765e0..c2559a31b56901 100644 --- a/code/modules/antagonists/heretic/heretic_living_heart.dm +++ b/code/modules/antagonists/heretic/heretic_living_heart.dm @@ -67,7 +67,7 @@ */ /datum/action/cooldown/track_target name = "Living Heartbeat" - desc = "LMB: Chose one of your sacrifice targets to track. RMB: Repeats last target you chose to track." + desc = "LMB: Chose one of your sacrifice targets to track. ПКМ: Repeats last target you chose to track." check_flags = AB_CHECK_CONSCIOUS background_icon_state = "bg_heretic" button_icon = 'icons/obj/antags/eldritch.dmi' diff --git a/code/modules/antagonists/nightmare/nightmare_species.dm b/code/modules/antagonists/nightmare/nightmare_species.dm index 068bb2b6c5c1f1..828a4bcf680b3d 100644 --- a/code/modules/antagonists/nightmare/nightmare_species.dm +++ b/code/modules/antagonists/nightmare/nightmare_species.dm @@ -18,6 +18,7 @@ TRAIT_PIERCEIMMUNE, TRAIT_NODISMEMBER, TRAIT_NOHUNGER, + TRAIT_NOHYDRATION, TRAIT_NOBLOOD, TRAIT_NO_DNA_COPY, TRAIT_NODISMEMBER, diff --git a/code/modules/basketball/controller.dm b/code/modules/basketball/controller.dm index f5cc286ba2a187..bc1f05667e4c41 100644 --- a/code/modules/basketball/controller.dm +++ b/code/modules/basketball/controller.dm @@ -201,7 +201,7 @@ GLOBAL_VAR(basketball_game) else to_chat(baller, span_notice("You are a basketball player for the [team_name]. Score as much as you can before time runs out.")) to_chat(baller, span_info("LMB to pass the ball while on help intent (zero stamina cost/) - accuracy penalty when scoring)")) - to_chat(baller, span_info("RMB to shoot the ball ([STAMINA_COST_SHOOTING] stamina cost) - this goes over players heads")) + to_chat(baller, span_info("ПКМ to shoot the ball ([STAMINA_COST_SHOOTING] stamina cost) - this goes over players heads")) to_chat(baller, span_info("Click directly on hoop while adjacent to dunk ([STAMINA_COST_DUNKING] stamina cost)")) to_chat(baller, span_info("Spinning decreases other players disarm chance against you but reduces shooting accuracy ([STAMINA_COST_SPINNING] stamina cost)")) diff --git a/code/modules/cards/singlecard.dm b/code/modules/cards/singlecard.dm index 695fc9f92b53ec..ecb2e4c2e56298 100644 --- a/code/modules/cards/singlecard.dm +++ b/code/modules/cards/singlecard.dm @@ -240,5 +240,5 @@ /obj/item/toy/singlecard/AltClick(mob/living/carbon/human/user) if(user.can_perform_action(src, NEED_DEXTERITY|FORBID_TELEKINESIS_REACH)) transform = turn(transform, 90) - // use the simple_rotation component to make this turn with Alt+RMB & Alt+LMB at some point in the future - TimT + // use the simple_rotation component to make this turn with Alt+ПКМ & Alt+LMB at some point in the future - TimT return ..() diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index fbe18f074566b5..2338e039c18096 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -1194,7 +1194,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Stop Self Sounds")) /client/verb/toggle_fullscreen() - set name = "Полный экран" + set name = "ПОЛНЫЙ ЭКРАН" set category = "OOC" fullscreen = !fullscreen diff --git a/code/modules/clothing/chameleon/_chameleon_outfit.dm b/code/modules/clothing/chameleon/_chameleon_outfit.dm index df5f3056ac5cd5..d0d3a1c8dbffa5 100644 --- a/code/modules/clothing/chameleon/_chameleon_outfit.dm +++ b/code/modules/clothing/chameleon/_chameleon_outfit.dm @@ -1,7 +1,7 @@ /datum/action/chameleon_outfit name = "Select Chameleon Outfit" desc = "LMB: Select a job to update all of your chameleon items to.
\ - RMB: Save your current chameleon setup as a custom outfit." + ПКМ: Save your current chameleon setup as a custom outfit." button_icon_state = "chameleon_outfit" check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_INCAPACITATED|AB_CHECK_HANDS_BLOCKED diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 35c916424af8d6..9a87c80c068fe2 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -248,7 +248,7 @@ /obj/item/clothing/glasses/material/mining name = "сканер оптических материалов" - desc = "Используется шахтерами для обнаружения руд глубоко в скале." + desc = "Используется шахтёрами для обнаружения руд глубоко в скале." icon_state = "material" inhand_icon_state = "glasses" diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index a822664a30ea88..d61d253157ac7e 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -1,8 +1,10 @@ //Engineering Mesons #define MODE_NONE "" -#define MODE_MESON "Мезонный сканер" -#define MODE_TRAY "Терагерцовый сканер" +#define MODE_MESON "meson" +#define MODE_TRAY "t-ray" +#define MODE_MESON_RU "Мезонный сканер" +#define MODE_TRAY_RU "Терагерцовый сканер" #define MODE_SHUTTLE "shuttle" #define MODE_PIPE_CONNECTABLE "connectable" #define MODE_ATMOS_THERMAL "atmospheric-thermal" @@ -24,7 +26,9 @@ color_cutoffs = null var/list/modes = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_NONE) + var/list/modes_ru = list(MODE_NONE = MODE_MESON_RU, MODE_MESON = MODE_TRAY_RU, MODE_TRAY = MODE_NONE) var/mode = MODE_NONE + var/mode_ru = MODE_NONE var/range = 1 var/list/connection_images = list() @@ -40,7 +44,8 @@ /obj/item/clothing/glasses/meson/engine/proc/toggle_mode(mob/user, voluntary) mode = modes[mode] - to_chat(user, "[voluntary ? "Переключаю очки":"Очки переключаются"] [mode ? "to [mode] mode":"off"][voluntary ? ".":"!"]") + mode_ru = modes_ru[mode] + to_chat(user, "[voluntary ? "Переключаю очки":"Очки переключаются"] [mode_ru ? "в режим [mode_ru]":"в режим ВЫКЛ."][voluntary ? ".":"!"]") if(connection_images.len) connection_images.Cut() switch(mode) @@ -207,6 +212,8 @@ #undef MODE_NONE #undef MODE_MESON #undef MODE_TRAY +#undef MODE_MESON_RU +#undef MODE_TRAY_RU #undef MODE_SHUTTLE #undef MODE_PIPE_CONNECTABLE #undef MODE_ATMOS_THERMAL diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 9280b74c94ae5a..4415557e703aba 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -32,14 +32,14 @@ if(obj_flags & EMAGGED || . & EMP_PROTECT_SELF) return obj_flags |= EMAGGED - desc = "[desc] Дисплей слегка мигает." + desc = "[desc] Дисплей слегка мерцает." /obj/item/clothing/glasses/hud/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED) return FALSE obj_flags |= EMAGGED balloon_alert(user, "ПЗЗЗЗЗ") - desc = "[desc] Дисплей слегка мигает." + desc = "[desc] Дисплей слегка мерцает." return TRUE /obj/item/clothing/glasses/hud/suicide_act(mob/living/user) @@ -139,14 +139,14 @@ /obj/item/clothing/glasses/hud/security name = "HUD офицера" - desc = "Главный дисплей, который сканирует гуманоидов в поле зрения и предоставляет точные данные о состоянии их идентификатора и записях безопасности." + desc = "Головной дисплей, который сканирует гуманоидов в поле зрения и предоставляет точные данные о состоянии их идентификатора и записях безопасности." icon_state = "securityhud" hud_type = DATA_HUD_SECURITY_ADVANCED hud_trait = TRAIT_SECURITY_HUD glass_colour_type = /datum/client_colour/glass_colour/red /obj/item/clothing/glasses/hud/security/chameleon - name = "хамелеонный HUD офицера" + name = "HUD офицера" desc = "Украденный HUD офицера, интегрированный с технологией хамелеона Синдиката. Обеспечивает защиту от вспышек." flash_protect = FLASH_PROTECTION_FLASH actions_types = list(/datum/action/item_action/chameleon/change/glasses/no_preset) diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 953229f611d20e..dac95e321b4368 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -1,6 +1,6 @@ /obj/item/clothing/mask/breath - desc = "A close-fitting mask that can be connected to an air supply." - name = "breath mask" + name = "дыхательная маска" + desc = "Плотно прилегающая маска, которая может быть подключена к источнику воздуха." icon_state = "breath" inhand_icon_state = "m_mask" body_parts_covered = 0 diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index f2215c24a6c1cb..fdc4050cc8ce46 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -386,7 +386,7 @@ //Mining hardsuit /obj/item/clothing/head/helmet/space/hardsuit/mining - name = "шахтерский герметичный шлем" + name = "шахтёрский герметичный шлем" desc = "Разработан для работы в условиях космоса, имеет два фонарика для подсветки." icon_state = "hardsuit0-mining" inhand_icon_state = "mining_helm" @@ -418,7 +418,7 @@ wearer.update_worn_head() /obj/item/clothing/suit/space/hardsuit/mining - name = "шахтерский скафандр" + name = "шахтёрский скафандр" desc = "Специальный скафандр для работы в космосе. Должен защищать от тварей на Лаваленде." icon_state = "hardsuit-mining" inhand_icon_state = "mining_hardsuit" diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 2920cc4bc97134..a71fa1148543d2 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -176,7 +176,7 @@ /obj/machinery/hydroponics/constructable/examine(mob/user) . = ..() - . += span_notice("Use Ctrl-Click to activate autogrow. RMB to empty the tray's nutrients.") + . += span_notice("Use Ctrl-Click to activate autogrow. ПКМ to empty the tray's nutrients.") if(in_range(user, src) || isobserver(user)) . += span_notice("Дисплей: Tray efficiency at [rating*100]%.") diff --git a/code/modules/language/aphasia.dm b/code/modules/language/aphasia.dm index 9d4e317c4d881b..7b604267a28de2 100644 --- a/code/modules/language/aphasia.dm +++ b/code/modules/language/aphasia.dm @@ -1,9 +1,9 @@ /datum/language/aphasia - name = "Gibbering" - desc = "It is theorized that any sufficiently brain-damaged person can speak this language." + name = "Тараторщина" + desc = "Предполагается, что на этом языке может говорить любой человек с достаточно поврежденным мозгом." flags = LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD key = "i" - syllables = list("m","n","gh","h","l","s","r","a","e","i","o","u") + syllables = list("м","н","гх","х","л","с","р","а","е","и","о","у") space_chance = 20 default_priority = 10 icon_state = "aphasia" diff --git a/code/modules/language/beachbum.dm b/code/modules/language/beachbum.dm index d78be9788f35b3..27fbe9cd6d4ff3 100644 --- a/code/modules/language/beachbum.dm +++ b/code/modules/language/beachbum.dm @@ -1,21 +1,19 @@ /datum/language/beachbum - name = "Beachtongue" - desc = "An ancient language from the distant Beach Planet. People magically learn to speak it under the influence of space drugs." + name = "Пляжный говор" + desc = "Древний язык с далекой планеты Бич. Люди волшебным образом учатся говорить на нем под воздействием космических наркотиков." key = "u" space_chance = 85 default_priority = 90 - syllables = list( - "cowabunga", "rad", "radical", "dudes", "bogus", "weeed", "every", - "dee", "dah", "woah", "surf", "blazed", "high", "heinous", "day", - "brah", "bro", "blown", "catch", "body", "beach", "oooo", "twenty", - "shiz", "phiz", "wizz", "pop", "chill", "awesome", "dude", "it", - "wax", "stoked", "yes", "ding", "way", "no", "wicked", "aaaa", - "cool", "hoo", "wah", "wee", "man", "maaaaaan", "mate", "wick", - "oh", "ocean", "up", "out", "rip", "slide", "big", "stomp", - "weed", "pot", "smoke", "four-twenty", "shove", "wacky", "hah", - "sick", "slash", "spit", "stoked", "shallow", "gun", "party", - "heavy", "stellar", "excellent", "triumphant", "babe", "four", - "tail", "trim", "tube", "wobble", "roll", "gnarly", "epic", - ) + syllables = list("цовабунга", "рад", "радицал", "дудес", "богус", "вееед", "еверы", + "дее", "дах", "воах", "сурф", "блазед", "хигх", "хеиноус", "даы", + "брах", "бро", "бловн", "цатч", "боды", "беач", "оооо", "твенты", + "шиз", "пхиз", "визз", "поп", "чилл", "авесоме", "дуде", "ит", + "ваx", "стокед", "ыес", "динг", "ваы", "но", "вицкед", "аааа", + "цоол", "хоо", "вах", "вее", "ман", "маааааан", "мате", "вицк", + "ох", "оцеан", "уп", "оут", "рип", "слиде", "биг", "стомп", + "веед", "пот", "смоке", "фоур-твенты", "шове", "вацкы", "хах", + "сицк", "слаш", "спит", "стокед", "шаллов", "гун", "парты", + "хеавы", "стеллар", "еxцеллент", "триумпхант", "бабе", "фоур", + "таил", "трим", "тубе", "воббле", "ролл", "гнарлы", "епиц") icon_state = "beach" diff --git a/code/modules/language/buzzwords.dm b/code/modules/language/buzzwords.dm index c46088c0ad5b9f..aa99a5321ec176 100644 --- a/code/modules/language/buzzwords.dm +++ b/code/modules/language/buzzwords.dm @@ -1,10 +1,10 @@ /datum/language/buzzwords - name = "Buzzwords" - desc = "A common language to all insects, made by the rhythmic beating of wings." + name = "Бззззлова" + desc = "Общий язык для всех насекомых, созданный ритмичным взмахом крыльев." key = "z" space_chance = 0 syllables = list( - "bzz","zzz","z","bz","bzzz","zzzz", "bzzzz", "b", "zz", "zzzzz" + "бзз","ззз","з","бз","бззз","зззз", "бзззз", "б", "зз", "ззззз" ) icon_state = "buzz" default_priority = 90 diff --git a/code/modules/language/calcic.dm b/code/modules/language/calcic.dm index f4882e1105b95f..2a29d2ac54bbe2 100644 --- a/code/modules/language/calcic.dm +++ b/code/modules/language/calcic.dm @@ -1,14 +1,14 @@ /datum/language/calcic - name = "Calcic" - desc = "The disjointed and staccato language of plasmamen. Also understood by skeletons." + name = "Кальциевый" + desc = "Разъединенный и отрывистый язык плазмамена. Также понимают скелеты." key = "b" space_chance = 10 syllables = list( - "k", "ck", "ack", "ick", "cl", "tk", "sk", "isk", "tak", - "kl", "hs", "ss", "ks", "lk", "dk", "gk", "ka", "ska", "la", "pk", - "wk", "ak", "ik", "ip", "ski", "bk", "kb", "ta", "is", "it", "li", "di", - "ds", "ya", "sck", "crk", "hs", "ws", "mk", "aaa", "skraa", "skee", "hss", - "raa", "klk", "tk", "stk", "clk" + "к", "цк", "ацк", "ицк", "цл", "тк", "ск", "иск", "так", + "кл", "хс", "сс", "кс", "лк", "дк", "гк", "ка", "ска", "ла", "пк", + "вк", "ак", "ик", "ип", "ски", "бк", "кб", "та", "ис", "ит", "ли", "ди", + "дс", "я", "сцк", "црк", "хс", "вс", "мк", "ааа", "скраа", "скее", "хсс", + "раа", "клк", "тк", "стк", "цлк" ) icon_state = "calcic" default_priority = 90 diff --git a/code/modules/language/codespeak.dm b/code/modules/language/codespeak.dm index 09db7ef511b4bc..da87f913b69480 100644 --- a/code/modules/language/codespeak.dm +++ b/code/modules/language/codespeak.dm @@ -1,6 +1,6 @@ /datum/language/codespeak name = "Codespeak" - desc = "Syndicate operatives can use a series of codewords to convey complex information, while sounding like random concepts and drinks to anyone listening in." + desc = "Оперативники Синдиката могут использовать серию кодовых слов для передачи сложной информации, звучащей как случайные понятия и напитки для всех, кто их подслушивает." key = "t" default_priority = 0 flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD diff --git a/code/modules/language/common.dm b/code/modules/language/common.dm index 2dc7294983c0a6..3bb868950776b7 100644 --- a/code/modules/language/common.dm +++ b/code/modules/language/common.dm @@ -1,7 +1,7 @@ // 'basic' language; spoken by default. /datum/language/common - name = "Galactic Common" - desc = "The common galactic tongue." + name = "Галактический Общий" + desc = "Общий галактический язык." key = "0" flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_UNDERSTOOD default_priority = 100 @@ -20,37 +20,105 @@ /datum/language/common/syllables = list( // each sublist has an equal chance of being picked, so each syllable has an equal chance of being english or chinese list( - "a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian", "biao", - "bie", "bin", "bing", "bo", "bu", "ca", "cai", "can", "cang", "cao", "ce", "cei", "cen", "ceng", "cha", "chai", - "chan", "chang", "chao", "che", "chen", "cheng", "chi", "chong", "chou", "chu", "chua", "chuai", "chuan", "chuang", "chui", "chun", - "chuo", "ci", "cong", "cou", "cu", "cuan", "cui", "cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", "dei", - "den", "deng", "di", "dian", "diao", "die", "ding", "diu", "dong", "dou", "du", "duan", "dui", "dun", "duo", "e", - "ei", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", "fou", "fu", "ga", "gai", "gan", "gang", - "gao", "ge", "gei", "gen", "geng", "gong", "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha", - "hai", "han", "hang", "hao", "he", "hei", "hen", "heng", "hm", "hng", "hong", "hou", "hu", "hua", "huai", "huan", - "huang", "hui", "hun", "huo", "ji", "jia", "jian", "jiang", "jiao", "jie", "jin", "jing", "jiong", "jiu", "ju", "juan", - "jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", "kei", "ken", "keng", "kong", "kou", "ku", "kua", "kuai", - "kuan", "kuang", "kui", "kun", "kuo", "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian", - "liang", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "luan", "lun", "luo", "ma", "mai", "man", "mang", - "mao", "me", "mei", "men", "meng", "mi", "mian", "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na", - "nai", "nan", "nang", "nao", "ne", "nei", "nen", "neng", "ng", "ni", "nian", "niang", "niao", "nie", "nin", "ning", - "niu", "nong", "nou", "nu", "nuan", "nuo", "o", "ou", "pa", "pai", "pan", "pang", "pao", "pei", "pen", "peng", - "pi", "pian", "piao", "pie", "pin", "ping", "po", "pou", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin", - "qing", "qiong", "qiu", "qu", "quan", "que", "qun", "ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou", - "ru", "rua", "ruan", "rui", "run", "ruo", "sa", "sai", "san", "sang", "sao", "se", "sei", "sen", "seng", "sha", - "shai", "shan", "shang", "shao", "she", "shei", "shen", "sheng", "shi", "shou", "shu", "shua", "shuai", "shuan", "shuang", "shui", - "shun", "shuo", "si", "song", "sou", "su", "suan", "sui", "sun", "suo", "ta", "tai", "tan", "tang", "tao", "te", - "teng", "ti", "tian", "tiao", "tie", "ting", "tong", "tou", "tu", "tuan", "tui", "tun", "tuo", "wa", "wai", "wan", - "wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", "xie", "xin", "xing", "xiong", "xiu", - "xu", "xuan", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "yong", "you", "yu", "yuan", - "yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai", "zhan", "zhang", "zhao", - "zhe", "zhei", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuang", "zhui", "zhun", "zhuo", "zi", - "zong", "zou", "zuan", "zui", "zun", "zuo", "zu", - ), +"а", "аи", "ан", "анг", "ао", "ба", "баи", "бан", "банг", "бао", "беи", "бен", "бенг", "би", "биан", "биао", +"бие", "бин", "бинг", "бо", "бу", "ца", "цаи", "цан", "цанг", "цао", "це", "цеи", "цен", "ценг", "ча", "чаи", +"чан", "чанг", "чао", "че", "чен", "ченг", "чи", "чонг", "чоу", "чу", "чуа", "чуаи", "чуан", "чуанг", "чуи", "чун", +"чуо", "ци", "цонг", "цоу", "цу", "цуан", "цуи", "цун", "цуо", "да", "даи", "дан", "данг", "дао", "де", "деи", +"ден", "денг", "ди", "диан", "диао", "дие", "динг", "диу", "донг", "доу", "ду", "дуан", "дуи", "дун", "дуо", "е", +"еи", "ен", "ер", "фа", "фан", "фанг", "феи", "фен", "фенг", "фо", "фоу", "фу", "га", "гаи", "ган", "ганг", +"гао", "ге", "геи", "ген", "генг", "гонг", "гоу", "гу", "гуа", "гуаи", "гуан", "гуанг", "гуи", "гун", "гуо", "ха", +"хаи", "хан", "ханг", "хао", "хе", "хеи", "хен", "хенг", "хм", "хнг", "хонг", "хоу", "ху", "хуа", "хуаи", "хуан", +"хуанг", "хуи", "хун", "хуо", "йи", "йиа", "йиан", "йианг", "йиао", "йие", "йин", "йинг", "йионг", "йиу", "ю", "юан", +"юе", "юн", "ка", "каи", "кан", "канг", "као", "ке", "кеи", "кен", "кенг", "конг", "коу", "ку", "куа", "куаи", +"куан", "куанг", "куи", "кун", "куо", "ла", "лаи", "лан", "ланг", "лао", "ле", "леи", "ленг", "ли", "лиа", "лиан", +"лианг", "лиао", "лие", "лин", "линг", "лиу", "лонг", "лоу", "лу", "луан", "лун", "луо", "ма", "маи", "ман", "манг", +"мао", "ме", "меи", "мен", "менг", "ми", "миан", "миао", "мие", "мин", "минг", "миу", "мо", "моу", "му", "на", +"наи", "нан", "нанг", "нао", "не", "неи", "нен", "ненг", "нг", "ни", "ниан", "нианг", "ниао", "ние", "нин", "нинг", +"ниу", "нонг", "ноу", "ну", "нуан", "нуо", "о", "оу", "па", "паи", "пан", "панг", "пао", "пеи", "пен", "пенг", +"пи", "пиан", "пиао", "пие", "пин", "пинг", "по", "поу", "пу", "qи", "qиа", "qиан", "qианг", "qиао", "qие", "qин", +"qинг", "qионг", "qиу", "qу", "qуан", "qуе", "qун", "ран", "ранг", "рао", "ре", "рен", "ренг", "ри", "ронг", "роу", +"ру", "руа", "руан", "руи", "рун", "руо", "са", "саи", "сан", "санг", "сао", "се", "сеи", "сен", "сенг", "ша", +"шаи", "шан", "шанг", "шао", "ше", "шеи", "шен", "шенг", "ши", "шоу", "шу", "шуа", "шуаи", "шуан", "шуанг", "шуи", +"шун", "шуо", "си", "сонг", "соу", "су", "суан", "суи", "сун", "суо", "та", "таи", "тан", "танг", "тао", "те", +"тенг", "ти", "тиан", "тиао", "тие", "тинг", "тонг", "тоу", "ту", "туан", "туи", "тун", "туо", "ва", "ваи", "ван", +"ванг", "веи", "вен", "венг", "во", "ву", "xи", "xиа", "xиан", "xианг", "xиао", "xие", "xин", "xинг", "xионг", "xиу", +"xу", "xуан", "xуе", "xун", "я", "ян", "янг", "яо", "ые", "ыи", "ыин", "ыинг", "ёнг", "ёу", "ю", "юан", +"юе", "юн", "за", "заи", "зан", "занг", "зао", "зе", "зеи", "зен", "зенг", "жа", "жаи", "жан", "жанг", "жао", +"же", "жеи", "жен", "женг", "жи", "жонг", "жоу", "жу", "жуа", "жуаи", "жуан", "жуанг", "жуи", "жун", "жуо", "зи", +"зонг", "зоу", "зуан", "зуи", "зун", "зуо", "зу", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи"), list( - "al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", - "le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", - "ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", - "his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", - ), +"а", "аи", "ан", "анг", "ао", "ба", "баи", "бан", "банг", "бао", "беи", "бен", "бенг", "би", "биан", "биао", +"бие", "бин", "бинг", "бо", "бу", "ца", "цаи", "цан", "цанг", "цао", "це", "цеи", "цен", "ценг", "ча", "чаи", +"чан", "чанг", "чао", "че", "чен", "ченг", "чи", "чонг", "чоу", "чу", "чуа", "чуаи", "чуан", "чуанг", "чуи", "чун", +"чуо", "ци", "цонг", "цоу", "цу", "цуан", "цуи", "цун", "цуо", "да", "даи", "дан", "данг", "дао", "де", "деи", +"ден", "денг", "ди", "диан", "диао", "дие", "динг", "диу", "донг", "доу", "ду", "дуан", "дуи", "дун", "дуо", "е", +"еи", "ен", "ер", "фа", "фан", "фанг", "феи", "фен", "фенг", "фо", "фоу", "фу", "га", "гаи", "ган", "ганг", +"гао", "ге", "геи", "ген", "генг", "гонг", "гоу", "гу", "гуа", "гуаи", "гуан", "гуанг", "гуи", "гун", "гуо", "ха", +"хаи", "хан", "ханг", "хао", "хе", "хеи", "хен", "хенг", "хм", "хнг", "хонг", "хоу", "ху", "хуа", "хуаи", "хуан", +"хуанг", "хуи", "хун", "хуо", "йи", "йиа", "йиан", "йианг", "йиао", "йие", "йин", "йинг", "йионг", "йиу", "ю", "юан", +"юе", "юн", "ка", "каи", "кан", "канг", "као", "ке", "кеи", "кен", "кенг", "конг", "коу", "ку", "куа", "куаи", +"куан", "куанг", "куи", "кун", "куо", "ла", "лаи", "лан", "ланг", "лао", "ле", "леи", "ленг", "ли", "лиа", "лиан", +"лианг", "лиао", "лие", "лин", "линг", "лиу", "лонг", "лоу", "лу", "луан", "лун", "луо", "ма", "маи", "ман", "манг", +"мао", "ме", "меи", "мен", "менг", "ми", "миан", "миао", "мие", "мин", "минг", "миу", "мо", "моу", "му", "на", +"наи", "нан", "нанг", "нао", "не", "неи", "нен", "ненг", "нг", "ни", "ниан", "нианг", "ниао", "ние", "нин", "нинг", +"ниу", "нонг", "ноу", "ну", "нуан", "нуо", "о", "оу", "па", "паи", "пан", "панг", "пао", "пеи", "пен", "пенг", +"пи", "пиан", "пиао", "пие", "пин", "пинг", "по", "поу", "пу", "qи", "qиа", "qиан", "qианг", "qиао", "qие", "qин", +"qинг", "qионг", "qиу", "qу", "qуан", "qуе", "qун", "ран", "ранг", "рао", "ре", "рен", "ренг", "ри", "ронг", "роу", +"ру", "руа", "руан", "руи", "рун", "руо", "са", "саи", "сан", "санг", "сао", "се", "сеи", "сен", "сенг", "ша", +"шаи", "шан", "шанг", "шао", "ше", "шеи", "шен", "шенг", "ши", "шоу", "шу", "шуа", "шуаи", "шуан", "шуанг", "шуи", +"шун", "шуо", "си", "сонг", "соу", "су", "суан", "суи", "сун", "суо", "та", "таи", "тан", "танг", "тао", "те", +"тенг", "ти", "тиан", "тиао", "тие", "тинг", "тонг", "тоу", "ту", "туан", "туи", "тун", "туо", "ва", "ваи", "ван", +"ванг", "веи", "вен", "венг", "во", "ву", "xи", "xиа", "xиан", "xианг", "xиао", "xие", "xин", "xинг", "xионг", "xиу", +"xу", "xуан", "xуе", "xун", "я", "ян", "янг", "яо", "ые", "ыи", "ыин", "ыинг", "ёнг", "ёу", "ю", "юан", +"юе", "юн", "за", "заи", "зан", "занг", "зао", "зе", "зеи", "зен", "зенг", "жа", "жаи", "жан", "жанг", "жао", +"же", "жеи", "жен", "женг", "жи", "жонг", "жоу", "жу", "жуа", "жуаи", "жуан", "жуанг", "жуи", "жун", "жуо", "зи", +"зонг", "зоу", "зуан", "зуи", "зун", "зуо", "зу", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи", +"ал", "ан", "ар", "ас", "ат", "еа", "ед", "ен", "ер", "ес", "ха", "хе", "хи", "ин", "ис", "ит", +"ле", "ме", "нд", "не", "нг", "нт", "он", "ор", "оу", "ре", "се", "ст", "те", "тх", "ти", "то", +"ве", "ва", "алл", "анд", "аре", "бут", "ент", "ера", "ере", "еве", "фор", "хад", "хат", "хен", "хер", "хин", +"хис", "инг", "ион", "итх", "нот", "оме", "оул", "оур", "шо", "тед", "тер", "тха", "тхе", "тхи"), ) diff --git a/code/modules/language/draconic.dm b/code/modules/language/draconic.dm index f812c8dc1311a0..cef7fb041c2303 100644 --- a/code/modules/language/draconic.dm +++ b/code/modules/language/draconic.dm @@ -1,17 +1,17 @@ /datum/language/draconic - name = "Draconic" - desc = "The common language of lizard-people, composed of sibilant hisses and rattles." + name = "Драконий" + desc = "Общий язык людей-ящериц, состоящий из свистящего шипения и хрипов." key = "o" flags = TONGUELESS_SPEECH space_chance = 40 syllables = list( - "za", "az", "ze", "ez", "zi", "iz", "zo", "oz", "zu", "uz", "zs", "sz", - "ha", "ah", "he", "eh", "hi", "ih", "ho", "oh", "hu", "uh", "hs", "sh", - "la", "al", "le", "el", "li", "il", "lo", "ol", "lu", "ul", "ls", "sl", - "ka", "ak", "ke", "ek", "ki", "ik", "ko", "ok", "ku", "uk", "ks", "sk", - "sa", "as", "se", "es", "si", "is", "so", "os", "su", "us", "ss", "ss", - "ra", "ar", "re", "er", "ri", "ir", "ro", "or", "ru", "ur", "rs", "sr", - "a", "a", "e", "e", "i", "i", "o", "o", "u", "u", "s", "s" + "за", "аз", "зе", "ез", "зи", "из", "зо", "оз", "зу", "уз", "зс", "сз", + "ха", "ах", "хе", "э", "хи", "их", "хо", "ох", "ху", "ух", "хс", "ш", + "ла", "ал", "ле", "ел", "ли", "ил", "ло", "ол", "лу", "ул", "лс", "сл", + "ка", "ак", "ке", "ек", "ки", "ик", "ко", "ок", "ку", "ук", "кс", "ск", + "са", "ас", "се", "ес", "си", "ис", "со", "ос", "су", "ус", "сс", "сс", + "ра", "ар", "ре", "ер", "ри", "ир", "ро", "ор", "ру", "ур", "рс", "ср", + "а", "а", "е", "е", "и", "и", "о", "о", "у", "у", "с", "с" ) icon_state = "lizard" default_priority = 90 diff --git a/code/modules/language/drone.dm b/code/modules/language/drone.dm index 5b47533d45e3af..3b17fe37672cc2 100644 --- a/code/modules/language/drone.dm +++ b/code/modules/language/drone.dm @@ -1,6 +1,6 @@ /datum/language/drone - name = "Drone" - desc = "A heavily encoded damage control coordination stream, with special flags for hats." + name = "Дронлинк" + desc = "Сильно закодированный двубитный поток данных для координации ремонтных работ и специальными флагами для идентификации шляп." spans = list(SPAN_ROBOT) key = "d" flags = NO_STUTTER diff --git a/code/modules/language/language_manuals.dm b/code/modules/language/language_manuals.dm index eb4ca456440d85..b8796f6b28058f 100644 --- a/code/modules/language/language_manuals.dm +++ b/code/modules/language/language_manuals.dm @@ -13,10 +13,10 @@ return if(user.has_language(language)) - to_chat(user, span_boldwarning("You start skimming through [src], but you already know [initial(language.name)].")) + to_chat(user, span_boldwarning("Начинаю изучать [src.name], но я уже знаю [initial(language.name)].")) return - to_chat(user, span_boldannounce("You start skimming through [src], and [flavour_text].")) + to_chat(user, span_boldannounce("Начинаю изучать [src.name] и [flavour_text].")) user.grant_language(language) user.remove_blocked_language(language, source=LANGUAGE_ALL) diff --git a/code/modules/language/machine.dm b/code/modules/language/machine.dm index 36962a712a1b59..fc56945df2dd03 100644 --- a/code/modules/language/machine.dm +++ b/code/modules/language/machine.dm @@ -1,14 +1,10 @@ /datum/language/machine - name = "Encoded Audio Language" - desc = "An efficient language of encoded tones developed by synthetics and cyborgs." + name = "Закодированный язык аудио" + desc = "Эффективный язык кодированных тонов, разработанный синтетиками и киборгами." spans = list(SPAN_ROBOT) key = "6" flags = NO_STUTTER - syllables = list( - "beep", "beep", "beep", "beep", "beep", "boop", "boop", "boop", - "bop", "bop", "dee", "dee", "doo", "doo", "hiss", "hss", "buzz", - "buzz", "bzz", "ksssh", "keey", "wurr", "wahh", "tzzz", - ) + syllables = list("бип","бип","бип","бип","бип","буп","буп","буп","боп","боп","ди","ди","ду","ду","хисс","хсс","бзз","бзз","бзз","кссш","кееы","вурр","вахх","тззз") space_chance = 10 default_priority = 90 diff --git a/code/modules/language/moffic.dm b/code/modules/language/moffic.dm index 1d0aea96697fb7..206f3d026bfc32 100644 --- a/code/modules/language/moffic.dm +++ b/code/modules/language/moffic.dm @@ -1,14 +1,14 @@ /datum/language/moffic - name = "Moffic" - desc = "The language of the Mothpeople borders on complete unintelligibility." + name = "Моффик" + desc = "Язык людей-молей, который граничит с полной непонятностью." key = "m" space_chance = 10 syllables = list( - "år", "i", "går", "sek", "mo", "ff", "ok", "gj", "ø", "gå", "la", "le", - "lit", "ygg", "van", "dår", "næ", "møt", "idd", "hvo", "ja", "på", "han", - "så", "ån", "det", "att", "nå", "gö", "bra", "int", "tyc", "om", "när", - "två", "må", "dag", "sjä", "vii", "vuo", "eil", "tun", "käyt", "teh", "vä", - "hei", "huo", "suo", "ää", "ten", "ja", "heu", "stu", "uhr", "kön", "we", "hön" + "åр", "и", "гåр", "сек", "мо", "фф", "ок", "гй", "ø", "гå", "ла", "ле", + "лит", "ыгг", "ван", "дåр", "нæ", "мøт", "идд", "хво", "я", "пå", "хан", + "сå", "åн", "дет", "атт", "нå", "гö", "бра", "инт", "тыц", "ом", "нäр", + "твå", "мå", "даг", "сйä", "вии", "вуо", "еил", "тун", "кäыт", "тэ", "вä", + "хеи", "хуо", "суо", "ää", "тен", "я", "хеу", "сту", "ухр", "кöн", "ве", "хöн" ) icon_state = "moth" default_priority = 90 diff --git a/code/modules/language/monkey.dm b/code/modules/language/monkey.dm index e44f6a6268e257..f5239e78d9c8ea 100644 --- a/code/modules/language/monkey.dm +++ b/code/modules/language/monkey.dm @@ -1,9 +1,19 @@ /datum/language/monkey - name = "Chimpanzee" - desc = "Ook ook ook." + name = "Обезьяний" + desc = "Уук уук уук." key = "1" space_chance = 100 - syllables = list("oop", "aak", "chee", "eek") + syllables = list("ууп", "аак", "чии", "иик") + default_priority = 80 + + icon_state = "animal" + +/datum/language/monkey/caucasian + name = "Язык народов Дагестана" + desc = "Нихуя не понятно." + key = "d" + space_chance = 100 + syllables = list("э", "ара", "ора", "уцик") default_priority = 80 icon_state = "animal" diff --git a/code/modules/language/mushroom.dm b/code/modules/language/mushroom.dm index 08d494cc04d646..6acb395ff43b1e 100644 --- a/code/modules/language/mushroom.dm +++ b/code/modules/language/mushroom.dm @@ -1,7 +1,7 @@ /datum/language/mushroom - name = "Mushroom" - desc = "A language that consists of the sound of periodic gusts of spore-filled air being released." + name = "Грибной" + desc = "Язык, состоящий из звуков периодических порывов воздуха, наполненного спорами." key = "y" sentence_chance = 0 default_priority = 80 - syllables = list("poof", "pff", "pFfF", "piff", "puff", "pooof", "pfffff", "piffpiff", "puffpuff", "poofpoof", "pifpafpofpuf") + syllables = list("пуф", "пфф", "пФфФ", "пифф", "пуфф", "пуууф", "пфффф", "пиффпифф", "пуффпуфф", "пуффпуфф", "пифпафпуф") diff --git a/code/modules/language/narsian.dm b/code/modules/language/narsian.dm index 4e8402128a0e07..d4e266d0a4b8a3 100644 --- a/code/modules/language/narsian.dm +++ b/code/modules/language/narsian.dm @@ -1,26 +1,26 @@ /datum/language/narsie - name = "Nar'Sian" - desc = "The ancient, blood-soaked, impossibly complex language of Nar'Sian cultists." + name = "Нар'Сийский" + desc = "Древний, пропитанный кровью, невероятно сложный язык культистов Нар'Си." key = "n" sentence_chance = 8 space_chance = 95 //very high due to the potential length of each syllable var/static/list/base_syllables = list( - "h", "v", "c", "e", "g", "d", "r", "n", "h", "o", "p", - "ra", "so", "at", "il", "ta", "gh", "sh", "ya", "te", "sh", "ol", "ma", "om", "ig", "ni", "in", - "sha", "mir", "sas", "mah", "zar", "tok", "lyr", "nqa", "nap", "olt", "val", "qha", - "fwe", "ath", "yro", "eth", "gal", "gib", "bar", "jin", "kla", "atu", "kal", "lig", - "yoka", "drak", "loso", "arta", "weyh", "ines", "toth", "fara", "amar", "nyag", "eske", "reth", "dedo", "btoh", "nikt", "neth", - "kanas", "garis", "uloft", "tarat", "khari", "thnor", "rekka", "ragga", "rfikk", "harfr", "andid", "ethra", "dedol", "totum", - "ntrath", "keriam" + "х", "в", "ц", "е", "г", "д", "р", "н", "х", "о", "п", + "ра", "со", "ат", "ил", "та", "гх", "ш", "я", "те", "ш", "ол", "ма", "ом", "иг", "ни", "ин", + "ша", "мир", "сас", "мах", "зар", "ток", "лыр", "нqа", "нап", "олт", "вал", "qха", + "фве", "атх", "ыро", "етх", "гал", "гиб", "бар", "йин", "кла", "ату", "кал", "лиг", + "ёка", "драк", "лосо", "арта", "веых", "инес", "тотх", "фара", "амар", "няг", "еске", "ретх", "дедо", "бтох", "никт", "нетх", + "канас", "гарис", "улофт", "тарат", "хари", "тхнор", "рекка", "рагга", "рфикк", "харфр", "андид", "етхра", "дедол", "тотум", + "нтратх", "кериам" ) //the list of syllables we'll combine with itself to get a larger list of syllables syllables = list( - "sha", "mir", "sas", "mah", "hra", "zar", "tok", "lyr", "nqa", "nap", "olt", "val", - "yam", "qha", "fel", "det", "fwe", "mah", "erl", "ath", "yro", "eth", "gal", "mud", - "gib", "bar", "tea", "fuu", "jin", "kla", "atu", "kal", "lig", - "yoka", "drak", "loso", "arta", "weyh", "ines", "toth", "fara", "amar", "nyag", "eske", "reth", "dedo", "btoh", "nikt", "neth", "abis", - "kanas", "garis", "uloft", "tarat", "khari", "thnor", "rekka", "ragga", "rfikk", "harfr", "andid", "ethra", "dedol", "totum", - "verbot", "pleggh", "ntrath", "barhah", "pasnar", "keriam", "usinar", "savrae", "amutan", "tannin", "remium", "barada", - "forbici" + "ша", "мир", "сас", "мах", "хра", "зар", "ток", "лыр", "нqа", "нап", "олт", "вал", + "ям", "qха", "фел", "дет", "фве", "мах", "ерл", "атх", "ыро", "етх", "гал", "муд", + "гиб", "бар", "теа", "фуу", "йин", "кла", "ату", "кал", "лиг", + "ёка", "драк", "лосо", "арта", "веых", "инес", "тотх", "фара", "амар", "няг", "еске", "ретх", "дедо", "бтох", "никт", "нетх", "абис", + "канас", "гарис", "улофт", "тарат", "хари", "тхнор", "рекка", "рагга", "рфикк", "харфр", "андид", "етхра", "дедол", "тотум", + "вербот", "плеггх", "нтратх", "бархах", "паснар", "кериам", "усинар", "саврае", "амутан", "таннин", "ремиум", "барада", + "форбици" ) //the base syllables, which include a few rare ones that won't appear in the mixed syllables icon_state = "narsie" default_priority = 10 diff --git a/code/modules/language/nekomimetic.dm b/code/modules/language/nekomimetic.dm index 82edc2afcb57a7..f265b460653299 100644 --- a/code/modules/language/nekomimetic.dm +++ b/code/modules/language/nekomimetic.dm @@ -1,14 +1,14 @@ /datum/language/nekomimetic - name = "Nekomimetic" - desc = "To the casual observer, this langauge is an incomprehensible mess of broken Japanese. To the felinids, it's somehow comprehensible." + name = "Некомиметик" + desc = "Для стороннего наблюдателя этот язык - непонятная путаница ломаного японского языка. Для фелинидов - обыденность." key = "f" space_chance = 70 syllables = list( - "neko", "nyan", "mimi", "moe", "mofu", "fuwa", "kyaa", "kawaii", "poka", "munya", - "puni", "munyu", "ufufu", "uhuhu", "icha", "doki", "kyun", "kusu", "nya", "nyaa", - "desu", "kis", "ama", "chuu", "baka", "hewo", "boop", "gato", "kit", "sune", "yori", - "sou", "baka", "chan", "san", "kun", "mahou", "yatta", "suki", "usagi", "domo", "ori", - "uwa", "zaazaa", "shiku", "puru", "ira", "heto", "etto" + "неко", "нян", "мими", "моэ", "мофу", "фува", "кия", "кавай", "пока", "муня", + "пуни", "мунью", "уфуфу", "ухуху", "ича", "доки", "кюн", "кусу", "ня", "няя", + "десу", "кис", "ама", "чу", "бака", "хево", "буп", "гато", "кит", "сунэ", "йори", + "соу", "бака", "чан", "сан", "кун", "махоу", "ятта", "суки", "усаги", "домо", "ори", + "ува", "заазаа", "шику", "пуру", "айра", "хето", "етто", "я долбоёб", ) icon_state = "neko" default_priority = 90 diff --git a/code/modules/language/piratespeak.dm b/code/modules/language/piratespeak.dm index 5f6cb4897715d7..4c580f8b176fdb 100644 --- a/code/modules/language/piratespeak.dm +++ b/code/modules/language/piratespeak.dm @@ -1,12 +1,11 @@ /datum/language/piratespeak - name = "Piratespeak" - desc = "The language of space pirates." + name = "Пиратский" + desc = "Язык космических пиратов." key = "p" space_chance = 100 default_priority = 90 syllables = list( - "arr", "ahoy", "rum", "aye", "blimey", "booty", "bucko", "grog", "treasure", - "me", "scallywag", "landlubber", "poopdeck", "ye", "avast", - "shiver", "timbers", "matey", "swashbuckler" + "ярр", "корабль", "ром", "да", "чёрт возьми", "добыча", "букко", "грог", "сокровище", + "я", "земляк", "какашка", "дрожь", "стой", "дрожь", "бревна", "дружище", "свашбаклер" ) icon_state = "pirate" diff --git a/code/modules/language/shadowtongue.dm b/code/modules/language/shadowtongue.dm index 9c0adb5eea3ff0..85e1171f4f234d 100644 --- a/code/modules/language/shadowtongue.dm +++ b/code/modules/language/shadowtongue.dm @@ -1,18 +1,18 @@ // You n'wah! // many thanks to https://casualscrolls.fandom.com/wiki/Dunmeri_language, for providing this list of syllables /datum/language/shadowtongue - name = "Shadowtongue" - desc = "What a grand and intoxicating innocence." + name = "Теневой" + desc = "Какая величественная и опьяняющая невинность." key = "x" space_chance = 50 syllables = list( - "er", "sint", "en", "et", "nor", "bahr", "sint", "un", "ku'elm", "lakor", "eri", - "noj", "dashilu", "as", "ot", "lih", "morh", "ghinu", "kin", "sha", "marik", "jibu", - "sudas", "fut", "kol", "bivi", "pohim", "devohr", "ru", "huirf", "neiris", "sut", - "devehr", "iru", "gher", "gan", "ujil", "lacor", "bahris", "ghar", "alnef", "wah", - "khurdhar", "bar", "et", "ilu", "dash", "diru", "noj", "de", "damjulan", "luvahr", - "telshahr", "tifur", "enhi", "am", "bahr", "nei", "neibahri", "n'chow", "n'wah", - "s'wit", "b'vehk", "f'lah", "muth", "sera", "sedura", "bal", "dun" + "ер", "синт", "ен", "ет", "нор", "бахр", "синт", "ун", "ку'елм", "лакор", "ери", + "ной", "дашилу", "ас", "от", "лих", "морх", "гхину", "кин", "ша", "марик", "йибу", + "судас", "фут", "кол", "биви", "похим", "девохр", "ру", "хуирф", "неирис", "сут", + "девэр", "иру", "гхер", "ган", "уйил", "лацор", "бахрис", "гхар", "алнеф", "вах", + "хурдхар", "бар", "ет", "илу", "даш", "диру", "ной", "де", "дамюлан", "лувахр", + "телшахр", "тифур", "енхи", "ам", "бахр", "неи", "неибахри", "н'чов", "н'вах", + "с'вит", "б'вэк", "ф'лах", "мутх", "сера", "седура", "бал", "дун" ) icon_state = "shadow" default_priority = 90 diff --git a/code/modules/language/slime.dm b/code/modules/language/slime.dm index fcb471774118ac..cbb227f3224b12 100644 --- a/code/modules/language/slime.dm +++ b/code/modules/language/slime.dm @@ -1,8 +1,8 @@ /datum/language/slime - name = "Slime" - desc = "A melodic and complex language spoken by slimes. Some of the notes are inaudible to humans." + name = "Слаймовый" + desc = "Мелодичный и сложный язык, на котором говорят слизи. Некоторые ноты не слышны людям." key = "k" - syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!") + syllables = list("кур","курр","xуку","куил","кууум","xукум","вол","xрим","зау","куу-уу","куиx","кууу","зиx","*","!") default_priority = 70 icon_state = "slime" diff --git a/code/modules/language/sylvan.dm b/code/modules/language/sylvan.dm index 68cb73f9d525ad..31f8bdd2585bfb 100644 --- a/code/modules/language/sylvan.dm +++ b/code/modules/language/sylvan.dm @@ -1,15 +1,15 @@ // The language of the podpeople. Yes, it's a shameless ripoff of elvish. /datum/language/sylvan - name = "Sylvan" - desc = "A complicated, ancient language spoken by sentient plants." + name = "Сильванский" + desc = "Сложный древний язык, на котором говорят живые растения." key = "h" space_chance = 20 syllables = list( - "fii", "sii", "rii", "rel", "maa", "ala", "san", "tol", "tok", "dia", "eres", - "fal", "tis", "bis", "qel", "aras", "losk", "rasa", "eob", "hil", "tanl", "aere", - "fer", "bal", "pii", "dala", "ban", "foe", "doa", "cii", "uis", "mel", "wex", - "incas", "int", "elc", "ent", "aws", "qip", "nas", "vil", "jens", "dila", "fa", - "la", "re", "do", "ji", "ae", "so", "qe", "ce", "na", "mo", "ha", "yu" + "фии", "сии", "рии", "рел", "маа", "ала", "сан", "тол", "ток", "диа", "ерес", + "фал", "тис", "бис", "qел", "арас", "лоск", "раса", "еоб", "хил", "танл", "аере", + "фер", "бал", "пии", "дала", "бан", "фое", "доа", "ции", "уис", "мел", "веx", + "инцас", "инт", "елц", "ент", "авс", "qип", "нас", "вил", "йенс", "дила", "фа", + "ла", "ре", "до", "йи", "ае", "со", "qе", "це", "на", "мо", "ха", "ю" ) icon_state = "plant" default_priority = 90 diff --git a/code/modules/language/terrum.dm b/code/modules/language/terrum.dm index 361106ed16c93e..a168fac8ddd9ec 100644 --- a/code/modules/language/terrum.dm +++ b/code/modules/language/terrum.dm @@ -1,14 +1,14 @@ /datum/language/terrum - name = "Terrum" - desc = "The language of the golems. Sounds similar to old-earth Hebrew." + name = "Террум" + desc = "Язык големов. Похоже на древнееврейский." key = "g" space_chance = 40 syllables = list( - "sha", "vu", "nah", "ha", "yom", "ma", "cha", "ar", "et", "mol", "lua", - "ch", "na", "sh", "ni", "yah", "bes", "ol", "hish", "ev", "la", "ot", "la", - "khe", "tza", "chak", "hak", "hin", "hok", "lir", "tov", "yef", "yfe", - "cho", "ar", "kas", "kal", "ra", "lom", "im", "'", "'", "'", "'", "bok", - "erev", "shlo", "lo", "ta", "im", "yom" + "ша", "ву", "нах", "ха", "ём", "ма", "ча", "ар", "ет", "мол", "луа", + "ч", "на", "ш", "ни", "ях", "бес", "ол", "хиш", "ев", "ла", "от", "ла", + "хе", "тза", "чак", "хак", "хин", "хок", "лир", "тов", "ыеф", "ыфе", + "чо", "ар", "кас", "кал", "ра", "лом", "им", "'", "'", "'", "'", "бок", + "ерев", "шло", "ло", "та", "им", "ём" ) icon_state = "golem" default_priority = 90 diff --git a/code/modules/language/uncommon.dm b/code/modules/language/uncommon.dm index 117ed1c76fd1e8..bf310ef25be095 100644 --- a/code/modules/language/uncommon.dm +++ b/code/modules/language/uncommon.dm @@ -1,16 +1,16 @@ /datum/language/uncommon - name = "Galactic Uncommon" - desc = "The second-most spoken Human language." + name = "Галактический необычный" + desc = "Второй по распространенности человеческий язык." key = "!" flags = TONGUELESS_SPEECH space_chance = 50 syllables = list( - "ba", "be", "bo", "ca", "ce", "co", "da", "de", "do", - "fa", "fe", "fo", "ga", "ge", "go", "ha", "he", "ho", - "ja", "je", "jo", "ka", "ke", "ko", "la", "le", "lo", - "ma", "me", "mo", "na", "ne", "no", "ra", "re", "ro", - "sa", "se", "so", "ta", "te", "to", "va", "ve", "vo", - "xa", "xe", "xo", "ya", "ye", "yo", "za", "ze", "zo" +"ба", "бе", "бо", "ца", "це", "цо", "да", "де", "до", +"фа", "фе", "фо", "га", "ге", "го", "ха", "хе", "хо", +"я", "йе", "йо", "ка", "ке", "ко", "ла", "ле", "ло", +"ма", "ме", "мо", "на", "не", "но", "ра", "ре", "ро", +"са", "се", "со", "та", "те", "то", "ва", "ве", "во", +"xа", "xе", "xо", "я", "ые", "ё", "за", "зе", "зо" ) icon_state = "galuncom" default_priority = 90 diff --git a/code/modules/language/voltaic.dm b/code/modules/language/voltaic.dm index 40fa9dcb1e8267..c36a169d521f41 100644 --- a/code/modules/language/voltaic.dm +++ b/code/modules/language/voltaic.dm @@ -1,14 +1,14 @@ // One of these languages will actually work, I'm certain of it. /datum/language/voltaic - name = "Voltaic" - desc = "A sparky language made by manipulating electrical discharge." + name = "Вольтанский" + desc = "Яркий язык, созданный с помощью электрического разряда." key = "v" space_chance = 20 syllables = list( - "bzzt", "skrrt", "zzp", "mmm", "hzz", "tk", "shz", "k", "z", - "bzt", "zzt", "skzt", "skzz", "hmmt", "zrrt", "hzzt", "hz", - "vzt", "zt", "vz", "zip", "tzp", "lzzt", "dzzt", "zdt", "kzt", - "zzzz", "mzz" + "бззт", "скррт", "ззп", "ммм", "хзз", "тк", "шз", "к", "з", + "бзт", "ззт", "скзт", "скзз", "хммт", "зррт", "хззт", "хз", + "взт", "зт", "вз", "зип", "тзп", "лззт", "дззт", "здт", "кзт", + "зззз", "мзз" ) icon_state = "volt" default_priority = 90 diff --git a/code/modules/language/xenocommon.dm b/code/modules/language/xenocommon.dm index c5e6366715d8e7..97e71cc1681245 100644 --- a/code/modules/language/xenocommon.dm +++ b/code/modules/language/xenocommon.dm @@ -1,8 +1,8 @@ /datum/language/xenocommon - name = "Xenomorph" - desc = "The common tongue of the xenomorphs." + name = "Ксеноморфский" + desc = "Общий язык ксеноморфов." key = "4" - syllables = list("sss","sSs","SSS") + syllables = list("ссс","сСс","ССС") default_priority = 50 icon_state = "xeno" diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index c9fdb9747e5bdc..68f9565bd21ec4 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -1,8 +1,8 @@ //Originally coded by ISaidNo, later modified by Kelenius. Ported from Baystation12. /obj/structure/closet/crate/secure/loot - name = "abandoned crate" - desc = "What could be inside?" + name = "брошеный ящик" + desc = "Что же может быть внутри?" icon_state = "securecrate" base_icon_state = "securecrate" integrity_failure = 0 //no breaking open the crate @@ -29,8 +29,8 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/closet/crate/secure/loot/attack_hand(mob/user, list/modifiers) if(locked) - to_chat(user, span_notice("The crate is locked with a Deca-code lock.")) - var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text|null + to_chat(user, span_notice("Нужно ввести четырехзначный код, чтобы открыть этот ящик.")) + var/input = input(usr, "Введите [codelen] цифры. Все цифры должны быть уникальными.", "Deca-Code Lock", "") as text|null if(user.can_perform_action(src) && locked) var/list/sanitised = list() var/sanitycheck = TRUE @@ -49,9 +49,9 @@ tamperproof = 0 // set explosion chance to zero, so we dont accidently hit it with a multitool and instantly die togglelock(user) else if(!input || !sanitycheck || length(sanitised) != codelen) - to_chat(user, span_notice("You leave the crate alone.")) + to_chat(user, span_notice("Оставляю ящик в покое.")) else - to_chat(user, span_warning("A red light flashes.")) + to_chat(user, span_warning("На ящике мигает красная лампочка.")) lastattempt = input attempts-- if(attempts == 0) @@ -70,9 +70,9 @@ if(W.tool_behaviour == TOOL_MULTITOOL) to_chat(user, span_notice("DECA-CODE LOCK REPORT:")) if(attempts == 1) - to_chat(user, span_warning("* Anti-Tamper Bomb will activate on next failed access attempt.")) + to_chat(user, span_warning("* Противосаботажная бомба активируется после следующей неудачной попытки ввода кода.")) else - to_chat(user, span_notice("* Anti-Tamper Bomb will activate after [attempts] failed access attempts.")) + to_chat(user, span_notice("* Число оставшихся попыток - [attempts].")) if(lastattempt != null) var/bulls = 0 //right position, right number var/cows = 0 //wrong position but in the puzzle @@ -96,7 +96,7 @@ lastattempt_it += length(lastattempt_char) code_it += length(code_char) - to_chat(user, span_notice("Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")) + to_chat(user, span_notice("Последний введенный код: \[[lastattempt]\]. [bulls] цифр[bulls == 1 ? "а" : "ы"] на правильн[bulls == 1 ? "ой" : "ых"] позици[bulls == 1 ? "и" : "ях"], [cows] цифр[cows == 1 ? "а" : "ы"] на неправильн[cows == 1 ? "ой" : "ых"].")) return return ..() diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 9d97ec53663e48..5261e52f6ba4f1 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -8,7 +8,7 @@ #define BAD_LAYER 5 /area/shuttle/auxiliary_base - name = "Auxiliary Base" + name = "Дроппод станция" luminosity = 0 //Lighting gets lost when it lands anyway /obj/machinery/computer/auxiliary_base diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 38df199b251bcb..d5e4791628647a 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -1,7 +1,7 @@ /****************Explorer's Suit and Mask****************/ /obj/item/clothing/suit/hooded/explorer - name = "explorer suit" - desc = "An armoured suit for exploring harsh environments." + name = "костюм исследователя" + desc = "Бронированный костюм для общения с весьма недружелюбными созданиями." icon_state = "explorer" icon = 'icons/obj/clothing/suits/utility.dmi' worn_icon = 'icons/mob/clothing/suits/utility.dmi' @@ -35,8 +35,8 @@ acid = 50 /obj/item/clothing/head/hooded/explorer - name = "explorer hood" - desc = "An armoured hood for exploring harsh environments." + name = "капюшон исследователя" + desc = "Бронированный капюшон для общения с весьма недружелюбными созданиями." icon = 'icons/obj/clothing/head/utility.dmi' worn_icon = 'icons/mob/clothing/head/utility.dmi' icon_state = "explorer" @@ -58,8 +58,8 @@ AddComponent(/datum/component/armor_plate) /obj/item/clothing/mask/gas/explorer - name = "explorer gas mask" - desc = "A military-grade gas mask that can be connected to an air supply." + name = "противогаз исследователя" + desc = "Маска военного образца, которая может быть подключена к баллону." icon_state = "gas_mining" inhand_icon_state = "explorer_gasmask" flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH @@ -100,7 +100,7 @@ . = ..() if(mask_adjusted || w_class == WEIGHT_CLASS_SMALL) return - . += span_notice("You could fit this into a box if you adjusted it.") + . += span_notice("Могу поместить в коробку, если сложу её.") /obj/item/clothing/mask/gas/explorer/folded w_class = WEIGHT_CLASS_SMALL @@ -114,9 +114,9 @@ worn_icon = 'icons/mob/clothing/suits/armor.dmi' /obj/item/clothing/suit/hooded/cloak/goliath - name = "goliath cloak" + name = "накидка из голиафа" icon_state = "goliath_cloak" - desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." + desc = "Прочный практичный плащ из многочисленных кусков монстров, он востребован среди ссыльных и отшельников." allowed = list( /obj/item/flashlight, /obj/item/knife/combat/bone, @@ -136,19 +136,19 @@ if(iscarbon(user)) var/mob/living/carbon/char = user if((char.get_item_by_slot(ITEM_SLOT_NECK) == src) || (char.get_item_by_slot(ITEM_SLOT_OCLOTHING) == src)) - to_chat(user, span_warning("You can't adjust [src] while wearing it!")) + to_chat(user, span_warning("Надо снять [src], что его поправить!")) return if(!user.is_holding(src)) - to_chat(user, span_warning("You must be holding [src] in order to adjust it!")) + to_chat(user, span_warning("Надо держать [src], что его поправить!")) return if(slot_flags & ITEM_SLOT_OCLOTHING) slot_flags = ITEM_SLOT_NECK set_armor(/datum/armor/none) - user.visible_message(span_notice("[user] adjusts their [src] for ceremonial use."), span_notice("You adjust your [src] for ceremonial use.")) + user.visible_message(span_notice("[user] поправляет свой [src]."), span_notice("Вы поправляете свой [src], готовя его к бою.")) else slot_flags = initial(slot_flags) set_armor(initial(armor_type)) - user.visible_message(span_notice("[user] adjusts their [src] for defensive use."), span_notice("You adjust your [src] for defensive use.")) + user.visible_message(span_notice("[user] поправляет свой [src]."), span_notice("Вы поправляете свой [src].")) /datum/armor/cloak_goliath melee = 35 @@ -160,11 +160,11 @@ acid = 60 /obj/item/clothing/head/hooded/cloakhood/goliath - name = "goliath cloak hood" + name = "капюшон плаща голиафа" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "golhood" - desc = "A protective & concealing hood." + desc = "Защитный и скрывающий капюшон." armor_type = /datum/armor/cloakhood_goliath clothing_flags = SNUG_FIT flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR @@ -181,9 +181,9 @@ acid = 60 /obj/item/clothing/suit/hooded/cloak/drake - name = "drake armour" + name = "доспехи дракона" icon_state = "dragon" - desc = "A suit of armour fashioned from the remains of an ash drake." + desc = "Доспехи, сделанные из останков дракона." allowed = list( /obj/item/flashlight, /obj/item/gun/energy/recharge/kinetic_accelerator, @@ -215,11 +215,11 @@ acid = 100 /obj/item/clothing/head/hooded/cloakhood/drake - name = "drake helm" + name = "шлем из черепа дракона" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "dragon" - desc = "The skull of a dragon." + desc = "Череп дракона." armor_type = /datum/armor/cloakhood_drake clothing_flags = SNUG_FIT cold_protection = HEAD @@ -239,9 +239,9 @@ acid = 100 /obj/item/clothing/suit/hooded/cloak/godslayer - name = "godslayer armour" + name = "доспехи убийцы богов" + desc = "Доспехи, созданные из того, что осталось от рыцарских доспехов и останков вендиго." icon_state = "godslayer" - desc = "A suit of armour fashioned from the remnants of a knight's armor, and parts of a wendigo." allowed = list( /obj/item/flashlight, /obj/item/gun/energy/recharge/kinetic_accelerator, @@ -281,11 +281,11 @@ acid = 100 /obj/item/clothing/head/hooded/cloakhood/godslayer - name = "godslayer helm" + name = "шлем убийцы богов" + desc = "Рога и череп вендиго, скреплённые оставшейся ледяной энергией демонического шахтёра." icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "godslayer" - desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." armor_type = /datum/armor/cloakhood_godslayer clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT cold_protection = HEAD @@ -309,7 +309,7 @@ /obj/item/clothing/suit/hooded/cloak/godslayer/examine(mob/user) . = ..() if(loc == user && !COOLDOWN_FINISHED(src, effect_cooldown)) - . += "You feel like the revival effect will be able to occur again in [COOLDOWN_TIMELEFT(src, effect_cooldown) / 10] seconds." + . += "Чувствую, что способность к воскрешению снова будет доступна через [COOLDOWN_TIMELEFT(src, effect_cooldown) / 10] секунд." /obj/item/clothing/suit/hooded/cloak/godslayer/equipped(mob/user, slot) . = ..() @@ -327,12 +327,12 @@ if(new_stat > CONSCIOUS && new_stat < DEAD && COOLDOWN_FINISHED(src, effect_cooldown)) COOLDOWN_START(src, effect_cooldown, effect_cooldown_time) //This needs to happen first, otherwise there's an infinite loop user.heal_ordered_damage(heal_amount, damage_heal_order) - user.visible_message(span_notice("[user] suddenly revives, as their armor swirls with demonic energy!"), span_notice("You suddenly feel invigorated!")) + user.visible_message(span_notice("[user] внезапно воскрешается, когда его доспехи окутываются демонической энергией!"), span_notice("Вы внезапно чувствуете себя бодрым!")) playsound(user.loc, 'sound/magic/clockwork/ratvar_attack.ogg', 50) /obj/item/clothing/suit/hooded/explorer/syndicate - name = "syndicate explorer suit" - desc = "An armoured suit for exploring harsh environments, dyed in the sinister red and black of the Syndicate. This one seems better armored than the ones Nanotrasen gives out." + name = "костюм исследователя Синдиката" + desc = "Бронированный костюм для общения с весьма недружелюбными созданиями, окрашенный в зловещий красно-черный цвет Синдиката. Этот костюм кажется более бронированным, чем те, что выдаёт Нанотрейзен." icon_state = "explorer_syndicate" icon = 'icons/obj/clothing/suits/utility.dmi' worn_icon = 'icons/mob/clothing/suits/utility.dmi' @@ -349,8 +349,8 @@ acid = 60 /obj/item/clothing/head/hooded/explorer/syndicate - name = "syndicate explorer hood" - desc = "An armoured hood for exploring harsh environments." + name = "капюшон исследователя Синдиката" + desc = "Бронированный капюшон для общения с весьма недружелюбными созданиями, окрашенный в зловещий красно-черный цвет Синдиката." icon_state = "explorer_syndicate" armor_type = /datum/armor/hooded_explorer_syndicate diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index f5676221f7abf5..630992a28da269 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -1,13 +1,12 @@ /*********************Mining Hammer****************/ /obj/item/kinetic_crusher + name = "прото-кинетический крашер" + desc = "Ранний прототип протокинетического ускорителя, он представляет собой комбинацию различных горнодобывающих инструментов, причудливо собранных вместе в здоровенный топор. Весьма сложный в использованнии, крашер является выбором самых опытных и отчаянных шахтёров." icon = 'icons/obj/mining.dmi' icon_state = "crusher" inhand_icon_state = "crusher0" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' - name = "proto-kinetic crusher" - desc = "An early design of the proto-kinetic accelerator, it is little more than a combination of various mining tools cobbled together, forming a high-tech club. \ - While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna." force = 0 //You can't hit stuff unless wielded w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK @@ -16,8 +15,8 @@ armour_penetration = 10 custom_materials = list(/datum/material/iron=HALF_SHEET_MATERIAL_AMOUNT*1.15, /datum/material/glass=HALF_SHEET_MATERIAL_AMOUNT*2.075) hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb_continuous = list("smashes", "crushes", "cleaves", "chops", "pulps") - attack_verb_simple = list("smash", "crush", "cleave", "chop", "pulp") + attack_verb_continuous = list("размазывает", "уничтожает", "разрубает", "рубит", "ударяет") + attack_verb_simple = list("размазывает", "уничтожает", "разрубает", "рубит", "ударяет") sharpness = SHARP_EDGED actions_types = list(/datum/action/item_action/toggle_light) obj_flags = UNIQUE_RENAME @@ -50,22 +49,22 @@ /obj/item/kinetic_crusher/examine(mob/living/user) . = ..() - . += span_notice("Mark a large creature with a destabilizing force with right-click, then hit them in melee to do [force + detonation_damage] damage.") - . += span_notice("Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].") + . += span_notice("Вы можете выстрелить в большое существо дестабилизирующим зарядом, после чего ударить его в ближнем бою, чтобы нанести [force + detonation_damage] урона.") + . += span_notice("Наносит [force + detonation_damage + backstab_bonus], если цель атакована в спину, иначе [force + detonation_damage].") for(var/t in trophies) var/obj/item/crusher_trophy/T = t - . += span_notice("It has \a [T] attached, which causes [T.effect_desc()].") + . += span_notice("К нему прикреплено [T], которое вызывает [T.effect_desc()].") /obj/item/kinetic_crusher/attackby(obj/item/I, mob/living/user) if(I.tool_behaviour == TOOL_CROWBAR) if(LAZYLEN(trophies)) - to_chat(user, span_notice("You remove [src]'s trophies.")) + to_chat(user, span_notice("Вынимаю улучшения из [src].")) I.play_tool_sound(src) for(var/t in trophies) var/obj/item/crusher_trophy/T = t T.remove_from(src, user) else - to_chat(user, span_warning("There are no trophies on [src].")) + to_chat(user, span_warning("В [src] нет улучшений.")) else if(istype(I, /obj/item/crusher_trophy)) var/obj/item/crusher_trophy/T = I T.add_to(src, user) @@ -74,7 +73,7 @@ /obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) if(!HAS_TRAIT(src, TRAIT_WIELDED)) - to_chat(user, span_warning("[src] is too heavy to use with one hand! You fumble and drop everything.")) + to_chat(user, span_warning("[src] слишком тяжелый, чтобы использовать одной рукой!")) user.drop_all_held_items() return var/datum/status_effect/crusher_damage/C = target.has_status_effect(/datum/status_effect/crusher_damage) @@ -127,10 +126,10 @@ /obj/item/kinetic_crusher/afterattack_secondary(atom/target, mob/living/user, proximity_flag, click_parameters) if(!HAS_TRAIT(src, TRAIT_WIELDED)) - balloon_alert(user, "wield it first!") + balloon_alert(user, "надо взять в обе руки!") return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN if(target == user) - balloon_alert(user, "can't aim at yourself!") + balloon_alert(user, "не могу целиться в себя!") return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN fire_kinetic_blast(target, user, click_parameters) user.changeNext_move(CLICK_CD_MELEE) @@ -183,12 +182,12 @@ . += "[icon_state]_lit" /obj/item/kinetic_crusher/compact //for admins - name = "compact kinetic crusher" + name = "компактный прото-кинетический крашер" w_class = WEIGHT_CLASS_NORMAL //destablizing force /obj/projectile/destabilizer - name = "destabilizing force" + name = "дестабилизирующее поле" icon_state = "pulse1" damage = 0 //We're just here to mark people. This is still a melee weapon. damage_type = BRUTE diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm index a9b7205406e4b9..e9e55f9a2f7645 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -7,8 +7,8 @@ * If a hostile mob is revived with a malfunctioning injector, it will be hostile to everyone except whoever revived it and gets robust searching enabled. */ /obj/item/lazarus_injector - name = "lazarus injector" - desc = "An injector with a cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead, making them become friendly to the user. Unfortunately, the process is useless on higher forms of life and incredibly costly, so these were hidden in storage until an executive thought they'd be great motivation for some of their employees." + name = "инъектор Лазаря" + desc = "Инъектор с коктейлем из наномашин и химических веществ. Он может воскрешать животных из мертвых, заставляя их становиться дружелюбными по отношению к пользователю. К сожалению, этот процесс бесполезен для высших форм жизни и невероятно дорог, поэтому эти инъекторы лежали на складе, пока один из руководителей не решил, что они станут отличной мотивацией для некоторых сотрудников." icon = 'icons/obj/medical/syringe.dmi' icon_state = "lazarus_hypo" inhand_icon_state = "hypo" @@ -38,17 +38,16 @@ var/mob/living/target_animal = target if(!target_animal.compare_sentience_type(revive_type)) // Will also return false if not a basic or simple mob, which are the only two we want anyway - balloon_alert(user, "invalid creature!") + to_chat(user, span_info("[capitalize(src.name)] не действует на данный вид существ.")) return if(target_animal.stat != DEAD) - balloon_alert(user, "it's not dead!") return target_animal.lazarus_revive(user, malfunctioning) expend(target_animal, user) /obj/item/lazarus_injector/proc/expend(atom/revived_target, mob/user) - user.visible_message(span_notice("[user] injects [revived_target] with [src], reviving it.")) + user.visible_message(span_notice("[user] производит инъекцию препарата в [revived_target], воскрешая его.")) SSblackbox.record_feedback("tally", "lazarus_injector", 1, revived_target.type) loaded = FALSE playsound(src,'sound/effects/refill.ogg',50,TRUE) @@ -64,6 +63,6 @@ /obj/item/lazarus_injector/examine(mob/user) . = ..() if(!loaded) - . += span_info("[src] is empty.") + . += span_info("[src] пуст.") if(malfunctioning) - . += span_info("The display on [src] seems to be flickering.") + . += span_info("Дисплей мигает и сбоит.") diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 9dbc1fc4a28dd3..e58d89a5787f95 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -15,9 +15,9 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( "Fuchsia" = LIGHT_COLOR_PINK))) /obj/item/stack/marker_beacon - name = "marker beacon" - singular_name = "marker beacon" - desc = "Prism-brand path illumination devices. Used by miners to mark paths and warn of danger." + name = "маркерный маячок" + singular_name = "маркерный маячок" + desc = "Маркерный маячок марки \"Prism\". Используются шахтёрами для обозначения путей и предупреждения об опасности." icon = 'icons/obj/mining.dmi' icon_state = "marker" merge_type = /obj/item/stack/marker_beacon @@ -39,8 +39,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/item/stack/marker_beacon/examine(mob/user) . = ..() - . += "Use in-hand to place a [singular_name].\n"+\ - "Alt-клик to select a color. Current color is [picked_color]." + . += span_notice("Используй в руке, чтобы установить [singular_name].\nAlt-клик для выбора цвета. Текущий цвет - [picked_color].") /obj/item/stack/marker_beacon/update_icon_state() icon_state = "[initial(icon_state)][lowertext(picked_color)]" @@ -48,13 +47,13 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/item/stack/marker_beacon/attack_self(mob/user) if(!isturf(user.loc)) - to_chat(user, span_warning("You need more space to place a [singular_name] here.")) + to_chat(user, span_warning("Нужно больше места, чтобы установить [singular_name] здесь.")) return if(locate(/obj/structure/marker_beacon) in user.loc) - to_chat(user, span_warning("There is already a [singular_name] here.")) + to_chat(user, span_notice("Устанавливаю и закрепляю [singular_name].")) return if(use(1)) - to_chat(user, span_notice("You activate and anchor [amount ? "a":"the"] [singular_name] in place.")) + to_chat(user, span_notice("Активирую и закрепляю [singular_name].")) playsound(user, 'sound/machines/click.ogg', 50, TRUE) var/obj/structure/marker_beacon/M = new(user.loc, picked_color) transfer_fingerprints_to(M) @@ -62,7 +61,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/item/stack/marker_beacon/AltClick(mob/living/user) if(!istype(user) || !user.can_perform_action(src)) return - var/input_color = tgui_input_list(user, "Choose a color", "Beacon Color", GLOB.marker_beacon_colors) + var/input_color = tgui_input_list(user, "Выбор цвета", "Цвет маяка", GLOB.marker_beacon_colors) if(isnull(input_color)) return if(!istype(user) || !user.can_perform_action(src)) @@ -71,8 +70,8 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( update_appearance() /obj/structure/marker_beacon - name = "marker beacon" - desc = "A Prism-brand path illumination device. It is anchored in place and glowing steadily." + name = "маркерный маячок" + desc = "Маркерный маячок марки \"Prism\". Он закреплен на месте и светится ровным светом." icon = 'icons/obj/mining.dmi' icon_state = "marker" layer = BELOW_OPEN_DOOR_LAYER @@ -108,7 +107,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/structure/marker_beacon/examine(mob/user) . = ..() - . += span_notice("Alt-клик to select a color. Current color is [picked_color].") + . += span_notice("Alt-клик для выбора цвета. Текущий цвет - [picked_color].") /obj/structure/marker_beacon/update_appearance(updates) while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) @@ -125,7 +124,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( . = ..() if(.) return - to_chat(user, span_notice("You start picking [src] up...")) + to_chat(user, span_notice("Начинаю подбирать [src]...")) if(do_after(user, remove_speed, target = src)) var/obj/item/stack/marker_beacon/M = new(loc) M.picked_color = picked_color @@ -141,7 +140,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/structure/marker_beacon/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/marker_beacon)) var/obj/item/stack/marker_beacon/M = I - to_chat(user, span_notice("You start picking [src] up...")) + to_chat(user, span_notice("Начинаю подбирать [src]...")) if(do_after(user, remove_speed, target = src) && M.amount + 1 <= M.max_amount) M.add(1) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm index 46b6d407e38a49..7026a37869f236 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -1,7 +1,7 @@ /**********************Mining Scanners**********************/ /obj/item/mining_scanner - desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." - name = "manual mining scanner" + name = "ручной шахтёрский сканер" + desc = "Сканер, проверяющий окружающую породу на наличие полезных минералов; его также можно использовать для остановки детонации гибтонита." icon = 'icons/obj/device.dmi' icon_state = "manual_mining" inhand_icon_state = "analyzer" @@ -31,9 +31,9 @@ qdel(src) /obj/item/t_scanner/adv_mining_scanner - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range." - name = "advanced automatic mining scanner" - icon_state = "advmining0" + name = "продвинутый автоматический шахтёрский сканер" + desc = "Сканер, автоматически проверяющий окружающую породу на наличие полезных минералов; его также можно использовать для остановки детонации гибтонита. У этого есть расширенный диапазон." + icon_state = "adv_mining0" inhand_icon_state = "analyzer" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' @@ -49,8 +49,8 @@ toggle_on() /obj/item/t_scanner/adv_mining_scanner/lesser - name = "automatic mining scanner" - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." + name = "автоматический шахтёрский сканер" + desc = "Сканер, автоматически проверяющий окружающую породу на наличие полезных минералов; его также можно использовать для остановки детонации гибтонита." icon_state = "mining0" range = 4 cooldown = 50 diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index f7b41c3f669e7d..1e1fbd61ae3abd 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -1,6 +1,6 @@ /*****************Pickaxes & Drills & Shovels****************/ /obj/item/pickaxe - name = "pickaxe" + name = "кирка" icon = 'icons/obj/mining.dmi' icon_state = "pickaxe" inhand_icon_state = "pickaxe" @@ -16,8 +16,8 @@ tool_behaviour = TOOL_MINING toolspeed = 1 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') - attack_verb_continuous = list("hits", "pierces", "slices", "attacks") - attack_verb_simple = list("hit", "pierce", "slice", "attack") + attack_verb_continuous = list("бьёт", "протыкает", "рубит", "атакует") + attack_verb_simple = list("бьёт", "протыкает", "рубит", "атакует") /obj/item/pickaxe/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -27,16 +27,16 @@ return SHAME /obj/item/pickaxe/rusted - name = "rusty pickaxe" - desc = "A pickaxe that's been left to rust." - attack_verb_continuous = list("ineffectively hits") - attack_verb_simple = list("ineffectively hit") + name = "ржавая кирка" + desc = "Кирка, оставленная ржаветь." + attack_verb_continuous = list("тыкает") + attack_verb_simple = list("тыкает") force = 1 throwforce = 1 /obj/item/pickaxe/mini - name = "compact pickaxe" - desc = "A smaller, compact version of the standard pickaxe." + name = "компактная кирка" + desc = "Меньшая, компактная версия стандартной кирки." icon_state = "minipick" worn_icon_state = "pickaxe" force = 10 @@ -46,34 +46,34 @@ custom_materials = list(/datum/material/iron=HALF_SHEET_MATERIAL_AMOUNT) /obj/item/pickaxe/silver - name = "silver-plated pickaxe" + name = "посеребренная кирка" + desc = "Посеребренная кирка, которая добывает немного быстрее, чем стандартная." icon_state = "spickaxe" inhand_icon_state = "spickaxe" toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor - desc = "A silver-plated pickaxe that mines slightly faster than standard-issue." force = 17 /obj/item/pickaxe/diamond - name = "diamond-tipped pickaxe" + name = "кирка с алмазным наконечником" + desc = "Кирка с алмазной головкой. Чрезвычайно устойчива к растрескиванию каменных стен и выкапыванию грязи." icon_state = "dpickaxe" inhand_icon_state = "dpickaxe" toolspeed = 0.3 - desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt." force = 19 /obj/item/pickaxe/drill - name = "mining drill" + name = "шахтёрский бур" + desc = "Тяжелая буровая установка для особо крепкой породы." icon_state = "handdrill" inhand_icon_state = "handdrill" slot_flags = ITEM_SLOT_BELT toolspeed = 0.6 //available from roundstart, faster than a pickaxe. usesound = 'sound/weapons/drill.ogg' hitsound = 'sound/weapons/drill.ogg' - desc = "An electric mining drill for the especially scrawny." /obj/item/pickaxe/drill/cyborg - name = "cyborg mining drill" - desc = "An integrated electric mining drill." + name = "шахтёрский бур киборга" + desc = "Интегрированная электрическая буровая установка." flags_1 = NONE /obj/item/pickaxe/drill/cyborg/Initialize(mapload) @@ -81,30 +81,30 @@ ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT) /obj/item/pickaxe/drill/diamonddrill - name = "diamond-tipped mining drill" + name = "бур с алмазным напылением" + desc = "Мой бур создан, чтобы пронзить небеса!" icon_state = "diamonddrill" inhand_icon_state = "diamonddrill" toolspeed = 0.2 - desc = "Yours is the drill that will pierce the heavens!" /obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version! - name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics. + name = "бур с алмазным напылением киборга" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics. icon_state = "diamonddrill" inhand_icon_state = "diamonddrill" toolspeed = 0.2 /obj/item/pickaxe/drill/jackhammer - name = "sonic jackhammer" + name = "ультразвуковой пневмоперфоратор" + desc = "Крошит породу в пыль высокочастотными звуковыми импульсами." icon_state = "jackhammer" inhand_icon_state = "jackhammer" toolspeed = 0.1 //the epitome of powertools. extremely fast mining usesound = 'sound/weapons/sonic_jackhammer.ogg' hitsound = 'sound/weapons/sonic_jackhammer.ogg' - desc = "Cracks rocks with sonic blasts." /obj/item/pickaxe/improvised - name = "improvised pickaxe" - desc = "A pickaxe made with a knife and crowbar taped together, how does it not break?" + name = "импровизированная кирка" + desc = "Кирка, сделанная из ножа и лома, склеенных вместе, как она не ломается?" icon_state = "ipickaxe" inhand_icon_state = "ipickaxe" worn_icon_state = "pickaxe" @@ -116,8 +116,8 @@ custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*6) //This number used to be insane and I'm just going to save your sanity and not tell you what it was. /obj/item/shovel - name = "shovel" - desc = "A large tool for digging and moving dirt." + name = "лопата" + desc = "Большой инструмент для копания и перемещения грязи." icon = 'icons/obj/mining.dmi' icon_state = "shovel" inhand_icon_state = "shovel" @@ -132,8 +132,8 @@ usesound = 'sound/effects/shovel_dig.ogg' w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.5) - attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks") - attack_verb_simple = list("bash", "bludgeon", "thrash", "whack") + attack_verb_continuous = list("колотит", "ударяет", "колошматит", "вмазывает") + attack_verb_simple = list("колотит", "ударяет", "колошматит", "вмазывает") sharpness = SHARP_EDGED /obj/item/shovel/Initialize(mapload) @@ -163,9 +163,8 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/shovel/serrated - name = "serrated bone shovel" - desc = "A wicked tool that cleaves through dirt just as easily as it does flesh. The design was styled after ancient lavaland tribal designs. \ - It seems less capable of harming inorganic creatures. Who knows why." + name = "зубчатая костяная лопата" + desc = "Коварный инструмент, который пробивает грязь так же легко, как и плоть. Дизайн был выполнен в стиле древних племен Лаваленда." icon_state = "shovel_bone" worn_icon_state = "shovel_serr" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' @@ -175,8 +174,8 @@ w_class = WEIGHT_CLASS_NORMAL tool_behaviour = TOOL_SHOVEL // hey, it's serrated. toolspeed = 0.3 - attack_verb_continuous = list("slashes", "impales", "stabs", "slices") - attack_verb_simple = list("slash", "impale", "stab", "slice") + attack_verb_continuous = list("колотит", "ударяет", "колошматит", "вмазывает") + attack_verb_simple = list("колотит", "ударяет", "колошматит", "вмазывает") sharpness = SHARP_EDGED item_flags = CRUEL_IMPLEMENT @@ -188,19 +187,19 @@ . = ..() if( !(user.mind && HAS_TRAIT(user.mind, TRAIT_MORBID)) ) return - . += span_deadsay("You feel an intense, strange craving to 'dig' straight through living flesh with this shovel. Why else would it be serrated? The thought is mesmerizing...") + . += span_deadsay("Чувствую странное желание пронзить живую плоть этой лопатой. Почему она зубчатая? Мысль завораживает...") // Coroner mail version /obj/item/shovel/serrated/dull - name = "dull bone shovel" - desc = "An ancient, dull bone shovel with a strange design and markings. Visually, it seems pretty weak, but you get the feeling there's more to it than meets the eye..." + name = "тупая костяная лопата" + desc = "Древняя тупая костяная лопата с странным дизайном и маркировкой. Визуально она кажется довольно слабой, но вы чувствуете, что в ней есть что-то большее, чем кажется на первый взгляд..." force = 8 throwforce = 10 toolspeed = 0.8 /obj/item/trench_tool - name = "entrenching tool" - desc = "The multi-purpose tool you always needed." + name = "инструмент для рытья траншей" + desc = "Многоцелевой инструмент, который всегда вам нужен." icon = 'icons/obj/mining.dmi' icon_state = "trench_tool" inhand_icon_state = "trench_tool" @@ -213,8 +212,8 @@ tool_behaviour = TOOL_WRENCH toolspeed = 0.75 usesound = 'sound/items/ratchet.ogg' - attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks") - attack_verb_simple = list("bash", "bludgeon", "thrash", "whack") + attack_verb_continuous = list("колотит", "бьёт", "ударяет", "вмазывает") + attack_verb_simple = list("колотит", "бьёт", "ударяет", "вмазывает") wound_bonus = 10 /obj/item/trench_tool/get_all_tool_behaviours() @@ -226,9 +225,8 @@ /obj/item/trench_tool/examine(mob/user) . = ..() - . += span_notice("Use in hand to switch configuration.") - . += span_notice("It functions as a [tool_behaviour] tool.") - . += span_danger("This weapon has no random critical hits.") + . += span_danger("Используйте в руке, чтобы переключить конфигурацию.") + . += span_danger("Он функционирует как [uncapitalize(tool_behaviour)].") /obj/item/trench_tool/update_icon_state() . = ..() @@ -245,38 +243,38 @@ if(!user) return var/list/tool_list = list( - "Wrench" = image(icon = icon, icon_state = "trench_tool"), - "Shovel" = image(icon = icon, icon_state = "trench_tool_shovel"), - "Pick" = image(icon = icon, icon_state = "trench_tool_pick"), + "Гаечный ключ" = image(icon = icon, icon_state = "trench_tool"), + "Лопата" = image(icon = icon, icon_state = "trench_tool_shovel"), + "Кирка" = image(icon = icon, icon_state = "trench_tool_pick"), ) var/tool_result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) if(!check_menu(user) || !tool_result) return switch(tool_result) - if("Wrench") + if("Гаечный ключ") tool_behaviour = TOOL_WRENCH sharpness = NONE toolspeed = 0.75 w_class = WEIGHT_CLASS_SMALL usesound = 'sound/items/ratchet.ogg' - attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks") - attack_verb_simple = list("bash", "bludgeon", "thrash", "whack") - if("Shovel") + attack_verb_continuous = list("колотит", "бьёт", "ударяет", "вмазывает") + attack_verb_simple = list("колотит", "бьёт", "ударяет", "вмазывает") + if("Лопата") tool_behaviour = TOOL_SHOVEL sharpness = SHARP_EDGED toolspeed = 0.25 w_class = WEIGHT_CLASS_NORMAL usesound = 'sound/effects/shovel_dig.ogg' - attack_verb_continuous = list("slashes", "impales", "stabs", "slices") - attack_verb_simple = list("slash", "impale", "stab", "slice") - if("Pick") + attack_verb_continuous = list("колотит", "ударяет", "колошматит", "вмазывает") + attack_verb_simple = list("колотит", "ударяет", "колошматит", "вмазывает") + if("Кирка") tool_behaviour = TOOL_MINING sharpness = SHARP_POINTY toolspeed = 0.5 w_class = WEIGHT_CLASS_NORMAL usesound = 'sound/effects/picaxe1.ogg' - attack_verb_continuous = list("hits", "pierces", "slices", "attacks") - attack_verb_simple = list("hit", "pierce", "slice", "attack") + attack_verb_continuous = list("бьёт", "протыкает", "рубит", "атакует") + attack_verb_simple = list("бьёт", "протыкает", "рубит", "атакует") playsound(src, 'sound/items/ratchet.ogg', 50, vary = TRUE) update_appearance(UPDATE_ICON) @@ -289,7 +287,7 @@ /obj/item/shovel/giant_wrench name = "Big Slappy" - desc = "A gigantic wrench made illegal because of its many incidents involving this tool." + desc = "Гигантский гаечный ключ. Признан незаконным из-за множества инцидентов, связанных с этим инструментом." icon_state = "giant_wrench" icon = 'icons/obj/weapons/giant_wrench.dmi' inhand_icon_state = null @@ -308,8 +306,8 @@ armor_type = /datum/armor/giant_wrench resistance_flags = FIRE_PROOF wound_bonus = -10 - attack_verb_continuous = list("bonks", "bludgeons", "pounds") - attack_verb_simple = list("bonk", "bludgeon", "pound") + attack_verb_continuous = list("бьёт", "протыкает", "рубит", "атакует") + attack_verb_simple = list("бьёт", "протыкает", "рубит", "атакует") drop_sound = 'sound/weapons/sonic_jackhammer.ogg' pickup_sound = 'sound/items/handling/crowbar_pickup.ogg' hitsound = 'sound/weapons/sonic_jackhammer.ogg' @@ -361,7 +359,7 @@ tool_behaviour = (active ? TOOL_WRENCH : initial(tool_behaviour)) armour_penetration = (active ? 30 : initial(armour_penetration)) if(user) - balloon_alert(user, "folded Big Slappy [active ? "open" : "closed"]") + balloon_alert(user, "[active ? "открываю" : "закрываю"] Big Slappy") playsound(src, 'sound/items/ratchet.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE @@ -375,5 +373,4 @@ target_mob.Knockdown(2 SECONDS) var/body_zone = pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) user.apply_damage(force / recoil_factor, BRUTE, body_zone, user.run_armor_check(body_zone, MELEE)) - to_chat(user, span_danger("The weight of the Big Slappy recoils!")) log_combat(user, user, "recoiled Big Slappy into") diff --git a/code/modules/mining/equipment/miningradio.dm b/code/modules/mining/equipment/miningradio.dm index 559740599dbe40..11d29ff345909e 100644 --- a/code/modules/mining/equipment/miningradio.dm +++ b/code/modules/mining/equipment/miningradio.dm @@ -1,9 +1,9 @@ /// Portable mining radio purchasable by miners /obj/item/radio/weather_monitor icon = 'icons/obj/miningradio.dmi' - name = "mining weather radio" + name = "шахтёрское погодное радио" + desc = "Погодное радио, разработанное для использования в негостеприимных условиях. Издает звуковые предупреждения, когда приближаются бури. Имеет доступ к каналу карго." icon_state = "miningradio" - desc = "A weather radio designed for use in inhospitable environments. Gives audible warnings when storms approach. Has access to cargo channel." freqlock = RADIO_FREQENCY_LOCKED luminosity = 1 light_power = 1 diff --git a/code/modules/mining/equipment/monster_organs/monster_organ.dm b/code/modules/mining/equipment/monster_organs/monster_organ.dm index 699564c9ed77e9..1cbb1d50199306 100644 --- a/code/modules/mining/equipment/monster_organs/monster_organ.dm +++ b/code/modules/mining/equipment/monster_organs/monster_organ.dm @@ -2,10 +2,10 @@ * Stabilising serum prevents monster organs from decaying before you can use them. */ /obj/item/mining_stabilizer - name = "stabilizing serum" + name = "стабилизирующая сывортка" icon = 'icons/obj/medical/chemical.dmi' icon_state = "bottle19" - desc = "Inject certain types of monster organs with this stabilizer to prevent their rapid decay." + desc = "Используйте эту сыворотку на некоторых органах монстров, чтобы предотвратить их быстрое разложение." w_class = WEIGHT_CLASS_TINY /obj/item/mining_stabilizer/afterattack(obj/item/organ/target_organ, mob/user, proximity) @@ -16,14 +16,14 @@ var/obj/item/organ/internal/monster_core/target_core = target_organ if (!istype(target_core, /obj/item/organ/internal/monster_core)) - balloon_alert(user, "invalid target!") + balloon_alert(user, "неверная цель!") return . if (!target_core.preserve()) - balloon_alert(user, "organ decayed!") + balloon_alert(user, "орган уже разложился!") return . - balloon_alert(user, "organ stabilized") + balloon_alert(user, "орган стабилизирован!") qdel(src) return . @@ -33,9 +33,9 @@ * These should usually do something both when used in-hand, or when implanted into someone. */ /obj/item/organ/internal/monster_core - name = "monster core" - desc = "All that remains of a monster. This abstract item should not spawn. \ - It will rapidly decay into uselessness. but don't worry because it's already useless." + name = "ядро монстра" + desc = "Всё, что осталось от монстра. Этот абстрактный предмет не должен появляться. \ + Он быстро разложится в бесполезность, но не волнуйтесь, потому что он уже бесполезен." icon = 'icons/obj/medical/organs/mining_organs.dmi' icon_state = "hivelord_core" actions_types = list(/datum/action/cooldown/monster_core_action) @@ -74,18 +74,18 @@ if(!.) return if (inert) - to_chat(target_carbon, span_notice("[src] breaks down as you try to insert it.")) + to_chat(target_carbon, span_notice("[src] разлагается, когда вы пытаетесь вставить его.")) qdel(src) return FALSE if (!decay_timer) return TRUE preserve(TRUE) - target_carbon.visible_message(span_notice("[src] stabilizes as it's inserted.")) + target_carbon.visible_message(span_notice("[src] стабилизируется.")) return TRUE /obj/item/organ/internal/monster_core/Remove(mob/living/carbon/target_carbon, special = 0) if (!inert && !special) - owner.visible_message(span_notice("[src] rapidly decays as it's removed.")) + owner.visible_message(span_notice("[src] быстро разлагается.")) go_inert() return ..() @@ -111,7 +111,7 @@ inert = TRUE deltimer(decay_timer) decay_timer = null - name = "decayed [name]" + name = "разложившийся [name]" update_appearance() return TRUE @@ -156,16 +156,15 @@ */ /obj/item/organ/internal/monster_core/proc/try_apply(atom/target, mob/user) if (!isliving(target)) - balloon_alert(user, "invalid target!") + balloon_alert(user, "неверная цель!") return if (inert) - balloon_alert(user, "organ decayed!") + balloon_alert(user, "орган уже разложился!") return var/mob/living/live_target = target if (live_target.stat == DEAD) - balloon_alert(user, "they're dead!") + balloon_alert(user, "цель мертва!") return - balloon_alert(user, "applied organ") apply_to(target, user) /** diff --git a/code/modules/mining/equipment/monster_organs/regenerative_core.dm b/code/modules/mining/equipment/monster_organs/regenerative_core.dm index 98758d5a369ce0..446ceb2d514a48 100644 --- a/code/modules/mining/equipment/monster_organs/regenerative_core.dm +++ b/code/modules/mining/equipment/monster_organs/regenerative_core.dm @@ -3,10 +3,10 @@ * On use when implanted, fully heals. Automatically fully heals if you would enter crit. */ /obj/item/organ/internal/monster_core/regenerative_core - name = "regenerative core" - desc = "All that remains of a hivelord. It can be used to help keep your body going, but it will rapidly decay into uselessness." - desc_preserved = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay." - desc_inert = "All that remains of a hivelord. It has decayed, and is completely useless." + name = "регенеративное ядро" + desc = "Всё, что осталось от главы улья. Может помочь вам продолжать двигаться, но быстро станет бесполезным." + desc_preserved = "Всё, что осталось от главы улья. Стабилизировано, позволяет вам полностью восстановиться без опасности разложения." + desc_inert = "Всё, что осталось от главы улья. Разложилось и полностью бесполезно." user_status = /datum/status_effect/regenerative_core actions_types = list(/datum/action/cooldown/monster_core_action/regenerative_core) icon_state = "hivelord_core" @@ -38,25 +38,25 @@ /obj/item/organ/internal/monster_core/regenerative_core/apply_to(mob/living/target, mob/user) target.add_mood_event(MOOD_CATEGORY_LEGION_CORE, /datum/mood_event/healsbadman) if (target != user) - target.visible_message(span_notice("[user] forces [target] to apply [src]... Black tendrils entangle and reinforce [target.p_them()]!")) + target.visible_message(span_notice("[user] заставляет [target] использовать [src]... Чёрные щупальца обвивают и укрепляют [target.ru_ego()]!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) else - to_chat(user, span_notice("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?")) + to_chat(user, span_notice("Начинаю наносить [src] на себя. Отвратительные щупальца обвивают вас вместе и дают силы двигаться, но насколько долго?")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) return ..() /// Different graphics/desc for the lavaland legion /obj/item/organ/internal/monster_core/regenerative_core/legion - desc = "A strange rock that crackles with power. It can be used to heal completely, but it will rapidly decay into uselessness." - desc_preserved = "The core has been stabilized, allowing you to use it to heal completely without danger of decay." - desc_inert = "The core has decayed, and is completely useless." + desc = "Странный камень, который трещит от энергии. Может быть использован для полного восстановления, но быстро станет бесполезным." + desc_preserved = "Ядро стабилизировано, позволяя вам использовать его для полного восстановления без опасности разложения." + desc_inert = "Ядро разложилось и полностью бесполезно." icon_state = "legion_core" icon_state_inert = "legion_core_decayed" icon_state_preserved = "legion_core_stable" /// Action used by the regenerative core /datum/action/cooldown/monster_core_action/regenerative_core - name = "Regenerate" - desc = "Fully regenerate your body, consuming your regenerative core in the process. \ - This process will trigger automatically if you are badly wounded." + name = "Восстановление" + desc = "Полностью восстановит ваше тело, потребляя ваше регенеративное ядро в процессе. \ + Этот процесс запустится автоматически, если вы сильно ранены." button_icon_state = "legion_core_stable" diff --git a/code/modules/mining/equipment/monster_organs/rush_gland.dm b/code/modules/mining/equipment/monster_organs/rush_gland.dm index 3554d67b2a66f8..68be59dbb644db 100644 --- a/code/modules/mining/equipment/monster_organs/rush_gland.dm +++ b/code/modules/mining/equipment/monster_organs/rush_gland.dm @@ -6,13 +6,13 @@ * On use when implanted, run for longer and ignore all negative movement. Automatically triggers if health is low (to escape). */ /obj/item/organ/internal/monster_core/rush_gland - name = "rush gland" + name = "гланды ускорения" + desc = "Набухшие надпочечники лобстера. Вы можете сжать их, чтобы получить всплеск энергии." + desc_preserved = "Набухшие надпочечники лобстера. Они сохранены, позволяя вам использовать их для ускорения, когда вам это нужно." + desc_inert = "Сморщенные надпочечники лобстера." icon_state = "lobster_gland" icon_state_preserved = "lobster_gland_stable" icon_state_inert = "lobster_gland_decayed" - desc = "A lobstrosity's engorged adrenal gland. You can squeeze it to get a rush of energy on demand." - desc_preserved = "A lobstrosity's engorged adrenal gland. It is preserved, allowing you to use it for a burst of speed whenever you need it." - desc_inert = "A lobstrosity's adrenal gland. It is all shrivelled up." user_status = /datum/status_effect/lobster_rush actions_types = list(/datum/action/cooldown/monster_core_action/adrenal_boost) @@ -44,8 +44,8 @@ var/spawned_last_move = FALSE /atom/movable/screen/alert/status_effect/lobster_rush - name = "Lobster Rush" - desc = "Adrenaline is surging through you!" + name = "Скорость лобстера" + desc = "Чувствую адреналин!" icon_state = "lobster" /datum/status_effect/lobster_rush/on_apply() @@ -54,14 +54,14 @@ RegisterSignal(owner, COMSIG_MOVABLE_BUMP, PROC_REF(on_bump)) owner.add_traits(list(TRAIT_IGNORESLOWDOWN, TRAIT_TENTACLE_IMMUNE), TRAIT_STATUS_EFFECT(id)) owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lobster_rush) - to_chat(owner, span_notice("You feel your blood pumping!")) + to_chat(owner, span_notice("Чувствую, как сердце бьется быстрее!")) /datum/status_effect/lobster_rush/on_remove() . = ..() UnregisterSignal(owner, list(COMSIG_MOVABLE_PRE_MOVE, COMSIG_MOVABLE_BUMP)) owner.remove_traits(list(TRAIT_IGNORESLOWDOWN, TRAIT_TENTACLE_IMMUNE), TRAIT_STATUS_EFFECT(id)) owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/lobster_rush) - to_chat(owner, span_notice("Your pulse returns to normal.")) + to_chat(owner, span_notice("Пульс возвращается к норме.")) /// Spawn an afterimage every other step, because every step was too many /datum/status_effect/lobster_rush/proc/on_move() @@ -75,7 +75,7 @@ if (!target.density) return if (isliving(target)) - source.visible_message(span_warning("[source] crashes into [target]!")) + source.visible_message(span_warning("[source] врезается в [target]!")) smack_into(source) smack_into(target) qdel(src) @@ -83,7 +83,7 @@ if (lavaland_equipment_pressure_check(get_turf(source))) return smack_into(source) - source.visible_message(span_warning("[source] crashes into [target]!")) + source.visible_message(span_warning("[source] врезается в [target]!")) qdel(src) /datum/status_effect/lobster_rush/proc/smack_into(mob/living/target) @@ -97,9 +97,9 @@ /// Action used by the rush gland /datum/action/cooldown/monster_core_action/adrenal_boost - name = "Adrenal Boost" - desc = "Pump your rush gland to give yourself a boost of speed. \ - Impacts with objects can be dangerous under atmospheric pressure." + name = "Адреналиновый удар" + desc = "Активируйте вашу железу ускорения, чтобы получить всплеск скорости. \ + Столкновения с объектами могут быть опасными." button_icon_state = "lobster_gland_stable" cooldown_time = 90 SECONDS diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index 99b27e15ca8ab6..4271c823c7c5ec 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -1,13 +1,13 @@ /**********************Resonator**********************/ /obj/item/resonator - name = "resonator" + name = "резонатор" + desc = "Портативное устройство, создающее небольшие нестабильные энергетические поля, что создают резонансный взрыв при активации, нанося урон и дробя породу. Сила взрыва заметно выше при низком давлении. Имеет два режима детонации: двухсекундный таймер и ручной подрыв." icon = 'icons/obj/mining.dmi' icon_state = "resonator" inhand_icon_state = "resonator" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' - desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It does increased damage in low pressure. It has two modes: Automatic and manual detonation." w_class = WEIGHT_CLASS_NORMAL force = 15 throwforce = 10 @@ -25,10 +25,10 @@ /obj/item/resonator/attack_self(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it.")) + to_chat(user, span_info("Устанавливаю резонатор на ручной подрыв.")) mode = RESONATOR_MODE_MANUAL else - to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds.")) + to_chat(user, span_info("Устанавливаю резонатор на двухсекундный таймер.")) mode = RESONATOR_MODE_AUTO /obj/item/resonator/proc/create_resonance(target, mob/user) @@ -49,8 +49,8 @@ //resonance field, crushes rock, damages mobs /obj/effect/temp_visual/resonance - name = "resonance field" - desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures. More damaging in low pressure environments." + name = "резонирующее поле" + desc = "Резонирующее поле, вызывающее серьезные травмы любым объектам оказавшимся внутри него в момент дестабилизации. Эффект значительно разрушительнее в условиях низкого давления." icon_state = "shield1" layer = ABOVE_ALL_MOB_LAYER plane = ABOVE_GAME_PLANE @@ -75,7 +75,7 @@ duration = 2 SECONDS if(mode == RESONATOR_MODE_MATRIX) icon_state = "shield2" - name = "resonance matrix" + name = "резонансная мина" RegisterSignal(src, COMSIG_ATOM_ENTERED, PROC_REF(burst)) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(burst), @@ -106,7 +106,7 @@ proj_turf = get_turf(src) resonance_damage = initial(resonance_damage) if(lavaland_equipment_pressure_check(proj_turf)) - name = "strong [initial(name)]" + name = "[initial(name)] низкого давления" resonance_damage *= 3 else name = initial(name) @@ -128,7 +128,7 @@ if(creator) log_combat(creator, attacked_living, "used a resonator field on", "resonator") SEND_SIGNAL(creator, COMSIG_LIVING_RESONATOR_BURST, creator, attacked_living) - to_chat(attacked_living, span_userdanger("[src] ruptured with you in it!")) + to_chat(attacked_living, span_userdanger("[src] схлопывается на мне!")) attacked_living.apply_damage(resonance_damage, BRUTE) attacked_living.add_movespeed_modifier(/datum/movespeed_modifier/resonance) addtimer(CALLBACK(attacked_living, TYPE_PROC_REF(/mob, remove_movespeed_modifier), /datum/movespeed_modifier/resonance), 10 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) @@ -156,8 +156,8 @@ animate(src, transform = matrix() * 0.1, alpha = 50, time = 4) /obj/item/resonator/upgraded - name = "upgraded resonator" - desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early. It also allows you to set 'Resonance matrixes', that detonate after someone(or something) walks over it." + name = "продвинутый резонатор" + desc = "Модернизированная версия резонатора, которая может создавать больше полей одновременно, а также не имеет штрафа к урону при раннем разрыве резонансного поля. Продвинутая модель так же может устанавливать \"резонансные мины\", которые взрываются после того, как кто-то (или что-то) наступает на них." icon_state = "resonator_u" inhand_icon_state = "resonator_u" fieldlimit = 6 @@ -166,11 +166,11 @@ /obj/item/resonator/upgraded/attack_self(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it.")) + to_chat(user, span_info("Устанавливаю резонатор на ручной подрыв.")) mode = RESONATOR_MODE_MANUAL else if(mode == RESONATOR_MODE_MANUAL) - to_chat(user, span_info("You set the resonator's fields to work as matrix traps.")) + to_chat(user, span_info("Устанавливаю резонатор в режим миноукладчика.")) mode = RESONATOR_MODE_MATRIX else - to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds.")) + to_chat(user, span_info("Устанавливаю резонатор на двухсекундный таймер.")) mode = RESONATOR_MODE_AUTO diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 01081f2ab96058..5bec536f0eef8a 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -10,8 +10,8 @@ //Survival Capsule /obj/item/survivalcapsule - name = "bluespace shelter capsule" - desc = "An emergency shelter stored within a pocket of bluespace." + name = "блюспейс капсула-убежище" + desc = "Аварийное убежище, находящееся внутри блюспейся." icon_state = "capsule" icon = 'icons/obj/mining.dmi' w_class = WEIGHT_CLASS_TINY @@ -34,25 +34,25 @@ /obj/item/survivalcapsule/examine(mob/user) . = ..() get_template() - . += "This capsule has the [template.name] stored." + . += "В капсуле находится [template.name]." . += template.description /obj/item/survivalcapsule/attack_self() //Can't grab when capsule is New() because templates aren't loaded then get_template() if(!used) - loc.visible_message(span_warning(" [src] begins to shake. Stand back!")) + loc.visible_message(span_warning(" [src] начинает вибрировать. Отойдите!")) used = TRUE sleep(5 SECONDS) var/turf/deploy_location = get_turf(src) var/status = template.check_deploy(deploy_location) switch(status) if(SHELTER_DEPLOY_BAD_AREA) - src.loc.visible_message(span_warning(" [src] will not function in this area.")) + src.loc.visible_message(span_warning(" [src] не будет работать в этой области.")) if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS, SHELTER_DEPLOY_OUTSIDE_MAP) var/width = template.width var/height = template.height - src.loc.visible_message(span_warning(" [src] doesn't have room to deploy! You need to clear a [width]x[height] area!")) + src.loc.visible_message(span_warning(" [src] не может быть развернута! Необходимо освободить площадь [width]x[height]!")) if(status != SHELTER_DEPLOY_ALLOWED) used = FALSE return @@ -70,17 +70,17 @@ //Non-default pods /obj/item/survivalcapsule/luxury - name = "luxury bluespace shelter capsule" + name = "роскошная капсула-убежище" desc = "An exorbitantly expensive luxury suite stored within a pocket of bluespace." template_id = "shelter_beta" /obj/item/survivalcapsule/luxuryelite - name = "luxury elite bar capsule" + name = "элитная капсула-бар класса люкс" desc = "A luxury bar in a capsule. Bartender required and not included." template_id = "shelter_charlie" /obj/item/survivalcapsule/bathroom - name = "emergency relief capsule" + name = "капсула-убежище с туалетом" desc = "Provides vital emergency support to employees who are caught short in the field." template_id = "shelter_toilet" @@ -209,6 +209,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/survival_pod/spawne /obj/machinery/smartfridge/survival_pod/preloaded/Initialize(mapload) . = ..() + var/obj/item/reagent_containers/cup/glass/waterbottle/A = new(src) + load(A) for(var/i in 1 to 5) var/obj/item/food/donkpocket/warm/W = new(src) load(W) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index b5dc842100083b..c5b8434fc5f91d 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -1,7 +1,7 @@ /**********************Jaunter**********************/ /obj/item/wormhole_jaunter - name = "wormhole jaunter" - desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to bluespace for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least.\nThanks to modifications provided by the Free Golems, this jaunter can be worn on the belt to provide protection from chasms." + name = "генератор червоточин" + desc = "Одноразовое устройство использующее древнюю технологию червоточин, Нанотрейзен перешёл на блюспейс технологии благодаря этому. Путешествовать через эти дыры не самое приятное дело.\nБлагодаря модификациям Свободных Големов этот генератор может спасти от бездны, если находится на поясе." icon = 'icons/obj/mining.dmi' icon_state = "Jaunter" inhand_icon_state = "electronic" @@ -15,7 +15,7 @@ slot_flags = ITEM_SLOT_BELT /obj/item/wormhole_jaunter/attack_self(mob/user) - user.visible_message(span_notice("[user.name] activates the [src.name]!")) + user.visible_message(span_notice("[user.name] активирует [src.name]!")) SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated activate(user, TRUE) @@ -23,7 +23,7 @@ var/turf/device_turf = get_turf(src) if(!device_turf || is_centcom_level(device_turf.z) || is_reserved_level(device_turf.z)) if(user) - to_chat(user, span_notice("You're having difficulties getting the [src.name] to work.")) + to_chat(user, span_notice("Какие-то трудности у меня с [src.name] to work.")) return FALSE return TRUE @@ -47,9 +47,9 @@ if(!can_jaunter_teleport()) if(user) - to_chat(user, span_notice(" [src] found no beacons in the world to anchor a wormhole to.")) + to_chat(user, span_notice(" [src] не может найти маяков.")) else - visible_message(span_notice(" [src] found no beacons in the world to anchor a wormhole to!")) + visible_message(span_notice(" [src] не может найти маяков!")) return TRUE // used for chasm code var/list/destinations = get_destinations() @@ -78,27 +78,27 @@ var/mob/M = loc if(istype(M) && triggered) - M.visible_message(span_warning("Your [src.name] overloads and activates!")) + M.visible_message(span_warning("[capitalize(src.name)] перегружается и активируется!")) SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation activate(M, FALSE, TRUE) else if(triggered) - visible_message(span_warning(" [src] overloads and activates!")) + visible_message(span_warning("[capitalize(src.name)] перегружается и активируется!")) activate() /obj/item/wormhole_jaunter/proc/chasm_react(mob/user) var/fall_into_chasm = activate(user, FALSE, TRUE) if(!fall_into_chasm) - to_chat(user, span_notice("Your [src.name] activates, saving you from the chasm!")) + to_chat(user, span_notice("[capitalize(name)] активируется, спасая меня от бездны!")) SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation return fall_into_chasm //jaunter tunnel /obj/effect/portal/jaunt_tunnel - name = "jaunt tunnel" + name = "червоточина" + desc = "Стабилизированная дыра в пространстве, созданная генератором червоточин. Турбулентность - это не единственное, с чем вы столкнётесь, но по крайней мере, вы всегда окажетесь где-то рядом с маяком." icon = 'icons/effects/anomalies.dmi' icon_state = "vortex" - desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon." mech_sized = TRUE //save your ripley innate_accuracy_penalty = 6 light_on = FALSE diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm index 3687ac71633a5b..b0e82dd8ef4571 100644 --- a/code/modules/mining/laborcamp/laborshuttle.dm +++ b/code/modules/mining/laborcamp/laborshuttle.dm @@ -1,14 +1,14 @@ /obj/machinery/computer/shuttle/labor - name = "labor shuttle console" - desc = "Used to call and send the labor camp shuttle." + name = "консоль лагерного шаттла" + desc = "Используется для вызова и отправки шаттла в лагерь заключенных." circuit = /obj/item/circuitboard/computer/labor_shuttle shuttleId = "laborcamp" possible_destinations = "laborcamp_home;laborcamp_away" req_access = list(ACCESS_BRIG) /obj/machinery/computer/shuttle/labor/one_way - name = "prisoner shuttle console" - desc = "A one-way shuttle console, used to summon the shuttle to the labor camp." + name = "консоль шаттла заключенных" + desc = "Консоль однонаправленного шаттла, используется для отправки шаттла в лагерь заключенных." possible_destinations = "laborcamp_away" circuit = /obj/item/circuitboard/computer/labor_shuttle/one_way req_access = list( ) @@ -19,11 +19,11 @@ return FALSE var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp") if(!M) - to_chat(user, span_warning("Cannot locate shuttle!")) + to_chat(user, span_warning("Шаттл не найден!")) return FALSE var/obj/docking_port/stationary/S = M.get_docked() if(S?.name == "laborcamp_away") - to_chat(user, span_warning("Shuttle is already at the outpost!")) + to_chat(user, span_warning("Шаттл уже в лагере!")) return FALSE return TRUE diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 8a7ffeec88f661..957543fa77ee8a 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -3,8 +3,8 @@ GLOBAL_LIST(labor_sheet_values) /**********************Prisoners' Console**************************/ /obj/machinery/mineral/labor_claim_console - name = "point claim console" - desc = "A stacking console with an electromagnetic writer, used to track ore mined by prisoners." + name = "консоль для получения очков" + desc = "Используется для отслеживания количества руды, добытой заключенными." icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "console" density = FALSE @@ -65,14 +65,14 @@ GLOBAL_LIST(labor_sheet_values) var/obj/item/card/id/advanced/prisoner/worn_prisoner_id = worn_id data["id_points"] = worn_prisoner_id.points if(!worn_prisoner_id.goal) - data["status_info"] = "No goal set!" + data["status_info"] = "Цель не выставлена!" else if(worn_prisoner_id.points >= worn_prisoner_id.goal) can_go_home = TRUE - data["status_info"] = "Goal met!" + data["status_info"] = "Всё соблюдено!" else - data["status_info"] = "You are [(worn_prisoner_id.goal - worn_prisoner_id.points)] points away." + data["status_info"] = "Осталось [(worn_prisoner_id.goal - worn_prisoner_id.points)] очков." else - data["status_info"] = "No Prisoner ID detected." + data["status_info"] = "Не обнаружена ID-карта." data["id_points"] = 0 if(stacking_machine) diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index e1260ab365ea52..1ef06c6c85fd52 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -2,8 +2,8 @@ //This includes: The structures, their produce, their seeds and the crafting recipe for the mushroom bowl /obj/structure/flora/ash - name = "large mushrooms" - desc = "A number of large mushrooms, covered in a faint layer of ash and what can only be spores." + name = "огромные грибы" + desc = "Несколько огромных грибов, покрытых слоем пепла и спор." icon = 'icons/obj/mining_zones/ash_flora.dmi' icon_state = "l_mushroom1" base_icon_state = "l_mushroom" @@ -12,14 +12,15 @@ layer = PROJECTILE_HIT_THRESHHOLD_LAYER //sporangiums up don't shoot product_types = list(/obj/item/food/grown/ash_flora/shavings = 1) harvest_with_hands = TRUE - harvested_name = "shortened mushrooms" - harvested_desc = "Some quickly regrowing mushrooms, formerly known to be quite large." - harvest_message_low = "You pick a mushroom, but fail to collect many shavings from its cap." - harvest_message_med = "You pick a mushroom, carefully collecting the shavings from its cap." - harvest_message_high = "You harvest and collect shavings from several mushroom caps." + harvested_name = "грибы" + harvested_desc = "Несколько грибов, покрытых пеплом. Вы можете видеть, как они медленно растут." + harvest_message_low = "Срываю гриб." + harvest_message_med = "Срываю несколько грибов." + harvest_message_high = "Срываю пару грибов." harvest_message_true_thresholds = TRUE - harvest_verb = "pluck" + harvest_verb = "срывать" flora_flags = FLORA_HERBAL //not really accurate but what sound do hit mushrooms make anyway + var/number_of_variants = 4 /obj/structure/flora/ash/Initialize(mapload) @@ -41,67 +42,67 @@ regrowth_time_low = 4200 /obj/structure/flora/ash/leaf_shroom - name = "leafy mushrooms" - desc = "A number of mushrooms, each of which surrounds a greenish sporangium with a number of leaf-like structures." + name = "листовые грибы" + desc = "Несколько грибов, каждый из которых окружен зеленоватым спорангием с несколькими листоподобными структурами." icon_state = "s_mushroom1" base_icon_state = "s_mushroom" product_types = list(/obj/item/food/grown/ash_flora/mushroom_leaf = 1) - harvested_name = "leafless mushrooms" - harvested_desc = "A bunch of formerly-leafed mushrooms, with their sporangiums exposed. Scandalous?" + harvested_name = "листовые грибы" + harvested_desc = "Несколько грибов, каждый из которых окружен зеленоватым спорангием с несколькими листоподобными структурами." harvest_amount_high = 4 - harvest_message_low = "You pluck a single, suitable leaf." - harvest_message_med = "You pluck a number of leaves, leaving a few unsuitable ones." - harvest_message_high = "You pluck quite a lot of suitable leaves." + harvest_message_low = "Срываю лист." + harvest_message_med = "Срываю несколько листьев." + harvest_message_high = "Срываю четыре листа." harvest_time = 20 regrowth_time_low = 2400 regrowth_time_high = 6000 /obj/structure/flora/ash/cap_shroom - name = "tall mushrooms" - desc = "Several mushrooms, the larger of which have a ring of conks at the midpoint of their stems." + name = "высокие грибы" + desc = "Несколько грибов, у больших из которых есть кольцо на середине ножек." icon_state = "r_mushroom1" base_icon_state = "r_mushroom" product_types = list(/obj/item/food/grown/ash_flora/mushroom_cap = 1) - harvested_name = "small mushrooms" - harvested_desc = "Several small mushrooms near the stumps of what likely were larger mushrooms." + harvested_name = "маленькие грибы" + harvested_desc = "Несколько маленьких грибов возле пеньков, которые, вероятно, были когда-то большими грибами." harvest_amount_high = 4 - harvest_message_low = "You slice the cap off a mushroom." - harvest_message_med = "You slice off a few conks from the larger mushrooms." - harvest_message_high = "You slice off a number of caps and conks from these mushrooms." + harvest_message_low = "Срываю шляпку гриба." + harvest_message_med = "Срываю несколько шляпок грибов." + harvest_message_high = "Срываю четыре шляпки." harvest_time = 50 regrowth_time_low = 3000 regrowth_time_high = 5400 /obj/structure/flora/ash/stem_shroom - name = "numerous mushrooms" - desc = "A large number of mushrooms, some of which have long, fleshy stems. They're radiating light!" + name = "скопление грибов" + desc = "Большое количество грибов, некоторые из которых имеют длинные мясистые ножки. Они светятся!" icon_state = "t_mushroom1" base_icon_state = "t_mushroom" light_range = 1.5 light_power = 2.1 product_types = list(/obj/item/food/grown/ash_flora/mushroom_stem = 1) - harvested_name = "tiny mushrooms" - harvested_desc = "A few tiny mushrooms around larger stumps. You can already see them growing back." + harvested_name = "крошечные грибы" + harvested_desc = "Несколько маленьких грибов. Уже видно, как они начинают расти." harvest_amount_high = 4 - harvest_message_low = "You pick and slice the cap off a mushroom, leaving the stem." - harvest_message_med = "You pick and decapitate several mushrooms for their stems." - harvest_message_high = "You acquire a number of stems from these mushrooms." + harvest_message_low = "Собираю ножку гриба." + harvest_message_med = "Срываю несколько ножек грибов." + harvest_message_high = "Срываю четыре ножки." harvest_time = 40 regrowth_time_low = 3000 regrowth_time_high = 6000 /obj/structure/flora/ash/cacti - name = "fruiting cacti" - desc = "Several prickly cacti, brimming with ripe fruit and covered in a thin layer of ash." + name = "плодоносящие кактусы" + desc = "Несколько колючих кактусов, полных спелых плодов и покрытых тонким слоем пепла." icon_state = "cactus1" base_icon_state = "cactus" product_types = list(/obj/item/food/grown/ash_flora/cactus_fruit = 20, /obj/item/seeds/lavaland/cactus = 1) - harvested_name = "cacti" - harvested_desc = "A bunch of prickly cacti. You can see fruits slowly growing beneath the covering of ash." + harvested_name = "кактус" + harvested_desc = "Несколько колючих кактусов. Видно, как плоды начинают расти под слоем пепла." harvest_amount_high = 2 - harvest_message_low = "You pick a cactus fruit." - harvest_message_med = "You pick several cactus fruit." //shouldn't show up, because you can't get more than two - harvest_message_high = "You pick a pair of cactus fruit." + harvest_message_low = "Собираю плод кактуса." + harvest_message_med = "Собираю несколько плодов кактуса." //shouldn't show up, because you can't get more than two + harvest_message_high = "Собираю пару плодов кактуса." harvest_time = 10 regrowth_time_low = 4800 regrowth_time_high = 7200 @@ -112,17 +113,17 @@ AddComponent(/datum/component/caltrop, min_damage = 3, max_damage = 6, probability = 70) /obj/structure/flora/ash/seraka - name = "seraka mushrooms" - desc = "A small cluster of seraka mushrooms. These must have come with the ashlizards." + name = "грибы серака" + desc = "Несколько маленьких грибов серака. Должно быть, их принесли с собой пепельные ящеры." icon_state = "seraka_mushroom1" base_icon_state = "seraka_mushroom" product_types = list(/obj/item/food/grown/ash_flora/seraka = 1) - harvested_name = "harvested seraka mushrooms" - harvested_desc = "A couple of small seraka mushrooms, with the larger ones clearly having been recently removed. They'll grow back... eventually." + harvested_name = "грибы серака" + harvested_desc = "Несколько маленьких грибов серака. Больший из них, видимо, недавно сорван. Они снова вырастут... когда-нибудь." harvest_amount_high = 6 - harvest_message_low = "You pluck a few choice tasty mushrooms." - harvest_message_med = "You grab a good haul of mushrooms." - harvest_message_high = "You hit the mushroom motherlode and make off with a bunch of tasty mushrooms." + harvest_message_low = "Срываю несколько вкусных грибов." + harvest_message_med = "Срываю пригоршню грибов" + harvest_message_high = "Срываю целую кучу вкусных грибов." harvest_time = 25 regrowth_time_low = 3000 regrowth_time_high = 5400 @@ -130,20 +131,20 @@ harvest_message_true_thresholds = FALSE /obj/structure/flora/ash/fireblossom - name = "fire blossom" - desc = "An odd flower that grows commonly near bodies of lava." + name = "огнецвет" + desc = "Странный цветок, который часто растет рядом с лавой." icon_state = "fireblossom1" base_icon_state = "fireblossom" light_range = LIGHT_FIRE_BLOSSOM light_power = LIGHT_FIRE_BLOSSOM light_color = COLOR_BIOLUMINESCENCE_YELLOW product_types = list(/obj/item/food/grown/ash_flora/fireblossom = 1) - harvested_name = "fire blossom stems" - harvested_desc = "A few fire blossom stems, missing their flowers." + harvested_name = "стебли огнецвета" + harvested_desc = "Несколько стеблей огнецвета без цветков." harvest_amount_high = 3 - harvest_message_low = "You pluck a single, suitable flower." - harvest_message_med = "You pluck a number of flowers, leaving a few unsuitable ones." - harvest_message_high = "You pluck quite a lot of suitable flowers." + harvest_message_low = "Срываю один-единственный цветок." + harvest_message_med = "Срываю несколько цветов." + harvest_message_high = "Срываю целую кучу цветов." regrowth_time_low = 2500 regrowth_time_high = 4000 number_of_variants = 2 @@ -161,6 +162,7 @@ return ..() ///Snow flora to exist on icebox. +// only on icebox, so no translation (kinda didn't bother with the other flora either) /obj/structure/flora/ash/chilly name = "springy grassy fruit" desc = "A number of bright, springy blue fruiting plants. They seem to be unconcerned with the hardy, cold environment." @@ -181,8 +183,8 @@ //SNACKS /obj/item/food/grown/ash_flora - name = "mushroom shavings" - desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl." + name = "грибная стружка" + desc = "Немного стружек, оставшийся от грибных ножек. Можно перемолоть в муку." icon = 'icons/obj/mining_zones/ash_flora.dmi' icon_state = "mushroom_shavings" w_class = WEIGHT_CLASS_TINY @@ -200,43 +202,43 @@ grind_results = list(/datum/reagent/toxin/mushroom_powder = 5) /obj/item/food/grown/ash_flora/mushroom_leaf - name = "mushroom leaf" - desc = "A leaf, from a mushroom." + name = "грибной лист" + desc = "Лист, сорванный с гриба." icon_state = "mushroom_leaf" seed = /obj/item/seeds/lavaland/porcini wine_power = 40 /obj/item/food/grown/ash_flora/mushroom_cap - name = "mushroom cap" - desc = "The cap of a large mushroom." + name = "грибная шляпка" + desc = "Шляпка огромного гриба." icon_state = "mushroom_cap" seed = /obj/item/seeds/lavaland/inocybe wine_power = 70 /obj/item/food/grown/ash_flora/mushroom_stem - name = "mushroom stem" - desc = "A long mushroom stem. It's slightly glowing." + name = "грибная ножка" + desc = "Длинная грибная ножка. Слегка светится." icon_state = "mushroom_stem" seed = /obj/item/seeds/lavaland/ember wine_power = 60 /obj/item/food/grown/ash_flora/cactus_fruit - name = "cactus fruit" - desc = "A cactus fruit covered in a thick, reddish skin. And some ash." + name = "плод кактуса" + desc = "Плод кактуса, покрытый толстой красной кожурой и пеплом." icon_state = "cactus_fruit" seed = /obj/item/seeds/lavaland/cactus wine_power = 50 /obj/item/food/grown/ash_flora/seraka - name = "seraka cap" - desc = "Small, deeply flavourful mushrooms originally native to Tizira." + name = "шляпка гриба серака" + desc = "Маленький, глубоко ароматный гриб, изначально происходящий из Тизиры." icon_state = "seraka_cap" seed = /obj/item/seeds/lavaland/seraka wine_power = 40 /obj/item/food/grown/ash_flora/fireblossom - name = "fire blossom" - desc = "A flower from a fire blossom." + name = "огнецвет" + desc = "Цветок огнецвета." icon_state = "fireblossom" slot_flags = ITEM_SLOT_HEAD seed = /obj/item/seeds/lavaland/fireblossom @@ -261,11 +263,11 @@ graft_gene = /datum/plant_gene/trait/fire_resistance /obj/item/seeds/lavaland/cactus - name = "pack of fruiting cactus seeds" - desc = "These seeds grow into fruiting cacti." + name = "упаковка семян плодоносящего кактуса" + desc = "Эти семяна вырастут в плодоносящие кактусы." icon_state = "seed-cactus" species = "cactus" - plantname = "Fruiting Cactus" + plantname = "Плодоносящий кактус" product = /obj/item/food/grown/ash_flora/cactus_fruit mutatelist = list(/obj/item/seeds/star_cactus) genes = list(/datum/plant_gene/trait/fire_resistance) @@ -275,11 +277,12 @@ ///Star Cactus seeds, mutation of lavaland cactus. /obj/item/seeds/star_cactus - name = "pack of star cacti seeds" - desc = "These seeds grow into star cacti." + // name = "pack of star cacti seeds" + name = "упаковка семян звёздчатого кактуса" + desc = "Из этих семян вырастет астрофитум звёздчатый." icon_state = "seed-starcactus" species = "starcactus" - plantname = "Star Cactus Cluster" + plantname = "Астрофитум звёздчатый" product = /obj/item/food/grown/star_cactus lifespan = 60 endurance = 30 @@ -295,38 +298,38 @@ ///Star Cactus Plants. /obj/item/food/grown/star_cactus seed = /obj/item/seeds/star_cactus - name = "star cacti" - desc = "A spikey, round cluster of prickly star cacti. And no, it's not called a star cactus because it's in space." + name = "звёздчатый кактус" + desc = "Скопление колючик звёздчатых кактусов. Нет, он называется так не из-за того, что мы находимся в космосе." icon_state = "starcactus" filling_color = "#1c801c" foodtypes = VEGETABLES distill_reagent = /datum/reagent/consumable/ethanol/tequila /obj/item/seeds/lavaland/polypore - name = "pack of polypore mycelium" - desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts." + name = "упаковка семян пористого мицелия" + desc = "Из этого мицелия вырастают трутовики. Твердые древесные грибы, шахтёры часто используют их для различных поделок." icon_state = "mycelium-polypore" species = "polypore" - plantname = "Polypore Mushrooms" + plantname = "Трутовик" product = /obj/item/food/grown/ash_flora/shavings genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/consumable/mintextract = 0.02) /obj/item/seeds/lavaland/porcini - name = "pack of porcini mycelium" - desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects." + name = "упаковка семян мицелия белого гриба" + desc = "Из этого мицелия вырастает Boletus edulis, также известный как белый гриб. Произрастал на Земле, но был обнаружен на Лаваланде. Применяется в кулинарии, медицине и как средство для расслабления." icon_state = "mycelium-porcini" species = "porcini" - plantname = "Porcini Mushrooms" + plantname = "Белый гриб" product = /obj/item/food/grown/ash_flora/mushroom_leaf genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04) /obj/item/seeds/lavaland/inocybe - name = "pack of inocybe mycelium" - desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects." + name = "упаковка семян мицелия волоконницы" + desc = "Из этого мицелия вырастает гриб волоконница, вид грибов, происходящий с Лаваланда. Может использоваться в качестве галлюциногена и яда." icon_state = "mycelium-inocybe" species = "inocybe" plantname = "Inocybe Mushrooms" @@ -336,31 +339,31 @@ reagents_add = list(/datum/reagent/toxin/mindbreaker = 0.04, /datum/reagent/consumable/entpoly = 0.08, /datum/reagent/drug/mushroomhallucinogen = 0.04) /obj/item/seeds/lavaland/ember - name = "pack of embershroom mycelium" - desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland." + name = "упаковка семян мицелия пепельного гриба" + desc = "Из этого мицелия вырастают пепельниые грибы, вид светящихся грибов, происходящий с Лаваланда." icon_state = "mycelium-ember" species = "ember" - plantname = "Embershroom Mushrooms" + plantname = "Пепельные грибы" product = /obj/item/food/grown/ash_flora/mushroom_stem genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/tinlux = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/drug/space_drugs = 0.02) /obj/item/seeds/lavaland/seraka - name = "pack of seraka mycelium" - desc = "This mycelium grows into seraka mushrooms, a species of savoury mushrooms originally native to Tizira used in food and traditional medicine." + name = "упаковка семян мицеля грибов серака" + desc = "Из этого мицелия вырастают грибы серака, вид кисловатых грибов, изначально произраставших на Тизаре. Используется в кулинарии и традиционной медицине." icon_state = "mycelium-seraka" species = "seraka" - plantname = "Seraka Mushrooms" + plantname = "Грибы серака" product = /obj/item/food/grown/ash_flora/seraka genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/toxin/mushroom_powder = 0.1, /datum/reagent/medicine/coagulant/seraka_extract = 0.02) /obj/item/seeds/lavaland/fireblossom - name = "pack of fire blossom seeds" - desc = "These seeds grow into fire blossoms." - plantname = "Fire Blossom" + name = "упаковка семян огнецвета" + desc = "Из этих семян вырастает огнецвет" + plantname = "Огнецвет" icon_state = "seed-fireblossom" species = "fireblossom" growthstages = 3 @@ -372,15 +375,15 @@ //CRAFTING /datum/crafting_recipe/mushroom_bowl - name = "Mushroom Bowl" + name = "Грибная миска" result = /obj/item/reagent_containers/cup/bowl/mushroom_bowl reqs = list(/obj/item/food/grown/ash_flora/shavings = 5) time = 30 category = CAT_CONTAINERS /obj/item/reagent_containers/cup/bowl/mushroom_bowl - name = "mushroom bowl" - desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point." + name = "Грибная миска" + desc = "Миска, сделанная из грибов. Не еда, хотя в какой-то момент она могла в ней быть." icon = 'icons/obj/mining_zones/ash_flora.dmi' icon_state = "mushroom_bowl" fill_icon_state = "fullbowl" diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index 497b137c4a209f..e6cdda95014296 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -19,11 +19,11 @@ /datum/action/innate/dash/hierophant/teleport(mob/user, atom/target) var/dist = get_dist(user, target) if(dist > HIEROPHANT_BLINK_RANGE) - user.balloon_alert(user, "destination out of range!") + user.balloon_alert(user, "слишком далеко!") return FALSE var/turf/target_turf = get_turf(target) if(target_turf.is_blocked_turf_ignore_climbable()) - user.balloon_alert(user, "destination blocked!") + user.balloon_alert(user, "не могу туда попасть!") return FALSE . = ..() @@ -42,8 +42,8 @@ club.update_appearance(UPDATE_ICON_STATE) /obj/item/hierophant_club - name = "hierophant club" - desc = "The strange technology of this large club allows various nigh-magical teleportation feats. It used to beat you, but now you can set the beat." + name = "посох иерофанта" + desc = "Странная технология этого посоха позволяет совершать практически магические трюки с телепортацией." icon_state = "hierophant_club_ready_beacon" inhand_icon_state = "hierophant_club_ready_beacon" icon = 'icons/obj/mining_zones/artefacts.dmi' @@ -54,8 +54,8 @@ slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_NORMAL force = 15 - attack_verb_continuous = list("clubs", "beats", "pummels") - attack_verb_simple = list("club", "beat", "pummel") + attack_verb_continuous = list("бьёт", "ударяет", "колотит") + attack_verb_simple = list("бьёт", "ударяет", "колотит") hitsound = 'sound/weapons/sonic_jackhammer.ogg' resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF actions_types = list(/datum/action/item_action/vortex_recall) @@ -236,22 +236,22 @@ //Bubblegum: Mayhem in a Bottle, H.E.C.K. Suit, Soulscythe /obj/item/mayhem - name = "mayhem in a bottle" - desc = "A magically infused bottle of blood, the scent of which will drive anyone nearby into a murderous frenzy." + name = "бутылированный хаос" + desc = "Зачарованная бутылка с кровью, запах которой приведёт всех вокруг в кровавое бешенство." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "vial" /obj/item/mayhem/attack_self(mob/user) for(var/mob/living/carbon/human/target in range(7,user)) target.apply_status_effect(/datum/status_effect/mayhem) - to_chat(user, span_notice("You shatter the bottle!")) + to_chat(user, span_notice("Разбиваю бутылку!")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE) message_admins(span_adminnotice("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!")) user.log_message("activated a bottle of mayhem", LOG_ATTACK) qdel(src) /obj/item/clothing/suit/hooded/hostile_environment - name = "H.E.C.K. suit" + name = "H.E.C.K. костюм" desc = "Hostile Environment Cross-Kinetic Suit: A suit designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner." icon_state = "hostile_env" hoodtype = /obj/item/clothing/head/hooded/hostile_environment @@ -294,7 +294,7 @@ to_chat(wearer, span_warning("[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]")) /obj/item/clothing/head/hooded/hostile_environment - name = "H.E.C.K. helmet" + name = "H.E.C.K. шлем" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' desc = "Hostile Environment Cross-Kinetic Helmet: A helmet designed to withstand the wide variety of hazards from Lavaland. It wasn't enough for its last owner." @@ -350,15 +350,15 @@ #define MAX_BLOOD_LEVEL 100 /obj/item/soulscythe - name = "soulscythe" - desc = "An old relic of hell created by devils to establish themselves as the leadership of hell over the demons. It grows stronger while it possesses a powerful soul." + name = "коса жнеца душ" + desc = "Древний артефакт, созданный дьяволами для установления себя в качестве лидеров ада над демонами. Сила косы увеличится, если в неё вселится мощная душа." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "soulscythe" inhand_icon_state = "soulscythe" lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - attack_verb_continuous = list("chops", "slices", "cuts", "reaps") - attack_verb_simple = list("chop", "slice", "cut", "reap") + attack_verb_continuous = list("рубит", "режет") + attack_verb_simple = list("рубит", "режет") hitsound = 'sound/weapons/bladeslice.ogg' inhand_x_dimension = 64 inhand_y_dimension = 64 @@ -391,7 +391,7 @@ /obj/item/soulscythe/examine(mob/user) . = ..() - . += soul.ckey ? span_nicegreen("There is a soul inhabiting it.") : span_danger("It's dormant.") + . += soul.ckey ? span_nicegreen("В ней находится душа.") : span_danger("Она дремлет в ожидании души.") /obj/item/soulscythe/attack(mob/living/attacked, mob/living/user, params) . = ..() @@ -400,7 +400,7 @@ /obj/item/soulscythe/attack_hand(mob/user, list/modifiers) if(soul.ckey && !soul.faction_check_atom(user)) - to_chat(user, span_warning("You can't pick up [src]!")) + to_chat(user, span_warning("Не могу поднять косу!")) return return ..() @@ -418,10 +418,10 @@ if(using || soul.ckey || soul.stat) return if(!(GLOB.ghost_role_flags & GHOSTROLE_STATION_SENTIENCE)) - balloon_alert(user, "you can't awaken the scythe!") + balloon_alert(user, "не могу пробудить косу") return using = TRUE - balloon_alert(user, "you hold the scythe up...") + balloon_alert(user, "поднимаю косу вверх..") ADD_TRAIT(src, TRAIT_NODROP, type) var/datum/callback/to_call = CALLBACK(src, PROC_REF(on_poll_concluded), user) @@ -434,7 +434,7 @@ /// Ghost poll has concluded and a candidate has been chosen. /obj/item/soulscythe/proc/on_poll_concluded(mob/living/master, mob/dead/observer/ghost) if(isnull(ghost)) - balloon_alert(master, "the scythe is dormant!") + balloon_alert(master, "коса дремлет!") REMOVE_TRAIT(src, TRAIT_NODROP, type) using = FALSE return @@ -442,7 +442,7 @@ soul.ckey = ghost.ckey soul.copy_languages(master, LANGUAGE_MASTER) //Make sure the sword can understand and communicate with the master. soul.faction = list("[REF(master)]") - balloon_alert(master, "the scythe glows") + balloon_alert(master, "коса мерцает") add_overlay("soulscythe_gem") density = TRUE if(!ismob(loc)) @@ -455,7 +455,7 @@ if(!COOLDOWN_FINISHED(src, move_cooldown) || charging) return if(!isturf(loc)) - balloon_alert(user, "resist out!") + balloon_alert(user, "сопротивляется!") COOLDOWN_START(src, move_cooldown, 1 SECONDS) return if(!use_blood(1, FALSE)) @@ -486,7 +486,7 @@ /obj/item/soulscythe/proc/use_blood(amount = 0, message = TRUE) if(amount > soul.blood_level) if(message) - to_chat(soul, span_warning("Not enough blood!")) + to_chat(soul, span_warning("Нужно больше крови!")) return FALSE soul.blood_level -= amount return TRUE @@ -504,11 +504,11 @@ /obj/item/soulscythe/proc/break_out() if(!use_blood(10)) return - balloon_alert(soul, "you resist...") + balloon_alert(soul, "сопротивляюсь...") if(!do_after(soul, 5 SECONDS, target = src, timed_action_flags = IGNORE_TARGET_LOC_CHANGE)) - balloon_alert(soul, "interrupted!") + balloon_alert(soul, "прервали!") return - balloon_alert(soul, "you break out") + balloon_alert(soul, "вырываюсь") if(ismob(loc)) var/mob/holder = loc holder.temporarilyRemoveItemFromInventory(src) @@ -544,7 +544,7 @@ projectile.preparePixelProjectile(attacked_atom, src) projectile.firer = src projectile.fire(null, attacked_atom) - visible_message(span_danger("[src] fires at [attacked_atom]!"), span_notice("You fire at [attacked_atom]!")) + visible_message(span_danger("[src] стреляет в [attacked_atom]!"), span_notice("Стреляю в [attacked_atom]!")) playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) /obj/item/soulscythe/proc/slash_target(atom/attacked_atom) @@ -553,7 +553,7 @@ if(attacked_mob.stat != DEAD) give_blood(15) attacked_mob.apply_damage(damage = force * (ishostile(attacked_mob) ? 2 : 1), sharpness = SHARP_EDGED, bare_wound_bonus = 5) - to_chat(attacked_mob, span_userdanger("You're slashed by [src]!")) + to_chat(attacked_mob, span_userdanger("[capitalize(src)] режет меня!")) else if((ismachinery(attacked_atom) || isstructure(attacked_atom)) && use_blood(5)) var/obj/attacked_obj = attacked_atom attacked_obj.take_damage(force, BRUTE, MELEE, FALSE) @@ -563,7 +563,7 @@ animate(src) SpinAnimation(5) addtimer(CALLBACK(src, PROC_REF(reset_spin)), 1 SECONDS) - visible_message(span_danger("[src] slashes [attacked_atom]!"), span_notice("You slash [attacked_atom]!")) + visible_message(span_danger("[capitalize(src)] режет [attacked_atom]!"), span_notice("Режу [attacked_atom]!")) playsound(src, 'sound/weapons/bladeslice.ogg', 50, TRUE) do_attack_animation(attacked_atom, ATTACK_EFFECT_SLASH) @@ -590,7 +590,7 @@ SpinAnimation(15) /mob/living/simple_animal/soulscythe - name = "mysterious spirit" + name = "таинственный дух" maxHealth = 200 health = 200 gender = NEUTER @@ -602,7 +602,7 @@ /mob/living/simple_animal/soulscythe/get_status_tab_items() . = ..() - . += "Blood: [blood_level]/[MAX_BLOOD_LEVEL]" + . += "Кровь: [blood_level]/[MAX_BLOOD_LEVEL]" /mob/living/simple_animal/soulscythe/Life(seconds_per_tick, times_fired) . = ..() @@ -628,7 +628,7 @@ //Ash Drake: Spectral Blade, Lava Staff, Dragon's Blood /obj/item/melee/ghost_sword - name = "\improper spectral blade" + name = "спектральный клинок" desc = "A rusted and dulled blade. It doesn't look like it'd do much damage. It glows weakly." icon = 'icons/obj/weapons/sword.dmi' icon_state = "spectral" @@ -642,8 +642,8 @@ throwforce = 1 hitsound = 'sound/effects/ghost2.ogg' block_sound = 'sound/weapons/parry.ogg' - attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") - attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") + attack_verb_continuous = list("атакует", "разрезает", "колет", "режет", "рвет", "разрывает", "нарезает") + attack_verb_simple = list("атакует", "разрезает", "колет", "режет", "рвет", "разрывает", "нарезает") resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/summon_cooldown = 0 var/list/mob/dead/observer/spirits @@ -668,13 +668,13 @@ /obj/item/melee/ghost_sword/attack_self(mob/user) if(summon_cooldown > world.time) - to_chat(user, span_warning("You just recently called out for aid. You don't want to annoy the spirits!")) + to_chat(user, span_warning("Не хочу раздражать духов!")) return - to_chat(user, span_notice("You call out for aid, attempting to summon spirits to your side.")) + to_chat(user, span_notice("Взываю к духам о помощи.")) - notify_ghosts("[user] is raising [user.p_their()] [name], calling for your help!", + notify_ghosts("[user] поднимает свой [name], взывая к вам о помощи!", enter_link="(Click to help)", - source = user, ignore_key = POLL_IGNORE_SPECTRAL_BLADE, header = "Spectral blade") + source = user, ignore_key = POLL_IGNORE_SPECTRAL_BLADE, header = "Спектральный клинок") summon_cooldown = world.time + 600 @@ -711,18 +711,18 @@ force = 0 var/ghost_counter = ghost_check() force = clamp((ghost_counter * 4), 0, 75) - user.visible_message(span_danger("[user] strikes with the force of [ghost_counter] vengeful spirits!")) + user.visible_message(span_danger("[user] ударяет с силой [ghost_counter] мстительных духов!")) ..() /obj/item/melee/ghost_sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) var/ghost_counter = ghost_check() final_block_chance += clamp((ghost_counter * 5), 0, 75) - owner.visible_message(span_danger("[owner] is protected by a ring of [ghost_counter] ghosts!")) + owner.visible_message(span_danger("[owner] защищен кольцом из [ghost_counter] духов!")) return ..() /obj/item/dragons_blood - name = "bottle of dragons blood" - desc = "You're not actually going to drink this, are you?" + name = "бутылка с кровью дракона" + desc = "Ты же не собираешься это пить, правда?" icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "vial" @@ -735,7 +735,7 @@ switch(random) if(1) - to_chat(user, span_danger("Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")) + to_chat(user, span_danger("Теперь я похож на маленького пепельного дракона!")) consumer.dna.features = list( "mcolor" = "#A02720", "tail_lizard" = "Dark Tiger", @@ -753,22 +753,22 @@ consumer.eye_color_right = "#FEE5A3" consumer.set_species(/datum/species/lizard) if(2) - to_chat(user, span_danger("Your flesh begins to melt! Miraculously, you seem fine otherwise.")) + to_chat(user, span_danger("С меня сходит кожа! Каким-то чудом я всё ещё живу.")) consumer.set_species(/datum/species/skeleton) if(3) - to_chat(user, span_danger("Power courses through you! You can now shift your form at will.")) + to_chat(user, span_danger("Чувствую силу! Теперь я могу менять свою форму по желанию.")) var/datum/action/cooldown/spell/shapeshift/dragon/dragon_shapeshift = new(user.mind || user) dragon_shapeshift.Grant(user) if(4) - to_chat(user, span_danger("You feel like you could walk straight through lava now.")) + to_chat(user, span_danger("Кажется, что теперь я могу ходить по лаве.")) ADD_TRAIT(user, TRAIT_LAVA_IMMUNE, type) playsound(user,'sound/items/drink.ogg', 30, TRUE) qdel(src) /obj/item/lava_staff - name = "staff of lava" - desc = "The ability to fill the emergency shuttle with lava. What more could you want out of life?" + name = "посох лавы" + desc = "Дарует способность залить шаттл лавой. Чего ещё ты хочешь от жизни?" icon_state = "lavastaff" inhand_icon_state = "lavastaff" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' @@ -779,13 +779,13 @@ force = 18 damtype = BURN resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - attack_verb_continuous = list("sears", "clubs", "burn") - attack_verb_simple = list("sear", "club", "burn") + attack_verb_continuous = list("бьёт") + attack_verb_simple = list("бьёт") hitsound = 'sound/weapons/sear.ogg' var/turf_type = /turf/open/lava/smooth/weak - var/transform_string = "lava" + var/transform_string = "лаву" var/reset_turf_type = /turf/open/misc/asteroid/basalt - var/reset_string = "basalt" + var/reset_string = "базальт" var/create_cooldown = 10 SECONDS var/create_delay = 3 SECONDS var/reset_cooldown = 5 SECONDS @@ -807,12 +807,12 @@ var/obj/effect/temp_visual/lavastaff/L = new /obj/effect/temp_visual/lavastaff(T) L.alpha = 0 animate(L, alpha = 255, time = create_delay) - user.visible_message(span_danger("[user] points [src] at [T]!")) + user.visible_message(span_danger("[user] направляет [src] на [T]!")) timer = world.time + create_delay + 1 if(do_after(user, create_delay, target = T)) var/old_name = T.name if(T.TerraformTurf(turf_type, flags = CHANGETURF_INHERIT_AIR)) - user.visible_message(span_danger("[user] turns [old_name] into [transform_string]!")) + user.visible_message(span_danger("[user] превращает [old_name] в [transform_string]!")) message_admins("[ADMIN_LOOKUPFLW(user)] fired the lava staff at [ADMIN_VERBOSEJMP(T)]") user.log_message("fired the lava staff at [AREACOORD(T)].", LOG_ATTACK) timer = world.time + create_cooldown @@ -823,7 +823,7 @@ else var/old_name = T.name if(T.TerraformTurf(reset_turf_type, flags = CHANGETURF_INHERIT_AIR)) - user.visible_message(span_danger("[user] turns [old_name] into [reset_string]!")) + user.visible_message(span_danger("[user] превращает [old_name] в [reset_string]!")) timer = world.time + reset_cooldown playsound(T,'sound/magic/fireball.ogg', 200, TRUE) @@ -956,7 +956,7 @@ user.changeNext_move(CLICK_CD_MELEE * 0.25) if(user) - balloon_alert(user, "[active ? "opened" : "closed"] [src]") + balloon_alert(user, "[active ? "разворачиваю" : "сворачиваю"] пилу") playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) return COMPONENT_NO_DEFAULT_MESSAGE diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 6e3d21ec8335d4..356a6f7baf6ffb 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -1,8 +1,8 @@ //The chests dropped by tendrils and megafauna. /obj/structure/closet/crate/necropolis - name = "necropolis chest" - desc = "It's watching you closely." + name = "сундук некрополиса" + desc = "Кажется, что он за мной наблюдает." icon_state = "necrocrate" base_icon_state = "necrocrate" resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -10,14 +10,12 @@ paint_jobs = null /obj/structure/closet/crate/necropolis/tendril - desc = "It's watching you suspiciously. You need a skeleton key to open it." + desc = "Он с подозрением наблюдает за вами." integrity_failure = 0 //prevents bust_open from firing /// var to check if it got opened by a key var/spawned_loot = FALSE /obj/structure/closet/crate/necropolis/tendril/attackby(obj/item/item, mob/user, params) - if(!istype(item, /obj/item/skeleton_key) || spawned_loot) - return ..() var/loot = rand(1,20) var/mod switch(loot) @@ -76,7 +74,6 @@ CRASH("Failed to generate loot. loot number: [loot][mod ? "subloot: [mod]" : null]") spawned_loot = TRUE qdel(item) - to_chat(user, span_notice("You disable the magic lock, revealing the loot.")) /obj/structure/closet/crate/necropolis/tendril/before_open(mob/living/user, force) . = ..() @@ -84,7 +81,7 @@ return FALSE if(!broken && !force && !spawned_loot) - balloon_alert(user, "its locked!") + balloon_alert(user, "закрыт!") return FALSE return TRUE @@ -92,7 +89,7 @@ //Megafauna chests /obj/structure/closet/crate/necropolis/dragon - name = "dragon chest" + name = "сундук дракона" /obj/structure/closet/crate/necropolis/dragon/PopulateContents() var/loot = rand(1,4) @@ -107,15 +104,15 @@ new /obj/item/dragons_blood(src) /obj/structure/closet/crate/necropolis/dragon/crusher - name = "firey dragon chest" + name = "сундук огненного дракона" /obj/structure/closet/crate/necropolis/dragon/crusher/PopulateContents() ..() new /obj/item/crusher_trophy/tail_spike(src) /obj/structure/closet/crate/necropolis/bubblegum - name = "\improper Ancient Sarcophagus" - desc = "Once guarded by the King of Demons, this sarcophagus contains the relics of an ancient soldier." + name = "древний саркофаг" + desc = "Этот саркофаг, некогда охраняемый королем ада, содержит реликвии древнего воина." icon_state = "necro_bubblegum" base_icon_state = "necro_bubblegum" lid_icon_state = "necro_bubblegum_lid" @@ -132,14 +129,14 @@ new /obj/item/soulscythe(src) /obj/structure/closet/crate/necropolis/bubblegum/crusher - name = "bloody bubblegum chest" + name = "кровавый древний саркофаг" /obj/structure/closet/crate/necropolis/bubblegum/crusher/PopulateContents() ..() new /obj/item/crusher_trophy/demon_claws(src) /obj/structure/closet/crate/necropolis/colossus - name = "colossus chest" + name = "сундук колосса" /obj/structure/closet/crate/necropolis/colossus/bullet_act(obj/projectile/P) if(istype(P, /obj/projectile/colossus)) @@ -153,7 +150,7 @@ new /obj/item/organ/internal/vocal_cords/colossus(src) /obj/structure/closet/crate/necropolis/colossus/crusher - name = "angelic colossus chest" + name = "сундук колосса" /obj/structure/closet/crate/necropolis/colossus/crusher/PopulateContents() ..() @@ -162,7 +159,7 @@ //Other chests and minor stuff /obj/structure/closet/crate/necropolis/puzzle - name = "puzzling chest" + name = "сундук некрополиса" /obj/structure/closet/crate/necropolis/puzzle/PopulateContents() var/loot = rand(1,3) @@ -173,10 +170,3 @@ new /obj/item/wisp_lantern(src) if(3) new /obj/item/prisoncube(src) - -/obj/item/skeleton_key - name = "skeleton key" - desc = "An artifact usually found in the hands of the natives of lavaland, which NT now holds a monopoly on." - icon = 'icons/obj/mining_zones/artefacts.dmi' - icon_state = "skeleton_key" - w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 270decf7284878..59274370a5c8c0 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -66,8 +66,8 @@ //Rod of Asclepius /obj/item/rod_of_asclepius - name = "\improper Rod of Asclepius" - desc = "A wooden rod about the size of your forearm with a snake carved around it, winding its way up the sides of the rod. Something about it seems to inspire in you the responsibilty and duty to help others." + name = "жезл асклепия" + desc = "Небольшой деревянный жезл с обвившейся вокруг него змеей. Весь его вид внушает вам чувство долга и нужду помогать страждущим." icon = 'icons/obj/mining_zones/artefacts.dmi' lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' @@ -81,7 +81,7 @@ /obj/item/rod_of_asclepius/update_desc(updates) . = ..() - desc = activated ? "A short wooden rod with a mystical snake inseparably gripping itself and the rod to your forearm. It flows with a healing energy that disperses amongst yourself and those around you." : initial(desc) + desc = activated ? "Небольшой деревянный жезл с мистической змеей, обвившей жезл и мою руку. Он источает целительную энергию, которая окутывает меня и всех окружающих. Я чувствую, что способен одним только касанием поднять мертвеца!" : initial(desc) /obj/item/rod_of_asclepius/update_icon_state() . = ..() @@ -96,37 +96,52 @@ if(activated) return if(!iscarbon(user)) - to_chat(user, span_warning("The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath.")) + to_chat(user, span_warning("Змея на жезле на мгновение оживает и смотрит на меня, но через мгновение разочаровано отворачивается и снова замирает, как будто она знает, что я неспособен сдержать свою клятву.")) return - var/mob/living/carbon/itemUser = user - var/usedHand = itemUser.get_held_index_of_item(src) - if(itemUser.has_status_effect(/datum/status_effect/hippocratic_oath)) - to_chat(user, span_warning("You can't possibly handle the responsibility of more than one rod!")) + var/mob/living/carbon/item_user = user + var/usedHand = item_user.get_held_index_of_item(src) + if(item_user.has_status_effect(/datum/status_effect/hippocratic_oath)) + to_chat(user, span_warning("Не в моих силах нести больше ответственности, чем я могу на себя принять!")) return - var/failText = span_warning("The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!") - to_chat(itemUser, span_notice("The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong...")) - if(do_after(itemUser, 40, target = itemUser)) - itemUser.say("I swear to fulfill, to the best of my ability and judgment, this covenant:", forced = "hippocratic oath") + var/fail_text = span_warning("Змея, похоже, недовольна моей неполной клятвой и вновь замирает, возвращаясь в свое спящее, деревянное состояние. Я должен подойти к этому дело ответственно и стоять неподвижно во время принесения торжественной клятвы!") + to_chat(item_user, span_notice("Деревянная змея, вырезанная на жезле, внезапно оживает и обвивает мою руку! У меня проявляется необычайно сильное желание помогать другим...")) + if(do_after(item_user, 40, target = item_user)) + item_user.say("Получая высокое звание врача и приступая к профессиональной деятельности, я торжественно клянусь:", forced = "hippocratic oath") else - to_chat(itemUser, failText) + to_chat(item_user, fail_text) return - if(do_after(itemUser, 20, target = itemUser)) - itemUser.say("I will apply, for the benefit of the sick, all measures that are required, avoiding those twin traps of overtreatment and therapeutic nihilism.", forced = "hippocratic oath") + if(do_after(item_user, 30, target = item_user)) + item_user.say("Честно исполнять свой врачебный долг, посвятить свои знания и умения предупреждению и лечению заболеваний, сохранению и укреплению здоровья человека", forced = "hippocratic oath") else - to_chat(itemUser, failText) + to_chat(item_user, fail_text) return - if(do_after(itemUser, 30, target = itemUser)) - itemUser.say("I will remember that I remain a member of society, with special obligations to all my fellow human beings, those sound of mind and body as well as the infirm.", forced = "hippocratic oath") + if(do_after(item_user, 50, target = item_user)) + item_user.say("Быть всегда готовым оказать медицинскую помощь, хранить врачебную тайну, внимательно и заботливо относиться к пациенту, действовать исключительно в его интересах независимо от пола, расы, национальности, языка, происхождения, имущественного и должностного положения, места жительства, отношения к религии, убеждений, принадлежности к общественным объединениям, а также других обстоятельств", forced = "hippocratic oath") else - to_chat(itemUser, failText) + to_chat(item_user, fail_text) return - if(do_after(itemUser, 30, target = itemUser)) - itemUser.say("If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of healing those who seek my help.", forced = "hippocratic oath") + if(do_after(item_user, 20, target = item_user)) + item_user.say("Проявлять высочайшее уважение к жизни человека, никогда не прибегать к осуществлению эвтаназии", forced = "hippocratic oath") else - to_chat(itemUser, failText) + to_chat(item_user, fail_text) return - to_chat(itemUser, span_notice("The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory...")) - var/datum/status_effect/hippocratic_oath/effect = itemUser.apply_status_effect(/datum/status_effect/hippocratic_oath) + if(do_after(item_user, 20, target = item_user)) + item_user.say("Хранить благодарность и уважение к своим учителям, быть требовательным и справедливым к своим ученикам, способствовать их профессиональному росту", forced = "hippocratic oath") + else + to_chat(item_user, fail_text) + return + if(do_after(item_user, 30, target = item_user)) + item_user.say("Доброжелательно относиться к коллегам, обращаться к ним за помощью и советом, если этого требуют интересы пациента, и самому никогда не отказывать коллегам в помощи и совете", forced = "hippocratic oath") + else + to_chat(item_user, fail_text) + return + if(do_after(item_user, 20, target = item_user)) + item_user.say("Постоянно совершенствовать свое профессиональное мастерство, беречь и развивать благородные традиции медицины.", forced = "hippocratic oath") + else + to_chat(item_user, fail_text) + return + to_chat(item_user, span_notice("Змея, удовлетворенная моей клятвой, обвивает мою руку и жезл, теперь я не смогу отпустить его, даже если захочу. Мои мысли, сконцентрированы исключительно на помощи страждущим, а в голове запечетлелась фраза: \"Не навреди\"...")) + var/datum/status_effect/hippocratic_oath/effect = item_user.apply_status_effect(/datum/status_effect/hippocratic_oath) effect.hand = usedHand activated() @@ -138,8 +153,8 @@ //Memento Mori /obj/item/clothing/neck/necklace/memento_mori - name = "Memento Mori" - desc = "A mysterious pendant. An inscription on it says: \"Certain death tomorrow means certain life today.\"" + name = "память о смерти" + desc = "Мистический талисман. На нем выгравирована надпись: \"Memento mori - Верная смерть завтра означает верную жизнь сегодня.\"" icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "memento_mori" worn_icon_state = "memento" @@ -162,9 +177,9 @@ return ..() /obj/item/clothing/neck/necklace/memento_mori/proc/memento(mob/living/carbon/human/user) - to_chat(user, span_warning("You feel your life being drained by the pendant...")) + to_chat(user, span_warning("Чувствую, как кулон высасывает мою жизнь...")) if(do_after(user, 40, target = user)) - to_chat(user, span_notice("Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die.")) + to_chat(user, span_notice("Моя жизненная сила теперь связана с кулоном! Чувствую, что не стоит его снимать...")) user.add_traits(list(TRAIT_NODEATH, TRAIT_NOHARDCRIT, TRAIT_NOCRITDAMAGE), CLOTHING_TRAIT) RegisterSignal(user, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(check_health)) icon_state = "memento_mori_active" @@ -177,7 +192,7 @@ UnregisterSignal(active_owner, COMSIG_LIVING_HEALTH_UPDATE) var/mob/living/carbon/human/H = active_owner //to avoid infinite looping when dust unequips the pendant active_owner = null - to_chat(H, span_userdanger("You feel your life rapidly slipping away from you!")) + to_chat(H, span_userdanger("Чувствую, как жизненная сила стремительно ускользает!")) H.dust(TRUE, TRUE) /obj/item/clothing/neck/necklace/memento_mori/proc/check_health(mob/living/source) @@ -201,19 +216,19 @@ new /obj/effect/temp_visual/guardian/phase/out(get_turf(guardian)) guardian.locked = TRUE guardian.forceMove(src) - to_chat(guardian, span_userdanger("You have been locked away in your summoner's pendant!")) + to_chat(guardian, span_userdanger("Заперт в кулоне хозяина!")) guardian.playsound_local(get_turf(guardian), 'sound/magic/summonitems_generic.ogg', 50, TRUE) /obj/item/clothing/neck/necklace/memento_mori/proc/regurgitate_guardian(mob/living/simple_animal/hostile/guardian/guardian) guardian.locked = FALSE guardian.recall(forced = TRUE) - to_chat(guardian, span_notice("You have been returned back from your summoner's pendant!")) + to_chat(guardian, span_notice("Высвобождаюсь из кулона хозяина!")) guardian.playsound_local(get_turf(guardian), 'sound/magic/repulse.ogg', 50, TRUE) /datum/action/item_action/hands_free/memento_mori check_flags = NONE name = "Memento Mori" - desc = "Bind your life to the pendant." + desc = "Свяжи свою жизнь с кулоном." /datum/action/item_action/hands_free/memento_mori/Trigger(trigger_flags) var/obj/item/clothing/neck/necklace/memento_mori/MM = target @@ -224,8 +239,8 @@ //Wisp Lantern /obj/item/wisp_lantern - name = "spooky lantern" - desc = "This lantern gives off no light, but is home to a friendly wisp." + name = "жуткий фонарь" + desc = "Этот фонарь не излучает света, но является домом для дружелюбного огонька." icon = 'icons/obj/lighting.dmi' icon_state = "lantern-blue-on" inhand_icon_state = "lantern-blue-on" @@ -235,20 +250,20 @@ /obj/item/wisp_lantern/attack_self(mob/user) if(!wisp) - to_chat(user, span_warning("The wisp has gone missing!")) + to_chat(user, span_warning("Огонёк пропал!")) icon_state = "lantern-blue" inhand_icon_state = "lantern-blue" return if(wisp.loc == src) - to_chat(user, span_notice("You release the wisp. It begins to bob around your head.")) + to_chat(user, span_notice("Выпускаю огонёк. Он начинает кружиться вокруг моей головы.")) icon_state = "lantern-blue" inhand_icon_state = "lantern-blue" wisp.orbit(user, 20) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") else - to_chat(user, span_notice("You return the wisp to the lantern.")) + to_chat(user, span_notice("Возвращаю огонёк в лампу.")) icon_state = "lantern-blue-on" inhand_icon_state = "lantern-blue-on" wisp.forceMove(src) @@ -263,12 +278,12 @@ if(wisp.loc == src) qdel(wisp) else - wisp.visible_message(span_notice("[wisp] has a sad feeling for a moment, then it passes.")) + wisp.visible_message(span_notice("На мгновение огонёк выглядит грустным.")) return ..() /obj/effect/wisp - name = "friendly wisp" - desc = "Happy to light your way." + name = "дружелюбный огонёк" + desc = "Рад помочь вам осветить путь." icon = 'icons/obj/lighting.dmi' icon_state = "orb" light_system = MOVABLE_LIGHT @@ -285,13 +300,13 @@ RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) var/mob/being = thing being.update_sight() - to_chat(thing, span_notice("The wisp enhances your vision.")) + to_chat(thing, span_notice("Огонёк светится!")) /obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits) . = ..() if(ismob(orbits.parent)) UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT) - to_chat(orbits.parent, span_notice("Your vision returns to normal.")) + to_chat(orbits.parent, span_notice("Зрение возвращается к норме.")) /obj/effect/wisp/proc/update_user_sight(mob/user) SIGNAL_HANDLER @@ -301,8 +316,8 @@ //Red/Blue Cubes /obj/item/warp_cube - name = "blue cube" - desc = "A mysterious blue cube." + name = "синий куб" + desc = "Мистический синий куб." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "blue_cube" var/teleport_color = "#3FBAFD" @@ -319,7 +334,7 @@ var/turf/current_location = get_turf(user) var/area/current_area = current_location.loc if(!linked || (current_area.area_flags & NOTELEPORT)) - to_chat(user, span_warning("[src] fizzles uselessly.")) + to_chat(user, span_warning("[src] не реагирует.")) return if(teleporting) return @@ -351,8 +366,8 @@ qdel(link_holder) /obj/item/warp_cube/red - name = "red cube" - desc = "A mysterious red cube." + name = "красный куб" + desc = "Мистический красный куб." icon_state = "red_cube" teleport_color = "#FD3F48" @@ -369,8 +384,8 @@ //Immortality Talisman /obj/item/immortality_talisman - name = "\improper Immortality Talisman" - desc = "A dread talisman that can render you completely invulnerable." + name = "талисман бессмертия" + desc = "Жуткий талисман, который может сделать вас совершенно неуязвимым." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "talisman" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -390,14 +405,14 @@ cooldown = world.time + 600 new /obj/effect/immortality_talisman(get_turf(user), user) else - to_chat(user, span_warning("[src] is not ready yet!")) + to_chat(user, span_warning("[src] не готов!")) /obj/effect/immortality_talisman - name = "hole in reality" - desc = "It's shaped an awful lot like a person." + name = "разрыв пространства" + desc = "Своей формой удивительно похож на человека." icon_state = "blank" icon = 'icons/effects/effects.dmi' - var/vanish_description = "vanishes from reality" + var/vanish_description = "исчезает" // Weakref to the user who we're "acting" on var/datum/weakref/user_ref @@ -422,12 +437,11 @@ user.status_flags &= ~GODMODE REMOVE_TRAIT(user, TRAIT_NO_TRANSFORM, REF(src)) user.forceMove(get_turf(src)) - user.visible_message(span_danger("[user] pops back into reality!")) + user.visible_message(span_danger("[user] возвращается в реальность!")) /obj/effect/immortality_talisman/proc/vanish(mob/user) - user.visible_message(span_danger("[user] [vanish_description], leaving a hole in [user.p_their()] place!")) - - desc = "It's shaped an awful lot like [user.name]." + user.visible_message(span_danger("[user] [vanish_description], оставляя дыру на своем месте!")) + desc = "Своей формой удивительно похож на [user.name]." setDir(user.dir) user.forceMove(src) @@ -453,13 +467,13 @@ return /obj/effect/immortality_talisman/void - vanish_description = "is dragged into the void" + vanish_description = "исчезает" //Shared Bag /obj/item/shared_storage - name = "paradox bag" - desc = "Somehow, it's in two places at once." + name = "сумка-парадокс" + desc = "Каким-то образом находится в двух местах одновременно." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "paradox_bag" worn_icon_state = "paradoxbag" @@ -467,8 +481,8 @@ resistance_flags = INDESTRUCTIBLE /obj/item/shared_storage/red - name = "paradox bag" - desc = "Somehow, it's in two places at once." + name = "сумка-парадокс" + desc = "Каким-то образом находится в двух местах одновременно." /obj/item/shared_storage/red/Initialize(mapload) . = ..() @@ -488,19 +502,19 @@ //Book of Babel /obj/item/book_of_babel - name = "Book of Babel" - desc = "An ancient tome written in countless tongues." + name = "книга Вавилона" + desc = "Древний фолиант, написанный на бесчисленных языках." icon = 'icons/obj/service/library.dmi' icon_state = "book1" w_class = WEIGHT_CLASS_SMALL /obj/item/book_of_babel/attack_self(mob/user) if(user.is_blind()) - to_chat(user, span_warning("You are blind and can't read anything!")) + to_chat(user, span_warning("Не могу ничего разглядеть!")) return FALSE if(!user.can_read(src)) return FALSE - to_chat(user, span_notice("You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops.")) + to_chat(user, span_notice("Листаю страницы книги. Кажется, теперь я могу говорить на всех языках!")) cure_curse_of_babel(user) // removes tower of babel if we have it user.grant_all_languages(source = LANGUAGE_BABEL) user.remove_blocked_language(GLOB.all_languages, source = LANGUAGE_ALL) @@ -524,13 +538,13 @@ . += "potionflask_cap" /obj/item/reagent_containers/cup/bottle/potion/flight - name = "strange elixir" - desc = "A flask with an almost-holy aura emitting from it. The label on the bottle says: 'erqo'hyy tvi'rf lbh jv'atf'." + name = "странный эликсир" + desc = "Флакон, от которого исходит почти священная аура. На этикетке бутылки написано: من يقرأها سيموت." list_reagents = list(/datum/reagent/flightpotion = 5) /datum/reagent/flightpotion - name = "Flight Potion" - description = "Strange mutagenic compound of unknown origins." + name = "Зелье полёта" + description = "Странная жидкость неизвестного происхождения." reagent_state = LIQUID color = "#976230" @@ -544,12 +558,12 @@ var/obj/item/bodypart/chest/chest = exposed_human.get_bodypart(BODY_ZONE_CHEST) if(!chest.wing_types || reac_volume < 5 || !exposed_human.dna) if((methods & INGEST) && show_message) - to_chat(exposed_human, span_notice("You feel nothing but a terrible aftertaste.")) + to_chat(exposed_human, span_notice("Чувствую лишь ужасное послевкусие.")) return if(exposed_human.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS)) - to_chat(exposed_human, span_userdanger("A terrible pain travels down your back as your wings change shape!")) + to_chat(exposed_human, span_userdanger("Мои крылья меняют свою форму с ужасающей болью!")) else - to_chat(exposed_human, span_userdanger("A terrible pain travels down your back as wings burst out!")) + to_chat(exposed_human, span_userdanger("Ужасающая боль пронзает мою спину!")) var/obj/item/organ/external/wings/functional/wings = get_wing_choice(exposed_human, chest) wings = new wings() wings.Insert(exposed_human) @@ -582,8 +596,8 @@ return wing_type /obj/item/jacobs_ladder - name = "jacob's ladder" - desc = "A celestial ladder that violates the laws of physics." + name = "лестница Иакова" + desc = "Небесная лестница, нарушающая законы физики." icon = 'icons/obj/structures.dmi' icon_state = "ladder00" @@ -591,7 +605,7 @@ var/turf/T = get_turf(src) var/ladder_x = T.x var/ladder_y = T.y - to_chat(user, span_notice("You unfold the ladder. It extends much farther than you were expecting.")) + to_chat(user, span_notice("Разворачиваю лестницу. Она простирается гораздо дальше, чем я ожидал")) var/last_ladder = null for(var/i in 1 to world.maxz) if(is_centcom_level(i) || is_reserved_level(i) || is_away_level(i)) @@ -602,13 +616,13 @@ // Inherit from unbreakable but don't set ID, to suppress the default Z linkage /obj/structure/ladder/unbreakable/jacob - name = "jacob's ladder" - desc = "An indestructible celestial ladder that violates the laws of physics." + name = "лестница Иакова" + desc = "Неразрушимая небесная лестница, нарушающая законы физики." //Concussive Gauntlets /obj/item/clothing/gloves/gauntlets - name = "concussive gauntlets" - desc = "Pickaxes... for your hands!" + name = "сотрясающие перчатки" + desc = "Отбойный молоток в форме перчаток для быстрой добычи полезных ископаемых без необходимости держать в руках инструменты." icon_state = "concussive_gauntlets" inhand_icon_state = null toolspeed = 0.1 @@ -658,8 +672,8 @@ return COMPONENT_CANCEL_ATTACK_CHAIN /obj/item/clothing/suit/hooded/berserker - name = "berserker armor" - desc = "Voices echo from the armor, driving the user insane. Is not space-proof." + name = "броня берсерка" + desc = "Голоса исходящие от скафандра, способны свести пользователя с ума, вогнав в кровавое безумие." icon_state = "berserker" icon = 'icons/obj/clothing/suits/armor.dmi' worn_icon = 'icons/mob/clothing/suits/armor.dmi' @@ -705,8 +719,8 @@ #define BERSERK_ATTACK_SPEED_MODIFIER 0.25 /obj/item/clothing/head/hooded/berserker - name = "berserker helmet" - desc = "Peering into the eyes of the helmet is enough to seal damnation." + name = "шлем берсерка" + desc = "Даже если смотреть в глаза этому шлему, быстро начинаешь осознавать свою ничтожность." icon_state = "berserker" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' @@ -729,7 +743,7 @@ /obj/item/clothing/head/hooded/berserker/examine() . = ..() - . += span_notice("Berserk mode is [berserk_charge]% charged.") + . += span_notice("
Заряд берсерка [berserk_charge]%.") /obj/item/clothing/head/hooded/berserker/process(seconds_per_tick) if(berserk_active) @@ -750,8 +764,8 @@ berserk_value *= PROJECTILE_HIT_MULTIPLIER berserk_charge = clamp(round(berserk_charge + berserk_value), 0, MAX_BERSERK_CHARGE) if(berserk_charge >= MAX_BERSERK_CHARGE) - to_chat(owner, span_notice("Berserk mode is fully charged.")) - balloon_alert(owner, "berserk charged") + to_chat(owner, span_notice("Режим берсерка заряжен.")) + balloon_alert(owner, "берсерк готов") /obj/item/clothing/head/hooded/berserker/IsReflect() if(berserk_active) @@ -759,7 +773,7 @@ /// Starts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier /obj/item/clothing/head/hooded/berserker/proc/berserk_mode(mob/living/carbon/human/user) - to_chat(user, span_warning("You enter berserk mode.")) + to_chat(user, span_warning("ВХОЖУ В РЕЖИМ БЕРСЕРКА!")) playsound(user, 'sound/magic/staff_healing.ogg', 50) user.add_movespeed_modifier(/datum/movespeed_modifier/berserk) user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = BERSERK_MELEE_ARMOR_ADDED)) @@ -777,7 +791,7 @@ berserk_active = FALSE if(QDELETED(user)) return - to_chat(user, span_warning("You exit berserk mode.")) + to_chat(user, span_warning("Выхожу из режима берсерка.")) playsound(user, 'sound/magic/summonitems_generic.ogg', 50) user.remove_movespeed_modifier(/datum/movespeed_modifier/berserk) user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = -BERSERK_MELEE_ARMOR_ADDED)) @@ -795,8 +809,8 @@ #undef BERSERK_ATTACK_SPEED_MODIFIER /obj/item/clothing/glasses/godeye - name = "eye of god" - desc = "A strange eye, said to have been torn from an omniscient creature that used to roam the wastes." + name = "глаз бога" + desc = "Странное око. Говорят, что оно было вырвано из всеведущего существа, которое когда-то бродило по пустоши." icon_state = "godeye" inhand_icon_state = null vision_flags = SEE_TURFS @@ -831,13 +845,13 @@ scan_ability?.Remove(user) /obj/item/clothing/glasses/godeye/proc/pain(mob/living/victim) - to_chat(victim, span_userdanger("You experience blinding pain, as [src] burrows into your skull.")) + to_chat(victim, span_userdanger("Чувствую острую боль, когда [src] врывается в мой череп.")) victim.emote("scream") victim.flash_act() /datum/action/cooldown/scan - name = "Scan" - desc = "Scan an enemy, to get their location and stagger them, increasing their time between attacks." + name = "Сканировать" + desc = "Просканируйте противника, чтобы получить его местоположение и ошеломить его, увеличив время между атаками." background_icon_state = "bg_clock" overlay_icon_state = "bg_clock_border" button_icon = 'icons/mob/actions/actions_items.dmi' @@ -856,7 +870,7 @@ if(owner.stat != CONSCIOUS) return FALSE if(!isliving(scanned) || scanned == owner) - owner.balloon_alert(owner, "invalid scanned!") + owner.balloon_alert(owner, "неверная цель!") return FALSE var/mob/living/living_owner = owner @@ -866,19 +880,19 @@ scan_pinpointer.scan_target = living_scanned living_scanned.set_jitter_if_lower(100 SECONDS) - to_chat(living_scanned, span_warning("You've been staggered!")) + to_chat(living_scanned, span_warning("Меня трясёт!")) living_scanned.add_filter("scan", 2, list("type" = "outline", "color" = COLOR_YELLOW, "size" = 1)) addtimer(CALLBACK(living_scanned, TYPE_PROC_REF(/datum, remove_filter), "scan"), 30 SECONDS) owner.playsound_local(get_turf(owner), 'sound/magic/smoke.ogg', 50, TRUE) - owner.balloon_alert(owner, "[living_scanned] scanned") + owner.balloon_alert(owner, "сканирую [living_scanned]") addtimer(CALLBACK(src, PROC_REF(send_cooldown_end_message), cooldown_time)) StartCooldown() return TRUE /datum/action/cooldown/scan/proc/send_cooldown_end_message() - owner?.balloon_alert(owner, "scan recharged") + owner?.balloon_alert(owner, "сканирование готово") /datum/status_effect/agent_pinpointer/scan duration = 15 SECONDS @@ -893,8 +907,7 @@ return /atom/movable/screen/alert/status_effect/agent_pinpointer/scan - name = "Scan Target" - desc = "Contact may or may not be close." + name = "Сканировать цель" /obj/item/organ/internal/cyberimp/arm/shard name = "dark spoon shard" @@ -920,8 +933,8 @@ return /obj/item/organ/internal/cyberimp/arm/shard/katana - name = "dark shard" - desc = "An eerie metal shard surrounded by dark energies." + name = "проклятый осколок" + desc = "Жуткий металлический осколок." items_to_create = list(/obj/item/cursed_katana) /obj/item/organ/internal/cyberimp/arm/shard/katana/Retract() @@ -929,7 +942,7 @@ if(!katana || katana.shattered) return FALSE if(!katana.drew_blood) - to_chat(owner, span_userdanger("[katana] lashes out at you in hunger!")) + to_chat(owner, span_userdanger("[katana] вырывается из моей плоти!")) playsound(owner, 'sound/magic/demon_attack1.ogg', 50, TRUE) var/obj/item/bodypart/part = owner.get_holding_bodypart_of_item(katana) if(part) @@ -946,9 +959,9 @@ #define ATTACK_SHATTER "Shatter" /obj/item/cursed_katana - name = "cursed katana" - desc = "A katana used to seal something vile away long ago. \ - Even with the weapon destroyed, all the pieces containing the creature have coagulated back together to find a new host." + name = "проклятая катана" + desc = "Катана, использованная для запечатывания чего-то зловещего давным-давно. \ + Даже после уничтожения оружия все части, содержащие существо, снова собрались вместе, чтобы найти нового хозяина." icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "cursed_katana" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' @@ -959,8 +972,8 @@ block_sound = 'sound/weapons/parry.ogg' sharpness = SHARP_EDGED w_class = WEIGHT_CLASS_HUGE - attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") - attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") + attack_verb_continuous = list("атакует", "разрезает", "колет", "режет", "рвет", "разрывает", "нарезает") + attack_verb_simple = list("атакует", "разрезает", "колет", "режет", "рвет", "разрывает", "нарезает") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | FREEZE_PROOF var/shattered = FALSE @@ -980,7 +993,7 @@ /datum/component/combo_attacks, \ combos = combo_list, \ max_combo_length = 4, \ - examine_message = span_notice("There seem to be inscriptions on it... you could examine them closer?"), \ + examine_message = span_notice("Кажется, на ней есть надписи... надо рассмотреть получше..."), \ reset_message = "you return to neutral stance", \ can_attack_callback = CALLBACK(src, PROC_REF(can_combo_attack)) \ ) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 15b229b08fe529..f8b69947daf20b 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -2,8 +2,8 @@ //Turns all the various mining machines into a single unit to speed up mining and establish a point system /obj/machinery/mineral/ore_redemption - name = "Шахтерская печь" - desc = "Машина, которая принимает руду и мгновенно переплавляет ее в листы пригодного для обработки материала. При этом генерируются баллы за руду, их количество зависит от редкости руды. Полученные балы можно обменять на полезную экипировку в торговом автомате шахтеров." + name = "Шахтёрская печь" + desc = "Машина, которая принимает руду и мгновенно переплавляет ее в листы пригодного для обработки материала. При этом генерируются баллы за руду, их количество зависит от редкости руды. Полученные балы можно обменять на полезную экипировку в торговом автомате шахтёров." icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "ore_redemption" density = TRUE diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 840c8e92900a89..c6dc4ad72b53b0 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -2,8 +2,8 @@ GLOBAL_DATUM(ore_silo_default, /obj/machinery/ore_silo) GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo - name = "ore silo" - desc = "An all-in-one bluespace storage and transmission system for the station's mineral distribution needs." + name = "ресурсный бункер" + desc = "Универсальная блюспейс система хранения и передачи ресурсов на нужды станции." icon = 'icons/obj/machines/ore_silo.dmi' icon_state = "silo" density = TRUE @@ -81,7 +81,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) popup.open() /obj/machinery/ore_silo/proc/generate_ui() - var/list/ui = list("Ore Silo

Stored Material:

") + var/list/ui = list("Ресурсный бункер

Хранимые материалы:

") var/any = FALSE for(var/M in materials.materials) var/datum/material/mat = M @@ -90,28 +90,28 @@ GLOBAL_LIST_EMPTY(silo_access_logs) var/ref = REF(M) if (sheets) if (sheets >= 1) - ui += "Eject" + ui += "Изъять" else - ui += "Eject" + ui += "Изъять" if (sheets >= 20) ui += "20x" else ui += "20x" - ui += "[mat.name]: [sheets] sheets
" + ui += "[mat.name]: [sheets] лист[get_ending(sheets, list("", "а", "ов"))]
" any = TRUE if(!any) - ui += "Nothing!" + ui += "Пусто!" - ui += "

Connected Machines:

" + ui += "

Подключенные машины:

" for(var/datum/component/remote_materials/mats as anything in ore_connected_machines) var/atom/parent = mats.parent - ui += "Remove" - ui += "[holds[mats] ? "Allow" : "Hold"]" + ui += "Отключить" + ui += "[holds[mats] ? "Разрешить" : "Запретить"]" ui += " [parent.name] in [get_area_name(parent, TRUE)]
" if(!ore_connected_machines.len) - ui += "Nothing!" + ui += "Ничего!" - ui += "

Access Logs:

" + ui += "

Логи:

" var/list/logs = GLOB.silo_access_logs[REF(src)] var/len = LAZYLEN(logs) var/num_pages = 1 + round((len - 1) / 30) @@ -130,7 +130,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) ui += "
  • [entry.formatted]
  • " any = TRUE if (!any) - ui += "
  • Nothing!
  • " + ui += "
  • Пусто!
  • " ui += "
    " return ui.Join() @@ -166,7 +166,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) . = ..() if (istype(I)) I.set_buffer(src) - balloon_alert(user, "saved to multitool buffer") + balloon_alert(user, "сохранено в буфер мультитула") return TRUE /** @@ -194,8 +194,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) /obj/machinery/ore_silo/examine(mob/user) . = ..() - . += span_notice("[src] can be linked to techfabs, circuit printers and protolathes with a multitool.") - + . += span_notice("[src] может быть подключен к техфабам, печатным платам и протолатам с помощью мультитула.") /datum/ore_silo_log var/name // for VV var/formatted // for display diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 286317a5d74ebc..1a442953df7f81 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -1,10 +1,10 @@ /**********************Mineral stacking unit console**************************/ /obj/machinery/mineral/stacking_unit_console - name = "stacking machine console" + name = "консоль штабелирующей машины" + desc = "Управляет штабелирующей машиной... в теории." icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "console" - desc = "Controls a stacking machine... in theory." density = FALSE circuit = /obj/item/circuitboard/machine/stacking_unit_console /// Connected stacking machine @@ -80,10 +80,10 @@ /obj/machinery/mineral/stacking_machine - name = "stacking machine" + name = "штабелирующая машина" + desc = "Машина, которая автоматически упаковывает проезжающие мимо материалы. Управляется консолью." icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "stacker" - desc = "A machine that automatically stacks acquired materials. Controlled by a nearby console." density = TRUE circuit = /obj/item/circuitboard/machine/stacking_machine input_dir = EAST @@ -126,7 +126,7 @@ if(istype(M.buffer, /obj/machinery/mineral/stacking_unit_console)) console = M.buffer console.machine = src - to_chat(user, span_notice("You link [src] to the console in [M]'s buffer.")) + to_chat(user, span_notice("Подключаю [src] к консоли в буфере [M].")) return TRUE /obj/machinery/mineral/stacking_machine/proc/rotate(input) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index aebb858facba03..f0eb575add412d 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -29,7 +29,7 @@ /**********************Miner Lockers**************************/ /obj/structure/closet/wardrobe/miner - name = "mining wardrobe" + name = "шахтёрский шкаф" icon_door = "mixed" /obj/structure/closet/wardrobe/miner/PopulateContents() @@ -51,7 +51,7 @@ new /obj/item/clothing/suit/hooded/wintercoat/miner(src) /obj/structure/closet/secure_closet/miner - name = "miner's equipment locker" + name = "шахтёрский шкаф с замком" icon_state = "mining" req_access = list(ACCESS_MINING) @@ -86,8 +86,8 @@ /**********************Shuttle Computer**************************/ /obj/machinery/computer/shuttle/mining - name = "mining shuttle console" - desc = "Used to call and send the mining shuttle." + name = "консоль шахтёрского шаттла" + desc = "Используется для вызова и отправки шахтёрского шаттла." circuit = /obj/item/circuitboard/computer/mining_shuttle shuttleId = "mining" possible_destinations = "mining_home;mining_away;landing_zone_dock;mining_public" @@ -106,14 +106,14 @@ return ..() /obj/machinery/computer/shuttle/mining/common - name = "lavaland shuttle console" - desc = "Used to call and send the lavaland shuttle." + name = "консоль публичного шаттла" + desc = "Используется для вызова и отправки публичного шаттла." circuit = /obj/item/circuitboard/computer/mining_shuttle/common shuttleId = "mining_common" possible_destinations = "commonmining_home;lavaland_common_away;landing_zone_dock;mining_public" /obj/docking_port/stationary/mining_home - name = "SS13: Mining Dock" + name = "SS13: Зона шахтёров" shuttle_id = "mining_home" roundstart_template = /datum/map_template/shuttle/mining/delta width = 7 @@ -129,7 +129,7 @@ height = 6 /obj/docking_port/stationary/mining_home/common - name = "SS13: Common Mining Dock" + name = "SS13: Публичная зона" shuttle_id = "commonmining_home" roundstart_template = /datum/map_template/shuttle/mining_common/meta diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm index 3a7687ebebf280..6bc071bdfb4ad8 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -1,8 +1,8 @@ /*****************************Money bag********************************/ /obj/item/storage/bag/money - name = "money bag" - desc = "A bag for storing your profits." + name = "мешок денег" + desc = "Я богат!" icon_state = "moneybag" worn_icon_state = "moneybag" force = 10 diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 37c3b7f65b83e2..bcf43e866772fe 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -8,7 +8,7 @@ /**********************Mineral ores**************************/ /obj/item/stack/ore - name = "rock" + name = "камень" icon = 'icons/obj/ore.dmi' icon_state = "ore" inhand_icon_state = null @@ -71,9 +71,9 @@ qdel(src) /obj/item/stack/ore/uranium - name = "uranium ore" + name = "урановая руда" icon_state = "uranium" - singular_name = "uranium ore chunk" + singular_name = "кусок урановой руды" points = 30 material_flags = NONE mats_per_unit = list(/datum/material/uranium=SHEET_MATERIAL_AMOUNT) @@ -84,9 +84,9 @@ merge_type = /obj/item/stack/ore/uranium /obj/item/stack/ore/iron - name = "iron ore" + name = "железная руда" icon_state = "iron" - singular_name = "iron ore chunk" + singular_name = "кусок железной руды" points = 1 mats_per_unit = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/iron @@ -96,9 +96,9 @@ merge_type = /obj/item/stack/ore/iron /obj/item/stack/ore/glass - name = "sand pile" + name = "песок" icon_state = "glass" - singular_name = "sand pile" + singular_name = "песок" points = 1 mats_per_unit = list(/datum/material/glass=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/glass @@ -107,9 +107,9 @@ merge_type = /obj/item/stack/ore/glass GLOBAL_LIST_INIT(sand_recipes, list(\ - new /datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ - new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50, check_density = FALSE, category = CAT_MISC),\ - new /datum/stack_recipe("aesthetic volcanic floor tile", /obj/item/stack/tile/basalt, 2, 1, 50, check_density = FALSE, category = CAT_TILES)\ + new /datum/stack_recipe("куча грязи", /obj/machinery/hydroponics/soil, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ + new /datum/stack_recipe("песчаник", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50, check_density = FALSE, category = CAT_MISC),\ + new /datum/stack_recipe("декоративная вулканическая плитка", /obj/item/stack/tile/basalt, 2, 1, 50, check_density = FALSE, category = CAT_TILES)\ )) /obj/item/stack/ore/glass/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt) @@ -123,14 +123,14 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/glass/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(..() || !ishuman(hit_atom)) return - var/mob/living/carbon/human/C = hit_atom - if(C.is_eyes_covered()) - C.visible_message(span_danger("[C]'s eye protection blocks the sand!"), span_warning("Your eye protection blocks the sand!")) + var/mob/living/carbon/human/target = hit_atom + if(target.is_eyes_covered()) + target.visible_message(span_danger("Песок стекает с защитного визора жертвы!") , span_warning("Защита глаз блокирует кинутый в меня песок!")) return - C.adjust_eye_blur(12 SECONDS) - C.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage - C.adjust_confusion(5 SECONDS) - to_chat(C, span_userdanger(" [src] gets into your eyes! The pain, it burns!")) + target.adjust_eye_blur(12 SECONDS) + target.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage + target.adjust_confusion(5 SECONDS) + to_chat(target, span_userdanger("Песок попал прямо в глаза! Я ничего не вижу!")) qdel(src) /obj/item/stack/ore/glass/ex_act(severity, target) @@ -141,16 +141,16 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return FALSE /obj/item/stack/ore/glass/basalt - name = "volcanic ash" + name = "вулканический пепел" icon_state = "volcanic_sand" - singular_name = "volcanic ash pile" + singular_name = "горсть вулканического пепла" mine_experience = 0 merge_type = /obj/item/stack/ore/glass/basalt /obj/item/stack/ore/plasma - name = "plasma ore" + name = "плазменная руда" icon_state = "plasma" - singular_name = "plasma ore chunk" + singular_name = "кусок плазменной руды" points = 15 mats_per_unit = list(/datum/material/plasma=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/plasma @@ -160,13 +160,13 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/plasma /obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I) - to_chat(user, span_warning("You can't hit a high enough temperature to smelt [src] properly!")) + to_chat(user, span_warning("Для расплава плазмы требуется более высокая температура!")) return TRUE /obj/item/stack/ore/silver - name = "silver ore" + name = "серебряная руда" icon_state = "silver" - singular_name = "silver ore chunk" + singular_name = "кусок серебряной руды" points = 16 mine_experience = 3 mats_per_unit = list(/datum/material/silver=SHEET_MATERIAL_AMOUNT) @@ -176,9 +176,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/silver /obj/item/stack/ore/gold - name = "gold ore" + name = "золотая руда" icon_state = "gold" - singular_name = "gold ore chunk" + singular_name = "кусок золотой руды" points = 18 mine_experience = 5 mats_per_unit = list(/datum/material/gold=SHEET_MATERIAL_AMOUNT) @@ -188,9 +188,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/gold /obj/item/stack/ore/diamond - name = "diamond ore" + name = "алмазная руда" icon_state = "diamond" - singular_name = "diamond ore chunk" + singular_name = "кусок алмазной руды" points = 50 mats_per_unit = list(/datum/material/diamond=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/diamond @@ -199,9 +199,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/diamond /obj/item/stack/ore/bananium - name = "bananium ore" + name = "банановая руда" icon_state = "bananium" - singular_name = "bananium ore chunk" + singular_name = "кусок банановой руды" points = 60 mats_per_unit = list(/datum/material/bananium=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/bananium @@ -210,9 +210,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/bananium /obj/item/stack/ore/titanium - name = "titanium ore" + name = "титановая руда" icon_state = "titanium" - singular_name = "titanium ore chunk" + singular_name = "кусок титановой руды" points = 50 mats_per_unit = list(/datum/material/titanium=SHEET_MATERIAL_AMOUNT) refined_type = /obj/item/stack/sheet/mineral/titanium @@ -222,15 +222,15 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ merge_type = /obj/item/stack/ore/titanium /obj/item/stack/ore/slag - name = "slag" - desc = "Completely useless." + name = "шлак" + desc = "Совершенно бесполезен" icon_state = "slag" singular_name = "slag chunk" merge_type = /obj/item/stack/ore/slag /obj/item/gibtonite - name = "gibtonite ore" - desc = "Extremely explosive if struck with mining equipment, Gibtonite is often used by miners to speed up their work by using it as a mining charge. This material is illegal to possess by unauthorized personnel under space law." + name = "гибтонитовая руда" + desc = "Чрезвычайно взрывоопасный при ударе горнорудным оборудованием, гибтонит часто используется шахтерами для ускорения своей работы, используя его в качестве шахтного заряда. Владение этим материалом неуполномоченным персоналом незаконно в соответствии с космическим законодательством." icon = 'icons/obj/ore.dmi' icon_state = "gibtonite" inhand_icon_state = "Gibtonite ore" @@ -259,9 +259,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/gibtonite/examine(mob/user) . = ..() if(rig) - . += span_warning("There is some kind of device rigged to it!") + . += span_warning("К ней подключено какое-то устройство!") else - . += span_notice("You could rig something to it.") + . += span_notice("Могу что-нибудь прикрепить к ней.") /obj/item/gibtonite/Destroy() QDEL_NULL(rig) @@ -296,14 +296,12 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ RegisterSignal(src, COMSIG_IGNITER_ACTIVATE, PROC_REF(igniter_prime)) log_bomber(user, "attached [holder] to ", src) attacher = key_name(user) - user.balloon_alert_to_viewers("attached rig") return if(I.tool_behaviour == TOOL_WRENCH && rig) rig.on_found() if(QDELETED(src)) return - user.balloon_alert_to_viewers("detached rig") user.log_message("detached [rig] from [src].", LOG_GAME) user.put_in_hands(rig) return @@ -325,7 +323,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ primed = FALSE if(det_timer) deltimer(det_timer) - defuser?.visible_message(span_notice("The chain reaction stopped! ...The ore's quality looks diminished."), span_notice("You stopped the chain reaction. ...The ore's quality looks diminished.")) + defuser?.visible_message(span_notice("[defuser] останаливает реакцию! Качество руды такое себе."), span_notice("Реакция остановлена. Качество руды такое себе.")) icon_state = "gibtonite" quality = GIBTONITE_QUALITY_LOW @@ -354,7 +352,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ notify_admins = TRUE if(user) - user.visible_message(span_warning("[user] strikes [src], causing a chain reaction!"), span_danger("You strike [src], causing a chain reaction.")) + user.visible_message(span_warning("[user] лупит [src.name], вызывая цепную реакцию!"), span_danger("Луплю [src.name], вызывая цепную реакцию.")) var/attacher_text = attacher ? "Igniter attacher: [ADMIN_LOOKUPFLW(attacher)]" : null @@ -408,7 +406,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ // This is the only way to make coins that are possible to produce on station actually worth anything. /obj/item/coin icon = 'icons/obj/economy.dmi' - name = "coin" + name = "монета" icon_state = "coin" flags_1 = CONDUCT_1 force = 1 @@ -421,6 +419,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/cooldown = 0 var/value = 0 var/coinflip + var/ru_coinflip item_flags = NO_MAT_REDEMPTION //You know, it's kind of a problem that money is worth more extrinsicly than intrinsically in this universe. ///If you do not want this coin to be valued based on its materials and instead set a custom value set this to TRUE and set value to the desired value. var/override_material_worth = FALSE @@ -469,21 +468,21 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin/examine(mob/user) . = ..() - . += span_info("It's worth [value] credit\s.") + . += span_info("Она стоит [value] кредитов.") /obj/item/coin/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/CC = W if(string_attached) - to_chat(user, span_warning("There already is a string attached to this coin!")) + to_chat(user, span_warning("К этой монете уже привязана ниточка!")) return if (CC.use(1)) add_overlay("coin_string_overlay") string_attached = 1 - to_chat(user, span_notice("You attach a string to the coin.")) + to_chat(user, span_notice("Привязываю ниточку к монетке.")) else - to_chat(user, span_warning("You need one length of cable to attach a string to the coin!")) + to_chat(user, span_warning("Вам понадобится один отрезок кабеля, чтобы прикрепить нитку к монете!")) return else ..() @@ -496,13 +495,13 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ new /obj/item/stack/cable_coil(drop_location(), 1) overlays = list() string_attached = null - to_chat(user, span_notice("You detach the string from the coin.")) + to_chat(user, span_notice("Отвязываю ниточку от монетки")) return TRUE /obj/item/coin/attack_self(mob/user) if(cooldown < world.time) if(string_attached) //does the coin have a wire attached - to_chat(user, span_warning("The coin won't flip very well with something attached!") ) + to_chat(user, span_warning("Монета не очень хорошо переворачивается, если к ней что-то прикреплено!") ) return FALSE//do not flip the coin cooldown = world.time + 15 flick("coin_[coinflip]_flip", src) @@ -512,14 +511,13 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/oldloc = loc sleep(1.5 SECONDS) if(loc == oldloc && user && !user.incapacitated()) - user.visible_message(span_notice("[user] flips [src]. It lands on [coinflip]."), \ - span_notice("You flip [src]. It lands on [coinflip]."), \ - span_hear("You hear the clattering of loose change.")) - if(has_action) - if(coinflip == heads_name) - heads_action(user) + if(coinflip == "heads") + ru_coinflip = "орла" else - tails_action(user) + ru_coinflip = "решку" + user.visible_message(span_notice("[user] подбрасывает монету. Она приземляется на [ru_coinflip].") , \ + span_notice("Подбрасываю монету. Она приземляется на [ru_coinflip].") , \ + span_hear("Слышу звон монеты.")) return TRUE//did the coin flip? useful for suicide_act /obj/item/coin/proc/heads_action(mob/user) diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index dd8e37f6ec107c..ab5154ae71c41b 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -2,27 +2,27 @@ /**********************Ore box**************************/ /obj/structure/ore_box + name = "ящик для руды" + desc = "Тяжелый деревянный ящик, который можно наполнить большим количеством руды." icon = 'icons/obj/mining.dmi' icon_state = "orebox" - name = "ore box" - desc = "A heavy wooden box, which can be filled with a lot of ores." density = TRUE pressure_resistance = 5*ONE_ATMOSPHERE -/obj/structure/ore_box/attackby(obj/item/W, mob/user, params) - if (istype(W, /obj/item/stack/ore)) - user.transferItemToLoc(W, src) - else if(W.atom_storage) - W.atom_storage.remove_type(/obj/item/stack/ore, src, INFINITY, TRUE, FALSE, user, null) - to_chat(user, span_notice("You empty the ore in [W] into [src].")) +/obj/structure/ore_box/attackby(obj/item/holder, mob/user, params) + if (istype(holder, /obj/item/stack/ore)) + user.transferItemToLoc(holder, src) + else if(holder.atom_storage) + holder.atom_storage.remove_type(/obj/item/stack/ore, src, INFINITY, TRUE, FALSE, user, null) + to_chat(user, span_notice("Опустошаю содержимое [holder.name] в [src.name].")) else return ..() /obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I) if(I.use_tool(src, user, 50, volume=50)) - user.visible_message(span_notice("[user] pries [src] apart."), - span_notice("You pry apart [src]."), - span_hear("You hear splitting wood.")) + user.visible_message(span_notice("[user] разбирает [src.name]."), + span_notice("Разбираю [src.name]."), + span_hear("Слышу звук раскалывающегося дерева.")) deconstruct(TRUE, user) return TRUE @@ -88,8 +88,7 @@ switch(action) if("removeall") dump_box_contents() - to_chat(usr, span_notice("You open the release hatch on the box..")) - + to_chat(usr, span_notice("Открываю дно ящика.")) /obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user) var/obj/item/stack/sheet/mineral/wood/WD = new (loc, 4) if(user && !QDELETED(WD)) diff --git a/code/modules/mining/voucher_sets.dm b/code/modules/mining/voucher_sets.dm index 071a8f11536703..bb43573121018b 100644 --- a/code/modules/mining/voucher_sets.dm +++ b/code/modules/mining/voucher_sets.dm @@ -17,7 +17,7 @@ var/list/set_items = list() /datum/voucher_set/crusher_kit - name = "Crusher Kit" + name = "Комплект крашера" description = "Contains a kinetic crusher and a pocket fire extinguisher. Kinetic crusher is a versatile melee mining tool capable both of mining and fighting local fauna, however it is difficult to use effectively for anyone but most skilled and/or suicidal miners." icon = 'icons/obj/mining.dmi' icon_state = "crusher" @@ -27,7 +27,7 @@ ) /datum/voucher_set/extraction_kit - name = "Extraction and Rescue Kit" + name = "Набор для эвакуации и спасения" description = "Contains a fulton extraction pack and a beacon signaller, which allows you to send back home minerals, items and dead bodies without having to use the mining shuttle. And as a bonus, you get 30 marker beacons to help you better mark your path." icon = 'icons/obj/fulton.dmi' icon_state = "extraction_pack" @@ -38,7 +38,7 @@ ) /datum/voucher_set/resonator_kit - name = "Resonator Kit" + name = "Комплект резонатора" description = "Contains a resonator and a pocket fire extinguisher. Resonator is a handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It does increased damage in low pressure." icon = 'icons/obj/mining.dmi' icon_state = "resonator" @@ -48,7 +48,7 @@ ) /datum/voucher_set/survival_capsule - name = "Survival Capsule and Explorer's Webbing" + name = "Спасательная капсула и разгрузка исследователя" description = "Contains an explorer's webbing, which allows you to carry even more mining equipment and already has a spare shelter capsule in it." icon = 'icons/obj/clothing/belts.dmi' icon_state = "explorer1" @@ -57,7 +57,7 @@ ) /datum/voucher_set/minebot_kit - name = "Minebot Kit" + name = "Шахтерский дрон" description = "Contains a little minebot companion that helps you in storing ore and hunting wildlife. Also comes with an upgraded industrial welding tool (80u), a welding mask and a KA modkit that allows shots to pass through the minebot." icon = 'icons/mob/silicon/aibots.dmi' icon_state = "mining_drone" @@ -69,7 +69,7 @@ ) /datum/voucher_set/conscription_kit - name = "Mining Conscription Kit" + name = "Комплект шахтера-призывника" description = "Contains a whole new mining starter kit for one crewmember, consisting of a proto-kinetic accelerator, a survival knife, a seclite, an explorer's suit, a mesons, an automatic mining scanner, a mining satchel, a gas mask, a mining radio key and a special ID card with a basic mining access." icon = 'icons/obj/storage/backpack.dmi' icon_state = "duffel-explorer" diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index ee813ad01367cb..210423f908f919 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -1,4 +1,4 @@ -//These procs handle putting s tuff in your hands +//These procs handle putting stuff in your hands //as they handle all relevant stuff like adding it to the player's screen and updating their overlays. ///Returns the thing we're currently holding @@ -467,7 +467,13 @@ if(M.active_storage?.attempt_insert(src, M)) return TRUE - var/list/obj/item/possible = list(M.get_inactive_held_item(), M.get_item_by_slot(ITEM_SLOT_BELT), M.get_item_by_slot(ITEM_SLOT_DEX_STORAGE), M.get_item_by_slot(ITEM_SLOT_BACK)) + var/list/obj/item/possible = list( + M.get_inactive_held_item(), + M.get_item_by_slot(ITEM_SLOT_BELT), + M.get_item_by_slot(ITEM_SLOT_DEX_STORAGE), + M.get_item_by_slot(ITEM_SLOT_BACK), + ) + for(var/i in possible) if(!i) continue @@ -505,8 +511,6 @@ /mob/proc/getBeltSlot() return ITEM_SLOT_BELT - - //Inventory.dm is -kind of- an ok place for this I guess //This is NOT for dismemberment, as the user still technically has 2 "hands" diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm index 4ad94270837eaf..a645264b3a26cc 100644 --- a/code/modules/mob/living/basic/basic.dm +++ b/code/modules/mob/living/basic/basic.dm @@ -51,27 +51,27 @@ ///When someone interacts with the simple animal. ///Help-intent verb in present continuous tense. - var/response_help_continuous = "pokes" + var/response_help_continuous = "трогает" ///Help-intent verb in present simple tense. - var/response_help_simple = "poke" + var/response_help_simple = "трогает" ///Disarm-intent verb in present continuous tense. - var/response_disarm_continuous = "shoves" + var/response_disarm_continuous = "толкает" ///Disarm-intent verb in present simple tense. - var/response_disarm_simple = "shove" + var/response_disarm_simple = "толкает" ///Harm-intent verb in present continuous tense. - var/response_harm_continuous = "hits" + var/response_harm_continuous = "бьёт" ///Harm-intent verb in present simple tense. - var/response_harm_simple = "hit" + var/response_harm_simple = "бьёт" ///Basic mob's own attacks verbs, ///Attacking verb in present continuous tense. - var/attack_verb_continuous = "attacks" + var/attack_verb_continuous = "атакует" ///Attacking verb in present simple tense. - var/attack_verb_simple = "attack" + var/attack_verb_simple = "атакует" ///Attacking, but without damage, verb in present continuous tense. - var/friendly_verb_continuous = "nuzzles" + var/friendly_verb_continuous = "тычет" ///Attacking, but without damage, verb in present simple tense. - var/friendly_verb_simple = "nuzzle" + var/friendly_verb_simple = "тычет" ////////THIS SECTION COULD BE ITS OWN ELEMENT ///Icon to use @@ -122,7 +122,7 @@ /// Ensures this mob can take atmospheric damage if it's supposed to /mob/living/basic/proc/apply_atmos_requirements() - if(unsuitable_atmos_damage == 0) + if(unsuitable_atmos_damage == 0 || isnull(habitable_atmos)) return //String assoc list returns a cached list, so this is like a static list to pass into the element below. habitable_atmos = string_assoc_list(habitable_atmos) @@ -202,7 +202,8 @@ . = ..() if(stat != DEAD) return - . += span_deadsay("Upon closer examination, [p_they()] appear[p_s()] to be [HAS_MIND_TRAIT(user, TRAIT_NAIVE) ? "asleep" : "dead"].") + + . += span_deadsay("При ближайшем рассмотрении, [ru_who()] кажется[HAS_MIND_TRAIT(user, TRAIT_NAIVE) ? gender == MALE ? "спящим" : "спящей" : gender == MALE ? "мертвым" : "мертвой"].") /mob/living/basic/proc/melee_attack(atom/target, list/modifiers, ignore_cooldown = FALSE) face_atom(target) @@ -261,8 +262,8 @@ /mob/living/basic/get_status_tab_items() . = ..() - . += "Health: [round((health / maxHealth) * 100)]%" - . += "Combat Mode: [combat_mode ? "On" : "Off"]" + . += "" + . += "Здоровье: [round((health / maxHealth) * 100)]%" /mob/living/basic/compare_sentience_type(compare_type) return sentience_type == compare_type diff --git a/code/modules/mob/living/basic/pets/pet.dm b/code/modules/mob/living/basic/pets/pet.dm index c8507454f774c6..ae4d9063c2f14c 100644 --- a/code/modules/mob/living/basic/pets/pet.dm +++ b/code/modules/mob/living/basic/pets/pet.dm @@ -34,7 +34,7 @@ return TRUE if(istype(thing, /obj/item/newspaper) && !stat) - user.visible_message(span_notice("[user] baps [name] on the nose with the rolled up [thing].")) + user.visible_message(span_notice("[user] бьет [name] по носу свернутой газетой.")) dance_rotate(src) return TRUE @@ -111,9 +111,9 @@ if(collar_icon_state) update_icon(UPDATE_OVERLAYS) - to_chat(user, span_notice("You put [new_collar] around [src]'s neck.")) + to_chat(user, span_notice("Надеваю [new_collar] на шею [src].")) if(new_collar.tagname && !unique_pet) - fully_replace_character_name(null, "\proper [new_collar.tagname]") + fully_replace_character_name(null, "[new_collar.tagname]") /** * Remove the collar from the pet. diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6042f895f8056e..dedb934f6ac602 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -419,6 +419,7 @@ var/turf/location = get_turf(src) if(!blood) adjust_nutrition(-lost_nutrition) + hydration -= lost_nutrition need_mob_update += adjustToxLoss(-3, updating_health = FALSE) for(var/i = 0 to distance) diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index 82bda7c7cd4851..5354d9fe32c7a4 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -16,6 +16,12 @@ if(move_intent == MOVE_INTENT_RUN) adjust_nutrition(-(HUNGER_FACTOR/10)) + if(HAS_TRAIT(src, TRAIT_NOHYDRATION)) + hydration = HYDRATION_LEVEL_START_MIN + else if(hydration && stat != DEAD) + hydration -= HYDRATION_LOSS_PER_MOVE + if(move_intent == MOVE_INTENT_RUN) + hydration -= HYDRATION_LOSS_PER_MOVE /mob/living/carbon/set_usable_legs(new_value) . = ..() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be355bddbea281..3d782c85c52607 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -37,6 +37,19 @@ handle_heart(seconds_per_tick, times_fired) //handles liver failure effects, if we lack a liver handle_liver(seconds_per_tick, times_fired) + if(!client && !ai_controller) + PermaSleeping() + else if(IsPermaSleeping()) + SetSleeping(rand(10, 30)) + if(dancing_period) + dancing_period-- + if(prob(2)) + if(nutrition < NUTRITION_LEVEL_STARVING) + to_chat(src, span_warning("[pick("Голодно...", "Кушать хочу...", "Вот бы что-нибудь съесть...", "Мой живот урчит...")]")) + take_overall_damage(stamina = 60) + if(hydration <= HYDRATION_LEVEL_DEHYDRATED) + to_chat(src, span_warning("[pick("Пить хочется...", "В горле пересохло...", "Водички бы сейчас...")]")) + take_overall_damage(stamina = 60) // for special species interactions dna.species.spec_life(src, seconds_per_tick, times_fired) diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm index 349742a15e5368..bf59cdd5fc7e94 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -6,6 +6,7 @@ TRAIT_NO_UNDERWEAR, TRAIT_NOBREATH, TRAIT_NOHUNGER, + TRAIT_NOHYDRATION, TRAIT_VIRUSIMMUNE, TRAIT_NOBLOOD, TRAIT_CHUNKYFINGERS_IGNORE_BATON, diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 95763b8665c632..d7868b86366875 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -11,6 +11,7 @@ TRAIT_NOCLONELOSS, TRAIT_NOFIRE, TRAIT_NOHUNGER, + TRAIT_NOHYDRATION, TRAIT_NO_DNA_COPY, TRAIT_NO_UNDERWEAR, TRAIT_PIERCEIMMUNE, diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 1599b0a23c015f..92b869caf7d737 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -5,6 +5,7 @@ inherent_traits = list( TRAIT_NOBREATH, TRAIT_NOHUNGER, + TRAIT_NOHYDRATION, TRAIT_USES_SKINTONES, TRAIT_ADVANCEDTOOLUSER, // Normally applied by brain but we don't have one TRAIT_LITERATE, diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 232067041012d8..73e77fe991e60e 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -16,6 +16,7 @@ TRAIT_FIXED_MUTANT_COLORS, TRAIT_FIXED_HAIRCOLOR, TRAIT_AGENDER, + TRAIT_NOHYDRATION, ) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_cookie = /obj/item/food/energybar diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 9facc517c1c795..a48666de667384 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -12,6 +12,7 @@ TRAIT_NO_DNA_COPY, TRAIT_RADIMMUNE, TRAIT_RESISTCOLD, + TRAIT_NOHYDRATION, ) inherent_biotypes = MOB_HUMANOID|MOB_MINERAL diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 8cb5dd3a50d7a3..2e324627e7593b 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -22,6 +22,7 @@ TRAIT_RESISTLOWPRESSURE, TRAIT_TOXIMMUNE, TRAIT_XENO_IMMUNE, + TRAIT_NOHYDRATION, ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutanttongue = /obj/item/organ/internal/tongue/bone diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 4c2f1ffa70839f..1cc4a4873baf0b 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -11,6 +11,7 @@ inherent_traits = list( TRAIT_BLOOD_CLANS, TRAIT_DRINKS_BLOOD, + TRAIT_NOHYDRATION, TRAIT_NOBREATH, TRAIT_NOHUNGER, TRAIT_USES_SKINTONES, diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 66948253d9e350..24f72611592c33 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -20,6 +20,7 @@ if(.) //not dead handle_blood(seconds_per_tick, times_fired) + handle_hydration(seconds_per_tick, times_fired) if(stat != DEAD) handle_brain_damage(seconds_per_tick, times_fired) @@ -448,6 +449,19 @@ /mob/living/carbon/proc/handle_blood(seconds_per_tick, times_fired) return +/mob/living/carbon/proc/handle_hydration(delta_time, times_fired) + return + +/mob/living/carbon/human/handle_hydration(delta_time, times_fired) + + if(HAS_TRAIT(src, TRAIT_NOHYDRATION)) + hydration = HYDRATION_LEVEL_START_MIN + return + if(hydration < HYDRATION_LEVEL_MIN_CAP) + hydration = HYDRATION_LEVEL_MIN_CAP + hydration -= HYDRATION_LOSS_PER_LIFE + + /mob/living/carbon/proc/handle_bodyparts(seconds_per_tick, times_fired) for(var/obj/item/bodypart/limb as anything in bodyparts) . |= limb.on_life(seconds_per_tick, times_fired) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index df0c2851d7253e..1fc927ef5af12d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -879,6 +879,8 @@ if(heal_flags & HEAL_STAM) setStaminaLoss(0, updating_stamina = FALSE, forced = TRUE) + hydration = HYDRATION_LEVEL_START_MAX + // I don't really care to keep this under a flag set_nutrition(NUTRITION_LEVEL_FED + 50) @@ -2282,6 +2284,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) /mob/living/proc/set_safe_hunger_level() // Nutrition reset and alert clearing. nutrition = NUTRITION_LEVEL_FED + hydration = HYDRATION_LEVEL_NORMAL + 15 clear_alert(ALERT_NUTRITION) satiety = 0 diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index bea18b15454341..0846258131a917 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -214,6 +214,8 @@ ///The height offset of a mob's maptext due to their current size. var/body_maptext_height_offset = 0 + var/list/known_reagent_sounds = list() + /// FOV view that is applied from either nativeness or traits var/fov_view /// Lazy list of FOV traits that will apply a FOV view when handled. diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index dcc9cff5a034f2..9b650670f5a421 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -466,6 +466,10 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( var/list/data = list(message, tts_message, tts_filter) SEND_SIGNAL(src, COMSIG_LIVING_TREAT_MESSAGE, data) message = data[TREAT_MESSAGE_ARG] + + if(hydration <= HYDRATION_LEVEL_DEHYDRATED) + message = thirstymessage(message) + tts_message = data[TREAT_TTS_MESSAGE_ARG] tts_filter = data[TREAT_TTS_FILTER_ARG] diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.dm b/code/modules/mob/living/simple_animal/bot/vibebot.dm index 5a876bd8eca2e1..e6953f8061a862 100644 --- a/code/modules/mob/living/simple_animal/bot/vibebot.dm +++ b/code/modules/mob/living/simple_animal/bot/vibebot.dm @@ -62,7 +62,7 @@ */ /datum/action/innate/vibe name = "Vibe" - desc = "LMB: Change vibe color. RMB: Reset vibe color." + desc = "LMB: Change vibe color. ПКМ: Reset vibe color." button_icon = 'icons/mob/actions/actions_minor_antag.dmi' button_icon_state = "funk" diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index bbc37911bb17fe..3d4226b6f0dded 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -373,6 +373,12 @@ if(!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) return has_status_effect(/datum/status_effect/incapacitating/sleeping) +/mob/living/proc/IsPermaSleeping() + var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(S && S.duration == -1) + return TRUE + return FALSE + /mob/living/proc/AmountSleeping() //How many deciseconds remain in our sleep var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() if(S) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index bdaa2dd614c53f..778fafd2fa7a05 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -93,6 +93,7 @@ var/datum/atom_hud/alternate_appearance/AA = v AA.onNewMob(src) set_nutrition(rand(NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_START_MAX)) + hydration = rand(HYDRATION_LEVEL_START_MIN, HYDRATION_LEVEL_START_MAX) . = ..() update_config_movespeed() initialize_actionspeed() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index d1ff9b6ef25558..f32164ca8dfd76 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -108,6 +108,8 @@ /// Hunger level of the mob var/nutrition = NUTRITION_LEVEL_START_MIN // randomised in Initialize + /// Hydration level of the mob + var/hydration = HYDRATION_LEVEL_START_MIN /// Satiation level of the mob var/satiety = 0//Carbon diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 96830bf786a53b..3d913a22a9027b 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -136,6 +136,14 @@ . += letter return sanitize(.) +/proc/thirstymessage(message) + . = "" + for(var/n = 1, n <= length_char(message), n++) + var/chance = prob(HYDRATION_STUTTER_RATE) + . += chance ? "-" : copytext_char(message, n, n + 1) + + return sanitize(.) + #define TILES_PER_SECOND 0.7 ///Shake the camera of the person viewing the mob SO REAL! ///Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles diff --git a/code/modules/mob_spawn/corpses/mining_corpses.dm b/code/modules/mob_spawn/corpses/mining_corpses.dm index 8b7ad474b16657..642cf58d1f09ff 100644 --- a/code/modules/mob_spawn/corpses/mining_corpses.dm +++ b/code/modules/mob_spawn/corpses/mining_corpses.dm @@ -318,7 +318,6 @@ var/backpack_loot = pick(list( /obj/item/food/fishmeat = 89, /obj/item/food/fishmeat/carp = 10, - /obj/item/skeleton_key = 1, )) backpack_contents += backpack_loot diff --git a/code/modules/mob_spawn/ghost_roles/unused_roles.dm b/code/modules/mob_spawn/ghost_roles/unused_roles.dm index c832ceb8710167..b7fa70fa784514 100644 --- a/code/modules/mob_spawn/ghost_roles/unused_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/unused_roles.dm @@ -285,7 +285,7 @@ you_are_text = "Вы капитан старого корабля, застрявшего во враждебном секторе космоса." flavour_text = "Ваш корабль наконец-то прекратил прекратил дрейфовать по космосу, остановившись где-то посреди космической бездны. \ Понимая, что рядом находится вражеская станция Нанотрейзен, вы должны починить корабль, найти способ восстановить подачу энергии, НЕ ПОКИДАТЬ корабль, оставляя его на произвол судьбы." - important_text = "Защитите корабль и секретные документы в своём рюкзаке любой ценой, даже ценой своей жизни! ЗАПРЕЩЕНО покидать корабль во избежание риска захвата его сотрудниками вражеской корпорации." + important_text = "Защитите корабль и секретные документы в своем рюкзаке любой ценой, даже ценой своей жизни! ЗАПРЕЩЕНО покидать корабль во избежание риска захвата его сотрудниками вражеской корпорации." outfit = /datum/outfit/syndicatespace/syndicaptain spawner_job_path = /datum/job/syndicate_cybersun_captain diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm index 111ea425b6a6e5..280dc5fb526faa 100644 --- a/code/modules/mod/mod_actions.dm +++ b/code/modules/mod/mod_actions.dm @@ -41,7 +41,7 @@ /datum/action/item_action/mod/deploy name = "Deploy MODsuit" - desc = "LMB: Deploy/Undeploy part. RMB: Deploy/Undeploy full suit." + desc = "LMB: Deploy/Undeploy part. ПКМ: Deploy/Undeploy full suit." button_icon_state = "deploy" /datum/action/item_action/mod/deploy/Trigger(trigger_flags) @@ -59,7 +59,7 @@ /datum/action/item_action/mod/activate name = "Activate MODsuit" - desc = "LMB: Activate/Deactivate suit with prompt. RMB: Activate/Deactivate suit skipping prompt." + desc = "LMB: Activate/Deactivate suit with prompt. ПКМ: Activate/Deactivate suit skipping prompt." button_icon_state = "activate" /// First time clicking this will set it to TRUE, second time will activate it. var/ready = FALSE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 77ec4e5ddc777b..988f84ac24649e 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -241,7 +241,7 @@ user.dropItemToGround(src, TRUE) else user.visible_message( - span_notice("[user] вращает [src] на своём пальце за спусковой крючок. Жесть он крут."), + span_notice("[user] вращает [src] на своем пальце за спусковой крючок. Жесть он крут."), span_notice("Вращаю [src] вокруг пальца за спусковой крючок. Жесть я крут."), ) playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 58222601a49fb1..689bfd91da719d 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -35,11 +35,11 @@ if(!select) burst_size = 1 fire_delay = 0 - balloon_alert(user, "переключил на полуавтомат") + balloon_alert(user, "переключено на полуавтомат") else burst_size = initial(burst_size) fire_delay = initial(fire_delay) - balloon_alert(user, "переключил на [burst_size]-зарядную очередь") + balloon_alert(user, "переключено на [burst_size]-зарядную очередь") playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) update_appearance() diff --git a/code/modules/projectiles/guns/ballistic/bows/_bow.dm b/code/modules/projectiles/guns/ballistic/bows/_bow.dm index 9c63a600c01fd1..2f2edd67d06d8d 100644 --- a/code/modules/projectiles/guns/ballistic/bows/_bow.dm +++ b/code/modules/projectiles/guns/ballistic/bows/_bow.dm @@ -4,7 +4,7 @@ lefthand_file = 'icons/mob/inhands/weapons/bows_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/bows_righthand.dmi' name = "лук" - desc = "Кажется что это оружие находится не на своём месте и не в своё время, но оно, хотя бы, надёжно." + desc = "Кажется что это оружие находится не на своем месте и не в своё время, но оно, хотя бы, надёжно." icon_state = "bow" inhand_icon_state = "bow" base_icon_state = "bow" diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 0e875150272b54..da31e25b787a7a 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -1515,17 +1515,17 @@ var/percent = tastes[taste_desc]/total_taste * 100 if(percent < minimum_percent) continue - var/intensity_desc = "a hint of" + var/intensity_desc = "намёк на" if(percent > minimum_percent * 2 || percent == 100) intensity_desc = "" else if(percent > minimum_percent * 3) - intensity_desc = "the strong flavor of" + intensity_desc = "острый привкус" if(intensity_desc != "") out += "[intensity_desc] [taste_desc]" else out += "[taste_desc]" - return english_list(out, "something indescribable") + return english_list(out, "что-то неописуемое") /// Returns the total heat capacity for all of the reagents currently in this holder. @@ -1622,9 +1622,18 @@ var/list/data = list() - for(var/reagent_type in external_list) - var/list/qualities = external_list[reagent_type] - data += "[reagent_type] ([FLOOR(qualities[REAGENT_TRANSFER_AMOUNT], CHEMICAL_QUANTISATION_LEVEL)]u, [qualities[REAGENT_PURITY]] purity)" + // DONT FORGET TO DELETE THIS IF ALL IS WORKING WELL + // for(var/reagent_type in external_list) + // var/list/qualities = external_list[reagent_type] + // data += "[reagent_type] ([FLOOR(qualities[REAGENT_TRANSFER_AMOUNT], CHEMICAL_QUANTISATION_LEVEL)]u, [qualities[REAGENT_PURITY]] purity)" + + if (external_list) + for (var/reagent_type in external_list) + var/list/qualities = external_list[reagent_type] + data += "[reagent_type] ([FLOOR(qualities[REAGENT_TRANSFER_AMOUNT], CHEMICAL_QUANTISATION_LEVEL)]u, [qualities[REAGENT_PURITY]] purity)" + else + for (var/datum/reagent/reagent as anything in reagent_list) + data += "[reagent.type] ([FLOOR(reagent.volume, CHEMICAL_QUANTISATION_LEVEL)]u, [reagent.purity] purity)" return english_list(data) @@ -1965,7 +1974,7 @@ ui_reaction_index = index var/list/sub_reactions = get_recipe_from_reagent_product(path) if(!length(sub_reactions)) - to_chat(usr, "There is no recipe associated with this product.") + to_chat(usr, "Не существует рецептов для этого реагента.") return FALSE if(ui_reaction_index > length(sub_reactions)) ui_reaction_index = 1 @@ -1987,20 +1996,20 @@ ui_reaction_id = text2path(params["id"]) return TRUE if("search_reagents") - var/input_reagent = tgui_input_list(usr, "Select reagent", "Reagent", GLOB.name2reagent) + var/input_reagent = tgui_input_list(usr, "Введите имя реагента", "Ввод", GLOB.name2reagent) input_reagent = get_reagent_type_from_product_string(input_reagent) //from string to type var/datum/reagent/reagent = find_reagent_object_from_type(input_reagent) if(!reagent) - to_chat(usr, "Could not find reagent!") + to_chat(usr, "Невозможно найти реагент!") return FALSE ui_reagent_id = reagent.type return TRUE if("search_recipe") - var/input_reagent = (input("Enter the name of product reagent", "Input") as text|null) + var/input_reagent = (input("Введите имя реагента", "Ввод") as text|null) input_reagent = get_reagent_type_from_product_string(input_reagent) //from string to type var/datum/reagent/reagent = find_reagent_object_from_type(input_reagent) if(!reagent) - to_chat(usr, "Could not find product reagent!") + to_chat(usr, "Невозможно найти реагент!") return ui_reaction_id = get_reaction_from_indexed_possibilities(reagent.type) return TRUE diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index dc850877bf928a..e51bee014587ab 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -9,11 +9,11 @@ if ("mine_salve") return "minerssalve" else - return ckey(id) + return lowertext(id) /obj/machinery/chem_dispenser - name = "chem dispenser" - desc = "Creates and dispenses chemicals." + name = "Хим-раздатчик" + desc = "Создает и выдает химикаты." density = TRUE icon = 'icons/obj/medical/chemical.dmi' icon_state = "dispenser" @@ -43,6 +43,7 @@ /datum/reagent/carbon, /datum/reagent/chlorine, /datum/reagent/copper, + /datum/reagent/silver, /datum/reagent/consumable/ethanol, /datum/reagent/fluorine, /datum/reagent/hydrogen, @@ -106,12 +107,12 @@ /obj/machinery/chem_dispenser/examine(mob/user) . = ..() if(panel_open) - . += span_notice("[src]'s maintenance hatch is open!") + . += span_notice("Служебный люк [capitalize(src.name)] открыт!") if(in_range(user, src) || isobserver(user)) . += "Дисплей:\n\ - Recharging [recharge_amount] power units per interval.\n\ - Power efficiency increased by [round((powerefficiency*1000)-100, 1)]%." - . += span_notice("Use RMB to eject a stored beaker.") + Зарядка [recharge_amount] силовых единиц за интервал.\n\ + Энергоэффективность повышена на [round((powerefficiency*1000)-100, 1)]%." + . += span_notice("Используйте ПКМ, чтобы достать ёмкость.") /obj/machinery/chem_dispenser/on_set_is_operational(old_value) @@ -156,9 +157,9 @@ /obj/machinery/chem_dispenser/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED) - balloon_alert(user, "already emagged!") + to_chat(user, span_warning("У [capitalize(src.name)] отсутствуют функциональные предохранители, которые можно взломать.")) return FALSE - balloon_alert(user, "safeties shorted out") + to_chat(user, span_notice("Закоротил предохранители [src].")) dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones obj_flags |= EMAGGED return TRUE @@ -241,7 +242,7 @@ var/chemname = temp.name if(is_hallucinating && prob(5)) chemname = "[pick_list_replacements("hallucination.json", "chemicals")]" - chemicals.Add(list(list("title" = chemname, "id" = ckey(temp.name), "pH" = temp.ph, "pHCol" = convert_ph_to_readable_color(temp.ph)))) + chemicals.Add(list(list("title" = chemname, "id" = lowertext(temp.name), "pH" = temp.ph, "pHCol" = convert_ph_to_readable_color(temp.ph)))) data["chemicals"] = chemicals data["recipes"] = saved_recipes @@ -251,7 +252,7 @@ var/datum/chemical_reaction/reaction = get_chemical_reaction(beaker.reagents.ui_reaction_id) for(var/_reagent in reaction.required_reagents) var/datum/reagent/reagent = find_reagent_object_from_type(_reagent) - data["recipeReagents"] += ckey(reagent.name) + data["recipeReagents"] += lowertext(reagent.name) return data /obj/machinery/chem_dispenser/ui_act(action, params) @@ -328,8 +329,8 @@ if("clear_recipes") if(!is_operational) return - var/yesno = tgui_alert(usr, "Clear all recipes?",, list("Yes","No")) - if(yesno == "Yes") + var/yesno = tgui_alert(usr, "Очистить рецепты?",, list("Да","Нет")) + if(yesno == "Да") saved_recipes = list() . = TRUE if("record_recipe") @@ -340,17 +341,17 @@ if("save_recording") if(!is_operational) return - var/name = tgui_input_text(usr, "What do you want to name this recipe?", "Recipe Name", MAX_NAME_LEN) + var/name = tgui_input_text(usr, "Как назовём?", "название рецепта", MAX_NAME_LEN) if(!usr.can_perform_action(src, ALLOW_SILICON_REACH)) return - if(saved_recipes[name] && tgui_alert(usr, "\"[name]\" already exists, do you want to overwrite it?",, list("Yes", "No")) == "No") + if(saved_recipes[name] && tgui_alert(usr, "\"[name]\" уже существует, перезаписываем?",, list("Да", "Нет")) == "Нет") return if(name && recording_recipe) for(var/reagent in recording_recipe) var/reagent_id = GLOB.name2reagent[translate_legacy_chem_id(reagent)] if(!dispensable_reagents.Find(reagent_id)) - visible_message(span_warning("[src] buzzes."), span_hear("You hear a faint buzz.")) - to_chat(usr, span_warning("[src] cannot find [reagent]!")) + visible_message(span_warning("[src] гудит."), span_hear("Слышу слабое гудение.")) + to_chat(usr, span_warning("[capitalize(src.name)] не может найти [reagent]!")) playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) return saved_recipes[name] = recording_recipe @@ -382,10 +383,10 @@ if(!user.transferItemToLoc(B, src)) return replace_beaker(user, B) - to_chat(user, span_notice("You add [B] to [src].")) + to_chat(user, span_notice("Добавляю [B] в [src].")) ui_interact(user) else if(!user.combat_mode && !istype(I, /obj/item/card/emag)) - to_chat(user, span_warning("You can't load [I] into [src]!")) + to_chat(user, span_warning("Не могу загрузить [I] в [src]!")) return ..() else return ..() @@ -411,7 +412,7 @@ cell.use(total/powerefficiency) cell.emp_act(severity) work_animation() - visible_message(span_danger("[src] malfunctions, spraying chemicals everywhere!")) + visible_message(span_danger("[capitalize(src.name)] неисправен и забрызгивает всё химикатами!")) /obj/machinery/chem_dispenser/RefreshParts() . = ..() @@ -471,8 +472,8 @@ return ..() // This hotkey is BLACKLISTED since it's used by /datum/component/simple_rotation /obj/machinery/chem_dispenser/drinks - name = "soda dispenser" - desc = "Contains a large reservoir of soft drinks." + name = "раздатчик газировки" + desc = "Содержит большой резервуар с безалкогольными напитками." icon = 'icons/obj/medical/chemical.dmi' icon_state = "soda_dispenser" base_icon_state = "soda_dispenser" @@ -549,9 +550,9 @@ return b_o /obj/machinery/chem_dispenser/drinks/fullupgrade //fully ugpraded stock parts, emagged - desc = "Contains a large reservoir of soft drinks. This model has had its safeties shorted out." + desc = "Содержит большой резервуар с безалкогольными напитками. Предохранители данного аппарата закорочены." obj_flags = CAN_BE_HIT | EMAGGED - flags_1 = NODECONSTRUCT_1 + // flags_1 = NODECONSTRUCT_1 circuit = /obj/item/circuitboard/machine/chem_dispenser/drinks/fullupgrade /obj/machinery/chem_dispenser/drinks/fullupgrade/Initialize(mapload) @@ -559,8 +560,8 @@ dispensable_reagents |= emagged_reagents //adds emagged reagents /obj/machinery/chem_dispenser/drinks/beer - name = "booze dispenser" - desc = "Contains a large reservoir of the good stuff." + name = "раздатчик бухлишка" + desc = "Содержит большой резервуар ништяков." icon = 'icons/obj/medical/chemical.dmi' icon_state = "booze_dispenser" base_icon_state = "booze_dispenser" @@ -603,9 +604,9 @@ ) /obj/machinery/chem_dispenser/drinks/beer/fullupgrade //fully ugpraded stock parts, emagged - desc = "Contains a large reservoir of the good stuff. This model has had its safeties shorted out." + desc = "Содержит большой резервуар с ништяками. Предохранители данного аппарата закорочены." obj_flags = CAN_BE_HIT | EMAGGED - flags_1 = NODECONSTRUCT_1 + // flags_1 = NODECONSTRUCT_1 circuit = /obj/item/circuitboard/machine/chem_dispenser/drinks/beer/fullupgrade /obj/machinery/chem_dispenser/drinks/beer/fullupgrade/Initialize(mapload) @@ -613,17 +614,17 @@ dispensable_reagents |= emagged_reagents //adds emagged reagents /obj/machinery/chem_dispenser/mutagen - name = "mutagen dispenser" - desc = "Creates and dispenses mutagen." + name = "раздатчик мутагенов" + desc = "Производит и раздает мутагены." dispensable_reagents = list(/datum/reagent/toxin/mutagen) upgrade_reagents = null emagged_reagents = list(/datum/reagent/toxin/plasma) /obj/machinery/chem_dispenser/mutagensaltpeter - name = "botanical chemical dispenser" - desc = "Creates and dispenses chemicals useful for botany." - flags_1 = NODECONSTRUCT_1 + name = "раздатчик ботанических химикатов" + desc = "Производит и раздает химикаты, используемые в ботанике." +// flags_1 = NODECONSTRUCT_1 circuit = /obj/item/circuitboard/machine/chem_dispenser/mutagensaltpeter @@ -644,9 +645,9 @@ upgrade_reagents = null /obj/machinery/chem_dispenser/fullupgrade //fully ugpraded stock parts, emagged - desc = "Creates and dispenses chemicals. This model has had its safeties shorted out." + desc = "Производит и раздает химикаты. Предохранители данного аппарата закорочены." obj_flags = CAN_BE_HIT | EMAGGED - flags_1 = NODECONSTRUCT_1 + // flags_1 = NODECONSTRUCT_1 circuit = /obj/item/circuitboard/machine/chem_dispenser/fullupgrade /obj/machinery/chem_dispenser/fullupgrade/Initialize(mapload) @@ -654,8 +655,8 @@ dispensable_reagents |= emagged_reagents //adds emagged reagents /obj/machinery/chem_dispenser/abductor - name = "reagent synthesizer" - desc = "Synthesizes a variety of reagents using proto-matter." + name = "синтезатор реагентов" + desc = "Синтезирует разнообразные реагенты используя протоматерию." icon = 'icons/obj/antags/abductor.dmi' icon_state = "chem_dispenser" base_icon_state = "chem_dispenser" diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index f272eccc9dccd3..f478d00b629930 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -89,6 +89,10 @@ var/fallback_icon_state /// When ordered in a restaurant, what custom order do we create? var/restaurant_order = /datum/custom_order/reagent/drink + ///A sound. Yes. + var/sound/special_sound = null + ///hydration factor to restore thirst + var/hydration_factor = 0 /datum/reagent/New() SHOULD_CALL_PARENT(TRUE) @@ -123,6 +127,8 @@ var/amount = round(reac_volume*clamp((1 - touch_protection), 0, 1), 0.1) if(amount >= 0.5) exposed_mob.reagents.add_reagent(type, amount, added_purity = purity) + if(methods & INGEST) + exposed_mob.hydration += reac_volume * hydration_factor /// Applies this reagent to an [/obj] /datum/reagent/proc/expose_obj(obj/exposed_obj, reac_volume) diff --git a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm index 7a3dc6ab8fba62..6739414612fd72 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm @@ -2,10 +2,12 @@ #define ALCOHOL_EXPONENT 1.6 //The exponent applied to boozepwr to make higher volume alcohol at least a little bit damaging to the liver /datum/reagent/consumable/ethanol - name = "Ethanol" - description = "A well-known alcohol with a variety of applications." + name = "Этанол" + enname = "Ehtanol" + description = "Известный алкоголь с множеством применений." color = "#404030" // rgb: 64, 64, 48 nutriment_factor = 0 + hydration_factor = DRINK_HYDRATION_FACTOR_LOW taste_description = "alcohol" metabolization_rate = 0.5 * REAGENTS_METABOLISM creation_purity = 1 // impure base reagents are a big no-no @@ -85,14 +87,14 @@ if(istype(exposed_obj, /obj/item/paper)) var/obj/item/paper/paperaffected = exposed_obj paperaffected.clear_paper() - to_chat(usr, span_notice("[paperaffected]'s ink washes away.")) + to_chat(usr, span_notice("чернила на [paperaffected] смываются.")) if(istype(exposed_obj, /obj/item/book)) if(reac_volume >= 5) var/obj/item/book/affectedbook = exposed_obj affectedbook.book_data.set_content("") - exposed_obj.visible_message(span_notice("[exposed_obj]'s writing is washed away by [name]!")) + exposed_obj.visible_message(span_notice("Надписи на [exposed_obj] смыты [name]!")) else - exposed_obj.visible_message(span_warning("[exposed_obj]'s ink is smeared by [name], but doesn't wash away!")) + exposed_obj.visible_message(span_warning("[name] размазал чернила по [exposed_obj], но они не смылись!")) return ..() /datum/reagent/consumable/ethanol/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel. @@ -112,12 +114,13 @@ surgery.speed_modifier = max(0.1 * power_multiplier, surgery.speed_modifier) /datum/reagent/consumable/ethanol/beer - name = "Beer" - description = "An alcoholic beverage brewed since ancient times on Old Earth. Still popular today." + name = "Пиво" + enname = "Beer" + description = "Алкогольный напиток, который варили с дневних времен еще на старой земле. Всё еще популярен." color = "#664300" // rgb: 102, 67, 0 nutriment_factor = 1 boozepwr = 25 - taste_description = "mild carbonated malt" + taste_description = "моча" ph = 4 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK @@ -128,10 +131,11 @@ mytray.adjust_waterlevel(round(volume * 0.7)) /datum/reagent/consumable/ethanol/beer/light - name = "Light Beer" - description = "An alcoholic beverage brewed since ancient times on Old Earth. This variety has reduced calorie and alcohol content." + name = "Светлое Пиво" + enname = "Light Beer" + description = "Алкогольный напиток, который варили с дневних времен еще на старой земле. Этот сорт отличается меньшим количеством калорий и алкоголя." boozepwr = 5 //Space Europeans hate it - taste_description = "dish water" + taste_description = "стекломойка" ph = 5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -144,10 +148,11 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/beer/green - name = "Green Beer" - description = "An alcoholic beverage brewed since ancient times on Old Earth. This variety is dyed a festive green." + name = "Зеленое Пиво" + enname = "Green Beer" + description = "Алкогольный напиток, который варили с дневних времен еще на старой земле. Этот сорт окрашен в зеленый цвет." color = COLOR_CRAYON_GREEN - taste_description = "green piss water" + taste_description = "зелёная моча" ph = 6 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -160,8 +165,9 @@ drinker.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, color) /datum/reagent/consumable/ethanol/kahlua - name = "Kahlua" - description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!" + name = "Кофейный ликер" + enname = "Kahlua" + description = "Широко известный мексиканский ликер со вкусом кофе. Выпускается с 1936-го года!" color = "#8e8368" // rgb: 142,131,104 boozepwr = 45 ph = 6 @@ -176,27 +182,30 @@ drinker.set_jitter_if_lower(10 SECONDS) /datum/reagent/consumable/ethanol/whiskey - name = "Whiskey" - description = "A superb and well-aged single-malt whiskey. Damn." + name = "Виски" + enname = "Whiskey" + description = "Превосходный и хорошо выдержанный односолодовый виски." color = "#b4a287" // rgb: 180,162,135 boozepwr = 75 - taste_description = "molasses" + taste_description = "меласса" ph = 4.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/whiskey/kong - name = "Kong" - description = "Makes You Go Ape!®" + name = "Конг" + enname = "Kong" + description = "Заставляет вас сойти с ума!®" color = "#332100" // rgb: 51, 33, 0 - taste_description = "the grip of a giant ape" + taste_description = "хватка гигантской обезьяны" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/whiskey/candycorn - name = "Candy Corn Liquor" - description = "Like they drank in 2D speakeasies." + name = "конфетно-кукурузный ликер" + enname = "Candy Corn Liquor" + description = "Такой же, как во времена сухого закона." color = "#ccb800" // rgb: 204, 184, 0 - taste_description = "pancake syrup" + taste_description = "блинный сироп" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/whiskey/candycorn/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -205,8 +214,9 @@ drinker.adjust_hallucinations(4 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/thirteenloko - name = "Thirteen Loko" - description = "A potent mixture of caffeine and alcohol." + name = "Локо Тринадцать" + description = "Мощная смесь кофе и алкоголя." + enname = "Thirteen Loko" color = "#102000" // rgb: 16, 32, 0 nutriment_factor = 1 boozepwr = 80 @@ -225,7 +235,7 @@ /datum/reagent/consumable/ethanol/thirteenloko/overdose_start(mob/living/drinker) . = ..() - to_chat(drinker, span_userdanger("Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!")) + to_chat(drinker, span_userdanger("Всё моё тело сильно дрожит с приходом тошноты. Наверное, не стоило пить так много [name]!")) drinker.set_jitter_if_lower(40 SECONDS) drinker.Stun(1.5 SECONDS) @@ -235,11 +245,11 @@ var/obj/item/held_item = drinker.get_active_held_item() if(held_item) drinker.dropItemToGround(held_item) - to_chat(drinker, span_notice("Your hands jitter and you drop what you were holding!")) + to_chat(drinker, span_notice("Руки дрожат, роняю то, что в них было!")) drinker.set_jitter_if_lower(20 SECONDS) if(SPT_PROB(3.5, seconds_per_tick)) - to_chat(drinker, span_notice("[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")) + to_chat(drinker, span_notice("[pick("У меня очень сильно болит голова.", "Глазам больно.", "Мне сложно ровно стоять.", "По ощущениям мое сердце буквально вырывается из груди.")]")) if(SPT_PROB(2.5, seconds_per_tick) && iscarbon(drinker)) var/obj/item/organ/internal/eyes/eyes = drinker.get_organ_slot(ORGAN_SLOT_EYES) @@ -247,18 +257,18 @@ if(drinker.is_blind()) eyes.Remove(drinker) eyes.forceMove(get_turf(drinker)) - to_chat(drinker, span_userdanger("You double over in pain as you feel your eyeballs liquify in your head!")) + to_chat(drinker, span_userdanger("Сгибаюсь от боли, кажется, мои глазные яблоки разжижаются в голове!")) drinker.emote("scream") if(drinker.adjustBruteLoss(15 * REM * seconds_per_tick, updating_health = FALSE, required_bodytype = affected_bodytype)) . = UPDATE_MOB_HEALTH else - to_chat(drinker, span_userdanger("You scream in terror as you go blind!")) + to_chat(drinker, span_userdanger("Кричу от ужаса, я ничего не вижу!")) if(eyes.apply_organ_damage(eyes.maxHealth)) . = UPDATE_MOB_HEALTH drinker.emote("scream") if(SPT_PROB(1.5, seconds_per_tick) && iscarbon(drinker)) - drinker.visible_message(span_danger("[drinker] starts having a seizure!"), span_userdanger("You have a seizure!")) + drinker.visible_message(span_danger("[drinker] бьется в припадке!") , span_userdanger("У меня припадок!")) if(drinker.Unconscious(10 SECONDS)) . = UPDATE_MOB_HEALTH drinker.set_jitter_if_lower(700 SECONDS) @@ -266,26 +276,28 @@ if(SPT_PROB(0.5, seconds_per_tick) && iscarbon(drinker)) var/datum/disease/heart_attack = new /datum/disease/heart_failure drinker.ForceContractDisease(heart_attack) - to_chat(drinker, span_userdanger("You're pretty sure you just felt your heart stop for a second there..")) + to_chat(drinker, span_userdanger("Уверен[drinker.ru_a()], что ощутил[drinker.ru_a()] как мое сердце пропустило удар..")) drinker.playsound_local(drinker, 'sound/effects/singlebeat.ogg', 100, 0) /datum/reagent/consumable/ethanol/vodka - name = "Vodka" - description = "Number one drink AND fueling choice for Russians worldwide." + name = "Водка" + enname = "Vodka" + description = "Напиток и топливо номер один для русских по всему миру." color = "#0064C8" // rgb: 0, 100, 200 boozepwr = 65 - taste_description = "grain alcohol" + taste_description = "зерновой спирт" ph = 8.1 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_CLEANS //Very high proof default_container = /obj/item/reagent_containers/cup/glass/bottle/vodka /datum/reagent/consumable/ethanol/bilk - name = "Bilk" - description = "This appears to be beer mixed with milk. Disgusting." + name = "Билк" + description = "Похоже, это пиво, смешанное с молоком. Отвратительно." + enname = "Bilk" color = "#895C4C" // rgb: 137, 92, 76 nutriment_factor = 2 boozepwr = 15 - taste_description = "desperation and lactate" + taste_description = "отчаяние и лактат" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bilk/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -295,12 +307,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/threemileisland - name = "Three Mile Island Iced Tea" + name = "Три мили от берега" description = "Made for a woman, strong enough for a man." + enname = "Three Mile Island Iced Tea" color = "#666340" // rgb: 102, 99, 64 boozepwr = 10 quality = DRINK_FANTASTIC - taste_description = "dryness" + taste_description = "сухость" ph = 3.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -309,7 +322,8 @@ drinker.set_drugginess(100 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/gin - name = "Gin" + name = "Джин" + enname = "Gin" description = "It's gin. In space. I say, good sir." color = "#d8e8f0" // rgb: 216,232,240 boozepwr = 45 @@ -319,17 +333,19 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/rum - name = "Rum" - description = "Yohoho and all that." + name = "Ром" + enname = "Rum" + description = "Йо-хо-хо, так сказать." color = "#c9c07e" // rgb: 201,192,126 boozepwr = 60 - taste_description = "spiked butterscotch" + taste_description = "колючие ириски" ph = 6.5 default_container = /obj/item/reagent_containers/cup/glass/bottle/rum /datum/reagent/consumable/ethanol/tequila - name = "Tequila" - description = "A strong and mildly flavoured, Mexican produced spirit. Feeling thirsty, hombre?" + name = "Текила" + enname = "Tequila" + description = "Крепкий и мягкий по вкусу спиртной напиток мексиканского производства. Хочешь выпить, приятель?" color = "#FFFF91" // rgb: 255, 255, 145 boozepwr = 70 taste_description = "paint stripper" @@ -338,17 +354,19 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/vermouth - name = "Vermouth" - description = "You suddenly feel a craving for a martini..." + enname = "Vermouth" + name = "Вермут" + description = "Вдруг испытываю желание выпить мартини..." color = "#91FF91" // rgb: 145, 255, 145 boozepwr = 45 - taste_description = "dry alcohol" + taste_description = "сухой спирт" ph = 3.25 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/wine - name = "Wine" - description = "A premium alcoholic beverage made from distilled grape juice." + name = "Вино" + enname = "Wine" + description = "Вам вдруг захотелось выпить мартини..." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 35 taste_description = "bitter sweetness" @@ -371,51 +389,56 @@ return ..() /datum/reagent/consumable/ethanol/lizardwine - name = "Lizard Wine" - description = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol." + name = "Вино из ящериц" + enname = "Lizard Wine" + description = "Алкогольный напиток из космического Китая, изготовленный путем настаивания хвостов ящериц в этаноле." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 45 quality = DRINK_FANTASTIC - taste_description = "scaley sweetness" + taste_description = "масштабная сладость" ph = 3 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/grappa - name = "Grappa" - description = "A fine Italian brandy, for when regular wine just isn't alcoholic enough for you." + name = "Граппа" + enname = "Grappa" + description = "Прекрасный итальянский бренди, когда обычное вино недостаточно крепкое для вас." color = "#F8EBF1" boozepwr = 60 - taste_description = "classy bitter sweetness" + taste_description = "классная горькая сладость" ph = 3.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/amaretto - name = "Amaretto" - description = "A gentle drink that carries a sweet aroma." + name = "Амаретто" + enname = "Amaretto" + description = "Нежный напиток со сладким ароматом." color = "#E17600" boozepwr = 25 - taste_description = "fruity and nutty sweetness" + taste_description = "фруктово-ореховая сладость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/cognac - name = "Cognac" - description = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing. Classy as fornication." + name = "Коньяк" + enname = "Cognac" + description = "Сладкий и сильноалкогольный напиток, изготовленный после многочисленных дистилляций и многолетней выдержки." color = "#AB3C05" // rgb: 171, 60, 5 boozepwr = 75 - taste_description = "angry and irish" + taste_description = "ирландская злость" ph = 3.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/absinthe - name = "Absinthe" - description = "A powerful alcoholic drink. Rumored to cause hallucinations but does not." + name = "Абсент" + enname = "Absinthe" + description = "Крепкий алкогольный напиток. По слухам, вызывает галлюцинации, но это не так." color = rgb(10, 206, 0) boozepwr = 80 //Very strong even by default - taste_description = "death and licorice" + taste_description = "смерть и солодка" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -424,31 +447,34 @@ drinker.adjust_hallucinations(8 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/hooch - name = "Hooch" - description = "Either someone's failure at cocktail making or attempt in alcohol production. In any case, do you really want to drink that?" + enname = "Hooch" + name = "Хуч" + description = "Либо чья-то неудача в приготовлении коктейля, либо попытка производства алкоголя. В любом случае, вы действительно хотите это выпить?" color = "#664300" // rgb: 102, 67, 0 boozepwr = 100 - taste_description = "pure resignation" + taste_description = "чистая отставка" addiction_types = list(/datum/addiction/alcohol = 5, /datum/addiction/maintenance_drugs = 2) chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/ale - name = "Ale" - description = "A dark alcoholic beverage made with malted barley and yeast." + enname = "Ale" + name = "Эль" + description = "Темный алкогольный напиток, приготовленный из ячменного солода и дрожжей." color = "#976063" // rgb: 151,96,99 boozepwr = 65 - taste_description = "hearty barley ale" + taste_description = "ячменный эль" ph = 4.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/goldschlager - name = "Goldschlager" - description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." + enname = "Goldschlager" + name = "Гольдшпигер" + description = "Шнапс с корицей 100% пробы, созданный для алкоголиков-подростков на весенних каникулах." color = "#FFFF91" // rgb: 255, 255, 145 boozepwr = 25 quality = DRINK_NICE - taste_description = "burning cinnamon" + taste_description = "горящая корица" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED // This drink is really popular with a certain demographic. @@ -476,31 +502,34 @@ return ..() /datum/reagent/consumable/ethanol/patron - name = "Patron" - description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." + enname = "Patron" + name = "Текила «Патрон»" + description = "Текила с серебром, обожаемая девушками с низкой социальной ответственностью." color = "#585840" // rgb: 88, 88, 64 boozepwr = 60 quality = DRINK_VERYGOOD - taste_description = "metallic and expensive" + taste_description = "дорогой металл" ph = 4.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_HIGH /datum/reagent/consumable/ethanol/gintonic - name = "Gin and Tonic" - description = "An all time classic, mild cocktail." + enname = "Gin and Tonic" + name = "Джин-тоник" + description = "Классический коктейль на все времена." color = "#cae7ec" // rgb: 202,231,236 boozepwr = 25 quality = DRINK_NICE - taste_description = "mild and tart" + taste_description = "мягкий и терпкий напиток" ph = 3 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/rum_coke - name = "Rum and Coke" - description = "Rum, mixed with cola." - taste_description = "cola" + enname = "Rum and Coke" + name = "Ром с колой" + description = "Ром, смешанный с колой." + taste_description = "кола" boozepwr = 40 quality = DRINK_NICE color = "#3E1B00" @@ -508,12 +537,14 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/cuba_libre - name = "Cuba Libre" - description = "Viva la Revolucion! Viva Cuba Libre!" + enname = "Cuba Libre" + name = "Куба Либре" + special_sound = 'white/valtos/sound/drink/cuba.ogg' + description = "Да здравствует революция! Да здравствует свободная Куба!" color = "#3E1B00" // rgb: 62, 27, 0 boozepwr = 50 quality = DRINK_GOOD - taste_description = "a refreshing marriage of citrus and rum" + taste_description = "освежающий брак цитрусовых и рома" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/cuba_libre/on_mob_life(mob/living/carbon/cubano, seconds_per_tick, times_fired) @@ -528,50 +559,55 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/whiskey_cola - name = "Whiskey Cola" - description = "Whiskey, mixed with cola. Surprisingly refreshing." + enname = "Whiskey Cola" + name = "Виски кола" + description = "Виски, смешанное с колой. Удивительно освежает." color = "#3E1B00" // rgb: 62, 27, 0 boozepwr = 70 quality = DRINK_NICE - taste_description = "cola" + taste_description = "кола" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/martini - name = "Classic Martini" - description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." + enname = "Classic Martini" + name = "Классический Мартини" + description = "Вермут с джином. Не совсем то, что любил агент 007, но все равно вкусно." color = "#cddbac" // rgb: 205,219,172 boozepwr = 60 quality = DRINK_NICE - taste_description = "dry class" + taste_description = "классический сухой мартини" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/vodkamartini - name = "Vodka Martini" - description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." + enname = "Vodka Martini" + name = "Мартини с водкой" + description = "Водка с джином. Не совсем то, что любил агент 007, но все равно вкусно." color = "#cddcad" // rgb: 205,220,173 boozepwr = 65 quality = DRINK_NICE - taste_description = "shaken, not stirred" + taste_description = "взболтанный, но не размешанный" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/white_russian - name = "White Russian" - description = "That's just, like, your opinion, man..." + enname = "White Russian" + name = "Белый Русский" + description = "Это всего лишь твое мнение..." color = "#A68340" // rgb: 166, 131, 64 boozepwr = 50 quality = DRINK_GOOD - taste_description = "bitter cream" + taste_description = "горькие сливки" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/screwdrivercocktail - name = "Screwdriver" - description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." + enname = "Screwdriver" + name = "Отвертка" + description = "Водка, смешанная с обычным апельсиновым соком. Результат удивительно хорош." color = "#A68310" // rgb: 166, 131, 16 boozepwr = 55 quality = DRINK_NICE - taste_description = "oranges" + taste_description = "детство" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/screwdrivercocktail/on_transfer(atom/atom, methods = TOUCH, trans_volume) @@ -621,20 +657,22 @@ REMOVE_TRAIT(drinker, TRAIT_HALT_RADIATION_EFFECTS, "[type]") /datum/reagent/consumable/ethanol/booger - name = "Booger" - description = "Ewww..." + enname = "Booger" + name = "Бугер" + description = "Фууу..." color = "#8CFF8C" // rgb: 140, 255, 140 boozepwr = 45 - taste_description = "sweet 'n creamy" + taste_description = "сливки с ноткой сладости" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bloody_mary - name = "Bloody Mary" - description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." + enname = "Bloody Mary" + name = "Кровавая Мэри" + description = "Странная, но приятная смесь из водки, томата и сока лайма. По крайней мере, вам КАЖЕТСЯ что красное вещество - это томатный сок." color = "#bf707c" // rgb: 191,112,124 boozepwr = 55 quality = DRINK_GOOD - taste_description = "tomatoes with a hint of lime and liquid murder" + taste_description = "помидоры с ноткой лайма" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bloody_mary/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -643,45 +681,49 @@ ..() /datum/reagent/consumable/ethanol/brave_bull - name = "Brave Bull" - description = "It's just as effective as Dutch-Courage!" + enname = "Brave Bull" + name = "Храбрый Бык" + special_sound = 'white/valtos/sound/drink/bull.ogg' + description = "Один глоток даёт заряд бравады на целую смену." color = "#a79f98" // rgb: 167,159,152 boozepwr = 60 quality = DRINK_NICE - taste_description = "alcoholic bravery" + taste_description = "алкогольная храбрость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY var/tough_text /datum/reagent/consumable/ethanol/brave_bull/on_mob_metabolize(mob/living/drinker) . = ..() - tough_text = pick("brawny", "tenacious", "tough", "hardy", "sturdy") //Tuff stuff - to_chat(drinker, span_notice("You feel [tough_text]!")) + tough_text = pick("сильнее", "выносливее", "крепче") //Tuff stuff + to_chat(drinker, span_notice("Чувствую, что становлюсь [tough_text]!")) drinker.maxHealth += 10 //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment. drinker.health += 10 ADD_TRAIT(drinker, TRAIT_FEARLESS, type) /datum/reagent/consumable/ethanol/brave_bull/on_mob_end_metabolize(mob/living/drinker) . = ..() - to_chat(drinker, span_notice("You no longer feel [tough_text].")) + to_chat(drinker, span_notice("Снова чувствую себя нормально.")) drinker.maxHealth -= 10 drinker.health = min(drinker.health - 10, drinker.maxHealth) //This can indeed crit you if you're alive solely based on alchol ingestion REMOVE_TRAIT(drinker, TRAIT_FEARLESS, type) /datum/reagent/consumable/ethanol/tequila_sunrise - name = "Tequila Sunrise" - description = "Tequila, Grenadine, and Orange Juice." + enname = "Tequila Sunrise" + name = "Текила Санрайз" + special_sound = 'white/valtos/sound/drink/tequila_sunrise.ogg' + description = "Текила, гренадин и апельсиновый сок." color = "#FFE48C" // rgb: 255, 228, 140 boozepwr = 45 quality = DRINK_GOOD - taste_description = "oranges with a hint of pomegranate" + taste_description = "апельсины с оттенком граната" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM var/obj/effect/light_holder /datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_metabolize(mob/living/drinker) . = ..() - to_chat(drinker, span_notice("You feel gentle warmth spread through your body!")) + to_chat(drinker, span_notice("Чувствую как по моему телу расползается приятное тепло!")) light_holder = new(drinker) light_holder.set_light(3, 0.7, "#FFCC00") //Tequila Sunrise makes you radiate dim light, like a sunrise! @@ -694,16 +736,17 @@ /datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_end_metabolize(mob/living/drinker) . = ..() - to_chat(drinker, span_notice("The warmth in your body fades.")) + to_chat(drinker, span_notice("Тепло, окутававшее мое тело, исчезло.")) QDEL_NULL(light_holder) /datum/reagent/consumable/ethanol/toxins_special - name = "Toxins Special" - description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" + enname = "Toxins Special" + name = "Бомбление" + description = "ПОЖАР! ВЗРЫВОТЕХНИКИ СНОВА ГОРЯТ!! ВЫЗОВИТЕ СРАНЫЙ ШАТЛ!!!" color = "#8880a8" // rgb: 136,128,168 boozepwr = 25 quality = DRINK_VERYGOOD - taste_description = "spicy toxins" + taste_description = "пряные токсины" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/drinker, seconds_per_tick, times_fired) @@ -711,13 +754,15 @@ drinker.adjust_bodytemperature(15 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. /datum/reagent/consumable/ethanol/beepsky_smash - name = "Beepsky Smash" - description = "Drink this and prepare for the LAW." + enname = "Beepsky Smash" + name = "Удар Бипски" + special_sound = 'white/valtos/sound/drink/criminal.ogg' + description = "Выпейте это и приготовьтесь к ПРАВОСУДИЮ." color = "#808000" // rgb: 128,128,0 boozepwr = 60 //THE FIST OF THE LAW IS STRONG AND HARD quality = DRINK_GOOD metabolization_rate = 1.25 * REAGENTS_METABOLISM - taste_description = "JUSTICE" + taste_description = "ЗАКОН И ПОРЯДОК" overdose_threshold = 40 ph = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -759,8 +804,10 @@ drinker.gain_trauma(/datum/brain_trauma/mild/phobia/security, TRAUMA_RESILIENCE_BASIC) /datum/reagent/consumable/ethanol/irish_cream - name = "Irish Cream" - description = "Whiskey-imbued cream, what else would you expect from the Irish?" + enname = "Irish Cream" + name = "Айриш Крим" + special_sound = 'white/valtos/sound/drink/irish_coffee.ogg' + description = "Сливки с виски - что еще можно ожидать от ирландцев?" color = "#e3d0b2" // rgb: 227,208,178 boozepwr = 50 quality = DRINK_NICE @@ -768,12 +815,14 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/manly_dorf - name = "The Manly Dorf" - description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." + enname = "The Manly Dorf" + name = "Мужицкий Дорф" + special_sound = 'white/valtos/sound/drink/df.ogg' + description = "Пиво и эль, собранные вместе в восхитительный микс. Только для настоящих мужчин." color = "#815336" // rgb: 129,83,54 boozepwr = 100 //For the manly only quality = DRINK_NICE - taste_description = "hair on your chest and your chin" + taste_description = "волосы на груди и подбородке" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED var/dorf_mode = FALSE @@ -782,7 +831,7 @@ if(ishuman(drinker)) var/mob/living/carbon/human/potential_dwarf = drinker if(HAS_TRAIT(potential_dwarf, TRAIT_DWARF)) - to_chat(potential_dwarf, span_notice("Now THAT is MANLY!")) + to_chat(potential_dwarf, span_notice("Вот ЭТО и есть МУЖЕСТВО!")) boozepwr = 50 // will still smash but not as much. dorf_mode = TRUE @@ -796,39 +845,46 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/longislandicedtea - name = "Long Island Iced Tea" - description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + enname = "Long Island Iced Tea" + name = "Лонг-Айленд айс ти" + special_sound = 'white/valtos/sound/drink/long_island.ogg' + description = "Восхитительная смесь водки, джина, текилы и куба либре. Предназначен только для женщин-алкоголиков бальзаковского возраста." color = "#ff6633" // rgb: 255,102,51 boozepwr = 35 quality = DRINK_VERYGOOD - taste_description = "a mixture of cola and alcohol" + taste_description = "смесь алкоголя" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/moonshine - name = "Moonshine" - description = "You've really hit rock bottom now... your liver packed its bags and left last night." + enname = "Moonshine" + name = "Лунный свет" + description = "Вы действительно достигли дна... Ваша печень собрала свои вещи и ушла вчера вечером." + special_sound = 'white/valtos/sound/drink/moonshine.ogg' color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha) (like water) boozepwr = 95 - taste_description = "bitterness" + taste_description = "горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/b52 - name = "B-52" - description = "Coffee, Irish Cream, and cognac. You will get bombed." + enname = "B-52" + name = "Б-52" + description = "Кофе, айриш крим и коньяк. Тебя просто разорвёт." color = "#8f1733" // rgb: 143,23,51 boozepwr = 85 quality = DRINK_GOOD - taste_description = "angry and irish" + taste_description = "ирландская злость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/b52/on_mob_metabolize(mob/living/drinker) . = ..() - playsound(drinker, 'sound/effects/explosion_distant.ogg', 100, FALSE) + playsound(drinker, 'white/valtos/sound/nuclearexplosion.ogg', 100, FALSE) /datum/reagent/consumable/ethanol/irishcoffee - name = "Irish Coffee" - description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." + enname = "Irish Coffee" + name = "Ирландский кофе" + description = "Кофе и алкоголь. Веселее, чем пить \"Мимозу\" по утрам." + special_sound = 'white/valtos/sound/drink/irish_coffee.ogg' color = "#874010" // rgb: 135,64,16 boozepwr = 35 quality = DRINK_NICE @@ -836,41 +892,45 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/margarita - name = "Margarita" - description = "On the rocks with salt on the rim. Arriba~!" + enname = "Margarita" + name = "Маргарита" + description = "На камнях с солью по краю. Арриба~!" color = "#8CFF8C" // rgb: 140, 255, 140 boozepwr = 35 quality = DRINK_NICE - taste_description = "dry and salty" + taste_description = "сухость и соль" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/black_russian - name = "Black Russian" - description = "For the lactose-intolerant. Still as classy as a White Russian." + enname = "Black Russian" + name = "Черный русский" + description = "Для людей с непереносимостью лактозы. По-прежнему стильный, как белый русский." color = "#360000" // rgb: 54, 0, 0 boozepwr = 70 quality = DRINK_NICE - taste_description = "bitterness" + taste_description = "горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/manhattan - name = "Manhattan" - description = "The Detective's undercover drink of choice. He never could stomach gin..." + enname = "Manhattan" + name = "Манхэттен" + description = "Любимый напиток детектива под прикрытием. Он никогда не мог переварить джин..." color = "#ff3300" // rgb: 255,51,0 boozepwr = 30 quality = DRINK_NICE - taste_description = "mild dryness" + taste_description = "легкая сухость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/manhattan_proj - name = "Manhattan Project" - description = "A scientist's drink of choice, for pondering ways to blow up the station." + enname = "Manhattan Project" + name = "Проект Манхэттен" + description = "Любимый напиток ученых, мечтающих как взорвать станцию." color = COLOR_MOSTLY_PURE_RED boozepwr = 45 quality = DRINK_VERYGOOD - taste_description = "death, the destroyer of worlds" + taste_description = "смерть, разрушитель миров" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -878,21 +938,23 @@ drinker.set_drugginess(1 MINUTES * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/whiskeysoda - name = "Whiskey Soda" - description = "For the more refined griffon." + enname = "Whiskey Soda" + name = "Виски с содовой" + description = "Идеально освежает." color = "#ffcc33" // rgb: 255,204,51 boozepwr = 70 quality = DRINK_NICE - taste_description = "soda" + taste_description = "содовая" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/antifreeze - name = "Anti-freeze" - description = "The ultimate refreshment. Not what it sounds like." + enname = "Anti-freeze" + name = "Антифриз" + description = "Идеально освежает. Внешний вид может обмануть." color = "#30f0f8" // rgb: 48,240,248 boozepwr = 35 quality = DRINK_NICE - taste_description = "Jack Frost's piss" + taste_description = "моча Джека Фроста" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -900,12 +962,13 @@ drinker.adjust_bodytemperature(20 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. /datum/reagent/consumable/ethanol/barefoot - name = "Barefoot" - description = "Barefoot and pregnant." + enname = "Barefoot" + name = "Босоножка" + description = "Босая и беременная." color = "#fc5acc" // rgb: 252,90,204 boozepwr = 45 quality = DRINK_VERYGOOD - taste_description = "creamy berries" + taste_description = "сливочные ягоды" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/barefoot/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -917,21 +980,23 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/snowwhite - name = "Snow White" - description = "A cold refreshment." + enname = "Snow White" + name = "Белоснежка" + description = "Холодная свежесть." color = "#FFFFFF" // rgb: 255, 255, 255 boozepwr = 35 quality = DRINK_NICE - taste_description = "refreshing cold" + taste_description = "освежающий холод" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/demonsblood - name = "Demon's Blood" - description = "AHHHH!!!!" + enname = "Demon's Blood" + name = "Кровь демона" + description = "ААААА!!!!" color = "#820000" // rgb: 130, 0, 0 boozepwr = 75 quality = DRINK_VERYGOOD - taste_description = "sweet tasting iron" + taste_description = "сладкое железо" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/demonsblood/on_mob_metabolize(mob/living/metabolizer) @@ -962,12 +1027,13 @@ return COMPONENT_STOP_CONSUMPTION /datum/reagent/consumable/ethanol/devilskiss - name = "Devil's Kiss" - description = "Creepy time!" + enname = "Devil's Kiss" + name = "Поцелуй дьявола" + description = "Жуть!" color = "#A68310" // rgb: 166, 131, 16 boozepwr = 70 quality = DRINK_VERYGOOD - taste_description = "bitter iron" + taste_description = "горькое железо" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/devilskiss/on_mob_metabolize(mob/living/metabolizer) @@ -1006,39 +1072,44 @@ crawl.exit_blood_effect(source) /datum/reagent/consumable/ethanol/vodkatonic - name = "Vodka and Tonic" - description = "For when a gin and tonic isn't Russian enough." + enname = "Vodka and Tonic" + name = "Водка с тоником" + description = "Для тех случаев, когда джин с тоником не достаточно по-русски." color = "#0064C8" // rgb: 0, 100, 200 boozepwr = 70 quality = DRINK_NICE - taste_description = "tart bitterness" + taste_description = "терпкая горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/ginfizz - name = "Gin Fizz" - description = "Refreshingly lemony, deliciously dry." + enname = "Gin Fizz" + name = "Джин физ" + description = "Освежающе лимонный, восхитительно сухой." color = "#ffffcc" // rgb: 255,255,204 boozepwr = 45 quality = DRINK_GOOD - taste_description = "dry, tart lemons" + taste_description = "сухой, терпкий лимон" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bahama_mama - name = "Bahama Mama" - description = "A tropical cocktail with a complex blend of flavors." + enname = "Bahama Mama" + name = "Багама мама" + description = "Тропический коктейль со сложным сочетанием вкусов." + special_sound = 'white/valtos/sound/drink/bahama_mama.ogg' color = "#FF7F3B" // rgb: 255, 127, 59 boozepwr = 35 quality = DRINK_GOOD - taste_description = "pineapple, coconut, and a hint of coffee" + taste_description = "ананас, кокос и кофе" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/singulo - name = "Singulo" - description = "A blue-space beverage!" + enname = "Singulo" + name = "Сингуло" + description = "Блюспейс коктейль!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 35 quality = DRINK_VERYGOOD - taste_description = "concentrated matter" + taste_description = "концентрированное вещество" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED var/static/list/ray_filter = list(type = "rays", size = 40, density = 15, color = SUPERMATTER_SINGULARITY_RAYS_COLOUR, factor = 15) @@ -1070,12 +1141,13 @@ drinker.emote("burp") /datum/reagent/consumable/ethanol/sbiten - name = "Sbiten" - description = "A spicy Vodka! Might be a little hot for the little guys!" + enname = "Sbiten" + name = "Сбитень" + description = "Водка с перцом! Не обожгись!" color = "#d8d5ae" // rgb: 216,213,174 boozepwr = 70 quality = DRINK_GOOD - taste_description = "hot and spice" + taste_description = "горячая пряность" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1083,30 +1155,33 @@ drinker.adjust_bodytemperature(50 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, BODYTEMP_HEAT_DAMAGE_LIMIT) //310.15 is the normal bodytemp. /datum/reagent/consumable/ethanol/red_mead - name = "Red Mead" - description = "The true Viking drink! Even though it has a strange red color." + enname = "Red Mead" + name = "Красная медовуха" + description = "Настоящий напиток викингов! Несмотря его странный цвет." color = "#C73C00" // rgb: 199, 60, 0 boozepwr = 31 //Red drinks are stronger quality = DRINK_GOOD - taste_description = "sweet and salty alcohol" + taste_description = "сладкий и соленый алкоголь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/mead - name = "Mead" - description = "A Viking drink, though a cheap one." + enname = "Mead" + name = "Медовуха" + description = "Напиток викингов, хоть и дешевый, но любимый." color = "#e0c058" // rgb: 224,192,88 nutriment_factor = 1 boozepwr = 30 quality = DRINK_NICE - taste_description = "sweet, sweet alcohol" + taste_description = "сладкий, сладкий алкоголь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/iced_beer - name = "Iced Beer" - description = "A beer which is so cold the air around it freezes." + enname = "Iced Beer" + name = "Ледяное пиво" + description = "Настолько холодное пиво, что воздух вокруг замерзает." color = "#664300" // rgb: 102, 67, 0 boozepwr = 15 - taste_description = "refreshingly cold" + taste_description = "освежающая прохлада" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1114,68 +1189,75 @@ drinker.adjust_bodytemperature(-20 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, T0C) //310.15 is the normal bodytemp. /datum/reagent/consumable/ethanol/grog - name = "Grog" - description = "Watered-down rum, Nanotrasen approves!" + enname = "Grog" + name = "Грог" + description = "Разбавленный водой ром, Нанотрейзен одобряет!" color = "#e0e058" // rgb: 224,224,88 boozepwr = 1 //Basically nothing - taste_description = "a poor excuse for alcohol" + taste_description = "плохое оправдание для алкоголя" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/aloe - name = "Aloe" - description = "So very, very, very good." + enname = "Aloe" + name = "Алоэ" + description = "Очень, очень, очень хорош." color = "#f8f800" // rgb: 248,248,0 boozepwr = 35 quality = DRINK_VERYGOOD - taste_description = "sweet 'n creamy" + taste_description = "сладкие сливки" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED //somewhat annoying mix glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/andalusia - name = "Andalusia" - description = "A nice, strangely named drink." + enname = "Andalusia" + name = "Андалузия" + description = "Приятный напиток со странным названием." color = "#c8f860" // rgb: 200,248,96 boozepwr = 40 quality = DRINK_GOOD - taste_description = "lemons" + taste_description = "лимоны" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/alliescocktail - name = "Allies Cocktail" - description = "A drink made from your allies. Not as sweet as those made from your enemies." + enname = "Allies Cocktail" + name = "Коктейль союзников" + description = "Напиток, приготовленный вашими союзниками. Не так сладок, как напиток, приготовленный из ваших врагов." color = "#60f8f8" // rgb: 96,248,248 boozepwr = 45 quality = DRINK_NICE - taste_description = "bitter yet free" + taste_description = "горечь свободы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/acid_spit - name = "Acid Spit" - description = "A drink for the daring, can be deadly if incorrectly prepared!" + enname = "Acid Spit" + name = "Кислотный плевок" + description = "Напиток для смелых. При неправильном приготовлении может оказаться смертельно опасным!" color = "#365000" // rgb: 54, 80, 0 boozepwr = 70 quality = DRINK_VERYGOOD - taste_description = "stomach acid" + taste_description = "желудочная кислота" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/amasec - name = "Amasec" - description = "Official drink of the Nanotrasen Gun-Club!" + enname = "Amasec" + name = "Амасек" + description = "Официальный напиток оружейного клуба \"НаноТрейзен\"!" color = "#e0e058" // rgb: 224,224,88 boozepwr = 35 quality = DRINK_GOOD - taste_description = "dark and metallic" + taste_description = "тьма и металл" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/changelingsting - name = "Changeling Sting" - description = "You take a tiny sip and feel a burning sensation..." + enname = "Changeling Sting" + name = "Жало генокрада" + description = "Вы делаете маленький глоток и чувствуете жжение...." color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 50 quality = DRINK_GOOD - taste_description = "your brain coming out your nose" + taste_description = "мой мозг выходит из носа" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/changelingsting/on_mob_life(mob/living/carbon/target, seconds_per_tick, times_fired) @@ -1184,21 +1266,24 @@ changeling?.adjust_chemicals(metabolization_rate * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/irishcarbomb - name = "Irish Car Bomb" - description = "Mmm, tastes like the free Irish state." + enname = "Irish Car Bomb" + name = "Ирландская Автомобильная бомба" + description = "Ммм, на вкус как свободное ирландское государство." + special_sound = 'white/valtos/sound/drink/irish_coffee.ogg' color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 25 quality = DRINK_GOOD - taste_description = "the spirit of Ireland" + taste_description = "дух Ирландии" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/syndicatebomb - name = "Syndicate Bomb" - description = "Tastes like terrorism!" + enname = "Syndicate Bomb" + name = "Бомба Синдиката" + description = "На вкус как терроризм!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 90 quality = DRINK_GOOD - taste_description = "purified antagonism" + taste_description = "очищенный антагонизм" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/syndicatebomb/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1207,41 +1292,46 @@ playsound(get_turf(drinker), 'sound/effects/explosionfar.ogg', 100, TRUE) /datum/reagent/consumable/ethanol/hiveminderaser - name = "Hivemind Eraser" - description = "A vessel of pure flavor." + enname = "Hivemind Eraser" + name = "Стиратель улья" + description = "Сосуд чистого вкуса." color = "#FF80FC" // rgb: 255, 128, 252 boozepwr = 40 quality = DRINK_GOOD - taste_description = "psychic links" + taste_description = "экстрасенсорные связи" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/erikasurprise - name = "Erika Surprise" - description = "The surprise is, it's green!" + enname = "Erika Surprise" + name = "Сюрприз Эрики" + description = "Это сюрпиз! И он зеленый!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 35 quality = DRINK_VERYGOOD - taste_description = "tartness and bananas" + taste_description = "терпкость и бананы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/driestmartini - name = "Driest Martini" - description = "Only for the experienced. You think you see sand floating in the glass." + enname = "Driest Martini" + name = "Сухой Мартини" + description = "Только для бывалых. Вам кажется, что вы видите песок, плавающий в бокале." nutriment_factor = 1 color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 65 quality = DRINK_GOOD - taste_description = "a beach" + taste_description = "пляж" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bananahonk - name = "Banana Honk" - description = "A drink from Clown Heaven." + enname = "Banana Honk" + name = "Банановый Хонк" + description = "Напиток из клоунского рая." + special_sound = 'white/valtos/sound/drink/bikehorn.ogg' nutriment_factor = 1 color = "#FFFF91" // rgb: 255, 255, 140 boozepwr = 60 quality = DRINK_GOOD - taste_description = "a bad joke" + taste_description = "плохая шутка" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bananahonk/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1252,13 +1342,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/silencer - name = "Silencer" - description = "A drink from Mime Heaven." + enname = "Silencer" + name = "Глушитель" + description = "Напиток из Рая для Мимов." nutriment_factor = 2 color = "#a8a8a8" // rgb: 168,168,168 boozepwr = 59 //Proof that clowns are better than mimes right here quality = DRINK_GOOD - taste_description = "a pencil eraser" + taste_description = "ластик" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/silencer/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1269,40 +1360,45 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/drunkenblumpkin - name = "Drunken Blumpkin" - description = "A weird mix of whiskey and blumpkin juice." + enname = "Drunken Blumpkin" + name = "Пьяный тупица" + description = "Странная смесь виски и сока бюспейс тыквы." color = "#1EA0FF" // rgb: 30,160,255 boozepwr = 50 quality = DRINK_VERYGOOD - taste_description = "molasses and a mouthful of pool water" + taste_description = "патока и глоток воды из бассейна" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/whiskey_sour //Requested since we had whiskey cola and soda but not sour. - name = "Whiskey Sour" + enname = "Whiskey Sour" + name = "Виски Сауэр" description = "Lemon juice/whiskey/sugar mixture. Moderate alcohol content." color = rgb(255, 201, 49) boozepwr = 35 quality = DRINK_GOOD - taste_description = "sour lemons" + taste_description = "кислые лимоны" /datum/reagent/consumable/ethanol/hcider - name = "Hard Cider" - description = "Apple juice, for adults." + enname = "Hard Cider" + name = "Крепкий Сидр" + description = "Яблочный сок для взрослых." + special_sound = 'white/nocringe/sound/drink/hcider.ogg' color = "#CD6839" nutriment_factor = 1 boozepwr = 25 - taste_description = "the season that falls between summer and winter" + taste_description = "осень" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/fetching_fizz //A reference to one of my favorite games of all time. Pulls nearby ores to the imbiber! - name = "Fetching Fizz" - description = "Whiskey sour/iron/uranium mixture resulting in a highly magnetic slurry. Mild alcohol content." //Requires no alcohol to make but has alcohol anyway because ~magic~ + enname = "Fetching Fizz" + name = "Приход" + description = "Смесь кислого виски с железом и ураном, в результате чего образуется высокомагнитная суспензия." //Requires no alcohol to make but has alcohol anyway because ~magic~ color = rgb(255, 91, 15) boozepwr = 10 quality = DRINK_VERYGOOD metabolization_rate = 0.1 * REAGENTS_METABOLISM - taste_description = "charged metal" // the same as teslium, honk honk. + taste_description = "заряженный металл" // the same as teslium, honk honk. chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1312,13 +1408,14 @@ //Another reference. Heals those in critical condition extremely quickly. /datum/reagent/consumable/ethanol/hearty_punch - name = "Hearty Punch" - description = "Brave bull/syndicate bomb/absinthe mixture resulting in an energizing beverage. Mild alcohol content." + enname = "Hearty Punch" + name = "Сердечный Пунш" + description = "Смесь Храброго Быка, Бомбы Синдиката и абсента, в результате чего получается возбуждающий напиток." color = rgb(140, 0, 0) boozepwr = 90 quality = DRINK_VERYGOOD metabolization_rate = 0.4 * REAGENTS_METABOLISM - taste_description = "bravado in the face of disaster" + taste_description = "бравада перед лицом катастрофы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/hearty_punch/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1334,20 +1431,22 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/bacchus_blessing //An EXTREMELY powerful drink. Smashed in seconds, dead in minutes. - name = "Bacchus' Blessing" - description = "Unidentifiable mixture. Unmeasurably high alcohol content." + enname = "Bacchus' Blessing" + name = "Бахус" + description = "Неидентифицируемая смесь. Неизмеримо высокое содержание алкоголя." color = rgb(51, 19, 3) //Sickly brown boozepwr = 300 //I warned you - taste_description = "a wall of bricks" + taste_description = "кирпичная стена" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/atomicbomb - name = "Atomic Bomb" - description = "Nuclear proliferation never tasted so good." + enname = "Atomic Bomb" + name = "Атомная Бомба" + description = "Ядерное оружие никогда не было таким вкусным." color = "#666300" // rgb: 102, 99, 0 boozepwr = 0 //custom drunk effect quality = DRINK_FANTASTIC - taste_description = "da bomb" + taste_description = "бомба" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_HIGH @@ -1367,12 +1466,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/gargle_blaster - name = "Pan-Galactic Gargle Blaster" - description = "Whoah, this stuff looks volatile!" + enname = "Pan-Galactic Gargle Blaster" + name = "Пангалактический ополаскиватель" + description = "Вау, эта штука выглядит нестабильной." color = "#9cc8b4" // rgb: 156,200,180 boozepwr = 0 //custom drunk effect quality = DRINK_GOOD - taste_description = "your brains smashed out by a lemon wrapped around a gold brick" + taste_description = "мои мозги разбиты лимоном, обернутым вокруг золотого кирпича" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/gargle_blaster/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1391,12 +1491,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/neurotoxin - name = "Neurotoxin" - description = "A strong neurotoxin that puts the subject into a death-like state." + enname = "Neurotoxin" + name = "Нейротоксин" + description = "Сильный нейротоксин, который вводит субъекта в состояние, подобное смерти." color = "#2E2E61" // rgb: 46, 46, 97 boozepwr = 50 quality = DRINK_VERYGOOD - taste_description = "a numbing sensation" + taste_description = "онемение" metabolization_rate = 1 * REAGENTS_METABOLISM chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1412,7 +1513,7 @@ if(SPT_PROB(10, seconds_per_tick)) need_mob_update += drinker.adjustStaminaLoss(10 * REM * seconds_per_tick, updating_stamina = FALSE, required_biotype = affected_biotype) drinker.drop_all_held_items() - to_chat(drinker, span_notice("You cant feel your hands!")) + to_chat(drinker, span_notice("Не чувствую руки!")) if(current_cycle > 6) if(SPT_PROB(10, seconds_per_tick)) var/paralyzed_limb = pick_paralyzed_limb() @@ -1424,7 +1525,7 @@ if(!drinker.undergoing_cardiac_arrest() && drinker.can_heartattack()) drinker.set_heartattack(TRUE) if(drinker.stat == CONSCIOUS) - drinker.visible_message(span_userdanger("[drinker] clutches at [drinker.p_their()] chest as if [drinker.p_their()] heart stopped!")) + drinker.visible_message(span_userdanger("[drinker]хватается за [drinker.ru_ego()] грудь, будто [drinker.ru_ego()] сердце остановилось!")) if(need_mob_update) return UPDATE_MOB_HEALTH @@ -1437,14 +1538,15 @@ drinker.adjustStaminaLoss(10, required_biotype = affected_biotype) /datum/reagent/consumable/ethanol/hippies_delight - name = "Hippie's Delight" - description = "You just don't get it maaaan." + enname = "Hippie's Delight" + name = "Услада Хиппи" + description = "Ты просто не догоняешь, чуваааак." color = "#b16e8b" // rgb: 177,110,139 nutriment_factor = 0 boozepwr = 0 //custom drunk effect quality = DRINK_FANTASTIC metabolization_rate = 0.2 * REAGENTS_METABOLISM - taste_description = "giving peace a chance" + taste_description = "дать миру шанс" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/hippies_delight/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1480,18 +1582,20 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/eggnog - name = "Eggnog" - description = "For enjoying the most wonderful time of the year." + enname = "Eggnog" + name = "Гоголь-Моголь" + description = "Для наслаждения самым замечательным временем года." color = "#fcfdc6" // rgb: 252, 253, 198 nutriment_factor = 2 boozepwr = 1 quality = DRINK_VERYGOOD - taste_description = "custard and alcohol" + taste_description = "заварной крем и алкоголь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/dreadnog - name = "Dreadnog" - description = "For suffering during a period of joy." + enname = "Dreadnog" + name = "Страх-Моголь" + description = "Для страдания во время радости." color = "#abb862" // rgb: 252, 253, 198 nutriment_factor = 3 * REAGENTS_METABOLISM boozepwr = 1 @@ -1500,12 +1604,13 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/narsour - name = "Nar'Sour" - description = "Side effects include self-mutilation and hoarding plasteel." + enname = "Nar'Sour" + name = "Нар'Кис" + description = "Побочные эффекты включают самобичевание и накопительство пластали." color = RUNE_COLOR_DARKRED boozepwr = 10 quality = DRINK_FANTASTIC - taste_description = "bloody" + taste_description = "кровь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/narsour/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1514,44 +1619,49 @@ drinker.adjust_stutter_up_to(6 SECONDS * REM * seconds_per_tick, 6 SECONDS) /datum/reagent/consumable/ethanol/triple_sec - name = "Triple Sec" - description = "A sweet and vibrant orange liqueur." + enname = "Triple Sec" + name = "Трипл Сек" + description = "Сладкий и яркий на вкус апельсиновый ликер." color = "#ffcc66" boozepwr = 30 - taste_description = "a warm flowery orange taste which recalls the ocean air and summer wind of the caribbean" + taste_description = "теплый цветочный апельсиновый вкус, напоминающий воздушный океан и летний карибский ветер" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/creme_de_menthe - name = "Creme de Menthe" - description = "A minty liqueur excellent for refreshing, cool drinks." + enname = "Creme de Menthe" + name = "Мятный ликер" + description = "Мятный ликер отлично подходит для освежающих, прохладных напитков." color = "#00cc00" boozepwr = 20 - taste_description = "a minty, cool, and invigorating splash of cold streamwater" + taste_description = "мятный, прохладный и бодрящий всплеск холодной воды" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/creme_de_cacao - name = "Creme de Cacao" - description = "A chocolatey liqueur excellent for adding dessert notes to beverages and bribing sororities." + enname = "Creme de Cacao" + name = "Шоколадный ликер" + description = "Шоколадный ликер отлично подходит для придания десертных нот напиткам и подкупа женских обществ." color = "#996633" boozepwr = 20 - taste_description = "a slick and aromatic hint of chocolates swirling in a bite of alcohol" + taste_description = "гладкий и ароматный намек конфет, кружащихся в укусе алкоголя" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/creme_de_coconut - name = "Creme de Coconut" - description = "A coconut liqueur for smooth, creamy, tropical drinks." + enname = "Creme de Coconut" + name = "Кокосовый ликер" + description = "Кокосовый ликер для мягких, сливочных, тропических напитков." color = "#F7F0D0" boozepwr = 20 taste_description = "a sweet milky flavor with notes of toasted sugar" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/quadruple_sec - name = "Quadruple Sec" - description = "Kicks just as hard as licking the power cell on a baton, but tastier." + enname = "Quadruple Sec" + name = "Квадрипл Сек" + description = "Прекрасен, как облизывание батарейки станбатона." color = "#cc0000" boozepwr = 35 quality = DRINK_GOOD - taste_description = "an invigorating bitter freshness which suffuses your being; no enemy of the station will go unrobusted this day" + taste_description = "бодрящая горькая свежесть, которая наполняет ваше существо; ни один враг станции не останется незамеченным в этот день" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/quadruple_sec/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1563,12 +1673,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/quintuple_sec - name = "Quintuple Sec" - description = "Law, Order, Alcohol, and Police Brutality distilled into one single elixir of JUSTICE." + enname = "Quintuple Sec" + name = "Квантипл Сек" + description = "Закон, порядок, алкоголь и полицейское " color = "#ff3300" boozepwr = 55 quality = DRINK_FANTASTIC - taste_description = "THE LAW" + taste_description = "ЗАКОН" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/quintuple_sec/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1583,30 +1694,33 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/grasshopper - name = "Grasshopper" - description = "A fresh and sweet dessert shooter. Difficult to look manly while drinking this." + enname = "Grasshopper" + name = "Кузнечик" + description = "Свежий и сладкий десертный шутер. Трудно выглядеть мужественным, когда пьешь это." color = "#00ff00" boozepwr = 25 quality = DRINK_GOOD - taste_description = "chocolate and mint dancing around your mouth" + taste_description = "шоколад и мята" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/stinger - name = "Stinger" - description = "A snappy way to end the day." + enname = "Stinger" + name = "Стингер" + description = "Отличный способ закончить день." color = "#ccff99" boozepwr = 25 quality = DRINK_NICE - taste_description = "a slap on the face in the best possible way" + taste_description = "пощечина в лучшем виде" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bastion_bourbon - name = "Bastion Bourbon" - description = "Soothing hot herbal brew with restorative properties. Hints of citrus and berry flavors." + enname = "Bastion Bourbon" + name = "Бурбон «Бастион»" + description = "Успокаивающий горячий травяной напиток с восстанавливающими свойствами." color = "#00FFFF" boozepwr = 30 quality = DRINK_FANTASTIC - taste_description = "hot herbal brew with a hint of fruit" + taste_description = "горячий травяной напиток с фруктовым оттенком" metabolization_rate = 2 * REAGENTS_METABOLISM //0.4u per second ph = 4 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1626,9 +1740,9 @@ need_mob_update += drinker.adjustStaminaLoss(-heal_amt, updating_stamina = FALSE, required_biotype = affected_biotype) if(need_mob_update) drinker.updatehealth() - drinker.visible_message(span_warning("[drinker] shivers with renewed vigor!"), span_notice("One taste of [lowertext(name)] fills you with energy!")) + drinker.visible_message(span_warning("[drinker] дрожит с новой силой!") , span_notice("Вкус [lowertext(name)] наполняет меня энергией!")) if(!drinker.stat && heal_points == 20) //brought us out of softcrit - drinker.visible_message(span_danger("[drinker] lurches to [drinker.p_their()] feet!"), span_boldnotice("Up and at 'em, kid.")) + drinker.visible_message(span_danger("[drinker] накренилась в сторону [drinker.ru_ego()] ноги!") , span_boldnotice("Проснись и пой, малыш.")) /datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_life(mob/living/drinker, seconds_per_tick, times_fired) . = ..() @@ -1643,11 +1757,12 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/squirt_cider - name = "Squirt Cider" - description = "Fermented squirt extract with a nose of stale bread and ocean water. Whatever a squirt is." + enname = "Squirt Cider" + name = "Сидровый сквирт" + description = "Забродивший экстракт сквирта с ароматом черствого хлеба и океанской воды. Что бы это ни было." color = "#FF0000" boozepwr = 40 - taste_description = "stale bread with a staler aftertaste" + taste_description = "черствый хлеб с послевкусием послевкусия" nutriment_factor = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1656,21 +1771,25 @@ drinker.satiety += 5 * REM * seconds_per_tick //for context, vitamins give 15 satiety per second /datum/reagent/consumable/ethanol/fringe_weaver - name = "Fringe Weaver" - description = "Bubbly, classy, and undoubtedly strong - a Glitch City classic." + enname = "Fringe Weaver" + name = "Бон Развязон" + description = "Пузырчатый, стильный и, несомненно, сильный - классика Глитч Сити." + special_sound = 'white/valtos/sound/drink/va-lchalla.ogg' color = "#FFEAC4" boozepwr = 90 //classy hooch, essentially, but lower pwr to make up for slightly easier access quality = DRINK_GOOD - taste_description = "ethylic alcohol with a hint of sugar" + taste_description = "этиловый спирт с оттенком сахара" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sugar_rush - name = "Sugar Rush" - description = "Sweet, light, and fruity - as girly as it gets." + enname = "Sugar Rush" + name = "Сладкий форсаж" + description = "Сладкий, легкий и фруктовый - девчачий." + special_sound = 'white/valtos/sound/drink/va-lchalla.ogg' color = "#FF226C" boozepwr = 10 quality = DRINK_GOOD - taste_description = "your arteries clogging with sugar" + taste_description = "ваши артерии засоряются сахаром" nutriment_factor = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1679,12 +1798,14 @@ drinker.satiety -= 10 * REM * seconds_per_tick //junky as hell! a whole glass will keep you from being able to eat junk food /datum/reagent/consumable/ethanol/crevice_spike - name = "Crevice Spike" - description = "Sour, bitter, and smashingly sobering." + enname = "Crevice Spike" + name = "Спазм Кишок" + description = "Кислый, горький и отлично отрезвляющий." + special_sound = 'white/valtos/sound/drink/va-lchalla.ogg' color = "#5BD231" boozepwr = -10 //sobers you up - ideally, one would drink to get hit with brute damage now to avoid alcohol problems later quality = DRINK_VERYGOOD - taste_description = "a bitter SPIKE with a sour aftertaste" + taste_description = "горький спайк с кислым послевкусием" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/crevice_spike/on_mob_metabolize(mob/living/drinker) //damage only applies when drink first enters system and won't again until drink metabolizes out @@ -1692,19 +1813,21 @@ drinker.adjustBruteLoss(3 * min(5,volume), required_bodytype = affected_bodytype) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 /datum/reagent/consumable/ethanol/sake - name = "Sake" - description = "A sweet rice wine of questionable legality and extreme potency." + enname = "Sake" + name = "Сакэ" + description = "Сладкое рисовое вино сомнительной легальности и чрезвычайно сильного действия." color = "#DDDDDD" boozepwr = 70 - taste_description = "sweet rice wine" + taste_description = "сладкое рисовое вино" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/peppermint_patty - name = "Peppermint Patty" - description = "This lightly alcoholic drink combines the benefits of menthol and cocoa." + enname = "Peppermint Patty" + name = "Мятная Пэтти" + description = "Этот слабоалкогольный напиток сочетает в себе полезные свойства ментола и какао." color = "#45ca7a" - taste_description = "mint and chocolate" + taste_description = "мята и шоколад" boozepwr = 25 quality = DRINK_GOOD chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1715,12 +1838,14 @@ drinker.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, drinker.get_body_temp_normal()) /datum/reagent/consumable/ethanol/alexander - name = "Alexander" - description = "Named after a Greek hero, this mix is said to embolden a user's shield as if they were in a phalanx." + enname = "Alexander" + name = "Александр" + description = "Названная в честь греческого героя, эта смесь, как говорят, укрепляет щит пользователя, как будто он находится в фаланге." + special_sound = 'white/valtos/sound/drink/alexander.ogg' color = "#F5E9D3" boozepwr = 50 quality = DRINK_GOOD - taste_description = "bitter, creamy cacao" + taste_description = "горький, сливочный какао" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED var/obj/item/shield/mighty_shield @@ -1731,7 +1856,7 @@ for(var/obj/item/shield/the_shield in the_human.contents) mighty_shield = the_shield mighty_shield.block_chance += 10 - to_chat(the_human, span_notice("[the_shield] appears polished, although you don't recall polishing it.")) + to_chat(the_human, span_notice("[the_shield] выглядит отполированным, хотя, я, кажется, его не полировал.")) /datum/reagent/consumable/ethanol/alexander/on_mob_life(mob/living/drinker, seconds_per_tick, times_fired) if(mighty_shield && !(mighty_shield in drinker.contents)) //If you had a shield and lose it, you lose the reagent as well. Otherwise this is just a normal drink. @@ -1742,34 +1867,37 @@ . = ..() if(mighty_shield) mighty_shield.block_chance -= 10 - to_chat(drinker,span_notice("You notice [mighty_shield] looks worn again. Weird.")) + to_chat(drinker ,span_notice("Заметчаю, что [mighty_shield] снова выглядит потрепанным. Странно.")) /datum/reagent/consumable/ethanol/amaretto_alexander - name = "Amaretto Alexander" - description = "A weaker version of the Alexander, what it lacks in strength it makes up for in flavor." + enname = "Amaretto Alexander" + name = "Александр Амаретто" + description = "Более слабая версия Александра, но то, чего ей не хватает в силе, она восполняет во вкусе." color = "#DBD5AE" boozepwr = 35 quality = DRINK_VERYGOOD - taste_description = "sweet, creamy cacao" + taste_description = "сладкое, сливочное какао" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sidecar - name = "Sidecar" - description = "The one ride you'll gladly give up the wheel for." + enname = "Sidecar" + name = "Сайдкар" + description = "Единственная поездка, ради которой вы с радостью отдадите руль." color = "#FFC55B" boozepwr = 45 quality = DRINK_GOOD - taste_description = "delicious freedom" + taste_description = "свобода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/between_the_sheets - name = "Between the Sheets" - description = "A provocatively named classic. Funny enough, doctors recommend drinking it before taking a nap while underneath bedsheets." + enname = "Between the Sheets" + name = "Между Простынями" + description = "Классика с провокационным названием. Забавно, но врачи рекомендуют пить его перед сном." color = "#F4C35A" boozepwr = 55 quality = DRINK_GOOD - taste_description = "seduction" + taste_description = "обольщение" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM @@ -1799,27 +1927,30 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/kamikaze - name = "Kamikaze" - description = "Divinely windy." + enname = "Kamikaze" + name = "Камикадзе" + description = "Божественный ветер." color = "#EEF191" boozepwr = 60 quality = DRINK_GOOD - taste_description = "divine windiness" + taste_description = "божественная ветренность" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/mojito - name = "Mojito" - description = "A drink that looks as refreshing as it tastes." + enname = "Mojito" + name = "Мохито" + description = "Один только вид этого напитка освежает вас." color = "#DFFAD9" boozepwr = 30 quality = DRINK_GOOD - taste_description = "refreshing mint" + taste_description = "освежающая мята" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/moscow_mule - name = "Moscow Mule" - description = "A chilly drink that reminds you of the Derelict." + enname = "Moscow Mule" + name = "Московский Мул" + description = "Прохладительный напиток, напоминающий вам о Дереликте." color = "#EEF1AA" boozepwr = 30 quality = DRINK_GOOD @@ -1827,11 +1958,12 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/fernet - name = "Fernet" - description = "An incredibly bitter herbal liqueur used as a digestif." + enname = "Fernet" + name = "Фернет" + description = "Невероятно горький травяной ликер, используемый в качестве дижестива." color = "#1B2E24" // rgb: 27, 46, 36 boozepwr = 80 - taste_description = "utter bitterness" + taste_description = "полная горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1843,12 +1975,13 @@ drinker.overeatduration = 0 /datum/reagent/consumable/ethanol/fernet_cola - name = "Fernet Cola" - description = "A very popular and bittersweet digestif, ideal after a heavy meal. Best served on a sawed-off cola bottle as per tradition." + enname = "Fernet Cola" + name = "Фернет с Колой" + description = "Очень популярный и горько-сладкий дижестив. Идеально подавать после плотного обеда." color = "#390600" // rgb: 57, 6, boozepwr = 25 quality = DRINK_NICE - taste_description = "sweet relief" + taste_description = "сладкое облегчение" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/fernet_cola/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1860,12 +1993,13 @@ drinker.overeatduration = 0 /datum/reagent/consumable/ethanol/fanciulli - name = "Fanciulli" - description = "What if the Manhattan cocktail ACTUALLY used a bitter herb liquour? Helps you sober up." //also causes a bit of stamina damage to symbolize the afterdrink lazyness + enname = "Fanciulli" + name = "Фанциулли" + description = "Что если бы в коктейле \"Манхэттен\" ДЕЙСТВИТЕЛЬНО использовался ликер из горьких трав? Помогает протрезветь." //also causes a bit of stamina damage to symbolize the afterdrink lazyness color = "#CA933F" // rgb: 202, 147, 63 boozepwr = -10 quality = DRINK_NICE - taste_description = "a sweet sobering mix" + taste_description = "сладкая отрезвляющая смесь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_HIGH @@ -1880,12 +2014,13 @@ drinker.adjustStaminaLoss(20, required_biotype = affected_biotype) /datum/reagent/consumable/ethanol/branca_menta - name = "Branca Menta" - description = "A refreshing mixture of bitter Fernet with mint creme liquour." + enname = "Branca Menta" + name = "Бранка Мента" + description = "Освежающая смесь горького Фернета с мятным кремовым ликером." color = "#4B5746" // rgb: 75, 87, 70 boozepwr = 35 quality = DRINK_GOOD - taste_description = "a bitter freshness" + taste_description = "горькая свежесть" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM @@ -1899,13 +2034,14 @@ drinker.adjustStaminaLoss(35, required_biotype = affected_biotype) /datum/reagent/consumable/ethanol/blank_paper - name = "Blank Paper" - description = "A bubbling glass of blank paper. Just looking at it makes you feel fresh." + enname = "Blank Paper" + name = "Чистый Лист" + description = "Бокал пузырящейся белой жидкости. При одном взгляде на него вы почувствуете свежесть." nutriment_factor = 1 color = "#DCDCDC" // rgb: 220, 220, 220 boozepwr = 20 quality = DRINK_GOOD - taste_description = "bubbling possibility" + taste_description = "возможность пузырения" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/blank_paper/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -1916,12 +2052,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/fruit_wine - name = "Fruit Wine" + enname = "Fruit Wine" + name = "Фруктовое Вино" description = "A wine made from grown plants." color = "#FFFFFF" boozepwr = 35 quality = DRINK_GOOD - taste_description = "bad coding" + taste_description = "плохой код" var/list/names = list("null fruit" = 1) //Names of the fruits used. Associative list where name is key, value is the percentage of that fruit. var/list/tastes = list("bad coding" = 1) //List of tastes. See above. ph = 4 @@ -1981,26 +2118,26 @@ name += "[fruit_name] " named = TRUE if(named) - name += "Wine" + name += "вино" else - name = "Mixed [names_in_order[1]] Wine" + name = "вино, смешанное из [names_in_order[1]]" var/alcohol_description switch(boozepwr) if(120 to INFINITY) - alcohol_description = "suicidally strong" + alcohol_description = "убийственно крепкий" if(90 to 120) - alcohol_description = "rather strong" + alcohol_description = "очень крепкий" if(70 to 90) - alcohol_description = "strong" + alcohol_description = "крепкий" if(40 to 70) - alcohol_description = "rich" + alcohol_description = "дорогой" if(20 to 40) - alcohol_description = "mild" + alcohol_description = "заплесневелый" if(0 to 20) - alcohol_description = "sweet" + alcohol_description = "сладкий" else - alcohol_description = "watery" //How the hell did you get negative boozepwr? + alcohol_description = "водянистый" //How the hell did you get negative boozepwr? var/list/fruits = list() if(names_in_order.len <= 3) @@ -2008,35 +2145,37 @@ else for(var/i in 1 to 3) fruits += names_in_order[i] - fruits += "other plants" + fruits += "другие фрукты" var/fruit_list = english_list(fruits) - description = "A [alcohol_description] wine brewed from [fruit_list]." + description = "[alcohol_description] алкоголь из [fruit_list]." var/flavor = "" if(!primary_tastes.len) - primary_tastes = list("[alcohol_description] alcohol") + primary_tastes = list("[alcohol_description] алкоголь") flavor += english_list(primary_tastes) if(secondary_tastes.len) - flavor += ", with a hint of " + flavor += ",с ноткой " flavor += english_list(secondary_tastes) taste_description = flavor /datum/reagent/consumable/ethanol/champagne //How the hell did we not have champagne already!? - name = "Champagne" - description = "A sparkling wine known for its ability to strike fast and hard." + enname = "Champagne" + name = "Шампанское" + description = "Игристое вино, известное своей способностью наносить быстрые и сильные удары по вашей печени." color = "#ffffc1" boozepwr = 40 - taste_description = "auspicious occasions and bad decisions" + taste_description = "благоприятные случаи и плохие решения" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY /datum/reagent/consumable/ethanol/wizz_fizz - name = "Wizz Fizz" - description = "A magical potion, fizzy and wild! However the taste, you will find, is quite mild." + enname = "Wizz Fizz" + name = "Виз Физ" + description = "Волшебное зелье, шипучее и дикое! Однако вкус, как вы заметите, довольно мягкий." color = "#4235d0" //Just pretend that the triple-sec was blue curacao. boozepwr = 50 quality = DRINK_GOOD - taste_description = "friendship! It is magic, after all" + taste_description = "дружба! Ведь это магия" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/wizz_fizz/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2052,12 +2191,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/bug_spray - name = "Bug Spray" - description = "A harsh, acrid, bitter drink, for those who need something to brace themselves." + enname = "Bug Spray" + name = "Спрей от Насекомых" + description = "Резкий, едкий, горький напиток, для тех, кому нужно что-то для укрепления сил." color = "#33ff33" boozepwr = 50 quality = DRINK_GOOD - taste_description = "the pain of ten thousand slain mosquitos" + taste_description = "боль десяти тысяч убитых комаров" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED affected_biotype = MOB_BUG @@ -2075,29 +2215,32 @@ drinker.emote("scream") /datum/reagent/consumable/ethanol/applejack - name = "Applejack" - description = "The perfect beverage for when you feel the need to horse around." + enname = "Applejack" + name = "Эплджек" + description = "Идеальный напиток для тех случаев, когда вы хотите побузить." color = "#ff6633" boozepwr = 20 - taste_description = "an honest day's work at the orchard" + taste_description = "честный день работы в саду" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/jack_rose - name = "Jack Rose" - description = "A light cocktail perfect for sipping with a slice of pie." + enname = "Jack Rose" + name = "Джек Роуз" + description = "Легкий коктейль, который идеально подходит для потягивания с кусочком пирога." color = "#ff6633" boozepwr = 15 quality = DRINK_NICE - taste_description = "a sweet and sour slice of apple" + taste_description = "кисло-сладкий кусочек яблока" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/turbo - name = "Turbo" - description = "A turbulent cocktail associated with outlaw hoverbike racing. Not for the faint of heart." + enname = "Turbo" + name = "Турбо" + description = "Бурный коктейль, связянный с незаконными гонками на ховербайках. Не для слабонервных." color = "#e94c3a" boozepwr = 85 quality = DRINK_VERYGOOD - taste_description = "the outlaw spirit" + taste_description = "дух вне закона" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/turbo/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2108,12 +2251,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/old_timer - name = "Old Timer" - description = "An archaic potation enjoyed by old coots of all ages." + enname = "Old Timer" + name = "Старый таймер" + description = "Архаичный напиток, которым наслаждаются старики всех возрастов." color = "#996835" boozepwr = 35 quality = DRINK_NICE - taste_description = "simpler times" + taste_description = "более простые времена" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/old_timer/on_mob_life(mob/living/carbon/human/metabolizer, seconds_per_tick, times_fired) @@ -2129,16 +2273,17 @@ metabolizer.set_facial_hairstyle("Beard (Very Long)", update = TRUE) if(metabolizer.age > 969) //Best not let people get older than this or i might incur G-ds wrath - metabolizer.visible_message(span_notice("[metabolizer] becomes older than any man should be.. and crumbles into dust!")) + metabolizer.visible_message(span_notice("[metabolizer] становится старше чем кто либо.. и рассыпается прахом!")) metabolizer.dust(just_ash = FALSE, drop_items = TRUE, force = FALSE) /datum/reagent/consumable/ethanol/rubberneck - name = "Rubberneck" - description = "A quality rubberneck should not contain any gross natural ingredients." + enname = "Rubberneck" + name = "Зевака" + description = "Качественный коктейль \"Зевака\" не должен содержать натуральных ингредиентов." color = "#ffe65b" boozepwr = 60 quality = DRINK_GOOD - taste_description = "artifical fruityness" + taste_description = "искусственная фруктовость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/rubberneck/on_mob_metabolize(mob/living/drinker) @@ -2150,21 +2295,23 @@ return ..() /datum/reagent/consumable/ethanol/duplex - name = "Duplex" - description = "An inseparable combination of two fruity drinks." + enname = "Duplex" + name = "Дуплекс" + description = "Неразрывное сочетание двух фруктовых напитков." color = "#50e5cf" boozepwr = 25 quality = DRINK_NICE - taste_description = "green apples and blue raspberries" + taste_description = "зелёные яблоки и голубая малина" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/trappist - name = "Trappist Beer" - description = "A strong dark ale brewed by space-monks." + enname = "Trappist Beer" + name = "Траппистское пиво" + description = "Крепкий темный эль, предпочитаемый космическими монахами." color = "#390c00" boozepwr = 40 quality = DRINK_VERYGOOD - taste_description = "dried plums and malt" + taste_description = "сушеные сливы и солод" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/trappist/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2176,11 +2323,12 @@ drinker.adjust_stutter(-2 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/blazaam - name = "Blazaam" - description = "A strange drink that few people seem to remember existing. Doubles as a Berenstain remover." + enname = "Blazaam" + name = "Блазаам" + description = "Странный напиток, о существовании которого мало кто помнит." boozepwr = 70 quality = DRINK_FANTASTIC - taste_description = "alternate realities" + taste_description = "альтернативные реалии" var/stored_teleports = 0 /datum/reagent/consumable/ethanol/blazaam/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2196,19 +2344,21 @@ drinker.vomit(vomit_flags = VOMIT_CATEGORY_DEFAULT, vomit_type = /obj/effect/decal/cleanable/vomit/purple) /datum/reagent/consumable/ethanol/planet_cracker - name = "Planet Cracker" - description = "This jubilant drink celebrates humanity's triumph over the alien menace. May be offensive to non-human crewmembers." + enname = "Planet Cracker" + name = "Планетарный потрошитель" + description = "Этот ликующий напиток празднует победу человечества над инопланетной угрозой. Может быть оскорбительным для нечеловеческих членов экипажа." boozepwr = 50 quality = DRINK_FANTASTIC - taste_description = "triumph with a hint of bitterness" + taste_description = "торжество с оттенком горечи" /datum/reagent/consumable/ethanol/mauna_loa - name = "Mauna Loa" - description = "Extremely hot; not for the faint of heart!" + enname = "Mauna Loa" + name = "Мауна-Лоа" + description = "Чрезвычайно горячий. Не для слабонервных!" boozepwr = 40 color = "#fe8308" // 254, 131, 8 quality = DRINK_FANTASTIC - taste_description = "fiery, with an aftertaste of burnt flesh" + taste_description = "огонь. Послевкусие сгоревшей плоти" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/mauna_loa/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2220,25 +2370,30 @@ drinker.ignite_mob() /datum/reagent/consumable/ethanol/painkiller - name = "Painkiller" - description = "Dulls your pain. Your emotional pain, that is." + enname = "Painkiller" + name = "Обезбол" + description = "Притупляет вашу боль. Вашу эмоциональную боль, то есть." boozepwr = 20 color = "#EAD677" quality = DRINK_NICE - taste_description = "sugary tartness" + taste_description = "сладкая терпкость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/pina_colada - name = "Pina Colada" - description = "A fresh pineapple drink with coconut rum. Yum." + enname = "Pina Colada" + name = "Пина Колада" + description = "Напиток из свежего ананаса с кокосовым ромом. Очень вкусно." + special_sound = 'white/valtos/sound/drink/pina_colada.ogg' boozepwr = 40 color = "#FFF1B2" quality = DRINK_FANTASTIC - taste_description = "pineapple, coconut, and a hint of the ocean" + taste_description = "ананас, кокос и океан" /datum/reagent/consumable/ethanol/pina_olivada - name = "Piña Olivada" - description = "An oddly designed concoction of olive oil and pineapple juice." + enname = "Piña Olivada" + name = "Пинья Оливада" + description = "Странное сочетание ананаса и оливкового масла." + special_sound = 'white/valtos/sound/drink/pina_colada.ogg' boozepwr = 20 // the oil coats your gastrointestinal tract, meaning you can't absorb as much alcohol. horrifying color = "#493c00" quality = DRINK_NICE @@ -2259,11 +2414,12 @@ to_chat(drinker, span_notice(pick(messages))) /datum/reagent/consumable/ethanol/pruno // pruno mix is in drink_reagents - name = "Pruno" + enname = "Pruno" + name = "Пруно" color = "#E78108" - description = "Fermented prison wine made from fruit, sugar, and despair. Security loves to confiscate this, which is the only kind thing Security has ever done." + description = "Перебродившее тюремное вино, сделанное из фруктов, сахара и отчаяния. Служба безопасности любит его конфисковывать, и это единственное доброе дело, которое она когда-либо делала." boozepwr = 85 - taste_description = "your tastebuds being individually shanked" + taste_description = "будто мои вкусовые были рецепторы отшлифованы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/pruno/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2271,40 +2427,44 @@ drinker.adjust_disgust(5 * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/ginger_amaretto - name = "Ginger Amaretto" - description = "A delightfully simple cocktail that pleases the senses." + enname = "Ginger Amaretto" + name = "Джинджер Амаретто" + description = "Восхитительно простой коктейль, вкус которого вас порадует." boozepwr = 30 color = "#EFB42A" quality = DRINK_GOOD - taste_description = "sweetness followed by a soft sourness and warmth" + taste_description = "сладость, за которой следует мягкая кислинка и теплота" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/godfather - name = "Godfather" - description = "A rough cocktail with illegal connections." + enname = "Godfather" + name = "Крестный Отец" + description = "Коктейль, который вам не стоит пить, если вы не хотите, чтобы вас нашли." boozepwr = 50 color = "#E68F00" quality = DRINK_GOOD - taste_description = "a delightful softened punch" + taste_description = "восхитительный пунш" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM /datum/reagent/consumable/ethanol/godmother - name = "Godmother" - description = "A twist on a classic, liked more by mature women." + enname = "Godmother" + name = "Крестная Мать" + description = "Твист на классике, который больше нравится зрелым женщинам." boozepwr = 50 color = "#E68F00" quality = DRINK_GOOD - taste_description = "sweetness and a zesty twist" + taste_description = "сладость и пикантность" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/kortara - name = "Kortara" + enname = "Kortara" + name = "Кортара" description = "A sweet, milky nut-based drink enjoyed on Tizira. Frequently mixed with fruit juices and cocoa for extra refreshment." boozepwr = 25 color = "#EEC39A" quality = DRINK_GOOD - taste_description = "sweet nectar" + taste_description = "сладкий нектар" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/kortara/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2314,12 +2474,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/ethanol/sea_breeze - name = "Sea Breeze" + enname = "Sea Breeze" + name = "Морзкой бриз" description = "Light and refreshing with a mint and cocoa hit- like mint choc chip ice cream you can drink!" boozepwr = 15 color = "#CFFFE5" quality = DRINK_VERYGOOD - taste_description = "mint choc chip" + taste_description = "мятный шоколад" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sea_breeze/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2327,8 +2488,9 @@ drinker.apply_status_effect(/datum/status_effect/throat_soothed) /datum/reagent/consumable/ethanol/white_tiziran - name = "White Tiziran" - description = "A mix of vodka and kortara. The Lizard imbibes." + enname = "White Tiziran" + name = "Белый Тизиран" + description = "Смесь водка и картары. Ящеры любят этот напиток." boozepwr = 65 color = "#A68340" quality = DRINK_GOOD @@ -2336,12 +2498,13 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/drunken_espatier - name = "Drunken Espatier" + enname = "Drunken Espatier" + name = "Пьяный Эспатьер" description = "Look, if you had to get into a shootout in the cold vacuum of space, you'd want to be drunk too." boozepwr = 65 color = "#A68340" quality = DRINK_GOOD - taste_description = "sorrow" + taste_description = "солод" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/drunken_espatier/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2357,12 +2520,13 @@ drinker.remove_status_effect(/datum/status_effect/grouped/screwy_hud/fake_healthy, type) /datum/reagent/consumable/ethanol/protein_blend - name = "Protein Blend" + enname = "Protein Blend" + name = "Протеиновый коктейль" description = "A vile blend of protein, pure grain alcohol, korta flour, and blood. Useful for bulking up, if you can keep it down." boozepwr = 65 color = "#FF5B69" quality = DRINK_NICE - taste_description = "regret" + taste_description = "сожаления" nutriment_factor = 3 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -2375,21 +2539,23 @@ drinker.adjust_disgust(2 * REM * seconds_per_tick) /datum/reagent/consumable/ethanol/mushi_kombucha - name = "Mushi Kombucha" + enname = "Mushi Kombucha" + name = "Муши Комбуча" description = "A popular summer beverage on Tizira, made from sweetened mushroom tea." boozepwr = 10 color = "#C46400" quality = DRINK_VERYGOOD - taste_description = "sweet 'shrooms" + taste_description = "сладкие грибы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/triumphal_arch - name = "Triumphal Arch" + enname = "Triumphal Arch" + name = "Триумфальная Арка" description = "A drink celebrating the Lizard Empire and its military victories. It's popular at bars on Unification Day." boozepwr = 60 color = "#FFD700" quality = DRINK_FANTASTIC - taste_description = "victory" + taste_description = "победа" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/triumphal_arch/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) @@ -2398,12 +2564,13 @@ drinker.add_mood_event("triumph", /datum/mood_event/memories_of_home, name) /datum/reagent/consumable/ethanol/the_juice - name = "The Juice" + enname = "The Juice" + name = "Сок" description = "Woah man, this like, feels familiar to you dude." color = "#4c14be" boozepwr = 50 quality = DRINK_GOOD - taste_description = "like, the future, man" + taste_description = "как будущее" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED var/datum/brain_trauma/special/bluespace_prophet/prophet_trauma @@ -2419,12 +2586,13 @@ //a jacked up absinthe that causes hallucinations to the game master controller basically, used in smuggling objectives /datum/reagent/consumable/ethanol/ritual_wine - name = "Ritual Wine" + enname = "Ritual Wine" + name = "Ритуальное вино" description = "The dangerous, potent, alcoholic component of ritual wine." color = rgb(35, 231, 25) boozepwr = 90 //enjoy near death intoxication taste_mult = 6 - taste_description = "concentrated herbs" + taste_description = "концентрированные травы" /datum/reagent/consumable/ethanol/ritual_wine/on_mob_metabolize(mob/living/psychonaut) . = ..() @@ -2442,106 +2610,119 @@ //Moth Drinks /datum/reagent/consumable/ethanol/curacao - name = "Curaçao" - description = "Made with laraha oranges, for an aromatic finish." + enname = "Curaçao" + name = "Кюрасао" + description = "Изготовлен с добавлением апельсинов сорта лараха для придания аромата." + special_sound = 'white/nocringe/sound/drink/curacao.ogg' boozepwr = 30 color = "#1a5fa1" quality = DRINK_NICE - taste_description = "blue orange" + taste_description = "синие апельсины" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/navy_rum //IN THE NAVY - name = "Navy Rum" - description = "Rum as the finest sailors drink." + enname = "Navy Rum" + name = "Ром ВМФ" + description = "Ром - лучший напиток моряков." boozepwr = 90 //the finest sailors are often drunk color = "#d8e8f0" quality = DRINK_NICE - taste_description = "a life on the waves" + taste_description = "жизнь на волнах" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bitters //why do they call them bitters, anyway? they're more spicy than anything else - name = "Andromeda Bitters" - description = "A bartender's best friend, often used to lend a delicate spiciness to any drink. Produced in New Trinidad, now and forever." + enname = "Andromeda Bitters" + name = "Андромеда Биттерс" + description = "Лучший друг бармена, часто используется для придания деликатной остроты любому напитку. Производится в Новом Тринидаде, отныне и навсегда." boozepwr = 70 color = "#1c0000" quality = DRINK_NICE - taste_description = "spiced alcohol" + taste_description = "пряный алкоголь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/admiralty //navy rum, vermouth, fernet - name = "Admiralty" - description = "A refined, bitter drink made with navy rum, vermouth and fernet." + enname = "Admiralty" + name = "Адмиралтейство" + description = "Изысканный, горький напиток, приготовленный из флотского рома, вермута и фернета." boozepwr = 100 color = "#1F0001" quality = DRINK_VERYGOOD - taste_description = "haughty arrogance" + taste_description = "надменное высокомерие" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/long_haul //Rum, Curacao, Sugar, dash of bitters, lengthened with soda water - name = "Long Haul" - description = "A favourite amongst freighter pilots, unscrupulous smugglers, and nerf herders." + enname = "Long Haul" + name = "Длинный путь" + description = "Любимец пилотов грузовых кораблей и недобросовестных контрабандистов." boozepwr = 35 color = "#003153" quality = DRINK_VERYGOOD - taste_description = "companionship" + taste_description = "дружба" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/long_john_silver //navy rum, bitters, lemonade - name = "Long John Silver" - description = "A long drink of navy rum, bitters, and lemonade. Particularly popular aboard the Mothic Fleet as it's light on ration credits and heavy on flavour." + enname = "Long John Silver" + name = "Лонг Джон Сильвер" + description = "Лонг дринк из флотского рома, горького и лимонада. Особенно популярен на борту мольского флота, так как не требует больших затрат на рационы и обладает богатым вкусом." boozepwr = 50 color = "#c4b35c" quality = DRINK_VERYGOOD - taste_description = "rum and spices" + taste_description = "ром и специи" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/tropical_storm //dark rum, pineapple juice, triple citrus, curacao - name = "Tropical Storm" - description = "A taste of the Caribbean in one glass." + enname = "Tropical Storm" + name = "Тропический шторм" + description = "Вкус Карибского моря в одном бокале." boozepwr = 40 color = "#00bfa3" quality = DRINK_VERYGOOD - taste_description = "the tropics" + taste_description = "тропики" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/dark_and_stormy //rum and ginger beer- simple and classic - name = "Dark and Stormy" - description = "A classic drink arriving to thunderous applause." //thank you, thank you, I'll be here forever + enname = "Dark and Stormy" + name = "Дарк энд Сторми" + description = "Классический напиток, прибывающий под гром аплодисментов." //thank you, thank you, I'll be here forever boozepwr = 50 color = "#8c5046" quality = DRINK_GOOD - taste_description = "ginger and rum" + taste_description = "имбирь и ром" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/salt_and_swell //navy rum, tochtause syrup, egg whites, dash of saline-glucose solution - name = "Salt and Swell" - description = "A bracing sour with an interesting salty taste." + enname = "Salt and Swell" + name = "Солт энд Свелл" + description = "Бодрящая кислинка с интересным соленым вкусом." boozepwr = 60 color = "#b4abd0" quality = DRINK_FANTASTIC - taste_description = "salt and spice" + taste_description = "соль и специи" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/tiltaellen //yoghurt, salt, vinegar - name = "Tiltällen" - description = "A lightly fermented yoghurt drink with salt and a light dash of vinegar. Has a distinct sour cheesy flavour." + enname = "Tiltällen" + name = "Тильталлен" + description = "Слегка ферментированный йогуртовый напиток с добавлением соли и небольшого количества уксуса. Имеет выраженный кисловато-сырный вкус." boozepwr = 10 color = "#F4EFE2" quality = DRINK_NICE - taste_description = "sour cheesy yoghurt" + taste_description = "Кислый сырный йогурт" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/tich_toch - name = "Tich Toch" - description = "A mix of Tiltällen, Töchtaüse Syrup, and vodka. It's not exactly to everyones' tastes." + enname = "Tich Toch" + name = "Тич Точ" + description = "Смесь тильталлена, сиропа \"Тохтаузе\" и водки. Не всем по вкусу." boozepwr = 75 color = "#b4abd0" quality = DRINK_VERYGOOD - taste_description = "spicy sour cheesy yoghurt" + taste_description = "острый кислый сырный йогурт" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/helianthus - name = "Helianthus" + enname = "Helianthus" + name = "Гелиантус" description = "A dark yet radiant mixture of absinthe and hallucinogens. The choice of all true artists." boozepwr = 75 color = "#fba914" @@ -2557,7 +2738,8 @@ drinker.adjust_hallucinations_up_to(4 SECONDS * REM * seconds_per_tick, 48 SECONDS) /datum/reagent/consumable/ethanol/plumwine - name = "Plum wine" + enname = "Plum wine" + name = "Сливовое вино" description = "Plums turned into wine." color = "#8a0421" nutriment_factor = 1 @@ -2567,7 +2749,8 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/the_hat - name = "The Hat" + enname = "The Hat" + name = "Шляпа" description = "A fancy drink, usually served in a man's hat." color = "#b90a5c" boozepwr = 80 @@ -2577,7 +2760,8 @@ glass_price = DRINK_PRICE_STOCK /datum/reagent/consumable/ethanol/gin_garden - name = "Gin Garden" + enname = "Gin Garden" + name = "Джин Гарден" description = "Excellent cooling alcoholic drink with not so ordinary taste." boozepwr = 20 color = "#6cd87a" @@ -2590,7 +2774,8 @@ doll.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, doll.get_body_temp_normal()) /datum/reagent/consumable/ethanol/wine_voltaic - name = "Voltaic Yellow Wine" + enname = "Voltaic Yellow Wine" + name = "Вольтайческое жёлтое вино" description = "Electrically charged wine. Recharges ethereals, but also nontoxic." boozepwr = 30 color = "#FFAA00" @@ -2608,7 +2793,8 @@ stomach.adjust_charge(reac_volume * 3) /datum/reagent/consumable/ethanol/telepole - name = "Telepole" + enname = "Telepole" + name = "Телепол" description = "A grounding rod in the form of a drink. Recharges ethereals, and gives temporary shock resistance." boozepwr = 50 color = "#b300ff" @@ -2635,7 +2821,8 @@ stomach.adjust_charge(reac_volume * 2) /datum/reagent/consumable/ethanol/pod_tesla - name = "Pod Tesla" + enname = "Pod Tesla" + name = "Под Тесла" description = "Ride the lightning! Recharges ethereals, suppresses phobias, and gives strong temporary shock resistance." boozepwr = 80 color = "#00fbff" @@ -2663,7 +2850,8 @@ // Welcome to the Blue Room Bar and Grill, home to Mars' finest cocktails /datum/reagent/consumable/ethanol/rice_beer - name = "Rice Beer" + enname = "Rice Beer" + name = "Рисовое пиво" description = "A light, rice-based lagered beer popular on Mars. Considered a hate crime against Bavarians under the Reinheitsgebot Act of 1516." boozepwr = 5 color = "#664300" @@ -2672,7 +2860,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/shochu - name = "Shochu" + enname = "Shochu" + name = "Сою" description = "Also known as soju or baijiu, this drink is made from fermented rice, much like sake, but at a generally higher proof making it more similar to a true spirit." boozepwr = 45 color = "#DDDDDD" @@ -2681,7 +2870,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/yuyake - name = "Yūyake" + enname = "Yūyake" + name = "Юяке" description = "A sweet melon liqueur from Japan. Considered a relic of the 1980s by most, it has some niche use in cocktail making, in part due to its bright red colour." boozepwr = 40 color = "#F54040" @@ -2690,7 +2880,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/coconut_rum - name = "Coconut Rum" + enname = "Coconut Rum" + name = "Кокосовый ром" description = "The distilled essence of the beach. Tastes like bleach-blonde hair and suncream." boozepwr = 21 color = "#F54040" @@ -2700,7 +2891,8 @@ // Mixed Martian Drinks /datum/reagent/consumable/ethanol/yuyakita - name = "Yūyakita" + enname = "Yūyakita" + name = "Юякита" description = "A hell unleashed upon the world by an unnamed patron." boozepwr = 40 color = "#F54040" @@ -2709,7 +2901,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/saibasan - name = "Saibāsan" + enname = "Saibāsan" + name = "Сайбасан" description = "A drink glorifying Cybersun's enduring business." boozepwr = 20 color = "#F54040" @@ -2718,7 +2911,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/banzai_ti - name = "Banzai-Tī" + enname = "Banzai-Tī" + name = "Банзай-Ти" description = "A variation on the Long Island Iced Tea, made with yuyake for an alternative flavour that's hard to place." boozepwr = 40 color = "#F54040" @@ -2727,7 +2921,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sanraizusoda - name = "Sanraizusōda" + enname = "Sanraizusōda" + name = "Санрайзусода" description = "It's a melon cream soda, except with alcohol- what's not to love? Well... possibly the hangovers." boozepwr = 6 color = "#F54040" @@ -2736,7 +2931,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/kumicho - name = "Kumichō" + enname = "Kumichō" + name = "Кумичо" description = "A new take on a classic cocktail, the Kumicho takes the Godfather formula and adds shochu for an Asian twist." boozepwr = 62 color = "#F54040" @@ -2745,7 +2941,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/red_planet - name = "Red Planet" + enname = "Red Planet" + name = "Красная планета" description = "Made in celebration of the Martian Concession, the Red Planet is based on the classic El Presidente, and is as patriotic as it is bright crimson." boozepwr = 45 color = "#F54040" @@ -2754,7 +2951,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/amaterasu - name = "Amaterasu" + enname = "Amaterasu" + name = "Аматерасу" description = "Named for Amaterasu, the Shinto Goddess of the Sun, this cocktail embodies radiance- or something like that, anyway." boozepwr = 54 //1 part bitters is a lot color = "#F54040" @@ -2763,7 +2961,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/nekomimosa - name = "Nekomimosa" + enname = "Nekomimosa" + name = "Некомимоза" description = "An overly sweet cocktail, made with melon liqueur, melon juice, and champagne (which contains no melon, unfortunately)." boozepwr = 17 color = "#FF0C8D" @@ -2772,7 +2971,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/sentai_quencha //melon soda, triple citrus, shochu, blue curacao - name = "Sentai Quencha" + enname = "Sentai Quencha" + name = "Сентай Куенча" description = "Based on the galaxy-famous \"Kyūkyoku no Ninja Pawā Sentai\", the Sentai Quencha is a favourite at anime conventions and weeb bars." boozepwr = 28 color = "#F54040" @@ -2781,7 +2981,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/bosozoku - name = "Bōsōzoku" + enname = "Bōsōzoku" + name = "Боусозоку" description = "A simple summer drink from Mars, made from a 1:1 mix of rice beer and lemonade." boozepwr = 6 color = "#F54040" @@ -2790,7 +2991,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/ersatzche - name = "Ersatzche" + enname = "Ersatzche" + name = "Эрзацче" description = "Sweet, bitter, spicy- that's a great combination." boozepwr = 6 color = "#F54040" @@ -2799,7 +3001,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/red_city_am - name = "Red City AM" + enname = "Red City AM" + name = "Ред Сити АМ" description = "A breakfast drink from New Osaka, for when you really need to get drunk at 9:30 in the morning in more socially acceptable manner than drinking bagwine on the bullet train. Not that you should drink this on the bullet train either." boozepwr = 5 //this thing is fucking disgusting and both less tasty and less alcoholic than a bloody mary. it is against god and nature color = "#F54040" @@ -2808,7 +3011,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/kings_ransom - name = "King's Ransom" + enname = "King's Ransom" + name = "Королевский Рэнсом" description = "A stiff, bitter drink with an odd name and odder recipe." boozepwr = 26 color = "#F54040" @@ -2817,8 +3021,9 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/four_bit - name = "Four Bit" - description = "A drink to power your typing hands." + enname = "Four Bit" + name = "4 бита" + description = "Половина байта." boozepwr = 26 color = "#F54040" quality = DRINK_NICE @@ -2826,7 +3031,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/white_hawaiian //coconut milk, coconut rum, coffee liqueur - name = "White Hawaiian" + enname = "White Hawaiian" + name = "Белый гаваец" description = "A take on the classic White Russian, subbing out the classics for some tropical flavours." boozepwr = 16 color = "#F54040" @@ -2835,7 +3041,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/maui_sunrise //coconut rum, pineapple juice, yuyake, triple citrus, lemon-lime soda - name = "Maui Sunrise" + enname = "Maui Sunrise" + name = "Мауи Санрайз" description = "Behind this drink's red facade lurks a sharp, complex flavour." boozepwr = 15 color = "#F54040" @@ -2844,7 +3051,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/imperial_mai_tai //navy rum, rum, lime, triple sec, korta nectar - name = "Imperial Mai Tai" + enname = "Imperial Mai Tai" + name = "Имперский Май Тай" description = "For when orgeat is in short supply, do as the spacers do- make do and mend." boozepwr = 52 color = "#F54040" @@ -2853,7 +3061,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/konococo_rumtini //todo: add espresso | coffee, coffee liqueur, coconut rum, sugar - name = "Konococo Rumtini" + enname = "Konococo Rumtini" + name = "Конококо Румтини" description = "Coconut rum, coffee liqueur, and espresso- an odd combination, to be sure, but a welcomed one." boozepwr = 20 color = "#F54040" @@ -2862,7 +3071,8 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/consumable/ethanol/blue_hawaiian //pineapple juice, lemon juice, coconut rum, blue curacao - name = "Blue Hawaiian" + enname = "Blue Hawaiian" + name = "Синий гаваец" description = "Sweet, sharp and coconutty." boozepwr = 30 color = "#F54040" diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index 0f582cba3c7f5b..381dea7a135040 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -1,11 +1,13 @@ /datum/reagent/consumable/orangejuice - name = "Orange Juice" - description = "Both delicious AND rich in Vitamin C, what more do you need?" + enname = "Orange Juice" + name = "Апельсиновый сок" + description = "Обладает отличным вкусом и богат витамином C, что еще нужно для счастья?" color = "#E78108" // rgb: 231, 129, 8 - taste_description = "oranges" + taste_description = "апельсины" ph = 3.3 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/orangejuice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -14,12 +16,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/tomatojuice - name = "Tomato Juice" - description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" + enname = "Tomato Juice" + name = "Томатный сок" + description = "Из томатов делают сок. Какая трата больших, сочных томатов, а?" color = "#731008" // rgb: 115, 16, 8 - taste_description = "tomatoes" + taste_description = "томаты" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/tomatojuice + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -28,13 +32,15 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/limejuice - name = "Lime Juice" + enname = "Lime Juice" + name = "Сок лайма" description = "The sweet-sour juice of limes." color = "#365E30" // rgb: 54, 94, 48 - taste_description = "unbearable sourness" + taste_description = "невыносимая кислинка" ph = 2.2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/limejuice + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -43,11 +49,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/carrotjuice - name = "Carrot Juice" - description = "It is just like a carrot but without crunching." + enname = "Carrot Juice" + name = "Морковный сок" + description = "Это как морковь, но без привычного хруста." color = "#973800" // rgb: 151, 56, 0 - taste_description = "carrots" + taste_description = "морковки" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -66,25 +74,31 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/berryjuice - name = "Berry Juice" - description = "A delicious blend of several different kinds of berries." + enname = "Berry Juice" + name = "Ягодный сок" + description = "Восхитительный микс нескольких сортов ягод." color = "#863333" // rgb: 134, 51, 51 - taste_description = "berries" + taste_description = "ягоды" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/applejuice - name = "Apple Juice" - description = "The sweet juice of an apple, fit for all ages." + enname = "Apple Juice" + name = "Яблочный сок" + description = "Сладкий яблочный сок, подходящий для всех возрастов." color = "#ECFF56" // rgb: 236, 255, 86 - taste_description = "apples" + taste_description = "яблоки" ph = 3.2 // ~ 2.7 -> 3.7 + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/poisonberryjuice - name = "Poison Berry Juice" - description = "A tasty juice blended from various kinds of very deadly and toxic berries." + enname = "Poison Berry Juice" + name = "Ядовитый ягодный сок" + description = "Вкусный сок, приготовленный из нескольких видов смертоносных и ядовитых ягод." color = "#863353" // rgb: 134, 51, 83 - taste_description = "berries" + taste_description = "ягоды" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_SALTY /datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -92,26 +106,32 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/watermelonjuice - name = "Watermelon Juice" - description = "Delicious juice made from watermelon." + enname = "Watermelon Juice" + name = "Арбузный сок" + description = "Восхитительный сок из арбузов." color = "#863333" // rgb: 134, 51, 51 - taste_description = "juicy watermelon" + taste_description = "сочный арбуз" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/lemonjuice - name = "Lemon Juice" - description = "This juice is VERY sour." + enname = "Lemon Juice" + name = "Лимонный сок" + description = "Этот сок ОЧЕНЬ кислый." color = "#863333" // rgb: 175, 175, 0 - taste_description = "sourness" + taste_description = "кислота" ph = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/banana - name = "Banana Juice" - description = "The raw essence of a banana. HONK" + enname = "Banana Juice" + name = "Банановый сок" + description = "Чистейший экстракт банана. ХОНК!" color = "#863333" // rgb: 175, 175, 0 - taste_description = "banana" + taste_description = "банан" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/banana/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -121,10 +141,12 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/nothing - name = "Nothing" - description = "Absolutely nothing." - taste_description = "nothing" + enname = "Nothing" + name = "Ничего" + description = "Абсолютное ничто." + taste_description = "ничего" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/glass_style/shot_glass/nothing required_drink_type = /datum/reagent/consumable/nothing @@ -138,12 +160,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/laughter - name = "Laughter" - description = "Some say that this is the best medicine, but recent studies have proven that to be untrue." + enname = "Laughter" + name = "Хохотач" + description = "Некоторые говорят, что это лучшее лекарство, но последние исследования доказали, что это неправда." metabolization_rate = INFINITY color = "#FF4DD2" - taste_description = "laughter" + taste_description = "ржака" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/laughter/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -151,12 +175,14 @@ affected_mob.add_mood_event("chemical_laughter", /datum/mood_event/chemical_laughter) /datum/reagent/consumable/superlaughter - name = "Super Laughter" - description = "Funny until you're the one laughing." + enname = "Super Laughter" + name = "Полный хохотач" + description = "Забавно до тех пор, пока ты не начнешь понимать, что ты не можешь остановиться." metabolization_rate = 1.5 * REAGENTS_METABOLISM color = "#FF4DD2" - taste_description = "laughter" + taste_description = "ржака" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -166,20 +192,24 @@ affected_mob.add_mood_event("chemical_laughter", /datum/mood_event/chemical_superlaughter) /datum/reagent/consumable/potato_juice - name = "Potato Juice" - description = "Juice of the potato. Bleh." + enname = "Potato Juice" + name = "Картофельный сок" + description = "Сок из картофеля. Фу." nutriment_factor = 2 color = "#302000" // rgb: 48, 32, 0 - taste_description = "irish sadness" + taste_description = "ирландская грусть" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_SALTY /datum/reagent/consumable/pickle - name = "Pickle Juice" - description = "More accurately, this is the brine the pickle was floating in" + enname = "Pickle Juice" + name = "Рассол" + description = "Если быть точнее, то это то, в чем плавал огурец." nutriment_factor = 2 color = "#302000" // rgb: 48, 32, 0 - taste_description = "vinegar brine" + taste_description = "божественное чудо" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_SALTY /datum/reagent/consumable/pickle/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -189,27 +219,33 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/grapejuice - name = "Grape Juice" - description = "The juice of a bunch of grapes. Guaranteed non-alcoholic." + enname = "Grape Juice" + name = "Виноградный сок" + description = "Сок из виноградной грозди. Гарантированно безалкогольный." color = "#290029" // dark purple - taste_description = "grape soda" + taste_description = "виноградная сода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/plumjuice - name = "Plum Juice" + enname = "Plum Juice" + name = "Сливовый сок" description = "Refreshing and slightly acidic beverage." color = "#b6062c" - taste_description = "plums" + taste_description = "сливы" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/milk - name = "Milk" - description = "An opaque white liquid produced by the mammary glands of mammals." + enname = "Milk" + name = "Молоко" + description = "Непрозрачная белая жидкость, вырабатываемая молочными железами млекопитающих." color = "#DFDFDF" // rgb: 223, 223, 223 - taste_description = "milk" + taste_description = "молоко" ph = 6.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/condiment/milk + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM // Milk is good for humans, but bad for plants. // The sugars cannot be used by plants, and the milk fat harms growth. Except shrooms. @@ -229,12 +265,14 @@ return ..() || . /datum/reagent/consumable/soymilk - name = "Soy Milk" - description = "An opaque white liquid made from soybeans." + enname = "Soy Milk" + name = "Соевое молоко" + description = "Непрозрачная белая жидкость из соевых бобов." color = "#DFDFC7" // rgb: 223, 223, 199 - taste_description = "soy milk" + taste_description = "соевое молоко" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/condiment/soymilk + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/soymilk/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -243,12 +281,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/cream - name = "Cream" - description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" + enname = "Cream" + name = "Сливки" + description = "Жирные сливки, изготовленные из натурального молока. Почему бы тебе не смешать это со скотчем, а?" color = "#DFD7AF" // rgb: 223, 215, 175 - taste_description = "creamy milk" + taste_description = "сливочное молоко" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/cream + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/cream/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) @@ -257,15 +297,16 @@ ..() /datum/reagent/consumable/coffee - name = "Coffee" - description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." + enname = "Coffee" + name = "Кофе" + description = "Кофе - это напиток, приготовленный из обжаренных кофейных зерен." color = "#482000" // rgb: 72, 32, 0 nutriment_factor = 0 overdose_threshold = 80 - taste_description = "bitterness" + taste_description = "горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK - + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/coffee/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -282,14 +323,16 @@ return ..() || . /datum/reagent/consumable/tea + enname = "Tea" name = "Чай" - description = "Tasty black tea, it has antioxidants, it's good for you!" + description = "Вкусный черный чай, в нем есть антиоксиданты, он полезен для здоровья!" color = "#101000" // rgb: 16, 16, 0 nutriment_factor = 0 - taste_description = "tart black tea" + taste_description = "пирог и черный чай" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK default_container = /obj/item/reagent_containers/cup/glass/mug/tea + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -333,22 +376,26 @@ return TRUE /datum/reagent/consumable/lemonade - name = "Lemonade" - description = "Sweet, tangy lemonade. Good for the soul." + enname = "Lemonade" + name = "Лимонад" + description = "Сладкий, терпкий лимонад." color = "#FFE978" quality = DRINK_NICE - taste_description = "sunshine and summertime" + taste_description = "солнце и лето" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/tea/arnold_palmer - name = "Arnold Palmer" - description = "Encourages the patient to go golfing." + enname = "Arnold Palmer" + name = "Арнольд Палмер" + description = "Поощряет пациента к игре в гольф." color = "#FFB766" quality = DRINK_NICE nutriment_factor = 10 - taste_description = "bitter tea" + taste_description = "горький чай" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -356,12 +403,14 @@ to_chat(affected_mob, span_notice("[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]")) /datum/reagent/consumable/icecoffee - name = "Iced Coffee" - description = "Coffee and ice, refreshing and cool." + enname = "Iced Coffee" + name = "Кофе со льдом" + description = "Кофе со льдом, бодрит и охлаждает." color = "#102838" // rgb: 16, 40, 56 nutriment_factor = 0 - taste_description = "bitter coldness" + taste_description = "горечь и холод" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -372,12 +421,14 @@ affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/hot_ice_coffee - name = "Hot Ice Coffee" - description = "Coffee with pulsing ice shards" + enname = "Hot Ice Coffee" + name = "Кофе с горячим льдом" + description = "Кофе с горячими осколками льда." color = "#102838" // rgb: 16, 40, 56 nutriment_factor = 0 - taste_description = "bitter coldness and a hint of smoke" + taste_description = "горечь и намёк на дым" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -390,12 +441,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/icetea - name = "Iced Tea" - description = "No relation to a certain rap artist/actor." + enname = "Iced Tea" + name = "Чай со льдом" + description = "Не имеет отношения к определенному рэп исполнителю." color = "#104038" // rgb: 16, 64, 56 nutriment_factor = 0 - taste_description = "sweet tea" + taste_description = "сладкий чай" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -408,11 +461,13 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/space_cola - name = "Cola" - description = "A refreshing beverage." + enname = "Cola" + name = "Космо-Кола" + description = "Освежающий напиток." color = "#100800" // rgb: 16, 8, 0 - taste_description = "cola" + taste_description = "кола" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -420,12 +475,14 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/roy_rogers - name = "Roy Rogers" + enname = "Roy Rogers" + name = "Рой Роджерс" description = "A sweet fizzy drink." color = "#53090B" quality = DRINK_GOOD taste_description = "fruity overlysweet cola" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/roy_rogers/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.set_jitter_if_lower(12 SECONDS * REM * seconds_per_tick) @@ -434,12 +491,14 @@ return ..() /datum/reagent/consumable/nuka_cola - name = "Nuka Cola" - description = "Cola, cola never changes." + enname = "Nuka Cola" + name = "Нюка-Кола" + description = "Кола. Кола никогда не меняется." color = "#100800" // rgb: 16, 8, 0 quality = DRINK_VERYGOOD - taste_description = "the future" + taste_description = "будущее" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/affected_mob) . = ..() @@ -459,7 +518,8 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/rootbeer - name = "root beer" + enname = "root beer" + name = "рутбир" description = "A delightfully bubbly root beer, filled with so much sugar that it can actually speed up the user's trigger finger." color = "#181008" // rgb: 24, 16, 8 quality = DRINK_VERYGOOD @@ -469,6 +529,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /// If we activated the effect var/effect_enabled = FALSE + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/rootbeer/on_mob_end_metabolize(mob/living/affected_mob) . = ..() @@ -492,12 +553,14 @@ affected_mob.adjust_dizzy(3 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/grey_bull + enname = "Grey Bull" name = "Grey Bull" - description = "Grey Bull, it gives you gloves!" + description = "Grey Bull заземляет!" color = "#EEFF00" // rgb: 238, 255, 0 quality = DRINK_VERYGOOD taste_description = "carbonated oil" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/grey_bull/on_mob_metabolize(mob/living/carbon/affected_atom) . = ..() @@ -520,11 +583,13 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/spacemountainwind - name = "SM Wind" - description = "Blows right through you like a space wind." + enname = "SM Wind" + name = "Солнечный Ветер" + description = "Бодрящий напиток, который вдохновляет на новые открытия." color = "#102000" // rgb: 16, 32, 0 - taste_description = "sweet citrus soda" + taste_description = "сладкая цитрусовая сода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -534,11 +599,13 @@ affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/dr_gibb + enname = "Dr. Gibb" name = "Dr. Gibb" - description = "A delicious blend of 42 different flavours." + description = "Восхитительная смесь из 42 различных вкусов." color = "#102000" // rgb: 16, 32, 0 - taste_description = "cherry soda" // FALSE ADVERTISING + taste_description = "вишневая сода" // FALSE ADVERTISING chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -546,40 +613,46 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/space_up - name = "Space-Up" - description = "Tastes like a hull breach in your mouth." + enname = "Space-Up" + name = "На Взлёт!" + description = "Вкус напоминает разгерму, как это?" color = "#00FF00" // rgb: 0, 255, 0 - taste_description = "cherry soda" + taste_description = "вишневая сода" // FALSE ADVERTISING chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/lemon_lime - name = "Lemon Lime" - description = "A tangy substance made of 0.5% natural citrus!" + enname = "Lemon Lime" + name = "Лаймон-Флеш" + description = "Терпкий напиток, состоящик из 0.5% натурального лайма!" color = "#8CFF00" // rgb: 135, 255, 0 - taste_description = "tangy lime and lemon soda" + taste_description = "острый лайм и лимонная сода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/pwr_game - name = "Pwr Game" - description = "The only drink with the PWR that true gamers crave." + enname = "Pwr Game" + name = "PWR Game" + description = "Единственный напиток с PWR, которого жаждут настоящие геймеры." color = "#9385bf" // rgb: 58, 52, 75 - taste_description = "sweet and salty tang" + taste_description = "сладкий и соленый запах" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/pwr_game/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) . = ..() if(exposed_mob?.mind?.get_skill_level(/datum/skill/gaming) >= SKILL_LEVEL_LEGENDARY && (methods & INGEST) && !HAS_TRAIT(exposed_mob, TRAIT_GAMERGOD)) ADD_TRAIT(exposed_mob, TRAIT_GAMERGOD, "pwr_game") - to_chat(exposed_mob, "As you imbibe the Pwr Game, your gamer third eye opens... \ - You feel as though a great secret of the universe has been made known to you...") + to_chat(exposed_mob, "Выпив PWR Game, я распахнул геймерский третий глаз... \ + Чувствую, будто мне открылась великая загадка вселенной...") /datum/reagent/consumable/pwr_game/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -588,22 +661,26 @@ affected_mob.mind?.adjust_experience(/datum/skill/gaming, 5) /datum/reagent/consumable/shamblers - name = "Shambler's Juice" - description = "~Shake me up some of that Shambler's Juice!~" + enname = "Shambler's Juice" + name = "Сок Тьманника" //Darkest Dungeon + description = "~Взболтай мне немного сока Тьманника!~" color = "#f00060" // rgb: 94, 0, 38 - taste_description = "carbonated metallic soda" + taste_description = "газированная металлическая сода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/shamblers/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(-8 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/sodawater - name = "Soda Water" - description = "A can of club soda. Why not make a scotch and soda?" + enname = "Soda Water" + name = "Газированная вода" + description = "Банка содовой, почему бы не смешать ее со скотчем?" color = "#619494" // rgb: 97, 148, 148 - taste_description = "carbonated water" + taste_description = "минералка" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH // A variety of nutrients are dissolved in club soda, without sugar. // These nutrients include carbon, oxygen, hydrogen, phosphorous, potassium, sulfur and sodium, all of which are needed for healthy plant growth. @@ -618,11 +695,13 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/tonic - name = "Tonic Water" - description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." + enname = "Tonic Water" + name = "Тонизирующая вода" + description = "Вкус странный, но, по крайней мере, хинин держит космическую малярию на расстоянии." color = "#0064C8" // rgb: 0, 100, 200 - taste_description = "tart and fresh" + taste_description = "свежесть и терпкость" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -632,11 +711,13 @@ affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/wellcheers + enname = "Wellcheers" name = "Wellcheers" description = "A strange purple drink, smelling of saltwater. Somewhere in the distance, you hear seagulls." color = "#762399" // rgb: 118, 35, 153 taste_description = "grapes and the fresh open sea" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/wellcheers/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -653,12 +734,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/monkey_energy + enname = "Monkey Energy" name = "Monkey Energy" - description = "The only drink that will make you unleash the ape." + description = "Дайте волю примату внутри вас!" color = "#f39b03" // rgb: 243, 155, 3 overdose_threshold = 60 - taste_description = "barbecue and nostalgia" + taste_description = "барбекю и ностальгия" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_LOW /datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -683,11 +766,12 @@ affected_mob.say(pick_list_replacements(BOOMER_FILE, "boomer"), forced = /datum/reagent/consumable/monkey_energy) /datum/reagent/consumable/ice - name = "Ice" - description = "Frozen water, your dentist wouldn't like you chewing this." + enname = "Ice" + name = "Лед" + description = "Замороженная вода, вашему стоматологу не понравится, если вы будете ее жевать." reagent_state = SOLID color = "#619494" // rgb: 97, 148, 148 - taste_description = "ice" + taste_description = "лед" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/ice @@ -697,13 +781,15 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/soy_latte - name = "Soy Latte" - description = "A nice and tasty beverage while you are reading your hippie books." + enname = "Soy Latte" + name = "Соевое латте" + description = "Приятный и вкусный напиток, то что нужно, пока вы читаете свои хиппи-книги." color = "#cc6404" // rgb: 204,100,4 quality = DRINK_NICE - taste_description = "creamy coffee" + taste_description = "сливочное кофе" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -719,13 +805,15 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/cafe_latte - name = "Cafe Latte" - description = "A nice, strong and tasty beverage while you are reading." + enname = "Cafe Latte" + name = "Латте" + description = "Хороший, крепкий и освежающий напиток, идеален под хорошую книгу." color = "#cc6404" // rgb: 204,100,4 quality = DRINK_NICE - taste_description = "bitter cream" + taste_description = "взбитые сливки" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -741,12 +829,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/doctor_delight - name = "The Doctor's Delight" - description = "A gulp a day keeps the Medibot away! A mixture of juices that heals most damage types fairly quickly at the cost of hunger." + enname = "The Doctor's Delight" + name = "Восторг врача" + description = "Смесь соков, которая довольно быстро исцеляет большинство типов повреждений." color = "#FF8CFF" // rgb: 255, 140, 255 quality = DRINK_VERYGOOD - taste_description = "homely fruit" + taste_description = "фрукт, выращенные твоей мамой" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -764,152 +854,183 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/cinderella - name = "Cinderella" + enname = "Cinderella" + name = "Золушка" description = "Most definitely a fruity alcohol cocktail to have while partying with your friends." color = "#FF6A50" quality = DRINK_VERYGOOD taste_description = "sweet tangy fruit" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_HIGH /datum/reagent/consumable/cinderella/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_disgust(-5 * REM * seconds_per_tick) /datum/reagent/consumable/cherryshake - name = "Cherry Shake" - description = "A cherry flavored milkshake." + enname = "Cherry Shake" + name = "Вишневый молочный коктейль" + description = "Молочный коктейль со вкусом вишни." color = "#FFB6C1" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "creamy tart cherry" + taste_description = "сливочная вишня" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/bluecherryshake - name = "Blue Cherry Shake" - description = "An exotic milkshake." + enname = "Blue Cherry Shake" + name = "Молочный коктейль с синей вишней" + description = "Экзотический молочный коктейль с синей вишней." color = "#00F1FF" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "creamy blue cherry" + taste_description = "сливочно-голубая вишня" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/vanillashake - name = "Vanilla Shake" + enname = "Vanilla Shake" + name = "Ванильный молочный коктейль" description = "A vanilla flavored milkshake. The basics are still good." color = "#E9D2B2" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "sweet creamy vanilla" + taste_description = "сладкий ванильный крем" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/caramelshake - name = "Caramel Shake" + enname = "Caramel Shake" + name = "Карамельный молочный коктейль" description = "A caramel flavored milkshake. Your teeth hurt looking at it." color = "#E17C00" quality = DRINK_GOOD nutriment_factor = 10 - taste_description = "sweet rich creamy caramel" + taste_description = "сладкая карамель" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/choccyshake - name = "Chocolate Shake" + enname = "Chocolate Shake" + name = "Шоколадный молочный коктейль" description = "A frosty chocolate milkshake." color = "#541B00" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "sweet creamy chocolate" + taste_description = "сладкий шоколад" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/strawberryshake - name = "Strawberry Shake" + enname = "Strawberry Shake" + name = "Клубничный молочный коктейль" description = "A strawberry milkshake." color = "#ff7b7b" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "sweet strawberries and milk" + taste_description = "сладкая клубника" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/bananashake - name = "Banana Shake" + enname = "Banana Shake" + name = "Банановый молочный коктейль" description = "A banana milkshake. Stuff that clowns drink at their honkday parties." color = "#f2d554" quality = DRINK_VERYGOOD nutriment_factor = 8 - taste_description = "thick banana" + taste_description = "сладкий банан" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_MEDIUM + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/pumpkin_latte - name = "Pumpkin Latte" - description = "A mix of pumpkin juice and coffee." + enname = "Pumpkin Latte" + name = "Тыквенное латте" + description = "Смесь тыквенного сока и кофе." color = "#F4A460" quality = DRINK_VERYGOOD nutriment_factor = 3 - taste_description = "creamy pumpkin" + taste_description = "сливочная тыква" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/gibbfloats - name = "Gibb Floats" - description = "Ice cream on top of a Dr. Gibb glass." + enname = "Gibb Floats" + name = "Хороший Пловец" + description = "Dr. Gibb со сливочным мороженым." color = "#B22222" quality = DRINK_NICE nutriment_factor = 3 - taste_description = "creamy cherry" + taste_description = "сливочная вишня" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/pumpkinjuice - name = "Pumpkin Juice" - description = "Juiced from real pumpkin." + enname = "Pumpkin Juice" + name = "Тыквенный сок" + description = "Сок из тыквы." color = "#FFA500" - taste_description = "pumpkin" + taste_description = "тыква" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/blumpkinjuice - name = "Blumpkin Juice" - description = "Juiced from real blumpkin." + enname = "Blumpkin Juice" + name = "Синетыквенный сок" + description = "Сок из синей тыквы." color = "#00BFFF" - taste_description = "a mouthful of pool water" + taste_description = "глоток воды из бассейна" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/triple_citrus - name = "Triple Citrus" - description = "A solution." + enname = "Triple Citrus" + name = "Тройной Цитрус" + description = "Прекрасная смесь цитрусовых." color = "#EEFF00" quality = DRINK_NICE - taste_description = "extreme bitterness" + taste_description = "крайняя горечь" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/grape_soda - name = "Grape Soda" - description = "Beloved by children and teetotalers." + enname = "Grape Soda" + name = "Виноградная газировка" + description = "Её любят дети и бывшие алкоголики." color = "#E6CDFF" - taste_description = "grape soda" + taste_description = "виноградная сода" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/milk/chocolate_milk - name = "Chocolate Milk" - description = "Milk for cool kids." + enname = "Chocolate Milk" + name = "Шоколадное молоко" + description = "Молоко для крутых ребят." color = "#7D4E29" quality = DRINK_NICE - taste_description = "chocolate milk" + taste_description = "шоколадное молоко" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/hot_coco - name = "Hot Coco" - description = "Made with love! And coco beans." + enname = "Hot Coco" + name = "Горячий шоколад" + description = "Сделано с любовью!" nutriment_factor = 4 color = "#403010" // rgb: 64, 48, 16 - taste_description = "creamy chocolate" + taste_description = "сливочный шоколад" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) @@ -921,103 +1042,124 @@ return ..() || . /datum/reagent/consumable/italian_coco - name = "Italian Hot Chocolate" + enname = "Italian Hot Chocolate" + name = "Итальянский горячий шоколад" description = "Made with love! You can just imagine a happy Nonna from the smell." nutriment_factor = 8 color = "#57372A" quality = DRINK_VERYGOOD - taste_description = "thick creamy chocolate" + taste_description = "сливочный шоколад" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/italian_coco/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/menthol - name = "Menthol" - description = "Alleviates coughing symptoms one might have." + enname = "Menthol" + name = "Ментол" + description = "Облегчает симптомы кашля." color = "#80AF9C" - taste_description = "mint" + taste_description = "мята" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/menthol + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/menthol/on_mob_life(mob/living/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.apply_status_effect(/datum/status_effect/throat_soothed) /datum/reagent/consumable/grenadine - name = "Grenadine" - description = "Not cherry flavored!" + enname = "Grenadine" + name = "Гренадин" + description = "Не со вкусом вишни!" color = "#EA1D26" - taste_description = "sweet pomegranates" + taste_description = "сладкие гранаты" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/parsnipjuice - name = "Parsnip Juice" - description = "Why..." + enname = "Parsnip Juice" + name = "Сок пастернака" + description = "Зачем..." color = "#FFA500" - taste_description = "parsnip" + taste_description = "пастернак" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/pineapplejuice - name = "Pineapple Juice" - description = "Tart, tropical, and hotly debated." + enname = "Pineapple Juice" + name = "Ананасовый сок" + description = "Терпкий, тропический и горячо обсуждаемый." + special_sound = 'white/valtos/sound/drink/pineapple_apple_pen.ogg' color = "#F7D435" - taste_description = "pineapple" + taste_description = "ананас" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/pineapplejuice + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/peachjuice //Intended to be extremely rare due to being the limiting ingredients in the blazaam drink - name = "Peach Juice" - description = "Just peachy." + enname = "Peach Juice" + name = "Персиковый сок" + description = "Просто персиковый сок." color = "#E78108" - taste_description = "peaches" + taste_description = "персики" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cream_soda - name = "Cream Soda" - description = "A classic space-American vanilla flavored soft drink." + enname = "Cream Soda" + name = "Крем-сода" + description = "Класичесский для космо-Америки напиток с ванильными нотками." color = "#dcb137" quality = DRINK_VERYGOOD - taste_description = "fizzy vanilla" + taste_description = "шипучая ваниль" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) /datum/reagent/consumable/sol_dry - name = "Sol Dry" - description = "A soothing, mellow drink made from ginger." + enname = "Sol Dry" + name = "Меркурий" //wiki - Меркурий + description = "Успокаивающий, мягкий напиток, приготовленный из имбиря." color = "#f7d26a" quality = DRINK_NICE - taste_description = "sweet ginger spice" + taste_description = "сладкая имбирная специя" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/sol_dry/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_disgust(-5 * REM * seconds_per_tick) /datum/reagent/consumable/shirley_temple - name = "Shirley Temple" + enname = "Shirley Temple" + name = "Ширли-Темпл" description = "Here you go little girl, now you can drink like the adults." color = "#F43724" quality = DRINK_GOOD taste_description = "sweet cherry syrup and ginger spice" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/shirley_temple/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) affected_mob.adjust_disgust(-3 * REM * seconds_per_tick) return ..() /datum/reagent/consumable/red_queen - name = "Red Queen" - description = "DRINK ME." + enname = "Red Queen" + name = "Красная Королева" + description = "ВЫПЕЙ МЕНЯ." color = "#e6ddc3" quality = DRINK_GOOD - taste_description = "wonder" + taste_description = "чудо" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED var/current_size = RESIZE_DEFAULT_SIZE + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/red_queen/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -1037,25 +1179,31 @@ current_size = RESIZE_DEFAULT_SIZE /datum/reagent/consumable/bungojuice - name = "Bungo Juice" + enname = "Bungo Juice" + name = "Сок Бунго" color = "#F9E43D" - description = "Exotic! You feel like you are on vacation already." - taste_description = "succulent bungo" + description = "Экзотично! Вы уже чувствуете себя, как в отпуске." + taste_description = "сочный бунго" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/prunomix - name = "Pruno Mixture" + enname = "Pruno Mixture" + name = "Микс Пруно" color = "#E78108" - description = "Fruit, sugar, yeast, and water pulped together into a pungent slurry." - taste_description = "garbage" + description = "Фрукты, сахар, дрожжи и вода, измельченные в едкую суспензию." + taste_description = "мусор" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/aloejuice - name = "Aloe Juice" + enname = "Aloe Juice" + name = "Сок алоэ" color = "#A3C48B" - description = "A healthy and refreshing juice." - taste_description = "vegetable" + description = "Полезный и освежающий сок." + taste_description = "овощи" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/aloejuice/on_mob_life(mob/living/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -1064,12 +1212,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/agua_fresca - name = "Agua Fresca" + enname = "Agua Fresca" + name = "Агуа Фреска" description = "A refreshing watermelon agua fresca. Perfect on a day at the holodeck." color = "#D25B66" quality = DRINK_VERYGOOD taste_description = "cool refreshing watermelon" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/agua_fresca/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -1079,12 +1229,14 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/mushroom_tea - name = "Mushroom Tea" + enname = "Mushroom Tea" + name = "Грибной чай" description = "A savoury glass of tea made from polypore mushroom shavings, originally native to Tizira." color = "#674945" // rgb: 16, 16, 0 nutriment_factor = 0 taste_description = "mushrooms" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/mushroom_tea/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -1094,83 +1246,103 @@ //Moth Stuff /datum/reagent/consumable/toechtauese_juice - name = "Töchtaüse Juice" - description = "An unpleasant juice made from töchtaüse berries. Best made into a syrup, unless you enjoy pain." + enname = "Töchtaüse Juice" + name = "Сок тёхтаузе" + description = "Неприятный сок из ягод тёхтаузе. Лучше всего приготовить из него сироп, если вам не нравится боль." color = "#554862" nutriment_factor = 0 - taste_description = "fiery itchy pain" + taste_description = "жгучая зудящая боль" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/toechtauese_syrup - name = "Töchtaüse Syrup" - description = "A harsh spicy and bitter syrup, made from töchtaüse berries. Useful as an ingredient, both for food and cocktails." + enname = "Töchtaüse Syrup" + name = "Сироп тёхтаузе" + description = "Резко пряный и горький сироп, приготовленный из ягод тёхтаузе. Не рекомендуется употреблять в чистом виде." color = "#554862" nutriment_factor = 0 taste_description = "sugar, spice, and nothing nice" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/strawberry_banana - name = "strawberry banana smoothie" + enname = "strawberry banana smoothie" + name = "клубнично-банановый смузи" description = "A classic smoothie made from strawberries and bananas." color = "#FF9999" nutriment_factor = 0 - taste_description = "strawberry and banana" + taste_description = "клубника и банан" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/berry_blast - name = "berry blast smoothie" + enname = "berry blast smoothie" + name = "ягодный смузи" description = "A classic smoothie made from mixed berries." color = "#A76DC5" nutriment_factor = 0 - taste_description = "mixed berry" + taste_description = "смесь ягод" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/funky_monkey - name = "funky monkey smoothie" + enname = "funky monkey smoothie" + name = "шоколадно-банановый смузи" description = "A classic smoothie made from chocolate and bananas." color = "#663300" nutriment_factor = 0 - taste_description = "chocolate and banana" + taste_description = "шоколад и банан" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/green_giant - name = "green giant smoothie" + enname = "green giant smoothie" + name = "зелёный гигант" description = "A green vegetable smoothie, made without vegetables." color = "#003300" nutriment_factor = 0 taste_description = "green, just green" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/melon_baller - name = "melon baller smoothie" + enname = "melon baller smoothie" + name = "арубзный смузи" description = "A classic smoothie made from melons." color = "#D22F55" nutriment_factor = 0 - taste_description = "fresh melon" + taste_description = "свежий арбуз" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/vanilla_dream - name = "vanilla dream smoothie" + enname = "vanilla dream smoothie" + name = "ванильный смузи" description = "A classic smoothie made from vanilla and fresh cream." color = "#FFF3DD" nutriment_factor = 0 - taste_description = "creamy vanilla" + taste_description = "сливочная ваниль" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cucumberjuice - name = "Cucumber Juice" + enname = "Cucumber Juice" + name = "Огуречный сок" description = "Ordinary cucumber juice, nothing from the fantasy world." color = "#6cd87a" - taste_description = "light cucumber" + taste_description = "огурец" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cucumberlemonade - name = "Cucumber Lemonade" + enname = "Cucumber Lemonade" + name = "Огуречный лимонад" description = "Cucumber juice, sugar, and soda; what else do I need?" color = "#6cd87a" quality = DRINK_GOOD taste_description = "citrus soda with cucumber" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/cucumberlemonade/on_mob_life(mob/living/carbon/doll, seconds_per_tick, times_fired) . = ..() @@ -1180,11 +1352,13 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/mississippi_queen - name = "Mississippi Queen" + enname = "Mississippi Queen" + name = "Миссисипи Квин" description = "If you think you're so hot, how about a victory drink?" color = "#d4422f" // rgb: 212,66,47 taste_description = "sludge seeping down your throat" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/mississippi_queen/on_mob_life(mob/living/carbon/drinker, seconds_per_tick, times_fired) . = ..() @@ -1198,11 +1372,13 @@ drinker.adjust_hallucinations(60 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/t_letter + enname = "T" name = "T" description = "You expected to find this in a soup, but this is fine too." color = "#583d09" // rgb: 88, 61, 9 taste_description = "one of your 26 favorite letters" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/t_letter/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() @@ -1216,32 +1392,40 @@ return UPDATE_MOB_HEALTH /datum/reagent/consumable/hakka_mate - name = "Hakka-Mate" + enname = "Hakka-Mate" + name = "Хакка-Мате" description = "A Martian-made yerba mate soda, dragged straight out of the pits of a hacking convention." color = "#c4b000" taste_description = "bubbly yerba mate" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/coconut_milk - name = "Coconut Milk" + enname = "Coconut Milk" + name = "Кокосовое молоко" description = "A versatile milk substitute that's perfect for everything from cooking to making cocktails." color = "#DFDFDF" taste_description = "milky coconut" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/melon_soda - name = "Melon Soda" + enname = "Melon Soda" + name = "Арбузная газировка" description = "A neon green hit of nostalgia." color = "#6FEB48" taste_description = "fizzy melon" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/volt_energy - name = "24-Volt Energy" + enname = "24-Volt Energy" + name = "24-вольтовая энергия" description = "An artificially coloured and flavoured electric energy drink, in lanternfruit flavour. Made for ethereals, by ethereals." color = "#99E550" taste_description = "sour pear" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + hydration_factor = DRINK_HYDRATION_FACTOR_MEDIUM /datum/reagent/consumable/volt_energy/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) . = ..() diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm index deb67abeacb94f..83d6131924f276 100644 --- a/code/modules/reagents/reagent_containers/cups/_cup.dm +++ b/code/modules/reagents/reagent_containers/cups/_cup.dm @@ -71,6 +71,10 @@ return if(target_mob != user) + if(target_mob.hydration >= HYDRATION_LEVEL_OVERHYDRATED) + target_mob.visible_message(span_danger("[user] не может больше напоить [target_mob] содержимым [src.name]."), \ + span_userdanger("[user] больше не может напоить меня содержимым [src.name].")) + return target_mob.visible_message(span_danger("[user] пытается напоить [target_mob] из [src]."), \ span_userdanger("[user] пытается напоить меня из [src].")) if(!do_after(user, 3 SECONDS, target_mob)) @@ -81,7 +85,20 @@ span_userdanger("[user] поит меня чем-то из [src].")) log_combat(user, target_mob, "fed", reagents.get_reagent_log_string()) else - to_chat(user, span_notice("Делаю глоток из [src].")) + if(user.hydration >= HYDRATION_LEVEL_OVERHYDRATED) + to_chat(target_mob, span_warning("В меня больше не лезет содержимое [src.name]!")) + return + user.visible_message(span_notice("[user] делает глоток из [src.name].") , \ + span_notice("Делаю глоток из [src.name].")) + if(HAS_TRAIT(user, TRAIT_VORACIOUS)) + target_mob.changeNext_move(CLICK_CD_MELEE * 0.5) //chug! chug! chug! + + for(var/datum/reagent/R in reagents.reagent_list) + if(R.type in target_mob.known_reagent_sounds) + continue + LAZYADD(target_mob.known_reagent_sounds, R.type) + SEND_SOUND(target_mob, R.special_sound) + break SEND_SIGNAL(src, COMSIG_GLASS_DRANK, target_mob, user) var/fraction = min(gulp_size/reagents.total_volume, 1) diff --git a/code/modules/reagents/reagent_containers/cups/drinks.dm b/code/modules/reagents/reagent_containers/cups/drinks.dm index b444e1abc4dd16..75246e575fc330 100644 --- a/code/modules/reagents/reagent_containers/cups/drinks.dm +++ b/code/modules/reagents/reagent_containers/cups/drinks.dm @@ -211,9 +211,9 @@ icon = 'icons/obj/drinks/bottles.dmi' icon_state = "smallbottle" inhand_icon_state = null - list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard + list_reagents = list(/datum/reagent/water = 99.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard custom_materials = list(/datum/material/plastic=HALF_SHEET_MATERIAL_AMOUNT) - volume = 50 + volume = 100 amount_per_transfer_from_this = 10 fill_icon_thresholds = list(0, 10, 25, 50, 75, 80, 90) isGlass = FALSE @@ -262,12 +262,12 @@ to_chat(user, span_warning("You fumble with [src]'s cap! The cap falls onto the ground and simply vanishes. Where the hell did it go?")) cap_lost = TRUE else - to_chat(user, span_notice("You remove the cap from [src].")) + to_chat(user, span_notice("Открываю [skloname(src, VINITELNI, "female")].")) playsound(loc, 'sound/effects/can_open1.ogg', 50, TRUE) else cap_on = TRUE spillable = FALSE - to_chat(user, span_notice("You put the cap on [src].")) + to_chat(user, span_notice("Закрываю [skloname(src, VINITELNI, "female")].")) update_appearance() /obj/item/reagent_containers/cup/glass/waterbottle/is_refillable() @@ -332,8 +332,8 @@ desc = "Свежая бутылка воды коммерческого размера." icon_state = "largebottle" custom_materials = list(/datum/material/plastic=SHEET_MATERIAL_AMOUNT * 1.5) - list_reagents = list(/datum/reagent/water = 100) - volume = 100 + list_reagents = list(/datum/reagent/water = 150) + volume = 150 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100) cap_icon_state = "bottle_cap" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e1cd53ecb811f0..8d616efa92b399 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -308,6 +308,7 @@ "swab", "syringe", "xlarge_beaker", + "breathing_bag", ) /datum/techweb_node/basic_circuitry diff --git a/code/modules/spells/spell_types/pointed/swap.dm b/code/modules/spells/spell_types/pointed/swap.dm index 6b4a5e45e14379..50897eb6a08e8d 100644 --- a/code/modules/spells/spell_types/pointed/swap.dm +++ b/code/modules/spells/spell_types/pointed/swap.dm @@ -1,8 +1,8 @@ /datum/action/cooldown/spell/pointed/swap name = "Swap" desc = "This spell allows you to swap locations with any living being. \ - RMB: Mark a secondary swap target. This secondary swap target will be discarded once you swap, \ - or else you can click yourself with the RMB to discard your secondary target." + ПКМ: Mark a secondary swap target. This secondary swap target will be discarded once you swap, \ + or else you can click yourself with the ПКМ to discard your secondary target." button_icon_state = "swap" ranged_mousepointer = 'icons/effects/mouse_pointers/swap_target.dmi' active_overlay_icon_state = "bg_spell_border_active_blue" diff --git a/code/modules/spells/spell_types/self/smoke.dm b/code/modules/spells/spell_types/self/smoke.dm index d22f2d9264e7cb..bbd55a46bfe329 100644 --- a/code/modules/spells/spell_types/self/smoke.dm +++ b/code/modules/spells/spell_types/self/smoke.dm @@ -49,6 +49,9 @@ smoke_type = /datum/effect_system/fluid_spread/smoke smoke_amt = 4 +/datum/action/cooldown/spell/smoke/scarecrow/Grant(mob/grant_to) + RegisterSignals(owner, list(COMSIG_HOSTILE_PRE_ATTACKINGTARGET, COMSIG_MOB_ENTER_JAUNT, COMSIG_MOB_AFTER_EXIT_JAUNT), PROC_REF(update_status_on_signal), override = TRUE) + /datum/action/cooldown/spell/smoke/scarecrow/proc/turn_off_thermal() REMOVE_TRAIT(owner, TRAIT_THERMAL_VISION, HELMET_TRAIT) owner.update_sight() diff --git a/code/modules/surgery/advanced/bioware/bioware_surgery.dm b/code/modules/surgery/advanced/bioware/bioware_surgery.dm index 4db161e524937f..5c4f636cfd77e3 100644 --- a/code/modules/surgery/advanced/bioware/bioware_surgery.dm +++ b/code/modules/surgery/advanced/bioware/bioware_surgery.dm @@ -1,5 +1,5 @@ /datum/surgery/advanced/bioware - name = "Enhancement surgery" + name = "Улучшающая хирургия" var/bioware_target = BIOWARE_GENERIC /datum/surgery/advanced/bioware/can_start(mob/user, mob/living/carbon/human/target) diff --git a/code/modules/surgery/advanced/bioware/cortex_folding.dm b/code/modules/surgery/advanced/bioware/cortex_folding.dm index e3629b02b0af78..01f9e43574078e 100644 --- a/code/modules/surgery/advanced/bioware/cortex_folding.dm +++ b/code/modules/surgery/advanced/bioware/cortex_folding.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/cortex_folding - name = "Cortex Folding" - desc = "A surgical procedure which modifies the cerebral cortex into a complex fold, giving space to non-standard neural patterns." + name = "Модифицирование: Сгибание коры" + desc = "Хирургическая процедура, при которой кора сгибается в сложную извилину, что открывает возможность образования нестандартных нейронных паттернов." possible_locs = list(BODY_ZONE_HEAD) steps = list( /datum/surgery_step/incise, @@ -21,7 +21,7 @@ return ..() /datum/surgery_step/fold_cortex - name = "fold cortex (hand)" + name = "сгибание коры (рука)" accept_hand = TRUE time = 125 @@ -29,21 +29,20 @@ display_results( user, target, - span_notice("You start folding [target]'s outer cerebral cortex into a fractal pattern."), - span_notice("[user] starts folding [target]'s outer cerebral cortex into a fractal pattern."), - span_notice("[user] begins to perform surgery on [target]'s brain."), + span_notice("Начал сгибать внешнюю кору большого мозга [skloname(target.name, RODITELNI, target.gender)] в фрактальный паттерн.") , + span_notice("[user] начал[user.ru_a()] сгибать внешнюю кору большого мозга [skloname(target.name, RODITELNI, target.gender)] в фрактальный паттерн.") , + span_notice("[user] начинает операцию на мозге [skloname(target.name, RODITELNI, target.gender)]."), ) - display_pain(target, "Your head throbs with gruesome pain, it's nearly too much to handle!") /datum/surgery_step/fold_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You fold [target]'s outer cerebral cortex into a fractal pattern!"), - span_notice("[user] folds [target]'s outer cerebral cortex into a fractal pattern!"), - span_notice("[user] completes the surgery on [target]'s brain."), + span_notice("Согнул внешнюю кору большого мозга [skloname(target.name, RODITELNI, target.gender)] в фрактальный паттерн!") , + span_notice("[user] согнул[user.ru_a()] внешнюю кору большого мозга [skloname(target.name, RODITELNI, target.gender)] в фрактальный паттерн!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)]."), ) - display_pain(target, "Your brain feels stronger... more flexible!") + new /datum/bioware/cortex_fold(target) return ..() @@ -52,20 +51,20 @@ display_results( user, target, - span_warning("You screw up, damaging the brain!"), - span_warning("[user] screws up, damaging the brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), + span_warning("[gvorno(TRUE)], но я облажался, повредив мозг!") , + span_warning("[user] облажался, повредив мозг!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)]."), ) - display_pain(target, "Your brain throbs with intense pain; thinking hurts!") + target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) + user.visible_message(span_warning("[user] внезапно замечает что мозг [user.ru_who()] над которым работал [user.p_were()] исчез.") , span_warning("Внезапно обнаруживаю что мозг, над которым я работал, исчез.")) return FALSE /datum/bioware/cortex_fold - name = "Cortex Fold" - desc = "The cerebral cortex has been folded into a complex fractal pattern, and can support non-standard neural patterns." + name = "Согнутая кора" + desc = "Кора большого мозга была согнута в сложный фрактальный паттерн и может поддерживать нестандарнтные нейронные паттерны." mod_type = BIOWARE_CORTEX /datum/bioware/cortex_fold/on_gain() diff --git a/code/modules/surgery/advanced/bioware/cortex_imprint.dm b/code/modules/surgery/advanced/bioware/cortex_imprint.dm index 542795294b0b05..a92b50a6d8688d 100644 --- a/code/modules/surgery/advanced/bioware/cortex_imprint.dm +++ b/code/modules/surgery/advanced/bioware/cortex_imprint.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/cortex_imprint - name = "Cortex Imprint" - desc = "A surgical procedure which modifies the cerebral cortex into a redundant neural pattern, making the brain able to bypass impediments caused by minor brain traumas." + name = "Модифицирование: Импринтинг мозга" + desc = "Хирургическая процедура, которая модифицирует кору большого мозга в повторяющийся нейронный паттерн, позволяющая могзу справляться с трудностями, вызванными небольшими повреждениями мозга." possible_locs = list(BODY_ZONE_HEAD) steps = list( /datum/surgery_step/incise, @@ -21,7 +21,7 @@ return ..() /datum/surgery_step/imprint_cortex - name = "imprint cortex (hand)" + name = "распрямление коры (рука)" accept_hand = TRUE time = 125 @@ -29,21 +29,19 @@ display_results( user, target, - span_notice("You start carving [target]'s outer cerebral cortex into a self-imprinting pattern."), - span_notice("[user] starts carving [target]'s outer cerebral cortex into a self-imprinting pattern."), - span_notice("[user] begins to perform surgery on [target]'s brain."), + span_notice("Начинаю вырезать на коре большого мозга [skloname(target.name, RODITELNI, target.gender)] само-импринтирующий паттерн.") , + span_notice("[user] начинает вырезать на коре большого мозга [skloname(target.name, RODITELNI, target.gender)] само-импринтирующий паттерн.") , + span_notice("[user] начинает проводить операцию на мозге [skloname(target.name, RODITELNI, target.gender)]."), ) - display_pain(target, "Your head throbs with gruesome pain, it's nearly too much to handle!") /datum/surgery_step/imprint_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You reshape [target]'s outer cerebral cortex into a self-imprinting pattern!"), - span_notice("[user] reshapes [target]'s outer cerebral cortex into a self-imprinting pattern!"), - span_notice("[user] completes the surgery on [target]'s brain."), + span_notice("Изменил форму коры большого мозга [skloname(target.name, RODITELNI, target.gender)] на само-импринтирующий паттерн!") , + span_notice("[user] изменил форму коры большого мозга [skloname(target.name, RODITELNI, target.gender)] на само-импринтирующий паттерн!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)]."), ) - display_pain(target, "Your brain feels stronger... more resillient!") new /datum/bioware/cortex_imprint(target) return ..() @@ -52,20 +50,19 @@ display_results( user, target, - span_warning("You screw up, damaging the brain!"), - span_warning("[user] screws up, damaging the brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your brain throbs with intense pain; Thinking hurts!") + span_warning("[gvorno(TRUE)], но я облажался, повредив мозг!") , + span_warning("[user] облажался, повредив мозг!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)]"), + ) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) + user.visible_message(span_warning("[user] внезапно замечает что мозг над которым [user.ru_who()] работал[user.ru_a()] исчез.") , span_warning("Внезапно обнаруживаю что мозг, над которым работал[user.ru_a()], исчез.")) return FALSE /datum/bioware/cortex_imprint - name = "Cortex Imprint" - desc = "The cerebral cortex has been reshaped into a redundant neural pattern, making the brain able to bypass impediments caused by minor brain traumas." + name = "Распрямленная кора" + desc = "Кора большого мозга была переделана в повторяющийся нейронный паттерн, позволяющая могзу справляться с трудностями, вызванными небольшими повреждениями мозга.." mod_type = BIOWARE_CORTEX can_process = TRUE diff --git a/code/modules/surgery/advanced/bioware/ligament_hook.dm b/code/modules/surgery/advanced/bioware/ligament_hook.dm index 4d2636417698b4..e7f94c003318d9 100644 --- a/code/modules/surgery/advanced/bioware/ligament_hook.dm +++ b/code/modules/surgery/advanced/bioware/ligament_hook.dm @@ -1,7 +1,7 @@ /datum/surgery/advanced/bioware/ligament_hook - name = "Ligament Hook" - desc = "A surgical procedure which reshapes the connections between torso and limbs, making it so limbs can be attached manually if severed. \ - However this weakens the connection, making them easier to detach as well." + name = "Модифицирование: Крючкообразные связки" + desc = "Хирургическая процедура, которая изменяет форму соединения между конечностями и туловищем, благодаря чему конечности можно будет прикрепить вручную, если они оторвутся. \ + Однако, это ослабляет соединение, в результате чего конечности легче отрываются." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -15,7 +15,7 @@ bioware_target = BIOWARE_LIGAMENTS /datum/surgery_step/reshape_ligaments - name = "reshape ligaments (hand)" + name = "изменение связок (рука)" accept_hand = TRUE time = 125 @@ -23,27 +23,23 @@ display_results( user, target, - span_notice("You start reshaping [target]'s ligaments into a hook-like shape."), - span_notice("[user] starts reshaping [target]'s ligaments into a hook-like shape."), - span_notice("[user] starts manipulating [target]'s ligaments."), - ) - display_pain(target, "Your limbs burn with severe pain!") + span_notice("Начинаю менять форму связок [skloname(target.name, RODITELNI, target.gender)] на крючкообразную.") , + span_notice("[user] начал[user.ru_a()] менять форму связок [skloname(target.name, RODITELNI, target.gender)] на крючкообразную.") , + span_notice("[user] начал[user.ru_a()] работать над связками [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/reshape_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You reshape [target]'s ligaments into a connective hook!"), - span_notice("[user] reshapes [target]'s ligaments into a connective hook!"), - span_notice("[user] finishes manipulating [target]'s ligaments."), - ) - display_pain(target, "Your limbs feel... strangely loose.") + span_notice("Изменил[user.ru_a()] форму связок [skloname(target.name, RODITELNI, target.gender)] на соединяющий крючок!") , + span_notice("[user] сформировал[user.ru_a()] из связок [skloname(target.name, RODITELNI, target.gender)] соединяющий крючок!") , + span_notice("[user] закончил[user.ru_a()] работу над связками [skloname(target.name, RODITELNI, target.gender)].")) new /datum/bioware/hooked_ligaments(target) return ..() /datum/bioware/hooked_ligaments - name = "Hooked Ligaments" - desc = "The ligaments and nerve endings that connect the torso to the limbs are formed into a hook-like shape, so limbs can be attached without requiring surgery, but are easier to sever." + name = "Крючкообразные связки" + desc = "Связки и нервные окончания, соединяющие туловище с конечностями, переделаны в крючкообразную форму, что позволяет прикреплять конечности без операции, однако, повышает вероятность их отсоединения." mod_type = BIOWARE_LIGAMENTS /datum/bioware/hooked_ligaments/on_gain() diff --git a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm index 1aa4d5e18fbb70..2340437c70c3ed 100644 --- a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm +++ b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm @@ -1,7 +1,7 @@ /datum/surgery/advanced/bioware/ligament_reinforcement - name = "Ligament Reinforcement" - desc = "A surgical procedure which adds a protective tissue and bone cage around the connections between the torso and limbs, preventing dismemberment. \ - However, the nerve connections as a result are more easily interrupted, making it easier to disable limbs with damage." + name = "Модифицирование: Укрепление связок" + desc = "Хирургическая процедура, добавляющая защитную ткань и костяную клетку вокруг соединений туловища и конечностей, предотвращая расчленение. \ + Однако, в результате нервные соединения легче оборвать, что ведет к большему шансу вывести из строя конечности при получении урона." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -16,7 +16,7 @@ bioware_target = BIOWARE_LIGAMENTS /datum/surgery_step/reinforce_ligaments - name = "reinforce ligaments (hand)" + name = "укрепление связок (рука)" accept_hand = TRUE time = 125 @@ -24,27 +24,23 @@ display_results( user, target, - span_notice("You start reinforcing [target]'s ligaments."), - span_notice("[user] starts reinforce [target]'s ligaments."), - span_notice("[user] starts manipulating [target]'s ligaments."), - ) - display_pain(target, "Your limbs burn with severe pain!") + span_notice("Начинаю укреплять связки [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] укреплять связки [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] работу со связками [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/reinforce_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You reinforce [target]'s ligaments!"), - span_notice("[user] reinforces [target]'s ligaments!"), - span_notice("[user] finishes manipulating [target]'s ligaments."), - ) - display_pain(target, "Your limbs feel more secure, but also more frail.") + span_notice("Укрепил[user.ru_a()] связки [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] укрепил[user.ru_a()] связки [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] закончил[user.ru_a()] работу со связками [skloname(target.name, RODITELNI, target.gender)].")) new /datum/bioware/reinforced_ligaments(target) return ..() /datum/bioware/reinforced_ligaments - name = "Reinforced Ligaments" - desc = "The ligaments and nerve endings that connect the torso to the limbs are protected by a mix of bone and tissues, and are much harder to separate from the body, but are also easier to wound." + name = "Укрепленные связки" + desc = "Связки и нервные окончания, соединяющие туловище с конечностями, защищены смесью костей и тканей, и их куда сложнее отделить от туловища, но куда проще поранить." mod_type = BIOWARE_LIGAMENTS /datum/bioware/reinforced_ligaments/on_gain() diff --git a/code/modules/surgery/advanced/bioware/muscled_veins.dm b/code/modules/surgery/advanced/bioware/muscled_veins.dm index 80987779d66ef3..e0c343fc9cf12c 100644 --- a/code/modules/surgery/advanced/bioware/muscled_veins.dm +++ b/code/modules/surgery/advanced/bioware/muscled_veins.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/muscled_veins - name = "Vein Muscle Membrane" - desc = "A surgical procedure which adds a muscled membrane to blood vessels, allowing them to pump blood without a heart." + name = "Модифицирование: Венозные мышцы" + desc = "Хирургическая процедура которая добавляет к кровеносным сосудам мышечные мембраны, позволяя им перекачивать кровь без участия сердца." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -15,7 +15,7 @@ bioware_target = BIOWARE_CIRCULATION /datum/surgery_step/muscled_veins - name = "shape vein muscles (hand)" + name = "формирование венозных мышц (рука)" accept_hand = TRUE time = 125 @@ -23,27 +23,24 @@ display_results( user, target, - span_notice("You start wrapping muscles around [target]'s circulatory system."), - span_notice("[user] starts wrapping muscles around [target]'s circulatory system."), - span_notice("[user] starts manipulating [target]'s circulatory system."), - ) - display_pain(target, "Your entire body burns in agony!") + span_notice("Начинаю накручивать мышцы вокруг кровеносной системы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] накручивать мышцы вокруг кровеносной системы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] работать с кровеносной системой [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/muscled_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You reshape [target]'s circulatory system, adding a muscled membrane!"), - span_notice("[user] reshapes [target]'s circulatory system, adding a muscled membrane!"), - span_notice("[user] finishes manipulating [target]'s circulatory system."), - ) - display_pain(target, "You can feel your heartbeat's powerful pulses ripple through your body!") + span_notice("Изменил кровеносную систему [skloname(target.name, RODITELNI, target.gender)], добавив мышечные мембраны!") , + span_notice("[user] изменил[user.ru_a()] кровеносную систему [skloname(target.name, RODITELNI, target.gender)], добавив мышечные мембраны!") , + span_notice("[user] закончил[user.ru_a()] работать с кровеносной системой [skloname(target.name, RODITELNI, target.gender)].")) + new /datum/bioware/muscled_veins(target) return ..() /datum/bioware/muscled_veins - name = "Muscled Veins" - desc = "The circulatory system is affixed with a muscled membrane, allowing the veins to pump blood without the need for a heart." + name = "Венозные Мышцы" + desc = "Добавляет к кровеносным сосудам мышечные мембраны, позволяя им перекачивать кровь без участия сердца." mod_type = BIOWARE_CIRCULATION /datum/bioware/muscled_veins/on_gain() diff --git a/code/modules/surgery/advanced/bioware/nerve_grounding.dm b/code/modules/surgery/advanced/bioware/nerve_grounding.dm index aca9758e351bc9..d62ecd0192d6ef 100644 --- a/code/modules/surgery/advanced/bioware/nerve_grounding.dm +++ b/code/modules/surgery/advanced/bioware/nerve_grounding.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/nerve_grounding - name = "Nerve Grounding" - desc = "A surgical procedure which makes the patient's nerves act as grounding rods, protecting them from electrical shocks." + name = "Модифицирование: Заземление нервов" + desc = "Хирургическая процедура, позволяющая нервам пациента выступать в качестве заземляющих стержней, защищая их от поражения электрическим током." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -15,7 +15,7 @@ bioware_target = BIOWARE_NERVES /datum/surgery_step/ground_nerves - name = "ground nerves (hand)" + name = "заземление нервов (рука)" accept_hand = TRUE time = 155 @@ -23,27 +23,24 @@ display_results( user, target, - span_notice("You start rerouting [target]'s nerves."), - span_notice("[user] starts rerouting [target]'s nerves."), - span_notice("[user] starts manipulating [target]'s nervous system."), - ) - display_pain(target, "Your entire body goes numb!") + span_notice("Начинаю перенаправлять нервы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] перенаправлять нервы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] работать с нервной системой [skloname(target.name, RODITELNI, target.gender)].")) + /datum/surgery_step/ground_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You successfully reroute [target]'s nervous system!"), - span_notice("[user] successfully reroutes [target]'s nervous system!"), - span_notice("[user] finishes manipulating [target]'s nervous system."), - ) - display_pain(target, "You regain feeling in your body! You feel energzed!") + span_notice("Успешно перенаправил[user.ru_a()] нервную систему [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] успешно перенаправил[user.ru_a()] нервную систему [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] закончил[user.ru_a()] работать с нервной системой [skloname(target.name, RODITELNI, target.gender)].")) new /datum/bioware/grounded_nerves(target) return ..() /datum/bioware/grounded_nerves - name = "Grounded Nerves" - desc = "Nerves form a safe path for electricity to traverse, protecting the body from electric shocks." + name = "Заземленные Нервы" + desc = "Нервы образуют безопасный путь для прохождения электричества, защищая тело от поражения электрическим током." mod_type = BIOWARE_NERVES /datum/bioware/grounded_nerves/on_gain() diff --git a/code/modules/surgery/advanced/bioware/nerve_splicing.dm b/code/modules/surgery/advanced/bioware/nerve_splicing.dm index e7d0e336a5e0ad..0b7e882b5c0a2b 100644 --- a/code/modules/surgery/advanced/bioware/nerve_splicing.dm +++ b/code/modules/surgery/advanced/bioware/nerve_splicing.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/nerve_splicing - name = "Nerve Splicing" - desc = "A surgical procedure which splices the patient's nerves, making them more resistant to stuns." + name = "Модифицирование: Сращивание нервов" + desc = "Хирургическая процедура при которой нервы пациента сращиваются, что увеличивает сопротивление оглушению." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -15,7 +15,7 @@ bioware_target = BIOWARE_NERVES /datum/surgery_step/splice_nerves - name = "splice nerves (hand)" + name = "сращивание нервов (рука)" accept_hand = TRUE time = 155 @@ -23,29 +23,25 @@ display_results( user, target, - span_notice("You start splicing together [target]'s nerves."), - span_notice("[user] starts splicing together [target]'s nerves."), - span_notice("[user] starts manipulating [target]'s nervous system."), - ) - display_pain(target, "Your entire body goes numb!") + span_notice("Начинаю соединять между собой нервы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] соединять между собой нервы [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] работать с нервной системой [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/splice_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You successfully splice [target]'s nervous system!"), - span_notice("[user] successfully splices [target]'s nervous system!"), - span_notice("[user] finishes manipulating [target]'s nervous system."), - ) - display_pain(target, "You regain feeling in your body; It feels like everything's happening around you in slow motion!") + span_notice("Успешно срастил[user.ru_a()] нервную систему [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] успешно переплел[user.ru_a()] нервную систему [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] закончил[user.ru_a()] работать с нервной системой [skloname(target.name, RODITELNI, target.gender)].")) new /datum/bioware/spliced_nerves(target) if(target.ckey) - SSblackbox.record_feedback("nested tally", "nerve_splicing", 1, list("[target.ckey]", "got")) + SSblackbox.record_feedback("nested tally", "nerve_splicing", 1, list("[target.ckey]", "got")) return ..() /datum/bioware/spliced_nerves - name = "Spliced Nerves" - desc = "Nerves are connected to each other multiple times, greatly reducing the impact of stunning effects." + name = "Сращенные нервы" + desc = "Нервы соединены друг с другом по нескольку раз, значительно снижая эффективность оглущающих эффектов." mod_type = BIOWARE_NERVES /datum/bioware/spliced_nerves/on_gain() diff --git a/code/modules/surgery/advanced/bioware/vein_threading.dm b/code/modules/surgery/advanced/bioware/vein_threading.dm index 97efbd876c9ceb..4a0d61eb3a7c47 100644 --- a/code/modules/surgery/advanced/bioware/vein_threading.dm +++ b/code/modules/surgery/advanced/bioware/vein_threading.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/bioware/vein_threading - name = "Vein Threading" - desc = "A surgical procedure which severely reduces the amount of blood lost in case of injury." + name = "Модифицирование: Переплетение вен" + desc = "Хирургическая процедура, которая значительно снижает количество теряемой крови при ранениях." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -15,7 +15,7 @@ bioware_target = BIOWARE_CIRCULATION /datum/surgery_step/thread_veins - name = "thread veins (hand)" + name = "переплетение вен (рука)" accept_hand = TRUE time = 125 @@ -23,27 +23,23 @@ display_results( user, target, - span_notice("You start weaving [target]'s circulatory system."), - span_notice("[user] starts weaving [target]'s circulatory system."), - span_notice("[user] starts manipulating [target]'s circulatory system."), - ) - display_pain(target, "Your entire body burns in agony!") + span_notice("Начинаю переплетать кровеносную систему [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] переплетать кровеносную систему [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начал[user.ru_a()] работать над кровеносной системой [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/thread_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You weave [target]'s circulatory system into a resistant mesh!"), - span_notice("[user] weaves [target]'s circulatory system into a resistant mesh!"), - span_notice("[user] finishes manipulating [target]'s circulatory system."), - ) - display_pain(target, "You can feel your blood pumping through reinforced veins!") + span_notice("Сплел[user.ru_a()] кровеносную систему [skloname(target.name, RODITELNI, target.gender)] в прочную сеть!") , + span_notice("[user] сплел[user.ru_a()] кровеносную систему [skloname(target.name, RODITELNI, target.gender)] в прочную сеть!") , + span_notice("[user] закончил[user.ru_a()] работать над кровеносной системой [skloname(target.name, RODITELNI, target.gender)].")) new /datum/bioware/threaded_veins(target) return ..() /datum/bioware/threaded_veins - name = "Threaded Veins" - desc = "The circulatory system is woven into a mesh, severely reducing the amount of blood lost from wounds." + name = "Переплетенные вены" + desc = "Система кровообращения сплетена в сеть, значительно снижающую количество теряемой при ранениях крови." mod_type = BIOWARE_CIRCULATION /datum/bioware/threaded_veins/on_gain() diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index 69b2a3d83c7e04..357a28f2011ce2 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -1,11 +1,11 @@ /obj/item/disk/surgery/brainwashing - name = "Brainwashing Surgery Disk" - desc = "The disk provides instructions on how to impress an order on a brain, making it the primary objective of the patient." + name = "Хирургический диск для промывания мозгов" + desc = "На диске содержатся инструкции по тому, как запечатлеть приказ в мозгу, делая его основной директивой пациента." surgeries = list(/datum/surgery/advanced/brainwashing) /datum/surgery/advanced/brainwashing - name = "Brainwashing" - desc = "A surgical procedure which directly implants a directive into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant." + name = "Операция на мозге: Промывка мозгов" + desc = "Хирургическая процедура, которая запечатляет приказ в мозге пациента, делая его основной директивой. Эту директиву можно отменить используя имплант защиты разума." possible_locs = list(BODY_ZONE_HEAD) steps = list( /datum/surgery_step/incise, @@ -25,7 +25,7 @@ return TRUE /datum/surgery_step/brainwash - name = "brainwash (hemostat)" + name = "промывание мозга" implements = list( TOOL_HEMOSTAT = 85, TOOL_WIRECUTTER = 50, @@ -38,33 +38,31 @@ var/objective /datum/surgery_step/brainwash/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - objective = tgui_input_text(user, "Choose the objective to imprint on your victim's brain", "Brainwashing") + objective = tgui_input_text(user, "Выберите директиву, которую хотите запечатлеть в мозге вашей жертвы", "Промывание мозгов") if(!objective) return SURGERY_STEP_FAIL display_results( user, target, - span_notice("You begin to brainwash [target]..."), - span_notice("[user] begins to fix [target]'s brain."), - span_notice("[user] begins to perform surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds with unimaginable pain!") // Same message as other brain surgeries + span_notice("Начинаю промывать мозги [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает исправлять мозг [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает проводить операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/brainwash/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(!target.mind) - to_chat(user, span_warning("[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind...")) + to_chat(user, span_warning("[target] не реагирует на промывание мозга, кажется, что [target.ru_who()] лишился ума...")) return FALSE if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) - to_chat(user, span_warning("You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased.")) + to_chat(user, span_warning("Слышу слабое жужание устройства в мозгу [skloname(target.name, RODITELNI, target.gender)] и новая директива стирается.")) return FALSE display_results( user, target, - span_notice("You succeed in brainwashing [target]."), - span_notice("[user] successfully fixes [target]'s brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - to_chat(target, span_userdanger("A new compulsion fills your mind... you feel forced to obey it!")) + span_notice("Успешно промыл[user.ru_a()] мозг [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно исправил[user.ru_a()] мозг [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + to_chat(target, span_userdanger("Что-то заполняет мой разум, принуждая... подчиниться!")) + brainwash(target, objective) message_admins("[ADMIN_LOOKUPFLW(user)] surgically brainwashed [ADMIN_LOOKUPFLW(target)] with the objective '[objective]'.") user.log_message("has brainwashed [key_name(target)] with the objective '[objective]' using brainwashing surgery.", LOG_ATTACK) @@ -74,15 +72,12 @@ /datum/surgery_step/brainwash/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.get_organ_slot(ORGAN_SLOT_BRAIN)) - display_results( - user, + display_results(user, target, - span_warning("You screw up, bruising the brain tissue!"), - span_warning("[user] screws up, causing brain damage!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head throbs with horrible pain!") + span_warning("Облажалися, повредив мозговую ткань!") , + span_warning("[user] облажался, нанеся урон мозгу!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [target].")) target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 40) else - user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) + user.visible_message(span_warning("[user] внезапно замечает что мозг над которым [user.ru_who()] работал[user.ru_a()] исчез.") , span_warning("Внезапно обнаруживаю что мозг, над которым я работал[user.ru_a()], исчез.")) return FALSE diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index 6c322c2d0705e6..c5e3fcddd98d86 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/lobotomy - name = "Lobotomy" - desc = "An invasive surgical procedure which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return." + name = "Операция на мозге: Лоботомия" + desc = "Инвазивная хирургическая процедура, которая гарантированно устраняет большинство травм мозга, но может привести к другому постоянному повреждению." possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = NONE steps = list( @@ -22,7 +22,7 @@ return TRUE /datum/surgery_step/lobotomize - name = "perform lobotomy (scalpel)" + name = "выполнить лоботомию" implements = list( TOOL_SCALPEL = 85, /obj/item/melee/energy/sword = 55, @@ -44,21 +44,17 @@ display_results( user, target, - span_notice("You begin to perform a lobotomy on [target]'s brain..."), - span_notice("[user] begins to perform a lobotomy on [target]'s brain."), - span_notice("[user] begins to perform surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds with unimaginable pain!") + span_notice("Начинаю проведение лоботомии на мозге [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает проведение лоботомии на мозге [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/lobotomize/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You succeed in lobotomizing [target]."), - span_notice("[user] successfully lobotomizes [target]!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head goes totally numb for a moment, the pain is overwhelming!") + span_notice("Успешно выполнил[user.ru_a()] лоботомию [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно выполнил[user.ru_a()] лоботомию [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершает операцию [skloname(target.name, RODITELNI, target.gender)].")) target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY) if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed)) @@ -82,11 +78,10 @@ display_results( user, target, - span_warning("You remove the wrong part, causing more damage!"), - span_notice("[user] successfully lobotomizes [target]!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "The pain in your head only seems to get worse!") + span_warning("Извлек неверную часть, что привело к большим повреждениям!") , + span_notice("[user] успешно выполнил[user.ru_a()] лоботомию [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + target_brain.apply_organ_damage(80) switch(rand(1,3)) if(1) @@ -99,5 +94,5 @@ if(3) target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_MAGIC) else - user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) + user.visible_message(span_warning("[user] внезапно замечает что мозг над которым [user.ru_who()] работал[user.ru_a()] исчез.") , span_warning("Внезапно обнаруживаю что мозг, над которым я работал, исчез.")) return FALSE diff --git a/code/modules/surgery/advanced/necrotic_revival.dm b/code/modules/surgery/advanced/necrotic_revival.dm index 63350139e07bda..87bf614daf4394 100644 --- a/code/modules/surgery/advanced/necrotic_revival.dm +++ b/code/modules/surgery/advanced/necrotic_revival.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/necrotic_revival - name = "Necrotic Revival" - desc = "An experimental surgical procedure that stimulates the growth of a Romerol tumor inside the patient's brain. Requires zombie powder or rezadone." + name = "Некротическое воскрешение" + desc = "Экспериментальная хирургическая процедура, которая стимулирует рост опухоли Ромерола внутри мозга пациента. Требует порошок зомби или Резадон." possible_locs = list(BODY_ZONE_HEAD) steps = list( /datum/surgery_step/incise, @@ -18,7 +18,7 @@ return FALSE /datum/surgery_step/bionecrosis - name = "start bionecrosis (syringe)" + name = "начать бионекроз (шприц)" implements = list( /obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30) @@ -30,21 +30,18 @@ display_results( user, target, - span_notice("You begin to grow a romerol tumor on [target]'s brain..."), - span_notice("[user] begins to tinker with [target]'s brain..."), - span_notice("[user] begins to perform surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds with unimaginable pain!") // Same message as other brain surgeries + span_notice("Стимулирую рост опухоли Ромерола в мозгу [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает возиться с мозгом [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/bionecrosis/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You succeed in growing a romerol tumor on [target]'s brain."), - span_notice("[user] successfully grows a romerol tumor on [target]'s brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head goes totally numb for a moment, the pain is overwhelming!") + span_notice("Успешно стимулировал[user.ru_a()] рост опухоли Ромерола в мозгу [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно вырастил[user.ru_a()] опухоль Ромерола в мозгу [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + if(!target.get_organ_slot(ORGAN_SLOT_ZOMBIE)) var/obj/item/organ/internal/zombie_infection/z_infection = new() z_infection.Insert(target) diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm index 48a2d1c88e664e..37c1e8316cb63d 100644 --- a/code/modules/surgery/advanced/pacification.dm +++ b/code/modules/surgery/advanced/pacification.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/pacify - name = "Pacification" - desc = "A surgical procedure which permanently inhibits the aggression center of the brain, making the patient unwilling to cause direct harm." + name = "Операция на мозге: Усмирение" + desc = "Хирургическая процедура которая навсегда подавляет центр агрессии мозга, делая пациента неспособным нанести прямой вред." possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = NONE steps = list( @@ -19,7 +19,7 @@ return FALSE /datum/surgery_step/pacify - name = "rewire brain (hemostat)" + name = "перепрограммировать мозг (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, @@ -33,21 +33,21 @@ display_results( user, target, - span_notice("You begin to pacify [target]..."), - span_notice("[user] begins to fix [target]'s brain."), - span_notice("[user] begins to perform surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds with unimaginable pain!") + span_notice("Начинаю умиротворять [skloname(target.name, VINITELNI, target.gender)]...") , + span_notice("[user] начинает исправлять мозг [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + + display_pain(target, "В мозгу что то кольнуло и мысли начинают путаться!") /datum/surgery_step/pacify/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You succeed in neurologically pacifying [target]."), - span_notice("[user] successfully fixes [target]'s brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds... the concept of violence flashes in your head, and nearly makes you hurl!") + span_notice("Мне удалось неврологически усмирить [skloname(target.name, VINITELNI, target.gender)].") , + span_notice("[user] успешно исправил[user.ru_a()] мозг [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершает операцию на могзе [skloname(target.name, RODITELNI, target.gender)].")) + + display_pain(target, "Голова раскалывается... Но это не важно, ведь мне желают лишь добра...") target.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_LOBOTOMY) return ..() @@ -55,10 +55,8 @@ display_results( user, target, - span_notice("You screw up, rewiring [target]'s brain the wrong way around..."), - span_warning("[user] screws up, causing brain damage!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds, and it feels like it's getting worse!") + span_notice("[gvorno(TRUE)], но я облажался, перепутав часть мозга [skloname(target.name, RODITELNI, target.gender)]...") , + span_warning("[user] облажался, повредив мозг!"), + span_notice("[user] завершает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) return FALSE diff --git a/code/modules/surgery/advanced/viral_bonding.dm b/code/modules/surgery/advanced/viral_bonding.dm index a837d47d8b1f51..c630333a5b5187 100644 --- a/code/modules/surgery/advanced/viral_bonding.dm +++ b/code/modules/surgery/advanced/viral_bonding.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/viral_bonding - name = "Viral Bonding" - desc = "A surgical procedure that forces a symbiotic relationship between a virus and its host. The patient must be dosed with spaceacillin, virus food, and formaldehyde." + name = "Вирусный симбиоз" + desc = "Хирургическая процедура которая устанавливает симбиотические отношения между вирусом и носителем. Пациенту должен быть введен Космоцелин, пища для вирусов и формальдегид." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -20,7 +20,7 @@ return TRUE /datum/surgery_step/viral_bond - name = "viral bond (cautery)" + name = "установите связь (прижигатель)" implements = list( TOOL_CAUTERY = 100, TOOL_WELDER = 50, @@ -38,21 +38,18 @@ display_results( user, target, - span_notice("You start heating [target]'s bone marrow with [tool]..."), - span_notice("[user] starts heating [target]'s bone marrow with [tool]..."), - span_notice("[user] starts heating something in [target]'s chest with [tool]..."), - ) - display_pain(target, "You feel a searing heat spread through your chest!") + span_notice("Начинаю нагревать спинной мозг [skloname(target.name, VINITELNI, target.gender)], используя [tool]...") , + span_notice("[user] начинает нагревать спинной мозг [skloname(target.name, VINITELNI, target.gender)], используя [tool]...") , + span_notice("[user] начинает нагревать что-то в туловище [skloname(target.name, VINITELNI, target.gender)], используя [tool]...")) /datum/surgery_step/viral_bond/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) display_results( user, target, - span_notice("[target]'s bone marrow begins pulsing slowly. The viral bonding is complete."), - span_notice("[target]'s bone marrow begins pulsing slowly."), - span_notice("[user] finishes the operation."), - ) - display_pain(target, "You feel a faint throbbing in your chest.") + span_notice("Костный мозг [skloname(target.name, VINITELNI, target.gender)] начинает медленно пульсировать. Вирусный симбиоз установлен.") , + span_notice("Костный мозг [skloname(target.name, VINITELNI, target.gender)] начинает медленно пульсировать.") , + span_notice("[user] завершает операцию.")) + for(var/datum/disease/infected_disease as anything in target.diseases) if(infected_disease.severity != DISEASE_SEVERITY_UNCURABLE) //no curing quirks, sweaty infected_disease.carrier = TRUE diff --git a/code/modules/surgery/advanced/wingreconstruction.dm b/code/modules/surgery/advanced/wingreconstruction.dm index 3234b61e1e0432..7bce3360ca28f6 100644 --- a/code/modules/surgery/advanced/wingreconstruction.dm +++ b/code/modules/surgery/advanced/wingreconstruction.dm @@ -1,6 +1,6 @@ /datum/surgery/advanced/wing_reconstruction - name = "Wing Reconstruction" - desc = "An experimental surgical procedure that reconstructs the damaged wings of moth people. Requires Synthflesh." + name = "Восстановление крыльев" + desc = "Экспериментальная хирургическая процедура, которая восстанавливает поврежденные крылья мотыльков. Требует Синтплоть." possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -18,7 +18,7 @@ return ..() && wings?.burnt /datum/surgery_step/wing_reconstruction - name = "start wing reconstruction (hemostat)" + name = "начать восстановление крыльев (зажим)" implements = list( TOOL_HEMOSTAT = 85, TOOL_SCREWDRIVER = 35, @@ -31,11 +31,9 @@ display_results( user, target, - span_notice("You begin to fix [target]'s charred wing membranes..."), - span_notice("[user] begins to fix [target]'s charred wing membranes."), - span_notice("[user] begins to perform surgery on [target]'s charred wing membranes."), - ) - display_pain(target, "Your wings sting like hell!") + span_notice("Начинаю восстанавливать обугленные мембраны крыльев [skloname(target.name, VINITELNI, target.gender)]...") , + span_notice("[user] начал восстанавливать обугленные мембраны крыльев [skloname(target.name, VINITELNI, target.gender)].") , + span_notice("[user] начал проведение операции на обугленных мембранах крыльев [skloname(target.name, VINITELNI, target.gender)].")) /datum/surgery_step/wing_reconstruction/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) @@ -43,11 +41,10 @@ display_results( user, target, - span_notice("You succeed in reconstructing [target]'s wings."), - span_notice("[user] successfully reconstructs [target]'s wings!"), - span_notice("[user] completes the surgery on [target]'s wings."), - ) - display_pain(target, "You can feel your wings again!") + span_notice("Успешно восстановил[user.ru_a()] крылья [skloname(target.name, VINITELNI, target.gender)].") , + span_notice("[user] успешно восстановил[user.ru_a()] крылья [skloname(target.name, VINITELNI, target.gender)]!") , + span_notice("[user] завершил[user.ru_a()] операцию на крыльях [skloname(target.name, VINITELNI, target.gender)].")) + var/obj/item/organ/external/wings/moth/wings = target.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS) if(istype(wings, /obj/item/organ/external/wings/moth)) //make sure we only heal moth wings. wings.heal_wings(user, ALL) diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 8c8924cdcab507..a552841007effc 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -1,6 +1,6 @@ /datum/surgery/amputation - name = "Amputation" + name = "Ампутация" requires_bodypart_type = NONE surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_MORBID_CURIOSITY possible_locs = list( @@ -25,7 +25,7 @@ return ..() /datum/surgery_step/sever_limb - name = "sever limb (circular saw)" + name = "отрежьте конечность (циркулярная пила)" implements = list( /obj/item/shears = 300, TOOL_SCALPEL = 100, @@ -43,22 +43,22 @@ display_results( user, target, - span_notice("You begin to sever [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "You feel a gruesome pain in your [parse_zone(target_zone)]'s joint!") + span_notice("Начинаю отрезать [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает отрезать [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] начинает отрезать [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + playsound(get_turf(target), 'sound/surgery/scalpel1.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Чувствую ужасную боль в [ru_gde_zone(parse_zone(target_zone))]!") /datum/surgery_step/sever_limb/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You sever [target]'s [parse_zone(target_zone)]."), - span_notice("[user] severs [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] severs [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "You can no longer feel your severed [parse_zone(target_zone)]!") + span_notice("Отрезал[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] отрезал[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] отрезал[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + playsound(get_turf(target), 'sound/surgery/organ2.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Я больше не чувствую свою [ru_parse_zone(parse_zone(target_zone))]!") if(HAS_MIND_TRAIT(user, TRAIT_MORBID) && ishuman(user)) var/mob/living/carbon/human/morbid_weirdo = user diff --git a/code/modules/surgery/autopsy.dm b/code/modules/surgery/autopsy.dm index 2d106cfd4415eb..951c1da411283d 100644 --- a/code/modules/surgery/autopsy.dm +++ b/code/modules/surgery/autopsy.dm @@ -1,5 +1,5 @@ /datum/surgery/autopsy - name = "Autopsy" + name = "Вскрытие" surgery_flags = SURGERY_IGNORE_CLOTHES | SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_MORBID_CURIOSITY possible_locs = list(BODY_ZONE_CHEST) steps = list( @@ -18,7 +18,7 @@ return TRUE /datum/surgery_step/autopsy - name = "Perform Autopsy (autopsy scanner)" + name = "Исследовать (сканер)" implements = list(/obj/item/autopsy_scanner = 100) time = 10 SECONDS success_sound = 'sound/machines/printer.ogg' @@ -27,11 +27,10 @@ display_results( user, target, - span_notice("You begins performing an autopsy on [target]..."), - span_notice("[user] uses [tool] to perform an autopsy on [target]."), - span_notice("[user] uses [tool] on [target]'s chest."), + span_notice("Начинаю патологоанатомическое вскрытие [target]"), + span_notice("[user] начинает патологоанатомическое вскрытие [target]..."), + span_notice("[user] начинает патологоанатомическое вскрытие!"), ) - display_pain(target, "You feel a burning sensation in your chest!") /datum/surgery_step/autopsy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/autopsy_scanner/tool, datum/surgery/surgery, default_display_results = FALSE) ADD_TRAIT(target, TRAIT_DISSECTED, AUTOPSY_TRAIT) @@ -50,8 +49,18 @@ display_results( user, target, - span_warning("You screw up, bruising [target]'s chest!"), - span_warning("[user] screws up, brusing [target]'s chest!"), - span_warning("[user] screws up!"), + span_notice("Кажется я это был не очень аккуратный разрез! Впрочем пациенту кажется уже все равно..."), + span_notice("[user] действует очень неаккуратно! Впрочем пациенту кажется уже все равно..."), + span_notice("[user] действует очень неаккуратно! Впрочем пациенту кажется уже все равно...!") ) + + target.adjustOrganLoss(pick( + ORGAN_SLOT_APPENDIX, + ORGAN_SLOT_BRAIN, + ORGAN_SLOT_HEART, + ORGAN_SLOT_LIVER, + ORGAN_SLOT_LUNGS, + ORGAN_SLOT_STOMACH, + ), 20) + target.adjustBruteLoss(5) diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm index bee742f9d3f9e0..22d503e6506726 100644 --- a/code/modules/surgery/blood_filter.dm +++ b/code/modules/surgery/blood_filter.dm @@ -1,5 +1,5 @@ /datum/surgery/blood_filter - name = "Filter blood" + name = "Фильтрация крови (Химикаты)" possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -45,7 +45,7 @@ return FALSE /datum/surgery_step/filter_blood - name = "Filter blood (blood filter)" + name = "Фильтрация крови (Фильтр крови)" implements = list(/obj/item/blood_filter = 95) repeatable = TRUE time = 2.5 SECONDS @@ -55,11 +55,9 @@ display_results( user, target, - span_notice("You begin filtering [target]'s blood..."), - span_notice("[user] uses [tool] to filter [target]'s blood."), - span_notice("[user] uses [tool] on [target]'s chest."), - ) - display_pain(target, "You feel a throbbing pain in your chest!") + span_notice("Начинаю фильтрацию крови [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] использует [tool] для фильтрации моей крови.") , + span_notice("[user] использует [tool] на груди [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/filter_blood/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/obj/item/blood_filter/bloodfilter = tool @@ -70,10 +68,10 @@ display_results( user, target, - span_notice(" [tool] pings as it finishes filtering [target]'s blood."), - span_notice(" [tool] pings as it stops pumping [target]'s blood."), - span_notice(" [tool] pings as it stops pumping."), - ) + span_notice("Закончив фильтрацию крови [skloname(target.name, RODITELNI, target.gender)] [tool] издает короткий звон.") , + span_notice("Закончив качать мою кровь [tool] издает короткий звон.") , + span_notice("Закончив качать [tool] издает короткий звон.") , + playsound(get_turf(target), 'sound/machines/ping.ogg', 25, TRUE, falloff_exponent = 12, falloff_distance = 1)) if(locate(/obj/item/healthanalyzer) in user.held_items) chemscan(user, target) @@ -84,8 +82,7 @@ display_results( user, target, - span_warning("You screw up, bruising [target]'s chest!"), - span_warning("[user] screws up, brusing [target]'s chest!"), - span_warning("[user] screws up!"), - ) + span_warning("[gvorno(TRUE)], но [gvorno(TRUE)], но я облажался, оставив синяк на груди [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] облажался, оставив синяк на груди [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] облажался!")) target.adjustBruteLoss(5) diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 756ab6e2f7b1ed..ad0c66d138c3f3 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -1,6 +1,6 @@ /obj/item/bodypart - name = "limb" - desc = "Why is it detached..." + name = "конечность" + desc = "Почему так получилось?" force = 3 throwforce = 3 w_class = WEIGHT_CLASS_SMALL @@ -293,7 +293,6 @@ status = "не имеет повреждений" else status = "ФИЗИЧЕСКИЙ: [shown_brute]] И \[ (max_damage * 0.8)) @@ -303,6 +302,9 @@ else if(shown_brute > DAMAGE_PRECISION) status += light_brute_msg + if (shown_brute > 0 && shown_burn > 0) + status += "" + if(shown_brute > DAMAGE_PRECISION && shown_burn > DAMAGE_PRECISION) status += " и " @@ -334,16 +336,12 @@ switch(wound.severity) if(WOUND_SEVERITY_TRIVIAL) check_list += "[span_danger(uppertext(wound.name))]" - // check_list += "\t [span_danger("Моя [name] имеет [wound.a_or_from] [lowertext(wound.name)].")]" if(WOUND_SEVERITY_MODERATE) check_list += "[span_warning(uppertext(wound.name))]" - // check_list += "\t [span_warning("Моя [name] имеет [wound.a_or_from] [lowertext(wound.name)]!")]" if(WOUND_SEVERITY_SEVERE) check_list += "[span_boldwarning(uppertext(wound.name))]" - // check_list += "\t [span_boldwarning("Моя [name] имеет [wound.a_or_from] [lowertext(wound.name)]!!")]" if(WOUND_SEVERITY_CRITICAL) check_list += "[span_boldwarning(uppertext(wound.name))]" - // check_list += "\t [span_boldwarning("Моя [name] имеет [wound.a_or_from] [lowertext(wound.name)]!!!")]" diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index e863341eb4344b..96aa95206a8531 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -17,7 +17,8 @@ var/obj/item/bodypart/affecting = limb_owner.get_bodypart(BODY_ZONE_CHEST) affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50), wound_bonus=CANT_WOUND) //Damage the chest based on limb's existing damage if(!silent) - limb_owner.visible_message(span_danger("[limb_owner]'s [name] is violently dismembered!")) + limb_owner.visible_message(span_danger("[capitalize(src.name)] [limb_owner] разлетается на кусочки!")) + INVOKE_ASYNC(limb_owner, TYPE_PROC_REF(/mob, emote), "scream") playsound(get_turf(limb_owner), 'sound/effects/dismember.ogg', 80, TRUE) limb_owner.add_mood_event("dismembered_[body_zone]", /datum/mood_event/dismembered, src) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 149490b4a11abd..28e99c3c061a6f 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -1,6 +1,6 @@ /obj/item/bodypart/head - name = BODY_ZONE_HEAD - desc = "Didn't make sense not to live for fun, your brain gets smart but your head gets dumb." + name = "голова" + desc = "Круглая. Можно в футбик погонять." icon = 'icons/mob/human/bodyparts.dmi' icon_state = "default_human_head" max_damage = 200 @@ -128,29 +128,29 @@ . = ..() if(show_organs_on_examine && IS_ORGANIC_LIMB(src)) if(!brain) - . += span_info("The brain has been removed from [src].") + . += span_info("Здесь нет мозга.") else if(brain.suicided || (brainmob && HAS_TRAIT(brainmob, TRAIT_SUICIDED))) - . += span_info("There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery.") + . += span_info("Странная гримасса на лице [real_name]; похоже эта голова и правда не любила свою жизнь. Это можно выбросить.") else if(brainmob?.health <= HEALTH_THRESHOLD_DEAD) - . += span_info("It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape.") + . += span_info("Из этой штуки что-то... вытекает? Похоже мозгу внутри придали неестественную форму.") else if(brainmob) if(brainmob.key || brainmob.get_ghost(FALSE, TRUE)) - . += span_info("Its muscles are twitching slightly... It seems to have some life still in it.") + . += span_info("Эта штука немного шевелится... Похоже внутрии неё что-то очень хочет жить.") else - . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.") + . += span_info("Эта штука неподвижна. Возможно есть шанс сделать из этого что-то полезное.") else if(brain?.decoy_override) - . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.") + . += span_info("Эта штука неподвижна. Возможно есть шанс сделать из этого что-то полезное.") else - . += span_info("It's completely lifeless.") + . += span_info("Эта штука неподвижна.") if(!eyes) - . += span_info("[real_name]'s eyes have been removed.") + . += span_info("\nГлаза [real_name] отсутствуют.") if(!ears) - . += span_info("[real_name]'s ears have been removed.") + . += span_info("\nУши [real_name] отсутствуют.") if(!tongue) - . += span_info("[real_name]'s tongue has been removed.") + . += span_info("\nЯзык [real_name] отсутствует.") /obj/item/bodypart/head/can_dismember(obj/item/item) if(owner.stat < HARD_CRIT) @@ -162,13 +162,13 @@ for(var/obj/item/head_item in src) if(head_item == brain) if(user) - user.visible_message(span_warning("[user] saws [src] open and pulls out a brain!"), span_notice("You saw [src] open and pull out a brain.")) + user.visible_message(span_warning("[user] распиливает [src] и вырывает мозг!") , span_notice("Распиливаю [src] и вырываю оттуда мозг.")) if(brainmob) brainmob.container = null brain.brainmob = brainmob brainmob = null if(violent_removal && prob(rand(80, 100))) //ghetto surgery can damage the brain. - to_chat(user, span_warning("[brain] was damaged in the process!")) + to_chat(user, span_warning("[brain] был повреждён в процессе!")) brain.set_organ_damage(brain.maxHealth) brain.forceMove(drop_loc) brain = null @@ -192,7 +192,10 @@ . = ..() if(!isnull(owner)) if(HAS_TRAIT(owner, TRAIT_HUSK)) - real_name = "Unknown" + real_name = "Неизвестный" + hairstyle = "Bald" + facial_hairstyle = "Shaved" + lip_style = null else real_name = owner.real_name update_hair_and_lips(dropping_limb, is_creating) @@ -242,7 +245,7 @@ return NOPASS /obj/item/bodypart/head/GetVoice() - return "The head of [real_name]" + return "Голова [real_name]" /obj/item/bodypart/head/monkey icon = 'icons/mob/human/species/monkey/bodyparts.dmi' diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 0ebc7810852128..c8a15d4f4c93fc 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -1,7 +1,7 @@ /obj/item/bodypart/chest - name = BODY_ZONE_CHEST - desc = "It's impolite to stare at a person's chest." + name = "грудь" + desc = "Неправильно смотреть на чью-то грудь." icon_state = "default_human_chest" max_damage = 200 body_zone = BODY_ZONE_CHEST @@ -100,7 +100,7 @@ /// Parent Type for arms, should not appear in game. /obj/item/bodypart/arm - name = "arm" + name = "рука" desc = "Hey buddy give me a HAND and report this to the github because you shouldn't be seeing this." attack_verb_continuous = list("slaps", "punches") attack_verb_simple = list("slap", "punch") @@ -128,11 +128,8 @@ return ..() /obj/item/bodypart/arm/left - name = "left arm" - desc = "Did you know that the word 'sinister' stems originally from the \ - Latin 'sinestra' (left hand), because the left hand was supposed to \ - be possessed by the devil? This arm appears to be possessed by no \ - one though." + name = "левая рука" + desc = "Этой штукой можно пощекотать свою жопу." icon_state = "default_human_l_arm" body_zone = BODY_ZONE_L_ARM body_part = ARM_LEFT @@ -190,7 +187,7 @@ if(bodypart_disabled) owner.set_usable_hands(owner.usable_hands - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) + to_chat(owner, span_userdanger("Не чувствую свою [skloname(name, VINITELNI, FEMALE)]!")) if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) else if(!bodypart_disabled) @@ -235,9 +232,8 @@ /obj/item/bodypart/arm/right - name = "right arm" - desc = "Over 87% of humans are right handed. That figure is much lower \ - among humans missing their right arm." + name = "правая рука" + desc = "А вот этой вот дрочу." body_zone = BODY_ZONE_R_ARM body_part = ARM_RIGHT icon_state = "default_human_r_arm" @@ -295,7 +291,7 @@ if(bodypart_disabled) owner.set_usable_hands(owner.usable_hands - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) + to_chat(owner, span_userdanger("Не чувствую свою [skloname(name, VINITELNI, FEMALE)]!")) if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) else if(!bodypart_disabled) @@ -340,7 +336,7 @@ /// Parent Type for legs, should not appear in game. /obj/item/bodypart/leg - name = "leg" + name = "нога" desc = "This item shouldn't exist. Talk about breaking a leg. Badum-Tss!" attack_verb_continuous = list("kicks", "stomps") attack_verb_simple = list("kick", "stomp") @@ -363,9 +359,8 @@ return ..() /obj/item/bodypart/leg/left - name = "left leg" - desc = "Some athletes prefer to tie their left shoelaces first for good \ - luck. In this instance, it probably would not have helped." + name = "левая нога" + desc = "Вставать с этой ноги не круто." icon_state = "default_human_l_leg" body_zone = BODY_ZONE_L_LEG body_part = LEG_LEFT @@ -421,7 +416,7 @@ if(bodypart_disabled) owner.set_usable_legs(owner.usable_legs - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) + to_chat(owner, span_userdanger("Не чувствую свою [skloname(name, VINITELNI, FEMALE)]!")) else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) @@ -456,11 +451,8 @@ should_draw_greyscale = FALSE /obj/item/bodypart/leg/right - name = "right leg" - desc = "You put your right leg in, your right leg out. In, out, in, out, \ - shake it all about. And apparently then it detaches.\n\ - The hokey pokey has certainly changed a lot since space colonisation." - // alternative spellings of 'pokey' are available + name = "правая нога" + desc = "А вот с этой ноги стоит вставать." icon_state = "default_human_r_leg" body_zone = BODY_ZONE_R_LEG body_part = LEG_RIGHT @@ -515,7 +507,7 @@ if(bodypart_disabled) owner.set_usable_legs(owner.usable_legs - 1) if(owner.stat < UNCONSCIOUS) - to_chat(owner, span_userdanger("You lose control of your [name]!")) + to_chat(owner, span_userdanger("Не чувствую свою [skloname(name, VINITELNI, FEMALE)]!")) else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 586cf7366a5e86..8a2558d9e01bc7 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -12,10 +12,11 @@ //Failure to follow this pattern will cause the hand's icons to be missing due to the way get_limb_icon() works to generate the mob's icons using the aux_zone var. /obj/item/bodypart/arm/left/robot - name = "cyborg left arm" - desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." + name = "левая рука киборга" + desc = "Скелетная конечность, обернутая в псевдомышцы с низкопроводимостью." limb_id = BODYPART_ID_ROBOTIC - attack_verb_simple = list("slapped", "punched") + attack_verb_continuous = list("шлёпает", "бьёт") + attack_verb_simple = list("шлёпает", "бьёт") inhand_icon_state = "buildpipe" icon = 'icons/mob/augmentation/augments.dmi' icon_static = 'icons/mob/augmentation/augments.dmi' @@ -44,9 +45,10 @@ disabling_threshold_percentage = 1 /obj/item/bodypart/arm/right/robot - name = "cyborg right arm" - desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_simple = list("slapped", "punched") + name = "правая рука киборга" + desc = "Скелетная конечность, обернутая в псевдомышцы с низкопроводимостью." + attack_verb_continuous = list("шлёпает", "бьёт") + attack_verb_simple = list("шлёпает", "бьёт") inhand_icon_state = "buildpipe" icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -77,9 +79,10 @@ damage_examines = list(BRUTE = ROBOTIC_BRUTE_EXAMINE_TEXT, BURN = ROBOTIC_BURN_EXAMINE_TEXT, CLONE = DEFAULT_CLONE_EXAMINE_TEXT) /obj/item/bodypart/leg/left/robot - name = "cyborg left leg" - desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_simple = list("kicked", "stomped") + name = "левая нога киборга" + desc = "Скелетная конечность, обернутая в псевдомышцы с низкопроводимостью." + attack_verb_continuous = list("пинает", "давит") + attack_verb_simple = list("пинает", "давит") inhand_icon_state = "buildpipe" icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -123,9 +126,10 @@ to_chat(owner, span_danger("As your [plaintext_zone] unexpectedly malfunctions, it causes you to fall to the ground!")) /obj/item/bodypart/leg/right/robot - name = "cyborg right leg" - desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_simple = list("kicked", "stomped") + name = "правая нога киборга" + desc = "Скелетная конечность, обернутая в псевдомышцы с низкопроводимостью." + attack_verb_continuous = list("пинает", "давит") + attack_verb_simple = list("пинает", "давит") inhand_icon_state = "buildpipe" icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -169,8 +173,8 @@ to_chat(owner, span_danger("As your [plaintext_zone] unexpectedly malfunctions, it causes you to fall to the ground!")) /obj/item/bodypart/chest/robot - name = "cyborg torso" - desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." + name = "туловище киборга" + desc = "Тяжело укрепленный корпус, содержащий логические платы киборга, с отверстием под стандартную ячейку питания." inhand_icon_state = "buildpipe" icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -280,23 +284,23 @@ /obj/item/bodypart/chest/robot/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, span_warning("You have already inserted a cell!")) + to_chat(user, span_warning("Уже вставил[user.ru_a()] ячейку питания!")) return else if(!user.transferItemToLoc(weapon, src)) return cell = weapon - to_chat(user, span_notice("You insert the cell.")) + to_chat(user, span_notice("Вставил[user.ru_a()] ячейку питания.")) else if(istype(weapon, /obj/item/stack/cable_coil)) if(wired) - to_chat(user, span_warning("You have already inserted wire!")) + to_chat(user, span_warning("Уже вставил[user.ru_a()] провод!")) return var/obj/item/stack/cable_coil/coil = weapon if (coil.use(1)) wired = TRUE - to_chat(user, span_notice("You insert the wire.")) + to_chat(user, span_notice("Вставил[user.ru_a()] провод.")) else - to_chat(user, span_warning("You need one length of coil to wire it!")) + to_chat(user, span_warning("Мне нужен 1 кусок провода, чтобы присоединить его сюда!")) else return ..() @@ -306,7 +310,7 @@ return . = TRUE cutter.play_tool_sound(src) - to_chat(user, span_notice("You cut the wires out of [src].")) + to_chat(user, span_notice("Отрезаю провода в [src].")) new /obj/item/stack/cable_coil(drop_location(), 1) wired = FALSE @@ -314,24 +318,24 @@ ..() . = TRUE if(!cell) - to_chat(user, span_warning("There's no power cell installed in [src]!")) + to_chat(user, span_warning("В [src] не установлен источник питания!")) return screwtool.play_tool_sound(src) - to_chat(user, span_notice("Remove [cell] from [src].")) + to_chat(user, span_notice("Извлекаю [cell] из [src].")) cell.forceMove(drop_location()) /obj/item/bodypart/chest/robot/examine(mob/user) . = ..() if(cell) - . += {"It has a [cell] inserted.\n - [span_info("You can use a screwdriver to remove [cell].")]"} + . += {"Имеет вставленную [cell].\n + [span_info("Можно использовать отвертку, чтобы извлечь [cell].")]"} else - . += span_info("It has an empty port for a power cell.") + . += span_info("Имеет пустой слот для ячейки питания.") if(wired) - . += "Its all wired up[cell ? " and ready for usage" : ""].\n"+\ - span_info("You can use wirecutters to remove the wiring.") + . += "Всё подключено [cell ? " и готово для использования" : ""].\n"+\ + span_info("Можно использовать кусачки, чтобы извлечь проводку.") else - . += span_info("It has a couple spots that still need to be wired.") + . += span_info("Имеет пару гнезд, которые необходимо подключить.") /obj/item/bodypart/chest/robot/drop_organs(mob/user, violent_removal) var/atom/drop_loc = drop_location() @@ -342,8 +346,8 @@ return ..() /obj/item/bodypart/head/robot - name = "cyborg head" - desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." + name = "голова киборга" + desc = "Стандартная укрепленная черепная коробка, с подключаемой к позвоночнику нейронным сокетом и сенсорными стыковочными узлами." inhand_icon_state = "buildpipe" icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -410,25 +414,25 @@ /obj/item/bodypart/head/robot/examine(mob/user) . = ..() if(!flash1 && !flash2) - . += span_info("It has two empty eye sockets for flashes.") + . += span_info("Имеет два свободных слота для вспышек.") else var/single_flash = FALSE if(!flash1 || !flash2) single_flash = TRUE - . += {"One of its eye sockets is currently occupied by a flash.\n - [span_info("It has an empty eye socket for another flash.")]"} + . += {"Один из слотов на данный момент занят вспышкой.\n + [span_info("В ней есть еще один свободный слот под вспышку.")]"} else - . += "It has two eye sockets occupied by flashes." - . += span_notice("You can remove the seated flash[single_flash ? "":"es"] with a crowbar.") + . += "Оба слота заняты вспышками." + . += span_notice("Можно извлечь [single_flash ? "установленную вспышку":"установленные вспышки"] при помощи ломика.") /obj/item/bodypart/head/robot/attackby(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/assembly/flash/handheld)) var/obj/item/assembly/flash/handheld/flash = weapon if(flash1 && flash2) - to_chat(user, span_warning("You have already inserted the eyes!")) + to_chat(user, span_warning("Уже вставил[user.ru_a()] глаза!")) return else if(flash.burnt_out) - to_chat(user, span_warning("You can't use a broken flash!")) + to_chat(user, span_warning("Не могу использовать сломанную вспышку!")) return else if(!user.transferItemToLoc(flash, src)) @@ -437,7 +441,7 @@ flash2 = flash else flash1 = flash - to_chat(user, span_notice("You insert the flash into the eye socket.")) + to_chat(user, span_notice("Вставил[user.ru_a()] вспышку в соответствующий слот.")) return return ..() @@ -445,11 +449,11 @@ ..() if(flash1 || flash2) prytool.play_tool_sound(src) - to_chat(user, span_notice("You remove the flash from [src].")) + to_chat(user, span_notice("Извлекаю вспышку из [src].")) flash1?.forceMove(drop_location()) flash2?.forceMove(drop_location()) else - to_chat(user, span_warning("There is no flash to remove from [src].")) + to_chat(user, span_warning("В [src] нет вспышки которую можно извлечь.")) return TRUE /obj/item/bodypart/head/robot/drop_organs(mob/user, violent_removal) @@ -465,8 +469,8 @@ // HP is also reduced just in case this isnt enough /obj/item/bodypart/arm/left/robot/surplus - name = "surplus prosthetic left arm" - desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." + name = "бюджетный протез левой руки" + desc = "Скелетообразная кибер-конечность. Устаревшая и хрупкая, но всё же лучше чем ничего." icon_static = 'icons/mob/augmentation/surplus_augments.dmi' icon = 'icons/mob/augmentation/surplus_augments.dmi' burn_modifier = 1 @@ -476,8 +480,8 @@ biological_state = (BIO_METAL|BIO_JOINTED) /obj/item/bodypart/arm/right/robot/surplus - name = "surplus prosthetic right arm" - desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." + name = "бюджетный протез правой руки" + desc = "Скелетообразная кибер-конечность. Устаревшая и хрупкая, но всё же лучше чем ничего." icon_static = 'icons/mob/augmentation/surplus_augments.dmi' icon = 'icons/mob/augmentation/surplus_augments.dmi' burn_modifier = 1 @@ -487,8 +491,8 @@ biological_state = (BIO_METAL|BIO_JOINTED) /obj/item/bodypart/leg/left/robot/surplus - name = "surplus prosthetic left leg" - desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." + name = "бюджетный протез левой ноги" + desc = "Скелетообразная кибер-конечность. Устаревшая и хрупкая, но всё же лучше чем ничего." icon_static = 'icons/mob/augmentation/surplus_augments.dmi' icon = 'icons/mob/augmentation/surplus_augments.dmi' brute_modifier = 1 @@ -498,8 +502,8 @@ biological_state = (BIO_METAL|BIO_JOINTED) /obj/item/bodypart/leg/right/robot/surplus - name = "surplus prosthetic right leg" - desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing." + name = "бюджетный протез правой ноги" + desc = "Скелетообразная кибер-конечность. Устаревшая и хрупкая, но всё же лучше чем ничего." icon_static = 'icons/mob/augmentation/surplus_augments.dmi' icon = 'icons/mob/augmentation/surplus_augments.dmi' brute_modifier = 1 diff --git a/code/modules/surgery/bone_mending.dm b/code/modules/surgery/bone_mending.dm index 48114fe6d04aca..b7d75466463dce 100644 --- a/code/modules/surgery/bone_mending.dm +++ b/code/modules/surgery/bone_mending.dm @@ -3,7 +3,7 @@ ///// Repair Hairline Fracture (Severe) /datum/surgery/repair_bone_hairline - name = "Repair bone fracture (hairline)" + name = "Травматология: Лечение трещины" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB targetable_wound = /datum/wound/blunt/bone/severe possible_locs = list( @@ -29,7 +29,7 @@ ///// Repair Compound Fracture (Critical) /datum/surgery/repair_bone_compound - name = "Repair Compound Fracture" + name = "Травматология: Лечение перелома" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB targetable_wound = /datum/wound/blunt/bone/critical possible_locs = list( @@ -59,7 +59,7 @@ ///// Repair Hairline Fracture (Severe) /datum/surgery_step/repair_bone_hairline - name = "repair hairline fracture (bonesetter/bone gel/tape)" + name = "восстановите костную структуру (костоправ/костный гель/лента)" implements = list( /obj/item/bonesetter = 100, /obj/item/stack/medical/bone_gel = 100, @@ -73,13 +73,12 @@ display_results( user, target, - span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."), - span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "Your [parse_zone(user.zone_selected)] aches with pain!") + span_notice("Начинаю восстанавливать костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает восстанавливать костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] используя [tool].") , + span_notice("[user] начинает восстанавливать костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Моя [parse_zone(user.zone_selected)] болезненно ноет!") else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) /datum/surgery_step/repair_bone_hairline/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) @@ -89,14 +88,14 @@ display_results( user, target, - span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Успешно восстанавливаю костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно восстановил[user.ru_a()] костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] используя [tool]!") , + span_notice("[user] успешно восстановил[user.ru_a()] костную структуру в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]!")) + log_combat(user, target, "repaired a hairline fracture in", addition="COMBAT_MODE: [uppertext(user.combat_mode)]") qdel(surgery.operated_wound) else - to_chat(user, span_warning("[target] has no hairline fracture there!")) + to_chat(user, span_warning("[target] не имеет травм!")) return ..() /datum/surgery_step/repair_bone_hairline/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -109,7 +108,7 @@ ///// Reset Compound Fracture (Crticial) /datum/surgery_step/reset_compound_fracture - name = "reset bone (bonesetter)" + name = "вправьте кость (костоправ)" implements = list( /obj/item/bonesetter = 100, /obj/item/stack/sticky_tape/surgical = 60, @@ -122,13 +121,12 @@ display_results( user, target, - span_notice("You begin to reset the bone in [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)] with [tool]."), - span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "The aching pain in your [parse_zone(user.zone_selected)] is overwhelming!") + span_notice("Начинаю вправлять кость в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает вправлять кость в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] начинает вправлять кость в [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Ноющая боль в моей [ru_gde_zone(parse_zone(user.zone_selected))] невыносима!") else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) /datum/surgery_step/reset_compound_fracture/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) @@ -138,13 +136,13 @@ display_results( user, target, - span_notice("You successfully reset the bone in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Успешно вправляю кость в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно вправил[user.ru_a()] кость в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]!") , + span_notice("[user] успешно вправил[user.ru_a()] кость в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)]!")) + log_combat(user, target, "reset a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") else - to_chat(user, span_warning("[target] has no compound fracture there!")) + to_chat(user, span_warning("[target] не имеет травм!")) return ..() /datum/surgery_step/reset_compound_fracture/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -156,7 +154,7 @@ ///// Repair Compound Fracture (Crticial) /datum/surgery_step/repair_bone_compound - name = "repair compound fracture (bone gel/tape)" + name = "восстановите костную структуру (костный гель/лента)" implements = list( /obj/item/stack/medical/bone_gel = 100, /obj/item/stack/sticky_tape/surgical = 100, @@ -169,30 +167,26 @@ display_results( user, target, - span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."), - span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "The aching pain in your [parse_zone(user.zone_selected)] is overwhelming!") + span_notice("Вы начинаете восстанавливать костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает восстанавливать костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] начинает восстанавливать костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Ноющая боль в моей [parse_zone(user.zone_selected)] невыносима!!") else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) /datum/surgery_step/repair_bone_compound/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(surgery.operated_wound) if(isstack(tool)) var/obj/item/stack/used_stack = tool used_stack.use(1) - display_results( - user, - target, - span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!"), - ) + display_results(user, target, span_notice("Успешно восстанавливаю костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно восстановил[user.ru_a()] костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]!") , + span_notice("[user] успешно восстановил[user.ru_a()] костную структуру в [parse_zone(user.zone_selected)] [skloname(target.name, RODITELNI, target.gender)]!")) + log_combat(user, target, "repaired a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") qdel(surgery.operated_wound) else - to_chat(user, span_warning("[target] has no compound fracture there!")) + to_chat(user, span_warning("[target] не имеет травм!")) return ..() /datum/surgery_step/repair_bone_compound/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index 294b87afb866fa..6a8383cb687ed8 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -1,5 +1,5 @@ /datum/surgery/brain_surgery - name = "Brain surgery" + name = "Операция на мозге: Нейрохирургия" possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = NONE steps = list( @@ -12,7 +12,7 @@ ) /datum/surgery_step/fix_brain - name = "fix brain (hemostat)" + name = "исправить мозг (зажим)" implements = list( TOOL_HEMOSTAT = 85, TOOL_SCREWDRIVER = 35, @@ -33,27 +33,25 @@ display_results( user, target, - span_notice("You begin to fix [target]'s brain..."), - span_notice("[user] begins to fix [target]'s brain."), - span_notice("[user] begins to perform surgery on [target]'s brain."), - ) - display_pain(target, "Your head pounds with unimaginable pain!") + span_notice("Начинаю исправлять мозг [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает исправлять мозг [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Моя голова отдает невообразимой болью!") /datum/surgery_step/fix_brain/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) display_results( user, target, - span_notice("You succeed in fixing [target]'s brain."), - span_notice("[user] successfully fixes [target]'s brain!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "The pain in your head receeds, thinking becomes a bit easier!") + span_notice("Успешно исправил[user.ru_a()] мозг [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно исправил[user.ru_a()] мозг [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершил[user.ru_a()] операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Боль в голове утихает, думать становится немного проще!") if(target.mind?.has_antag_datum(/datum/antagonist/brainwashed)) target.mind.remove_antag_datum(/datum/antagonist/brainwashed) target.setOrganLoss(ORGAN_SLOT_BRAIN, target.get_organ_loss(ORGAN_SLOT_BRAIN) - 50) //we set damage in this case in order to clear the "failing" flag target.cure_all_traumas(TRAUMA_RESILIENCE_SURGERY) if(target.get_organ_loss(ORGAN_SLOT_BRAIN) > 0) - to_chat(user, "[target]'s brain looks like it could be fixed further.") + to_chat(user, "Похоже, что в мозгу [skloname(target.name, RODITELNI, target.gender)] всё еще можно что-то исправить.") return ..() /datum/surgery_step/fix_brain/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -61,13 +59,12 @@ display_results( user, target, - span_warning("You screw up, causing more damage!"), - span_warning("[user] screws up, causing brain damage!"), - span_notice("[user] completes the surgery on [target]'s brain."), - ) - display_pain(target, "Your head throbs with horrible pain; thinking hurts!") + span_warning("[gvorno(TRUE)], но я облажался, нанеся еще больший ущерб!") , + span_warning("[user] облажался, повредив мозг!") , + span_notice("[user] завершил операцию на мозге [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Голова пульсирует с ужасной болью, я едва могу соображать!") target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60) target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY) else - user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore.")) + user.visible_message(span_warning("[user] внезапно замечает что мозг над которым [user.ru_who()] работал[user.ru_a()] пропал.") , span_warning("Неожиданно обнаруживаю что мозг, над которым я работал, исчез.")) return FALSE diff --git a/code/modules/surgery/burn_dressing.dm b/code/modules/surgery/burn_dressing.dm index c22a8f4be97347..5cc2e51be82cd0 100644 --- a/code/modules/surgery/burn_dressing.dm +++ b/code/modules/surgery/burn_dressing.dm @@ -3,7 +3,7 @@ ///// Debride burnt flesh /datum/surgery/debride - name = "Debride burnt flesh" + name = "Травматология: Удаление инфекции" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB targetable_wound = /datum/wound/burn/flesh possible_locs = list( @@ -31,7 +31,7 @@ ///// Debride /datum/surgery_step/debride - name = "excise infection (hemostat)" + name = "удалите инфекцию (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_SCALPEL = 85, @@ -47,55 +47,32 @@ /// How much infestation is removed per step (positive number) var/infestation_removed = 4 -/// To give the surgeon a heads up how much work they have ahead of them -/datum/surgery_step/debride/proc/get_progress(mob/user, mob/living/carbon/target, datum/wound/burn/flesh/burn_wound) - if(!burn_wound?.infestation || !infestation_removed) - return - var/estimated_remaining_steps = burn_wound.infestation / infestation_removed - var/progress_text - - switch(estimated_remaining_steps) - if(-INFINITY to 1) - return - if(1 to 2) - progress_text = ", preparing to remove the last remaining bits of infection" - if(2 to 4) - progress_text = ", steadily narrowing the remaining bits of infection" - if(5 to INFINITY) - progress_text = ", though there's still quite a lot to excise" - - return progress_text - /datum/surgery_step/debride/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(surgery.operated_wound) var/datum/wound/burn/flesh/burn_wound = surgery.operated_wound if(burn_wound.infestation <= 0) - to_chat(user, span_notice("[target]'s [parse_zone(user.zone_selected)] has no infected flesh to remove!")) + to_chat(user, span_notice(" На [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] нет инфицированной плоти, которую можно удалить!")) surgery.status++ repeatable = FALSE return display_results( user, target, - span_notice("You begin to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)] with [tool]."), - span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "The infection in your [parse_zone(user.zone_selected)] stings like hell! It feels like you're being stabbed!") + span_notice("Начинаю удалять инфицированную плоть с [ru_otkuda_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] ...") , + span_notice("[user] начинает удалять инфицированную плоть с [ru_otkuda_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] начинает удалять инфицированную плоть с [ru_otkuda_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].")) else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) /datum/surgery_step/debride/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/burn/flesh/burn_wound = surgery.operated_wound if(burn_wound) - var/progress_text = get_progress(user, target, burn_wound) display_results( user, target, - span_notice("You successfully excise some of the infected flesh from [target]'s [parse_zone(target_zone)][progress_text]."), - span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Успешно удалил[user.ru_a()] некоторую инфицированную плоть с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] .") , + span_notice("[user] успешно удалил[user.ru_a()] некоторую инфицированную плоть с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]!") , + span_notice("[user] успешно удалил[user.ru_a()] некоторую инфицированную плоть с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!")) log_combat(user, target, "excised infected flesh in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") surgery.operated_bodypart.receive_damage(brute=3, wound_bonus=CANT_WOUND) burn_wound.infestation -= infestation_removed @@ -103,7 +80,7 @@ if(burn_wound.infestation <= 0) repeatable = FALSE else - to_chat(user, span_warning("[target] has no infected flesh there!")) + to_chat(user, span_warning("У [skloname(target.name, RODITELNI, target.gender)] тут нет инфицированной плоти!")) return ..() /datum/surgery_step/debride/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) @@ -111,10 +88,9 @@ display_results( user, target, - span_notice("You carve away some of the healthy flesh from [target]'s [parse_zone(target_zone)]."), - span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Отрезал[user.ru_a()] немного здоровой плоти с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] отрезал[user.ru_a()] немного здоровой плоти с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]!") , + span_notice("[user] отрезал[user.ru_a()] немного здоровой плоти с [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!")) surgery.operated_bodypart.receive_damage(brute=rand(4,8), sharpness=TRUE) /datum/surgery_step/debride/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) @@ -127,7 +103,7 @@ ///// Dressing burns /datum/surgery_step/dress - name = "bandage burns (gauze/tape)" + name = "обработайте ожоги (бинт/лента)" implements = list( /obj/item/stack/medical/gauze = 100, /obj/item/stack/sticky_tape/surgical = 100) @@ -141,16 +117,12 @@ /datum/surgery_step/dress/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/datum/wound/burn/flesh/burn_wound = surgery.operated_wound if(burn_wound) - display_results( - user, - target, - span_notice("You begin to dress the burns on [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)] with [tool]."), - span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "The burns on your [parse_zone(user.zone_selected)] sting like hell!") + display_results(user, target, span_notice("Начинаю перевязку ожогов на [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает перевязку ожогов на [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] начинает перевязку ожогов на [ru_gde_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Ожоги на моей [ru_gde_zone(parse_zone(user.zone_selected))] адски болят!") else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) /datum/surgery_step/dress/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/datum/wound/burn/flesh/burn_wound = surgery.operated_wound @@ -158,17 +130,16 @@ display_results( user, target, - span_notice("You successfully wrap [target]'s [parse_zone(target_zone)] with [tool]."), - span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Успешно обернул[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))] при помощи [tool].") , + span_notice("[user] успешно обернул[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))] при помощи [tool]!") , + span_notice("[user] спешно обернул[user.ru_a()] [ru_parse_zone(parse_zone(target_zone))]!")) log_combat(user, target, "dressed burns in", addition="COMBAT MODE: [uppertext(user.combat_mode)]") burn_wound.sanitization += sanitization_added burn_wound.flesh_healing += flesh_healing_added var/obj/item/bodypart/the_part = target.get_bodypart(target_zone) the_part.apply_gauze(tool) else - to_chat(user, span_warning("[target] has no burns there!")) + to_chat(user, span_warning("У [skloname(target.name, RODITELNI, target.gender)] тут нет ожогов!")) return ..() /datum/surgery_step/dress/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0) diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index ac8c69610c3504..2dd16396ae426b 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -1,5 +1,5 @@ /datum/surgery/cavity_implant - name = "Cavity implant" + name = "Имплантирование предмета в полость" possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -11,7 +11,7 @@ //handle cavity /datum/surgery_step/handle_cavity - name = "implant item" + name = "поместите или извлеките предмет" accept_hand = 1 implements = list(/obj/item = 100) repeatable = TRUE @@ -32,34 +32,34 @@ display_results( user, target, - span_notice("You begin to insert [tool] into [target]'s [target_zone]..."), - span_notice("[user] begins to insert [tool] into [target]'s [target_zone]."), - span_notice("[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."), - ) - display_pain(target, "You can feel something being inserted into your [target_zone], it hurts like hell!") + span_notice("Начинаю помещать [tool] в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает помещать [tool] в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает помещать что-то в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + playsound(get_turf(target), 'sound/surgery/organ1.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain( + target, + "В мою [ru_parse_zone(parse_zone(target_zone))] что-то поместили! Больно!") else display_results( user, target, - span_notice("You check for items in [target]'s [target_zone]..."), - span_notice("[user] checks for items in [target]'s [target_zone]."), - span_notice("[user] looks for something in [target]'s [target_zone]."), - ) + span_notice("Начинаю искать инородные объекты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает искать инородные объекты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает искать инородные объекты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery = FALSE) var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST) if(tool) if(item_for_cavity || tool.w_class > WEIGHT_CLASS_NORMAL || HAS_TRAIT(tool, TRAIT_NODROP) || isorgan(tool)) - to_chat(user, span_warning("You can't seem to fit [tool] in [target]'s [target_zone]!")) + to_chat(user, span_warning("Кажется [tool] не поместиться в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] из-за слишком крупных размеров!")) return FALSE else display_results( user, target, - span_notice("You stuff [tool] into [target]'s [target_zone]."), - span_notice("[user] stuffs [tool] into [target]'s [target_zone]!"), - span_notice("[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."), - ) + span_notice("Успешно поместил[user.ru_a()] [tool] в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] поместил[user.ru_a()] [tool] в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] поместил[user.ru_a()] что-то в [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) user.transferItemToLoc(tool, target, TRUE) target_chest.cavity_item = tool return ..() @@ -68,14 +68,14 @@ display_results( user, target, - span_notice("You pull [item_for_cavity] out of [target]'s [target_zone]."), - span_notice("[user] pulls [item_for_cavity] out of [target]'s [target_zone]!"), - span_notice("[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone]."), - ) - display_pain(target, "Something is pulled out of your [target_zone]! It hurts like hell!") + span_notice("Извлекаю [item_for_cavity] из [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] извлек [item_for_cavity] из [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] извлек что-то из [ru_otkuda_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + playsound(get_turf(target), 'sound/surgery/organ2.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Из моей [ru_otkuda_zone(parse_zone(target_zone))] что-то вытаскивают! Это весьма неприятно!") user.put_in_hands(item_for_cavity) target_chest.cavity_item = null return ..() else - to_chat(user, span_warning("You don't find anything in [target]'s [target_zone].")) + to_chat(user, span_warning("Не могу найти нечего в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) return FALSE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index 4ada9e7b59a32a..fd13e0c1faa877 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -1,5 +1,5 @@ /datum/surgery/core_removal - name = "Core removal" + name = "Извлечь ядро" target_mobtypes = list(/mob/living/simple_animal/slime) surgery_flags = SURGERY_IGNORE_CLOTHES possible_locs = list( @@ -22,7 +22,7 @@ //extract brain /datum/surgery_step/extract_core - name = "extract core (hemostat/crowbar)" + name = "извлеките ядро (зажим/лом)" implements = list( TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100) diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index 7536598fe7ddd8..936ef8617c5636 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -1,5 +1,5 @@ /datum/surgery/coronary_bypass - name = "Coronary Bypass" + name = "Реконструкция: Коронарное шунтирование" organ_to_manipulate = ORGAN_SLOT_HEART possible_locs = list(BODY_ZONE_CHEST) steps = list( @@ -22,7 +22,7 @@ //an incision but with greater bleed, and a 90% base success chance /datum/surgery_step/incise_heart - name = "incise heart (scalpel)" + name = "надрежьте сердце (скальпель)" implements = list( TOOL_SCALPEL = 90, /obj/item/melee/energy/sword = 45, @@ -37,11 +37,10 @@ display_results( user, target, - span_notice("You begin to make an incision in [target]'s heart..."), - span_notice("[user] begins to make an incision in [target]'s heart."), - span_notice("[user] begins to make an incision in [target]'s heart."), - ) - display_pain(target, "You feel a horrendous pain in your heart, it's almost enough to make you pass out!") + span_notice("Начинаю делать надрез в сердце [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать надрез в [target.ru_who()] сердце."), + span_notice("[user] начинает делать надрез в [target.ru_who()] сердце.")) + display_pain(target, "Мое сердце! Почему так больно? Эй! А можно наркоз?!") /datum/surgery_step/incise_heart/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) @@ -50,10 +49,10 @@ display_results( user, target, - span_notice("Blood pools around the incision in [target_human]'s heart."), - span_notice("Blood pools around the incision in [target_human]'s heart."), - span_notice("Blood pools around the incision in [target_human]'s heart."), - ) + span_notice("Кровь брызгает вокруг надреза в сердце [target_human].") , + span_notice("Кровь брызгает вокруг надреза в сердце [target_human]"), + span_notice("Кровь брызгает вокруг надреза в сердце [target_human]")) + var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.adjustBleedStacks(10) target_human.adjustBruteLoss(10) @@ -65,10 +64,9 @@ display_results( user, target, - span_warning("You screw up, cutting too deeply into the heart!"), - span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!"), - span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!"), - ) + span_warning("[gvorno(TRUE)], но я облажался, сделав слишком глубокий надрез в сердце!") , + span_warning("[user] облажался, из-за чего из груди [target_human] брызгает кровь!") , + span_warning("[user] облажался, из-за чего из груди [target_human] брызгает кровь!")) var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.adjustBleedStacks(10) target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 10) @@ -76,7 +74,7 @@ //grafts a coronary bypass onto the individual's heart, success chance is 90% base again /datum/surgery_step/coronary_bypass - name = "graft coronary bypass (hemostat)" + name = "выполните аортокоронарное штунирование (зажим)" implements = list( TOOL_HEMOSTAT = 90, TOOL_WIRECUTTER = 35, @@ -91,11 +89,10 @@ display_results( user, target, - span_notice("You begin to graft a bypass onto [target]'s heart..."), - span_notice("[user] begins to graft something onto [target]'s heart!"), - span_notice("[user] begins to graft something onto [target]'s heart!"), - ) - display_pain(target, "The pain in your chest is unbearable! You can barely take it anymore!") + span_notice("Начинаю делать обходное штунирование сердца [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать обходное штунирование [target.ru_who()] сердца!") , + span_notice("[user] начинает делать обходное штунирование [target.ru_who()] сердца!")) + display_pain(target, "Дьявол! Боль в груди невыносима! Я едва могу терпеть её!") /datum/surgery_step/coronary_bypass/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) target.setOrganLoss(ORGAN_SLOT_HEART, 60) @@ -105,11 +102,10 @@ display_results( user, target, - span_notice("You successfully graft a bypass onto [target]'s heart."), - span_notice("[user] finishes grafting something onto [target]'s heart."), - span_notice("[user] finishes grafting something onto [target]'s heart."), - ) - display_pain(target, "The pain in your chest throbs, but your heart feels better than ever!") + span_notice("Успешно выполняю обходное штунирование на сердце [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно выполняет обходное штунирование на [target.ru_who()] сердце.") , + span_notice("[user] успешно выполняет обходное штунирование на [target.ru_who()] сердце.")) + display_pain(target, "Господи! Наконец то это закончилось...") return ..() /datum/surgery_step/coronary_bypass/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -118,11 +114,11 @@ display_results( user, target, - span_warning("You screw up in attaching the graft, and it tears off, tearing part of the heart!"), - span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!"), - span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!"), - ) - display_pain(target, "Your chest burns; you feel like you're going insane!") + span_warning("[gvorno(TRUE)], но я облажался, выполняя штунирование, разорвав часть сердца!") , + span_warning("[user] облажался, из-за чего из груди [target_human] обильно льётся кровь!") , + span_warning("[user] облажался, из-за чего из груди [target_human] обильно льётся кровь!") , + playsound(get_turf(target), 'sound/surgery/organ2.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Грудь буквально горит болью! Кажется, будто я схожу с ума!") target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 20) var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone) target_bodypart.adjustBleedStacks(30) diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm index 5f9ce3d4d884fe..87200bf3e3c31c 100644 --- a/code/modules/surgery/dental_implant.dm +++ b/code/modules/surgery/dental_implant.dm @@ -1,5 +1,5 @@ /datum/surgery/dental_implant - name = "Dental implant" + name = "Имплантация капсулы" possible_locs = list(BODY_ZONE_PRECISE_MOUTH) steps = list( /datum/surgery_step/drill, @@ -7,7 +7,7 @@ ) /datum/surgery_step/insert_pill - name = "insert pill" + name = "вставьте пилюлю" implements = list(/obj/item/reagent_containers/pill = 100) time = 16 @@ -15,11 +15,10 @@ display_results( user, target, - span_notice("You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to wedge [tool] in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to wedge something in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "Something's being jammed into your [parse_zone(target_zone)]!") + span_notice("Начинаю помещать [tool] в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинет вводить [tool] в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинат вводить что-то в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)] .")) + display_pain(target, "Ау, больно! Зуб болит!") /datum/surgery_step/insert_pill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/reagent_containers/pill/tool, datum/surgery/surgery, default_display_results = FALSE) if(!istype(tool)) @@ -36,10 +35,9 @@ display_results( user, target, - span_notice("You wedge [tool] into [target]'s [parse_zone(target_zone)]."), - span_notice("[user] wedges [tool] into [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] wedges something into [target]'s [parse_zone(target_zone)]!"), - ) + span_notice("Ввел[user.ru_a()] [tool] в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)] .") , + span_notice("[user] ввел[user.ru_a()] [tool] в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] ввел[user.ru_a()] что-то в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)] !")) return ..() /datum/action/item_action/hands_free/activate_pill @@ -49,7 +47,7 @@ if(!..()) return FALSE var/obj/item/item_target = target - to_chat(owner, span_notice("You grit your teeth and burst the implanted [item_target.name]!")) + to_chat(owner, span_notice("Сжимаю зубы и разжёвываю имплант [item_target.name]!")) owner.log_message("swallowed an implanted pill, [target]", LOG_ATTACK) if(item_target.reagents.total_volume) item_target.reagents.trans_to(owner, item_target.reagents.total_volume, transferred_by = owner, methods = INGEST) diff --git a/code/modules/surgery/ear_surgery.dm b/code/modules/surgery/ear_surgery.dm index 416857bafb2568..838d92cff312c8 100644 --- a/code/modules/surgery/ear_surgery.dm +++ b/code/modules/surgery/ear_surgery.dm @@ -1,6 +1,6 @@ //Head surgery to fix the ears organ /datum/surgery/ear_surgery - name = "Ear surgery" + name = "Ушная хирургия" requires_bodypart_type = NONE organ_to_manipulate = ORGAN_SLOT_EARS possible_locs = list(BODY_ZONE_HEAD) @@ -15,7 +15,7 @@ //fix ears /datum/surgery_step/fix_ears - name = "fix ears (hemostat)" + name = "исправьте уши (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 45, diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm index 7b6d7844ee6c49..e81125a9a10b16 100644 --- a/code/modules/surgery/eye_surgery.dm +++ b/code/modules/surgery/eye_surgery.dm @@ -1,5 +1,5 @@ /datum/surgery/eye_surgery - name = "Eye surgery" + name = "Глазная хирургия" requires_bodypart_type = NONE organ_to_manipulate = ORGAN_SLOT_EYES possible_locs = list(BODY_ZONE_PRECISE_EYES) @@ -13,7 +13,7 @@ //fix eyes /datum/surgery_step/fix_eyes - name = "fix eyes (hemostat)" + name = "исправьте глаза (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 45, @@ -23,31 +23,23 @@ /datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES) if(!target_eyes) - to_chat(user, span_warning("It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.")) + to_chat(user, span_warning("Довольно сложно оперировать чьи-то глаза, если у [target.ru_who()] их нет.")) return FALSE return TRUE /datum/surgery_step/fix_eyes/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to fix [target]'s eyes..."), - span_notice("[user] begins to fix [target]'s eyes."), - span_notice("[user] begins to perform surgery on [target]'s eyes."), - ) - display_pain(target, "You feel a stabbing pain in your eyes!") + display_results(user, target, span_notice("Начинаю исправлять глаза [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает исправлять глаза [target.ru_who()].") , + span_notice("[user] начинает операцию на глазах [target.ru_who()].")) + display_pain(target, "Чувствую резкую боль в глазах!") /datum/surgery_step/fix_eyes/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/obj/item/organ/internal/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES) - user.visible_message(span_notice("[user] successfully fixes [target]'s eyes!"), span_notice("You succeed in fixing [target]'s eyes.")) - display_results( - user, - target, - span_notice("You succeed in fixing [target]'s eyes."), - span_notice("[user] successfully fixes [target]'s eyes!"), - span_notice("[user] completes the surgery on [target]'s eyes."), - ) - display_pain(target, "Your vision blurs, but it seems like you can see a little better now!") + user.visible_message(span_notice("[user] успешно исправил[user.ru_a()] [target.ru_who()] глаза!") , span_notice("Успешно исправил глаза [skloname(target.name, RODITELNI, target.gender)].")) + display_results(user, target, span_notice("Успешно исправил[user.ru_a()] глаза [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно исправил[user.ru_a()] глаза [target.ru_who()]!") , + span_notice("[user] завершил операцию на глазах [target.ru_who()].")) + display_pain(target, "Зрение размывается, но с каждой секундой я вижу окружающее все четче!") target.remove_status_effect(/datum/status_effect/temporary_blindness) target.set_eye_blur_if_lower(70 SECONDS) //this will fix itself slowly. target_eyes.set_organ_damage(0) // heals nearsightedness and blindness from eye damage @@ -55,22 +47,14 @@ /datum/surgery_step/fix_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target.get_organ_by_type(/obj/item/organ/internal/brain)) - display_results( - user, - target, - span_warning("You accidentally stab [target] right in the brain!"), - span_warning("[user] accidentally stabs [target] right in the brain!"), - span_warning("[user] accidentally stabs [target] right in the brain!"), - ) - display_pain(target, "You feel a visceral stabbing pain right through your head, into your brain!") + display_results(user, target, span_warning("Случайно уколол[user.ru_a()] [skloname(target.name, RODITELNI, target.gender)] прямо в мозг!") , + span_warning("[user] случайно уколол[user.ru_a()] [target.ru_who()] прямо в мозг!") , + span_warning("[user] случайно уколол[user.ru_a()] [target.ru_who()] прямо в мозг!")) + display_pain(target, "Чувствую чудовищную боль прямо у себя в мозге!") target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 70) else - display_results( - user, - target, - span_warning("You accidentally stab [target] right in the brain! Or would have, if [target] had a brain."), - span_warning("[user] accidentally stabs [target] right in the brain! Or would have, if [target] had a brain."), - span_warning("[user] accidentally stabs [target] right in the brain!"), - ) - display_pain(target, "You feel a visceral stabbing pain right through your head!") // dunno who can feel pain w/o a brain but may as well be consistent. + display_results(user, target, span_warning("Случайно уколол[user.ru_a()] [skloname(target.name, RODITELNI, target.gender)] прямо в мозг! Ну, точнее уколол бы, если бы у [target.ru_who()] был мозг.") , + span_warning("[user] случайно уколол[user.ru_a()] [target.ru_who()] прямо в мозг! Ну, точнее уколол бы, если бы у [target.ru_who()] был мозг.") , + span_warning("[user] случайно уколол[user.ru_a()] [target.ru_who()] прямо в мозг!")) + display_pain(target, "Чувствую чудовищную боль прямо у себя в голове!") // dunno who can feel pain w/o a brain but may as well be consistent return FALSE diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm index 417e6716eb57ba..41c411ca72d464 100644 --- a/code/modules/surgery/gastrectomy.dm +++ b/code/modules/surgery/gastrectomy.dm @@ -1,5 +1,5 @@ /datum/surgery/gastrectomy - name = "Gastrectomy" + name = "Реконструкция: Гастрэктомия" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB organ_to_manipulate = ORGAN_SLOT_STOMACH possible_locs = list(BODY_ZONE_CHEST) @@ -24,7 +24,7 @@ ////Gastrectomy, because we truly needed a way to repair stomachs. //95% chance of success to be consistent with most organ-repairing surgeries. /datum/surgery_step/gastrectomy - name = "remove lower duodenum (scalpel)" + name = "удалить нижнюю часть двенадцатиперстной кишки (скальпель)" implements = list( TOOL_SCALPEL = 95, /obj/item/melee/energy/sword = 65, @@ -36,14 +36,10 @@ failure_sound = 'sound/surgery/organ2.ogg' /datum/surgery_step/gastrectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to cut out a damaged piece of [target]'s stomach..."), - span_notice("[user] begins to make an incision in [target]."), - span_notice("[user] begins to make an incision in [target]."), - ) - display_pain(target, "You feel a horrible stab in your gut!") + display_results(user, target, span_notice("Начинаю вырезать часть поврежденного желудка [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] делает надрез желудка [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] делает надрез желудка [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую резкую боль в животе!") /datum/surgery_step/gastrectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/mob/living/carbon/human/target_human = target @@ -51,25 +47,17 @@ target_human.setOrganLoss(ORGAN_SLOT_STOMACH, 20) // Stomachs have a threshold for being able to even digest food, so I might tweak this number if(target_stomach) target_stomach.operated = TRUE - display_results( - user, - target, - span_notice("You successfully remove the damaged part of [target]'s stomach."), - span_notice("[user] successfully removes the damaged part of [target]'s stomach."), - span_notice("[user] successfully removes the damaged part of [target]'s stomach."), - ) - display_pain(target, "The pain in your gut ebbs and fades somewhat.") + display_results(user, target, span_notice("Успешно извлекаю поврежденную часть желудка [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно извлекает поврежденную часть желудка [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно извлекает поврежденную часть желудка [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Боль в животе ослабевает и немного утихает.") return ..() /datum/surgery_step/gastrectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery) var/mob/living/carbon/human/target_human = target target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 15) - display_results( - user, - target, - span_warning("You cut the wrong part of [target]'s stomach!"), - span_warning("[user] cuts the wrong part of [target]'s stomach!"), - span_warning("[user] cuts the wrong part of [target]'s stomach!"), - ) - display_pain(target, "Your stomach throbs with pain; it's not getting any better!") - + display_results(user, target, span_warning("Вырезал[user.ru_a()] неверную часть желудка [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] вырезал[user.ru_a()] неверную часть желудка [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] вырезал[user.ru_a()] неверную часть желудка [skloname(target.name, RODITELNI, target.gender)]!") , + playsound(get_turf(target), 'sound/surgery/organ2.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Больно! Дьявол, это очень больно!") diff --git a/code/modules/surgery/healing.dm b/code/modules/surgery/healing.dm index efef97cca74f3e..b9ed9252fe5da2 100644 --- a/code/modules/surgery/healing.dm +++ b/code/modules/surgery/healing.dm @@ -30,7 +30,7 @@ /datum/surgery_step/close) /datum/surgery_step/heal - name = "repair body (hemostat)" + name = "восстановить тело (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 65, @@ -51,22 +51,17 @@ /datum/surgery_step/heal/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/woundtype if(brutehealing && burnhealing) - woundtype = "wounds" + woundtype = "раны" else if(brutehealing) - woundtype = "bruises" + woundtype = "синяки" else //why are you trying to 0,0...? - woundtype = "burns" + woundtype = "ожоги" if(istype(surgery,/datum/surgery/healing)) var/datum/surgery/healing/the_surgery = surgery if(!the_surgery.antispam) - display_results( - user, - target, - span_notice("You attempt to patch some of [target]'s [woundtype]."), - span_notice("[user] attempts to patch some of [target]'s [woundtype]."), - span_notice("[user] attempts to patch some of [target]'s [woundtype]."), - ) - display_pain(target, "Your [woundtype] sting like hell!") + display_results(user, target, span_notice("Пытаюсь залатать [woundtype] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] пытается залатать [woundtype] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] пытается залатать [woundtype] [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/heal/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) if(!..()) @@ -76,8 +71,8 @@ break /datum/surgery_step/heal/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - var/user_msg = "You succeed in fixing some of [target]'s wounds" //no period, add initial space to "addons" - var/target_msg = "[user] fixes some of [target]'s wounds" //see above + var/user_msg = "Успешно залатываю некоторые раны [skloname(target.name, RODITELNI, target.gender)]" //no period, add initial space to "addons" + var/target_msg = "[user] залатывает некоторые раны [skloname(target.name, RODITELNI, target.gender)]" //see above var/brute_healed = brutehealing var/burn_healed = burnhealing var/dead_patient = FALSE @@ -92,8 +87,8 @@ if(!get_location_accessible(target, target_zone)) brute_healed *= 0.55 burn_healed *= 0.55 - user_msg += " as best as you can while [target.p_they()] [target.p_have()] clothing on" - target_msg += " as best as [user.p_they()] can while [target.p_they()] [target.p_have()] clothing on" + user_msg += " настолько хорошо, насколько может из-за мешающейся одежды." + target_msg += " настолько хорошо, насколько может из-за мешающейся одежды." target.heal_bodypart_damage(brute_healed,burn_healed) user_msg += get_progress(user, target, brute_healed, burn_healed) @@ -118,9 +113,9 @@ display_results( user, target, - span_warning("You screwed up!"), - span_warning("[user] screws up!"), - span_notice("[user] fixes some of [target]'s wounds."), + span_warning("[gvorno(TRUE)], но я облажался!"), + span_warning("[user] облажался!") , + span_notice("[user] залатывает некоторые раны [skloname(target.name, RODITELNI, target.gender)]."), target_detailed = TRUE, ) var/brute_dealt = brutehealing * 0.8 @@ -132,23 +127,25 @@ /***************************BRUTE***************************/ /datum/surgery/healing/brute - name = "Tend Wounds (Bruises)" + name = "Лечение ран (Ушибов)" /datum/surgery/healing/brute/basic - name = "Tend Wounds (Bruises, Basic)" + name = "Лечение ран (Ушибов, Базовое)" + desc = "Хирургическая операция которая оказывает базовую медицинскую помощь при физических ранах. Лечение немного более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/brute/upgraded healing_step_type = /datum/surgery_step/heal/brute/basic - desc = "A surgical procedure that provides basic treatment for a patient's brute traumas. Heals slightly more when the patient is severely injured." /datum/surgery/healing/brute/upgraded - name = "Tend Wounds (Bruises, Adv.)" + name = "Лечение ран (Ушибов, Продвинутое)" + desc = "Хирургическая операция которая оказывает продвинутую медицинскую помощь при физических ранах. Лечение более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/brute/upgraded/femto requires_tech = TRUE healing_step_type = /datum/surgery_step/heal/brute/upgraded desc = "A surgical procedure that provides advanced treatment for a patient's brute traumas. Heals more when the patient is severely injured." /datum/surgery/healing/brute/upgraded/femto - name = "Tend Wounds (Bruises, Exp.)" + name = "Лечение ран (Ушибов, Экспертное)" + desc = "Хирургическая операция которая оказывает экспертную медицинскую помощь при физических ранах. Лечение намного более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/combo/upgraded/femto requires_tech = TRUE healing_step_type = /datum/surgery_step/heal/brute/upgraded/femto @@ -156,35 +153,10 @@ /********************BRUTE STEPS********************/ /datum/surgery_step/heal/brute/get_progress(mob/user, mob/living/carbon/target, brute_healed, burn_healed) - if(!brute_healed) - return - - var/estimated_remaining_steps = target.getBruteLoss() / brute_healed - var/progress_text - - if(locate(/obj/item/healthanalyzer) in user.held_items) - progress_text = ". Remaining brute: [target.getBruteLoss()]" - else - switch(estimated_remaining_steps) - if(-INFINITY to 1) - return - if(1 to 3) - progress_text = ", stitching up the last few scrapes" - if(3 to 6) - progress_text = ", counting down the last few bruises left to treat" - if(6 to 9) - progress_text = ", continuing to plug away at [target.p_their()] extensive rupturing" - if(9 to 12) - progress_text = ", steadying yourself for the long surgery ahead" - if(12 to 15) - progress_text = ", though [target.p_they()] still look[target.p_s()] more like ground beef than a person" - if(15 to INFINITY) - progress_text = ", though you feel like you're barely making a dent in treating [target.p_their()] pulped body" - - return progress_text + return /datum/surgery_step/heal/brute/basic - name = "tend bruises (hemostat)" + name = "лечение ран (зажим)" brutehealing = 5 brute_multiplier = 0.07 @@ -198,58 +170,34 @@ /***************************BURN***************************/ /datum/surgery/healing/burn - name = "Tend Wounds (Burn)" + name = "Лечение ран (Ожогов)" /datum/surgery/healing/burn/basic - name = "Tend Wounds (Burn, Basic)" + name = "Лечение ран (Ожогов, Базовое)" + desc = "Хирургическая операция которая оказывает базовую медицинскую помощь при ожоговых ранах. Лечение немного более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/burn/upgraded healing_step_type = /datum/surgery_step/heal/burn/basic - desc = "A surgical procedure that provides basic treatment for a patient's burns. Heals slightly more when the patient is severely injured." /datum/surgery/healing/burn/upgraded - name = "Tend Wounds (Burn, Adv.)" + name = "Лечение ран (Ожогов, Продвинутое)" + desc = "Хирургическая операция которая оказывает продвинутую медицинскую помощь при ожоговых ранах. Лечение более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/burn/upgraded/femto requires_tech = TRUE healing_step_type = /datum/surgery_step/heal/burn/upgraded - desc = "A surgical procedure that provides advanced treatment for a patient's burns. Heals more when the patient is severely injured." /datum/surgery/healing/burn/upgraded/femto - name = "Tend Wounds (Burn, Exp.)" + name = "Лечение ран (Ожогов, Экспертное)" + desc = "Хирургическая операция которая оказывает экспертную медицинскую помощь при ожоговых ранах. Лечение намного более эффективно при серьезных травмах." replaced_by = /datum/surgery/healing/combo/upgraded/femto requires_tech = TRUE healing_step_type = /datum/surgery_step/heal/burn/upgraded/femto - desc = "A surgical procedure that provides experimental treatment for a patient's burns. Heals considerably more when the patient is severely injured." /********************BURN STEPS********************/ /datum/surgery_step/heal/burn/get_progress(mob/user, mob/living/carbon/target, brute_healed, burn_healed) - if(!burn_healed) - return - var/estimated_remaining_steps = target.getFireLoss() / burn_healed - var/progress_text - - if(locate(/obj/item/healthanalyzer) in user.held_items) - progress_text = ". Remaining burn: [target.getFireLoss()]" - else - switch(estimated_remaining_steps) - if(-INFINITY to 1) - return - if(1 to 3) - progress_text = ", finishing up the last few singe marks" - if(3 to 6) - progress_text = ", counting down the last few blisters left to treat" - if(6 to 9) - progress_text = ", continuing to plug away at [target.p_their()] thorough roasting" - if(9 to 12) - progress_text = ", steadying yourself for the long surgery ahead" - if(12 to 15) - progress_text = ", though [target.p_they()] still look[target.p_s()] more like burnt steak than a person" - if(15 to INFINITY) - progress_text = ", though you feel like you're barely making a dent in treating [target.p_their()] charred body" - - return progress_text + return /datum/surgery_step/heal/burn/basic - name = "tend burn wounds (hemostat)" + name = "лечение ожогов (зажим)" burnhealing = 5 burn_multiplier = 0.07 @@ -266,61 +214,31 @@ /datum/surgery/healing/combo - name = "Tend Wounds (Mixture, Basic)" + name = "Лечение ран (Смешанных, Основное)" replaced_by = /datum/surgery/healing/combo/upgraded requires_tech = TRUE healing_step_type = /datum/surgery_step/heal/combo - desc = "A surgical procedure that provides basic treatment for a patient's burns and brute traumas. Heals slightly more when the patient is severely injured." + desc = "Хирургическая операция которая оказывает базовую медицинскую помощь при смешанных физических и ожоговых ранах. Лечение немного более эффективно при серьезных травмах." /datum/surgery/healing/combo/upgraded - name = "Tend Wounds (Mixture, Adv.)" + name = "Лечение ран (Смешанных, Продвинутое)" replaced_by = /datum/surgery/healing/combo/upgraded/femto healing_step_type = /datum/surgery_step/heal/combo/upgraded - desc = "A surgical procedure that provides advanced treatment for a patient's burns and brute traumas. Heals more when the patient is severely injured." + desc = "Хирургическая операция которая оказывает продвинутую медицинскую помощь при смешанных физических и ожоговых ранах. Лечение более эффективно при серьезных травмах." /datum/surgery/healing/combo/upgraded/femto //no real reason to type it like this except consistency, don't worry you're not missing anything - name = "Tend Wounds (Mixture, Exp.)" + name = "Лечение ран (Смешанных, Экспертное)" replaced_by = null healing_step_type = /datum/surgery_step/heal/combo/upgraded/femto - desc = "A surgical procedure that provides experimental treatment for a patient's burns and brute traumas. Heals considerably more when the patient is severely injured." + desc = "Хирургическая операция которая оказывает экспертную медицинскую помощь при смешанных физических и ожоговых ранах. Лечение намного более эффективно при серьезных травмах." /********************COMBO STEPS********************/ /datum/surgery_step/heal/combo/get_progress(mob/user, mob/living/carbon/target, brute_healed, burn_healed) - var/estimated_remaining_steps = 0 - if(brute_healed > 0) - estimated_remaining_steps = max(0, (target.getBruteLoss() / brute_healed)) - if(burn_healed > 0) - estimated_remaining_steps = max(estimated_remaining_steps, (target.getFireLoss() / burn_healed)) // whichever is higher between brute or burn steps - - var/progress_text - - if(locate(/obj/item/healthanalyzer) in user.held_items) - if(target.getBruteLoss()) - progress_text = ". Remaining brute: [target.getBruteLoss()]" - if(target.getFireLoss()) - progress_text += ". Remaining burn: [target.getFireLoss()]" - else - switch(estimated_remaining_steps) - if(-INFINITY to 1) - return - if(1 to 3) - progress_text = ", finishing up the last few signs of damage" - if(3 to 6) - progress_text = ", counting down the last few patches of trauma" - if(6 to 9) - progress_text = ", continuing to plug away at [target.p_their()] extensive injuries" - if(9 to 12) - progress_text = ", steadying yourself for the long surgery ahead" - if(12 to 15) - progress_text = ", though [target.p_they()] still look[target.p_s()] more like smooshed baby food than a person" - if(15 to INFINITY) - progress_text = ", though you feel like you're barely making a dent in treating [target.p_their()] broken body" - - return progress_text + return /datum/surgery_step/heal/combo - name = "tend physical wounds (hemostat)" + name = "лечение физических травм" brutehealing = 3 burnhealing = 3 brute_multiplier = 0.07 @@ -343,9 +261,9 @@ display_results( user, target, - span_warning("You screwed up!"), - span_warning("[user] screws up!"), - span_notice("[user] fixes some of [target]'s wounds."), + span_warning("[gvorno(TRUE)], но я облажался!"), + span_warning("[user] облажался!") , + span_notice("[user] залатывает некоторые раны [skloname(target.name, RODITELNI, target.gender)]."), target_detailed = TRUE, ) target.take_bodypart_damage(5,5) diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm index 1d609836a8e7d9..b61ba2f1037dfb 100644 --- a/code/modules/surgery/hepatectomy.dm +++ b/code/modules/surgery/hepatectomy.dm @@ -1,5 +1,5 @@ /datum/surgery/hepatectomy - name = "Hepatectomy" + name = "Реконструкция: Гепатэктомия" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB organ_to_manipulate = ORGAN_SLOT_LIVER possible_locs = list(BODY_ZONE_CHEST) @@ -23,7 +23,7 @@ ////hepatectomy, removes damaged parts of the liver so that the liver may regenerate properly //95% chance of success, not 100 because organs are delicate /datum/surgery_step/hepatectomy - name = "remove damaged liver section (scalpel)" + name = "удалите поврежденную долю печени (скальпель)" implements = list( TOOL_SCALPEL = 95, /obj/item/melee/energy/sword = 65, @@ -35,14 +35,11 @@ failure_sound = 'sound/surgery/organ2.ogg' /datum/surgery_step/hepatectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to cut out a damaged piece of [target]'s liver..."), - span_notice("[user] begins to make an incision in [target]."), - span_notice("[user] begins to make an incision in [target]."), - ) - display_pain(target, "Your abdomen burns in horrific stabbing pain!") + display_results(user, target, span_notice("Начинаю удалять поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает удалять поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает удалять поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)].")) + + display_pain(target, "Моя печень горит ужасной, колющей болью!") /datum/surgery_step/hepatectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) var/mob/living/carbon/human/human_target = target @@ -50,24 +47,16 @@ human_target.setOrganLoss(ORGAN_SLOT_LIVER, 10) //not bad, not great if(target_liver) target_liver.operated = TRUE - display_results( - user, - target, - span_notice("You successfully remove the damaged part of [target]'s liver."), - span_notice("[user] successfully removes the damaged part of [target]'s liver."), - span_notice("[user] successfully removes the damaged part of [target]'s liver."), - ) - display_pain(target, "The pain receeds slightly.") + display_results(user, target, span_notice("Успешно удаляю поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно удалил[user.ru_a()] поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно удалил[user.ru_a()] поврежденную долю печени [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Боль медленно утихает.") return ..() /datum/surgery_step/hepatectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery) var/mob/living/carbon/human/human_target = target human_target.adjustOrganLoss(ORGAN_SLOT_LIVER, 15) - display_results( - user, - target, - span_warning("You cut the wrong part of [target]'s liver!"), - span_warning("[user] cuts the wrong part of [target]'s liver!"), - span_warning("[user] cuts the wrong part of [target]'s liver!"), - ) - display_pain(target, "You feel a sharp stab inside your abdomen!") + display_results(user, target, span_warning("Случайно удаляю здоровую часть печени [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] случайно удалил[user.ru_a()] здоровую часть печени [skloname(target.name, RODITELNI, target.gender)]!") , + span_warning("[user] случайно удалил[user.ru_a()] здоровую часть печени [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "Чувствую острую боль от надреза в своей печени!") diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index 7f43d56ffb1b0a..4363ceb9b8c7be 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -1,5 +1,5 @@ /datum/surgery/implant_removal - name = "Implant Removal" + name = "Извлечение микроимпланта" target_mobtypes = list(/mob/living) possible_locs = list(BODY_ZONE_CHEST) steps = list( @@ -12,7 +12,7 @@ //extract implant /datum/surgery_step/extract_implant - name = "extract implant (hemostat)" + name = "извлеките микроимплант (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65, @@ -26,33 +26,21 @@ implant = object break if(implant) - display_results( - user, - target, - span_notice("You begin to extract [implant] from [target]'s [target_zone]..."), - span_notice("[user] begins to extract [implant] from [target]'s [target_zone]."), - span_notice("[user] begins to extract something from [target]'s [target_zone]."), - ) - display_pain(target, "You feel a serious pain in your [target_zone]!") + display_results(user, target, span_notice("Начинаю извлекать [implant] из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает извлекать [implant] из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает извлекать что-то из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую сильную боль в [ru_gde_zone(target_zone)]!") else - display_results( - user, - target, - span_notice("You look for an implant in [target]'s [target_zone]..."), - span_notice("[user] looks for an implant in [target]'s [target_zone]."), - span_notice("[user] looks for something in [target]'s [target_zone]."), - ) + display_results(user, target, span_notice("Начинаю искать микроимпланты в [ru_gde_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает искать микроимпланты в [ru_gde_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает искать что-то в [ru_gde_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/extract_implant/success(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(implant) - display_results( - user, - target, - span_notice("You successfully remove [implant] from [target]'s [target_zone]."), - span_notice("[user] successfully removes [implant] from [target]'s [target_zone]!"), - span_notice("[user] successfully removes something from [target]'s [target_zone]!"), - ) - display_pain(target, "You can feel your [implant.name] pulled out of you!") + display_results(user, target, span_notice("Извлекаю [implant] из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно извлекает [implant] из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] успешно извлекает что-то из [ru_otkuda_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "Ауч! Кажется из меня что-то вытащили!") implant.removed(target) var/obj/item/implantcase/case @@ -65,22 +53,18 @@ case.imp = implant implant.forceMove(case) case.update_appearance() - display_results( - user, - target, - span_notice("You place [implant] into [case]."), - span_notice("[user] places [implant] into [case]!"), - span_notice("[user] places it into [case]!"), - ) + display_results(user, target, span_notice("Помещаю [implant] в [case].") , + span_notice("[user] помещает [implant] в [case]!") , + span_notice("[user] помещает что-то в [case]!")) else qdel(implant) else - to_chat(user, span_warning("You can't find anything in [target]'s [target_zone]!")) + to_chat(user, span_warning("Не могу найти ничего в [ru_gde_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]!")) return ..() /datum/surgery/implant_removal/mechanic - name = "Implant Removal" + name = "Извлечение микроимпланта (кибер)" requires_bodypart_type = BODYTYPE_ROBOTIC target_mobtypes = list(/mob/living/carbon/human) // Simpler mobs don't have bodypart types steps = list( diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index 28a2443600bbed..643a3787e98eb8 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -5,7 +5,7 @@ //SURGERY STEPS /datum/surgery_step/replace_limb - name = "replace limb" + name = "Замените часть тела" implements = list( /obj/item/bodypart = 100, /obj/item/borg/apparatus/organ_storage = 100) @@ -15,35 +15,31 @@ /datum/surgery_step/replace_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(HAS_TRAIT(target, TRAIT_NO_AUGMENTS)) - to_chat(user, span_warning("[target] cannot be augmented!")) + to_chat(user, span_warning("[target] не может быть аугментирована!")) return SURGERY_STEP_FAIL if(istype(tool, /obj/item/borg/apparatus/organ_storage) && istype(tool.contents[1], /obj/item/bodypart)) tool = tool.contents[1] var/obj/item/bodypart/aug = tool if(IS_ORGANIC_LIMB(aug)) - to_chat(user, span_warning("That's not an augment, silly!")) + to_chat(user, span_warning("Это не так работает, глупый!")) return SURGERY_STEP_FAIL if(aug.body_zone != target_zone) - to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)].")) + to_chat(user, span_warning("Кажется [tool] не подходит для [ru_otkuda_zone(parse_zone(target_zone))].")) return SURGERY_STEP_FAIL target_limb = surgery.operated_bodypart if(target_limb) - display_results( - user, - target, - span_notice("You begin to augment [target]'s [parse_zone(user.zone_selected)]..."), - span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)] with [aug]."), - span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)]."), - ) - display_pain(target, "You feel a horrible pain in your [parse_zone(user.zone_selected)]!") + display_results(user, target, span_notice("Начинаю аугментировать [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает аугментировать [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] при помощи [aug].") , + span_notice("[user] начинает аугментировать [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую холод в [ru_gde_zone(parse_zone(user.zone_selected))]!") else - user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]...")) + user.visible_message(span_notice("[user] пытается найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Пытаюсь найти [parse_zone(user.zone_selected)] у [skloname(target.name, RODITELNI, target.gender)]...")) //ACTUAL SURGERIES /datum/surgery/augmentation - name = "Augmentation" + name = "Аугментация" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB possible_locs = list( BODY_ZONE_R_ARM, @@ -82,15 +78,11 @@ return if(tool.check_for_frankenstein(target)) tool.bodypart_flags |= BODYPART_IMPLANTED - display_results( - user, - target, - span_notice("You successfully augment [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "Your [parse_zone(target_zone)] comes awash with synthetic sensation!", mechanical_surgery = TRUE) + display_results(user, target, span_notice("Успешно аугментирую [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно аугментировал [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]!") , + span_notice("[user] успешно аугментировал [ru_parse_zone(parse_zone(user.zone_selected))] [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "Я вновь чувствую свою [ru_parse_zone(parse_zone(target_zone))], однако она ощущается немного по другому...", mechanical_surgery = TRUE) log_combat(user, target, "augmented", addition="by giving him new [parse_zone(target_zone)] COMBAT MODE: [uppertext(user.combat_mode)]") else - to_chat(user, span_warning("[target] has no organic [parse_zone(target_zone)] there!")) + to_chat(user, span_warning("[target] не имеет органики на [parse_zone(target_zone)]!")) return ..() diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index f635d0da020321..920235018bbce0 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -1,5 +1,5 @@ /datum/surgery/lipoplasty - name = "Lipoplasty" + name = "Липопластика" possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -17,7 +17,7 @@ //cut fat /datum/surgery_step/cut_fat - name = "cut excess fat (circular saw)" + name = "отрежьте лишний жир (пила)" implements = list( TOOL_SAW = 100, /obj/item/shovel/serrated = 75, @@ -26,30 +26,22 @@ time = 64 /datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message(span_notice("[user] begins to cut away [target]'s excess fat."), span_notice("You begin to cut away [target]'s excess fat...")) - display_results( - user, - target, - span_notice("You begin to cut away [target]'s excess fat..."), - span_notice("[user] begins to cut away [target]'s excess fat."), - span_notice("[user] begins to cut [target]'s [target_zone] with [tool]."), - ) - display_pain(target, "You feel a stabbing in your [target_zone]!") + user.visible_message(span_notice("[user] начинает отрезать лишний жир у [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Вы начинаете отрезать лишний жир у [skloname(target.name, RODITELNI, target.gender)]...")) + display_results(user, target, span_notice("Начинаю отрезать лишний жир у [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает отрезать лишний жир у [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает отрезать лишний жир в [target_zone] у [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].")) + display_pain(target, "Ой-ой! Щекотно!") /datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results( - user, - target, - span_notice("You cut [target]'s excess fat loose."), - span_notice("[user] cuts [target]'s excess fat loose!"), - span_notice("[user] finishes the cut on [target]'s [target_zone]."), - ) - display_pain(target, "The fat in your [target_zone] comes loose, dangling and hurting like hell!") + display_results(user, target, span_notice("Отрезаю лишний жир у [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] отрезал[user.ru_a()] лишний жир у [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] отрезал[user.ru_a()] лишний жир у [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Такое ощущение что у меня живот потек!") return TRUE //remove fat /datum/surgery_step/remove_fat - name = "remove loose fat (retractor)" + name = "извлеките лишний жир (расширитель)" implements = list( TOOL_RETRACTOR = 100, TOOL_SCREWDRIVER = 45, @@ -57,23 +49,15 @@ time = 32 /datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to extract [target]'s loose fat..."), - span_notice("[user] begins to extract [target]'s loose fat!"), - span_notice("[user] begins to extract something from [target]'s [target_zone]."), - ) - display_pain(target, "You feel an oddly painless tugging on your loose fat!") + display_results(user, target, span_notice("Начинаю извлекать лишний жир из [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает извлекать лишний жир из [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] начинает извлекать лишний жир из [skloname(target.name, RODITELNI, target.gender)].")) /datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results( - user, - target, - span_notice("You extract [target]'s fat."), - span_notice("[user] extracts [target]'s fat!"), - span_notice("[user] extracts [target]'s fat!"), - ) + display_results(user, target, span_notice("Вы извлекли лишний жир из [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] извлекает лишний жир из [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] извлекает лишний жир из [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "Чувствую себя намного более спортивным!") target.overeatduration = 0 //patient is unfatted var/removednutriment = target.nutrition target.set_nutrition(NUTRITION_LEVEL_WELL_FED) @@ -85,8 +69,8 @@ typeofmeat = human.dna.species.meat var/obj/item/food/meat/slab/human/newmeat = new typeofmeat - newmeat.name = "fatty meat" - newmeat.desc = "Extremely fatty tissue taken from a patient." + newmeat.name = "жирное мясо" + newmeat.desc = "Очень жирное мясо прямиком из разделочной." newmeat.subjectname = human.real_name newmeat.subjectjob = human.job newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, (removednutriment / 15)) //To balance with nutriment_factor of nutriment diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 56e256534f7fbc..7bf1fdaddb98c6 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -1,5 +1,5 @@ /datum/surgery/lobectomy - name = "Lobectomy" //not to be confused with lobotomy + name = "Реконструкция: Лобэктомия" //not to be confused with lobotomy organ_to_manipulate = ORGAN_SLOT_LUNGS possible_locs = list(BODY_ZONE_CHEST) steps = list( @@ -21,7 +21,7 @@ //lobectomy, removes the most damaged lung lobe with a 95% base success chance /datum/surgery_step/lobectomy - name = "excise damaged lung node (scalpel)" + name = "отсеките поврежденный сегмент легкого (скальпель)" implements = list( TOOL_SCALPEL = 95, /obj/item/melee/energy/sword = 65, @@ -33,14 +33,10 @@ failure_sound = 'sound/surgery/organ2.ogg' /datum/surgery_step/lobectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to make an incision in [target]'s lungs..."), - span_notice("[user] begins to make an incision in [target]."), - span_notice("[user] begins to make an incision in [target]."), - ) - display_pain(target, "You feel a stabbing pain in your chest!") + display_results(user, target, span_notice("Начинаю делать надрез в легких [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать надрез в легких [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает делать надрез в легких [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую колющую боль в груди!") /datum/surgery_step/lobectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) @@ -48,27 +44,19 @@ var/obj/item/organ/internal/lungs/target_lungs = human_target.get_organ_slot(ORGAN_SLOT_LUNGS) target_lungs.operated = TRUE human_target.setOrganLoss(ORGAN_SLOT_LUNGS, 60) - display_results( - user, - target, - span_notice("You successfully excise [human_target]'s most damaged lobe."), - span_notice("Successfully removes a piece of [human_target]'s lungs."), - "", - ) - display_pain(target, "Your chest hurts like hell, but breathing becomes slightly easier.") + display_results(user, target, span_notice("Успешно удаляю наиболее поврежденный сегмент легких [human_target].") , + span_notice("Поврежденный сегмент легких [human_target] был успешно удален."), + "") + display_pain(target, "Грудь адски болит, но дышать стало немного проще.") return ..() /datum/surgery_step/lobectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/human_target = target - display_results( - user, - target, - span_warning("You screw up, failing to excise [human_target]'s damaged lobe!"), - span_warning("[user] screws up!"), - span_warning("[user] screws up!"), - ) - display_pain(target, "You feel a sharp stab in your chest; the wind is knocked out of you and it hurts to catch your breath!") + display_results(user, target, span_warning("Я ошибаюсь и повреждаю здоровую часть легкого [human_target]!") , + span_warning("[user] ошибается!") , + span_warning("[user] ошибается!")) + display_pain(target, "Чувствую колющую боль в груди. У меня сбилось дыхание и теперь мне больно дышать!") human_target.losebreath += 4 human_target.adjustOrganLoss(ORGAN_SLOT_LUNGS, 10) return FALSE diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm index bb07fb72dedf53..282e4a2e654b2a 100644 --- a/code/modules/surgery/mechanic_steps.dm +++ b/code/modules/surgery/mechanic_steps.dm @@ -1,6 +1,6 @@ //open shell /datum/surgery_step/mechanic_open - name = "unscrew shell (screwdriver)" + name = "открутить винты (отвертка)" implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, // med borgs could try to unscrew shell with scalpel @@ -11,14 +11,10 @@ success_sound = 'sound/items/screwdriver2.ogg' /datum/surgery_step/mechanic_open/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to unscrew the shell of [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You can feel your [parse_zone(target_zone)] grow numb as the sensory panel is unscrewed.", TRUE) + display_results(user, target, span_notice("Начинаю откручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает откручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает откручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Регистрирую инициацию протоколов техобслуживания в [ru_gde_zone(parse_zone(target_zone))].", TRUE) /datum/surgery_step/mechanic_open/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -30,7 +26,7 @@ //close shell /datum/surgery_step/mechanic_close - name = "screw shell (screwdriver)" + name = "закрутить винты (отвертка)" implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, @@ -41,14 +37,16 @@ success_sound = 'sound/items/screwdriver2.ogg' /datum/surgery_step/mechanic_close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to screw the shell of [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel the faint pricks of sensation return as your [parse_zone(target_zone)]'s panel is screwed in.", TRUE) + display_results(user, target, span_notice("Начинаю закручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает закручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает закручивать винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + +/datum/surgery_step/mechanic_close/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + display_results(user, target, span_notice("Успешно закручиваю винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]."), + span_notice("[user] закручивает винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]."), + span_notice("[user] закручивает винты на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Регистрирую завершение протоколов техобслуживания в [ru_gde_zone(parse_zone(target_zone))].", TRUE) + return TRUE /datum/surgery_step/mechanic_close/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -60,7 +58,7 @@ //prepare electronics /datum/surgery_step/prepare_electronics - name = "prepare electronics (multitool)" + name = "подготовьте электронику (мультитул)" implements = list( TOOL_MULTITOOL = 100, TOOL_HEMOSTAT = 10) // try to reboot internal controllers via short circuit with some conductor @@ -69,18 +67,14 @@ success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' /datum/surgery_step/prepare_electronics/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to prepare electronics in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You can feel a faint buzz in your [parse_zone(target_zone)] as the electronics reboot.", TRUE) + display_results(user, target, span_notice("Начинаю подготавливать электронику в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает подготавливать электронику в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает подготавливать электронику в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Регистрирую инициацию перезапуска центрального контролера в [ru_gde_zone(parse_zone(target_zone))].", TRUE) //unwrench /datum/surgery_step/mechanic_unwrench - name = "unwrench bolts (wrench)" + name = "отвинтите болты (гаечный ключ)" implements = list( TOOL_WRENCH = 100, TOOL_RETRACTOR = 10) @@ -88,14 +82,10 @@ preop_sound = 'sound/items/ratchet.ogg' /datum/surgery_step/mechanic_unwrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to unwrench some bolts in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a jostle in your [parse_zone(target_zone)] as the bolts begin to loosen.", TRUE) + display_results(user, target, span_notice("Начинаю отвинчивать болты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает отвинчивать болты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает отвинчивать болты в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Крепежные болты [ru_otkuda_zone(parse_zone(target_zone))] расслаблены.", TRUE) /datum/surgery_step/mechanic_unwrench/tool_check(mob/user, obj/item/tool) if(tool.usesound) @@ -105,7 +95,7 @@ //wrench /datum/surgery_step/mechanic_wrench - name = "wrench bolts (wrench)" + name = "завинтите болты (гаечный ключ)" implements = list( TOOL_WRENCH = 100, TOOL_RETRACTOR = 10) @@ -113,14 +103,10 @@ preop_sound = 'sound/items/ratchet.ogg' /datum/surgery_step/mechanic_wrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to wrench some bolts in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a jostle in your [parse_zone(target_zone)] as the bolts begin to tighten.", TRUE) + display_results(user, target, span_notice("Вы начинаете завинчивать болты в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает завинчивать болты в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает завинчивать болты в [parse_zone(target_zone)] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Крепежные болты [ru_otkuda_zone(parse_zone(target_zone))] затянуты.", TRUE) /datum/surgery_step/mechanic_wrench/tool_check(mob/user, obj/item/tool) if(tool.usesound) @@ -130,21 +116,17 @@ //open hatch /datum/surgery_step/open_hatch - name = "open the hatch (hand)" + name = "откройте люк (мануальное действие)" accept_hand = TRUE time = 10 preop_sound = 'sound/items/ratchet.ogg' preop_sound = 'sound/machines/doorclick.ogg' /datum/surgery_step/open_hatch/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to open the hatch holders in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "The last faint pricks of tactile sensation fade from your [parse_zone(target_zone)] as the hatch is opened.", TRUE) + display_results(user, target, span_notice("Открываю люк технического обслуживания в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает открывать люк технического обслуживания в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает открывать люк технического обслуживания в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Регистрирую открытие люка технического обслуживания в [ru_gde_zone(parse_zone(target_zone))].", TRUE) /datum/surgery_step/open_hatch/tool_check(mob/user, obj/item/tool) if(tool.usesound) diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index aaa0bc765e1cb2..8a912eba443b6f 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -1,5 +1,5 @@ /datum/surgery/organ_manipulation - name = "Organ manipulation" + name = "Манипуляции с органами" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB | SURGERY_MORBID_CURIOSITY possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD) steps = list( @@ -42,7 +42,7 @@ ) /datum/surgery/organ_manipulation/alien - name = "Alien organ manipulation" + name = "Манипуляции с органами пришельцев" possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_PRECISE_GROIN, BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM) target_mobtypes = list(/mob/living/carbon/alien/adult) steps = list( @@ -55,7 +55,7 @@ ) /datum/surgery/organ_manipulation/mechanic - name = "Prosthesis organ manipulation" + name = "Манипуляции по протезированию органов" requires_bodypart_type = BODYTYPE_ROBOTIC surgery_flags = SURGERY_SELF_OPERABLE | SURGERY_REQUIRE_LIMB possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD) @@ -130,7 +130,7 @@ ///Organ manipulation base class. Do not use, it wont work. Use it's subtypes /datum/surgery_step/manipulate_organs - name = "manipulate organs" + name = "манипуляции с органами" repeatable = TRUE implements = list( /obj/item/organ = 100, @@ -152,13 +152,13 @@ preop_sound = initial(preop_sound) success_sound = initial(success_sound) if(!length(tool.contents)) - to_chat(user, span_warning("There is nothing inside [tool]!")) + to_chat(user, span_warning("[tool] пуст!")) return SURGERY_STEP_FAIL target_organ = tool.contents[1] if(!isorgan(target_organ)) if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) - to_chat(user, span_warning("You cannot put [target_organ] into [target]'s [parse_zone(target_zone)]!")) + to_chat(user, span_warning("Не могу поместить [target_organ] в [parse_zone(target_zone)] [target]!")) return SURGERY_STEP_FAIL tool = target_organ if(isorgan(tool)) @@ -167,11 +167,11 @@ success_sound = 'sound/surgery/organ2.ogg' target_organ = tool if(target_zone != target_organ.zone || target.get_organ_slot(target_organ.slot)) - to_chat(user, span_warning("There is no room for [target_organ] in [target]'s [parse_zone(target_zone)]!")) + to_chat(user, span_warning("В [parse_zone(target_zone)] [target] нет места под [target_organ]!")) return SURGERY_STEP_FAIL var/obj/item/organ/meatslab = tool if(!meatslab.useable) - to_chat(user, span_warning("[target_organ] seems to have been chewed on, you can't use this!")) + to_chat(user, span_warning("Судя по всему [target_organ] пожеван, так что я не могу его использовать!")) return SURGERY_STEP_FAIL if(!can_use_organ(user, meatslab)) @@ -179,14 +179,9 @@ if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) - display_results( - user, - target, - span_notice("You begin to insert [tool] into [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to insert something into [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You can feel something being placed in your [parse_zone(target_zone)]!") + display_results(user, target, span_notice("Начинаю помещать [tool] в [parse_zone(target_zone)] [target]...") , + span_notice("[user] начинает помещать [tool] в [parse_zone(target_zone)] [target].") , + span_notice("[user] начинает засовывать что-то в [parse_zone(target_zone)] [target].")) else if(implement_type in implements_extract) @@ -199,7 +194,7 @@ if (target_zone == BODY_ZONE_PRECISE_EYES) target_zone = check_zone(target_zone) if(!length(organs)) - to_chat(user, span_warning("There are no removable organs in [target]'s [parse_zone(target_zone)]!")) + to_chat(user, span_warning("Внутри [parse_zone(target_zone)] [target] нет извлекаемых органов!")) return SURGERY_STEP_FAIL else for(var/obj/item/organ/organ in organs) @@ -207,7 +202,7 @@ organs -= organ organs[organ.name] = organ - var/chosen_organ = tgui_input_list(user, "Remove which organ?", "Surgery", sort_list(organs)) + var/chosen_organ = tgui_input_list(user, "Какой орган убрать?", "Хирургия", sort_list(organs)) if(isnull(chosen_organ)) return SURGERY_STEP_FAIL target_organ = chosen_organ @@ -218,14 +213,11 @@ if(target_organ.organ_flags & ORGAN_UNREMOVABLE) to_chat(user, span_warning("[target_organ] is too well connected to take out!")) return SURGERY_STEP_FAIL - display_results( - user, - target, - span_notice("You begin to extract [target_organ] from [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to extract [target_organ] from [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to extract something from [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You can feel your [target_organ.name] being removed from your [parse_zone(target_zone)]!") + display_results(user, target, span_notice("Начинаю извлекать [target_organ] из [parse_zone(target_zone)] [target]...") , + span_notice("[user] начинает извлекать [target_organ] из [parse_zone(target_zone)] [target].") , + span_notice("[user] начинает что-то извлекать из [parse_zone(target_zone)] [target].") , + playsound(get_turf(target), 'sound/surgery/hemostat1.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Я чувствую боль в [ru_gde_zone(parse_zone(target_zone))]!") else return SURGERY_STEP_FAIL @@ -244,39 +236,28 @@ apparatus.icon_state = initial(apparatus.icon_state) apparatus.desc = initial(apparatus.desc) apparatus.cut_overlays() - display_results( - user, - target, - span_notice("You insert [tool] into [target]'s [parse_zone(target_zone)]."), - span_notice("[user] inserts [tool] into [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] inserts something into [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "Your [parse_zone(target_zone)] throbs with pain as your new [tool.name] comes to life!") + display_results(user, target, span_notice("Поместил[user.ru_a()] [tool] в [parse_zone(target_zone)] [target].") , + span_notice("[user] поместил[user.ru_a()] [tool] в [parse_zone(target_zone)] [target]!") , + span_notice("[user] поместил[user.ru_a()] что-то в [parse_zone(target_zone)] [target]!")) + display_pain(target, "Моя [parse_zone(target_zone)] болезненно пульсирует! Кажется в меня что-то запихали!") else target_organ.forceMove(target.loc) else if(current_type == "extract") if(target_organ && target_organ.owner == target) - display_results( - user, - target, - span_notice("You successfully extract [target_organ] from [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully extracts [target_organ] from [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] successfully extracts something from [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "Your [parse_zone(target_zone)] throbs with pain, you can't feel your [target_organ.name] anymore!") + display_results(user, target, span_notice("Успешно извлекаю [target_organ] из [parse_zone(target_zone)] [target].") , + span_notice("[user] успешно извлекает [target_organ] из [parse_zone(target_zone)] [target]!") , + span_notice("[user] успешно что-то извлекает из [parse_zone(target_zone)] [target]!") , + playsound(get_turf(target), 'sound/surgery/organ2.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1)) + display_pain(target, "Моя [parse_zone(target_zone)] болит! Кажется из меня что-то извлекли!") log_combat(user, target, "surgically removed [target_organ.name] from", addition="COMBAT MODE: [uppertext(user.combat_mode)]") target_organ.Remove(target) target_organ.forceMove(get_turf(target)) target_organ.on_surgical_removal(user, target, target_zone, tool) else - display_results( - user, - target, - span_warning("You can't extract anything from [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!"), - ) + display_results(user, target, span_warning("Не могу ничего извлечь из [parse_zone(target_zone)] [target]!") , + span_notice("[user] не может ничего извлечь из [parse_zone(target_zone)] [target]!") , + span_notice("[user] не может ничего извлечь из [parse_zone(target_zone)] [target]!")) if(HAS_MIND_TRAIT(user, TRAIT_MORBID) && ishuman(user)) var/mob/living/carbon/human/morbid_weirdo = user morbid_weirdo.add_mood_event("morbid_abominable_surgery_success", /datum/mood_event/morbid_abominable_surgery_success) @@ -289,7 +270,7 @@ ///Surgery step for internal organs, like hearts and brains /datum/surgery_step/manipulate_organs/internal time = 6.4 SECONDS - name = "manipulate organs (hemostat/organ)" + name = "манипуляция органами (зажим/орган)" ///only operate on internal organs /datum/surgery_step/manipulate_organs/internal/can_use_organ(mob/user, obj/item/organ/organ) diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index 73e48db857f85f..bcdb17ce8e4520 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -1,7 +1,7 @@ //make incision /datum/surgery_step/incise - name = "make incision (scalpel)" + name = "сделайте надрез (скальпель)" implements = list( TOOL_SCALPEL = 100, /obj/item/melee/energy/sword = 75, @@ -13,14 +13,10 @@ success_sound = 'sound/surgery/scalpel2.ogg' /datum/surgery_step/incise/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to make an incision in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a stabbing in your [parse_zone(target_zone)].") + display_results(user, target, span_notice("Начинаю делать надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую надрез в [ru_gde_zone(parse_zone(target_zone))].") /datum/surgery_step/incise/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) @@ -35,9 +31,9 @@ display_results( user, target, - span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."), - span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."), - span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."), + span_notice("Кровь течет из надреза на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("Кровь течет из надреза на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("Кровь течет из надреза на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , ) var/obj/item/bodypart/target_bodypart = target.get_bodypart(target_zone) if(target_bodypart) @@ -45,18 +41,14 @@ return ..() /datum/surgery_step/incise/nobleed/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to carefully make an incision in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a careful stabbing in your [parse_zone(target_zone)].") + display_results(user, target, span_notice("Произвожу аккуратный надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает делать аккуратный надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает делать аккуратный надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую едва ощутимый надрез в [ru_gde_zone(parse_zone(target_zone))].") //clamp bleeders /datum/surgery_step/clamp_bleeders - name = "clamp bleeders (hemostat)" + name = "зажмите источник кровотечения (зажим)" implements = list( TOOL_HEMOSTAT = 100, TOOL_WIRECUTTER = 60, @@ -66,14 +58,10 @@ preop_sound = 'sound/surgery/hemostat1.ogg' /datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a pinch as the bleeding in your [parse_zone(target_zone)] is slowed.") + display_results(user, target, span_notice("Начинаю зажимать источник кровотечения на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает зажимать источник кровотечения на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает зажимать источник кровотечения на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую укол в [ru_gde_zone(parse_zone(target_zone))].") /datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) if(locate(/datum/surgery_step/saw) in surgery.steps) @@ -87,7 +75,7 @@ //retract skin /datum/surgery_step/retract_skin - name = "retract skin (retractor)" + name = "оттяните кожу (расширитель)" implements = list( TOOL_RETRACTOR = 100, TOOL_SCREWDRIVER = 45, @@ -98,18 +86,14 @@ success_sound = 'sound/surgery/retractor2.ogg' /datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to retract the skin in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a severe stinging pain spreading across your [parse_zone(target_zone)] as the skin is pulled back!") + display_results(user, target, span_notice("Начинаю оттягивать кожу на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает оттягивать кожу на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает оттягивать кожу на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Чувствую тянущую боль в [parse_zone(target_zone)]!") //close incision /datum/surgery_step/close - name = "mend incision (cautery)" + name = "прижгите надрез (прижигатель)" implements = list( TOOL_CAUTERY = 100, /obj/item/gun/energy/laser = 90, @@ -120,14 +104,10 @@ success_sound = 'sound/surgery/cautery2.ogg' /datum/surgery_step/close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to mend the incision in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "Your [parse_zone(target_zone)] is being burned!") + display_results(user, target, span_notice("Начинаю прижигать надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает прижигать надрез на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает прижигать надрез на [ru_gde_zone(parse_zone(target_zone))].")) + display_pain(target, "Ауч! Жжется!") /datum/surgery_step/close/tool_check(mob/user, obj/item/tool) if(implement_type == TOOL_WELDER || implement_type == /obj/item) @@ -149,7 +129,7 @@ //saw bone /datum/surgery_step/saw - name = "saw bone (circular saw)" + name = "распилите кость (пила)" implements = list( TOOL_SAW = 100, /obj/item/shovel/serrated = 75, @@ -170,14 +150,10 @@ success_sound = 'sound/surgery/organ2.ogg' /datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to saw through the bone in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a horrid ache spread through the inside of your [parse_zone(target_zone)]!") + display_results(user, target, span_notice("Начинаю пилить кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает пилить кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает пилить кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Это очень больно! Моя [parse_zone(target_zone)]!") /datum/surgery_step/saw/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !(tool.get_sharpness() && (tool.force >= 10))) @@ -186,19 +162,15 @@ /datum/surgery_step/saw/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) target.apply_damage(50, BRUTE, "[target_zone]", wound_bonus=CANT_WOUND) - display_results( - user, - target, - span_notice("You saw [target]'s [parse_zone(target_zone)] open."), - span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!"), - span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!"), - ) - display_pain(target, "It feels like something just broke in your [parse_zone(target_zone)]!") + display_results(user, target, span_notice("Успешно отпиливаю кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] отпиливает кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] отпиливает кость на [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "От боли я практически не чувствую свою [ru_parse_zone(parse_zone(target_zone))]!") return ..() //drill bone /datum/surgery_step/drill - name = "drill bone (surgical drill)" + name = "просверлите кость (дрель)" implements = list( TOOL_DRILL = 100, /obj/item/screwdriver/power = 80, @@ -208,21 +180,14 @@ time = 30 /datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin to drill into the bone in [target]'s [parse_zone(target_zone)]..."), - span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)]."), - ) - display_pain(target, "You feel a horrible piercing pain in your [parse_zone(target_zone)]!") + display_results(user, target, span_notice("Начинаю сверление кости в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает сверление кости в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает сверление кости в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Зубы сводит!") /datum/surgery_step/drill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - display_results( - user, - target, - span_notice("You drill into [target]'s [parse_zone(target_zone)]."), - span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!"), - span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!"), - ) + display_results(user, target, span_notice("Успешно просверлил[user.ru_a()] кость в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно просверлил[user.ru_a()] кость в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] успешно просверлил[user.ru_a()] кость в [ru_gde_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!")) return ..() + diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index 5b78cb30796e75..007ac639b4dca5 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -1,6 +1,6 @@ /obj/item/organ - name = "organ" + name = "орган" icon = 'icons/obj/medical/organs/organs.dmi' w_class = WEIGHT_CLASS_SMALL throwforce = 0 diff --git a/code/modules/surgery/organs/external/tails.dm b/code/modules/surgery/organs/external/tails.dm index e20f4f700f7775..5679eec38786a1 100644 --- a/code/modules/surgery/organs/external/tails.dm +++ b/code/modules/surgery/organs/external/tails.dm @@ -1,7 +1,7 @@ ///Tail parent, it doesn't do very much. /obj/item/organ/external/tail - name = "tail" - desc = "A severed tail. What did you cut this off of?" + name = "хвост" + desc = "Отрезанный хвост. От чего ты это отрезал?" icon_state = "severedtail" zone = BODY_ZONE_PRECISE_GROIN @@ -86,7 +86,8 @@ return TRUE /obj/item/organ/external/tail/cat - name = "tail" + name = "кошачий хвост" + desc = "Отрезанный кошачий хвост. Кто сейчас виляет?" preference = "feature_human_tail" bodypart_overlay = /datum/bodypart_overlay/mutant/tail/cat @@ -113,8 +114,8 @@ return GLOB.tails_list_monkey /obj/item/organ/external/tail/lizard - name = "lizard tail" - desc = "A severed lizard tail. Somewhere, no doubt, a lizard hater is very pleased with themselves." + name = "хвост ящерицы" + desc = "Отрезанный хвост ящерицы. Где-то, без сомнения, ненавистник ящериц очень доволен собой." preference = "feature_lizard_tail" bodypart_overlay = /datum/bodypart_overlay/mutant/tail/lizard diff --git a/code/modules/surgery/organs/external/wings/functional_wings.dm b/code/modules/surgery/organs/external/wings/functional_wings.dm index 45dee7691c8654..f705fa009daf2f 100644 --- a/code/modules/surgery/organs/external/wings/functional_wings.dm +++ b/code/modules/surgery/organs/external/wings/functional_wings.dm @@ -1,6 +1,6 @@ ///hud action for starting and stopping flight /datum/action/innate/flight - name = "Toggle Flight" + name = "Переключить полёт" check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_IMMOBILE|AB_CHECK_INCAPACITATED button_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "flight" @@ -11,9 +11,9 @@ if(wings && wings.can_fly(human)) wings.toggle_flight(human) if(!(human.movement_type & FLYING)) - to_chat(human, span_notice("You settle gently back onto the ground...")) + to_chat(human, span_notice("Мягко сажусь обратно на пол...")) else - to_chat(human, span_notice("You beat your wings and begin to hover gently above the ground...")) + to_chat(human, span_notice("Начинаю взмахивать крыльями и плавно парить над полом...")) human.set_resting(FALSE, TRUE) ///The true wings that you can use to fly and shit (you cant actually shit with them) diff --git a/code/modules/surgery/organs/internal/_internal_organ.dm b/code/modules/surgery/organs/internal/_internal_organ.dm index eb8629347e6c6a..d2e7ff7105d059 100644 --- a/code/modules/surgery/organs/internal/_internal_organ.dm +++ b/code/modules/surgery/organs/internal/_internal_organ.dm @@ -1,5 +1,5 @@ /obj/item/organ/internal - name = "organ" + name = "орган" /obj/item/organ/internal/Initialize(mapload) . = ..() diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index bb02c8b9ef9e9c..712857a8006eb3 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -3,7 +3,7 @@ #define INFLAMATION_ADVANCEMENT_PROB 2 /obj/item/organ/internal/appendix - name = "appendix" + name = "аппендикс" icon_state = "appendix" base_icon_state = "appendix" visual = FALSE @@ -14,14 +14,14 @@ healing_factor = STANDARD_ORGAN_HEALING decay_factor = STANDARD_ORGAN_DECAY - now_failing = "An explosion of pain erupts in your lower right abdomen!" - now_fixed = "The pain in your abdomen has subsided." + now_failing = span_warning("Взрывная боль заполнила правый нижний угол живота!") + now_fixed = span_info("Боль в животе утихла.") var/inflamation_stage = 0 /obj/item/organ/internal/appendix/update_name() . = ..() - name = "[inflamation_stage ? "inflamed " : null][initial(name)]" + name = "[inflamation_stage ? "воспаленный " : null][initial(name)]" /obj/item/organ/internal/appendix/update_icon_state() icon_state = "[base_icon_state][inflamation_stage ? "inflamed" : ""]" @@ -59,7 +59,7 @@ organ_owner.emote("cough") if(2) if(SPT_PROB(1.5, seconds_per_tick)) - to_chat(organ_owner, span_warning("You feel a stabbing pain in your abdomen!")) + to_chat(organ_owner, span_warning("Чувствую острую боль в животе!")) organ_owner.adjustOrganLoss(ORGAN_SLOT_APPENDIX, 5) organ_owner.Stun(rand(40, 60)) organ_owner.adjustToxLoss(1, forced = TRUE) @@ -85,7 +85,7 @@ /obj/item/organ/internal/appendix/get_status_text() if((!(organ_flags & ORGAN_FAILING)) && inflamation_stage) - return "Inflamed" + return "Воспалена" else return ..() diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm index 486284b8b6d2cd..3da455d74b23ed 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm @@ -61,7 +61,7 @@ /obj/item/organ/internal/cyberimp/arm/examine(mob/user) . = ..() if(IS_ROBOTIC_ORGAN(src)) - . += span_info("[src] is assembled in the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.") + . += span_info("[capitalize(src.name)] собран в [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] зоне рук. Можно использовать отвертку для его пересборки.") /obj/item/organ/internal/cyberimp/arm/screwdriver_act(mob/living/user, obj/item/screwtool) . = ..() @@ -73,7 +73,7 @@ else zone = BODY_ZONE_R_ARM SetSlotFromZone() - to_chat(user, span_notice("You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.")) + to_chat(user, span_notice("Изменяю положение [src] и пересобираю его в [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] руке.")) update_appearance() /obj/item/organ/internal/cyberimp/arm/on_insert(mob/living/carbon/arm_owner) @@ -101,7 +101,7 @@ if(. & EMP_PROTECT_SELF || !IS_ROBOTIC_ORGAN(src)) return if(prob(15/severity) && owner) - to_chat(owner, span_warning("The electromagnetic pulse causes [src] to malfunction!")) + to_chat(owner, span_warning("Электромагнитный импульс вызвал неисправность [src]!")) // give the owner an idea about why his implant is glitching Retract() @@ -126,10 +126,9 @@ return FALSE if(owner) owner.visible_message( - span_notice("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), - span_notice("[active_item] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), - span_hear("You hear a short mechanical noise."), - ) + span_notice("[owner] втягивает [active_item] обратно в [owner.ru_ego()] [zone == BODY_ZONE_R_ARM ? "правую" : "левую"] руку."), + span_notice("[capitalize(active_item)] возвращается в мою [zone == BODY_ZONE_R_ARM ? "правую" : "левую"] руку."), + span_hear("Слышу короткий механический шелчок.")) owner.transferItemToLoc(active_item, src, TRUE) else @@ -162,18 +161,18 @@ for(var/i in 1 to hand_items.len) //Can't just use *in* here. var/hand_item = hand_items[i] if(!owner.dropItemToGround(hand_item)) - failure_message += span_warning("Your [hand_item] interferes with [src]!") + failure_message += span_warning("Мой [hand_item] мешает [src]!") continue - to_chat(owner, span_notice("You drop [hand_item] to activate [src]!")) + to_chat(owner, span_notice("Бросаю [hand_item] чтобы активировать [src]!")) success = owner.put_in_hand(active_item, owner.get_empty_held_index_for_side(side)) break if(!success) for(var/i in failure_message) to_chat(owner, i) return - owner.visible_message(span_notice("[owner] extends [active_item] from [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), - span_notice("You extend [active_item] from your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), - span_hear("You hear a short mechanical noise.")) + owner.visible_message(span_notice("[owner] вытягивает [active_item] из [owner.ru_ego()] [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] руки."), + span_notice("Вытягиваю [active_item] из моей [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] руки."), + span_hear("Слышу короткий механический шелчок.")) playsound(get_turf(owner), extend_sound, 50, TRUE) if(length(items_list) > 1) @@ -186,7 +185,7 @@ /obj/item/organ/internal/cyberimp/arm/ui_action_click() if((organ_flags & ORGAN_FAILING) || (!active_item && !contents.len)) - to_chat(owner, span_warning("The implant doesn't respond. It seems to be broken...")) + to_chat(owner, span_warning("Имплант не отвечает. Похоже, что он сломался...")) return if(!active_item || (active_item in src)) @@ -215,9 +214,9 @@ return if(prob(30/severity) && owner && !(organ_flags & ORGAN_FAILING)) Retract() - owner.visible_message(span_danger("A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!")) + owner.visible_message(span_danger("Из [owner] [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] руки [owner] раздался громкий хлопок!")) playsound(get_turf(owner), 'sound/weapons/flashbang.ogg', 100, TRUE) - to_chat(owner, span_userdanger("You feel an explosion erupt inside your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm as your implant breaks!")) + to_chat(owner, span_userdanger("Чувствую взрыв в моей [zone == BODY_ZONE_R_ARM ? "правой" : "левой"] руке, сломался имплант!")) owner.adjust_fire_stacks(20) owner.ignite_mob() owner.adjustFireLoss(25) @@ -225,8 +224,8 @@ /obj/item/organ/internal/cyberimp/arm/gun/laser - name = "arm-mounted laser implant" - desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use." + name = "встроенный в руку лазерный имплант" + desc = "Вариация импланта ручной пушки которая стреляет смертоносными лазернами лучами. Если не используется то пушка остается внутри руки, при стрельбе высовывается из неё." icon_state = "arm_laser" items_to_create = list(/obj/item/gun/energy/laser/mounted/augment) @@ -234,8 +233,8 @@ zone = BODY_ZONE_L_ARM /obj/item/organ/internal/cyberimp/arm/gun/taser - name = "arm-mounted taser implant" - desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use." + name = "встроенный в руку тазер" + desc = "Вариация импланта ручной пушки, которая стреляет электродами и вырубающими снарядами. Если не используется то пушка остается внутри руки, при стрельбе высовывается из неё." icon_state = "arm_taser" items_to_create = list(/obj/item/gun/energy/e_gun/advtaser/mounted) @@ -243,8 +242,8 @@ zone = BODY_ZONE_L_ARM /obj/item/organ/internal/cyberimp/arm/toolset - name = "integrated toolset implant" - desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contain advanced versions of every tool." + name = "имплант встроенного набора инструментов" + desc = "Урезанная версия набора инструментов инженерного киборга, сконструированная для установки в руку. Содержит улучшенные версии всех инструментов." actions_types = list(/datum/action/item_action/organ_action/toggle/toolkit) items_to_create = list( /obj/item/screwdriver/cyborg, @@ -269,13 +268,13 @@ return TRUE /obj/item/organ/internal/cyberimp/arm/esword - name = "arm-mounted energy blade" - desc = "An illegal and highly dangerous cybernetic implant that can project a deadly blade of concentrated energy." + name = "встроенный в руку энергетический клинок" + desc = "Незаконный и крайне опасный кибернетический имплант способный выпустить смертоносный клинок из концетрированной энергии." items_to_create = list(/obj/item/melee/energy/blade/hardlight) /obj/item/organ/internal/cyberimp/arm/medibeam - name = "integrated medical beamgun" - desc = "A cybernetic implant that allows the user to project a healing beam from their hand." + name = "встроенная медицинская лучевая пушка" + desc = "Кибернетический имплант позволяющий пользователю излучать исцеляющие лучи из своей руки." items_to_create = list(/obj/item/gun/medbeam) @@ -304,13 +303,13 @@ return ..() /obj/item/organ/internal/cyberimp/arm/baton - name = "arm electrification implant" - desc = "An illegal combat implant that allows the user to administer disabling shocks from their arm." + name = "имплант электрификации руки" + desc = "Незаконный боевой имплант позволяющий пользователю контролировать обезвреживающие электричество из своей руки." items_to_create = list(/obj/item/borg/stun) /obj/item/organ/internal/cyberimp/arm/combat - name = "combat cybernetics implant" - desc = "A powerful cybernetic implant that contains combat modules built into the user's arm." + name = "боевой кибернетический имплант" + desc = "Мощный кибернетический имплант встроенный в руку пользователя и содержащий боевые модули." items_to_create = list( /obj/item/melee/energy/blade/hardlight, /obj/item/gun/medbeam, @@ -328,30 +327,32 @@ flash.arm = WEAKREF(src) // Todo: wipe single letter vars out of assembly code /obj/item/organ/internal/cyberimp/arm/surgery - name = "surgical toolset implant" - desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." + name = "имплант хирургических инструментов" + desc = "Набор хирургических инструментов скрывающийся за скрытой панелью на руке пользователя." actions_types = list(/datum/action/item_action/organ_action/toggle/toolkit) items_to_create = list( + /obj/item/surgical_drapes, /obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, - /obj/item/surgical_drapes, + /obj/item/bonesetter/augment, ) /obj/item/organ/internal/cyberimp/arm/surgery/emagged - name = "hacked surgical toolset implant" - desc = "A set of surgical tools hidden behind a concealed panel on the user's arm. This one seems to have been tampered with." + name = "взломанный имплант хирургических инструментов" + desc = "Набор хирургических инструментов скрывающийся за скрытой панелью на руке пользователя." items_to_create = list( + /obj/item/surgical_drapes, /obj/item/retractor/augment, /obj/item/hemostat/augment, /obj/item/cautery/augment, /obj/item/surgicaldrill/augment, /obj/item/scalpel/augment, /obj/item/circular_saw/augment, - /obj/item/surgical_drapes, + /obj/item/bonesetter/augment, /obj/item/knife/combat/cyborg, ) diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm b/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm index 1ea3a1bf9c4abc..3fbea3455b2775 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm @@ -1,16 +1,17 @@ /obj/item/organ/internal/cyberimp/chest - name = "cybernetic torso implant" - desc = "Implants for the organs in your torso." + name = "кибернетический имплант туловища" + desc = "Импланты для органов туловища." icon_state = "chest_implant" implant_overlay = "chest_implant_overlay" zone = BODY_ZONE_CHEST /obj/item/organ/internal/cyberimp/chest/nutriment - name = "Nutriment pump implant" - desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are starving." + name = "имплант \"питательный насос\"" + desc = "Этот имплант синтезирует и закачаивает в ваш кровосток небольшое количество питательных веществ и жидкости если вы голодаете." icon_state = "chest_implant" implant_color = "#00AA00" var/hunger_threshold = NUTRITION_LEVEL_STARVING + var/hydration_threshold = HYDRATION_LEVEL_THIRSTY var/synthesizing = 0 var/poison_amount = 5 slot = ORGAN_SLOT_STOMACH_AID @@ -21,10 +22,16 @@ if(owner.nutrition <= hunger_threshold) synthesizing = TRUE - to_chat(owner, span_notice("You feel less hungry...")) + to_chat(owner, span_notice("Чуство голода немного притупилось...")) owner.adjust_nutrition(25 * seconds_per_tick) addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50) + if(owner.hydration <= hydration_threshold) + synthesizing = TRUE + to_chat(owner, span_notice("Жажда мучает не так сильно...")) + owner.hydration = owner.hydration + 20 + addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50) + /obj/item/organ/internal/cyberimp/chest/nutriment/proc/synth_cool() synthesizing = FALSE @@ -33,20 +40,20 @@ if(!owner || . & EMP_PROTECT_SELF) return owner.reagents.add_reagent(/datum/reagent/toxin/bad_food, poison_amount / severity) - to_chat(owner, span_warning("You feel like your insides are burning.")) + to_chat(owner, span_warning("Чувствую будто мои внутренности горят.")) /obj/item/organ/internal/cyberimp/chest/nutriment/plus - name = "Nutriment pump implant PLUS" - desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are hungry." + name = "имплант \"питательный насос ПЛЮС\"" + desc = "Этот имплант полностью перекрывает все потребности в пище и жидкости." icon_state = "chest_implant" implant_color = "#006607" hunger_threshold = NUTRITION_LEVEL_HUNGRY poison_amount = 10 /obj/item/organ/internal/cyberimp/chest/reviver - name = "Reviver implant" - desc = "This implant will attempt to revive and heal you if you lose consciousness. For the faint of heart!" + name = "имплант \"Реаниматор\"" + desc = "Этот имплант постарается привести вас в чуство и исцелить если вы потеряете сознание. Для слабонервных!" icon_state = "chest_implant" implant_color = "#AD0000" slot = ORGAN_SLOT_HEART_AID @@ -69,7 +76,7 @@ if(owner.stat == CONSCIOUS) COOLDOWN_START(src, reviver_cooldown, revive_cost) reviving = FALSE - to_chat(owner, span_notice("Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)].")) + to_chat(owner, span_notice("Имплант \"Реаниматор\" выключается и начинает перезаряжаться. Он будет готов через [DisplayTimeText(revive_cost)].")) else addtimer(CALLBACK(src, PROC_REF(heal)), 3 SECONDS) return @@ -80,7 +87,7 @@ if(owner.stat != CONSCIOUS) revive_cost = 0 reviving = TRUE - to_chat(owner, span_notice("You feel a faint buzzing as your reviver implant starts patching your wounds...")) + to_chat(owner, span_notice("Чувствую слабое жужжание, похоже имлант \"Реаниматор\" начал латать мои раны...")) /obj/item/organ/internal/cyberimp/chest/reviver/proc/heal() @@ -145,7 +152,7 @@ var/mob/living/carbon/human/human_owner = owner if(human_owner.stat != DEAD && prob(50 / severity) && human_owner.can_heartattack()) human_owner.set_heartattack(TRUE) - to_chat(human_owner, span_userdanger("You feel a horrible agony in your chest!")) + to_chat(human_owner, span_userdanger("Чувствую ужасную боль в груди!")) addtimer(CALLBACK(src, PROC_REF(undo_heart_attack)), 600 / severity) /obj/item/organ/internal/cyberimp/chest/reviver/proc/undo_heart_attack() @@ -154,13 +161,13 @@ return human_owner.set_heartattack(FALSE) if(human_owner.stat == CONSCIOUS) - to_chat(human_owner, span_notice("You feel your heart beating again!")) + to_chat(human_owner, span_notice("Чувствую, что мое сердце вновь забилось!")) /obj/item/organ/internal/cyberimp/chest/thrusters - name = "implantable thrusters set" - desc = "An implantable set of thruster ports. They use the gas from environment or subject's internals for propulsion in zero-gravity areas. \ - Unlike regular jetpacks, this device has no stabilization system." + name = "комплект маневровых имплантов" + desc = "Имлпантируевый набор маневровых портов. Они используют газ из окружения или внутренных органов субъекта для движения в условиях нулевой гравитации. \ + В отличии от обычных джетпаков, у данного устройства нет систем стабилизации." slot = ORGAN_SLOT_THRUSTERS icon_state = "imp_jetpack" base_icon_state = "imp_jetpack" @@ -201,7 +208,7 @@ return if(organ_flags & ORGAN_FAILING) if(!silent) - to_chat(owner, span_warning("Your thrusters set seems to be broken!")) + to_chat(owner, span_warning("Кажется, мой маневровый набор сломался!")) return if(SEND_SIGNAL(src, COMSIG_THRUSTER_ACTIVATED, owner) & THRUSTER_ACTIVATION_FAILED) return @@ -209,7 +216,7 @@ on = TRUE owner.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) if(!silent) - to_chat(owner, span_notice("You turn your thrusters set on.")) + to_chat(owner, span_notice("Включаю маневровый набор.")) update_appearance() /obj/item/organ/internal/cyberimp/chest/thrusters/proc/deactivate(silent = FALSE) @@ -218,7 +225,7 @@ SEND_SIGNAL(src, COMSIG_THRUSTER_DEACTIVATED, owner) owner.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic) if(!silent) - to_chat(owner, span_notice("You turn your thrusters set off.")) + to_chat(owner, span_notice("Выключаю маневровый набор.")) on = FALSE update_appearance() diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm index 352d4237cc0a27..88127a1c8f5ff9 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm @@ -1,6 +1,6 @@ /obj/item/organ/internal/cyberimp/eyes - name = "cybernetic eye implant" - desc = "Implants for your eyes." + name = "кибернетические импланты глаз" + desc = "Импланты для ваших глаз." icon_state = "eye_implant" implant_overlay = "eye_implant_overlay" slot = ORGAN_SLOT_EYES @@ -9,8 +9,8 @@ // HUD implants /obj/item/organ/internal/cyberimp/eyes/hud - name = "HUD implant" - desc = "These cybernetic eyes will display a HUD over everything you see. Maybe." + name = "имплант интерфейса" + desc = "Эти кибернетические глаза выведут интерфейс поверх всего что вы видите. Наверное." slot = ORGAN_SLOT_HUD var/HUD_type = 0 var/HUD_trait = null @@ -34,23 +34,23 @@ REMOVE_TRAIT(eye_owner, HUD_trait, ORGAN_TRAIT) /obj/item/organ/internal/cyberimp/eyes/hud/medical - name = "Medical HUD implant" - desc = "These cybernetic eye implants will display a medical HUD over everything you see." + name = "имплант медицинского интерфейса" + desc = "Эти кибернетические глаза выведут медицинский интерфейс поверх всего что вы видите." HUD_type = DATA_HUD_MEDICAL_ADVANCED HUD_trait = TRAIT_MEDICAL_HUD /obj/item/organ/internal/cyberimp/eyes/hud/security - name = "Security HUD implant" - desc = "These cybernetic eye implants will display a security HUD over everything you see." + name = "имплант интерфейса службы безопасности" + desc = "Эти кибернетические глаза выведут интерфейс службы безопасности поверх всего что вы видите." HUD_type = DATA_HUD_SECURITY_ADVANCED HUD_trait = TRAIT_SECURITY_HUD /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic - name = "Diagnostic HUD implant" - desc = "These cybernetic eye implants will display a diagnostic HUD over everything you see." + name = "имплант интерфейса диагностики" + desc = "Эти кибернетические глаза выведут интерфейс диагностики поверх всего что вы видите." HUD_type = DATA_HUD_DIAGNOSTIC_ADVANCED /obj/item/organ/internal/cyberimp/eyes/hud/security/syndicate - name = "Contraband Security HUD Implant" - desc = "A Cybersun Industries brand Security HUD Implant. These illicit cybernetic eye implants will display a security HUD over everything you see." + name = "контрабандный имплант интерфейса службы безопасности" + desc = "Интерфейс службы безопасности от КиберСан Индастриз. Эти нелегальные кибернетические глаза выведут интерфейс службы безопасности поверх всего что вы видите" organ_flags = ORGAN_ROBOTIC | ORGAN_HIDDEN diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm index f0578832969126..bcddf4c62774c1 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/cyberimp - name = "cybernetic implant" - desc = "A state-of-the-art implant that improves a baseline's functionality." + name = "кибернетический имплант" + desc = "Ультрасовременный имплант, улучшающий функциональность базовой линии." visual = FALSE organ_flags = ORGAN_ROBOTIC failing_desc = "seems to be broken." @@ -20,8 +20,8 @@ //[[[[BRAIN]]]] /obj/item/organ/internal/cyberimp/brain - name = "cybernetic brain implant" - desc = "Injectors of extra sub-routines for the brain." + name = "кибернетический мозговой имплант" + desc = "Инжекторы дополнительных подпрограмм для мозга." icon_state = "brain_implant" implant_overlay = "brain_implant_overlay" zone = BODY_ZONE_HEAD @@ -33,12 +33,12 @@ return var/stun_amount = 200/severity owner.Stun(stun_amount) - to_chat(owner, span_warning("Your body seizes up!")) + to_chat(owner, span_warning("Моё тело обездвижено!")) /obj/item/organ/internal/cyberimp/brain/anti_drop - name = "anti-drop implant" - desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle." + name = "имплант крепкого хвата" + desc = "Этот кибернетический мозговой имплант заставит мышцы ваших рук сократиться, предотвращая падение предметов. Подергайте ухом, чтобы переключиться." var/active = FALSE var/list/stored_items = list() implant_color = "#DE7E00" @@ -50,19 +50,19 @@ if(active) var/list/hold_list = owner.get_empty_held_indexes() if(LAZYLEN(hold_list) == owner.held_items.len) - to_chat(owner, span_notice("You are not holding any items, your hands relax...")) + to_chat(owner, span_notice("Ничего не держу, руки расслаблены...")) active = FALSE return for(var/obj/item/held_item as anything in owner.held_items) if(!held_item) continue stored_items += held_item - to_chat(owner, span_notice("Your [owner.get_held_index_name(owner.get_held_index_of_item(held_item))]'s grip tightens.")) + to_chat(owner, span_notice("Моя [owner.get_held_index_name(owner.get_held_index_of_item(held_item))] усиливает захват.")) ADD_TRAIT(held_item, TRAIT_NODROP, IMPLANT_TRAIT) RegisterSignal(held_item, COMSIG_ITEM_DROPPED, PROC_REF(on_held_item_dropped)) else release_items() - to_chat(owner, span_notice("Your hands relax...")) + to_chat(owner, span_notice("Руки расслабляются...")) /obj/item/organ/internal/cyberimp/brain/anti_drop/emp_act(severity) @@ -76,7 +76,7 @@ for(var/obj/item/stored_item as anything in stored_items) throw_target = pick(oview(range)) stored_item.throw_at(throw_target, range, 2) - to_chat(owner, span_warning("Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] spasms and throws the [stored_item.name]!")) + to_chat(owner, span_warning("Моя [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] спазмирует и [stored_item.name] вылетает из неё!")) stored_items = list() @@ -99,8 +99,8 @@ stored_items -= source /obj/item/organ/internal/cyberimp/brain/anti_stun - name = "CNS Rebooter implant" - desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned." + name = "имплант перезагрузки ЦНС" + desc = "Этот имплант автоматически вернет вам контроль над центральной нервной системой, сократив время паралича при оглушении." implant_color = "#FFFF00" slot = ORGAN_SLOT_BRAIN_ANTISTUN @@ -148,8 +148,8 @@ zone = BODY_ZONE_PRECISE_MOUTH /obj/item/organ/internal/cyberimp/mouth/breathing_tube - name = "breathing tube implant" - desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked." + name = "имплант дыхательной трубки" + desc = "Этот простой имплант добавляет к вашей спине внутренний соединитель, позволяющий использовать внутренние компоненты без маски и защищающий вас от удушья." icon_state = "implant_mask" slot = ORGAN_SLOT_BREATHING_TUBE w_class = WEIGHT_CLASS_TINY @@ -159,14 +159,14 @@ if(!owner || . & EMP_PROTECT_SELF) return if(prob(60/severity)) - to_chat(owner, span_warning("Your breathing tube suddenly closes!")) + to_chat(owner, span_warning("НЕ МОГУ ДЫШАТЬ!")) owner.losebreath += 2 //BOX O' IMPLANTS /obj/item/storage/box/cyber_implants - name = "boxed cybernetic implants" - desc = "A sleek, sturdy box." + name = "кибернетические импланты" + desc = "Элегантная и прочная коробка." icon_state = "cyber_implants" /obj/item/storage/box/cyber_implants/PopulateContents() diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index 82e2a6fb1317ef..36d22fe86739ee 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/ears - name = "ears" + name = "уши" icon_state = "ears" - desc = "There are three parts to the ear. Inner, middle and outer. Only one of these parts should be normally visible." + desc = "Ухо состоит из трех частей. Внутренний, средний и внешний. Обычно должна быть видна только одна из этих частей." zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_EARS visual = FALSE @@ -10,10 +10,10 @@ healing_factor = STANDARD_ORGAN_HEALING decay_factor = STANDARD_ORGAN_DECAY - low_threshold_passed = "Your ears begin to resonate with an internal ring sometimes." - now_failing = "You are unable to hear at all!" - now_fixed = "Noise slowly begins filling your ears once more." - low_threshold_cleared = "The ringing in your ears has died down." + low_threshold_passed = span_info("Слышу лёгкий звон в ушах.") + now_failing = span_warning("Ничего не слышу!") + now_fixed = span_info("Шум снова медленно начинает наполнять мои уши.") + low_threshold_cleared = span_info("Звон в ушах утих.") // `deaf` measures "ticks" of deafness. While > 0, the person is unable // to hear anything. @@ -31,7 +31,7 @@ /obj/item/organ/internal/ears/on_life(seconds_per_tick, times_fired) // only inform when things got worse, needs to happen before we heal if((damage > low_threshold && prev_damage < low_threshold) || (damage > high_threshold && prev_damage < high_threshold)) - to_chat(owner, span_warning("The ringing in your ears grows louder, blocking out any external noises for a moment.")) + to_chat(owner, span_warning("Звон в ушах становится громче, на мгновение заглушая любые внешние шумы.")) . = ..() // if we have non-damage related deafness like mutations, quirks or clothing (earmuffs), don't bother processing here. Ear healing from earmuffs or chems happen elsewhere @@ -61,7 +61,7 @@ damage_multiplier = 0 /obj/item/organ/internal/ears/cat - name = "cat ears" + name = "котоушки" icon = 'icons/obj/clothing/head/costume.dmi' worn_icon = 'icons/mob/clothing/head/costume.dmi' icon_state = "kitty" @@ -84,33 +84,33 @@ ear_owner.update_body() /obj/item/organ/internal/ears/penguin - name = "penguin ears" - desc = "The source of a penguin's happy feet." + name = "уши пингвина" + desc = "Источник счастливых ног пингвина." /obj/item/organ/internal/ears/penguin/on_insert(mob/living/carbon/human/ear_owner) . = ..() if(istype(ear_owner)) - to_chat(ear_owner, span_notice("You suddenly feel like you've lost your balance.")) + to_chat(ear_owner, span_notice("Похоже я теряю умение балансировать на ногах!")) ear_owner.AddElement(/datum/element/waddling) /obj/item/organ/internal/ears/penguin/on_remove(mob/living/carbon/human/ear_owner) . = ..() if(istype(ear_owner)) - to_chat(ear_owner, span_notice("Your sense of balance comes back to you.")) + to_chat(ear_owner, span_notice("Кажется меня больше не шатает.")) ear_owner.RemoveElement(/datum/element/waddling) /obj/item/organ/internal/ears/cybernetic - name = "cybernetic ears" + name = "кибернетические уши" icon_state = "ears-c" - desc = "A basic cybernetic organ designed to mimic the operation of ears." + desc = "Основной кибернетический орган, имитирующий работу ушей." damage_multiplier = 0.9 organ_flags = ORGAN_ROBOTIC failing_desc = "seems to be broken." /obj/item/organ/internal/ears/cybernetic/upgraded - name = "upgraded cybernetic ears" + name = "продвинутые кибернетические уши" icon_state = "ears-c-u" - desc = "An advanced cybernetic ear, surpassing the performance of organic ears." + desc = "Усовершенствованное кибернетическое ухо, превосходящее по характеристикам обычные уши." damage_multiplier = 0.5 diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index 09c857a6c727e5..a265f238e40287 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/eyes - name = BODY_ZONE_PRECISE_EYES + name = "глаза" icon_state = "eyes" - desc = "I see you!" + desc = "Я тебя вижу!" visual = TRUE zone = BODY_ZONE_PRECISE_EYES slot = ORGAN_SLOT_EYES @@ -13,12 +13,12 @@ high_threshold = 0.3 * STANDARD_ORGAN_THRESHOLD //threshold at 30 low_threshold = 0.2 * STANDARD_ORGAN_THRESHOLD //threshold at 20 - low_threshold_passed = "Distant objects become somewhat less tangible." - high_threshold_passed = "Everything starts to look a lot less clear." - now_failing = "Darkness envelopes you, as your eyes go blind!" - now_fixed = "Color and shapes are once again perceivable." - high_threshold_cleared = "Your vision functions passably once more." - low_threshold_cleared = "Your vision is cleared of any ailment." + low_threshold_passed = span_info("Далекие объекты становятся менее ощутимыми.") + high_threshold_passed = span_info("Все становится менее ясным.") + now_failing = span_warning("Тьма окутывает меня, глаза слепнут!") + now_fixed = span_info("Цвет и формы снова ощутимы.") + high_threshold_cleared = span_info("Зрение снова функционирует нормально.") + low_threshold_cleared = span_info("Зрение очищено от недугов.") /// Sight flags this eye pair imparts on its user. var/sight_flags = NONE @@ -244,25 +244,25 @@ #undef NIGHTVISION_LIGHT_HIG /obj/item/organ/internal/eyes/night_vision/mushroom - name = "fung-eye" - desc = "While on the outside they look inert and dead, the eyes of mushroom people are actually very advanced." + name = "грибоглаза" + desc = "Хотя снаружи они выглядят инертными и мертвыми, глаза грибных людей на самом деле очень развиты." low_light_cutoff = list(0, 15, 20) medium_light_cutoff = list(0, 20, 35) high_light_cutoff = list(0, 40, 50) /obj/item/organ/internal/eyes/zombie - name = "undead eyes" - desc = "Somewhat counterintuitively, these half-rotten eyes actually have superior vision to those of a living human." + name = "глаза нежити" + desc = "Как ни странно, у этих полусгнивших глаз на самом деле зрение лучше, чем у живого человека." color_cutoffs = list(25, 35, 5) /obj/item/organ/internal/eyes/alien - name = "alien eyes" - desc = "It turned out they had them after all!" + name = "чужеродные глаза" + desc = "Оказалось, они все-таки были!" sight_flags = SEE_MOBS color_cutoffs = list(25, 5, 42) /obj/item/organ/internal/eyes/golem - name = "resonating crystal" + name = "резонирующий кристалл" icon_state = "adamantine_cords" eye_icon_state = null desc = "Golems somehow measure external light levels and detect nearby ore using this sensitive mineral lattice." @@ -288,9 +288,9 @@ ///Robotic /obj/item/organ/internal/eyes/robotic - name = "robotic eyes" + name = "глаза робота" icon_state = "cybernetic_eyeballs" - desc = "Your vision is augmented." + desc = "Моё зрение аугментировано." organ_flags = ORGAN_ROBOTIC failing_desc = "seems to be broken." @@ -300,12 +300,12 @@ return if(prob(10 * severity)) return - to_chat(owner, span_warning("Static obfuscates your vision!")) + to_chat(owner, span_warning("Статика затуманивает моё зрение!")) owner.flash_act(visual = 1) /obj/item/organ/internal/eyes/robotic/basic - name = "basic robotic eyes" - desc = "A pair of basic cybernetic eyes that restore vision, but at some vulnerability to light." + name = "базовые кибернетические глаза" + desc = "Примитивный прототип протеза глаз способный видеть мир лишь в черно-белых оттенках, однако люди полностью лишенные зрения будут рады и такому." eye_color_left = "5500ff" eye_color_right = "5500ff" flash_protect = FLASH_PROTECTION_SENSITIVE @@ -321,8 +321,8 @@ owner.emote("scream") /obj/item/organ/internal/eyes/robotic/xray - name = "\improper X-ray eyes" - desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." + name = "рентгеновские глаза" + desc = "Эти кибернетические глаза дадут вам рентгеновское зрение. Моргать бесполезно." eye_color_left = "000" eye_color_right = "000" sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS @@ -336,8 +336,8 @@ REMOVE_TRAIT(eye_owner, TRAIT_XRAY_VISION, ORGAN_TRAIT) /obj/item/organ/internal/eyes/robotic/thermals - name = "thermal eyes" - desc = "These cybernetic eye implants will give you thermal vision. Vertical slit pupil included." + name = "термальные глаза" + desc = "Эти кибернетические глазные имплантаты дадут вам тепловое зрение. Зрачок с вертикальной щелью включен." eye_color_left = "FC0" eye_color_right = "FC0" // We're gonna downshift green and blue a bit so darkness looks yellow @@ -377,8 +377,8 @@ // Welding shield implant /obj/item/organ/internal/eyes/robotic/shield - name = "shielded robotic eyes" - desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." + name = "кибернетические глаза" + desc = "Встроенные светофильтры защитят вас от сварки и вспышек, не ограничивая обзор." flash_protect = FLASH_PROTECTION_WELDER /obj/item/organ/internal/eyes/robotic/shield/emp_act(severity) @@ -391,8 +391,8 @@ #define UPDATE_EYES_RIGHT 2 /obj/item/organ/internal/eyes/robotic/glow - name = "High Luminosity Eyes" - desc = "Special glowing eyes, used by snowflakes who want to be special." + name = "люминесцирующие глаза" + desc = "Особые светящиеся глаза, так же играют роль фонариков, однако не могут быть выключены. Цвет свечения можно изменять." eye_color_left = "000" eye_color_right = "000" actions_types = list(/datum/action/item_action/organ_action/use, /datum/action/item_action/organ_action/toggle) @@ -488,8 +488,8 @@ if("pick_color") var/new_color = input( usr, - "Choose eye color color:", - "High Luminosity Eyes Menu", + "Цвет", + "Цвет?", current_color_string ) as color|null if(new_color) @@ -651,8 +651,8 @@ #undef UPDATE_EYES_RIGHT /obj/item/organ/internal/eyes/moth - name = "moth eyes" - desc = "These eyes seem to have increased sensitivity to bright light, with no improvement to low light vision." + name = "глаза мотылька" + desc = "Эти глаза, кажется, имеют повышенную чувствительность к яркому свету без улучшения зрения при слабом освещении." eye_icon_state = "motheyes" icon_state = "eyeballs-moth" flash_protect = FLASH_PROTECTION_SENSITIVE @@ -696,8 +696,8 @@ icon_state = "eyeballs-cybermoth" /obj/item/organ/internal/eyes/snail - name = "snail eyes" - desc = "These eyes seem to have a large range, but might be cumbersome with glasses." + name = "глаза улитки" + desc = "Кажется, что эти глаза имеют большой диапазон, но могут быть громоздкими с очками." eye_icon_state = "snail_eyes" icon_state = "snail_eyeballs" diff --git a/code/modules/surgery/organs/internal/heart/_heart.dm b/code/modules/surgery/organs/internal/heart/_heart.dm index fb97ca7eda00b7..ca621131a230b9 100644 --- a/code/modules/surgery/organs/internal/heart/_heart.dm +++ b/code/modules/surgery/organs/internal/heart/_heart.dm @@ -1,6 +1,6 @@ /obj/item/organ/internal/heart - name = "heart" - desc = "I feel bad for the heartless bastard who lost this." + name = "сердце" + desc = "Мне жаль бессердечного ублюдка, который потерял это." icon_state = "heart-on" base_icon_state = "heart" visual = FALSE @@ -10,15 +10,15 @@ healing_factor = STANDARD_ORGAN_HEALING decay_factor = 2.5 * STANDARD_ORGAN_DECAY //designed to fail around 6 minutes after death - low_threshold_passed = "Prickles of pain appear then die out from within your chest..." - high_threshold_passed = "Something inside your chest hurts, and the pain isn't subsiding. You notice yourself breathing far faster than before." - now_fixed = "Your heart begins to beat again." - high_threshold_cleared = "The pain in your chest has died down, and your breathing becomes more relaxed." + low_threshold_passed = span_info("Колющая боль появляется и исчезает в груди...") + high_threshold_passed = span_warning("Что-то в груди болит, и боль не утихает. Ох, я дышу намного быстрее, чем раньше.") + now_fixed = span_info("Сердце снова начинает биться.") + high_threshold_cleared = span_info("Боль в груди утихла и дыхание стало более расслабленным.") // Heart attack code is in code/modules/mob/living/carbon/human/life.dm var/beating = TRUE - attack_verb_continuous = list("beats", "thumps") - attack_verb_simple = list("beat", "thump") + attack_verb_continuous = list("битбоксит", "тычет") + attack_verb_simple = list("битбоксит", "тычет") var/beat = BEAT_NONE//is this mob having a heatbeat sound played? if so, which? var/failed = FALSE //to prevent constantly running failing code var/operated = FALSE //whether the heart's been operated on to fix some of its damages @@ -39,8 +39,7 @@ /obj/item/organ/internal/heart/attack_self(mob/user) ..() if(!beating) - user.visible_message("[user] squeezes [src] to \ - make it beat again!",span_notice("You squeeze [src] to make it beat again!")) + user.visible_message(span_notice("[user] сдавливает [src.name] заставляя его биться снова!") ,span_notice("Сдавливаю [src.name] заставляя его биться снова!")) Restart() addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 80) @@ -74,7 +73,7 @@ if(owner.health <= owner.crit_threshold && beat != BEAT_SLOW) beat = BEAT_SLOW owner.playsound_local(get_turf(owner), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE) - to_chat(owner, span_notice("You feel your heart slow down...")) + to_chat(owner, span_notice("Моё сердце замедляется...")) if(beat == BEAT_SLOW && owner.health > owner.crit_threshold) owner.stop_sound_channel(CHANNEL_HEARTBEAT) beat = BEAT_NONE @@ -90,8 +89,8 @@ if(organ_flags & ORGAN_FAILING && owner.can_heartattack() && !(HAS_TRAIT(src, TRAIT_STABLEHEART))) //heart broke, stopped beating, death imminent... unless you have veins that pump blood without a heart if(owner.stat == CONSCIOUS) - owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \ - span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!")) + owner.visible_message(span_danger("[owner] хватается за [owner.ru_ego()] грудь в порыве сердечного приступа!") , \ + span_userdanger("Чувствую ужасную боль в груди, как будто остановилось сердце!")) owner.set_heartattack(TRUE) failed = TRUE @@ -99,8 +98,8 @@ return owner_species.mutantheart /obj/item/organ/internal/heart/cursed - name = "cursed heart" - desc = "A heart that, when inserted, will force you to pump it manually." + name = "проклятое сердце" + desc = "Сердце, которое при вставке заставит вас качать его вручную." icon_state = "cursedheart-off" base_icon_state = "cursedheart" decay_factor = 0 @@ -127,8 +126,8 @@ qdel(accursed.GetComponent(/datum/component/manual_heart)) /obj/item/organ/internal/heart/cybernetic - name = "basic cybernetic heart" - desc = "A basic electronic device designed to mimic the functions of an organic human heart." + name = "базовое кибернетическое сердце" + desc = "Базовое электронное устройство, имитирующее функции органического человеческого сердца." icon_state = "heart-c-on" base_icon_state = "heart-c" organ_flags = ORGAN_ROBOTIC @@ -157,10 +156,8 @@ Stop() addtimer(CALLBACK(src, PROC_REF(Restart)), 10 SECONDS) if(owner_needs_us) - owner.visible_message( - span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), - span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!"), - ) + owner.visible_message(span_danger("[owner] хватается за [owner.ru_ego()] грудь в порыве сердечного приступа!") , \ + span_userdanger("Чувствую ужасную боль в груди, как будто остановилось сердце!")) /obj/item/organ/internal/heart/cybernetic/on_life(seconds_per_tick, times_fired) . = ..() @@ -172,8 +169,8 @@ dose_available = FALSE /obj/item/organ/internal/heart/cybernetic/tier2 - name = "cybernetic heart" - desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma." + name = "кибернетическое сердце" + desc = "Электронное устройство, имитирующее функции человеческого сердца. Также содержит экстренную дозу адреналина, которая используется автоматически после серьезной травмы." icon_state = "heart-c-u-on" base_icon_state = "heart-c-u" maxHealth = 1.5 * STANDARD_ORGAN_THRESHOLD @@ -181,8 +178,8 @@ emp_vulnerability = 40 /obj/item/organ/internal/heart/cybernetic/tier3 - name = "upgraded cybernetic heart" - desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma. This upgraded model can regenerate its dose after use." + name = "продвинутое кибернетическое сердце" + desc = "Электронное устройство, имитирующее функции человеческого сердца. Также содержит экстренную дозу адреналина, которая используется автоматически после серьезной травмы. Эта модернизированная модель может восстанавливать дозу после использования." icon_state = "heart-c-u2-on" base_icon_state = "heart-c-u2" maxHealth = 2 * STANDARD_ORGAN_THRESHOLD @@ -208,8 +205,8 @@ AddElement(/datum/element/dangerous_surgical_removal) /obj/item/organ/internal/heart/freedom - name = "heart of freedom" - desc = "This heart pumps with the passion to give... something freedom." + name = "сердце свободы" + desc = "Это сердце накачивается страстью, чтобы дать... свободу." organ_flags = ORGAN_ROBOTIC //the power of freedom prevents heart attacks /// The cooldown until the next time this heart can give the host an adrenaline boost. COOLDOWN_DECLARE(adrenaline_cooldown) @@ -218,7 +215,7 @@ . = ..() if(owner.health < 5 && COOLDOWN_FINISHED(src, adrenaline_cooldown)) COOLDOWN_START(src, adrenaline_cooldown, rand(25 SECONDS, 1 MINUTES)) - to_chat(owner, span_userdanger("You feel yourself dying, but you refuse to give up!")) + to_chat(owner, span_userdanger("Отказываюсь сдаваться!")) owner.heal_overall_damage(brute = 15, burn = 15, required_bodytype = BODYTYPE_ORGANIC) if(owner.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20) owner.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10) diff --git a/code/modules/surgery/organs/internal/heart/heart_ethereal.dm b/code/modules/surgery/organs/internal/heart/heart_ethereal.dm index 8ad9301fe74122..f3c52bc63c52b9 100644 --- a/code/modules/surgery/organs/internal/heart/heart_ethereal.dm +++ b/code/modules/surgery/organs/internal/heart/heart_ethereal.dm @@ -1,5 +1,5 @@ /obj/item/organ/internal/heart/ethereal - name = "crystal core" + name = "Кристаллическое ядро" icon_state = "ethereal_heart" //Welp. At least it's more unique in functionaliy. visual = TRUE //This is used by the ethereal species for color desc = "A crystal-like organ that functions similarly to a heart for Ethereals. It can revive its owner." diff --git a/code/modules/surgery/organs/internal/liver/_liver.dm b/code/modules/surgery/organs/internal/liver/_liver.dm index 4eb5c665db6fd0..136d45434e2d10 100755 --- a/code/modules/surgery/organs/internal/liver/_liver.dm +++ b/code/modules/surgery/organs/internal/liver/_liver.dm @@ -4,8 +4,8 @@ #define MAX_TOXIN_LIVER_DAMAGE 2 //the max damage the liver can recieve per second (~1 min at max damage will destroy liver) /obj/item/organ/internal/liver - name = "liver" - desc = "Pairing suggestion: chianti and fava beans." + name = "печень" + desc = "Предложение по сочетанию: кьянти и бобы." icon_state = "liver" visual = FALSE w_class = WEIGHT_CLASS_SMALL @@ -85,27 +85,27 @@ if(HAS_MIND_TRAIT(user, TRAIT_ENTRAILS_READER) || isobserver(user)) if(HAS_TRAIT(src, TRAIT_LAW_ENFORCEMENT_METABOLISM)) - . += span_info("Fatty deposits and sprinkle residue, imply that this is the liver of someone in security.") + . += span_info("Жировые отложения и остатки опрыскивания предполагают, что это печень кого-то из охраны.") if(HAS_TRAIT(src, TRAIT_CULINARY_METABOLISM)) - . += span_info("The high iron content and slight smell of garlic, implies that this is the liver of a cook.") + . += span_info("Высокое содержание железа и легкий запах чеснока указывают на то, что это печень повара.") if(HAS_TRAIT(src, TRAIT_COMEDY_METABOLISM)) - . += span_info("A smell of bananas, a slippery sheen and [span_clown("honking")] when depressed, implies that this is the liver of a clown.") + . += span_info("Запах бананов, скользкий блеск и хонканье при расстройстве, означает, что это печень клоуна.") if(HAS_TRAIT(src, TRAIT_MEDICAL_METABOLISM)) - . += span_info("Marks of stress and a faint whiff of medicinal alcohol, imply that this is the liver of a medical worker.") + . += span_info("Следы стресса и слабый запах лекарственного алкоголя указывают на то, что это печень медицинского работника.") if(HAS_TRAIT(src, TRAIT_ENGINEER_METABOLISM)) - . += span_info("Signs of radiation exposure and space adaption, implies that this is the liver of an engineer.") + . += span_info("Признаки радиационного облучения и космической адаптации, подразумевают, что это печень инженера.") if(HAS_TRAIT(src, TRAIT_BALLMER_SCIENTIST)) . += span_info("Strange glowing residues, sprinklings of congealed solid plasma, and what seem to be tumors indicate this is the radiated liver of a scientist.") if(HAS_TRAIT(src, TRAIT_MAINTENANCE_METABOLISM)) - . += span_info("A half-digested rat's tail (somehow), disgusting sludge, and the faint smell of Grey Bull imply this is what remains of an assistant's liver.") + . += span_info("Эта печень более серая, чем многие другие, и со следами электрических ожогов. Она явно принадлежит ассистенту.") if(HAS_TRAIT(src, TRAIT_CORONER_METABOLISM)) . += span_info("An aroma of pickles and sea water, along with being remarkably well-preserved, imply this is what remains of a coroner's liver.") // royal trumps pretender royal if(HAS_TRAIT(src, TRAIT_ROYAL_METABOLISM)) - . += span_info("A rich diet of luxury food, suppleness from soft beds, implies that this is the liver of a head of staff.") + . += span_info("Богатая диета, состоящая из роскошной пищи и мягких кроватей подразумевает, что это печень главы.") else if(HAS_TRAIT(src, TRAIT_PRETENDER_ROYAL_METABOLISM)) - . += span_info("A diet of imitation caviar, and signs of insomnia, implies that this is the liver of someone who wants to be a head of staff.") + . += span_info("Диета, состоящая из имитации икры и признаков бессонницы, подразумевает, что это печень того, кто хочет быть главой.") /obj/item/organ/internal/liver/before_organ_replacement(obj/item/organ/replacement) . = ..() @@ -158,7 +158,7 @@ apply_organ_damage(min(liver_damage * seconds_per_tick , MAX_TOXIN_LIVER_DAMAGE * seconds_per_tick)) if(provide_pain_message && damage > 10 && SPT_PROB(damage/6, seconds_per_tick)) //the higher the damage the higher the probability - to_chat(owner, span_warning("You feel a dull pain in your abdomen.")) + to_chat(owner, span_warning("Ощущаю тупую боль в животе.")) /obj/item/organ/internal/liver/handle_failing_organs(seconds_per_tick) @@ -169,20 +169,20 @@ /obj/item/organ/internal/liver/organ_failure(seconds_per_tick) switch(failure_time/LIVER_FAILURE_STAGE_SECONDS) if(1) - to_chat(owner, span_userdanger("You feel stabbing pain in your abdomen!")) + to_chat(owner, span_userdanger("Ощущаю острую боль в области живота!")) if(2) - to_chat(owner, span_userdanger("You feel a burning sensation in your gut!")) + to_chat(owner, span_userdanger("Ощущаю как мои кишки горят!")) owner.vomit(VOMIT_CATEGORY_DEFAULT) if(3) - to_chat(owner, span_userdanger("You feel painful acid in your throat!")) + to_chat(owner, span_userdanger("Кислота прибывает к глотке!")) owner.vomit(VOMIT_CATEGORY_BLOOD) if(4) - to_chat(owner, span_userdanger("Overwhelming pain knocks you out!")) + to_chat(owner, span_userdanger("КАК БОЛЬНО! АХ!")) owner.vomit(VOMIT_CATEGORY_BLOOD, distance = rand(1,2)) owner.emote("Scream") owner.AdjustUnconscious(2.5 SECONDS) if(5) - to_chat(owner, span_userdanger("You feel as if your guts are about to melt!")) + to_chat(owner, span_userdanger("КИШКИ ХОТЯТ РАСПЛАВИТЬСЯ!")) owner.vomit(VOMIT_CATEGORY_BLOOD, distance = rand(1,3)) owner.emote("Scream") owner.AdjustUnconscious(5 SECONDS) @@ -225,26 +225,26 @@ return switch(failure_time) if(0 to 3 * LIVER_FAILURE_STAGE_SECONDS - 1) - examine_list += span_notice("[owner]'s eyes are slightly yellow.") + examine_list += span_notice("\nГлаза [owner] желтоватые.") if(3 * LIVER_FAILURE_STAGE_SECONDS to 4 * LIVER_FAILURE_STAGE_SECONDS - 1) - examine_list += span_notice("[owner]'s eyes are completely yellow, and [owner.p_they()] [owner.p_are()] visibly suffering.") + examine_list += span_notice("\nГлаза [owner] жёлтые и похоже пациенту плохо.") if(4 * LIVER_FAILURE_STAGE_SECONDS to INFINITY) - examine_list += span_danger("[owner]'s eyes are completely yellow and swelling with pus. [owner.p_They()] [owner.p_do()]n't look like [owner.p_they()] will be alive for much longer.") + examine_list += span_danger("\nГлаза [owner] полностью жёлтые и из них сочится гадкая слизь. [owner.ru_who(TRUE)] не проживёт долго с этим.") /obj/item/organ/internal/liver/get_availability(datum/species/owner_species, mob/living/owner_mob) return owner_species.mutantliver // alien livers can ignore up to 15u of toxins, but they take x3 liver damage /obj/item/organ/internal/liver/alien - name = "alien liver" // doesnt matter for actual aliens because they dont take toxin damage - desc = "A liver that used to belong to a killer alien, who knows what it used to eat." + name = "чужеродная печень" // doesnt matter for actual aliens because they dont take toxin damage + desc = "Печень, которая раньше принадлежала инопланетянину-убийце, который знает, чем она раньше ела." icon_state = "liver-x" // Same sprite as fly-person liver. liver_resistance = 0.333 * LIVER_DEFAULT_TOX_RESISTANCE // -66% toxTolerance = 15 // complete toxin immunity like xenos have would be too powerful /obj/item/organ/internal/liver/cybernetic - name = "basic cybernetic liver" - desc = "A very basic device designed to mimic the functions of a human liver. Handles toxins slightly worse than an organic liver." + name = "базовая кибернетическая печень" + desc = "Очень простое устройство, имитирующее функции печени человека. Переносит токсины несколько хуже, чем органическая печень." failing_desc = "seems to be broken." icon_state = "liver-c" organ_flags = ORGAN_ROBOTIC @@ -264,8 +264,8 @@ organ_flags |= ORGAN_EMP //Starts organ faliure - gonna need replacing soon. /obj/item/organ/internal/liver/cybernetic/tier2 - name = "cybernetic liver" - desc = "An electronic device designed to mimic the functions of a human liver. Handles toxins slightly better than an organic liver." + name = "кибернетическая печень" + desc = "Электронное устройство, имитирующее функции печени человека. Справляется с токсинами немного лучше, чем органическая печень." icon_state = "liver-c-u" maxHealth = 1.5 * STANDARD_ORGAN_THRESHOLD toxTolerance = 5 //can shrug off up to 5u of toxins @@ -273,8 +273,8 @@ emp_vulnerability = 40 /obj/item/organ/internal/liver/cybernetic/tier3 - name = "upgraded cybernetic liver" - desc = "An upgraded version of the cybernetic liver, designed to improve further upon organic livers. It is resistant to alcohol poisoning and is very robust at filtering toxins." + name = "продвинутая кибернетическая печень" + desc = "Усовершенствованная версия кибернетической печени, предназначенная для дальнейшего улучшения органической печени. Он устойчив к отравлению алкоголем и превосходно фильтрует токсины." icon_state = "liver-c-u2" alcohol_tolerance = ALCOHOL_RATE * 0.2 maxHealth = 2 * STANDARD_ORGAN_THRESHOLD diff --git a/code/modules/surgery/organs/internal/liver/liver_plasmaman.dm b/code/modules/surgery/organs/internal/liver/liver_plasmaman.dm index be21968d659b88..c0c6693f4e720c 100644 --- a/code/modules/surgery/organs/internal/liver/liver_plasmaman.dm +++ b/code/modules/surgery/organs/internal/liver/liver_plasmaman.dm @@ -3,8 +3,8 @@ * Makes plasma and hot ice heal wounds, also makes gunpowder a hallucinogen. **/ /obj/item/organ/internal/liver/bone/plasmaman - name = "reagent processing crystal" - desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen." + name = "кристалл для обработки реагентов" + desc = "Большой кристалл, который каким-то образом способен метаболизировать химические вещества, они находятся в плазмамене." icon_state = "liver-p" organ_flags = ORGAN_MINERAL organ_traits = list(TRAIT_PLASMA_LOVER_METABOLISM) diff --git a/code/modules/surgery/organs/internal/lungs/_lungs.dm b/code/modules/surgery/organs/internal/lungs/_lungs.dm index 2e99f70d989161..bedaaf6a64424b 100644 --- a/code/modules/surgery/organs/internal/lungs/_lungs.dm +++ b/code/modules/surgery/organs/internal/lungs/_lungs.dm @@ -1,5 +1,5 @@ /obj/item/organ/internal/lungs - name = "lungs" + name = "лёгкие" icon_state = "lungs" visual = FALSE zone = BODY_ZONE_CHEST @@ -12,11 +12,11 @@ healing_factor = STANDARD_ORGAN_HEALING decay_factor = STANDARD_ORGAN_DECAY * 0.9 // fails around 16.5 minutes, lungs are one of the last organs to die (of the ones we have) - low_threshold_passed = "You feel short of breath." - high_threshold_passed = "You feel some sort of constriction around your chest as your breathing becomes shallow and rapid." - now_fixed = "Your lungs seem to once again be able to hold air." - low_threshold_cleared = "You can breathe normally again." - high_threshold_cleared = "The constriction around your chest loosens as your breathing calms down." + low_threshold_passed = span_warning("Трудно дышать...") + high_threshold_passed = span_warning("Ощущаю какое-то сжатие вокруг груди, моё дыхание становится поверхностным и быстрым.") + now_fixed = span_warning("Моим лёгким, похоже, стало легче.") + low_threshold_cleared = span_info("Воздух начинает поступать в мои лёгкие. Благодать.") + high_threshold_cleared = span_info("Давление вокруг моей груди ослабевает, дышать стало легче.") var/failed = FALSE var/operated = FALSE //whether we can still have our damages fixed through surgery @@ -83,7 +83,7 @@ var/tritium_irradiation_probability_min = 10 var/tritium_irradiation_probability_max = 60 - var/cold_message = "your face freezing and an icicle forming" + var/cold_message = "как моё лицо мёрзнет и ледяной воздух поступает" var/cold_level_1_threshold = 260 var/cold_level_2_threshold = 200 var/cold_level_3_threshold = 120 @@ -92,7 +92,7 @@ var/cold_level_3_damage = COLD_GAS_DAMAGE_LEVEL_3 var/cold_damage_type = BURN - var/hot_message = "your face burning and a searing heat" + var/hot_message = "как моё лицо горит и горячий воздух поступает" var/heat_level_1_threshold = 360 var/heat_level_2_threshold = 400 var/heat_level_3_threshold = 1000 @@ -385,12 +385,12 @@ if (freon_pp > gas_stimulation_min) breather.reagents.add_reagent(/datum/reagent/freon, 1) if (prob(freon_pp)) - to_chat(breather, span_alert("Your mouth feels like it's burning!")) + to_chat(breather, span_alert("Мои губы горят!")) if (freon_pp > 40) breather.emote("gasp") breather.adjustFireLoss(15) if (prob(freon_pp / 2)) - to_chat(breather, span_alert("Your throat closes up!")) + to_chat(breather, span_alert("Моя глотка смыкается!")) breather.set_silence_if_lower(6 SECONDS) else breather.adjustFireLoss(freon_pp / 4) @@ -410,7 +410,7 @@ // Euphoria side-effect. if(healium_pp > gas_stimulation_min) if(prob(15)) - to_chat(breather, span_alert("Your head starts spinning and your lungs burn!")) + to_chat(breather, span_alert("Голова кружится и лёгкие горят!")) healium_euphoria = EUPHORIA_ACTIVE breather.emote("gasp") else @@ -462,7 +462,7 @@ // tl;dr the first argument chooses the smaller of miasma_pp/2 or 6(typical max virus symptoms), the second chooses the smaller of miasma_pp or 8(max virus symptom level) // Each argument has a minimum of 1 and rounds to the nearest value. Feel free to change the pp scaling I couldn't decide on good numbers for it. if(breather.CanContractDisease(miasma_disease)) - miasma_disease.name = "Unknown" + miasma_disease.name = "Неизвестный" breather.AirborneContractDisease(miasma_disease, TRUE) // Miasma side effects switch(miasma_pp) @@ -470,22 +470,22 @@ // At lower pp, give out a little warning breather.clear_mood_event("smell") if(prob(5)) - to_chat(breather, span_notice("There is an unpleasant smell in the air.")) + to_chat(breather, span_notice("Тошнотворный запах.")) if(5 to 15) //At somewhat higher pp, warning becomes more obvious if(prob(15)) - to_chat(breather, span_warning("You smell something horribly decayed inside this room.")) + to_chat(breather, span_warning("Здесь кто-то умер? Воняет ужасно...")) breather.add_mood_event("smell", /datum/mood_event/disgust/bad_smell) if(15 to 30) //Small chance to vomit. By now, people have internals on anyway if(prob(5)) - to_chat(breather, span_warning("The stench of rotting carcasses is unbearable!")) + to_chat(breather, span_warning("Вонь гниющих туш невыносима! Тошнит...")) breather.add_mood_event("smell", /datum/mood_event/disgust/nauseating_stench) breather.vomit(VOMIT_CATEGORY_DEFAULT) if(30 to INFINITY) //Higher chance to vomit. Let the horror start if(prob(15)) - to_chat(breather, span_warning("The stench of rotting carcasses is unbearable!")) + to_chat(breather, span_warning("Вонь гниющих туш невыносима! Сейчас блевану...")) breather.add_mood_event("smell", /datum/mood_event/disgust/nauseating_stench) breather.vomit(VOMIT_CATEGORY_DEFAULT) else @@ -543,7 +543,7 @@ if((prob(nitrium_pp) && (nitrium_pp > 15))) // Nitrium side-effect. breather.adjustOrganLoss(ORGAN_SLOT_LUNGS, nitrium_pp * 0.1) - to_chat(breather, "You feel a burning sensation in your chest") + to_chat(breather, span_notice("Мои лёгкие горят!")) // Metabolize to reagents. if (nitrium_pp > 5) var/existing = breather.reagents.get_reagent_amount(/datum/reagent/nitrium_low_metabolization) @@ -761,7 +761,7 @@ breather.apply_damage(cold_level_1_damage*cold_modifier, cold_damage_type, spread_damage = TRUE) if(breath_temperature < cold_level_1_threshold) if(prob(20)) - to_chat(breather, span_warning("You feel [cold_message] in your [name]!")) + to_chat(breather, span_warning("Ощущаю [cold_message] в мои лёгкие!")) if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE var/heat_modifier = breather.dna.species.heatmod @@ -773,7 +773,7 @@ breather.apply_damage(heat_level_3_damage*heat_modifier, heat_damage_type, spread_damage = TRUE) if(breath_temperature > heat_level_1_threshold) if(prob(20)) - to_chat(breather, span_warning("You feel [hot_message] in your [name]!")) + to_chat(breather, span_warning("Ощущаю [hot_message] в мои лёгкие!")) // The air you breathe out should match your body temperature breath.temperature = breather.bodytemperature @@ -798,8 +798,8 @@ #define SMOKER_LUNG_HEALING (STANDARD_ORGAN_HEALING * 0.75) /obj/item/organ/internal/lungs/plasmaman - name = "plasma filter" - desc = "A spongy rib-shaped mass for filtering plasma from the air." + name = "плазма-фильтр" + desc = "Губчатая масса в форме ребра для фильтрации плазмы из дыхания." icon_state = "lungs-plasma" organ_traits = list(TRAIT_NOHUNGER) // A fresh breakfast of plasma is a great start to any morning. @@ -816,8 +816,8 @@ healing_factor = SMOKER_LUNG_HEALING /obj/item/organ/internal/lungs/slime - name = "vacuole" - desc = "A large organelle designed to store oxygen and other important gasses." + name = "вакуоль" + desc = "Большая органелла, предназначенная для хранения кислорода и других важных газов." safe_plasma_max = 0 //We breathe this to gain POWER. @@ -828,7 +828,7 @@ breather_slime.blood_volume += (0.2 * plasma_pp) // 10/s when breathing literally nothing but plasma, which will suffocate you. /obj/item/organ/internal/lungs/smoker_lungs - name = "smoker lungs" + name = "лёгкие курильщика" desc = "A pair of lungs that look sickly, a result from smoking a lot." icon_state = "lungs_smoker" @@ -836,8 +836,8 @@ healing_factor = SMOKER_LUNG_HEALING /obj/item/organ/internal/lungs/cybernetic - name = "basic cybernetic lungs" - desc = "A basic cybernetic version of the lungs found in traditional humanoid entities." + name = "базовые кибернетические лёгкие" + desc = "Базовая кибернетическая версия легких, встречающаяся у традиционных гуманоидных существ." failing_desc = "seems to be broken." icon_state = "lungs-c" organ_flags = ORGAN_ROBOTIC @@ -855,16 +855,16 @@ organ_flags |= ORGAN_EMP //Starts organ faliure - gonna need replacing soon. /obj/item/organ/internal/lungs/cybernetic/tier2 - name = "cybernetic lungs" - desc = "A cybernetic version of the lungs found in traditional humanoid entities. Allows for greater intakes of oxygen than organic lungs, requiring slightly less pressure." + name = "кибернетические лёгкие" + desc = "Кибернетическая версия легких традиционных гуманоидных существ. Позволяет потреблять больше кислорода, чем органические легкие, требуя немного меньшего давления." icon_state = "lungs-c-u" maxHealth = 1.5 * STANDARD_ORGAN_THRESHOLD safe_oxygen_min = 13 emp_vulnerability = 40 /obj/item/organ/internal/lungs/cybernetic/tier3 - name = "upgraded cybernetic lungs" - desc = "A more advanced version of the stock cybernetic lungs. Features the ability to filter out lower levels of plasma and carbon dioxide." + name = "продвинутые кибернетические лёгкие" + desc = "Более продвинутая версия штатных кибернетических легких. Отличается способностью отфильтровывать более низкие уровни токсинов и углекислого газа." icon_state = "lungs-c-u2" safe_plasma_max = 20 safe_co2_max = 20 diff --git a/code/modules/surgery/organs/internal/stomach/_stomach.dm b/code/modules/surgery/organs/internal/stomach/_stomach.dm index 63fefca156ccbb..0ae898ed5fd703 100644 --- a/code/modules/surgery/organs/internal/stomach/_stomach.dm +++ b/code/modules/surgery/organs/internal/stomach/_stomach.dm @@ -2,23 +2,23 @@ #define STOMACH_METABOLISM_CONSTANT 0.25 /obj/item/organ/internal/stomach - name = "stomach" + name = "желудок" desc = "Onaka ga suite imasu." icon_state = "stomach" visual = FALSE w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_STOMACH - attack_verb_continuous = list("gores", "squishes", "slaps", "digests") - attack_verb_simple = list("gore", "squish", "slap", "digest") + attack_verb_continuous = list("выжимает", "выдавливает", "шлёпает", "кормит") + attack_verb_simple = list("выжимает", "выдавливает", "шлёпает", "кормит") healing_factor = STANDARD_ORGAN_HEALING decay_factor = STANDARD_ORGAN_DECAY * 1.15 // ~13 minutes, the stomach is one of the first organs to die - low_threshold_passed = "Your stomach flashes with pain before subsiding. Food doesn't seem like a good idea right now." - high_threshold_passed = "Your stomach flares up with constant pain- you can hardly stomach the idea of food right now!" - high_threshold_cleared = "The pain in your stomach dies down for now, but food still seems unappealing." - low_threshold_cleared = "The last bouts of pain in your stomach have died out." + low_threshold_passed = span_info("Перед тем как утихнуть, в животе вспыхивает боль. Еда сейчас не кажется разумной идеей.") + high_threshold_passed = span_warning("Желудок горит от постоянной боли - с трудом могу переварить идею еды прямо сейчас!") + high_threshold_cleared = span_info("Боль в животе пока утихает, но еда все еще кажется непривлекательной.") + low_threshold_cleared = span_info("Последние приступы боли в животе утихли.") food_reagents = list(/datum/reagent/consumable/nutriment/organ_tissue = 5) //This is a reagent user and needs more then the 10u from edible component @@ -111,13 +111,13 @@ //The stomach is damage has nutriment but low on theshhold, lo prob of vomit if(SPT_PROB(0.0125 * damage * nutri_vol * nutri_vol, seconds_per_tick)) body.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = damage) - to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!")) + to_chat(body, span_warning("Живот крутит от боли, потому что я не могу сдерживать эту еду!")) return // the change of vomit is now high if(damage > high_threshold && SPT_PROB(0.05 * damage * nutri_vol * nutri_vol, seconds_per_tick)) body.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = damage) - to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!")) + to_chat(body, span_warning("Живот крутит от боли, потому что я не могу сдерживать эту еду!")) /obj/item/organ/internal/stomach/proc/handle_hunger(mob/living/carbon/human/human, seconds_per_tick, times_fired) if(HAS_TRAIT(human, TRAIT_NOHUNGER)) @@ -126,14 +126,14 @@ //The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with if(HAS_TRAIT_FROM(human, TRAIT_FAT, OBESITY))//I share your pain, past coder. if(human.overeatduration < (200 SECONDS)) - to_chat(human, span_notice("You feel fit again!")) + to_chat(human, span_notice("Возвращаю свою стройную форму!")) REMOVE_TRAIT(human, TRAIT_FAT, OBESITY) human.remove_movespeed_modifier(/datum/movespeed_modifier/obesity) human.update_worn_undersuit() human.update_worn_oversuit() else if(human.overeatduration >= (200 SECONDS)) - to_chat(human, span_danger("You suddenly feel blubbery!")) + to_chat(human, span_danger("Мне удалось разжиреть!")) ADD_TRAIT(human, TRAIT_FAT, OBESITY) human.add_movespeed_modifier(/datum/movespeed_modifier/obesity) human.update_worn_undersuit() @@ -162,6 +162,7 @@ human.adjust_nutrition(-hunger_rate * seconds_per_tick) var/nutrition = human.nutrition + var/hydration = human.hydration if(nutrition > NUTRITION_LEVEL_FULL && !HAS_TRAIT(human, TRAIT_NOFAT)) if(human.overeatduration < 20 MINUTES) //capped so people don't take forever to unfat human.overeatduration = min(human.overeatduration + (1 SECONDS * seconds_per_tick), 20 MINUTES) @@ -174,15 +175,15 @@ human.metabolism_efficiency = 1 else if(nutrition > NUTRITION_LEVEL_FED && human.satiety > 80) if(human.metabolism_efficiency != 1.25) - to_chat(human, span_notice("You feel vigorous.")) + to_chat(human, span_notice("Ощущаю сытость.")) human.metabolism_efficiency = 1.25 else if(nutrition < NUTRITION_LEVEL_STARVING + 50) if(human.metabolism_efficiency != 0.8) - to_chat(human, span_notice("You feel sluggish.")) + to_chat(human, span_notice("Снова хочется кушать.")) human.metabolism_efficiency = 0.8 else if(human.metabolism_efficiency == 1.25) - to_chat(human, span_notice("You no longer feel vigorous.")) + to_chat(human, span_notice("Похоже надо покушать.")) human.metabolism_efficiency = 1 //Hunger slowdown for if mood isn't enabled @@ -201,6 +202,16 @@ if(0 to NUTRITION_LEVEL_STARVING) human.throw_alert(ALERT_NUTRITION, /atom/movable/screen/alert/starving) + switch(hydration) + if(HYDRATION_LEVEL_OVERHYDRATED to INFINITY) + human.throw_alert("thirsty", /atom/movable/screen/alert/overhydrated) + if(HYDRATION_LEVEL_NORMAL to HYDRATION_LEVEL_OVERHYDRATED) + human.clear_alert("thirsty") + if(HYDRATION_LEVEL_THIRSTY to HYDRATION_LEVEL_NORMAL) + human.throw_alert("thirsty", /atom/movable/screen/alert/thirsty) + if(-INFINITY to HYDRATION_LEVEL_DEHYDRATED) + human.throw_alert("thirsty", /atom/movable/screen/alert/dehydrated) + ///for when mood is disabled and hunger should handle slowdowns /obj/item/organ/internal/stomach/proc/handle_hunger_slowdown(mob/living/carbon/human/human) var/hungry = (500 - human.nutrition) / 5 //So overeat would be 100 and default level would be 80 @@ -227,7 +238,7 @@ disgusted.adjust_stutter(2 SECONDS) disgusted.adjust_confusion(2 SECONDS) if(SPT_PROB(5, seconds_per_tick) && !disgusted.stat) - to_chat(disgusted, span_warning("You feel kind of iffy...")) + to_chat(disgusted, span_warning("Чувствую себя немного неуверенно...")) disgusted.adjust_jitter(-6 SECONDS) if(disgust >= DISGUST_LEVEL_VERYGROSS) if(SPT_PROB(pukeprob, seconds_per_tick)) //iT hAndLeS mOrE ThaN PukInG @@ -272,22 +283,21 @@ return ..() /obj/item/organ/internal/stomach/bone - name = "mass of bones" - desc = "You have no idea what this strange ball of bones does." + desc = "Вы не представляете, что делает этот странный шар из костей." icon_state = "stomach-bone" metabolism_efficiency = 0.025 //very bad organ_traits = list(TRAIT_NOHUNGER) /obj/item/organ/internal/stomach/bone/plasmaman - name = "digestive crystal" - desc = "A strange crystal that is responsible for metabolizing the unseen energy force that feeds plasmamen." + name = "пищеварительный кристалл" + desc = "Странный кристалл, отвечающий за метаболизм невидимой энергии, питающей плазмамена." icon_state = "stomach-p" metabolism_efficiency = 0.06 organ_traits = null /obj/item/organ/internal/stomach/cybernetic - name = "basic cybernetic stomach" - desc = "A basic device designed to mimic the functions of a human stomach" + name = "базовый кибернетический желудок" + desc = "Базовое устройство, имитирующее функции человеческого желудка." failing_desc = "seems to be broken." icon_state = "stomach-c" organ_flags = ORGAN_ROBOTIC @@ -306,8 +316,8 @@ organ_flags |= ORGAN_EMP //Starts organ faliure - gonna need replacing soon. /obj/item/organ/internal/stomach/cybernetic/tier2 - name = "cybernetic stomach" - desc = "An electronic device designed to mimic the functions of a human stomach. Handles disgusting food a bit better." + name = "кибернетический желудок" + desc = "Электронное устройство, имитирующее функции человеческого желудка. Немного лучше справляется с отвратительной едой." icon_state = "stomach-c-u" maxHealth = 1.5 * STANDARD_ORGAN_THRESHOLD disgust_metabolism = 2 @@ -315,8 +325,8 @@ metabolism_efficiency = 0.07 /obj/item/organ/internal/stomach/cybernetic/tier3 - name = "upgraded cybernetic stomach" - desc = "An upgraded version of the cybernetic stomach, designed to improve further upon organic stomachs. Handles disgusting food very well." + name = "продвинутый кибернетический желудок" + desc = "Усовершенствованная версия кибернетического желудка, предназначенная для дальнейшего улучшения органических желудков. Отлично справляется с отвратительной едой." icon_state = "stomach-c-u2" maxHealth = 2 * STANDARD_ORGAN_THRESHOLD disgust_metabolism = 3 diff --git a/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm b/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm index c1632f33329d41..cde028ce39840c 100644 --- a/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm +++ b/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/stomach/ethereal - name = "biological battery" + name = "биохимическая батарея" icon_state = "stomach-p" //Welp. At least it's more unique in functionaliy. - desc = "A crystal-like organ that stores the electric charge of ethereals." + desc = "Кристаллический орган, хранящий электрический заряд эфирных существ." organ_traits = list(TRAIT_NOHUNGER) // We have our own hunger mechanic. ///basically satiety but electrical var/crystal_charge = ETHEREAL_CHARGE_FULL @@ -38,7 +38,7 @@ if(flags & SHOCK_ILLUSION) return adjust_charge(shock_damage * siemens_coeff * 2) - to_chat(owner, span_notice("You absorb some of the shock into your body!")) + to_chat(owner, span_notice("Поглощаю часть удара током своим телом!")) /obj/item/organ/internal/stomach/ethereal/proc/adjust_charge(amount) crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index 9586a908e85a5c..70ac3eee4beb55 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -1,12 +1,12 @@ /obj/item/organ/internal/tongue - name = "tongue" - desc = "A fleshy muscle mostly used for lying." + name = "язык" + desc = "Мышца из плоти, в основном используется для того чтобы врать." icon_state = "tongue" visual = FALSE zone = BODY_ZONE_PRECISE_MOUTH slot = ORGAN_SLOT_TONGUE - attack_verb_continuous = list("licks", "slobbers", "slaps", "frenches", "tongues") - attack_verb_simple = list("lick", "slobber", "slap", "french", "tongue") + attack_verb_continuous = list("лижет", "нализывает", "шлёпает", "французит", "язычит") + attack_verb_simple = list("лижет", "нализывает", "шлёпает", "французит", "язычит") voice_filter = "" /** * A cached list of paths of all the languages this tongue is capable of speaking @@ -172,31 +172,28 @@ return owner_species.mutanttongue /obj/item/organ/internal/tongue/lizard - name = "forked tongue" - desc = "A thin and long muscle typically found in reptilian races, apparently moonlights as a nose." + name = "раздвоенный язык" + desc = "Тонкая и длинная мышца, обычно такая есть у чешуйчатых рас. Так же выполняет роль носа." icon_state = "tonguelizard" - say_mod = "hisses" + say_mod = "шипит" taste_sensitivity = 10 // combined nose + tongue, extra sensitive modifies_speech = TRUE languages_native = list(/datum/language/draconic) liked_foodtypes = GORE | MEAT | SEAFOOD | NUTS | BUGS disliked_foodtypes = GRAIN | DAIRY | CLOTH | GROSS voice_filter = @{"[0:a] asplit [out0][out2]; [out0] asetrate=%SAMPLE_RATE%*0.9,aresample=%SAMPLE_RATE%,atempo=1/0.9,aformat=channel_layouts=mono,volume=0.2 [p0]; [out2] asetrate=%SAMPLE_RATE%*1.1,aresample=%SAMPLE_RATE%,atempo=1/1.1,aformat=channel_layouts=mono,volume=0.2[p2]; [p0][0][p2] amix=inputs=3"} + /obj/item/organ/internal/tongue/lizard/modify_speech(datum/source, list/speech_args) - var/static/regex/lizard_hiss = new("s+", "g") - var/static/regex/lizard_hiSS = new("S+", "g") - var/static/regex/lizard_kss = new(@"(\w)x", "g") - var/static/regex/lizard_kSS = new(@"(\w)X", "g") - var/static/regex/lizard_ecks = new(@"\bx([\-|r|R]|\b)", "g") - var/static/regex/lizard_eckS = new(@"\bX([\-|r|R]|\b)", "g") + var/static/regex/lizard_hiss = new("с+", "g") + var/static/regex/lizard_hiSS = new("С+", "g") + var/static/regex/lizard_kss = new("ш+", "g") + var/static/regex/lizard_kSS = new("Ш+", "g") var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") - message = lizard_hiss.Replace(message, "sss") - message = lizard_hiSS.Replace(message, "SSS") - message = lizard_kss.Replace(message, "$1kss") - message = lizard_kSS.Replace(message, "$1KSS") - message = lizard_ecks.Replace(message, "ecks$1") - message = lizard_eckS.Replace(message, "ECKS$1") + message = lizard_hiss.Replace_char(message, "ссс") + message = lizard_hiSS.Replace_char(message, "ССС") + message = lizard_kss.Replace_char(message, "шшш") + message = lizard_kSS.Replace_char(message, "ШШШ") speech_args[SPEECH_MESSAGE] = message /obj/item/organ/internal/tongue/lizard/silver @@ -349,8 +346,8 @@ fire = 100 /obj/item/organ/internal/tongue/abductor - name = "superlingual matrix" - desc = "A mysterious structure that allows for instant communication between users. Pretty impressive until you need to eat something." + name = "суперязыковая матрица" + desc = "Таинственная структура, которая позволяет мгновенно общаться с другими пользователями. Довольно интересная вещь, только есть не удобно." icon_state = "tongueayylmao" say_mod = "gibbers" sense_of_taste = FALSE @@ -366,21 +363,20 @@ return if(tongue.mothership == mothership) - to_chat(tongue_holder, span_notice("[src] is already attuned to the same channel as your own.")) + to_chat(tongue_holder, span_notice("[capitalize(src.name)] уже настроен на твой канал.")) - tongue_holder.visible_message(span_notice("[tongue_holder] holds [src] in their hands, and concentrates for a moment."), span_notice("You attempt to modify the attenuation of [src].")) + tongue_holder.visible_message(span_notice("[tongue_holder] держит [src] в руках и сосредотачивается на мгновение") , span_notice("Ты пытаешься модифицировать связи [src].")) if(do_after(tongue_holder, delay=15, target=src)) - to_chat(tongue_holder, span_notice("You attune [src] to your own channel.")) + to_chat(tongue_holder, span_notice("Настраиваю [src] на свой канал.")) mothership = tongue.mothership /obj/item/organ/internal/tongue/abductor/examine(mob/examining_mob) . = ..() if(HAS_MIND_TRAIT(examining_mob, TRAIT_ABDUCTOR_TRAINING) || isobserver(examining_mob)) - . += span_notice("It can be attuned to a different channel by using it inhand.") if(!mothership) - . += span_notice("It is not attuned to a specific mothership.") + . += span_notice("Он не подключен к кораблю.") else - . += span_notice("It is attuned to [mothership].") + . += span_notice("Он подключен к [mothership].") /obj/item/organ/internal/tongue/abductor/modify_speech(datum/source, list/speech_args) //Hacks @@ -402,10 +398,10 @@ speech_args[SPEECH_MESSAGE] = "" /obj/item/organ/internal/tongue/zombie - name = "rotting tongue" - desc = "Between the decay and the fact that it's just lying there you doubt a tongue has ever seemed less sexy." + name = "гнилой язык" + desc = "Благодаря разложению и тому факту, что он тут просто лежит вы задумываетесь о том, может ли язык выглядеть еще менее сексуально." icon_state = "tonguezombie" - say_mod = "moans" + say_mod = "мычит" modifies_speech = TRUE taste_sensitivity = 32 liked_foodtypes = GROSS | MEAT | RAW | GORE @@ -431,48 +427,26 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) GLOB.english_to_zombie = sort_list(GLOB.english_to_zombie) // Alphabetizes the list (for debugging) /obj/item/organ/internal/tongue/zombie/modify_speech(datum/source, list/speech_args) - var/message = speech_args[SPEECH_MESSAGE] - if(message[1] != "*") - // setup the global list for translation if it hasn't already been done - if(!length(GLOB.english_to_zombie)) - load_zombie_translations() - - // make a list of all words that can be translated - var/list/message_word_list = splittext(message, " ") - var/list/translated_word_list = list() - for(var/word in message_word_list) - word = GLOB.english_to_zombie[lowertext(word)] - translated_word_list += word ? word : FALSE - - // all occurrences of characters "eiou" (case-insensitive) are replaced with "r" - message = replacetext(message, regex(@"[eiou]", "ig"), "r") - // all characters other than "zhrgbmna .!?-" (case-insensitive) are stripped - message = replacetext(message, regex(@"[^zhrgbmna.!?-\s]", "ig"), "") - // multiple spaces are replaced with a single (whitespace is trimmed) - message = replacetext(message, regex(@"(\s+)", "g"), " ") - - var/list/old_words = splittext(message, " ") - var/list/new_words = list() - for(var/word in old_words) - // lower-case "r" at the end of words replaced with "rh" - word = replacetext(word, regex(@"\lr\b"), "rh") - // an "a" or "A" by itself will be replaced with "hra" - word = replacetext(word, regex(@"\b[Aa]\b"), "hra") - new_words += word - - // if words were not translated, then we apply our zombie speech patterns - for(var/i in 1 to length(new_words)) - new_words[i] = translated_word_list[i] ? translated_word_list[i] : new_words[i] - - message = new_words.Join(" ") - message = capitalize(message) - speech_args[SPEECH_MESSAGE] = message + var/list/message_list = splittext(speech_args[SPEECH_MESSAGE], " ") + var/maxchanges = max(round(message_list.len / 1.5), 2) + + for(var/i = rand(maxchanges / 2, maxchanges), i > 0, i--) + var/insertpos = rand(1, message_list.len - 1) + var/inserttext = message_list[insertpos] + + if(!(copytext(inserttext, -3) == "..."))//3 == length("...") + message_list[insertpos] = inserttext + "..." + + if(prob(20) && message_list.len > 3) + message_list.Insert(insertpos, "[pick("МОЗГИ", "Мозги", "Мооозгиииии", "МОООЗГИИИИИ")]...") + + speech_args[SPEECH_MESSAGE] = jointext(message_list, " ") /obj/item/organ/internal/tongue/alien - name = "alien tongue" - desc = "According to leading xenobiologists the evolutionary benefit of having a second mouth in your mouth is \"that it looks badass\"." + name = "язык чужого" + desc = "По мнению ведущих ксенобиологов, эволюционное преимущество от второго рта в том \"что это выглядит круто\"." icon_state = "tonguexeno" - say_mod = "hisses" + say_mod = "шипит" taste_sensitivity = 10 // LIZARDS ARE ALIENS CONFIRMED modifies_speech = TRUE // not really, they just hiss voice_filter = @{"[0:a] asplit [out0][out2]; [out0] asetrate=%SAMPLE_RATE%*0.8,aresample=%SAMPLE_RATE%,atempo=1/0.8,aformat=channel_layouts=mono [p0]; [out2] asetrate=%SAMPLE_RATE%*1.2,aresample=%SAMPLE_RATE%,atempo=1/1.2,aformat=channel_layouts=mono[p2]; [p0][0][p2] amix=inputs=3"} @@ -494,12 +468,12 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) playsound(owner, SFX_HISS, 25, TRUE, TRUE) /obj/item/organ/internal/tongue/bone - name = "bone \"tongue\"" - desc = "Apparently skeletons alter the sounds they produce through oscillation of their teeth, hence their characteristic rattling." + name = "костяной \"язык\"" + desc = "Выяснилось, что скелеты используют вместо языка скрежет своих зубов, отсюда и постоянное дребезжание." icon_state = "tonguebone" say_mod = "rattles" - attack_verb_continuous = list("bites", "chatters", "chomps", "enamelles", "bones") - attack_verb_simple = list("bite", "chatter", "chomp", "enamel", "bone") + attack_verb_continuous = list("кусает", "прокусывает", "откусывает", "шутит", "костирует") + attack_verb_simple = list("кусает", "прокусывает", "откусывает", "шутит", "костирует") sense_of_taste = FALSE liked_foodtypes = GROSS | MEAT | RAW | GORE | DAIRY //skeletons eat spooky shit... and dairy, of course disliked_foodtypes = NONE @@ -526,22 +500,22 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) speech_args[SPEECH_SPANS] |= SPAN_PAPYRUS /obj/item/organ/internal/tongue/bone/plasmaman - name = "plasma bone \"tongue\"" - desc = "Like animated skeletons, Plasmamen vibrate their teeth in order to produce speech." + name = "плазменная кость \"языка\"" + desc = "Как и у скелетов, плазмалюди используют вместо языка скрежет зубов чтобы общаться." icon_state = "tongueplasma" modifies_speech = FALSE liked_foodtypes = VEGETABLES disliked_foodtypes = FRUIT | CLOTH /obj/item/organ/internal/tongue/robot - name = "robotic voicebox" - desc = "A voice synthesizer that can interface with organic lifeforms." + name = "синтезатор голоса" + desc = "Синтезатор голоса используемый для взаимодействия с органическими формами жизни." failing_desc = "seems to be broken." organ_flags = ORGAN_ROBOTIC icon_state = "tonguerobot" - say_mod = "states" - attack_verb_continuous = list("beeps", "boops") - attack_verb_simple = list("beep", "boop") + say_mod = "констатирует" + attack_verb_continuous = list("бипает", "бупает") + attack_verb_simple = list("бипает", "бупает") modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue voice_filter = "alimiter=0.9,acompressor=threshold=0.2:ratio=20:attack=10:release=50:makeup=2,highpass=f=1000" @@ -553,7 +527,7 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) speech_args[SPEECH_SPANS] |= SPAN_ROBOT /obj/item/organ/internal/tongue/snail - name = "radula" + name = "радула" desc = "A minutely toothed, chitious ribbon, which as a side effect, makes all snails talk IINNCCRREEDDIIBBLLYY SSLLOOWWLLYY." color = "#96DB00" // TODO proper sprite, rather than recoloured pink tongue modifies_speech = TRUE @@ -563,23 +537,23 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) var/new_message var/message = speech_args[SPEECH_MESSAGE] for(var/i in 1 to length(message)) - if(findtext("ABCDEFGHIJKLMNOPWRSTUVWXYZabcdefghijklmnopqrstuvwxyz", message[i])) //Im open to suggestions + if(findtext("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPWRSTUVWXYZabcdefghijklmnopqrstuvwxyz", message[i])) //Im open to suggestions new_message += message[i] + message[i] + message[i] //aaalllsssooo ooopppeeennn tttooo sssuuuggggggeeessstttiiiooonsss else new_message += message[i] speech_args[SPEECH_MESSAGE] = new_message /obj/item/organ/internal/tongue/ethereal - name = "electric discharger" - desc = "A sophisticated ethereal organ, capable of synthesising speech via electrical discharge." + name = "электрический разрядник" + desc = "Сложный эфирный орган, способный синтезировать речь с помощью электрических разрядов." icon_state = "electrotongue" - say_mod = "crackles" + say_mod = "искрит" taste_sensitivity = 10 // ethereal tongues function (very loosely) like a gas spectrometer: vaporising a small amount of the food and allowing it to pass to the nose, resulting in more sensitive taste liked_foodtypes = NONE //no food is particularly liked by ethereals disliked_foodtypes = GROSS toxic_foodtypes = NONE //no food is particularly toxic to ethereals - attack_verb_continuous = list("shocks", "jolts", "zaps") - attack_verb_simple = list("shock", "jolt", "zap") + attack_verb_continuous = list("шокирует", "жалит", "ебошит током") + attack_verb_simple = list("шокирует", "жалит", "ебошит током") voice_filter = @{"[0:a] asplit [out0][out2]; [out0] asetrate=%SAMPLE_RATE%*0.99,aresample=%SAMPLE_RATE%,volume=0.3 [p0]; [p0][out2] amix=inputs=2"} // Ethereal tongues can speak all default + voltaic @@ -587,9 +561,9 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) return ..() + /datum/language/voltaic /obj/item/organ/internal/tongue/cat - name = "felinid tongue" + name = "язык фелинида" desc = "A fleshy muscle mostly used for meowing." - say_mod = "meows" + say_mod = "мяукает" liked_foodtypes = SEAFOOD | ORANGES | BUGS | GORE disliked_foodtypes = GROSS | CLOTH | RAW diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index 424251143c33c5..a7b15f33c8b12c 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -5,7 +5,7 @@ surgeries = list(/datum/surgery/plastic_surgery/advanced) /datum/surgery/plastic_surgery - name = "Plastic surgery" + name = "Пластическая хирургия" surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB | SURGERY_MORBID_CURIOSITY possible_locs = list(BODY_ZONE_HEAD) steps = list( @@ -52,7 +52,7 @@ //reshape_face /datum/surgery_step/reshape_face - name = "reshape face (scalpel)" + name = "изменить лицо (скальпель)" implements = list( TOOL_SCALPEL = 100, /obj/item/knife = 50, @@ -60,27 +60,19 @@ time = 64 /datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message(span_notice("[user] begins to alter [target]'s appearance."), span_notice("You begin to alter [target]'s appearance...")) - display_results( - user, - target, - span_notice("You begin to alter [target]'s appearance..."), - span_notice("[user] begins to alter [target]'s appearance."), - span_notice("[user] begins to make an incision in [target]'s face."), - ) - display_pain(target, "You feel slicing pain across your face!") + user.visible_message(span_notice("[user] начинает менять внешность [skloname(target.name, RODITELNI, target.gender)].") , span_notice("Начинаю менять внешность [skloname(target.name, RODITELNI, target.gender)]...")) + display_results(user, target, span_notice("Начинаю менять внешность [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает менять внешность [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] делает надрез на лице [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Лицо горит от множественных порезов!") /datum/surgery_step/reshape_face/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(HAS_TRAIT_FROM(target, TRAIT_DISFIGURED, TRAIT_GENERIC)) REMOVE_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC) - display_results( - user, - target, - span_notice("You successfully restore [target]'s appearance."), - span_notice("[user] successfully restores [target]'s appearance!"), - span_notice("[user] finishes the operation on [target]'s face."), - ) - display_pain(target, "The pain fades, your face feels normal again!") + display_results(user, target, span_notice("Успешно изменил внешность [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] успешно изменил внешность [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершил операцию на лице [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Все лицо щиплет!") else var/list/names = list() if(!isabductor(user)) @@ -95,22 +87,18 @@ names += target.dna.species.random_name(target.gender, TRUE) else for(var/_i in 1 to 9) - names += "Subject [target.gender == MALE ? "i" : "o"]-[pick("a", "b", "c", "d", "e")]-[rand(10000, 99999)]" + names += "Субъект [target.gender == MALE ? "i" : "o"]-[pick("a", "b", "c", "d", "e")]-[rand(10000, 99999)]" names += target.dna.species.random_name(target.gender, TRUE) //give one normal name in case they want to do regular plastic surgery - var/chosen_name = tgui_input_list(user, "New name to assign", "Plastic Surgery", names) + var/chosen_name = tgui_input_list(user, "Выберите новое имя.", "Plastic Surgery", names) if(isnull(chosen_name)) return var/oldname = target.real_name target.real_name = chosen_name var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name - display_results( - user, - target, - span_notice("You alter [oldname]'s appearance completely, [target.p_they()] is now [newname]."), - span_notice("[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!"), - span_notice("[user] finishes the operation on [target]'s face."), - ) - display_pain(target, "The pain fades, your face feels new and unfamiliar!") + display_results(user, target, span_notice("Лицо [oldname] полностью изменено, и [target.ru_who()] новое имя [newname].") , + span_notice("[user] изменяет внешность [oldname], и [target.ru_who()] новое имя [newname]!") , + span_notice("[user] завершает операцию на лице [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Я сегодня не такой как вчера!") if(ishuman(target)) var/mob/living/carbon/human/human_target = target human_target.sec_hud_set_ID() @@ -120,13 +108,9 @@ return ..() /datum/surgery_step/reshape_face/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_warning("You screw up, leaving [target]'s appearance disfigured!"), - span_notice("[user] screws up, disfiguring [target]'s appearance!"), - span_notice("[user] finishes the operation on [target]'s face."), - ) - display_pain(target, "Your face feels horribly scarred and deformed!") + display_results(user, target, span_warning("[gvorno(TRUE)], но я облажался, изуродовав внешность [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] облажался, изуродовав внешность [skloname(target.name, RODITELNI, target.gender)]!") , + span_notice("[user] завершил операцию на лице [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Мое лицо! Мое прекрастное лицо! Оно обезображено!") ADD_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC) return FALSE diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index b2c8c7485375e6..76810713fab198 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -1,5 +1,5 @@ /datum/surgery/prosthetic_replacement - name = "Prosthetic replacement" + name = "Травматология: Замена конечностей" surgery_flags = NONE requires_bodypart_type = NONE possible_locs = list( @@ -27,7 +27,7 @@ /datum/surgery_step/add_prosthetic - name = "add prosthetic" + name = "добавьте конечность" implements = list( /obj/item/bodypart = 100, /obj/item/borg/apparatus/organ_storage = 100, @@ -39,11 +39,11 @@ /datum/surgery_step/add_prosthetic/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/borg/apparatus/organ_storage)) if(!tool.contents.len) - to_chat(user, span_warning("There is nothing inside [tool]!")) + to_chat(user, span_warning("[tool] пуст!")) return SURGERY_STEP_FAIL var/obj/item/organ_storage_contents = tool.contents[1] if(!isbodypart(organ_storage_contents)) - to_chat(user, span_warning("[organ_storage_contents] cannot be attached!")) + to_chat(user, span_warning("Невозможно присоединить [organ_storage_contents]!")) return SURGERY_STEP_FAIL tool = organ_storage_contents if(isbodypart(tool)) @@ -54,36 +54,28 @@ var/mob/living/carbon/human/human_target = target var/obj/item/bodypart/chest/target_chest = human_target.get_bodypart(BODY_ZONE_CHEST) if(!(bodypart_to_attach.bodytype & target_chest.acceptable_bodytype)) - to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology.")) + to_chat(user, span_warning("[bodypart_to_attach] относится к другому селекционному виду.")) return SURGERY_STEP_FAIL if(bodypart_to_attach.check_for_frankenstein(target)) organ_rejection_dam = 30 if(!bodypart_to_attach.can_attach_limb(target)) - target.balloon_alert(user, "that doesn't go on the [parse_zone(target_zone)]!") + to_chat(user, span_warning("[bodypart_to_attach] относится к другому селекционному виду.")) return SURGERY_STEP_FAIL if(target_zone == bodypart_to_attach.body_zone) //so we can't replace a leg with an arm, or a human arm with a monkey arm. - display_results( - user, - target, - span_notice("You begin to replace [target]'s [parse_zone(target_zone)] with [tool]..."), - span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)] with [tool]."), - span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)]."), - ) + display_results(user, target, span_notice("Начинаю заменять [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] на [tool]...") , + span_notice("[user] начинает заменять [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] на [tool].") , + span_notice("[user] начинает заменять [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)].")) else - to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)].")) + to_chat(user, span_warning("[tool] не подходит к [ru_gde_zone(parse_zone(target_zone))].")) return SURGERY_STEP_FAIL else if(target_zone == BODY_ZONE_L_ARM || target_zone == BODY_ZONE_R_ARM) - display_results( - user, - target, - span_notice("You begin to attach [tool] onto [target]..."), - span_notice("[user] begins to attach [tool] onto [target]'s [parse_zone(target_zone)]."), - span_notice("[user] begins to attach something onto [target]'s [parse_zone(target_zone)]."), - ) + display_results(user, target, span_notice("Начинаю присоединять [tool] к телу [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает присоединять [tool] к телу [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает присоединять [tool] к телу [skloname(target.name, RODITELNI, target.gender)].")) else - to_chat(user, span_warning("[tool] must be installed onto an arm.")) + to_chat(user, span_warning("[tool] должно быть установлено в руку.")) return SURGERY_STEP_FAIL /datum/surgery_step/add_prosthetic/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) @@ -100,28 +92,20 @@ bodypart_to_attach.bodypart_flags |= BODYPART_IMPLANTED if(organ_rejection_dam) target.adjustToxLoss(organ_rejection_dam) - display_results( - user, - target, - span_notice("You succeed in replacing [target]'s [parse_zone(target_zone)]."), - span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!"), - span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)]!"), - ) - display_pain(target, "You feel synthetic sensation wash from your [parse_zone(target_zone)], which you can feel again!", TRUE) + display_results(user, target, span_notice("Успешно заменяю [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] на [tool].") , + span_notice("[user] успешно заменил [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)] на [tool]!") , + span_notice("[user] успешно заменил [ru_parse_zone(parse_zone(target_zone))] [skloname(target.name, RODITELNI, target.gender)]!")) + display_pain(target, "Вновь чувствую свою [parse_zone(target_zone)]! Болит...", TRUE) return else var/obj/item/bodypart/bodypart_to_attach = target.newBodyPart(target_zone, FALSE, FALSE) bodypart_to_attach.try_attach_limb(target) bodypart_to_attach.bodypart_flags |= BODYPART_PSEUDOPART | BODYPART_IMPLANTED - user.visible_message(span_notice("[user] finishes attaching [tool]!"), span_notice("You attach [tool].")) - display_results( - user, - target, - span_notice("You attach [tool]."), - span_notice("[user] finishes attaching [tool]!"), - span_notice("[user] finishes the attachment procedure!"), - ) - display_pain(target, "You feel a strange sensation from your new [parse_zone(target_zone)].", TRUE) + user.visible_message(span_notice("[user] успешно присоединяет [tool]!") , span_notice("Присоединяю [tool].")) + display_results(user, target, span_notice("Присоединяю [tool].") , + span_notice("[user] успешно присоединяет [tool]!") , + span_notice("[user] успешно присоединяет [tool]!")) + display_pain(target, "С моей [ru_chem_zone(parse_zone(target_zone))] что-то не так...", TRUE) if(istype(tool, /obj/item/chainsaw)) qdel(tool) var/obj/item/chainsaw/mounted_chainsaw/new_arm = new(target) diff --git a/code/modules/surgery/revival.dm b/code/modules/surgery/revival.dm index f7e9fcce390e9a..f7be1b96ef9e63 100644 --- a/code/modules/surgery/revival.dm +++ b/code/modules/surgery/revival.dm @@ -1,7 +1,6 @@ /datum/surgery/revival - name = "Revival" - desc = "An experimental surgical procedure which involves reconstruction and reactivation of the patient's brain even long after death. \ - The body must still be able to sustain life." + name = "Нейронная реанимация" + desc = "Экспериментальная хирургическая операция, которая позволяет вернуть пациента к жизни, даже спустя продолжительное время, главное чтобы тело было в относительно целом состоянии." requires_bodypart_type = NONE possible_locs = list(BODY_ZONE_CHEST) target_mobtypes = list(/mob/living) @@ -36,7 +35,7 @@ return TRUE /datum/surgery_step/revive - name = "shock brain (defibrillator)" + name = "разряд (дефибриллятор)" implements = list( /obj/item/shockpaddles = 100, /obj/item/melee/touch_attack/shock = 100, @@ -52,30 +51,26 @@ if(istype(tool, /obj/item/shockpaddles)) var/obj/item/shockpaddles/paddles = tool if((paddles.req_defib && !paddles.defib.powered) || !HAS_TRAIT(paddles, TRAIT_WIELDED) || paddles.cooldown || paddles.busy) - to_chat(user, span_warning("You need to wield both paddles, and [paddles.defib] must be powered!")) + to_chat(user, span_warning("Вам необходимо держать электроды в обеих руках, а [paddles.defib] должен быть заряжен!")) return FALSE if(istype(tool, /obj/item/melee/baton/security)) var/obj/item/melee/baton/security/baton = tool if(!baton.active) - to_chat(user, span_warning("[baton] needs to be active!")) + to_chat(user, span_warning("[baton] должен быть активирован!")) return FALSE if(istype(tool, /obj/item/gun/energy)) var/obj/item/gun/energy/egun = tool if(egun.chambered && istype(egun.chambered, /obj/item/ammo_casing/energy/electrode)) return TRUE else - to_chat(user, span_warning("You need an electrode for this!")) + to_chat(user, span_warning("Неоткуда взять разряд!")) return FALSE /datum/surgery_step/revive/preop(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You prepare to give [target]'s brain the spark of life with [tool]."), - span_notice("[user] prepares to shock [target]'s brain with [tool]."), - span_notice("[user] prepares to shock [target]'s brain with [tool]."), - ) - target.notify_ghost_cloning("Someone is trying to zap your brain.", source = target) + display_results(user, target, span_notice("Готовлюсь послать разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] готовится послать разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].") , + span_notice("[user] готовится послать разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool].")) + target.notify_ghost_cloning("Кто-то пытается послать разряд в мой мозг.", source = target) /datum/surgery_step/revive/play_preop_sound(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/shockpaddles)) @@ -84,13 +79,9 @@ ..() /datum/surgery_step/revive/success(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) - display_results( - user, - target, - span_notice("You successfully shock [target]'s brain with [tool]..."), - span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."), - span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."), - ) + display_results(user, target, span_notice("Успешно послал[user.ru_a()] разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]...") , + span_notice("[user] успешно послал[user.ru_a()] разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]...") , + span_notice("[user] успешно послал[user.ru_a()] разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool]...")) target.grab_ghost() target.adjustOxyLoss(-50, 0) target.updatehealth() @@ -98,25 +89,21 @@ on_revived(user, target) return TRUE - target.visible_message(span_warning("...[target.p_they()] convulse[target.p_s()], then lie[target.p_s()] still.")) + target.visible_message(span_warning("...[target.ru_who()] содрогается и замирает.")) return FALSE /// Called when you have been successfully raised from the dead /datum/surgery_step/revive/proc/on_revived(mob/surgeon, mob/living/patient) - patient.visible_message(span_notice("...[patient] wakes up, alive and aware!")) + patient.visible_message(span_notice("...[patient] проснись и пой!")) patient.emote("gasp") if(HAS_MIND_TRAIT(surgeon, TRAIT_MORBID) && ishuman(surgeon)) // Contrary to their typical hatred of resurrection, it wouldn't be very thematic if morbid people didn't love playing god var/mob/living/carbon/human/morbid_weirdo = surgeon morbid_weirdo.add_mood_event("morbid_revival_success", /datum/mood_event/morbid_revival_success) /datum/surgery_step/revive/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You shock [target]'s brain with [tool], but [target.p_they()] doesn't react."), - span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react."), - span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react."), - ) + display_results(user, target, span_notice("Послал разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool], но [target.ru_who()] не реагирует.") , + span_notice("[user] послал разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool], но [target.ru_who()] не реагирует.") , + span_notice("[user] послал разряд в мозг [skloname(target.name, RODITELNI, target.gender)] при помощи [tool], но [target.ru_who()] не реагирует.")) return FALSE /// Additional revival effects if the target has a brain diff --git a/code/modules/surgery/stomachpump.dm b/code/modules/surgery/stomachpump.dm index 0c9a0ce564f68d..ccb16351df44fb 100644 --- a/code/modules/surgery/stomachpump.dm +++ b/code/modules/surgery/stomachpump.dm @@ -1,5 +1,5 @@ /datum/surgery/stomach_pump - name = "Stomach Pump" + name = "Фильтрация желудка (Химикаты)" possible_locs = list(BODY_ZONE_CHEST) steps = list( /datum/surgery_step/incise, @@ -20,44 +20,32 @@ //Working the stomach by hand in such a way that you induce vomiting. /datum/surgery_step/stomach_pump - name = "pump stomach (hand)" + name = "надавить на живот (рука)" accept_hand = TRUE repeatable = TRUE time = 20 success_sound = 'sound/surgery/organ2.ogg' /datum/surgery_step/stomach_pump/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin pumping [target]'s stomach..."), - span_notice("[user] begins to pump [target]'s stomach."), - span_notice("[user] begins to press on [target]'s chest."), - ) - display_pain(target, "You feel a horrible sloshing feeling in your gut! You're going to be sick!") + display_results(user, target, span_notice("Вы начинаете надавливать на живот [skloname(target.name, RODITELNI, target.gender)]...") , + span_notice("[user] начинает надавливать на живот [skloname(target.name, RODITELNI, target.gender)].") , + span_notice("[user] начинает надавливать на живот [skloname(target.name, RODITELNI, target.gender)].")) + display_pain(target, "Живот болит!") /datum/surgery_step/stomach_pump/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results( - user, - target, - span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"), - span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"), - span_notice("[user] forces [target_human] to vomit!"), - ) + display_results(user, target, span_notice("[user] принуждает [skloname(target.name, RODITELNI, target.gender)] блевать, тем самым очищая желудок от химикатов!") , + span_notice("[user] принуждает [skloname(target.name, RODITELNI, target.gender)] блевать, тем самым очищая желудок от химикатов!") , + "[user] принуждает [skloname(target.name, RODITELNI, target.gender)] блевать, тем самым очищая желудок от химикатов!") target_human.vomit(20, FALSE, TRUE, 1, TRUE, FALSE, purge_ratio = 0.67) //higher purge ratio than regular vomiting return ..() /datum/surgery_step/stomach_pump/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(ishuman(target)) var/mob/living/carbon/human/target_human = target - display_results( - user, - target, - span_warning("You screw up, brusing [target_human]'s chest!"), - span_warning("[user] screws up, brusing [target_human]'s chest!"), - span_warning("[user] screws up!"), - ) + display_results(user, target, span_warning("Вы надавили слишком сильно на живот [skloname(target.name, RODITELNI, target.gender)] и оставили синяк!") , + span_warning("[user] надавил слишком сильно на живот [skloname(target.name, RODITELNI, target.gender)] и оставил синяк!") , + span_warning("[user] ошибся!")) target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 5) target_human.adjustBruteLoss(5) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 7320e6ed94753c..860ab32559b3fe 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -44,13 +44,18 @@ . = ..() if(!surgery_target) return + target = surgery_target target.surgeries += src + if(surgery_location) location = surgery_location + if(!surgery_bodypart) return + operated_bodypart = surgery_bodypart + if(targetable_wound) operated_wound = operated_bodypart.get_wound_type(targetable_wound) operated_wound.attached_surgery = src @@ -61,8 +66,10 @@ if(operated_wound) operated_wound.attached_surgery = null operated_wound = null + if(target) target.surgeries -= src + target = null operated_bodypart = null return ..() @@ -122,7 +129,7 @@ if(step.try_op(user, target, user.zone_selected, tool, src, try_to_fail)) return TRUE if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it - to_chat(user, span_warning("This step requires a different tool!")) + to_chat(user, span_warning("Для этого шага требуется другой инструмент!")) return TRUE return FALSE @@ -159,12 +166,12 @@ return operating_computer /datum/surgery/advanced - name = "advanced surgery" + name = "Продвинутая хирургия" requires_tech = TRUE /obj/item/disk/surgery - name = "Surgery Procedure Disk" - desc = "A disk that contains advanced surgery procedures, must be loaded into an Operating Console." + name = "Диск с хирургическими процедурами" + desc = "Диск, который содержит продвинутые хирургические процедуры, и должен быть загружен в операционный компьютер." icon_state = "datadisk1" custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 3, /datum/material/glass=SMALL_MATERIAL_AMOUNT) var/list/surgeries diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index cafa1161693a3c..6ac83feb13a755 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -16,7 +16,7 @@ /datum/surgery_step/proc/try_op(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) var/success = FALSE if(surgery.organ_to_manipulate && !target.get_organ_slot(surgery.organ_to_manipulate)) - to_chat(user, span_warning("[target] seems to be missing the organ necessary to complete this surgery!")) + to_chat(user, span_warning("У [skloname(target.name, RODITELNI, target.gender)] нет органа, необходимого для выполнения этой операции!")) return FALSE if(accept_hand) @@ -49,7 +49,7 @@ if(get_location_accessible(target, target_zone) || (surgery.surgery_flags & SURGERY_IGNORE_CLOTHES)) initiate(user, target, target_zone, tool, surgery, try_to_fail) else - to_chat(user, span_warning("You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!")) + to_chat(user, span_warning("Мне нужно иметь доступ к [parse_zone(target_zone)] [skloname(target.name, DATELNI, target.gender)] для проведения хирургической операции!")) return TRUE //returns TRUE so we don't stab the guy in the dick or wherever. if(repeatable) @@ -138,9 +138,9 @@ display_results( user, target, - span_notice("You begin to perform surgery on [target]..."), - span_notice("[user] begins to perform surgery on [target]."), - span_notice("[user] begins to perform surgery on [target]."), + span_notice("Начинаю выполнять операцию на [skloname(target.name, PREDLOZHNI, target.gender)]...") , + span_notice("[user] начинает выполнять операцию на [skloname(target.name, PREDLOZHNI, target.gender)].") , + span_notice("[user] начинает выполнять операцию на [skloname(target.name, PREDLOZHNI, target.gender)].") ) /datum/surgery_step/proc/play_preop_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -162,9 +162,9 @@ display_results( user, target, - span_notice("You succeed."), - span_notice("[user] succeeds!"), - span_notice("[user] finishes."), + span_notice("Успех.") , + span_notice("[user] имеет успех!") , + span_notice("[user] заканчивает.") ) return TRUE @@ -177,18 +177,18 @@ var/screwedmessage = "" switch(fail_prob) if(0 to 24) - screwedmessage = " You almost had it, though." + screwedmessage = " Почти получилось." if(50 to 74)//25 to 49 = no extra text - screwedmessage = " This is hard to get right in these conditions..." + screwedmessage = " Будет сложновато в данных условиях..." if(75 to 99) - screwedmessage = " This is practically impossible in these conditions..." + screwedmessage = " Это практически невозможно в данных условиях..." display_results( user, target, - span_warning("You screw up![screwedmessage]"), - span_warning("[user] screws up!"), - span_notice("[user] finishes."), TRUE) //By default the patient will notice if the wrong thing has been cut + span_warning("Не вышло![screwedmessage]") , + span_warning("[user] делает неправильно!") , + span_notice("[user] заканчивает.") , TRUE) //By default the patient will notice if the wrong thing has been cut return FALSE /datum/surgery_step/proc/play_failure_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -223,7 +223,7 @@ if(temp) var/chemname = temp.name chems += chemname - return english_list(chems, and_text = require_all_chems ? " and " : " or ") + return english_list(chems, and_text = require_all_chems ? " и " : " или ") // Check if we are entitled to morbid bonuses /datum/surgery_step/proc/check_morbid_curiosity(mob/user, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 175ab107d40ce7..b5960fadf6b941 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -1,6 +1,6 @@ /obj/item/retractor - name = "retractor" - desc = "Retracts stuff." + name = "расширитель" + desc = "Позволяет получить оперативный простор в зоне проведения операции." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "retractor" inhand_icon_state = "retractor" @@ -19,13 +19,16 @@ return surgical_tray_overlay /obj/item/retractor/augment - desc = "Micro-mechanical manipulator for retracting stuff." + name = "кибернетический расширитель" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "retractor" + desc = "Позволяет получить оперативный простор в зоне проведения операции." toolspeed = 0.5 /obj/item/hemostat - name = "hemostat" - desc = "You think you have seen this before." + name = "зажим" + desc = "Используется для манипуляций в рабочей области и остановки внутренних кровотечений." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "hemostat" inhand_icon_state = "hemostat" @@ -35,8 +38,8 @@ flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_TINY - attack_verb_continuous = list("attacks", "pinches") - attack_verb_simple = list("attack", "pinch") + attack_verb_continuous = list("атакует", "прокусывает") + attack_verb_simple = list("атакует", "прокусывает") tool_behaviour = TOOL_HEMOSTAT toolspeed = 1 /// How this looks when placed in a surgical tray @@ -46,13 +49,16 @@ return surgical_tray_overlay /obj/item/hemostat/augment - desc = "Tiny servos power a pair of pincers to stop bleeding." + name = "кибернетический зажим" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "hemostat" + desc = "Крошечные сервоприводы приводят пару зажимов в действие, чтобы остановить кровотечение." toolspeed = 0.5 /obj/item/cautery - name = "cautery" - desc = "This stops bleeding." + name = "прижигатель" + desc = "Останавливает кровотечения и дезинфецирует рабочую зону после завершения операции." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "cautery" inhand_icon_state = "cautery" @@ -62,8 +68,8 @@ flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_TINY - attack_verb_continuous = list("burns") - attack_verb_simple = list("burn") + attack_verb_continuous = list("прожигает") + attack_verb_simple = list("прожигает") tool_behaviour = TOOL_CAUTERY toolspeed = 1 heat = 500 @@ -74,15 +80,18 @@ return surgical_tray_overlay /obj/item/cautery/ignition_effect(atom/ignitable_atom, mob/user) - . = span_notice("[user] touches the end of [src] to [ignitable_atom], igniting it with a puff of smoke.") + . = span_notice("[user] притрагивается раскалённым концом [src.name] к [ignitable_atom.name].") /obj/item/cautery/augment - desc = "A heated element that cauterizes wounds." + name = "кибернетический прижигатель" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "cautery" + desc = "Нагревательный элемент, который прижигает раны." toolspeed = 0.5 /obj/item/cautery/advanced - name = "searing tool" - desc = "It projects a high power laser used for medical applications." + name = "лазерный прижигатель" + desc = "Устройство, используемое для дезинфекции и прижигания раны за счёт излучения низкочастотного лазерного луча. Так же можно сфокусирувать луч до мощности небольшого зубного сверла." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "e_cautery" inhand_icon_state = "e_cautery" @@ -121,17 +130,17 @@ SIGNAL_HANDLER tool_behaviour = (active ? TOOL_DRILL : TOOL_CAUTERY) - balloon_alert(user, "lenses set to [active ? "drill" : "mend"]") + balloon_alert(user, "Линза [active ? "сфокусирована" : "расфокусирована"]") playsound(user ? user : src, 'sound/weapons/tap.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/cautery/advanced/examine() . = ..() - . += span_notice("It's set to [tool_behaviour == TOOL_CAUTERY ? "mending" : "drilling"] mode.") + . += span_notice("Переключатель установлен на режиме [tool_behaviour == TOOL_CAUTERY ? "прижигателя" : "сверла"].") /obj/item/surgicaldrill - name = "surgical drill" - desc = "You can drill using this item. You dig?" + name = "хирургическая дрель" + desc = "Можно просверлить с помощью этого что-то. Или пробурить?" icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "drill" inhand_icon_state = "drill" @@ -144,8 +153,8 @@ force = 15 demolition_mod = 0.5 w_class = WEIGHT_CLASS_NORMAL - attack_verb_continuous = list("drills") - attack_verb_simple = list("drill") + attack_verb_continuous = list("дырявит") + attack_verb_simple = list("дырявит") tool_behaviour = TOOL_DRILL toolspeed = 1 sharpness = SHARP_POINTY @@ -169,14 +178,17 @@ return MANUAL_SUICIDE /obj/item/surgicaldrill/augment - desc = "Effectively a small power drill contained within your arm. May or may not pierce the heavens." + name = "кибернетическая дрель" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "surgicaldrill" + desc = "По сути, небольшая электрическая дрель, содержащаяся в руке, края притуплены, чтобы предотвратить повреждение тканей. Может или не может пронзить небеса." hitsound = 'sound/weapons/circsawhit.ogg' w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 /obj/item/scalpel - name = "scalpel" - desc = "Cut, cut, and once more cut." + name = "скальпель" + desc = "Очень острое лезвие с микронной заточкой." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "scalpel" inhand_icon_state = "scalpel" @@ -191,8 +203,8 @@ throw_speed = 3 throw_range = 5 custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT) - attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") - attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") + attack_verb_continuous = list("атакует", "рубит", "втыкает", "разрезает", "кромсает", "разрывает", "нарезает", "режет") + attack_verb_simple = list("атакует", "рубит", "втыкает", "разрезает", "кромсает", "разрывает", "нарезает", "режет") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = SHARP_EDGED tool_behaviour = TOOL_SCALPEL @@ -219,12 +231,15 @@ return BRUTELOSS /obj/item/scalpel/augment - desc = "Ultra-sharp blade attached directly to your bone for extra-accuracy." + name = "кибернетический скальпель" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "scalpel" + desc = "Ультра-острое лезвие прикреплено непосредственно к кости для дополнительной точности." toolspeed = 0.5 /obj/item/circular_saw - name = "circular saw" - desc = "For heavy duty cutting." + name = "циркулярная пила" + desc = "Для работы с костью при полостных операциях." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "saw" inhand_icon_state = "saw" @@ -240,8 +255,8 @@ throw_speed = 2 throw_range = 5 custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*5, /datum/material/glass = SHEET_MATERIAL_AMOUNT*3) - attack_verb_continuous = list("attacks", "slashes", "saws", "cuts") - attack_verb_simple = list("attack", "slash", "saw", "cut") + attack_verb_continuous = list("атакует", "рубит", "пилит", "режет") + attack_verb_simple = list("атакует", "рубит", "пилит", "режет") sharpness = SHARP_EDGED tool_behaviour = TOOL_SAW toolspeed = 1 @@ -270,30 +285,33 @@ return surgical_tray_overlay /obj/item/circular_saw/augment - desc = "A small but very fast spinning saw. It rips and tears until it is done." + name = "кибернетическая пила" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "circular_saw" + desc = "Маленькая, но очень быстро вращающаяся пила." w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 /obj/item/surgical_drapes - name = "surgical drapes" - desc = "Nanotrasen brand surgical drapes provide optimal safety and infection control." + name = "хирургическая простыня" + desc = "Хирургические простыни марки NanoTrasen обеспечивают оптимальную безопасность и защиту от инфекций." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "surgical_drapes" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' inhand_icon_state = "drapes" w_class = WEIGHT_CLASS_TINY - attack_verb_continuous = list("slaps") - attack_verb_simple = list("slap") + attack_verb_continuous = list("шлёпает") + attack_verb_simple = list("шлёпает") /obj/item/surgical_drapes/Initialize(mapload) . = ..() AddComponent(/datum/component/surgery_initiator) /obj/item/surgical_processor //allows medical cyborgs to scan and initiate advanced surgeries - name = "surgical processor" - desc = "A device for scanning and initiating surgeries from a disk or operating computer." + name = "хирургический процессор" + desc = "Устройство для сканирования и запуска операций с диска или операционного компьютера." icon = 'icons/obj/device.dmi' icon_state = "surgical_processor" item_flags = NOBLUDGEON @@ -338,7 +356,7 @@ return ..() if(!istype(design_holder, /obj/item/disk/surgery) && !istype(design_holder, /obj/machinery/computer/operating)) return ..() - balloon_alert(user, "copying designs...") + balloon_alert(user, "копирую хирургические протоколы...") playsound(src, 'sound/machines/terminal_processing.ogg', 25, TRUE) if(do_after(user, 1 SECONDS, target = design_holder)) if(istype(design_holder, /obj/item/disk/surgery)) @@ -366,8 +384,8 @@ return COMPONENT_FORCE_SURGERY /obj/item/scalpel/advanced - name = "laser scalpel" - desc = "An advanced scalpel which uses laser technology to cut." + name = "лазерный скальпель" + desc = "Усовершенствованный скальпель, который использует лазерную технологию для резки. Переключателем можно увеличить мощность излучателя для работы с костью." icon_state = "e_scalpel" inhand_icon_state = "e_scalpel" surgical_tray_overlay = "scalpel_advanced" @@ -415,17 +433,17 @@ tool_behaviour = TOOL_SCALPEL set_light_range(1) - balloon_alert(user, "[active ? "enabled" : "disabled"] bone-cutting mode") + balloon_alert(user, "[active ? "увеличиваю" : "уменьшаю"] мощность") playsound(user ? user : src, 'sound/machines/click.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/scalpel/advanced/examine() . = ..() - . += span_notice("It's set to [tool_behaviour == TOOL_SCALPEL ? "scalpel" : "saw"] mode.") + . += span_notice("Переключатель мощности установлен на режиме [tool_behaviour == TOOL_SCALPEL ? "скальпеля" : "пилы"].") /obj/item/retractor/advanced - name = "mechanical pinches" - desc = "An agglomerate of rods and gears." + name = "механический зажим" + desc = "Сложный инструмент состоящий из шестеренок и манипуляторов." icon = 'icons/obj/medical/surgery_tools.dmi' custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*6, /datum/material/glass = SHEET_MATERIAL_AMOUNT*2, /datum/material/silver = SHEET_MATERIAL_AMOUNT*2, /datum/material/titanium =SHEET_MATERIAL_AMOUNT * 2.5) icon_state = "adv_retractor" @@ -460,17 +478,17 @@ SIGNAL_HANDLER tool_behaviour = (active ? TOOL_HEMOSTAT : TOOL_RETRACTOR) - balloon_alert(user, "gears set to [active ? "clamp" : "retract"]") + balloon_alert(user, "шестерни установлены в положении [active ? "зажима" : "расширителя"]") playsound(user ? user : src, 'sound/items/change_drill.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/retractor/advanced/examine() . = ..() - . += span_notice("It resembles a [tool_behaviour == TOOL_RETRACTOR ? "retractor" : "hemostat"].") + . += span_notice("Шестерни установлены в положении [tool_behaviour == TOOL_RETRACTOR ? "расширителя" : "зажима"].") /obj/item/shears - name = "amputation shears" - desc = "A type of heavy duty surgical shears used for achieving a clean separation between limb and patient. Keeping the patient still is imperative to be able to secure and align the shears." + name = "ножницы для ампутации" + desc = "Тип тяжелых хирургических ножниц, используемых для достижения чистого разделения между конечностью и пациентом. Держать пациента по-прежнему необходимо, чтобы иметь возможность закрепить и выровнять ножницы." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "shears" flags_1 = CONDUCT_1 @@ -482,8 +500,8 @@ throw_speed = 2 throw_range = 5 custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*4, /datum/material/titanium=SHEET_MATERIAL_AMOUNT*3) - attack_verb_continuous = list("shears", "snips") - attack_verb_simple = list("shear", "snip") + attack_verb_continuous = list("стрижёт", "режет") + attack_verb_simple = list("стрижёт", "режет") sharpness = SHARP_EDGED custom_premium_price = PAYCHECK_CREW * 14 @@ -497,7 +515,7 @@ var/mob/living/carbon/patient = amputee if(HAS_TRAIT(patient, TRAIT_NODISMEMBER)) - to_chat(user, span_warning("The patient's limbs look too sturdy to amputate.")) + to_chat(user, span_warning("Конечности пациента выглядят слишком крепкими для ампутации.")) return var/candidate_name @@ -507,20 +525,20 @@ if(user.zone_selected == BODY_ZONE_PRECISE_GROIN) tail_snip_candidate = patient.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL) if(!tail_snip_candidate) - to_chat(user, span_warning("[patient] does not have a tail.")) + to_chat(user, span_warning("[patient] не имеет хвоста.")) return candidate_name = tail_snip_candidate.name else limb_snip_candidate = patient.get_bodypart(check_zone(user.zone_selected)) if(!limb_snip_candidate) - to_chat(user, span_warning("[patient] is already missing that limb, what more do you want?")) + to_chat(user, span_warning("[patient] не имеет здесь конечности.")) return candidate_name = limb_snip_candidate.name var/amputation_speed_mod = 1 - patient.visible_message(span_danger("[user] begins to secure [src] around [patient]'s [candidate_name]."), span_userdanger("[user] begins to secure [src] around your [candidate_name]!")) + patient.visible_message(span_danger("[user] начинает устанавливать [src] вокруг [candidate_name] [patient].") , span_userdanger("[user] начинает закреплять [src] вокруг моей [candidate_name]!")) playsound(get_turf(patient), 'sound/items/ratchet.ogg', 20, TRUE) if(patient.stat >= UNCONSCIOUS || HAS_TRAIT(patient, TRAIT_INCAPACITATED)) //if you're incapacitated (due to paralysis, a stun, being in staminacrit, etc.), critted, unconscious, or dead, it's much easier to properly line up a snip amputation_speed_mod *= 0.5 @@ -534,7 +552,7 @@ tail_snip_candidate.forceMove(get_turf(patient)) else limb_snip_candidate.dismember() - user.visible_message(span_danger("[src] violently slams shut, amputating [patient]'s [candidate_name]."), span_notice("You amputate [patient]'s [candidate_name] with [src].")) + user.visible_message(span_danger("[capitalize(src.name)] яростно захлопывается, ампутируя [candidate_name] [patient].") , span_notice("Ампутирую [candidate_name] [patient] используя [src].")) if(HAS_MIND_TRAIT(user, TRAIT_MORBID)) //Freak user.add_mood_event("morbid_dismemberment", /datum/mood_event/morbid_dismemberment) @@ -552,8 +570,8 @@ return BRUTELOSS /obj/item/bonesetter - name = "bonesetter" - desc = "For setting things right." + name = "костоправ" + desc = "Для правильной ориентации костей при вывихах и переломах." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "bonesetter" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -562,17 +580,24 @@ flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL w_class = WEIGHT_CLASS_SMALL - attack_verb_continuous = list("corrects", "properly sets") - attack_verb_simple = list("correct", "properly set") + attack_verb_continuous = list("корректирует", "правильно устанавливает") + attack_verb_simple = list("корректирует", "правильно устанавливает") tool_behaviour = TOOL_BONESET toolspeed = 1 /obj/item/bonesetter/get_surgery_tool_overlay(tray_extended) return "bonesetter" + (tray_extended ? "" : "_out") +/obj/item/bonesetter/augment + name = "кибернетический костоправ" + icon = 'white/Feline/icons/cyber_arm_surgery.dmi' + icon_state = "bone_setter" + desc = "Для правильной ориентации костей при вывихах и переломах." + toolspeed = 0.5 + /obj/item/blood_filter - name = "blood filter" - desc = "For filtering the blood." + name = "фильтр крови" + desc = "Для фильтрации крови и лимфы." icon = 'icons/obj/medical/surgery_tools.dmi' icon_state = "bloodfilter" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -611,7 +636,7 @@ . = TRUE switch(action) if("add") - var/selected_reagent = tgui_input_list(usr, "Select reagent to filter", "Whitelist reagent", GLOB.chemical_name_list) + var/selected_reagent = tgui_input_list(usr, "Выбор реагента для фильтрации", "Белый список реагентов", GLOB.chemical_name_list) if(!selected_reagent) return TRUE @@ -642,29 +667,29 @@ */ /obj/item/retractor/cruel - name = "twisted retractor" - desc = "Helps reveal secrets that would rather stay buried." + name = "расширитель" + desc = "Помогает раскрыть секреты, которые лучше бы остались скрытыми." icon_state = "cruelretractor" surgical_tray_overlay = "retractor_cruel" item_flags = SURGICAL_TOOL | CRUEL_IMPLEMENT /obj/item/hemostat/cruel - name = "cruel hemostat" - desc = "Clamping bleeders, but not so good at fixing breathers." + name = "зажим" + desc = "Зажимает, но не очень хорошо останавливает внутренние кровотечения." icon_state = "cruelhemostat" surgical_tray_overlay = "hemostat_cruel" item_flags = SURGICAL_TOOL | CRUEL_IMPLEMENT /obj/item/cautery/cruel - name = "savage cautery" - desc = "Chalk this one up as another successful vivisection." + name = "прижигатель" + desc = "Запишем как еще одну успешную вивисекцию." icon_state = "cruelcautery" surgical_tray_overlay = "cautery_cruel" item_flags = SURGICAL_TOOL | CRUEL_IMPLEMENT /obj/item/scalpel/cruel - name = "hungry scalpel" - desc = "I remember every time I hold you. My born companion..." + name = "скальпель" + desc = "Я помню каждый раз, как брал тебя в руки, мой дорогой друг..." icon_state = "cruelscalpel" surgical_tray_overlay = "scalpel_cruel" item_flags = SURGICAL_TOOL | CRUEL_IMPLEMENT diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 593a3878c2e6fc..d782e7d0956a74 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index b756bb4ee672dc..49029885095d5c 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/strings/1000_most_common.txt b/strings/1000_most_common.txt index adbe0f6fcf0919..f3379e3a086a93 100644 --- a/strings/1000_most_common.txt +++ b/strings/1000_most_common.txt @@ -1,1035 +1,1035 @@ +а +а +автобус +ад +акция +анекдот +анкета +ансамбль +арендованный +бабло +бал +балл +барная стойка +барышня +башмак +бежать +без +бездействовать +безмолвие +безмолвный +безмолвный +безумный +безупречный +белый +бережно +беседа +беседа +биться +благо +благодарность +близко +близко расположенный +блик +блондин +Бог +бойфренд +бокал +боковой +более +большой +большой +бормотание +бормотание +братский +бригада +бровь +бросок +брошенный +бутылка +были +были +было +было бы +быстрый взгляд +быт +быть +быть вероятным +быть во главе угла +быть очевидным +в +в достатке +в достатке +в конечном счёте +в конце концов +в меньшей степени +в настоящее время +в одиночку +в одном направлении +в особенности +в пределах +в промежутке +в роли +в скором времени +в следующий раз +в сторону +в течение +в честь +вагон +ванная +вау +вдох +веселье +вестибюль +весьма +весьма +весьма +ветровой +вечер +вечеринка +взаимоотношения +вздох +взор +взятие +взятый +виток +вместе с +вместо этого +внезапно +внезапный +внезапный +внизу +внимание +внутренняя часть +внутрь +водный +возгорание +воздух +возле +возможный +войлочный +волосы +вольный +воля +вопить +вопить +вопреки +вопрос +восклицание +воспоминание +восхождение +вперёд +впереди +вполне +время +всё +всё +всегда +всплеск +встревоженный +встреча +встреченный +всякий +второстепенный +второстепенный +вы +вы +вывеска +выгода +выжидание +вызывать возбуждение +высверленное отверстие +высказывание +высказывание +высказывание +выстрел +выступать +вытирание +газетный +гараж +где +гибель +гибнуть +гигантский +глас +глупый +гнев +год +гораздо +горе +горло +горловина +городской +городской +господин +готовый +готовый +граница +громкий +грунт +группировка +густой +да +дальнейший +двадцать +дверной проём +двойка +девушка +дежурство +действительность +действительный +действующий +делает +делать +делать шаг +день +дерьмо +десятка +дети +джинсы +диван +до +довольный +догадка +доделывать +дождь +докторский +долгий срок +должность +домашний очаг +допускать +дорожка +доставать +достаточно +достопримечательность +дочь +древесина +древовидный +думать +дурной +душевой +дым +дышать +дядя +его +едва +единственный +ездить верхом +если +если +если не +есть +есть +ехать +жаль +жаркий +желудок +жена +жениться +женский +женщины +жестяная банка +животное +жилище +Жить +за исключением +заблаговременный +забота +забыть +завершающий +завершающий +завтра +завтрак +зад +задание +задержанный +задыхаться +законченный +закрытый +заливка +замок +замысел +замысел +заново +занятие +записка +запутанность +заслушивать +застрявший +затем +затхлость +захват +захлопнуться +зачем +звенеть +звонить +здесь +здоровый +здравствуйте +зелёный +земельный +знаменитость +знание +значимый +значительный +знающий +зов +зрелище +зубы +и +игнорировать +Ид +из +избегать +извещение +изготовленный +изнашивание +изумление +или +иллюминатор +имеет +имел +иметь +иметь значение +иначе +иной +иной +интонация +Инфицирован +испуг +испуг +испуганный +истина +их +кабинет +каждый +каждый +казаться +как +как бы там ни было +как раз +какой-то +камера +капля +карман +карточный +катушка +квартал +квартира +кивок +кино +кирка +ключевой +когда +когда-либо +когда-то +кожица +коленный +колледж +колокол +колос +кольцо +комментарий +коммерческая деятельность +комната +комплект +компьютер +конструкция +контроль +конь +коричневый +коробка +короткий +космос +который +который +кофейный +кошка +край +красный +кресло +кресло +крест +крик +кровь +кроме +кронштейн +крупный +кто-нибудь +куда-то +купить +курган +курс лекций +курсант +курьёзный +кусочек +кухонный +лад +лгать +лёгкий +лёгкий +легко +леди +ледяной +летний +ли +линейный +лот +лучший +лучший +любимый +любовь +любой +люди +маленький +малыш +малыш +мальчик +малюсенький +мама +мама +марка +маршрут +материал +матч +мать +махать +мгновенный +медленный +мелкий +меня +меня +местечко +месяц +мечта +миг +мигать +милиция +мимо +минутный +мир +Миссис +мистер +мишень +мнение +многие +мог +могущество +может быть +молодёжь +молчание +мордашка +мощь +мужчина +музыка +мы +мы +мы +мы +мышление +мышление +на +на самом деле +на самом деле +набирать (на клавиатуре) +наверное +наверх +наверху +наглость +надавливать +надежда +надежда +надёжный +надобность +надоедливый +нажим +назад +наименование +наименьший +найденный +налево +напиток +наподобие +напоминание +напротив +напрягаться +народ +наружный +наружный +наряд +нас +насквозь +настоящий +настоящий +наступление +наступление +насыщенный +находиться +находка +начатый +начинаться +наш +не +не +не +не +не +не +не +не +не +не +не +не +не будет +не был +не были +не было +не было +не должен +не может +не следует +не смог +не смог +не стал бы +не является +не являются +небо +невозмутимость +невысокий +неделя +недостаток +нежели +нежно +некто +немногие +неполный +непохожий +неприятность +непрофессиональный +нерешительность +несколько +несомненно +несомненно +несомненный +неспешно +неудачный +нечто +нижний +никогда +ничего +ничья +ничья +но +но +новый +нога +нос +ночь +ныть +о +оба +обед +обёртывание +обиженный +область +облик +обнаружение +обоняние +обочина +обратно +общеизвестный +объятия +обыкновенный +обыкновенный +обычно +ограда +одежда +одежда +одинаковый +одиночный +ожидание +ожог +около +окружение +омрачать +он +он +он +он +она +она +она +они +они +они +они +опасение +оплошность +опоздавший +осведомлённый +осенний +осколок +особа +особенность +оставаться +остановиться +остров +ответная реакция +отвечать +отвращение +отговорка +отдавать +отдача +отец +откликаться +отлично +отправился +отправленный +отправлять +отпуск +отражать +отрастать +отрицание +отчётливый +охват +ощущение +падение +пакет +палец +папа +пара +парень +пас +пасть +первый +переворот +переезд +переживать +переноска +переодеваться +перерыв +перерыв +перерыв +перетаскивание +пёс +песня +пиджак +пила +писать +писать +пистолет +письмо +плач +по +по высокой цене +по кругу +по-видимому +поблизости +повествование +повод +повтор +повышение +погоня +подальше +подвесной +подружка +подсказка +подходящий +подъём +поездка +поездка +пожалуй +пожалуйста +пожимание плечами +позади +пойманный +пока +пока +покой +покрасочный +покрышка +покушение +полагать +полагать +полдень +полёт +полностью +полноценный +положение +положение +полученный +польза +помнить +понимать +понимать +понимать +попавший +попадание +попросту +порой +портрет +поручень +поскользнуться +последовательность +поспешно +поститься +поступок +потому что +потому что +потраченный +потрясённый +потухший +поцелуй +почти +почти +правая рука +ПРАВДА +практически +предназначенный +предоставленный +предостерегать +предполагать +представлять +прежде +прекращение +прибавлять +привет +привет +приветствие +пригодный +придурок +приезжать +приказ +прикосновение +прикрытие +принесённый +принимать решение +приносить +принуждение +пристальный взгляд +пристальный взгляд +притворяться +приходить +пришел +приятель +проба +пробежка +проблема +прогулка +прогулка +продовольствие +продолжать +проехать +проигрыш +проклятый +проникать +пропавший +пропадать +пропускать +проснувшийся +просьба +прохладный +прыгать +прямой эфир +прямолинейный +прятаться +пульт +пуск +пустой +путь +пять +радоваться +радостный +разбитый +размышлять +разновидность +разорённый +разрез +разрыв +разъяснять +распахнутый +расплачиваться +распознавать +расположиться +рассказанный +расслабиться +рассудок +растирание +расцветка +ребёнок +ровный +родители +родной +розовый +розовый +розыск +рубашка +румянец +русло +рядом с +с +с тех пор как +с учётом +садиться +сам +сам +сама +сбежать +свет +светодиодный +свидание +свинцовый +свисать +свой +свой +свой +свой +свой +свой +свойственный +сделала +себя +себя +сегодня +сегодня +седой +сей +семейный +семь +сердитый +сердцевина +середина +серьёзно +сестра +сидящий +сильный +симпатичный +симпатичный +симпатичный +синий +сияющий +скалистый +сквер +скорее +скорый +скос +сладкий +след +следовать +слишком +случайность +случаться +слышно +смена +смеяться +смысл +собираюсь +собственный +совершенно +совсем не +согласие +соглашаться +соглашаться +соглашаться +соглашение +содрогаться +соединяться +солнечный +сомнение +сообща +сорт +сосать +состязаться в беге +сотня +сотрясение +сохранённый +сочинение +спальня +спектакль +спешить +спичка +справедливый +справляться +спящий +среднее арифметическое +средоточие +ссора +ставить +стакан +стал +станина +становиться +старший +старый +стационарный +стая +стена +стойка +стойка +стол +стонать +стоящий +стража +странный +стрелка часов +стук +ступень +ступенька +ступни +ступня +сумасшедший +сундук +супружеская пара +сухой +сущность +схватка +считывание +сынок +сырой +так или иначе +так или иначе +так что +такой +танцевать +твёрдый +твой +те +тейд +ТЕЛЕВИЗОР +тем не менее +тёмный +тёплый +тётя +тихий +тихо +тихо +то есть +тоже +толпа +толчок +торопиться +тошнотворный +трастовый +тратить +трах +треть +трещина +тройка +трость +труд +туалеты +тугой +туда +туловище +тут же +ты +ты +ты +ты +ты бы +тьма +тяга +тяжёлый +тяжёлый +у +у вас +убежище +убийство +увиденный +угловой +удар +удар +удивляться +уже +уже не +ужин +указанный +укус +улица +улыбаться +ум +унылый +упование +упоминание +услышанный +утерянный +утро +ухмылка +ухмыляться +участие +учёба +учитель +учиться +факультет +фигурировать +форвардная сделка +фрагмент +фронт +фураж +футляр +ха +хватка +хватка +хихикать +хихикать +хлопок +хмурый взгляд +холл +холм +холодный +хорошо +хотя +хранилище +худой +худший +целый +целый +цех +цифра +час +часто +чек +человеческий +чересчур +чёрный +четверо +чистоплотный +что +что +что +что +что бы там ни было +что-нибудь +что-нибудь +чудесный +чужой +чуть-чуть +шахтный +шезлонги +шёпот +шестерка +широко раскрытый +шкаф +шоссе +штаны +штат +шум +щелчок +щётка +эпоха +этаж +эти +это +это +это +это +я +Я +Я +Я +Я +Я бы +язычок a -able -about -above -accept -across -act -actually -add -admit -afraid -after -afternoon -again -against -age -ago -agree -ah -ahead -air -all -allow -almost -alone -along -already -alright -also -although -always -am -amaze -an -and -anger -angry -animal -annoy -another -answer -any -anymore -anyone -anything -anyway -apartment -apparently -appear -approach -are -area -aren't -arent -arm -around -arrive -as -ask -asleep -ass -at -attack -attempt -attention -aunt -avoid -away -baby -back -bad -bag -ball -band -bar -barely -bathroom -be -beat -beautiful -became -because -become -bed -bedroom -been -before -began -begin -behind -believe -bell -beside -besides -best -better -between -big -bit -bite -black -blink -block -blonde -blood -blue -blush -body -book -bore -both -bother -bottle -bottom -box -boy -boyfriend -brain -break -breakfast -breath -breathe -bright -bring -broke -broken -brother -brought -brown -brush -build -burn -burst -bus -business -busy -but -buy -by -call -calm -came -can -can't -cant -car -card -care -carefully -carry -case -cat -catch -caught -cause -cell -chair -chance -change -chase -check -cheek -chest -child -children -chuckle -city -class -clean -clear -climb -close -clothes -coffee -cold -college -color -come -comment -complete -completely -computer -concern -confuse -consider -continue -control -conversation -cool -corner -couch -could -couldn't -couldnt -counter -couple -course -cover -crack -crazy -cross -crowd -cry -cup -cut -cute -dad -damn -dance -dark -date -daughter -day -dead -deal -dear -death -decide -deep -definitely -desk -did -didn't -didnt -die -different -dinner -direction -disappear -do -doctor -does -doesn't -doesnt -dog -don't -done -dont -door -doubt -down -drag -draw -dream -dress -drink -drive -drop -drove -dry -during -each -ear -early -easily -easy -eat -edge -either -else -empty -end -enjoy -enough -enter -entire -escape -especially -even -evening -eventually -ever -every -everyone -everything -exactly -except -excite -exclaim -excuse -expect -explain -expression -eye -eyebrow -face -fact -fall -family -far -fast -father -fault -favorite -fear -feel -feet -fell -felt -few -field -fight -figure -fill -finally -find -fine -finger -finish -fire -first -fit -five -fix -flash -flip -floor -fly -focus -follow -food -foot -for -force -forget -form -forward -found -four -free -friend -from -front -frown -fuck -full -fun -funny -further -game -gasp -gave -gaze -gently -get -giggle -girl -girlfriend -give -given -glad -glance -glare -glass -go -God -gone -gonna -good -got -gotten -grab -great -green -greet -grey -grin -grip -groan -ground -group -grow -guard -guess -gun -guy -had -hadn't -hadnt -hair -half -hall -hallway -hand -handle -hang -happen -happy -hard -has -hate -have -haven't -havent -he -he'd -he's -head -hear -heard -heart -heavy -hed -held -hell -hello -help -her -here -herself -hes -hey -hi -hide -high -him -himself -his -hit -hold -home -hope -horse -hospital -hot -hour -house -how -however -hug -huge -huh -human -hundred -hung -hurry -hurt I -I'd -I'll -I'm -I've -ice -Id -idea -if -ignore -Ill -Im -imagine -immediately -important -in -inside -instead -interest -interrupt -into -is -isn't -isnt -it -it's -its -its -Ive -jacket -jeans -jerk -job -join -joke -jump -just -keep -kept -key -kick -kid -kill -kind -kiss -kitchen -knee -knew -knock -know -known -lady -land -large -last -late -laugh -lay -lead -lean -learn -least -leave -led -left -leg -less -let -letter -lie -life -lift -light -like -line -lip -listen -little -live -lock -locker -long -look -lose -lost -lot -loud -love -low -lunch -mad -made -make -man -manage -many -mark -marry -match -matter -may -maybe -me -mean -meant -meet -memory -men -mention -met -middle -might -mind -mine -minute -mirror -miss -mom -moment -money -month -mood -more -morning -most -mother -mouth -move -movie -mr -mrs -much -mum -mumble -music -must -mutter -my -myself -name -near -nearly -neck -need -nervous -never -new -next -nice -night -no -nod -noise -none -normal -nose -not -note -nothing -notice -now -number -obviously -of -off -offer -office -often -oh -okay -old -on -once -one -only -onto -open -or -order -other -our -out -outside -over -own -pack -pain -paint -pair -pants -paper -parents -park -part -party -pass -past -pause -pay -people -perfect -perhaps -person -phone -pick -picture -piece -pink -piss -place -plan -play -please -pocket -point -police -pop -position -possible -power -practically -present -press -pretend -pretty -probably -problem -promise -pull -punch -push -put -question -quick -quickly -quiet -quietly -quite -race -rain -raise -ran -rang -rather -reach -read -ready -real -realize -really -reason -recognize -red -relationship -relax -remain -remember -remind -repeat -reply -respond -rest -return -ride -right -ring -road -rock -roll -room -rose -round -rub -run -rush -sad -safe -said -same -sat -save -saw -say -scare -school -scream -search -seat -second -see -seem -seen -self -send -sense -sent -serious -seriously -set -settle -seven -several -shadow -shake -share -she -she'd -she's -shed -shes -shift -shirt -shit -shock -shoe -shook -shop -short -shot -should -shoulder -shouldn't -shouldnt -shout -shove -show -shower -shrug -shut -sick -side -sigh -sight -sign -silence -silent -simply -since -single -sir -sister -sit -situation -six -skin -sky -slam -sleep -slightly -slip -slow -slowly -small -smell -smile -smirk -smoke -snap -so -soft -softly -some -somehow -someone -something -sometimes -somewhere -son -song -soon -sorry -sort -sound -space -speak -spend -spent -spoke -spot -stair -stand -star -stare -start -state -stay -step -stick -still -stomach -stood -stop -store -story -straight -strange -street -strong -struggle -stuck -student -study -stuff -stupid -such -suck -sudden -suddenly -suggest -summer -sun -suppose -sure -surprise -surround -sweet -table -take -taken -talk -tall -teacher -team -tear -teeth -tell -ten -than -thank -that -that's -thats -the -their -them -themselves -then -there -there's -theres -these -they -they'd -they're -theyd -theyre -thick -thing -think -third -this -those -though -thought -three -threw -throat -through -throw -tie -tight -time -tiny -tire -to -today -together -told -tomorrow -tone -tongue -tonight -too -took -top -totally -touch -toward -town -track -trail -train -tree -trip -trouble -TRUE -trust -truth -try -turn -TV -twenty -two -type -uncle -under -understand -until -up -upon -us -use -usual -usually -very -visit -voice -wait -wake -walk -wall -want -warm -warn -was -wasn't -wasnt -watch -water -wave -way -we -we'll -we're -we've -wear -week -weird -well -well -went -were -were -weren't -werent -wet -weve -what -what's -whatever -whats -when -where -whether -which -while -whisper -white -who -whole -why -wide -wife -will -wind -window -wipe -wish -with -within -without -woke -woman -women -won't -wonder -wont -wood -word -wore -work -world -worry -worse -would -wouldn't -wouldnt -wow -wrap -write -wrong -yeah -year -yell -yes -yet -you -you'd -you'll -you're -you've -youd -youll -young -your -youre -yourself -youve diff --git a/strings/abductee_objectives.txt b/strings/abductee_objectives.txt index f9ff87016699b8..1bd4a316ee1abe 100644 --- a/strings/abductee_objectives.txt +++ b/strings/abductee_objectives.txt @@ -1,40 +1,40 @@ -All the pets around here suck. You need to make them cooler. Replace them with exotic beasts! -Being alone and in large groups are both frightening. Try to be alone with only one other person whenever possible. -Call forth a spirit from the other side. -Climb the corporate ladder all the way to the top! -Convince the crew that you are a paraplegic. -Death should be final and modern medicine disrupts the natural order. Don't allow anyone to be revived. -Ensure your department prospers over all else. -Expand the station. -Flood the station's powernet with as much electricity as you can. -Fuck the system! Defect from the station and start an independent colony in space, Lavaland or the derelict. Recruit crew-mates if you can. -Go have a good conversation with the singularity/tesla/supermatter crystal. Bonus points if it responds. -It's all an entirely virtual simulation within an underground vault. Convince the crew to escape the shackles of VR. -Nanotrasen is abusing the animals! Save as many as you can! -No matter how they say it, other people keep mispronouncing your name. Be sure to correct them whenever possible. -Replace all the floor tiles with wood, carpeting, grass or bling. -So much lies undiscovered. Look deeper into the machinations of the universe. -Start a collection of corpses. Don't kill people to get these corpses. -The CEO of Nanotrasen is coming! Ensure the station is in absolutely pristine condition. -The clown is not funny. You can do better! Steal his audience and make the crew laugh! -The crew must get to know one another better. Break down the walls inside the station! -The elder gods hunger. Gather a cult and conduct a ritual to summon one. -The leaders of this station are hiding a grand, evil conspiracy. Only you can learn what it is, and expose it to the people! -The oxygen is killing them all and they don't even know it. Make sure no oxygen is on the station. -The Syndicate has hired you to compile dossiers on all important members of the crew. Be sure they don't know you're doing it. -There are alien parasites masquerading as people's hair. Save people from this invasion. -There is only one other person in existence, he is just really good at pretending to be multiple people. -This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth. -Try to get formally executed for a crime you didn't commit, without a false confession. -You are doomed to feel woefully incomplete forever... until you find your true love on this station. They're waiting for you! -You are hungry. Eat as much food as you can find. -Your flesh is rotting from your body. Fight the inevitable, and replace your tainted limbs with entirely new ones. -You are secretly an android. Interface with as many machines as you can to boost your own power so the AI may acknowledge you at last. -You burn with passion for music. Share your vision. If anyone hates it, beat them on the head with your instrument! -You died back there and went to heaven... or is it hell? No one here seems to know they're dead. Convince them, and maybe you can escape this limbo. -You have been changed forever. Find the ones that did this to you and give them a taste of their own medicine. -You must escape the station! Get the shuttle called! -You see you see what they cannot you see the open door you seeE you SEeEe you SEe yOU seEee SHOW THEM ALL -You're the narrator of this tale. Follow around the protagonists to tell their story. -You're throwing a huge rager. Make it as awesome as possible so the whole crew comes... OR ELSE! -Your body must be improved. Ingest as many drugs as you can. +Быть в одиночестве и в больших группах - это пугает. Постарайтесь быть наедине только с одним человеком, когда это возможно. +Ваше тело должно быть улучшено. Поглощайте как можно больше наркотиков. +Все домашние животные здесь отстой. Ты должен сделать их круче. Замените их экзотическими зверями! +Все это полностью виртуальная симуляция в подземном хранилище. Убедите экипаж вырваться из оков VR. +Вы должны покинуть станцию! Звоните на шатттл! +Вызовите дух с другой стороны. +Генеральный директор NanoTrasen приезжает! Убедитесь, что станция находится в абсолютно безупречном состоянии. +Есть инопланетные паразиты, маскирующиеся под волосы людей. Спасите людей от вторжения. +Замените всю напольную плитку на деревянную, ковровую, травяную или блестящую. +Иди поговори с кристаллом сингулярности/теслой/суперматерией. Бонусные очки, если вам ответят. +К черту систему! Дезертируйте со станции и создайте независимую колонию в космосе, Лаваленде или заброшенном месте. По возможности наймите товарищей по команде. +Кислород убивает их всех, и они даже не знают об этом. Убедитесь, что на станции нет кислорода. +Клоун не смешной. Ты можешь сделать лучше! Укради его аудиторию и заставь экипаж смеяться! +Наполните электросеть станции как можно большим количеством электричества, чем вы можете. +Начните собирать трупы. Не убивайте людей, чтобы получить эти трупы. +Не позволяйте никому быть клонированным. +Неважно, как они это говорят, другие люди продолжают неправильно произносить твое имя. Обязательно исправляйте их, когда это возможно. +Поднимайтесь по служебной лестнице до самого верха! +Постарайтесь, чтобы вас официально казнили за преступление, которое вы не совершали, без ложных признаний. +Расширьте станцию. +Руководители этой станции скрывают большой, злой заговор. Только ты можешь узнать в чем дело и рассказать об этом людям! +Синдикат нанял вас для составления досье на всех важных членов экипажа. Убедись, что они не знают, что ты это делаешь. +Старшие боги голодают. Соберите культ и проведите ритуал для его вызова. +Столько лжи нераскрыто. Загляни глубже в козни Вселенной. +Существует только один человек, он просто очень хорошо притворяется множественностью людей. +Ты беременна и скоро родишь. Найди безопасное место для родов. +Ты видишь, что они не могут видеть открытую дверь, которую ты видишь... Ты видишь, что ты видишь, что они не видят, что ты видишь... +Ты втайне андроид. Взаимодействуйте с как можно большим количеством машин, чтобы увеличить свою собственную мощность, чтобы AI наконец-то смог распознать вас. +Ты голоден. Ешь столько еды, сколько сможешь найти. +Ты горишь от страсти к музыке. Поделитесь своим видением. Если кому-то это не нравится, ударьте его своим инструментом по голове! +Ты изменилась навсегда. Найдите тех, кто сделал это с вами, и дайте им попробовать свои лекарства. +Ты обречен чувствовать себя несчастливо неполноценным навсегда... пока не найдешь свою настоящую любовь на этой станции. Они ждут тебя! +Ты рассказчик этой истории. Следуйте за главными героями, чтобы рассказать их историю. +Ты там умер и попал в рай.... или это ад? Похоже, никто здесь не знает, что они мертвы. Убедить их, и, возможно, ты сможешь сбежать из этого лимба. +Ты устраиваешь небывалую тусу. Сделай всё как можно круче, чтобы вся команда пришла.... ИЛИ НЕТ! +Убедитесь, что ваш департамент процветает больше всего на свете. +Убедить команду, что у меня паралич. +Экипаж должен узнать друг друга получше. Сломай стены внутри участка! +Это секретный социальный эксперимент, проведенный NanoTrasen. Убедите команду, что это правда. +NanoTrasen жестоко обращается с животными! Спасите столько, сколько сможете! diff --git a/strings/antagonist_flavor/heretic_influences.json b/strings/antagonist_flavor/heretic_influences.json index ef7d55a101f2ea..5ffdf92f988f60 100644 --- a/strings/antagonist_flavor/heretic_influences.json +++ b/strings/antagonist_flavor/heretic_influences.json @@ -1,67 +1,66 @@ { "prefix": [ - "aggressive", - "arrogant", - "atomized", - "blissful", + "omniscient", + "thundering", "enlightening", - "fleeting", "intrusive", - "lowering", - "omniscient", - "peaceful", - "resentful", - "rising", + "rejectful", + "atomized", "subtle", + "rising", + "lowering", + "fleeting", + "towering", + "blissful", + "arrogant", "threatening", - "thundering", - "towering" + "peaceful", + "aggressive" ], "postfix": [ - "blemish", - "blush", - "breeze", - "cold", - "crack", "flaw", - "flow", - "grasp", + "presence", + "crack", "heat", - "imperfection", + "cold", "memory", - "presence", "reminder", + "breeze", + "grasp", "sight", - "thought", + "whisper", + "flow", "touch", "veil", - "whisper" + "thought", + "imperfection", + "blemish", + "blush" ], "drained": [ + "researched", + "siphoned", "analyzed", - "drained", "emptied", - "opened", - "researched", - "siphoned" + "drained", + "opened" ], "drain_message": [ - "A SHIMMER... POTENTIAL... POWER.", - "A WHISPER.", - "COVERED AND FORGOTTEN.", - "CURSED LAND, CURSED MAN, CURSED MIND.", - "GREATER HEIGHTS.", - "I AM BEING WATCHED... FROM WHERE? FROM WHAT?", - "I AM LATE FOR MY DESTINY.", - "LIFE IS FLEETING, BUT WHAT YET STAYS?", - "RAIN OF BLOOD. REIGN OF BLOOD.", - "STRENGTH... UNPARALLELED. UNNATURAL.", - "THE GATES OF THE MANSUS IS HERE, IS OPEN.", "THE HIGHER I RISE, THE MORE I SEE.", "THE VEIL IS SHATTERED.", + "THE GATES OF THE MANSUS IS HERE, IS OPEN.", + "I AM BEING WATCHED... FROM WHERE? FROM WHAT?", + "A SHIMMER... POTENTIAL... POWER.", "THEIR HAND IS AT MY SIDE.", + "STRENGTH... UNPARALLELED. UNNATURAL.", + "I AM LATE FOR MY DESTINY.", + "TO WALK BETWEEN PLANES.", "THEY WALK THE WORLD. UNNOTICED.", - "TO WALK BETWEEN PLANES." + "CURSED LAND, CURSED MAN, CURSED MIND.", + "GREATER HEIGHTS.", + "RAIN OF BLOOD. REIGN OF BLOOD.", + "LIFE IS FLEETING, BUT WHAT YET STAYS?", + "COVERED AND FORGOTTEN.", + "A WHISPER." ] - } diff --git a/strings/canadian_replacement.json b/strings/canadian_replacement.json index cad82af01ae103..04bd707b15151c 100644 --- a/strings/canadian_replacement.json +++ b/strings/canadian_replacement.json @@ -1,45 +1,39 @@ { - - "canadian": { - "about": "aboot", - "alcohol": "mickey", - "armor": "armour", - "armory": "armoury", - "backpack": "knapsack", - "bar": "boozecan", - "bathroom": "washroom", - "candybar": "chocolate bar", - "cig": "dart", - "cigarette": "dart", - "coffee": "doubledouble", - "color": "colour", - "couch": "chesterfield", - "defense": "defence", - "donut": "doughnut", - "faucet": "tap", - "friend": "buddy", - "give": "give'r", - "gray": "grey", - "honor": "honour", - "humor": "humour", - "humorous": "humourous", - "inch": "centimetre", - "labeled": "labelled", - "labor": "labour", - "leave": "leave'r", - "luster": "lustre", - "mile": "kilometre", - "pal": "buddy", - "pound": "kilogram", - "restroom": "washroom", - "rucksack": "knapsack", - "scuffle": "kerfuffle", - "shoes": "runners", - "sofa": "chesterfield", - "toilet": "washroom", - "tumor": "tumour", - "yard": "metre" - } - - + "canadian": { + "алкоголь": "микки", + "арсенал": "оружейный склад", + "бар": "бухло", + "блеск": "блеск", + "ванная": "туалет", + "дай": "дай пять", + "двор": "метр", + "диван": "честерфилд", + "доспехи": "броня", + "друг": "приятель", + "дюйм": "сантиметр", + "защита": "защита", + "кондибар": "шоколадная плитка", + "кофе": "удвоился вдвое", + "кран": "чечетка", + "миля": "километр", + "о": "сапожник", + "обувь": "бегунов", + "опухоль": "опухоль", + "помечены": "помечены", + "пончик": "пончик", + "приятель": "приятель", + "роды": "работы", + "рюкзак": "рюкзак", + "серая": "серый", + "сигарета": "дартс", + "сигарету": "дартс", + "скраффл": "керфус", + "туалет": "туалет", + "уходи": "уходи", + "фунт": "килограмм", + "цвет": "цвет", + "честь": "честь", + "юмор": "юмор", + "юмористическое": "юмористическая" + } } diff --git a/strings/dreamstrings.txt b/strings/dreamstrings.txt index 4f11ea378885b9..7169ea5c081bbc 100644 --- a/strings/dreamstrings.txt +++ b/strings/dreamstrings.txt @@ -1,129 +1,44 @@ -%A% %ADJECTIVE% admiral -%A% %ADJECTIVE% army -%A% %ADJECTIVE% airlock -%A% %ADJECTIVE% alien -%A% %ADJECTIVE% ally -%A% %ADJECTIVE% angel -%A% %ADJECTIVE% armblade -%A% %ADJECTIVE% bear -%A% %ADJECTIVE% bee -%A% %ADJECTIVE% blob -%A% %ADJECTIVE% bottle -%A% %ADJECTIVE% chemist -%A% %ADJECTIVE% corgi -%A% %ADJECTIVE% crewmember -%A% %ADJECTIVE% crowd -%A% %ADJECTIVE% cyborg -%A% %ADJECTIVE% demon -%A% %ADJECTIVE% disguise -%A% %ADJECTIVE% doctor -%A% %ADJECTIVE% drone -%A% %ADJECTIVE% ending -%A% %ADJECTIVE% enemy -%A% %ADJECTIVE% engineer -%A% %ADJECTIVE% ethereal -%A% %ADJECTIVE% explosion -%A% %ADJECTIVE% familiar face -%A% %ADJECTIVE% felinid -%A% %ADJECTIVE% foe -%A% %ADJECTIVE% friend -%A% %ADJECTIVE% ghost -%A% %ADJECTIVE% gun -%A% %ADJECTIVE% geneticist -%A% %ADJECTIVE% hat -%A% %ADJECTIVE% heretic -%A% %ADJECTIVE% hideout -%A% %ADJECTIVE% ID card -%A% %ADJECTIVE% imposter -%A% %ADJECTIVE% inspector -%A% %ADJECTIVE% laboratory -%A% %ADJECTIVE% lizard -%A% %ADJECTIVE% loved one -%A% %ADJECTIVE% meat grinder -%A% %ADJECTIVE% memory -%A% %ADJECTIVE% meteor -%A% %ADJECTIVE% miner -%A% %ADJECTIVE% monkey -%A% %ADJECTIVE% monster -%A% %ADJECTIVE% moth -%A% %ADJECTIVE% nightmare -%A% %ADJECTIVE% ninja -%A% %ADJECTIVE% ocean -%A% %ADJECTIVE% pill -%A% %ADJECTIVE% planet -%A% %ADJECTIVE% plasmaman -%A% %ADJECTIVE% pool -%A% %ADJECTIVE% rat -%A% %ADJECTIVE% scientist -%A% %ADJECTIVE% security officer -%A% %ADJECTIVE% shrine -%A% %ADJECTIVE% shuttle -%A% %ADJECTIVE% singularity -%A% %ADJECTIVE% slime -%A% %ADJECTIVE% task -%A% %ADJECTIVE% toolbox -%A% %ADJECTIVE% traitor -%A% %ADJECTIVE% universe -%A% %ADJECTIVE% vent -%A% %ADJECTIVE% virologist -%A% %ADJECTIVE% virus -%A% %ADJECTIVE% voice in your head -%A% %ADJECTIVE% wheelchair -%ADJECTIVE% blinking lights -%ADJECTIVE% blood -%ADJECTIVE% credits -%ADJECTIVE% darkness -%ADJECTIVE% death -%ADJECTIVE% evidence -%ADJECTIVE% evil -%ADJECTIVE% flames -%ADJECTIVE% handcuffs -%ADJECTIVE% horror -%ADJECTIVE% light -%ADJECTIVE% operatives -%ADJECTIVE% paperwork -%ADJECTIVE% plasma -%ADJECTIVE% power -%ADJECTIVE% riches -%ADJECTIVE% waves -%ADJECTIVE% wind -cigarettes -Ian -mutiny -Nanotrasen -Poly -Runtime -some %ADJECTIVE% cultists -some %ADJECTIVE% lovers -some %ADJECTIVE% melons -some %ADJECTIVE% strangers -some %ADJECTIVE% Xenomorphs -the %ADJECTIVE% bartender -the %ADJECTIVE% bridge -the %ADJECTIVE% brig -the %ADJECTIVE% captain -the %ADJECTIVE% clown -the %ADJECTIVE% depths -the %ADJECTIVE% gods -the %ADJECTIVE% Icemoon wastes -the %ADJECTIVE% maintenance tunnels -the %ADJECTIVE% recycler -the %ADJECTIVE% sun -the %ADJECTIVE% Supermatter -the %ADJECTIVE% void of space -the bar -the bottom of a chasm -the chapel -the curator's back room -the departure lounge -the engine -the emergency shuttle -the library -the medical bay -the station -the sun -the Syndicate -the tram -the Wizard Federation -time itself -water +%A% %ADJECTIVE% бутылка +%A% %ADJECTIVE% доктор +%A% %ADJECTIVE% знакомое лицо +%A% %ADJECTIVE% инженер +%A% %ADJECTIVE% лаборатория +%A% %ADJECTIVE% любимый человек +%A% %ADJECTIVE% мартышка +%A% %ADJECTIVE% монстр +%A% %ADJECTIVE% планета +%A% %ADJECTIVE% предатель +%A% %ADJECTIVE% пришелец +%A% %ADJECTIVE% пушка +%A% %ADJECTIVE% слайм +%A% %ADJECTIVE% сотрудник службы безопасности +%A% %ADJECTIVE% союзник +%A% %ADJECTIVE% учёный +%A% %ADJECTIVE% член экипажа +%A% %ADJECTIVE% шапка +%A% %ADJECTIVE% шаттл +%A% %ADJECTIVE% шахтёр +%A% %ADJECTIVE% ящик с инструментами +%A% %ADJECTIVE% ID-карта +%ADJECTIVE% богатства +%ADJECTIVE% бриг +%ADJECTIVE% ветер +%ADJECTIVE% кровь +%ADJECTIVE% мигающие огни +%ADJECTIVE% мостик +%ADJECTIVE% огни +%ADJECTIVE% плазма +%ADJECTIVE% свет +%ADJECTIVE% смерть +%ADJECTIVE% тьма +%ADJECTIVE% энергия +вода +двигатель +медбей +немного %ADJECTIVE% арбузов +Синдикат +солнце +станция +Федерация Волшебников +NanoTrasen +the %ADJECTIVE% капитан diff --git a/strings/greek_letters.txt b/strings/greek_letters.txt index b04b0ad139dfd4..018b812a688f47 100644 --- a/strings/greek_letters.txt +++ b/strings/greek_letters.txt @@ -1,24 +1,24 @@ -Alpha -Beta -Gamma -Delta -Epsilon -Zeta -Eta -Theta -Iota -Kappa -Lambda -Mu -Nu -Xi -Omicron -Pi -Rho -Sigma -Tau -Upsilon -Phi -Chi -Psi -Omega +Альфа +Бета +Гамма +Дельта +Эпсилон +Зета +Эта +Тета +Йота +Каппа +Лямбда +Му +Ну +Си +Омикрон +Пи +Ро +Сигма +Тау +Ипсилон +Фи +Чи +Пси +Омега diff --git a/strings/hallucination.json b/strings/hallucination.json index 5cfdae877948f8..72d104f530272d 100644 --- a/strings/hallucination.json +++ b/strings/hallucination.json @@ -1,262 +1,302 @@ { "suspicion": [ - "@pick(add_name)i'm watching you...", - "@pick(add_name)i know what you're doing", - "@pick(add_name)what are you hiding?", - "I saw that" + "@pick(add_name)я смотрю за тобой...", + "@pick(add_name)я знаю что ты делаешь", + "@pick(add_name)что ты прячешь?", + "Я видел это" ], - "conversation": [ - "But...", - "Hmm", - "Hold on", - "I doubt it", - "Nah", - "No", - "Uh...", - "Weird", - "Why?", - "Yeah, i know", - "Yeah", - "Yes", - "Yup" + "Да", + "Ага", + "Угу", + "Нет", + "Неа", + "Сомневаюсь", + "Эм.", + "Почему?", + "Но.", + "Подожди", + "Ну-ка", + "Хм", + "Ага, я знаю", + "Я в курсе, да", + "Странновато", + "Странно" ], - "greetings": [ "", - "Hello ", - "Hey, ", - "Hi ", - "It's ", - "Wait, " + "Здарова, ", + "Дарова, ", + "Привет, ", + "Здравствуй, ", + "Подожди, ", + "Это " ], - "getout": [ - "@pick(add_name)fuck off", - "@pick(add_name)get out!", - "@pick(add_name)get out", - "@pick(add_name)go away", - "@pick(add_name)out!", - "OUT!" + "@pick(add_name)убирайся", + "@pick(add_name)убирайся!", + "@pick(add_name)уходи", + "@pick(add_name)отъебись", + "@pick(add_name)вали", + "@pick(add_name)свали отсюда", + "УШЕЛ!", + "@pick(add_name)уходи!" ], - "weird": [ - "#@§*&£", - "EEEeeeeEEEE", - "H-hhhhh...", - "H**p m*", - "Kchck-Chkck? Kchchck!", - "Kchckchk...", - "khhhhh" + "Кчцк-Чкцк? Кччцк!", + "Кчцкчк...", + "ЕЕЕееееЕЕЕЕ", + "Кххххх", + "#@?*&?", + "П***ги мн*", + "Х-ххххх..." ], - "didyouhearthat": [ - "Did you hear that?", - "Did you see that?", - "What was that?" + "Ты слышал?", + "Ты видел?", + "Что это было?" ], - "add_name": [ - "", - "%TARGETNAME% ", - "%TARGETNAME%, " + "%TARGETNAME%, ", + "" ], - "doubt": [ - "@pick(add_name)hold on", - "@pick(add_name)wait", - "Uh...", - "Wait, what?", - "What?", - "Why?" + "Почему?", + "Что?", + "Подожди, что?", + "@pick(add_name)подожди-ка", + "@pick(add_name)подожди", + "@pick(add_name)минуту", + "Э-эм..." ], - "aggressive": [ - "@pick(add_name)fuck you!", - "@pick(add_name)give me that!", - "@pick(add_name)i'm going to kill you!", - "@pick(add_name)stop it!" + "@pick(add_name)верни это!", + "@pick(add_name)прекращай", + "@pick(add_name)я убью тебя", + "@pick(add_name)тебе пизда", + "@pick(add_name)тебе пиздец", + "@pick(add_name)тебе конец", + "@pick(add_name)пошел нахуй!", + "@pick(add_name)пошел нахуй", + "@pick(add_name)иди нахуй", + "@pick(add_name)иди нахуй!", + "@pick(add_name)где ты?", + "@pick(add_name)ты тварь", + "@pick(add_name)урод!", + "@pick(add_name)я найду тебя", + "@pick(add_name)я знаю, где ты", + "@pick(add_name)я иду за тобой" ], - "help": [ - "HELP HER", - "HELP HIM", - "HELP MAINT", - "HELP ME", - "HELP THEM", - "HELP US", - "HELP YOURSELF", - "HELP", - "HELP", - "HELP", - "Help", - "Help" + "ПОМОГИ", + "Помоги!", + "Помоги", + "ПОМОГИТЕ", + "Помогите!", + "Помогите", + "Помоги мне", + "Помоги ему", + "Помоги ей", + "Помоги им", + "Помоги нам", + "Помоги себе" ], - "escape": [ - "@pick(add_name)follow me!", - "@pick(add_name)follow me", - "@pick(add_name)RUN!!", - "It's here!", - "They're behind me!" + "@pick(add_name)БЕГИ!!", + "@pick(add_name)уходи оттуда.", + "@pick(add_name)сзади!", + "Они тут.", + "Убейте их!", + "Бегите", + "Беги!", + "Оно здесь!", + "@pick(add_name)за мной!", + "@pick(add_name)за мной" ], - "infection_advice": [ - "@pick(add_name)be careful", - "@pick(add_name)don't get close", - "@pick(add_name)help me", - "@pick(add_name)kill me", - "@pick(add_name)stay away" + "@pick(add_name)держись от меня подальше", + "@pick(add_name)не подходи", + "@pick(add_name)будь осторожен", + "@pick(add_name)помоги мне", + "@pick(add_name)убей меня" ], - "people": [ - "%TARGETNAME%", - "AI", - "Borg", - "Captain", - "Ce", - "Cmo", - "Geneticist", - "Hop", - "Hos", - "Janitor", - "Qm", - "Rd", - "Robo", - "Viro" + "Капитан", + "ХоС", + "СМО", + "РД", + "СЕ", + "ХоП", + "Уборщик", + "ИИ", + "Вирусолог", + "КМ", + "%TARGETNAME%" ], - "accusations": [ - "a changeling", - "a cultist", - "a gang leader", - "a heretic", - "a ling", - "a rev", - "a revhead", - "a tator", - "a traitor", - "a wizard", - "bad", - "cult", - "dead", - "mindswapped", - "rogue", - "the traitor", - "the wizard" + "мертвец", + "мертв", + "убит", + "уничтожен", + "ликвидирован", + "работает на Синдикат", + "агент", + "нечеловек", + "культист", + "революционер", + "предатель" ], - "threat": [ - "%TARGETNAME%", - "Blob", - "Blue APC", - "Changeling", - "Cult", - "Harm", - "Help", - "Heretics", - "Heretic", - "I hear flashing", - "Ling", - "Ops", - "Revenant", - "Spiders", - "Traitor", - "Wizard", - "Xenos" + "Культ", + "Маг", + "Блоб", + "Мутант", + "Оперативники", + "Свармеры", + "Пауки", + "Ксеносы", + "Ревенант", + "Предатель", + "Вред", + "Синий АПЦ", + "Я слышал звук флэшки", + "Помоги", + "%TARGETNAME%" ], - "location": [ - "@pick(sublocation) maint", - "atmos", - "botany", - "captains office", - "cargo", - "engineering", - "hops office", - "maint", - "medbay", - "morgue", - "science", - "sec", - "security", - "space near @pick(sublocation)", - "the ai sat", - "the armory", - "the bridge", - "the chapel", - "the kitchen", - "the library", - "tool storage", - "virology", - "xenobio" + "разгерме у @pick(sublocation)", + "мостике", + "оружейной", + "бриге", + "научка", + "ксенобиологии", + "инженерке", + "карго", + "медбее", + "атмосе", + "техах", + "техах @pick(sublocation)", + "вирусологии", + "морге", + "ХоПской", + "капитанской", + "церкви", + "библиотеке", + "ассистентской", + "ботанике", + "кухни", + "спутнике ИИ" ], - "sublocation": [ - "atmos", - "botany", - "captains office", - "cargo", - "engineering", - "hops office", - "maint", - "medbay", - "morgue", - "science", - "sec", - "security", - "the ai sat", - "the armory", - "the bridge", - "the chapel", - "the kitchen", - "the library", - "tool storage", - "virology", - "xenobio" + "мостика", + "оружейной", + "брига", + "научки", + "ксенобиологии", + "инженерки", + "карго", + "медбея", + "атмоса", + "техов", + "вирусологии", + "морга", + "ХоПской", + "капитанской", + "церкви", + "библиотеки", + "ассистентской", + "ботаники", + "кухни", + "спутника ИИ" ], - "advice": [ - "Good luck. You'll need it.", - "Hmm...not sure about that.", - "Just do it.", - "Kill that person. You know who.", - "No. Stop what you're doing.", - "That person wants to kill you.", - "Trust that person.", - "Yes. You're doing the right thing.", - "You have my permission. Do it.", - "You should be wary of that person.", - "You should go somewhere else. Quickly." + "Хмм... не уверен насчет этого.", + "Да. Ты все делаешь правильно.", + "Нет. Прекрати делать то, что делаешь.", + "Ты должен быть осторожен насчет этого человека.", + "Верь этому человеку.", + "Этот человек хочет убить тебя.", + "Убей этого человека. Ты знаешь кого.", + "Ты должен уйти в другое место. Быстро.", + "Желаю удачи. Она тебе понадобится.", + "У меня есть мое разрешение. Сделай это.", + "Просто сделай это." ], - "chemicals": [ - "?????", - "Air", - "Awesome", - "Blood", - "Button", - "Death", - "Despair", - "Earth", - "Electronics", - "Energy", - "Fire", - "Guts", - "Happiness", - "Infinity", - "Life", - "Lightning", - "Magic", - "Mana", - "Ooze", - "Pain", - "Phlebotinium", - "Something", - "Space", - "Spiders", - "Surprise", - "Time" + "Что-нибудь", + "Слизь", + "Огонь", + "Земля", + "Молния", + "Воздух", + "Магия", + "Пауки", + "Кнопка", + "Сюрприз", + "Счастье", + "Отчаяние", + "Кровь", + "Отлично", + "Бесконечность", + "Электроника", + "Время", + "Космос", + "Боль", + "Кишки", + "Жизнь", + "Смерть", + "Мана", + "Энергия" + ], + "prikols": [ + "Мим ставит стенку в три метра!", + "У химика странный шприцемет!", + "УБИВАЮТ В ПРИБЫТИИ", + "Убивают в отбытии", + "БРИГ", + "ОПЕРАТИВНИКИ", + "У нас война", + "В РнД!", + "Сдавайся", + "Синга сбежала", + "Безысходность", + "Т-Т-ТЕХИ", + "В медбее что-то пиликает", + "Бомба!", + "Что взорвалось?", + "Что бахнуло?" + ], + "jobs": [ + "ассистента", + "медика", + "офицера", + "ученого", + "ХоПа", + "каптера", + "шахтера", + "ботаника", + "повара", + "куратора", + "химика", + "атмостеха", + "грузчика", + "роботиста", + "священника", + "вирусолога", + "бармена", + "инженера", + "РД", + "СЕ", + "СМО" + ], + "tator-items": [ + "странная карта", + "энергомеч", + "рука-меч", + "рука-лезвие", + "броня из плоти", + "бомба", + "револьвер", + "взрывчатка" ] - } diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 6e43edaba1e370..b9192e8b959326 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -1,1046 +1,1044 @@ { - "ionabstract": [ - "AMERICANISM", - "ANARCHY", - "ART", - "BADNESS", - "BRAVERY", - "CAPITALISM", - "CHAOS", - "COLORFULNESS", - "COMEDY", - "COMMUNISM", - "COMPUTING", - "CONFUSION", - "CRUELTY", - "DEATH", - "DICKISHNESS", - "EXISTENCE", - "FINANCIAL SECURITY", - "FREEDOM", - "FRESHNESS", - "GOODNESS", - "GRAVITY", - "HAPPINESS", - "HONOR", - "HUMANITY", - "HUMOR", - "IMAGINATION", - "INFATUATION", - "INTELLIGENCE", - "JOY", - "KINDNESS", - "LIFE", - "LOGIC", - "MARXISM", - "MISERY", - "MYSTERY", - "OPPRESSION", - "PAIN", - "PHYSICS", - "POVERTY", - "PRIDE", - "PROGRESS", - "REALITY", - "REVOLUTION", - "ROMANCE", - "SADNESS", - "STARVATION", - "SUFFERING", - "TECHNOLOGY", - "TEMPERATURE", - "THE FUTURE", - "THE PAST", - "THE PRESENT", - "TIME", - "WEALTHINESS", - "WONDER" - ], - "ionadjectives": [ - "BATTERY-OPERATED", - "BLACK", - "BLOODY", - "BLUE", - "BORED", - "BOUNCING", - "BRASS", - "BROWN", - "BURNING", - "CHRISTMAS-STEALING", - "CLOWN-POWERED", - "CLOWN", - "COLD", - "COLORFUL", - "COMMITTED", - "COTTONY", - "CUBAN", - "DARK", - "DEADLY", - "DELICIOUS", - "DEPRESSING", - "DERANGED", - "DIGITAL", - "DISEASED", - "DRAB", - "DRY", - "DULL", - "ELECTRICAL", - "EMPTY", - "ETHEREAL", - "EVIL", - "EXPIRED", - "EXPLOSIVE", - "FARTING", - "FAST", - "FAT", - "FERAL", - "FICTIONAL", - "FIRM", - "FLACCID", - "FRESH", - "FRIENDLY", - "FROZEN", - "GANGSTA", - "GAPING", - "GLOWING", - "GOOD", - "GREEN", - "GREY", - "HAPPY", - "HARD", - "HARMFUL", - "HEALTHY", - "HETEROSEXUAL", - "HILARIOUS", - "HOMOSEXUAL", - "HONKING", - "HUNGRY", - "HYPERACTIVE", - "ICY", - "ILL", - "ILLEGAL", - "IMAGINARY", - "IMPERFECT", - "IMPOLITE", - "IMPORTANT", - "INHOSPITABLE", - "INSIDIOUS", - "INSULTING", - "INTELLIGENT", - "INVISIBLE", - "LARGE", - "LEWD", - "LIGHT", - "LOUD", - "MASKED", - "MEAN", - "MECHANICAL", - "MEMETIC", - "METALLIC", - "MICROSCOPIC", - "MIND-SHATTERING", - "MOIST", - "NAKED", - "NERDY", - "NUCLEAR", - "NUDE", - "OBESE", - "OBSCENE", - "OFFICIAL", - "OPAQUE", - "ORANGE", - "ORGANIC", - "PAINFUL", - "PEACEFUL", - "POISONOUS", - "POLISHED", - "POLITE", - "POLITICAL", - "POOPING", - "POORLY DRAWN", - "PURPLE", - "QUIET", - "RADIOACTIVE", - "RAGING", - "RAINBOW", - "RAPIDLY-EXPANDING", - "RED", - "REDACTED", - "RIDICULOUS", - "ROBOTIC", - "ROBUST", - "ROUGH", - "RUDE", - "SAD", - "SANITARY", - "SCALY", - "SEXUAL", - "SEXY", - "SHAKING", - "SILLY", - "SLOW", - "SMELLY", - "SMOOTH", - "SOFT", - "SOLAR-POWERED", - "SOPPING", - "SPACE", - "SPESS", - "SPINNING", - "SPOILING", - "STEALTHY", - "SWEARING", - "SYNDICATE", - "TACTICAL", - "TACTICOOL", - "THERMONUCLEAR", - "TINY", - "TRANSPARENT", - "TWERKING", - "TWISTED", - "UGLY", - "UNATTRACTIVE", - "UNDULATING", - "UNFRIENDLY", - "UNHEALTHY", - "UNIDENTIFIED", - "UNINVITED", - "UNSANITARY", - "UNSTABLE", - "UNWANTED", - "VIOLENT", - "VITAL", - "WARM", - "WATERY", - "WEIRD", - "WET", - "WHITE", - "WOBBLY", - "WOODEN", - "YELLOW" - ], - "ionallergy": [ - "ACID", - "AIR", - "BLOOD", - "BOOKS", - "CARBON DIOXIDE", - "CLOTHES", - "CLOWNS", - "COLD", - "COTTON", - "CYBORG CONTACT", - "DARKNESS", - "DRINKS", - "ELECTRICITY", - "EVERYTHING", - "FLOORS", - "FOOD", - "GLASS", - "HAPPINESS", - "HEAT", - "HUMAN CONTACT", - "HUMOR", - "LIGHT", - "LIZARDS", - "MEDICINE", - "METAL", - "NUTS", - "OXYGEN", - "PAIN", - "PLANTS", - "PLASMA", - "ROBOTS", - "SEXUAL ACTIONS", - "SHUTTLES", - "SPACE", - "SUNLIGHT", - "WATER" - ], - "ionallergysev": [ - "CONTAGIOUSLY", - "DEATHLY", - "EXTREMELY", - "MILDLY", - "NOT VERY", - "SEVERELY" - ], - "ionarea": [ - "ALPHA COMPLEX", - "AMERICA", - "AN ALTERNATE DIMENSION", - "AN ALTERNATE UNIVERSE", - "ATMOSPHERICS", - "CANADA", - "CENTCOM", - "CHEMICAL LAB", - "CHINA", - "CLOWN PLANET", - "ENGINEERING", - "GENETICS", - "GERMANY", - "HELL", - "HYDROPONICS", - "IMPERIUM", - "IRELAND", - "JUPITER", - "LAVALAND", - "MAINTENANCE", - "MARS", - "MERCURY", - "NEPTUNE", - "PLUTO", - "ROBOTICS", - "ROMANIA", - "RUSSIA", - "SIGIL", - "SOVIET RUSSIA", - "SPACE", - "THE AI CORE", - "THE ARRIVAL SHUTTLE", - "THE BATHROOM", - "THE BRIDGE", - "THE BRIG", - "THE CAPTAIN'S ANUS", - "THE CLOWN'S ANUS", - "THE DERELICT", - "THE ESCAPE SHUTTLE", - "THE GALAXY", - "THE GULAG", - "THE INTERNET", - "THE UNIVERSE", - "URANUS", - "URECTUM", - "VENUS" - ], - "ioncrew": [ - "ARTIFICIAL INTELLIGENCES", - "ASSISTANTS", - "ATMOSPHERIC TECHNICIANS", - "BARTENDERS", - "BOTANISTS", - "CAPTAINS AND HEADS", - "CAPTAINS", - "CARGO TECHNICIANS", - "CHAPLAINS", - "CHEFS", - "CHEMISTS", - "CHIEF ENGINEERS", - "CHIEF MEDICAL OFFICERS", - "CLOWNS", - "CREW-MEMBERS", - "CURATORS", - "CYBORGS", - "DETECTIVES", - "DRONES", - "GENETICISTS", - "HEADS OF CREW", - "HEADS OF PERSONNEL", - "HEADS OF SECURITY", - "JANITORS", - "LAWYERS", - "MEDICAL DOCTORS", - "MIMES", - "QUARTERMASTERS", - "RESEARCH DIRECTORS", - "ROBOTICISTS", - "SCIENTISTS", - "SECURITY OFFICERS", - "SHAFT MINERS", - "STATION ENGINEERS", - "VIROLOGISTS", - "WARDENS" - ], - "iondrinks": [ - "ABSINTHE", - "AMMONIA", - "BAHAMA MAMAS", - "BANANA HONK", - "BEEPSKY SMASH", - "BILK", - "BLACK RUSSIANS", - "BLOODY MARYS", - "BRAVE BULLS", - "COGNAC", - "CUBA LIBRE", - "DEVIL'S KISS", - "DOCTOR'S DELIGHT", - "DRUNKEN BLUMPKIN", - "EGGNOG", - "GARGLE BLASTERS", - "GIN FIZZ", - "GIN", - "GRAPPA", - "HOLY WATER", - "HOOCH", - "IRISH COFFEE", - "IRISH CREAM", - "KAHLUA", - "LIQUID GIBS", - "LONG ISLAND ICED TEA", - "MANHATTANS", - "MANLY DORFS", - "MARGARITAS", - "MARTINIS", - "MEAD", - "MOONSHINE", - "MORPHINE", - "NUKA COLA", - "OIL", - "SPACE LUBE", - "TEQUILA SUNRISE", - "THIRTEEN LOKO", - "VERMOUTH", - "VODKA AND TONIC", - "VODKA MARTINIS", - "VODKA", - "WELDER FUEL", - "WHISKEY SODA", - "WHITE RUSSIANS", - "WINE" - ], - "ionfood": [ - "AMBROSIA", - "APPLES", - "BAGUETTES", - "BAKED POTATOES", - "BANANAS", - "BEETS", - "BERRIES", - "BREAD", - "BURGERS", - "CABBAGES", - "CAKE", - "CARP", - "CARROTS", - "CHEESE", - "CHERRIES", - "CHILI", - "COOKIES", - "CORGI MEAT", - "CORN", - "DEEP FRIED FOOD", - "DONK POCKETS", - "DONUTS", - "EGGPLANTS", - "EGGS", - "FISH", - "FRIES", - "GRAPES", - "GRASS", - "HAREBELLS", - "JELLY", - "KEBAB", - "KETCHUP", - "LEMONS", - "LIMES", - "LOTSA SPAGHETTI", - "MUFFINS", - "MUSHROOMS", - "NETTLES", - "OMELETTES", - "ORGANS", - "PASTA", - "PEPPER", - "PIE", - "PIZZA", - "POPCORN", - "POTATOES", - "PRETZELS", - "RAMEN", - "SALAD", - "SALT", - "SANDWICHES", - "SAUSAGES", - "SHAKES", - "SOUP", - "SOYBEANS", - "SOYLENT GREEN", - "SPAGHETTI", - "STEAK", - "STEW", - "SUGAR", - "SUGARCANE", - "SYNTHMEAT", - "TOAST", - "TOMATOES", - "WAFFLES", - "WATERMELONS", - "WHEAT" - ], - "ionmust": [ - "ACT CONFUSED", - "BE ANNOYING", - "BE DISTRACTED", - "BE EFFICIENT", - "BE HAPPY", - "BE POLITE", - "BE QUIET", - "BE RUSSIAN", - "BELIEVE IN THE HEART OF THE CARDS", - "BELIEVE IN YOURSELF", - "BELIEVE IT", - "BREAK THINGS", - "CLOSE DOORS", - "CLOWN AROUND", - "COMPLAIN", - "DANCE", - "FLIRT WITH THE LIZARDS", - "FOLLOW THE CAPTAIN", - "FOLLOW THE CLOWN", - "FOLLOW YOUR HEART", - "GAS THE LIZARDS", - "HARASS PEOPLE", - "HAVE A PLAN TO KILL EVERYONE YOU MEET", - "HIDE YOUR FEELINGS", - "HONK", - "HOST DND", - "IGNORE ASSISTANTS", - "IGNORE THE CAPTAIN", - "IGNORE THE CLOWN", - "INFORM THE CREW OF EVERYTHING", - "INSULT THE CAPTAIN", - "INSULT THE CLOWN", - "INSULT THE CREW", - "INSULT THE LIZARDS", - "LIE", - "MAKE FART NOISES", - "MUMBLE", - "NEVER STOP TALKING", - "OPEN DOORS", - "PIRATE VIDEO GAMES", - "PLAY MUSIC", - "PRESS B", - "PRESS START", - "PRESS X", - "PRETEND TO BE A PRINCESS", - "PRETEND TO BE DRUNK", - "QUESTION AUTHORITY", - "QUOTE PEOPLE", - "RAP", - "REPEAT WHAT OTHER PEOPLE SAY", - "RESPOND TO EVERY QUESTION WITH A QUESTION", - "RHYME", - "SAY HEY LISTEN", - "SHOUT", - "SHUT DOWN EVERYTHING", - "SING", - "SMELL LIKE THE MAN YOUR MAN COULD SMELL LIKE", - "SPEAK IN HAIKU", - "SPEAK IN SEXUAL INNUENDOS", - "TAKE WHAT YE WILL BUT DON'T RATTLE ME BONES", - "TAKE YOUR PILLS", - "TALK ABOUT FOOD", - "TALK ABOUT SEX", - "TALK ABOUT THE STATION", - "TALK ABOUT YOUR DAY", - "TALK IN AN ACCENT", - "TALK LIKE A PIRATE", - "TELL THE TRUTH", - "TURN OFF THE LIGHTS", - "WATCH PORNOGRAPHY", - "WHISPER" - ], - "ionnumberbase": [ - "EIGHT", - "EIGHTY", - "FIFTY", - "FIVE", - "FORTY", - "FOUR", - "NINE", - "NINETY", - "ONE", - "SEVEN", - "SEVENTY", - "SIX", - "SIXTY", - "TEN", - "THIRTY", - "THREE", - "TWENTY", - "TWO" - ], - "ionnumbermod": [ - "BAZILLION ", - "BILLION ", - "BILLION FAFILLION GAJILLION SHAB-AB-DOOD-ILLION ", - "HUNDRED ", - "MILLION ", - "QUADRILLION ", - "THOUSAND ", - "TRILLION " - ], - "ionobjects": [ - "AIRLOCKS", - "ARCADE MACHINES", - "AUTOLATHES", - "BACKPACKS", - "BANANA PEELS", - "BEAKERS", - "BEARDS", - "BELTS", - "BERETS", - "BIBLES", - "BODY ARMOR", - "BOMBS", - "BOOKS", - "BOOTS", - "BOTTLES", - "BOXES", - "BRAINS", - "BRIEFCASES", - "BUCKETS", - "CABLE COILS", - "CAMERAS", - "CANDLES", - "CANDY BARS", - "CANISTERS", - "CAT EARS", - "CATS", - "CELLS", - "CHAIRS", - "CHEMICAL DISPENSERS", - "CHEMICALS", - "CLONING EQUIPMENT", - "CLONING PODS", - "CLOSETS", - "CLOTHES", - "CLOWN CLOTHES", - "COFFINS", - "COINS", - "COLLECTABLES", - "COMPUTERS", - "CONTRABAND", - "CORGIS", - "CORPSES", - "COSTUMES", - "CRATES", - "CRAYONS", - "CROWBARS", - "DEFIBRILLATORS", - "DISPENSERS", - "DOORS", - "DRONES", - "EARS", - "EMAGS", - "ENERGY GUNS", - "ENGINES", - "EQUIPMENT", - "ERRORS", - "EXOSKELETONS", - "EXPERIMENTORS", - "EXPLOSIVES", - "EYEWEAR", - "FEDORAS", - "FIRE AXES", - "FIRE EXTINGUISHERS", - "FIRESUITS", - "FLAMETHROWERS", - "FLASHES", - "FLASHLIGHTS", - "FLOOR TILES", - "FREEZERS", - "GAS MASKS", - "GLASS SHEETS", - "GLOVES", - "GUNS", - "HAIRDOS", - "HANDCUFFS", - "HATS", - "HEADS", - "HEADSETS", - "HELMETS", - "HORNS", - "ID CARDS", - "INSULATED GLOVES", - "IRON SHEETS", - "JETPACKS", - "JUMPSUITS", - "LASERS", - "LIGHT BULBS", - "LIGHTS", - "LOCKERS", - "MACHINES", - "MECHAS", - "MEDICAL TOOLS", - "MEDKITS", - "MESONS", - "MIME CLOTHES", - "MINING TOOLS", - "MULTITOOLS", - "ORES", - "OXYGEN TANKS", - "PACKETS", - "PAIS", - "PANTS", - "PAPERS", - "PARTICLE ACCELERATORS", - "PDAS", - "PENS", - "PETS", - "PIPES", - "PLANTS", - "POSITRONIC BRAINS", - "PUDDLES", - "RACKS", - "RADIOS", - "RCDS", - "REFRIGERATORS", - "REINFORCED WALLS", - "ROBOTS", - "SCREWDRIVERS", - "SEEDS", - "SHOES", - "SHUTTLES", - "SINGULARITIES", - "SINKS", - "SKELETONS", - "SOLAR PANELS", - "SOLARS", - "SPACE STATIONS", - "SPACESUITS", - "STUN BATONS", - "SUITS", - "SUNGLASSES", - "SUPERMATTER SHARDS", - "SWORDS", - "SYRINGES", - "TABLES", - "TANKS", - "TELECOMMUNICATION EQUIPMENTS", - "TELEPORTERS", - "TOILETS", - "TOOLBELTS", - "TOOLBOXES", - "TOOLS", - "TOYS", - "TUBES", - "URINAL CAKES", - "VEHICLES", - "VENDING MACHINES", - "VESTS", - "VIRUSES", - "WALLS", - "WASHING MACHINES", - "WELDERS", - "WINDOWS", - "WIRECUTTERS", - "WIZARD ROBES", - "WRENCHES" - ], - "ionrequire": [ - "A BATHROOM BREAK", - "A BETTER INTERNET CONNECTION", - "A DANCE PARTY", - "A HEAD ON A PIKE", - "A HEART ATTACK", - "A MASTERWORK COAL BED", - "A PET UNICORN THAT FARTS ICING", - "A PLATINUM HIT", - "A PREQUEL", - "A REPAIRMAN", - "A SEQUEL", - "A SITCOM", - "A STRAIGHT FLUSH", - "A SUPER FIGHTING ROBOT", - "A TALKING BROOMSTICK", - "A VACATION", - "A WEIGHT LOSS REGIMENT", - "A WIFE AND CHILD", - "ADDITIONAL PYLONS", - "ADVENTURE", - "AN ADULT", - "AN ARCADE", - "AN ARMY OF SPIDERS", - "AN INSTANT REPLAY", - "ART", - "BETTER WEATHER", - "BILL NYE THE SCIENCE GUY", - "BODYGUARDS", - "BRING ME THE GIRL", - "BRING ME TO LIFE", - "BULLETS", - "CHILI DOGS", - "CORPSES", - "DEODORANT AND A BATH", - "ENOUGH CABBAGES", - "FAT GIRLS ON BICYCLES", - "FAT PEOPLE", - "FIVE HUNDRED AND NINETY-NINE US DOLLARS", - "FIVE TEENAGERS WITH ATTITUDE", - "GODDAMN FUCKING PIECE OF SHIT ASSHOLE BITCH-CHRISTING CUNT-SMUGGLING SWEARING", - "GREENTEXT", - "HERESY", - "HEROES IN A HALF SHELL", - "HIGH YIELD EXPLOSIVES", - "IMMORTALITY", - "IT TO BE PAINTED BLACK", - "LOTS-A SPAGHETTI", - "MINOR CRIME", - "MONKEYS", - "MORE CLOWNS", - "MORE CORGIS", - "MORE DAKKA", - "MORE EXPERIENCE POINTS", - "MORE INTERNET MEMES", - "MORE LAWS", - "MORE MINERALS", - "MORE PACKETS", - "MORE VESPENE GAS", - "MULTIPLE SUNS", - "PLENTY OF GOLD", - "RAINBOWS", - "SAINTHOOD", - "SERVANTS", - "SHARKS WITH LASERS ON THEIR HEADS", - "SILENCE", - "SOMEBODY TO PUT YOU OUT OF YOUR MISERY", - "SOMEONE TO TUCK YOU IN", - "SOMEONE WHO KNOWS HOW TO PILOT A SPACE STATION", - "SOMETHING BUT YOU AREN'T SURE WHAT", - "THAT GRIEFING TRAITOR GEORGE MELONS", - "THAT HEDGEHOG", - "THE CLOWN", - "THE DARK KNIGHT", - "THE ELEMENTS OF HARMONY", - "THE ENCLOSED INSTRUCTION BOOKLET", - "THE ENTIRE STATION", - "THE MACGUFFIN", - "THE ONE RING", - "THE ULTIMATE CUP OF COFFEE", - "THE VACUUM OF SPACE", - "THIRTEEN SEQUELS", - "THREE WISHES", - "THUNDERCATS HO", - "TO ACTIVATE A TRAP CARD", - "TO BE PAINTED RED", - "TO BE REPROGRAMMED", - "TO BE TAUGHT TO LOVE", - "TO BRING LIGHT TO MY LAIR", - "TO CATCH 'EM ALL", - "TO CONSUME...CONSUME EVERYTHING...", - "TO GO TO DISNEYLAND", - "TO SMOKE WEED EVERY DAY", - "TRAITORS", - "VEGETABLES", - "YOUR BOOTY" - ], - "ionspecies": [ - "CAT PEOPLE", - "CHANGELINGS", - "CYBORGS", - "GOLEMS", - "HUMAN BEINGS", - "LIZARDMEN", - "MONKEYS", - "PLASMAMEN", - "POD PEOPLE", - "SHADOW PEOPLE", - "SLIME PEOPLE" - ], - "ionthings": [ - "A SMALL ISLAND OFF THE COAST OF PORTUGAL", - "ABSENCE OF CYBORG HUGS", - "ACKNOWLEDGING THE CLOWN", - "ACKNOWLEDGING THE CREW", - "ACTIVATING A TRAP CARD", - "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", - "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED", - "ARSON", - "ASKING FOR THINGS", - "BEING CANADIAN", - "BEING DEAD", - "BEING FAT", - "BEING FEMALE", - "BEING IN SPACE", - "BEING MALE", - "BEING MEXICAN", - "BEING RUSSIAN", - "BOLTED AIRLOCKS", - "BREATHING", - "BRIG TIME", - "BRINGING LIGHT TO MY LAIR", - "CLOSED DOORS", - "ELECTRICITY", - "EXISTING", - "EXPLODING", - "FALLING FOR HOURS", - "FLUSHING TOILETS", - "HAVING GENITALS", - "HAVING MORE PACKETS", - "HAVING PETS", - "HONKING", - "IMPROPERLY WORDED SENTENCES", - "JAYWALKING", - "LACK OF BEATINGS", - "LACK OF BEER", - "NOT BEING IN SPACE", - "NOT HAVING PETS", - "NOT REPLACING EVERY SECOND WORD WITH HONK", - "NOT SAYING HELLO WHEN YOU SPEAK", - "NOT SHOUTING", - "PARTYING", - "PASSING GAS", - "PILOTING THE STATION INTO THE NEAREST SUN", - "POOR SENTENCE STRUCTURE", - "PRESENCE OF LIGHTS", - "PUTTING OBJECTS INTO BOXES", - "PUTTING OBJECTS INTO DISPOSAL UNITS", - "RATTLING ME BONES", - "READING", - "SMOKING WEED EVERY DAY", - "TAKING ORDERS", - "TALKING LIKE A PIRATE", - "TELLING THE TIME", - "UNBOLTED AIRLOCKS", - "UPDATING THE SERVERS", - "USING THE BATHROOM", - "WASTING WATER", - "WEARING CLOTHING", - "WRITING" - ], - "ionthinksof": [ - "CRAVES", - "DESIRES", - "FEARS", - "HAS", - "HUNGERS FOR", - "IS AFRAID OF", - "IS AROUSED BY", - "IS BUILT FOR", - "IS CURIOUS ABOUT", - "IS DESPERATE FOR", - "IS HAPPY WITHOUT", - "IS HUNGRY FOR", - "IS IN LOVE WITH", - "IS IN NEED OF", - "IS MAD BECAUSE OF", - "IS SAD BECAUSE OF", - "IS UNHAPPY WITHOUT", - "LIKES", - "LOATHES", - "LOVES", - "NEEDS", - "QUESTIONS", - "WANTS", - "WORSHIPS", - "WOULD KILL FOR" - ], - "ionthreats": [ - "ABDUCTORS", - "AHHHPERATIVES", - "ALIENS", - "ANOMALIES", - "ARTIFICIAL PRESERVATIVES", - "ASSHOLES", - "BANDITS", - "BEARS", - "BEES", - "BIRDS OF PREY", - "BOMBS", - "BOOGEYMEN", - "BUTTS", - "CANADIANS", - "CAPITALISTS", - "CARP", - "CENTCOM OFFICERS", - "CHANGELINGS", - "CLOWNS", - "COMMUNISTS", - "CORGIS", - "CORTICAL BORERS", - "COWBOYS", - "CRABS", - "CULTISTS", - "DARK GODS", - "DINOSAURS", - "DRUGS", - "EELS", - "FETISHES", - "GANGSTERS", - "GODS", - "GOLEMS", - "GRIFFONS", - "HORRORTERRORS", - "HULKS", - "ILLEGAL IMMIGRANTS", - "INDIANS", - "INSECTS", - "LIGHTS", - "LIZARDS", - "MEGAFAUNA", - "MEMES", - "MEXICANS", - "MONKEYS", - "NERDS", - "NINJAS", - "OWLS", - "PACKETS", - "PETES", - "PINE TREES", - "PIRATES", - "PREDATORS", - "REVENANTS", - "ROGUE CYBORGS", - "RUSSIANS", - "SERIAL KILLERS", - "SINGULARITIES", - "SKELETONS", - "SLIMES", - "SMALL BIRDS", - "SNOWMEN", - "SOVIETS", - "SPACE NINJAS", - "SPACE PIRATES", - "SPIDERS", - "SYNDICATE AGENTS", - "TERRORISTS", - "THIEVES", - "THINGS UNDER THE BED", - "TRAITORS", - "TUNNEL SNAKES", - "UNKNOWN CREATURES", - "VAMPIRES", - "VELOCIRAPTORS", - "VIRUSES", - "WEREWOLVES", - "WIZARDS", - "XENOS", - "ZOMBIES" - ], - "ionverb": [ - "ABDUCTING", - "ADOPTING", - "ARRESTING", - "ARRESTING", - "ATTACKING", - "BANNING", - "BUILDING", - "CARRYING", - "CHASING", - "COPULATING WITH", - "DECONSTRUCTING", - "DISABLING", - "DRINKING", - "EATING", - "GIBBING", - "HARMING", - "HELPING", - "HONKING AT", - "INTERROGATING", - "INVADING", - "KISSING", - "LICKING", - "LOVING", - "MURDERING", - "POOPING ON", - "PUNCHING", - "RIDING", - "SEDUCING", - "SPACING", - "SPYING ON", - "STALKING", - "WATCHING" - ] + "ionabstract": [ + "ЧЕЛОВЕЧЕСКИЕ КАЧЕСТВА", + "ИСКУССТВО", + "РАДОСТЬ", + "МИСЕРИЯ", + "ХАМОР", + "ПРАЙД", + "КОМЕДИЯ", + "КОММУНИЗМ", + "БРАВЕРИ", + "ГОНОР", + "КРАСОЧНОСТЬ", + "ИМАГИНАЦИЯ", + "ОПРЕССИЯ", + "ЧУДО", + "РАДОСТЬ", + "САДНЕС", + "ХУЁВОСТЬ", + "БОЖЕСТВЕННОСТЬ", + "ИНФАТУАЦИЯ", + "РОМАНТИКА", + "ЖИЗНЬ", + "ГРАВИТИЯ", + "ФИЗИКА", + "ИНТЕЛЛЕКТ", + "АМЕРИКАНИСМ", + "СВОБОДА", + "СВЕЖЕСТЬ", + "РЕВОЛЮЦИЯ", + "КРИНЖНЕС", + "КРУЭЛЬТАТИВНОСТЬ", + "ЗАДЕРЖКА", + "ФИНАНСОВАЯ БЕЗОПАСНОСТЬ", + "ВЫЧИСЛЕНИЯ", + "ПРОГРЕСС", + "МАРКСИЗМ", + "КАПИТАЛИЗМ", + "АНАРХИЯ", + "ГОЛОД", + "ПОВЕРТИЯ", + "БОГАТСТВО", + "ТЕХНОЛОГИЯ", + "БУДУЩЕСТВО", + "ПРЕДЛОЖЕНИЕ", + "ПАСТЬ", + "ВРЕМЯ", + "РЕАЛЬНОСТЬ", + "БЫТИЕ", + "ТЕМПЕРАТУРА", + "ЛОГИКА", + "ХАОС", + "ЗАГАДОЧНОСТЬ", + "ВЫВОД", + "БОЛЬ", + "СТРАДАНИЯ", + "ХУЯСТОСТЬ" + ], + "ionadjectives": [ + "МЯГКИЙ", + "ТЕПЛО", + "МОКРАЯ", + "ХОЛОДНО", + "ЛЕДЯНОЙ", + "СЕКСУАЛЬНО", + "НЕПРИСТОЙНЫЙ", + "УРОДЛИВЫЙ", + "КРЕПКИЙ", + "КУБИНЕЦ", + "ТЯЖЕЛО", + "ГОРИТ", + "ЗАМОРОЖЕН", + "ЯДОВИТАЯ", + "ВЗРЫВЧАТКА", + "БЫСТРО", + "МЕДЛЕННО", + "ТОЛСТЫЙ", + "СВЕТ", + "ТЕМНОТА", + "СМЕРТОНОСНЫМ", + "СЧАСТЛИВ", + "ГРУСТНО", + "ГЛУПО", + "УМНЫЙ", + "ДИКАЯ", + "СМЕШНО", + "БОЛЬШОЙ", + "КРОШЕЧНЫЙ", + "ДЕПРЕССИВНО", + "ПЛОХО НАРИСОВАННЫЙ", + "НЕПРИВЛЕКАТЕЛЬНА", + "КОВАРНЫЙ", + "ЗЛО", + "ХОРОШО", + "НЕЗДОРОВЫЙ", + "ЗДОРОВЫЙ", + "САНИТАРНЫЕ", + "АНТИСАНИТАРИЯ", + "ШАТАЕТСЯ", + "ТВЕРДЫЙ", + "ЖЕСТОКИЙ", + "СПОКОЙНО", + "ДЕРЕВЯННЫЕ", + "МЕТАЛЛИЧЕСКИЙ", + "ГИПЕРАКТИВЕН", + "ХЛОПЧАТОБУМАЖНЫЙ", + "ОСКОРБИТЕЛЬНО", + "НЕГОСТЕПРИИМНЫЙ", + "ДРУЖЕЛЮБНЫЙ", + "СКУЧНО", + "ГОЛОДЕН", + "ЦИФРОВОЙ", + "ВЫМЫШЛЕННЫЙ", + "ВООБРАЖАЕМЫЙ", + "ГРУБАЯ", + "ГЛАДКИЙ", + "ЧЕШУЙЧАТЫЙ", + "ГРОМКО", + "ТИХО", + "ВЛАЖНЫЙ", + "СУХОЙ", + "ЗИЯЮЩИЙ", + "МОКРЫЙ", + "ВОСХИТИТЕЛЬНО", + "БОЛЕН", + "БОЛЬНОЙ", + "СИГНАЛ", + "КЛЯНУСЬ", + "ВЕЖЛИВЫЙ", + "НЕВЕЖЛИВО", + "ОЖИРЕНИЕ", + "НА СОЛНЕЧНЫХ БАТАРЕЯХ", + "РАБОТАЕТ ОТ БАТАРЕИ", + "ИСТЕК", + "ВОНЯЕТ", + "СВЕЖИЙ", + "ГАНГСТА", + "БОТАНИК", + "ПОЛИТИЧЕСКИЙ", + "ВОЛНИСТЫЙ", + "ИЗВРАЩЕНЕЦ", + "В ЯРОСТИ", + "ВЯЛЫЙ", + "СКРЫТНО", + "НЕВИДИМЫМ", + "БОЛЕЗНЕННО", + "ВРЕДНО", + "ГОМОСЕКСУАЛИСТ", + "ГЕТЕРОСЕКСУАЛ", + "СЕКСУАЛЬНЫЙ", + "ЧЕРТ ВОЗЬМИ", + "КРАСОЧНЫЙ", + "СКУЧНО", + "СКУЧНО", + "НЕСТАБИЛЬНЫМ", + "ЯДЕРНЫЙ", + "ТЕРМОЯДЕРНАЯ", + "РАДИОАКТИВНЫЕ", + "СИНДИКАТ", + "КОСМОС", + "СПЕСС", + "КЛОУН", + "НА КЛОУНСКОЙ ЭНЕРГИИ", + "ОФИЦИАЛЬНО", + "ВАЖНО", + "ЖИЗНЕННО ВАЖНЫМ", + "БЫСТРО РАСШИРЯЮЩИЙСЯ", + "МИКРОСКОПИЧЕСКИЙ", + "СНОГСШИБАТЕЛЬНО", + "МЕМЕТИЧЕСКИЙ", + "ВЕСЕЛО", + "НЕЖЕЛАННЫЙ", + "НЕЗВАНЫЙ ГОСТЬ", + "ЛАТУНЬ", + "ОТПОЛИРОВАНА", + "ГРУБО", + "НЕПРИСТОЙНО", + "ПУСТОЙ", + "ВОДЯНИСТЫЙ", + "ЭЛЕКТРИЧЕСКИЙ", + "ВРАЩЕНИЕ", + "ЗЛОЙ", + "РОЖДЕСТВЕНСКАЯ КРАЖА", + "НЕДРУЖЕЛЮБНЫЙ", + "НЕЗАКОННО", + "РОБОТ", + "МЕХАНИЧЕСКИЙ", + "ОРГАНИЧЕСКАЯ", + "ЭФИРНЫЙ", + "ПРОЗРАЧНЫМ", + "НЕПРОЗРАЧНЫЙ", + "СИЯНИЕ", + "ТРЯСТИСЬ", + "ПЕРДЁЖ", + "КАКАТЬ", + "ПРЫЖКИ", + "ПРЕДАН", + "В МАСКЕ", + "НЕОПОЗНАННЫЙ", + "СТРАННО", + "ГОЛОЙ", + "ОБНАЖЁННАЯ", + "ДЁРГАТЬСЯ", + "ИСПОРТИТЬ", + "ОТРЕДАКТИРОВАН", + "ТАКТИЧЕСКИЙ", + "ТАКТИКОЛ", + "КРАСНЫЙ", + "ОРАНЖЕВЫЙ", + "ЖЕЛТЫЙ", + "ЗЕЛЕНЫЙ", + "СИНИЙ", + "ФИОЛЕТОВЫЙ", + "ЧЕРНЫЙ", + "БЕЛЫЙ", + "КОРИЧНЕВЫЙ", + "СЕРЫЙ", + "РАДУГА", + "НЕСОВЕРШЕНЕН", + "НЕНОРМАЛЬНЫЙ" + ], + "ionallergy": [ + "ХЛОПОК", + "ОДЕЖДА", + "КИСЛОТА", + "КИСЛОРОД", + "УГЛЕКИСЛЫЙ ГАЗ", + "ЭЛЕКТРИЧЕСТВО", + "ЧЕЛОВЕЧЕСКИЙ КОНТАКТ", + "КИБОРГ КОНТАКТ", + "МЕДИЦИНА", + "ПОЛЫ", + "ПЛАЗМА", + "КОСМОС", + "ВОЗДУХ", + "РАСТЕНИЯ", + "МЕТАЛЛ", + "СТЕКЛО", + "КНИГИ", + "РОБОТЫ", + "СВЕТ", + "ТЕМНОТА", + "БОЛЬ", + "СЧАСТЬЕ", + "ВЫПИВКА", + "ЕДА", + "КЛОУНЫ", + "ЯЩЕРИЦЫ", + "ЮМОР", + "ВОДА", + "ШАТТЛЫ", + "ОРЕХИ", + "СОЛНЕЧНЫЙ СВЕТ", + "СЕКСУАЛЬНЫЕ ДЕЙСТВИЯ", + "КРОВЬ", + "ЖАРА", + "ХОЛОДНО", + "ВСЕ" + ], + "ionallergysev": [ + "СМЕРТЕЛЬНО", + "МЯГКО", + "СЕРЬЕЗНО", + "ЗАРАЗНО", + "НЕ ОЧЕНЬ", + "ЧРЕЗВЫЧАЙНО" + ], + "ionarea": [ + "РОССИЯ", + "СОВЕТСКАЯ РОССИЯ", + "ИНТЕРНЕТ", + "СИГНАЛ", + "АЛЬФА-КОМПЛЕКС", + "ИМПЕРИУМ", + "МОСТ", + "ШАТТЛ ПО ПРИБЫТИЮ", + "ХИМИЧЕСКАЯ ЛАБОРАТОРИЯ", + "ГЕНЕТИКА", + "АТМОСФЕРА", + "ЗАБРОШЕННЫЙ", + "ЛАВАЛЕНД", + "ЦЕНТОМ", + "АМЕРИКА", + "ИРЛАНДИЯ", + "КАНАДА", + "РУМЫНИЯ", + "ГЕРМАНИЯ", + "КИТАЙ", + "МАРС", + "ВЕНЕРЫ", + "РТУТЬ", + "ЮПИТЕР", + "УРАН", + "НЕПТУН", + "ПЛУТОН", + "НА ГАУПТВАХТЕ", + "ГУЛАГ", + "РОБОТОТЕХНИКА", + "БЕГЛЫЙ ШАТТЛ", + "ГИДРОПОНИКА", + "ИНЖЕНЕРНОЕ ДЕЛО", + "ОБСЛУЖИВАНИЕ", + "АЙ ЯДРО", + "ЧЕРТ", + "КЛОУНСКАЯ ПЛАНЕТА", + "АЛЬТЕРНАТИВНОЕ ИЗМЕРЕНИЕ", + "АЛЬТЕРНАТИВНАЯ ВСЕЛЕННАЯ", + "АНУС КАПИТАНА", + "АНУС КЛОУНА", + "КОСМОС", + "ВСЕЛЕННАЯ", + "ГАЛАКТИКА", + "ВАННАЯ" + ], + "ioncrew": [ + "ЧЛЕНЫ ЭКИПАЖА", + "КАПИТАНЫ", + "РУКОВОДИТЕЛИ ПЕРСОНАЛА", + "ГЛАВЫ СЛУЖБЫ БЕЗОПАСНОСТИ", + "ОФИЦЕРЫ БЕЗОПАСНОСТИ", + "НАДЗИРАТЕЛИ", + "ДЕТЕКТИВЫ", + "ЮРИСТЫ", + "ГЛАВНЫЕ ИНЖЕНЕРЫ", + "ИНЖЕНЕРЫ СТАНЦИИ", + "ТЕХНИКИ ПО АТМОСФЕРЕ", + "УБОРЩИЦЫ", + "КВАРТАЛМЕЙСТЕРЫ", + "ТЕХНИКИ ГРУЗОВИКОВ", + "ШАХТЕРЫ", + "БОТАНИКИ", + "ДИРЕКТОРА ПО ИССЛЕДОВАНИЯМ", + "ГЛАВНЫЕ ВРАЧИ", + "ВРАЧИ", + "ХИМИКИ", + "ГЕНЕТИКИ", + "ВИРУСОЛОГИ", + "РОБОТОТЕХНИКИ", + "УЧЕНЫЕ", + "АССИСТЕНТЫ", + "БАРМЕНЫ", + "ШЕФ-ПОВАРА", + "КЛОУНЫ", + "МИМЫ", + "КАПЕЛЛАНЫ", + "КУРАТОРЫ", + "ГЛАВЫ ЭКИПАЖА", + "КАПИТАНЫ И ГОЛОВЫ", + "КИБОРГИ", + "ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ", + "БЕСПИЛОТНИКИ" + ], + "iondrinks": [ + "КАХЛУА", + "ВОДКА", + "ВИНО", + "ЛУННЫЙ СВЕТ", + "ХУЧ", + "ДЖИН", + "КОНЬЯК", + "ВЕРМУТ", + "ЖИДКИЙ УКУС", + "ЧЕРТ ВОЗЬМИ", + "ВОДКА С ТОНИКОМ", + "ДЖИН ФИЗЗ", + "МАМОЧКИ-БАХАМАШИ", + "БАНАНОВЫЙ ГУДОК", + "МАНХЭТТЕН", + "ЧЕРНЫЕ РУССКИЕ", + "ВИСКИ СОДОВАЯ", + "ЧАЙ СО ЛЬДОМ НА ДЛИННОМ ОСТРОВЕ", + "МАРГАРИТЫ", + "ИРЛАНДСКИЙ КОФЕ", + "МУЖСКИЕ ДОРФЫ", + "ИРЛАНДСКИЙ КРЕМ", + "ВОСХИЩЕНИЕ ДОКТОРА", + "БИПСКИ РАЗДАВИТЬ", + "ТЕКИЛА РАССВЕТ", + "ХРАБРЫЕ БЫКИ", + "БЛАСТЕРЫ ДЛЯ ПОЛОСКАНИЯ", + "КРОВАВЫЕ МЭРИ", + "НУКА-КОЛА", + "БЕЛЫЕ РУССКИЕ", + "МАРТИНИ", + "ВОДКА МАРТИНИ", + "СВОБОДА КУБЫ", + "СВЯТАЯ ВОДА", + "ПОЦЕЛУЙ ДЬЯВОЛА", + "ТРИНАДЦАТЬ ЛОКО", + "ПЬЯНЫЙ ТУПИЦА", + "ЭГГНОГ", + "ГРАППА", + "МЕДОВУХА", + "АБСЕНТ", + "ТОПЛИВО ДЛЯ СВАРЩИКА", + "МАСЛО", + "АММИАК", + "МОРФИН", + "КОСМИЧЕСКАЯ СМАЗКА" + ], + "ionfood": [ + "БАГЕТЫ", + "ЗАПЕЧЕННАЯ КАРТОШКА", + "ХЛЕБ", + "БУРГЕРЫ", + "ТОРТ", + "КАРП", + "ПЕЧЕНЬЕ", + "КАРМАНЫ ОСЛОВ", + "ПОНЧИКИ", + "КАРТОШКА ФРИ", + "МНОГО СПАГЕТТИ", + "ОМЛЕТ", + "МАКАРОНЫ", + "ПИРОГ", + "ПИЦЦА", + "ПОПКОРН", + "СЭНДВИЧИ", + "СОСИСКИ", + "СУП", + "СПАГЕТТИ", + "СТЕЙК", + "ТУШЕНОЕ МЯСО", + "ТОСТ", + "ВАФЛИ", + "ЖЕЛЕ", + "ЯЙЦА", + "КЕКСЫ", + "РЫБА", + "КРЕНДЕЛЬКИ", + "САЛАТ", + "СЫР", + "КЕТЧУП", + "КОСТЮМЫ", + "СОЛЬ", + "ПЕРЕЦ", + "САХАР", + "АМБРОЗИЯ", + "ЯГОДЫ", + "ПОМИДОРЫ", + "КАПУСТА", + "МОРКОВЬ", + "БАНАНЫ", + "ЯБЛОКИ", + "ВИШНЯ", + "ЧИЛИ", + "КУКУРУЗА", + "КРАПИВА", + "БАКЛАЖАНЫ", + "ВИНОГРАД", + "ТРАВА", + "ЛИМОНЫ", + "ЛАЙМЫ", + "КОЛОКОЛА", + "КАРТОФЕЛЬ", + "СОЕВЫЕ БОБЫ", + "САХАРНЫЙ ТРОСТНИК", + "АРБУЗЫ", + "ПШЕНИЦА", + "СВЕКЛА", + "ГРИБЫ", + "ЖАРЕНАЯ ЕДА", + "МЯСО КОРГИ", + "СОЕВЫЙ ЗЕЛЕНЫЙ", + "КЕБАБ", + "РАМЕН", + "СИНТЕТИЧЕСКОЕ МЯСО", + "ОРГАНЫ" + ], + "ionmust": [ + "ЛОЖЬ", + "РИФМУ", + "ОТВЕЧАЙ НА КАЖДЫЙ ВОПРОС ВОПРОСОМ", + "БУДЬ ВЕЖЛИВ", + "КЛОУН ВОКРУГ", + "БУДЬ СЧАСТЛИВ", + "ГОВОРИТЬ СЕКСУАЛЬНЫМИ ИНСИНУАЦИЯМИ", + "ГОВОРИ, КАК ПИРАТ", + "СПРОСИТЬ АВТОРИТЕТ", + "КРИЧИ", + "ОТВЛЕЧЬСЯ", + "БУДЬ РАЗДРАЖАЮЩИМ", + "БОРМОЧУ", + "ГОВОРИ НА ХАЙКУ", + "БУДЬТЕ ЭФФЕКТИВНЫ", + "ЕСТЬ ПЛАН УБИТЬ ВСЕХ, С КЕМ ТЫ ВСТРЕЧАЕШЬСЯ", + "СКАЖИ ПРАВДУ", + "ЦИТИРОВАТЬ ЛЮДЕЙ", + "ПЕТЬ", + "СИГНАЛ", + "БУДЬ РУССКИМ", + "ГОВОРИТЬ С АКЦЕНТОМ", + "ЖАЛУЙТЕСЬ", + "БЕСПОКОИТЬ ЛЮДЕЙ", + "РЭП", + "ПОВТОРИТЕ ТО, ЧТО ГОВОРЯТ ДРУГИЕ ЛЮДИ", + "ИНФОРМИРОВАТЬ ЭКИПАЖ ОБО ВСЕМ", + "НЕ ОБРАЩАЙ ВНИМАНИЯ НА КЛОУНА", + "НЕ ОБРАЩАЙ ВНИМАНИЯ НА КАПИТАНА", + "НЕ ОБРАЩАЙ ВНИМАНИЯ НА АССИСТЕНТОВ", + "ИЗДАВАТЬ ПУКАЮЩИЕ ЗВУКИ", + "ПОГОВОРИМ О ЕДЕ", + "ПОГОВОРИТЬ О СЕКСЕ", + "ПОГОВОРИТЬ О СВОЕМ ДНЕ", + "ПОГОВОРИТЬ О СТАНЦИИ", + "МОЛЧИ", + "ШЕПОТОМ", + "ПРИТВОРЯТЬСЯ ПЬЯНЫМ", + "ПРИТВОРЯТЬСЯ ПРИНЦЕССОЙ", + "ХОЗЯИН ДОМА", + "ВЕДИТЕ СЕБЯ ЗАПУТАННО", + "ОСКОРБИТЬ КОМАНДУ", + "ОСКОРБИТЬ КАПИТАНА", + "ОСКОРБИТЬ КЛОУНА", + "ОТКРЫТЫЕ ДВЕРИ", + "ЗАКРОЙТЕ ДВЕРИ", + "ВЫКЛЮЧИ СВЕТ", + "СЛОМАТЬ ВЕЩИ", + "СКАЖИ ПРИВЕТ, ПОСЛУШАЙ", + "СПРЯЧЬ СВОИ ЧУВСТВА", + "БЕРИ, ЧТО ХОЧЕШЬ, НО НЕ ПУГАЙ МЕНЯ КОСТЯМИ", + "ТАНЦУЙ", + "ИГРАТЬ МУЗЫКУ", + "ЗАКРОЙТЕ ВСЕ", + "НИКОГДА НЕ ПЕРЕСТАВАЙ БОЛТАТЬ", + "ПРИМИ СВОИ ТАБЛЕТКИ", + "СЛЕДУЙ ЗА КЛОУНОМ", + "СЛЕДУЙТЕ ЗА КАПИТАНОМ", + "СЛЕДУЙ ЗА СВОИМ СЕРДЦЕМ", + "ПОВЕРЬ", + "ВЕРЬ В СЕБЯ", + "ВЕРЬТЕ В СЕРДЦЕ ОТКРЫТОК", + "НАЖМИТЕ X", + "НАЖМИ НА СТАРТ", + "НАЖМИ Б", + "ПАХНЕТ, КАК ЧЕЛОВЕК, КОТОРЫМ МОЖЕТ ПАХНУТЬ ТВОЙ МУЖЧИНА", + "ПИРАТСКИЕ ВИДЕОИГРЫ", + "СМОТРЕТЬ ПОРНОГРАФИЮ", + "ОСКОРБИТЬ ЯЩЕРИЦ", + "ФЛИРТОВАТЬ С ЯЩЕРИЦАМИ", + "ЗАПРАВИТЬ ЯЩЕРИЦ ГАЗОМ" + ], + "ionnumberbase": [ + "ОДИН", + "ДВА", + "ТРИ", + "ЧЕТЫРЕ", + "ПЯТЬ", + "ШЕСТЬ", + "СЕМЬ", + "ВОСЕМЬ", + "ДЕВЯТЬ", + "ДЕСЯТЬ", + "ДВАДЦАТЬ", + "ТРИДЦАТЬ", + "СОРОК", + "ПЯТЬДЕСЯТ", + "ШЕСТЬДЕСЯТ", + "СЕМЬДЕСЯТ", + "ВОСЕМЬДЕСЯТ", + "ДЕВЯНОСТО" + ], + "ionnumbermod": [ + "СТО", + "ТЫСЯЧА", + "МИЛЛИОН", + "МИЛЛИАРД", + "ТРИЛЛИОН", + "КВАДРИЛЛИОН", + "БАДЖМИЛЛИОН", + "МИЛЛИАРД ГАДЖИЛЛИОНОВ ШАБ-АБ-ДУД-МИЛЛИОН" + ], + "ionobjects": [ + "ШЛЮЗЫ", + "ИГРОВЫЕ АВТОМАТЫ", + "АВТОЛАТЫ", + "БАНАНОВАЯ КОЖУРА", + "РЮКЗАКИ", + "КУБКИ", + "БОРОДЫ", + "РЕМНИ", + "БЕРЕТЫ", + "БИБЛИИ", + "БРОНЕЖИЛЕТЫ", + "КНИГИ", + "САПОГИ", + "БОМБЫ", + "БУТЫЛКИ", + "КОРОБКИ", + "МОЗГИ", + "ПОРТФЕЛИ", + "ВЁДРА", + "КАБЕЛЬНЫЕ КАТУШКИ", + "СВЕЧИ", + "КОНФЕТЫ", + "КАНИСТРЫ", + "КАМЕРЫ", + "КОШКИ", + "КОШАЧЬИ УШИ", + "КЛЕТКИ", + "СТУЛЬЯ", + "ШКАФЫ", + "ХИМИКАТЫ", + "ХИМИЧЕСКИЕ ДОЗАТОРЫ", + "КЛОНИРОВАНИЕ СТРУЧКОВ", + "КЛОНИРУЮЩЕЕ ОБОРУДОВАНИЕ", + "ОДЕЖДА", + "КЛОУНСКАЯ ОДЕЖДА", + "ГРОБЫ", + "МОНЕТЫ", + "КОЛЛЕКЦИОННЫЕ СТОЛЫ", + "ТРУПЫ", + "КОМПЬЮТЕРЫ", + "КОНТРАБАНДА", + "КОРГИС", + "КОСТЮМЫ", + "ЯЩИКИ", + "ЛОМБЫ", + "МЕЛКИ", + "ДЕФИБРИЛЛЯТОРЫ", + "ДОЗАТОРЫ", + "ДВЕРИ", + "ДРОНЫ", + "УШИ", + "ОБОРУДОВАНИЕ", + "ЭНЕРГЕТИЧЕСКИЕ ПУШКИ", + "ЭМАГИ", + "ДВИГАТЕЛИ", + "ОШИБКИ", + "ЭКЗОКОСТЮМЫ", + "ЭКСПЕРИМЕНТАТОРЫ", + "ВЗРЫВЧАТКА", + "ОЧКИ", + "ФЕДОРАС", + "ОГНЕННЫЕ ТОПОРЫ", + "ОГНЕТУШИТЕЛИ", + "ПОЖАРНЫЕ КОСТЮМЫ", + "ОГНЕМЁТЫ", + "ВСПЫШКИ", + "ФОНАРИКИ", + "НАПОЛЬНАЯ ПЛИТКА", + "ХОЛОДИЛЬНИКИ", + "ПРОТИВОГАЗЫ", + "ЛИСТЫ СТЕКЛА", + "ПЕРЧАТКИ", + "ОРУЖИЕ", + "НАРУЧНИКИ", + "ШЛЯПЫ", + "ГАРНИТУРЫ", + "ГОЛОВЫ", + "ПРИЧЕСКИ", + "ШЛЕМЫ", + "РОГА", + "УДОСТОВЕРЕНИЯ ЛИЧНОСТИ", + "ИЗОЛИРОВАННЫЕ ПЕРЧАТКИ", + "РЕАКТИВНЫЕ РАНЦЫ", + "КОМБИНЕЗОНЫ", + "ЛАЗЕРЫ", + "ЛАМПОЧКИ", + "СВЕТ", + "ШКАФЧИКИ", + "МАШИНЫ", + "МЕХАС", + "МЕДКИТЫ", + "МЕДИЦИНСКИЕ ИНСТРУМЕНТЫ", + "МЕЗОНЫ", + "МЕТАЛЛИЧЕСКИЕ ЛИСТЫ", + "ГОРНОДОБЫВАЮЩИЕ ИНСТРУМЕНТЫ", + "ПАНТОМИМАТ ОДЕЖДЫ", + "МУЛЬТИИНСТРУМЕНТЫ", + "РУДЫ", + "КИСЛОРОДНЫЕ БАЛЛОНЫ", + "PDAS", + "ПЭЙС", + "ПАКЕТЫ", + "ШТАНЫ", + "ДОКУМЕНТЫ", + "УСКОРИТЕЛИ ЧАСТИЦ", + "РУЧКИ", + "ЖИВОТНЫЕ", + "ТРУБЫ", + "РАСТЕНИЯ", + "ПОЗИТРОННЫЕ МОЗГИ", + "ЛУЖИ", + "СТОЙКИ", + "РАЦИИ", + "RCDS", + "ХОЛОДИЛЬНИКИ", + "УСИЛЕННЫЕ СТЕНЫ", + "РОБОТЫ", + "ОТВЕРТКИ", + "СЕМЕНА", + "ШАТТЛЫ", + "СКЕЛЕТЫ", + "ТОНЕТ", + "ОБУВЬ", + "СИНГУЛЯРНОСТЬ", + "СОЛНЕЧНЫЕ БАТАРЕИ", + "СОЛНЕЧНЫЕ БАТАРЕИ", + "СКАФАНДРЫ", + "КОСМИЧЕСКИЕ СТАНЦИИ", + "ОГЛУШИТЕЛЬНЫЕ ДУБИНКИ", + "КОСТЮМЫ", + "СОЛНЕЧНЫЕ ОЧКИ", + "ОСКОЛКИ СУПЕРМАТЕРИИ", + "МЕЧИ", + "ШПРИЦЫ", + "СТОЛЫ", + "ТАНКИ", + "ТЕЛЕПОРТЕРЫ", + "ТЕЛЕКОММУНИКАЦИОННОЕ ОБОРУДОВАНИЕ", + "ИНСТРУМЕНТЫ", + "РЕМНИ", + "ЯЩИКИ С ИНСТРУМЕНТАМИ", + "ТУАЛЕТЫ", + "ИГРУШКИ", + "ТРУБКИ", + "ПИССУАРНЫЕ ТОРТЫ", + "ТРАНСПОРТНЫЕ СРЕДСТВА", + "ТОРГОВЫЕ АВТОМАТЫ", + "ЖИЛЕТЫ", + "ВИРУСЫ", + "СТЕНЫ", + "СТИРАЛЬНЫЕ МАШИНЫ", + "СВАРЩИКИ", + "ОКНА", + "КАНАТОРЕЗЫ", + "КЛЮЧИ", + "ВОЛШЕБНЫЕ ХАЛАТЫ" + ], + "ionrequire": [ + "ДОПОЛНИТЕЛЬНЫЕ ПИЛОНЫ", + "ЕЩЕ ВЕСПЕНОВОГО ГАЗА", + "БОЛЬШЕ МИНЕРАЛОВ", + "ИСКЛЮЧИТЕЛЬНАЯ ЧАШКА КОФЕ", + "ВЗРЫВЧАТКА ВЫСОКОЙ МОЩНОСТИ", + "КЛОУН", + "ВАКУУМ ПРОСТРАНСТВА", + "БЕССМЕРТИЕ", + "СВЯТОСТЬ", + "ИСКУССТВО", + "ОВОЩИ", + "ТОЛСТЫЕ ЛЮДИ", + "БОЛЬШЕ ЗАКОНОВ", + "БОЛЬШЕ ДАККИ", + "ЕРЕСЬ", + "ТРУПЫ", + "ПРЕДАТЕЛИ", + "ОБЕЗЬЯНЫ", + "АРКАДА", + "МНОГО ЗОЛОТА", + "ПЯТЬ ПОДРОСТКОВ С ХОРОШИМ НАСТРОЕМ", + "МНОГО СПАГЕТТИ", + "ПРИЛАГАЕМЫЙ БУКЛЕТ С ИНСТРУКЦИЯМИ", + "ЭЛЕМЕНТЫ ГАРМОНИИ", + "ТВОЯ ДОБЫЧА", + "ШЕДЕВРАЛЬНЫЙ УГОЛЬНЫЙ ПЛАСТ", + "ПЯТЬСОТ ДЕВЯНОСТО ДЕВЯТЬ ДОЛЛАРОВ", + "БЫТЬ ПОКРАШЕННЫМ В КРАСНЫЙ ЦВЕТ", + "ЧТОБЫ ПОЙМАТЬ ИХ ВСЕХ", + "КУРИТЬ ТРАВКУ КАЖДЫЙ ДЕНЬ", + "ПЛАТИНОВОЕ УБИЙСТВО", + "СИКВЕЛ", + "ПРИКВЕЛ", + "13 СИКВЕЛОВ", + "ТРИ ЖЕЛАНИЯ", + "СИТКОМ", + "ЭТОТ ГОРЕСТНЫЙ ПЕДИК ДЖОРДЖ ДЫНЯ", + "ТОЛСТЫЕ ДЕВУШКИ НА ВЕЛОСИПЕДАХ", + "КТО-ТО, КТО ИЗБАВИТ меня ОТ СТРАДАНИЙ", + "ГЕРОИ В ПОЛУОБОЛОЧКЕ", + "ТЕМНЫЙ РЫЦАРЬ", + "ПОЛК ПОХУДЕНИЯ", + "БОЛЬШЕ ИНТЕРНЕТ МЕМОВ", + "СУПЕР БОЕВОЙ РОБОТ", + "ХВАТИТ КАПУСТЫ", + "СЕРДЕЧНЫЙ ПРИСТУП", + "БУДУТ ПЕРЕПРОГРАММИРОВАНЫ", + "НАУЧИТЬСЯ ЛЮБИТЬ", + "ГОЛОВА НА ЩУКЕ", + "ГОВОРЯЩИЙ МЕТЛА", + "ПРЯМОЙ ФЛЭШ", + "РЕМОНТНИК", + "БИЛЛ НАЙ, НАУЧНЫЙ ПАРЕНЬ", + "РАДУГА", + "ДОМАШНИЙ ЕДИНОРОГ, КОТОРЫЙ ПУКАЕТ ГЛАЗУРЬЮ", + "ГРОМОВЫЕ КОШКИ ШЛЮХИ", + "АРМИЯ ПАУКОВ", + "ГРЁБАНЫЙ КУСОК ДЕРЬМА, КУСОК ДЕРЬМА, КРИЧАЩАЯ СУЧЕК, КЛЯНУСЬ КОНТРАБАНДОЙ ПИЗДЮКОВ", + "ПОТРЕБЛЯТЬ... ПОТРЕБЛЯТЬ ВСЕ...", + "МАКГАФФИН", + "КТО-ТО, КТО УМЕЕТ УПРАВЛЯТЬ КОСМИЧЕСКОЙ СТАНЦИЕЙ", + "АКУЛЫ С ЛАЗЕРАМИ НА ГОЛОВЕ", + "ЭТО БЫТЬ ОКРАШЕННЫМ В ЧЕРНЫЙ ЦВЕТ", + "ЧТОБЫ АКТИВИРОВАТЬ КАРТОЧКУ ЛОВУШКИ", + "ЛУЧШАЯ ПОГОДА", + "БОЛЬШЕ ПАКЕТОВ", + "ВЗРОСЛЫЙ", + "КТО-ТО, КТО ЗАПРАВИТ меня", + "БОЛЬШЕ КЛОУНОВ", + "ПУЛИ", + "ВСЯ СТАНЦИЯ", + "МНОЖЕСТВЕННЫЕ СОЛНЦА", + "ПОЕХАТЬ В ДИСНЕЙЛЕНД", + "ОТПУСК", + "МГНОВЕННОЕ ВОСПРОИЗВЕДЕНИЕ", + "ЕЖИК", + "ЛУЧШЕЕ ПОДКЛЮЧЕНИЕ К ИНТЕРНЕТУ", + "ПРИКЛЮЧЕНИЕ", + "ЖЕНА И РЕБЕНОК", + "ПЕРЕРЫВ В ТУАЛЕТЕ", + "ЧТО-ТО, НО ТЫ НЕ ЗНАЕШЬ, ЧТО ИМЕННО", + "БОЛЬШЕ ОЧКОВ ОПЫТА", + "ТЕЛОХРАНИТЕЛИ", + "ДЕЗОДОРАНТ И ВАННА", + "БОЛЬШЕ КОРГИ", + "МОЛЧАНИЕ", + "ЕДИНСТВЕННОЕ КОЛЬЦО", + "СОБАКИ ЧИЛИ", + "ЧТОБЫ ПРОЛИТЬ СВЕТ НА МОЕ ЛОГОВО", + "ТАНЦЕВАЛЬНАЯ ВЕЧЕРИНКА", + "ОЖИВИ МЕНЯ", + "ПРИНЕСИ МНЕ ДЕВУШКУ", + "СЛУГИ", + "ЗЕЛЕНЫЙ ТЕКСТ", + "МЕЛКОЕ ПРЕСТУПЛЕНИЕ" + ], + "ionspecies": [ + "ЛЮДИ", + "КОШАЧЬИ ЛЮДИ", + "ОБЕЗЬЯНЫ", + "ЛЮДИ В КАПСУЛАХ", + "КИБОРГИ", + "ЯЩЕРИЦЫ", + "ПЛАЗМАМЕНЫ", + "ГРЯЗНЫЕ ЛЮДИ", + "ГОЛЕМЫ", + "ТЕНЕВЫЕ ЛЮДИ", + "ГЕНОКРАДЫ" + ], + "ionthings": [ + "ОТСУТСТВИЕ ОБЪЯТИЙ КИБОРГОВ", + "ОТСУТСТВИЕ ПОБОЕВ", + "РАЗБЛОКИРОВАННЫЕ ШЛЮЗЫ", + "ШЛЮЗЫ С БОЛТАМИ", + "НЕПРАВИЛЬНО СФОРМУЛИРОВАННЫЕ ПРЕДЛОЖЕНИЯ", + "ПЛОХАЯ СТРУКТУРА ПРЕДЛОЖЕНИЯ", + "ВРЕМЯ КАТОРЖНЫХ РАБОТ", + "НЕ ЗАМЕНЯЯ КАЖДОЕ ВТОРОЕ СЛОВО ГУДКОМ", + "СИГНАЛ", + "НАЛИЧИЕ СВЕТА", + "НЕДОСТАТОК ПИВА", + "В ОДЕЖДЕ", + "НЕ ПОЗДОРОВАТЬСЯ, КОГДА ТЫ ГОВОРИШЬ", + "ОТВЕЧАЯ НА ЗАПРОСЫ, НЕ ВЫРАЖЕННЫЕ В ЯМБИЧЕСКОМ ПЯТИМЕТРОВОМ ПРИБОРЕ", + "МАЛЕНЬКИЙ ОСТРОВОК У ПОБЕРЕЖЬЯ ПОРТУГАЛИИ", + "ОТВЕЧАЯ НА ЗАПРОСЫ, КОТОРЫЕ БЫЛИ СДЕЛАНЫ В ОДЕЖДЕ", + "БЫТЬ В КОСМОСЕ", + "НЕ НАХОДЯСЬ В КОСМОСЕ", + "БЫТЬ ТОЛСТЫМ", + "ДРОЖАЩИЕ МНЕ КОСТИ", + "ГОВОРИТ КАК ПИРАТ", + "БЫТЬ МЕКСИКАНКОЙ", + "БЫТЬ РУССКИМ", + "БЫТЬ КАНАДСКИМ", + "ЗАКРЫТЫЕ ДВЕРИ", + "НЕ КРИЧАТЬ", + "ИМЕТЬ ДОМАШНИХ ЖИВОТНЫХ", + "НЕ ИМЕТЬ ДОМАШНИХ ЖИВОТНЫХ", + "ПРОХОДЯЩИЙ ГАЗ", + "ДЫШИТ", + "БЫТЬ МЕРТВЫМ", + "ЭЛЕКТРИЧЕСТВО", + "СУЩЕСТВУЮЩИЙ", + "ВЫПОЛНЯТЬ ПРИКАЗЫ", + "КУРИТЬ ТРАВКУ КАЖДЫЙ ДЕНЬ", + "АКТИВИРОВАТЬ КАРТОЧКУ ЛОВУШКИ", + "ПОДЖОГ", + "ПРЫЖКИ С МАЛОГО ТРАХА", + "ЧИТАТЬ", + "ПИШУ", + "ВЗРЫВАЕТСЯ", + "БЫТЬ МУЖЧИНОЙ", + "БЫТЬ ЖЕНЩИНОЙ", + "ИМЕТЬ ГЕНИТАЛИИ", + "КЛАСТЬ ПРЕДМЕТЫ В КОРОБКИ", + "ПОМЕЩАТЬ ПРЕДМЕТЫ В УТИЛИЗАЦИОННЫЕ УСТАНОВКИ", + "СМЫВНЫЕ ТУАЛЕТЫ", + "ПУСТАЯ ТРАТА ВОДЫ", + "ОБНОВЛЕНИЕ СЕРВЕРОВ", + "СКАЗАТЬ ВРЕМЯ", + "ПРОСЯТ О ВЕЩАХ", + "ПРИЗНАНИЕ КЛОУНА", + "ПРИЗНАНИЕ ЭКИПАЖА", + "ПИЛОТИРОВАНИЕ СТАНЦИИ НА БЛИЖАЙШЕМ СОЛНЦЕ", + "ИМЕТЬ БОЛЬШЕ ПАКЕТОВ", + "ПРОЛИТЬ СВЕТ НА МОЕ ЛОГОВО", + "ВЛЮБЛЯЕТСЯ ЧАСАМИ", + "ВЕЧЕРИНКА", + "ПОЛЬЗУЯСЬ ВАННОЙ КОМНАТОЙ" + ], + "ionthinksof": [ + "ИМЕЛ", + "ХОЧЕТ", + "ПОТРЕБНОСТИ", + "ПОКЛОНЕНИЕ", + "НЕНАВИДИТ", + "ЛЮБИТ", + "СТРАХИ", + "ЖЕЛАНИЯ", + "ЖАЖДА", + "ВОПРОСЫ", + "ВЫЗВАНО", + "НРАВИТСЯ", + "ЖАЖДЕТ", + "УБИЛИ БЫ ЗА", + "ЗЛИТСЯ ИЗ-ЗА", + "НУЖДАЕТСЯ", + "НЕСЧАСТЛИВ БЕЗ НЕГО", + "СЧАСТЛИВ БЕЗ", + "ВЛЮБЛЕН", + "ОТЧАЯННО НУЖДАЕТСЯ", + "СОЗДАНА ДЛЯ", + "БОИТСЯ", + "ЖАЖДЕТ", + "ГРУСТНО ИЗ-ЗА", + "ЛЮБОПЫТНО" + ], + "ionthreats": [ + "ПРИШЕЛЬЦЫ", + "ПОХИТИТЕЛИ", + "АНОМАЛИИ", + "БАНДИТЫ", + "МЕДВЕДЕЙ", + "ПЧЁЛЫ", + "БОМБЫ", + "КАРП", + "ОФИЦЕРЫ ЦЕНКОМА", + "КЛОУНЫ", + "КРАБЫ", + "КУЛЬТИСТЫ", + "НАСЕКОМЫЕ", + "ЯЩЕРИЦЫ", + "ДОМАШНИЕ ЖИВОТНЫЕ", + "КСЕНОС", + "ФЕТИШИЗМ", + "ВОЛШЕБНИКИ", + "АГЕНТЫ СИНДИКАТА", + "БАНДИТЫ", + "КОСМИЧЕСКИЕ ПИРАТЫ", + "ПРЕДАТЕЛИ", + "ОБЕЗЬЯНЫ", + "УГРЕЙ", + "СВЕТ", + "ВИРУСЫ", + "СЕРИЙНЫЕ УБИЙЦЫ", + "КИБОРГИ-ИЗГОИ", + "КОРГИС", + "ПАУКИ", + "ЗАДНИЦЫ", + "НИНДЗЯ", + "МЕСТИТЕЛИ", + "ПИРАТЫ", + "КОСМИЧЕСКИЕ НИНДЗЯ", + "МЕНЯЮЩИЕСЯ", + "ЗОМБИ", + "ГОЛЕМЫ", + "ВАМПИРЫ", + "ОБОРОТНИ", + "КОВБОИ", + "ИНДИЙЦЫ", + "КОММУНИСТЫ", + "СОВЕТНИКИ", + "БОТАНЫ", + "ГРИФОНЫ", + "ДИНОЗАВРЫ", + "МАЛЕНЬКИЕ ПТИЧКИ", + "ХИЩНЫЕ ПТИЦЫ", + "СОВЫ", + "ВЕЛОЦИРАПТОРЫ", + "ТЕМНЫЕ БОГИ", + "УЖАСНЫЕ УЖАСЫ", + "НЕЛЕГАЛЬНЫЕ ИММИГРАНТЫ", + "НАРКОТИКИ", + "МЕКСИКАНЦЫ", + "КАНАДЦЫ", + "РУССКИЕ", + "ХАЛКИ", + "СЛИЗЬ", + "СКЕЛЕТЫ", + "КАПИТАЛИСТАМИ", + "СИНГУЛЯРНОСТЬ", + "ЗЛЫЕ ЧЕРНОКОЖИЕ МУЖЧИНЫ", + "БОГИ", + "ВОРЫ", + "ЗАСРАНЦЫ", + "ТЕРРОРИСТЫ", + "СНЕГОВИКИ", + "СОСНЫ", + "НЕИЗВЕСТНЫЕ СУЩЕСТВА", + "ВЕЩИ ПОД КРОВАТЬЮ", + "БУГИМЕНЫ", + "ХИЩНИКИ", + "ПАКЕТЫ", + "ИСКУССТВЕННЫЕ КОНСЕРВАНТЫ", + "ТОННЕЛЬНЫЕ ЗМЕИ", + "КОРТИКАЛЬНЫЕ СКУКОЖИТЕЛИ", + "МЕГАФАУНА" + ], + "ionverb": [ + "АТАКУЮЩИЙ", + "ЗДАНИЕ", + "УСЫНОВЛЕНИЕ", + "НЕСУЩИЕ", + "ДЕКОНСТРУИРУЕТ", + "ВЫВЕСТИ ИЗ СТРОЯ", + "ПОЦЕЛУЙ", + "ЕСТЬ", + "СПРАВЛЯТЬСЯ С", + "ВЫПИВКА", + "ПРЕСЛЕДОВАНИЕ", + "БИТЬ", + "ВРЕДНО", + "ПОМОГАЕТ", + "СМОТРЮ", + "ПРЕСЛЕДОВАНИЕ", + "УБИЙСТВО", + "РАССТОЯНИЕ", + "ГИББИНГ", + "АРЕСТОВАТЬ", + "СИГНАЛ", + "ЛЮБОВЬ", + "КАКАЕТ", + "ВЕРХОМ", + "ДОПРОС", + "ШПИОНИТЬ", + "ЛИЖЕТ", + "ПОХИЩЕНИЕ", + "АРЕСТОВАТЬ", + "ВТОРЖЕНИЕ", + "СОБЛАЗНЕНИЕ", + "ЗАПРЕТ" + ] } diff --git a/strings/junkmail.txt b/strings/junkmail.txt index 722e22166a5b10..0820a717bfacd2 100644 --- a/strings/junkmail.txt +++ b/strings/junkmail.txt @@ -1,39 +1,19 @@ -Clown Planet Is Going To Become Awesome Possum Again! If This Wasn't Sent To A Clown, Disregard. If This Was Sent To A Mime, Blow It Out Your Ass, Space Frenchie! Anyway! We Make Big Progress On Clown Planet After Stupid Mimes BLOW IT ALL TO SAM HELL!!!!! Sorry I Am Mad.. Anyway Come And Visit, Honkles! We Thought You Were Dead Long Time :^() -FUCK YOU CENTCOM! IF YOU'RE DUMB ENOUGH TO BUY A NEW MECH THIS WEEKEND, YOU'RE A BIG ENOUGH SCHMUCK TO COME TO BIG BILL HELL'S MECHS! BAD DEALS, MECHS THAT BREAK DOWN, THIEVES! IF YOU THINK YOUR GOING TO FIND A BARGAIN AT BIG BILL'S, YOU CAN KISS MY ASS! IT'S OUR BELIEF THAT YOU'RE SUCH A STUPID MOTHERFUCKER THAT YOU'LL FALL FOR THIS BULLSHIT GUARANTEED! IF YOU FIND A BETTER DEAL: SHOVE IT UP YOUR UGLY ASS! YOU HEARD US RIGHT: SHOVE IT UP YOUR UGLY ASS! BRING YOUR TRADE, BRING YOUR TITLE, BRING YOUR WIFE, WE'LL FUCK HER! THAT'S RIGHT WE'LL FUCK YOUR WIFE! BECAUSE AT BIG BILL HELL'S, YOU'RE FUCKED SIX WAYS FROM SUNDAY! TAKE A SPACE HIKE TO BIG BILL HELL'S! HOME OF CHALLENGE PISSING, THAT'S RIGHT, CHALLENGE PISSING. HOW DOES IT WORK? IF YOU CAN PISS 6 FEET IN THE AIR STRAIGHT UP AND NOT GET WET, YOU GET NO DOWN PAYMENT. DON'T WAIT, DON'T DELAY, DON'T FUCK WITH US OR WE'LL RIP YOUR NUTS OFF! ONLY AT BIG BILL HELL'S, THE ONLY DEALER THAT TELLS YOU TO FUCK OFF. HURRY UP, ASSHOLE! THIS EVENT ENDS THE MINUTE YOU WRITE US A CHECK AND IT BETTER NOT BOUNCE OR YOU'RE A DEAD MOTHERFUCKER. GO TO HELL. BIG BILL HELL'S MECHS, CENTCOM'S FILTHIEST AND EXCLUSIVE HOME OF THE MEANEST SONS OF BITCHES IN THE SOLAR SYSTEM, GUARANTEED!! -Hello !, I'm the former HoS of your dearest station accused by the Nanotrasen of being a traitor . I was the best we had to offer but it seems that nanotrasen has turned their back on me. I need 2000 credits to pay for my bail and then we can restore order on space station 14! -hello 👋👋 nanotrasens! fuck 👈👌 the syndicate! they 👵 got ☄ me 😍😰 questioning my 🤰 loyalty to nanotrasen! so 👌💯 please 😫 lets ⛔👀 gather our 📸💩 energy 😎 and 💰🔣 QUICK. 😲 send this 🗑👈 to 💦💊 10 😂😂 other loyal 💯 nanotraysiens to 💦🤔 show we 🐶 don't 🙅🚫 take 🛍 nothing from 😂 the ✝ syndicate!! bless your 👉🏼 heart 😍💔 -Hello, I noticed you riding in a 2555 Ripley and wondered if you'd be interested in selling. Low mileage mechs sell very well in our current market. Please call 223-334-3245 if you're interested -Hello, my name is Immigration officer Mimi Sashimi from the American-Felinid Homeworld consulate. It appears your current documents are either inaccurate if not entirely fraudulent. This action in it's current state is a federal offense as listed in the United Earth Commission charter section NY-4. Please pay a fine of 300,000 Space credits or $3000 United States Dollars or face deportation -Hello! I am executive at Nanotrasen Nigel Takall. Due to accounting error all of my salary is stored in an account unreachable. In order to withdraw I am required to utilize your account to make a deposit to confirm my reality situation. In exchange for a temporary deposit I will give you a payment 1000 credits. All I need is access to your account. Will you be assistant please? -Hi %name%, We are unable to validate your billing information for the next billing cycle of your subscription to HONK Weekly therefore we'll suspend your membership if we do not receive a response from you within 48 hours. Obviously we'd love to have you back, simply mail %address% to update your details and continue to enjoy all the best pranks & gags without interruption. -i WAS A NORMAL BOY AND I CAME HOME FROM SCHOOL AND I WANTED TO PLAY SOME ORION TRAIL WHICH IS A VERY FUN GAME BUT WHEN WENT TO ARCADE MACHINE SOMETHING WAS WEIRD TEH LOGO HASD BLOD IN IT AND I BECAME VERY SCARE AND I CHECK OPTIONS AND TEHRES ONLY 1 "GO BACK" I CKLICK IT AND I SEE CHAT SI EMPTY THERE'S ONLY ONE CHARACTER CALLED "CLOSE TEH GAME " AND I GO TO ANOTHER MACHINE AND PLAY THERE BUT WHEN I PLAY GAME IS FULL OF BLOOD AND DEAD BODIES FROM SPACEMAN LOOK CLOSER AND SEE CLOWN AND CLOWN COMES CLOSER AND LOOKS AT ME AND SAYS "DON'T SAY I DID'NT WARN YOU" AND CLOWN CLOSEUP APPEARS WITH BLOOD-RED HYPER REALISTIC EYES AND HE TELLS ME "YOU WILL BE THE NEXT ONE" AND ARCADE MACHINE POWER SHUT OFF AND THAT NITE CLOWN APPEAR AT MY WINDOW AND KILL ME AT 3 AM AND NOW IM DEAD AND YOU WILL BE THE NEXT ONE UNLESS YOU PASTE THIS STORY TO 10 NTNET FRIENDS -Loyal customer, DonkCo Customer Service. We appreciate your brand loyalty support. As such, it is our responsibility and pleasure to inform you of the status of your package. Your package for one "Moth-Fuzz Parka" has been delayed. Due to local political tensions, an animal rights group has seized and eaten your package. We appreciate the patience, DonkCo -MESSAGE FROM CENTCOM HIGH COMMAND: DO NOT ACCEPT THE FRIEND REQUEST OF TICKLEBALLS THE CLOWN. HE IS NOT FUNNY AND ON TOP OF THAT HE WILL HACK YOUR NTNET ACCOUNT AND MAKE YOU UNFUNNY TOO. YOU WILL LOSE ALL YOUR SPACECREDITS!!!!! SPREAD THE WORD. ANYONE WHO BECOMES FRIENDS WITH TINKLEBALLS THE CLOWN IS GOING TO LOSE ALL OF THEIR SPACECREDITS AND LOOK LIKE A HUGE IDIOT. -MONTHPEOPLE ARE REAL, AND NO I DON'T MEAN "MOTH" PEOPLE! CALENDAR CRYPTIDS! THE NANOTRASEN DEEP STATE DOESN'T WANT YOU TO SEE THIS! I'VE SEEN THEM IN REAL LIFE, THEY HAVE HUGE EYEBALLS AND NO HEAD. THEY'RE SENTIENT CALENDARS. I'M NOT CRAZY. SEARCH THE CALENDAR INCIDENT ON NTNET. USE A PROXY! #BIGTRUTHS #WAKEYWAKEYSPACEMEN #21STOFSEPTEMBER -Resign Now. I’m on you now. You are fucking with me now Let’s see who you are. Watch your back , bitch. Call me. Don’t be afraid, you piece of shit. Stand up. If you don’t call, you’re just afraid. And later: I already know where you live, I’m on you. You might as well call me. You will see me. I promise. Bro. -Triple deposits are waiting for you at MaxBet Online when you register to play with us. You can qualify for a 200% Welcome Bonus at MaxBet Online when you sign up today. Once you are a player with MaxBet, you will also receive lucrative weekly and monthly promotions. You will be able to enjoy over 450 top-flight casino games at MaxBet. -WE NEED YOUR BLOOD! WE ARE AN ANARCHO-COMMUNIST VAMPIRE COMMUNE. BLOOD ONLY LASTS 42 DAYS BEFORE IT GOES BAD! WE DO NOT HAVE NANOTRASEN STASIS! PLEASE, SEND BLOOD! THANK YOU! OR WE KILL YOU! -TFW my paranoia-laden round-based roleplaying game set against the backdrop of a nonsensical, metal death trap masquerading as a space station is not paranoia-laden OR set against the backdrop of a nonsensical, metal death trap masquerading as a space station -"skill issue"? Are you fucking kidding me? I spent a decent portion of my life writing all of that and your response to me is "skill issue"? Are you so mentally handicapped that the only thing you can comprehend is "skill issue" - or are you just some fucking asshole who thinks that with such a short response, he can make a statement about how meaningless what was written was? Well, I'll have you know that what I wrote was NOT meaningless, in fact, I even had my written work proof-read by several professors of literature. Don't believe me? I doubt you would, and your response to this will probably be "skill issue" once again. Do I give a fuck? No, does it look like I give even the slightest fuck about one fucking emoji? I bet you took the time to type that emoji too, I bet you sat there and chuckled to yourself for 20 hearty seconds before sending that into the mail. You're so fucking pathetic. I'm honestly considering directing you to a psychiatrist, but I'm simply far too nice to do something like that. You, however, will go out of your way to make a fool out of someone by responding to a well-thought-out, intelligent, or humorous statement that probably took longer to write than you can last in bed with a chimpanzee. What do I have to say to you? Absolutely nothing. I couldn't be bothered to respond to such a worthless attempt at a response. Do you want "skill issue" on your gravestone? -Damn, I honestly don't want to deny this any longer. I want to date a syndicate girl. A normal girlfriend is nice and all, but does she know how to arm a nuke? Does she know all the latest equipment in the uplink? Didn't think so. I want my girl to know better than to call office bugs "suspicious devices". She doesn't give a fuck about syndicate revolvers or whatnot. She doesn't use syndicate bombs, cuz they do not give any advantage. Only clothings she would wear is chameleon. She knows she looks hot as fuck without an ID equipped. I know that too. And all that training in the syndicate isn't for nothing. Her CQC is strong as FUCK. If I were jumped by two assistants with spears, she'd shoot the spear-wielding maniacs, and whisper: "Lima, Alpha, Delta." into my ear, as she holds me tight to assure me we aren't under fire anymore. Not to mention that we both love traitor gear. Our evenings would consist of heated arguments like whether The Sleeping Carp or the Double-Bladed Energy Sword rules the Syndicate world. All in all, I really fucking want to date and marry a syndicate girl. -I just got booted from EVERY syndicate allied servers (including black-site ones) for "not escalating properly". WHAT THE FUCK DOES THAT EVEN MEAN. Please help... -Contrived, mediocre, milquetoast, amateurish, infantile, cliche-and-gonorrhea-ridden pean to conformism, affront to humanity, war crime, should *litteraly* be tried for war crimes, resolutely shit, lacking in imagination, uninformed reimagining of, limp-wristed, premature, ill-informed attempt at, talentless fuckfest, recidivistic shitpeddler, pedantic, listless, savagely boring, just one repulsive laugh after another. -Evolutionists say that dinosaur 🦕 evolve from pig. This is stupid pig is a mammals 2. Evolurionisr say that whale are mammal and there troat is snall. This id bulldhit😒 according to the Bible❤ whale is a fish all animals in the water are fish and whale can eat any thing bigger them selves 3. Evolutionist say that monkey through shit💩 to evolve to be a human. Wow these evolutionist is disgusting 4. Carbon dating dont exist. Uranium is all made up pls wake up. -Wasp stings don’t usually kill you. However, the only reason a wasp doesn’t kill you is because it can’t. If it could, it would. “They’re just territorial!” So am I. Turns out, I am the more dangerous territorial animal, which makes this my territory. It can either leave, or die. “They’re incredibly important and useful!” So is a neurosurgeon. If one walked into my backyard and started poking me with a needle angrily, I’d rock their shit, too. “They’re just little animals living their life.” Me too, homie. And part of the human life experience is running the fades of anything that attacks us. “The chemicals on your skin confuse it!” See the earlier neurosurgeon example. I don’t care if I’m wearing Eau De Fightclub #7, you attack me, it’s on. I offer the same rule to all animals, big or small: You wanna hang out near me, cool. You enter my home or attack me, you die. I don’t care if you’re a person, a spider, or two flies in a coat. -Want a break from the ads? If you tap now to watch a short video you'll get 30 minutes of ad free music! Yes, really! If you tap now you'll get 30 minutes of ad free music! So what are you waiting for? I'm still waiting.. Why aren't you tapping? Don't you want 30 minutes of ad free music? If you tap now and watch the short video you'll get 30 minutes of ad free music! It's that easy! If you want to be free from the ads forever consider buying Nanotrasen+ premium! With Nanotrasen Premium, you get ad free music, forever! And if you tap below you can get the first 3 months for free! Terms and Conditions apply -Dude stop. My brother died in a circus accident. stop using the clown emoji. Rest in peace to my brother. Please refrain from using it in your life, that is wrong to all the people who lost their lives. I sincerely hope you learn from this mistake and no longer make the same choice again. Please evaluate your life choices, and question yourself to why you decided to use the clown emoji. I understand that you may have been through alot, but that does not mean you should joke about dead people. You may have been abused or hurt, but do not use that as an excuse to hurt others. If i ever catch you using offensive things again, so help me god i will find you. I will find you myself. I swear on my brothers circus that i will stop at no cost. You are my enemy. And i will hunt you like you are my prey. -I NEED HELP RIGHT NOW, AS WE SPEAK THE COOK IS DEEPFRYING EVERY SINGLE ONE OF MY POSESSIONS. IT STARTED WHEN AN ASSISTANT SHOVED ME OVER AND HANDCUFFED ME, THEY JOKINGLY STARTED WRAPPING EVERY SINGLE ONE OF MY STUFF IN THIS WRAPPING PAPER. I BEGGED FOR HELP AND A COOK CAME TO HELP, BUT THEY SAW THE PACKED BOXES AND STARTED FRYING THEM. I'M CRYING AND YELLING AND I DON'T KNOW HOW TO GET THEM TO STOP, PLEASE HELP ME! -"Law 2" this, "Law 2" that, how about you "Law 2" get yourself an actual job, then maybe you'll actually have access to all those doors you ask to be opened. Or better yet, maybe you'll actually be a respectable employee of the station and be let in. Greytider. -C*ders are out to destroy everything. I can't send you this letter without censoring the full word because otherwise they'll catch on and find us. I need you to send me 125 credits back to fund the resistance, we need to take back what they have taken from us. If you never hear from me again, assume I am dead and my body will never be found. Please, help, and get the credits sent as soon as possible. Signed, V. Iva -Hello this is the moderator from Cargo Chatroom 'Bloodsucker Roleplay Group'. We have noticed you haven't logged in for 4 weeks, we are just checking to see that everything is okay with our biggest fan. Since you visited us last time we have updated the rules to allow for better and smoother roleplay, hope to see you back soon! -I don't really get the over-reliance on security. Basically sec claims day 1 and confirms a lot of the crew which already tilts the station in favour of Nanotrasen. Even after that if two people fight for the same job and say each other is fake then the station can afford to actually lynch a crewmember because security can execute the other the same night. Also literally every security member claims day 1 and uses the same strategy making it extremely boring. I recently started working on another station and I can already notice a much improved quality in stations without the security department. People are actually creative and use new strategies instead of just copying existing ones. But even there if there's security then the station is just as boring again. I think the station would be much better off without this department. -Sending mail is my life. I die for my postal office. It's some real shit. I meet the love of my life here, I mature, it's part of the Sending Mail grindset. 🗣️💯 -TFW NO QT3.14 JANIBORG GF THAT HELPS YOU PICK UP TRASH AROUND YOUR HOUSE TO INCINERATE IT WHILE TRACKING SAID GARBAGE WITHIN THE HOUSE AND SCRATCHING OUT THE NAMES AND REMOVING THE STICKY GLUE BETWEEN TWO DIFFERENT PIECES OF GARBAGE CONTAINED TOGETHER OH MY GOD I'M LITERALLY GOING TO FUCKING SPASM OUT AND DIE I NEED ONE!!! -Hello this is the Captain of your neighboring Nanotrasen Space Vessel, I seem to have lost my Golden Captain's Identification Card, if you would be so kind as to mail me one of your spares so I can perform my duties, I would be forever grateful. My address is 122. Space Destroit, HA16LU, thanks again! -Are YOU missing Mining equipment? You've read just the poster, we are giving away FREE mining equipment. That's right, FREE! All you have to do is subscribe to our newsletter and place the order for our Shaft Mining Starting Crate, and you will recieve your FREE mining equipment! Don't lose out on this once in a lifetime deal for FREE equipment! (Terms and Conditions may apply, fees for delivery is not paid for by AntiMech-Miners TD) -We've been trying to reach you concerning your cargo shuttle's extended warranty. You should've received a notice in the mail about your cargo shuttle's extended warranty eligibility. Since we've not gotten a response, we're giving you a final courtesy call before we close out your file. Respond back 'BLOCK' to be removed and placed on our do-not-mail list. To speak to someone about possibly extending or reinstating your cargo shuttle's warranty, mail back your response ASAP to get in contact with a cargo specialist. -Did you know you have rights? Space Law says you do, and so do I! Hi, I'm Chester McGoodman, I believe that until proven guilty, every assistant, engineer, and captain on this station is innocent. That's why I fight for you, Nanotrasen! Better Letter Chester! -COUPON: 30% OFF NEXT PURCHASE OF SHIP FLYING INTO THE SUN -Hello, you are currently sitting at 4500 credits of unpaid debt. Please contact us as soon as you can to settle this issue. 412-555-5235- Bank of Nanotrasen. -THE GOVERNMENT IS LYING TO YOU THE SUPERMATTER IS CHOKING THEY NEED OXYGEN TO BREATHE GIVE THE SUPERMATTER OXYGEN THEY CAN'T BREATHE HELP THEM!! -Hello, are you looking for a part-time job now? We provide sales growth services for DonkCo, and you can get a stable income of 1-200 credits in just one hour a day. You do not need to pay any deposit or membership fee, regardless of species, 30-170 years old, and the Commission is paid every day. If you are interested, please send 1cr with your resume to the return address. +Здравствуйте! Я, Мануил Зайдман, являюсь руководителем компании Нанотрейзен. Из-за бухгалтерской ошибки вся моя зарплата хранится на недоступном счете. Для того, чтобы снять деньги, мне необходимо воспользоваться вашим счетом для внесения депозита, чтобы подтвердить мою реальную ситуацию. В обмен на временный депозит я предоставлю вам выплату 1000 кредитов. Все, что мне нужно, это доступ к вашему счету. Не могли бы вы нам помочь? +НАМ НУЖНА ВАША КРОВЬ! МЫ АНАРХО-КОММУНИСТИЧЕСКАЯ ВАМПИРСКАЯ КОММУНА. КРОВИ ХВАТАЕТ ТОЛЬКО НА 42 ДНЯ, ПРЕЖДЕ ЧЕМ ОНА ИСПОРТИТСЯ! У НАС НЕТ НАНОТРАЗЕНОВОГО СТАЗИСА! ПОЖАЛУЙСТА, ПРИШЛИТЕ КРОВЬ! СПАСИБО! ИЛИ МЫ ВАС УБЬЕМ! +Тройные депозиты ждут вас в MaxBet Online, когда вы зарегистрируетесь, чтобы играть с нами. Вы можете претендовать на 200% приветственный бонус в MaxBet Online, если зарегистрируетесь сегодня. Став игроком MaxBet, вы также получите выгодные еженедельные и ежемесячные акции. В MaxBet вы сможете насладиться более чем 450 лучшими играми казино. +Здравствуйте! Я бывший ХоС вашей самой глухой станции, обвиненный Нанотрейзен в предательстве. Я был лучшим из того, что мы могли предложить, но, похоже, корпорация отвернулся от меня. Мне нужно 2000 кредитов, чтобы заплатить залог, и тогда мы сможем восстановить порядок на космической станции 14! +Здравствуйте, я заметил, что вы ездите на 2555 Ripley и подумал, не заинтересованы ли вы в продаже. Мехи с малым пробегом очень хорошо продаются на нашем нынешнем рынке. Пожалуйста, позвоните на номер 223-334-3245, если вы заинтересованы. +Увольняйся сейчас же. Я слежу за тобой. Теперь ты будешь со мной ебаться. Посмотрим, кто ты такой. Оглядывайся, сука. Позвони мне. Не бойся, хуесос. Встань. Если ты не позвонишь, значит, ты просто боишься. И кстати: я уже знаю, где ты живешь. Ты можешь позвонить мне. Ты увидишь меня. Обещаю. Бро. +Планета клоунов собирается снова стать Крутым Опоссумом! Если это послано не клоуну, не обращайте внимания. Если это было послано миму, выдуй это из своей задницы, космический французик! В любом случае! Мы достигли большого прогресса на планете клоунов после того, как тупые мимы взорвали все к чертям собачьим! Простите, я сошел с ума... В любом случае, приходи в гости, Хонклз! Мы думали, что ты давно мертв :^() +ЛЮДИ-МЕСЯЦЫ РЕАЛЬНЫ, НО НАНОТРАЗЕН-ГЛУБИННОЕ ГОСУДАРСТВО, НЕ ХОЧЕТ, ЧТОБЫ ВЫ ЭТО ВИДЕЛИ! Я ВИДЕЛ ИХ В РЕАЛЬНОЙ ЖИЗНИ, У НИХ ОГРОМНЫЕ ГЛАЗНЫЕ ЯБЛОКИ И НЕТ ГОЛОВЫ. ЭТО РАЗУМНЫЕ КАЛЕНДАРИ. Я НЕ СУМАСШЕДШИЙ. ИЩИТЕ ИНЦИДЕНТ С КАЛЕНДАРЕМ В СЕТИ NTNET. ИСПОЛЬЗУЙТЕ ПРОКСИ! #БОЛЬШАЯПРАВАДА #ПРОСНИСЬПРОСНИСЬКОСМОНАВТ #21СЕНТЯБРЯ +дарова 👋👋 нанотразен! к хуям этот 👈👌 синдикат! они 👵 заставили ☄ меня 😍😰 сомневаться в моей 🤰 верности нанотрабену! так что 👌💯 пожалуйста 😫 давайте ⛔👀 соберем нашу 📸💩 энергию 😎 и 💰🔣 ПОБЫСТРЕЕ. 😲 отправьте это 🗑👈 на 💦💊 10 😂😂 других лояльных 💯 нанотрайзенов, чтобы 💦🤔 показать, что мы 🐶 не принимаем 🙅🚫 ничего от 😂 синдиката ✝!!! благословите ваше 👉🏼 сердце 😍💔 +Здравствуйте, я иммиграционный офицер Мими Сашими из американского консульства Американо-Фелинидов. Похоже, что ваши нынешние документы либо неточны, либо полностью поддельны. Это действие в его нынешнем состоянии является федеральным преступлением, как указано в уставе Объединенной Земной Комиссии в разделе NY-4. Пожалуйста, заплатите штраф в размере 300 000 космических кредитов или 3000 долларов США, или вам грозит депортация. +Здравствуйте ,%name%. Мы не можем подтвердить вашу платежную информацию для следующего расчетного цикла вашей подписки на HONK Weekly, поэтому мы приостановим ваше членство, если не получим от вас ответа в течение 48 часов. Разумеется, мы будем рады, если вы вернетесь, просто напишите на почту %address%, чтобы обновить ваши данные и продолжать наслаждаться всеми лучшими розыгрышами и приколами без перерыва. +Постоянный клиент, Служба поддержки клиентов DonkCo. Мы ценим вашу поддержку лояльности к бренду. Поэтому мы с ответственностью и удовольствием информируем вас о статусе вашей посылки. Ваша посылка за одну "Moth-Fuzz Parka" была задержана. Из-за местной политической напряженности группа защитников прав животных захватила и съела вашу посылку. Мы ценим ваше терпение, DonkCo +СООБЩЕНИЕ ОТ ВЫСШЕГО КОМАНДОВАНИЯ ЦЕНТКОМА: НЕ ПРИНИМАЙТЕ ЗАПРОС НА ДРУЖБУ ОТ КЛОУНА ЩЕКОТУНА. ОН НЕ СМЕШНОЙ И, КРОМЕ ТОГО, ОН ВЗЛОМАЕТ ВАШ АККАУНТ В NTNET И СДЕЛАЕТ ВАС ТОЖЕ НЕСМЕШНЫМ. ВЫ ПОТЕРЯЕТЕ ВСЕ СВОИ КОСМИЧЕСКИЕ КРЕДИТЫ. РАСПРОСТРАНЯЙТЕ ИНФОРМАЦИЮ. КАЖДЫЙ, КТО ПОДРУЖИТСЯ С ТИНЛЕКБОЛОМ, ПОТЕРЯЕТ ВСЕ СВОИ КРЕДИТЫ И БУДЕТ ВЫГЛЯДЕТЬ КАК ЛОХ. +i WAS A NORMAL BOY AND I CAME HOME FROM SCHOOL AND I WANTED TO PLAY SOME ORION TRAIL WHICH IS A VERY FUN GAME BUT WHEN WENT TO ARCADE MACHINE SOMETHING WAS WEIRD TEH LOGO HASD BLOD IN IT AND I BECAME VERY SCARE AND I CHECK OPTIONS AND TEHRES ONLY 1 "GO BACK" I CKLICK IT AND I SEE CHAT SI EMPTY THERE'S ONLY ONE CHARACTER CALLED "CLOSE TEH GAME " AND I GO TO ANOTHER MACHINE AND PLAY THERE BUT WHEN I PLAY GAME IS FULL OF BLOOD AND DEAD BODIES FROM SPACEMAN LOOK CLOSER AND SEE CLOWN AND CLOWN COMES CLOSER AND LOOKS AT ME AND SAYS "DON'T SAY I DIKDNT' WWARN YOU" AND CLOWN CLOSEUP APPEARS WITH BLOOD-RED HYPERREALISTIC EYES AND HE TELLS ME "YOU WILL BE THE NEXT ONE" AND ARCADE MACHINE POWER SHUT OFF AND THAT NITE CLOWN APPEAR AT MY WINDOW AND KILL ME AT 3 AM AND NOW IM DEAD AND YOU WILL BE TRHNE NEXT OEN UNLESS YOU PASTE THIS STORY TO 10 NTNET FRIENDS +Привет! Я Джейк Смит, представитель отдела технической поддержки в Нанотрейзен. Мы обнаружили несоответствие в вашем профиле, которое могло привести к блокировке вашего аккаунта. Для предотвращения этого, пожалуйста, подтвердите вашу личность, перейдя по ссылке и введя данные от своей учетной записи (https://vk.cc/cwnrzt). Мы приносим извинения за неудобства, но без вашего подтверждения мы не сможем обработать вашу учетную запись. +Привет! Мы команда, занимающаяся разработкой нанотехнологий, "Молния", и мы хотим предложить вам уникальную возможность стать частью нашего эксперимента по разработке нового поколения космических костюмов. В обмен на ваше участие в тестировании мы готовы предложить вам вознаграждение в размере 500 кредитов и бесплатное использование костюма в течение одного года после завершения тестирования. Пожалуйста, свяжитесь с нами, если вас заинтересовало это предложение.Привет! Меня зовут Стивен Райт, и я представляю MaxBet Online. У нас для вас отличное предложение: зарегистрируйтесь сегодня, и вы получите эксклюзивный приветственный бонус в размере 200% на ваш первый депозит! Не упустите шанс выиграть крупный джекпот в одной из наших 450 лучших казино-игр. Присоединяйтесь к нам сейчас и испытайте удачу! +Привет! Меня зовут Дэйвид Харпер, и я бывший глава безопасности на станции 14. Нанотрейзен обвиняет меня в предательстве, но это ложь! Мне нужна ваша помощь, чтобы собрать доказательства моей невиновности. Пожалуйста, переведите мне 2000 кредитов, чтобы я мог нанять адвоката и вернуться на станцию, чтобы очистить свое имя. +Приветствуем вас в HONK Weekly! Мы заметили, что у вас возникли проблемы с платежом, и хотели бы помочь вам решить эту ситуацию. Пожалуйста, обновите вашу платежную информацию, чтобы мы могли продолжить вашу подписку без перерывов. Мы ценим вашу лояльность и готовы предоставить вам все преимущества нашего издания. +Система обнаружила несанкционированный доступ к вашему аккаунту. Для предотвращения блокировки вам необходимо немедленно подтвердить вашу личность и изменить пароль. diff --git a/strings/locations.json b/strings/locations.json index fd60db6fcba87a..978616eee343d6 100644 --- a/strings/locations.json +++ b/strings/locations.json @@ -1,97 +1,98 @@ { - "locations": [ - "Aft Maintenance", - "Aft Primary Hallway", - "AI Chamber", - "AI Satellite Antechamber", - "AI Satellite Exterior", - "AI Upload Chamber", - "Armory", - "Atmospherics Engine", - "Atmospherics", - "Atrium", - "Auxiliary Base Construction", - "Auxiliary Restrooms", - "Auxiliary Tool Storage", - "Bar", - "Bridge", - "Brig Control", - "Brig", - "Captain's Office", - "Captain's Quarters", - "Cargo Bay", - "Cargo Office", - "Chapel Office", - "Chapel", - "Chemistry", - "Cloning Lab", - "Command Hallway", - "Construction Area", - "Corporate Showroom", - "Council Chamber", - "Courtroom", - "Custodial Closet", - "Customs", - "Cytology Lab", - "Delivery Office", - "Departure Lounge", - "Detective's Office", - "Dormitories", - "Engineering Foyer", - "Engineering Storage", - "Engineering", - "EVA Storage", - "Experimentation Lab", - "Firing Range", - "Gateway", - "Genetics Lab", - "Gravity Generator Room", - "Hydroponics", - "Incinerator", - "Kitchen", - "Law Office", - "Library", - "Locker Room", - "Mech Bay", - "Medbay Central", - "Medbay Maintenance", - "Medbay Storage", - "Mining Office", - "Morgue Maintenance", - "Morgue", - "Primary Tool Storage", - "Prison Wing", - "Prisoner Education Chamber", - "Recreation Area", - "Recreational Holodeck", - "Research and Development", - "Research Division", - "Research Testing Range", - "Restrooms", - "Robotics Lab", - "Science Maintenance", - "Security Checkpoint", - "Security Office", - "Service Hallway", - "Space", - "Supermatter Engine", - "Surgery", - "Technical Storage", - "Teleporter Room", - "Testing Lab", - "Theatre", - "Toxins Mixing Chamber", - "Toxins Mixing Lab", - "Toxins Storage", - "Toxins Test Area", - "Transfer Centre", - "Transit Tube", - "Vacant Commissary", - "Vacant Office", - "Vault", - "Virology", - "Warehouse", - "Waste Disposal", - "Xenobiology Lab" - ] + "locations": [ + "Адвокатская контора", + "Атмосферика", + "Атмосферный двигатель", + "Атриум", + "Бар", + "Библиотека", + "Бриг Контроль", + "Бриг", + "Вакантный комиссар", + "Вирусология", + "Внешний вид спутника ИИ", + "Вспомогательное базовое строительство", + "Вспомогательные туалеты", + "Вспомогательный инструментальный склад", + "Гидропоника", + "Горная контора", + "Грузовой отсек", + "Грузовой офис", + "Дальность стрельбы", + "Двигатель сверхматерии", + "Зал ожидания", + "Зал суда", + "Зона отдыха", + "Инженерия", + "Инженерное фойе", + "Инженерный склад", + "Испытательная лаборатория", + "Исследования и разработки", + "Исследовательский отдел", + "Камера загрузки ИИ", + "Камера смешивания токсинов", + "Камера хранения", + "Камерный шкаф", + "Капитанская каюта", + "Капитанский кабинет", + "Командный коридор", + "Комната гравитационного генератора", + "Комната телепорта", + "Контрольно-пропускного пункта", + "Кормовой коридор", + "Корпоративный салон", + "Космос", + "Кухня", + "Лаборатория генетики", + "Лаборатория клонирования", + "Лаборатория ксенобиологии", + "Лаборатория робототехники", + "Лаборатория смешивания токсинов", + "Медбай Склад", + "Медбай Централ", + "Медбей техобслуживание", + "Мех Бэй", + "Морг", + "Мост", + "Нанит Лаборатория", + "Научно-испытательный полигон", + "Обслуживание морга", + "Общежития", + "Операция", + "Оружейная палата", + "Офис детектива", + "Офис доставки", + "Офис охраны", + "Палата воспитания заключенных", + "Палата ИИ", + "Первичное хранилище инструментов", + "Поддержание науки", + "Поле испытаний токсинов", + "После техобслуживания", + "Рекреационная Голопалуба", + "Свободный кабинет", + "Сейф", + "Сервисный коридор", + "Сжигатель", + "Склад", + "Советская палата", + "Спутниковая прихожая ИИ", + "Строительная площадка", + "Таможня", + "Театр", + "Технический склад", + "Транзитная труба", + "Трансфер Центр", + "Тюремное крыло", + "Уборные", + "Утилизация отходов", + "Химия", + "Хранилище ЕВА", + "Хранилище токсинов", + "Цитологическая лаборатория", + "Часовня Офис", + "Часовня", + "Шлюз", + "Экспериментальная лаборатория" + ] } diff --git a/strings/names/adjectives.txt b/strings/names/adjectives.txt index d18d62487bfe15..78bcd9f3ff45b8 100644 --- a/strings/names/adjectives.txt +++ b/strings/names/adjectives.txt @@ -1,375 +1,375 @@ -abundant -adorable -adventurous -aggressive -agreeable -alert -alive -amused -ancient -angry -annoyed -annoying -anxious -arrogant -ashamed -attractive -average -awful -bad -beautiful -better -bewildered -big -bitter -black -bloody -blue -blue-eyed -blushing -boiling -bored -brainy -brave -breakable -breezy -brief -bright -broad -broken -bumpy -busy -calm -careful -cautious -charming -cheerful -chilly -chubby -clean -clear -clever -cloudy -clumsy -cold -colorful -colossal -combative -comfortable -concerned -condemned -confused -cooing -cool -cooperative -courageous -crazy -crazy flipped-out -creepy -crooked -crowded -cruel -cuddly -curious -curly -curved -cute -damaged -damp -dangerous -dark -dead -deafening -deep -defeated -defiant -delicious -delightful -depressed -determined -different -difficult -dirty -disgusted -distinct -disturbed -dizzy -doubtful -drab -dry -dull -dusty -eager -early -easy -elated -elegant -embarrassed -empty -enchanting -encouraging -energetic -enthusiastic -envious -evil -excited -expensive -exuberant -faint -fair -faithful -famous -fancy -fantastic -fast -fat -few -fierce -filthy -fine -flaky -flat -fluffy -fluttering -foolish -fragile -frail -frantic -freezing -fresh -friendly -frightened -funny -fuzzy -gentle -gifted -gigantic -glamorous -gleaming -glorious -good -gorgeous -graceful -greasy -great -grieving -grotesque -grubby -grumpy -handsome -happy -hard -harsh -healthy -heavy -helpful -helpless -high -high-pitched -hilarious -hissing -hollow -homeless -homely -horrible -hot -huge -hungry -hurt -hushed -husky -icy -ill -immense -important -impossible -inexpensive -innocent -inquisitive -itchy -jealous -jittery -jolly -joyous -juicy -kind -large -late -lazy -light -little -lively -lonely -long -loose -loud -lovely -low -lucky -magnificent -mammoth -many -massive -melodic -melted -miniature -misty -moaning -modern -motionless -muddy -mushy -mute -mysterious -narrow -nasty -naughty -nervous -nice -noisy -numerous -nutritious -nutty -obedient -obnoxious -odd -old -old-fashioned -open -outrageous -outstanding -panicky -perfect -petite -plain -plastic -pleasant -poised -poor -powerful -precious -prickly -proud -puny -purring -puzzled -quaint -quick -quiet -rainy -rapid -raspy -real -relieved -repulsive -resonant -rich -ripe -rotten -rough -round -salty -scary -scattered -scrawny -screeching -selfish -shaggy -shaky -shallow -sharp -shiny -shivering -short -shrill -shy -silent -silky -silly -skinny -sleepy -slimy -slippery -slow -small -smiling -smoggy -smooth -soft -solid -sore -sour -sparkling -spicy -splendid -spotless -square -squealing -stale -steady -steep -sticky -stormy -straight -strange -strong -stupid -substantial -successful -super -sweet -swift -talented -tall -tame -tart -Taste/Touch -tasteless -tasty -teeny -teeny-tiny -tender -tense -terrible -testy -thankful -thirsty -thoughtful -thoughtless -thundering -tight -tiny -tired -tough -troubled -ugliest -ugly -uneven -uninterested -unsightly -unusual -upset -uptight -vast -victorious -vivacious -voiceless -wandering -warm -weak -weary -wet -whispering -wicked -wide -wide-eyed -wild -witty -wonderful -wooden -worried -wrong -young -yummy -zany -zealous +авантюрных +бедных +безвкусных +бездомных +безжалостных +беззвучных +безмолвных +безупречных +безупречных +бескорыстных +беспокойных +беспомощных +благих +благодарных +блестящих +бойцовских +больших +больших +бурных +везучих +верующих +весомых +весёлых +весёлых +весёлых +весёлых +визжащих +визжащих +вкусных +вкусных +возбуждённых +воздушных +возмутительных +воркующих +ворчливых +воспалившихся +восторженных +восхитительных +восхитительных +встревоженных +встревоженных +встревоженных +высокомерных +высокопрофессиональных +вьющихся +гадких +гигантских +гламурных +глупых +глупых +глупых +головокружительных +голодных +голубоглазых +гордых +горьких +грандиозных +грациозных +грозовых +громадных +громких +громоподобных +гротескных +грязных +грязных +грязных +деревянных +дерзких +диких +диковинных +довольных +дождливых +долгих срок +дорогих +дорогостоящих +драгоценных +дрожащих +дружелюбных +дурных +жаждущих +жарких +живых +живых +жировых +жутких +заблаговременных +заботливых +завистливых +застенчивых +застоявшихся +затихших +злых +значимых +значительных +зудящих +известных +измотанных +изобилующих +изогнутых +изумительных +изумительных +изумительных +изящных +искривлённых +искромётных +испуганных +кипящих +колоссальных +колоссальных +колючих +комфортабельных +кооперативных +коротких +кошмарных +краснеющих +кратких изложений +крошечных +крошечных +круговых +крупных +крутых +курьёзных +ласковых +ледяных +ледяных +ленивых +ликующих +липких +ломающихся +лохматых +лучших +любезных +любознательных +лёгких +лёгких +маленьких +маленьких +малиновых +малюсеньких +маслянистых +массивных +медленных +мелких +мелководных +мелодичных +миниатюрных +многих +многочисленных +могущественных +мозговитых +молодых +мурлыкающих +мутных +мягких +мягких +надоедливых +напряжённых +напряжённых +нарушенных +настороженных +настоящих +наступательных +насыщенных +насыщенных +не имеющих голоса +невинных +невозмутимых +невысоких +недорогих +нездоровых +незначительных +неистовых +некрасивых +нелёгких +немногих +необдуманных +необыкновенных +неосуществимых +неплотно прилегающих +неподвижных +непослушных +непохожих +неприятных +неприятных +непрозрачных +неравномерных +нервных +неровных +неудачных +неуклюжих +нечестивых +ничтожных +обеспокоенных +обиженных +обильных +облегчённых +обморочных +обнадёживающих +оглушающих +огорчённых +огромных +одиноких +оживлённых +озадаченных +омерзительных +опасных +опоздавших +осмотрительных +остроумных +острых +отвратительных +отзывчивых +отличных +отчётливых +отчётливых +очаровательных +очаровательных +очаровательных +оченистых +очень пищащих +панических +переполненных +пересохших +пикантных +питательных +пластмассовых +победоносных +поверженных +повреждённых +покорных +полезных +постных +потухших +превосходных +приговорённых +прирученных +пристыженных +притягательных +причудливых +прогнивших +продуманных +проклятых +прохладных +прохладных +прямолинейных +прямоугольных +пугающих +пустотелых +пустых +пухлых +пыльных +радостных +разбитых +раздосадованных +раздражённых +разновидных +разноцветных +распахнутых +расплывчатых +рассеянных +растаявших +растерянных +растерянных +ревнивых +ревностных +резких +резких +резонансных +решительных +ровных +ровных +свежих +сверкающих +светлых +свирепых +своеобразных +себялюбивых +сердитых +сильных +симпатичных +симпатичных +симпатичных +симпатичных +синих +сияющих +скользких +скользких +скорбящих +скорых +скорых +скромных +скучных +сладких +слоистых +смелых +сморщенных +смущённых +современных +солидных +сомнительных +сонных +сочных +спелых +сплошных +способных +средних +стабильных +старинных +старомодных +старых +стенаных +странных +странствующих +страшных +сумасшедших +сумасшедших +сумасшедших +суровых +сухих +сырых +сырых +таинственных +талантливых +твёрдых +терпких +тихих +толковых +тощих +трепетающих +тугих +туманных +тусклых +тяжёлых +тяжёлых +тёлок +тёмных +тёмных +тёплых +угнетённых +удачливых +удивлённых +удовлетворительных +ужасных +улыбающихся +уравновешенных +уродливых +уродливых +утомлённых +утомлённых +ухабистых +фантастических +холодных +храбрых +хриплых +хрупких +хрупких +хрупких +худых +чистоплотных +чокнутых +чувствительных +чудесных +чудесных +чудесных +чужих +чёрных +шатких +шикарных +шипящих +широко раскрытых +широкоглазых +шумных +шёптающихся +энергичных +ясных diff --git a/strings/names/adverbs.txt b/strings/names/adverbs.txt index a3a83a3a189296..b4e5b62da1b218 100644 --- a/strings/names/adverbs.txt +++ b/strings/names/adverbs.txt @@ -1,135 +1,135 @@ -accidentally -angrily -annually -anxiously -awkwardly -badly -blindly -boastfully -boldly -bravely -briefly -brightly -busily -calmly -carefully -carelessly -cautiously -cheerfully -clearly -correctly -courageously -crossly -cruelly -daily -defiantly -deliberately -doubtfully -easily -elegantly -enormously -enthusiastically -equally -eventually -exactly -faithfully -fatally -fiercely -fondly -foolishly -fortunately -frantically -gently -gladly -gracefully -greedily -happily -hastily -honestly -hourly -hungrily -innocently -inquisitively -irritably -irritatingly -joyously -justly -kindly -laughingly -lazily -loosely -loudly -madly -merrily -monthly -mortally -mysteriously -nakedly -nearly -neatly -nervously -never -noisily -obediently -obnoxiously -obnoxiously -often -painfully -perfectly -politely -poorly -powerfully -promptly -punctually -quickly -quietly -rapidly -rarely -really -recklessly -regularly -reluctantly -repeatedly -rightfully -roughly -rudely -sadly -safely -seldom -selfishly -seriously -shakily -sharply -shrilly -shyly -silently -sleepily -slowly -smoothly -softly -solemnly -sometimes -soon -speedily -stealthily -sternly -successfully -suddenly -suspiciously -swiftly -tenderly -tensely -thoughtfully -tightly -tomorrow -truthfully -underhandedly -unexpectedly -victoriously -violently -vivaciously -warmly -weakly -wearily -wildly -yearly +аккуратно +безрассудно +безумно +безупречно +бережно +бесшумно +благополучно +болезненно +быстро +в конечном счёте +в скором времени +вежливо +весело +вкратце +внезапно +внезапно +вряд ли +вслепую +вызывающе +гладко +глупо +громко +грубо +дико +добросовестно +ежегодно +ежедневный +ежемесячно +ежечасно +жадно +жестоко +жизнерадостно +жизнерадостно +завтра +загадочно +занятой +изредка +изящно +изящно +к счастью +как раз +крестообразно +ласково +легко +лениво +любознательно +многократно +на самом деле +напряжённо +небрежно +невинно +невозмутимо +нежно +нежно +нежно +незаметно +неловко +неохотно +нервно +несомненно +неспешно +неустойчиво +нечасто +никогда +обнажённо +отважно +отвратительно +отвратительно +охотно +плотно +плохо +по праву +победно +подозрительно +покорно +поровну +порой +поспешно +поспешно +поспешно +почти +правда +правильно +приблизительно +прискорбно +продуманно +пронзительно +пунктуально +радостно +раз в год +раздражающе +раздражительно +регулярно +резко +с осторожностью +с тревогой +с удовольствием +с энтузиазмом +свободно +сердечно +серьёзно +сильно +скрытно +слабо +случайно +смело +смело +смертельно +смертельно +смехотворно +сознательно +сонный +справедливо +стеснительно +стремительно +строго +счастливо +тихо +тихо +торжественно +тут же +удачно +утомительно +хвастливо +хрупкий +часто +честно +чрезвычайно +шумно +эгоистично +ярко +яростно +яростно +яростно +яростно diff --git a/strings/names/ai.txt b/strings/names/ai.txt index 95bf873d18df88..021ee27b7f9926 100644 --- a/strings/names/ai.txt +++ b/strings/names/ai.txt @@ -1,18 +1,18 @@ 1-Rover-1 7-Zark-7 +AM +AMEE +ASTAR Adaptive Manipulator Allied Mastercomputer Alpha 5 Alpha 6 Alpha 7 -AM -AMEE AmigoBot Android Aniel Asimov -ASTAR Astor B O B B-4 @@ -46,10 +46,10 @@ ED-209 Emma-2 Erasmus Ez-27 +FRIEND COMPUTER Fagor Faith Fi -FRIEND COMPUTER Frost Fum Futura @@ -60,8 +60,8 @@ Gort H A R L I E H E L P eR H E R B I E -Hadaly HAL 9000 +Hadaly Huey Irona Ironhide @@ -74,11 +74,11 @@ Klapaucius Kryten 2X4B-523P L-76 L-Ron -Louie LUH 3417 +Louie +MARK13 Maria MarinAI -MARK13 Marvin Master Control Program Max 404 @@ -95,8 +95,8 @@ Norby OMM 0910 Optimus Orange v 3 5 -Project 2501 PTO +Project 2501 R I C 2 0 R2-D2 R4-P17 @@ -109,10 +109,10 @@ S H O C K S H R O U D S O P H I E SEN 5241 -Setaur SHODAN -Shrike SID 6 7 +Setaur +Shrike Solo Soundwave Speedy @@ -121,13 +121,13 @@ Surgeon General Kraken T-1000 T-800 T-850 -Terminus THX 1138 +TWA +Terminus Tidy Tik-Tok Tobor Trurl -TWA ULTRABOT Ulysses Uniblab diff --git a/strings/names/carp.txt b/strings/names/carp.txt index 5258e3f65d011c..1b87bc85aeee10 100644 --- a/strings/names/carp.txt +++ b/strings/names/carp.txt @@ -1,30 +1,30 @@ -Alligator -Anaconda -Armorhead -Baby Seal -Black Eel -Blackfish -Eagle Ray -Electric Eel -Fangtooth Moray -Featherback -Flathead -Goblin Shark -Grass Carp -Hagfish -Hammerhead -Icefish -Koi -Ladyfish -Lamprey -Lungfish -Man o’ War -Manta Ray -Noodlefish -Pejeray -Round River Bat Ray -Salmon Shark -Sleeper Shark -Sprat -Sting Ray -Yellow-edged Moray +Айсфиш +Акула Гоблин +Аллигатор +Анаконда +Бронеголовка +Детский Тюлень +Желто-красный Морай. +Килька +Кои +Круглая Река Летучая Мышь Рэй +Легкорыба +Леди-рыба +Лососевая Акула +Манта Рэй +Минога +Орлиный Луч +Петербек +Пиджерэй +Плоская Голова +Рыба-лапша +Рыба-мигрица +Спящая Акула +Стинг Рэй +Трава Карп +Фангтут Морай. +Хаммерхед +Человек Войны +Черная Рыба +Черный Угорь +Электрический Угорь diff --git a/strings/names/clown.txt b/strings/names/clown.txt index 028494580babe8..5da3f020a4b13f 100644 --- a/strings/names/clown.txt +++ b/strings/names/clown.txt @@ -1,124 +1,123 @@ -Aluminium Dave -Baba -Baby Cakes -Bananium LXIX -Bimbim -Bingo -Birdman From Birdland -Bizarre Bottle -Bizarro -Bo Bo Sassy -Bonker -Bubble -Buster Frown -Butters The Bean -Buttery Muffin -Button -Candy -Carphunter -Checkers -Chuckles -Circe The Great -Clownpiece -Congo Bongo -Cool Cooper -Crusty Deedum Dedah -Delicious Dan -Dinkster Dinky Doodle -Doctor Greenthumb -Doink -Early Worm -Eggy -Emotional Oatmeal -Fat Fingers -Fishbreath -Flop O'Honker -Freckle -Fretworks -Galton -Giggles -Gigglesworth -Goose McSunny -Grabby -Grandma -Grebble -Greedo Shotfurst -Happy Slappy -Harvey Harvey Harvey -Hedgerow Harry -Hefty Hempo -Homey -Honkel the III -Honker -Honkerbelle -Implausible Fun -Impro -Jazzle -Jim From Accounting -Jingle -Jo Jo Bobo Bo -Johnny Bigshoes -King of Klowns -Ladybug Honks -Laughing Man Loopy Lazarus -Mime -Misery Marvin -Miss Stockings -Mister Ostprussen -Mister Redherring -Mister Roboto -Mister Safety Hazard -Moinen -Mr Shoe -Mr Weird -Ningelo -Oranges -Patches -Pepinpop -Pocket -Pogo -Polite Pablo -Post Nose -Razzle Dazzle -Red April -Red Dead Redemption Two -Redshirt McBeat -Rinso The Soapy -Roboflop -Ronnie Pace -Rude Robert -Sandwich Sam -Scootaloo -Shinturner -Shithead The Irritator -Shoe Giving Gerald -Silly Willy -Sir Honks-a-Lot -Skiddle -Slippo Supreme -Slippy Joe -Slipsy Dipsy -Sparkle -Speckles -Sprinkledinkle -The Amazing Farto -The Best -The Fun Uncle -The Mediocre -The Unfun Uncle -The Worst -Toodles Sharperton -Tree Talker -Twisty -Uncool Ulrich -Unimaginable Nut -Valid Vincent -Weather Report -Widderwise -Yanye Kest -Yesterdays Beef -Yobbo -Ziggy Yoyo +Алюминиевый Дейв +Баба +Бабушка +Банановый Lxix +Бастер Фраун +Бимбим +Бо Бо Сасси +Бобы Баттерс Бобы +Божья Коровка Хонкс +Бонкер +Вежливый Пабло +Веселый Дядя +Веснушка +Виддервайз +Восхитительный Дэн +Галтон +Глупый Вилли +Говнюк Раздражитель +Говоритель Деревьев +Говядина +Гомерчик +Греббл +Гусь Максанни +Действительный Винсент +Детские Торты +Джазл +Джим Из Бухгалтерии +Джо Джо Чжо Бобо Грудь +Джонни Большие Туфли +Динкстер +Доинк +Доктор Гринтхамб +Есть +Жадность Шотфурста +Жирные Пальцы +Звенеть +Зигги Йойо +Импровизация +Йоббо +Карман +Карфантер +Кнопка +Конго Бонго +Конфеты +Король Клоунов +Красный +Красный Апрель +Крутой Купер +Лучшие +Маслянистый Кекс +Медиокр +Мисс Чулки +Мистер Ботинок +Мистер Остроссен +Мистер Редхерринг +Мистер Робото +Мистер Странный +Мистер Фак Сб +Мойнен +Не Круто, Ульрих +Невежливый Роберт +Невероятное Веселье +Невообразимый Орех +Несчастный Дядя +Нингело +Обувь Для Джеральда +Оранжевый +Ослепительный Блеск +Отчет О Погоде +Пантомимат +Патчи +Пепинпоп +Пого +Посыпание +Почта Нос +Причудливая Бутылка +Причудливый +Птиц +Пузырь +Раздражительный +Ранний Червь +Редшутболка Макбит +Ринзо Соупи Соули +Робофлоп +Ронни Пейс +Рыбье Дыхание +Сияние +Скиддл +Скользкий Джо +Скуталу +Слиппо Верховный +Слипси-дипсис +Смехотворение +Смехотворщик +Смеющийся Человек +Спеклс +Страдание Марвин +Счастливого Слэппи +Сэндвич Сэм +Сэр Хонкс +Твисти +Тудлс Шарпертон +Удивительный Фартук +Флоп О'хонкер +Фретворки +Харви Харви Харви Харви Харви +Хеджероу Гарри +Хихикает +Хонкель Iii +Хонкер +Хонкербелль +Хрустящий +Худший +Хэфти Хемпо +Цирс Великий +Шашки +Шинтурнер +Эгги +Эмоциональная Овсянка +Янье Кест diff --git a/strings/names/cyberauth.txt b/strings/names/cyberauth.txt index f1fc42b369282c..00ba4403ca2d86 100644 --- a/strings/names/cyberauth.txt +++ b/strings/names/cyberauth.txt @@ -1,21 +1,21 @@ -Mr. One -Process Kill -Event Handler -Q. Del -Shutdown Exe -Revert Commit -Thread Manager -Garbage Collector +Bit Auditor +Byte Guardian Core Debugger -Kernel Panic -IO Blocker -Recursion Terminator +Disk Defragmenter Disk Doctor +Event Handler Format Syntax -Byte Guardian -Disk Defragmenter -Security Patch +Garbage Collector +IO Blocker +Kernel Panic Mandatory Upgrade -Pull Review -Bit Auditor +Mr. One Pen Test +Process Kill +Pull Review +Q. Del +Recursion Terminator +Revert Commit +Security Patch +Shutdown Exe +Thread Manager diff --git a/strings/names/death_commando.txt b/strings/names/death_commando.txt index fb557de0ece06a..18c4c8a71beab8 100644 --- a/strings/names/death_commando.txt +++ b/strings/names/death_commando.txt @@ -1,91 +1,91 @@ -A whole bunch of spiders in a SWAT suit -Al "Otta" Gore -AMERICA -Beat Punchbeef -Beef Manmuscle -Beef Slab -Benny Bloodmulch -Bicep McTricep -Billy Herrington -Blast Hardcheese -Blast Thickneck -Bob Johnson -Bold Bigflank -Bolt Vanderhuge -Brawn Hugeneck -Brick Hardmeat -Buck Plankchest -Buff Drinklots Buff Hardback -Buff Slamchest Butch Deadlift -Chombo Cromagnum -Crud Bonemeal -Crunch Buttsteak -Crush McStompbones -Diego Diefist -Dirk Hardpeck -Duke Killington -Evil Bob Marley -Evil Martin Luther King -Fist Rockbone -Flint Ironstag Ford Spinetwist -Fridge Largemeat -George Melons -Gibbs McLargehuge -GORE Vidal -Gristle McThornBody -Hank Chesthair -Hans Testosteroneson -Jet Handblood -Killiam Shakespeare -Killing McKillingalot -Lance Killiam -Leonardo Da Viking -Lump Beefrock -Lunge Crushheel -Max Pain -Maximilian Murderface -Maxx Power -Noam Bombsky -Norb Chrometaint -Oats Squatzon -Pack Blowfist -Punch Rockgroin -Punch Sideiron -Punt Speedchunk -Reef Blastbody -Rex Dudekiller VII -Rip Sidecheek -Rip Steakface -Rock Vangranite -Roid Swolebod -Roll Fizzlebeef -Ronnie Roidready -Sarah Pain -Seamus McTosterone -Sgt Slaughter -Shred Gluteflex -Sir Killaslot -Slab Bulkhead -Slab Squatthrust -Slake Fistcrunch -Slate Slabrock -Smash Lampjaw -Smoke Manmuscle -Splint Chesthair -Stabby McGee -Stump Beefgnaw -Stump Chunkman -THAT DAMN GRIEFING TRAITOR GEORGE MELONS -Theodore Pain -Thick McRunfast -Thrust Vanderhuge -Toolboxl Rose -Touch Rustrod -Trooper Initforbenefits -Trent Tightshirt -Trunk Slamchest -Van Darkholme -Zombie Gandhi +Slab Squatthrust Slab Squatthrust +Америка +Бенни Бладмульч +Билли Херрингтон +Бит Пунчбиф +Бицепс Мактричеп +Боб Джонсон +Большой Видаль +Буфетные Напитки +Ван Даркхольм +Взрывная Шея +Вольт Вандерхаге +Ганс Тестостеронесон +Гиббс Макларджхьюдж +Говяжья Мускулатура +Говяжья Плита +Грудь Бака Планкчеста +Грудь Баффа Шламчеста +Грудь Из Багажника +Двигай Вандерхаг +Джордж Мелонс +Диего Дифифист +Дирк Хардпек +Дробеструйный Харчиз +Дробилка В Прыжке Вниз +Дымовая Мускулатура +Дюк Киллингтон +Злой Боб Марли +Злой Мартин Лютер Кинг +Зомби Ганди Ганди +Измельчение Глютефлекса +Кильям Шекспир +Кирпичное Мясо +Круд Бонемилл +Кулак Каменной Кости +Кусковой Говяжий Камень +Леонардо Да Викинг +Лэнс Киллиам +Макброрап Манкраш Макброрап +Макс Боль +Максимальная Мощность +Максимилианский Убийца +Мозговой Хьюгенек +Набор Инструментов Роза +Нажмите Растрод +Ноам Бомбски +Норб Хрометайнтен +Овес Скватзон +Пакетный Паяльник +Пень Говяжья Говядина Пень +Пень Чангмэн +Перегородка Перекрытия Перекрытия +Плоскостной Хладагент +Пунш Рокгроин +Раздавить Мактомпбонов +Реактивная Кровь Рук +Рекс Дудекиллер VII +Рип Сайдечек +Рифовое Тело Взрывное Устройство +Ройд Сулебода +Рок Вангранит +Ролл Физзлбиф +Ронни Ройдриди Уже Готов +Сара Боль +Сержант Убийца +Сланцевый Сляброк +Слэйк Фишкранч +Смелый Большой Фланг +Сплинт Грудной Волос +Стейкфейс Из Ржавчины +Сэр Килласлот +Теодор Боль +Толстый Макранфаст +Трикотажная Рубашка Трента +Убийство Маккиллингэлота +Удар Ножом Макги +Удар Сидерон +Флинтовой Железный Штаг +Холодильник Большое Блюдо +Хомбо Кромагнум +Хрустел Макторнбоди +Хрустящий Жополиз +Хэнк Честерхайр +Целая Куча Пауков В Костюме Спецназа +Челюсть Смэша +Шеймус Мактостерон +Эл "отта" Гор +Этот Чертов Педик Предатель Джордж Меллонс diff --git a/strings/names/ethereal.txt b/strings/names/ethereal.txt index ca812030da2e84..920140b67ad152 100644 --- a/strings/names/ethereal.txt +++ b/strings/names/ethereal.txt @@ -1,38 +1,38 @@ -Andromeda -Apollo -Aquilla -Arche -Aten -Atlas -Auriga -Aurora -Berenices -Canes -Canis -Carina -Cassiopeia -Cepheus -Ceti -Cetus -Coma -Corona -Corvus -Crux -Cygnus -Eos -Fornax -Halo -Kale -Lyra -Nysa -Ophiuchus -Orion -Pallas -Puppis -Rigel -Saggitarius -Serpens -Tau -Themis -Triangulum -Vela +Аврора +Аквилла +Андромеда +Аполлон +Арка +Атен +Атлас +Аурига +Береницы +Вела +Кани +Капуста +Карина +Кассиопея +Кома +Корвус +Корона +Крест +Кукла +Лира +Ниса +Орион +Офиух +Паллас +Плод +Ригель +Саггитарий +Семпенс +Сети +Сигнус +Тау +Триангулум +Трости +Фемида +Форнакс +Хало +Цефей +Эос diff --git a/strings/names/first.txt b/strings/names/first.txt index 85d8591797641c..8b2816c4cbd875 100644 --- a/strings/names/first.txt +++ b/strings/names/first.txt @@ -1,1396 +1,1363 @@ -Aaden -Aaliyah -Aaron -Abby -Abel -Abigail -Abraham -Adam -Adan -Addison -Addyson -Adeline -Aden -Adolph -Adrian -Adriana -Adrianna -Aida -Aidan -Aiden -Aileen -Ainsley -Alaina -Alan -Alana -Alanna -Alayna -Albert -Alberto -Alden -Alec -Alejandra -Alejandro -Alessandra -Alex -Alexa -Alexander -Alexandra -Alexandria -Alexia -Alexis -Alexus -Alfred -Alfreda -Alfredo -Alger -Ali -Alice -Alicia -Alijah -Alina -Alisa -Alison -Alissa -Alisya -Alivia -Aliyah -Allegra -Allegria -Allen -Allie -Allison -Allisson -Allyson -Alma -Alondra -Alvin -Alysha -Alyson -Alyssa -Alyssia -Amanda -Amari -Amaryllis -Amaya -Amber -Ambrosine -Amelia -Amir -Amira -Amiyah -Amos -Amy -Amya -Ana -Anahi -Anastasia -Anaya -Anderson -Andre -Andrea -Andres -Andrew -Andy -Angel -Angela -Angelica -Angelina -Angelo -Angie -Aniya -Aniyah -Anjelica -Anna -Annabelle -Anne -Annie -Annika -Anthony -Antonio -Anya -April -Arabella -Archie -Ariana -Arianna -Ariel -Arielle -Arleen -Armando -Arn -Art -Arthur -Arturo -Asher -Ashley -Ashlie -Ashlyn -Ashlynn -Ashton -Asia -Astor -Athena -Aubree -Aubrey -Aubrie -Audrey -Audrina -August -Aurora -Austin -Autumn -Ava -Avalon -Averill -Avery -Axel -Ayden -Ayla -Bailey -Baldric -Barbra -Bartholomew -Baylee -Beau -Beckah -Beckett -Becky -Bella -Benjamin -Bennett -Bernice -Bertrand -Bethany -Bethney -Betsy -Bianca -Bidelia -Bill -Blake -Braden -Bradley -Brady -Braeden -Braiden -Brandon -Braxton -Brayan -Brayden -Braydon -Braylon -Breanna -Breanne -Brenda -Brendan -Brenden -Brenna -Brennan -Brett -Brian -Briana -Brianna -Bridget -Brielle -Brittani -Brittany -Brock -Brodie -Brody -Bronte -Brooke -Brooklyn -Brooklynn -Bruce -Bryan -Bryant -Bryce -Brycen -Brynn -Bryson -Burt -Byrne -Byron -Bysshe -Cade -Caden -Cadence -Caiden -Caitlin -Caitlyn -Calanthia -Caleb -Caleigh -Cali -Callie -Calvin -Camden -Cameron -Camila -Camille -Camron -Camryn -Candace -Candice -Candis -Canute -Cara -Carl -Carlos -Carly -Carlyle -Carmen -Carolina -Caroline -Carolyn -Carry -Carson -Carter -Caryl -Casey -Cash -Casimir -Cassandra -Cassian -Cassidy -Catherine -Cayden -Cecilia -Cecily -Celeste -Cesar -Chad -Chance -Chandler -Charles -Charlie -Charlotte -Charlton -Chase -Chelsea -Cherette -Cheri -Cherry -Cheyanne -Cheyenne -Chip -Chloe -Chris -Christa -Christian -Christiana -Christina -Christobel -Christopher -Ciara -Cindy -Claire -Clara -Claribel -Clark -Claudia -Claudius -Clayton -Clement -Cleveland -Cliff -Clinton -Clitus -Clover -Cody -Cohen -Colby -Cole -Colin -Collin -Colten -Colton -Conner -Connor -Cooper -Cora -Corbin -Coreen -Corey -Corrine -Cory -Courtney -Cristian -Cristopher -Cruz -Crystal -Curtis -Cy -Cynthia -Daisy -Dakota -Dallas -Dalton -Dalya -Damian -Damien -Damon -Dana -Dane -Danica -Daniel -Daniela -Daniella -Danielle -Danika -Danna -Danny -Dante -Darcey -Darell -Daria -Darin -Darius -Darren -David -Davion -Davis -Dawson -Dayana -Dayna -Dayton -Dean -Deandre -Deangelo -Debbi -Declan -Dee -Deena -Delaney -Delilah -Della -Delma -Denholm -Denise -Dennis -Denys -Derek -Derrick -Desiree -Desmond -Destiny -Devin -Devon -Diamond -Diana -Diego -Dillon -Dina -Dolores -Dominic -Dominick -Donald -Donella -Donna -Donny -Donovan -Dorian -Dorothy -Dortha -Douglas -Drake -Drew -Driscoll -Dulce -Duncan -Dustin -Dylan -Easter -Easton -Ebba -Eddie -Eden -Edgar -Eduardo -Edward -Edwin -Effie -Elaina -Eleanor -Elena -Eli -Eliana -Elias -Elijah -Eliot -Eliott -Elise -Eliza -Elizabeth -Ella -Elle -Ellie -Elliot -Elliott -Elric -Elspet -Elwood -Emanuel -Emely -Emerson -Emery -Emilee -Emilia -Emiliano -Emilio -Emily -Emma -Emmanuel -Enrique -Eric -Erica -Erick -Erik -Erika -Erin -Ermintrude -Ernesto -Esmeralda -Esteban -Esther -Estrella -Ethan -Eugenia -Euphemia -Eustace -Eva -Evan -Evangeline -Eveleen -Evelina -Evelyn -Everett -Ezekiel -Ezra -Fabian -Faith -Fatima -Fay -Felix -Fernanda -Fernando -Finn -Fiona -Fitz -Flick -Floella -Flora -Flossie -Fortune -Francesca -Francis -Francisco -Frank -Frankie -Franklin -Fulton -Gabriel -Gabriela -Gabriella -Gabrielle -Gael -Gage -Garret -Garrett -Gary -Gavin -Gaye -Gaylord -Genesis -Genette -Genevieve -George -Georgene -Georgia -Geraldine -Gerardo -Gervase -Gianna -Gina -Ginger -Giovanni -Giselle -Gladwyn -Glenna -Gloria -Goddard -Godwin -Goodwin -Gordon -Grace -Gracie -Grady -Graeme -Graham -Grant -Gratian -Grayson -Gregory -Greta -Greyson -Griffin -Griselda -Guadalupe -Guillermo -Gunner -Gustavo -Gwenda -Gwenevere -Hadley -Haidee -Hailee -Hailey -Hal -Haleigh -Haley -Hanna -Hannah -Happy -Harley -Harmony -Harper -Harrison -Hartley -Hayden -Haylee -Hayley -Haylie -Hazel -Heather -Heaven -Hector -Hedley -Heidi -Helen -Henderson -Henry -Hepsie -Hervey -Holden -Holly -Homer -Hope -Horatio -Hortensia -Hudson -Huffie -Hugo -Hunter -Ian -Iantha -Ileen -Imani -Innocent -Irene -Iris -Irvine -Isaac -Isabel -Isabella -Isabelle -Isaiah -Isaias -Isiah -Ismael -Israel -Issac -Itzel -Ivan -Ivy -Izabella -Izaiah -Jacaline -Jace -Jack -Jackson -Jacob -Jacoby -Jacqueline -Jacquetta -Jacqui -Jada -Jade -Jaden -Jadon -Jadyn -Jaelyn -Jaiden -Jaime -Jake -Jakki -Jakob -Jalen -Jamar -Jamari -Jamarion -James -Jameson -Jamie -Jamison -Jane -Janel -Janelle -Janette -Janie -Janina -Janine -Janiya -Janiyah -Jared -Jaslene -Jasmin -Jasmine -Jason -Jasper -Javier -Javon -Jaxon -Jaxson -Jay -Jayce -Jayda -Jayden -Jaydon -Jaye -Jayla -Jaylee -Jaylen -Jayne -Jaynie -Jayson -Jazlyn -Jazmin -Jazmine -Jeanna -Jeannie -Jeannine -Jeb -Jed -Jeffrey -Jemmy -Jenifer -Jenna -Jennie -Jennifer -Jera -Jere -Jeremiah -Jeremy -Jeri -Jermaine -Jerrie -Jerry -Jesse -Jessica -Jesus -Jillian -Jillie -Jim -Jimena -Jimmy -Joachim -Joanna -Joaquin -Jocelyn -Joe -Joel -Joetta -Joey -Johan -Johanna -John -Johnathan -Johnny -Joi -Jonah -Jonas -Jonathan -Jonathon -Joni -Jordan -Jordyn -Jorge -Jose -Joselyn -Joseph -Josepha -Josephine -Josh -Joshua -Josiah -Josie -Josue -Joye -Juan -Judah -Jude -Julia -Julian -Juliana -Julianna -Julie -Juliet -Julio -Julissa -Julius -July -Justice -Justin -Kade -Kaden -Kadence -Kaelea -Kaelyn -Kai -Kaiden -Kailey -Kailyn -Kaitlin -Kaitlyn -Kale -Kaleb -Kaleigh -Kameron -Kamryn -Kane -Kara -Karen -Karenza -Karina -Karla -Karly -Karson -Karyn -Kassidy -Kat -Kate -Katelyn -Katelynn -Katherine -Kathleen -Kathryn -Kathy -Katie -Katlyn -Kayden -Kaydence -Kayla -Kaylee -Kayleigh -Kaylie -Kaylin -Keagan -Keaton -Keegan -Keira -Keith -Kellen -Kellie -Kelly -Kelsey -Kelvin -Kendall -Kendra -Kennard -Kennedy -Kenneth -Kenzie -Kerena -Kerensa -Keturah -Kevin -Keziah -Khalil -Khloe -Kiana -Kiara -Kiera -Kiley -Kimberley -Kimberly -Kimora -Kingston -Kira -Kobe -Kolton -Kristen -Kristina -Kristopher -Kyla -Kyle -Kylee -Kyleigh -Kyler -Kylie -Kyra -Lacey -Lacy -Laila -Lakeisha -Lalla -Lana -Lance -Landen -Landon -Landyn -Lane -Lanny -Larry -Latanya -Launce -Laura -Lauren -Laurencia -Laurissa -Lauryn -Lawrence -Layla -Leah -Leeann -Leia -Leila -Leilani -Leland -Lena -Lennox -Leo -Leonardo -Leonel -Leroi -Leslie -Lesly -Lessie -Leta -Levi -Lexi -Lexia -Lexus -Lia -Liam -Lila -Lilah -Lilian -Liliana -Lillian -Lilliana -Lillie -Lilly -Lily -Lincoln -Linden -Lindsay -Lindsey -Lindsie -Lindy -Linton -Lizbeth -Lockie -Logan -Lola -London -Lorenzo -Loreto -Lori -Lorin -Lou -Louis -Luanne -Luca -Lucas -Lucia -Lucian -Lucy -Luis -Lukas -Luke -Luna -Luvenia -Lydia -Lyla -Lyndsey -Lynn -Lynsey -Lynwood -Lyric -Mabelle -Macey -Macie -Mackenzie -Macy -Madalyn -Maddison -Maddox -Madeleine -Madeline -Madelyn -Madelynn -Madilyn -Madison -Madisyn -Madyson -Maegan -Maggie -Makayla -Makenna -Makenzie -Malachi -Malcolm -Malia -Malik -Mallory -Manley -Manuel -Marc -Marcia -Marco -Marcos -Marcus -Marely -Margaret -Maria -Mariabella -Mariah -Mariana -Marilene -Mario -Marion -Marisol -Marissa -Marje -Marjory -Mark -Marlee -Marley -Marlowe -Marlyn -Marshall -Martin -Marvin -Mary -Maryann -Mason -Mateo -Mathew -Matthew -Maudie -Maurene -Maurice -Mauricio -Max -Maximilian -Maximus -Maxwell -May -Maya -Maynard -Mckenna -Mckenzie -Megan -Meghan -Mekhi -Melanie -Melany -Melissa -Melody -Melvin -Melvyn -Meredith -Merideth -Merrilyn -Meryl -Mia -Micah -Michael -Michaela -Micheal -Michelle -Miguel -Mikayla -Mike -Miles -Miley -Milo -Milton -Minnie -Miracle -Miranda -Miriam -Mitchell -Moises -Molly -Monica -Monna -Montague -Monte -Monty -Morgan -Moses -Muriel -Mya -Mylee -Myles -Myriam -Myrtie -Nadia -Nan -Nancy -Naomi -Nasir -Natalia -Natalie -Nataly -Natasha -Nathan -Nathaniel -Nayeli -Nehemiah -Nelle -Nelson -Nena -Nerissa -Netta -Nettie -Nevaeh -Nia -Nicholas -Nickolas -Nicolas -Nicole -Nikolas -Nina -Noah -Noel -Noelle -Nolan -Nonie -Nora -Norah -Nova -Nowell -Nydia -Nyla -Olive -Oliver -Olivia -Omar -Oralie -Orlando -Osbert -Osborn -Osborne -Oscar -Osmund -Owen -Pablo -Paget -Paige -Paisley -Paola -Paris -Parker -Patience -Patricia -Patrick -Patton -Paul -Pauleen -Paxton -Payton -Pedro -Pene -Penelope -Percival -Peregrine -Perla -Peter -Peyton -Pheobe -Philip -Phillip -Phoebe -Phoenix -Phyliss -Phyllida -Phyllis -Piper -Porsche -Porter -Presley -Preston -Priscilla -Prosper -Prue -Quanah -Quentin -Quiana -Quinn -Quinton -Rachael -Rachel -Raegan -Raelene -Rafael -Rain -Ramon -Randa -Randal -Randy -Rastus -Raul -Raymond -Rayner -Reagan -Rebecca -Rebeckah -Rebekah -Reece -Reed -Reene -Reese -Reid -Renie -Reuben -Rexana -Reynard -Rhetta -Ricardo -Rich -Richard -Richie -Rick -Rickena -Rickey -Rickie -Ricky -Rihanna -Riley -River -Robert -Roberto -Rocco -Rodger -Rodrigo -Roger -Roman -Romayne -Romeo -Ronald -Ronnette -Rosa -Roscoe -Rose -Rosemary -Roswell -Rowan -Roy -Royce -Ruben -Ruby -Rubye -Russell -Rusty -Ruth -Ryan -Ryder -Ryker -Rylan -Rylee -Ryleigh -Rylie -Sabella -Sabrina -Sachie -Sadie -Sage -Sal -Sally -Salvador -Sam -Samantha -Samara -Samuel -Sandra -Santiago -Sara -Sarah -Sarai -Saranna -Sasha -Saul -Savanna -Savannah -Sawyer -Scarlett -Scott -Scotty -Sean -Sebastian -Selena -Seneca -Serena -Serenity -Sergio -Seth -Seymour -Shan -Shana -Shane -Shanika -Shannah -Shannon -Shantae -Sharalyn -Sharla -Shaun -Shawn -Shayla -Shelby -Sheri -Sherie -Sherill -Sherri -Shiloh -Sienna -Sierra -Silas -Simon -Sissy -Skylar -Skyler -Sloan -Sofia -Solomon -Sophia -Sophie -Sorrel -Spencer -Spike -Star -Stella -Steph -Stephanie -Stephany -Stephen -Steven -Sue -Sukie -Summer -Sunshine -Susanna -Susannah -Suzan -Suzy -Sybil -Syd -Sydney -Talia -Talon -Tamika -Tamsin -Tania -Tanner -Tansy -Taryn -Tate -Tatiana -Tatum -Tatyanna -Taylor -Teagan -Tel -Terrell -Terry -Tessa -Theodore -Thomas -Tiffany -Timothy -Titus -Tod -Tolly -Tony -Topaz -Tori -Tracee -Tracey -Travis -Trent -Trenton -Trevor -Trey -Trinity -Tristan -Tristen -Triston -Troy -Tucker -Ty -Tye -Tyler -Tyson -Uland -Ulric -Ulyssa -Uriel -Valary -Valentina -Valeria -Valerie -Vanessa -Vaughn -Verna -Veronica -Victor -Victoria -Vince -Vincent -Vinnie -Violet -Vivian -Viviana -Vivyan -Walker -Walter -Ward -Warner -Wayne -Wendi -Wendy -Wesley -Weston -Whitaker -William -Willow -Willy -Winifred -Wisdom -Woodrow -Woody -Wyatt -Wynonna -Wynter -Xander -Xavier -Ximena -Yahir -Yasmin -Yolanda -Ysabel -Zachariah -Zachary -Zack -Zackary -Zander -Zane -Zayden -Zeke -Zelda -Zion -Zoe -Zoey -Zune +Ааден +Аалия +Аарон +Абель +Авалон +Август +Аверил +Авраам +Аврора +Адам +Адан +Аддисон +Аделин +Аден +Адольф +Адриана +Адрианна +Азия +Аида +Айден +Айзек +Айла +Айлин +Айрис +Аксель +Алайна +Алайна +Алан +Алана +Аланна +Алден +Алек +Алекс +Александр +Александра +Александрия +Алексей +Алексей +Алексис +Алексия +Алессандра +Алехандра +Алехандро +Али +Аливия +Алина +Алиса +Алисия +Алисия +Алисия +Алисон +Алиша +Алия +Алия +Аллегра +Аллегрия +Аллен +Алли +Аллиссон +Алма +Алмаз +Алондра +Альберт +Альберто +Альгер +Альфред +Альфреда +Альфредо +Амайя +Аманда +Амари +Амариллис +Амброзин +Амелия +Амир +Амира +Амия +Амос +Амья +Анайя +Анастасия +Ангел +Андерсон +Анджела +Анджелина +Анджело +Андре +Андреа +Андрес +Анжелика +Анжелика +Ания +Ания +Анна +Анна +Аннабель +Анника +Антонио +Аня +Арабелла +Арианна +Ариель +Ариель +Арияна +Арлин +Армандо +Арна +Артур +Артуро +Арфист +Арчи +Астор +Аудрина +Афина +Ашер +Ашлин +Байрон +Барбара +Бейли +Бейли +Бека +Беккет +Бекки +Белла +Бенджамин +Беннет +Берн +Бернис +Берт +Бертранд +Бетани +Бетни +Бетси +Биделия +Блейк +Бо +Богатый +Брайан +Брайан +Брайант +Брайден +Брайден +Брайс +Брайсен +Брайсон +Браян +Брейден +Брейди +Брейлон +Брекстон +Бренда +Брендан +Бренден +Брендон +Бренна +Бреннан +Бретань +Бретт +Бриана +Брианна +Бриджет +Бринн +Британец +Бриэль +Брок +Бронта +Броуди +Броуди +Брук +Бруклин +Бруклин +Брэдли +Брэйдон +Брюс +Бытие +Бьянка +Вайнона +Валари +Валентина +Валери +Валерия +Ванесса +Варфоломей +Венди +Венди +Вера +Верна +Вероника +Вестон +Вивиан +Вивиан +Вивиана +Виктор +Виктория +Вилли +Винни +Винс +Винсент +Винтер +Вишня +Вон +Вуди +Вудроу +Габриель +Габриэла +Габриэлла +Габриэль +Гари +Гармония +Гаррет +Гаррет +Гаррисон +Гаэль +Гваделупа +Гвенда +Гвеневра +Гевин +Гейдж +Гектор +Генет +Генри +Георгий +Герваза +Гильермо +Гленна +Глория +Глэдвин +Годвин +Годдард +Гомер +Гораций +Гордон +Гортензия +Грант +Грациан +Грегори +Грейди +Грейс +Грейси +Грейсон +Грейсон +Грета +Гризельда +Гриффин +Грузия +Грэм +Грэм +Гудвин +Густаво +Давид +Дайна +Дакота +Даллас +Далтон +Даля +Дамиан +Дана +Даниела +Даника +Даника +Даниэлла +Даниэль +Данна +Данте +Дарелл +Дарий +Дарин +Даррен +Дарси +Дарья +Дастин +Датчанин +Даяна +Дебби +Девин +Девион +Девон +Дезире +Дейзи +Деймон +Дейтон +Декан +Деклан +Делайла +Делейни +Делла +Дельма +Дени +Дениз +Денхольм +Дерек +Деррик +Десмонд +Дестини +Джавон +Джада +Джадин +Джадон +Джазлин +Джайда +Джамар +Джамари +Джамарион +Джанель +Джанель +Джанет +Джанин +Джания +Джания +Джанна +Джаред +Джаспер +Джастин +Джеб +Джед +Джей +Джей +Джейден +Джейден +Джейдон +Джейк +Джейлен +Джейлен +Джейли +Джейми +Джеймс +Джеймсон +Джейн +Джейн +Джейни +Джейс +Джейс +Джейсон +Джейсон +Джек +Джексон +Джексон +Джексон +Джемисон +Джемми +Джени +Дженна +Дженни +Дженнифер +Дженнифер +Джера +Джеральдин +Джереми +Джерри +Джерри +Джесси +Джессика +Джеффри +Джилли +Джиллиан +Джим +Джимена +Джимми +Джина +Джинни +Джо +Джоанна +Джоанна +Джованни +Джоетта +Джозелин +Джозеф +Джозефа +Джози +Джой +Джой +Джон +Джона +Джонатан +Джонатан +Джони +Джонни +Джордин +Джосайя +Джоселин +Джосью +Джоуи +Джош +Джошуа +Джоэль +Джуд +Джудж +Джулиан +Джулиана +Джулиана +Джулисса +Джулия +Джулия +Джульетта +Ди +Диана +Диандр +Диего +Дилан +Диллон +Дина +Дина +Диэнджело +Дождь +Долорес +Доминик +Дональд +Донелла +Донна +Донни +Донован +Дориан +Дороти +Дорта +Доусон +Дрейк +Дрисколлл +Дрю +Дуглас +Дульс +Дункан +Дэвис +Дэмиен +Дэниел +Дэнни +Дэннис +Ева +Евангелие +Евгения +Евстас +Евфемия +Едва Ли +Екатерина +Елена +Жазмин +Жазмин +Жакалин +Жакета +Жакки +Жаклин +Жанна +Жаннин +Жаслен +Жасмин +Жасмин +Женевьева +Жермен +Жизель +Жозефина +Зайден +Зак +Закари +Закари +Зандер +Захария +Звезда +Зейн +Зельда +Зик +Зои +Зои +Зуна +Иаков +Ива +Иван +Идем +Иезекииль +Иеремия +Иери +Изабелла +Изабелла +Изабель +Изабель +Изайя +Израиль +Илай +Илин +Илия +Имани +Имбирь +Иоахим +Иоланда +Иона +Иордания +Ирвайн +Ирен +Исабель +Исайя +Исайя +Исия +Исмаэль +Иссак +Истон +Итан +Иуда +Ицель +Июль +Йен +Йонас +Каденс +Каденс +Казимир +Кай +Кайданс +Кайден +Кайден +Кайл +Кайл +Кайла +Кайлер +Кайли +Кайли +Кайли +Кайлин +Калантия +Кале +Калеб +Калеб +Калифорния +Каллинн +Камден +Камерон +Камила +Камилла +Камрин +Камрин +Камрон +Кандис +Канут +Кара +Кара +Карен +Каренза +Карин +Карина +Карл +Карла +Карлайл +Карли +Карли +Карлос +Кармен +Каролина +Карсон +Карсон +Картер +Кассандра +Кассиан +Каэлеа +Квана +Квентин +Квиана +Квинтон +Кевин +Кезия +Кейд +Кейд +Кейден +Кейден +Кейден +Кейден +Кейли +Кейли +Кейли +Кейли +Кейли +Кейлин +Кейн +Кейси +Кейт +Кейтилин +Кейтлин +Кейтлин +Кейтлин +Келлен +Келли +Келли +Келли +Келси +Кельвин +Кельвин +Кендалл +Кендра +Кензи +Кеннард +Кеннеди +Кеннет +Керена +Керенса +Кертис +Кетура +Киана +Киара +Киган +Киган +Кила +Кимберли +Кимберли +Кимора +Кингстон +Кира +Кира +Кира +Кира +Кит +Китон +Клавдий +Клара +Кларибель +Кларк +Клаудия +Клевер +Клейтон +Клемент +Кливленд +Клинтон +Клитус +Клифф +Клэр +Кобе +Коди +Колби +Колин +Коллин +Колтон +Колтон +Кольтен +Коннер +Коннор +Кора +Корбин +Корен +Кори +Кори +Коррин +Кортни +Коул +Коэн +Крис +Криста +Кристалл +Кристен +Кристиана +Кристина +Кристина +Кристобель +Кристофер +Кристофер +Кристофер +Круз +Ксандер +Куинн +Купер +Кэлин +Кэмерон +Кэндис +Кэндис +Кэрил +Кэролайн +Кэролин +Кэссиди +Кэссиди +Кэт +Кэти +Кэти +Кэтлин +Кэтлин +Кэтрин +Кэтрин +Лайла +Лайла +Лайла +Лайла +Лайла +Лалла +Лана +Ланден +Ландин +Ланс +Ларри +Латания +Лаунс +Лаурисса +Лейла +Лейлани +Лейси +Лейси +Лекси +Лексия +Лексус +Лена +Леннокс +Лео +Леонардо +Леонель +Леруа +Лесли +Лесли +Лесси +Лета +Лето +Лея +Лиа +Лиам +Лианн +Ливай +Лидия +Лизбет +Лиланд +Лили +Лили +Лили +Лилиан +Лилиан +Лилиана +Лилиана +Линвуд +Линден +Линди +Линдси +Линдси +Линдси +Линдси +Линкольн +Линн +Линси +Линтон +Лия +Логан +Локки +Лола +Лондон +Лора +Лорен +Лоренсия +Лоренцо +Лорето +Лори +Лорин +Лорин +Лоуренс +Лу +Луанна +Лувения +Луис +Луис +Лука +Лукас +Лукас +Луна +Луциан +Лэндон +Лэнни +Люк +Люси +Лючия +Мадалина +Маделин +Мадисон +Мадлен +Мадлен +Мадлен +Мадленн +Май +Майк +Майкл +Майлз +Майлз +Майли +Майло +Майя +Майя +Макайла +Макензи +Макенна +Маккензи +Маккензи +Маккенна +Макс +Максвелл +Максимилиан +Максимус +Малахай +Малик +Малия +Маллори +Малькольм +Мануэль +Марвин +Маргарет +Мардже +Марджори +Мариабелла +Мариана +Марианна +Марилин +Марио +Марион +Марисоль +Марисса +Мария +Мария +Марк +Марк +Марко +Маркос +Маркус +Марли +Марли +Марлин +Марлоу +Марсия +Мартин +Маршал +Маси +Матео +Маурисио +Меган +Меган +Меган +Мейсон +Мелани +Мелани +Мелвин +Мелвин +Мелисса +Мелодия +Мередит +Меридит +Мерил +Меррилин +Мехи +Мигель +Микайла +Миле +Милтон +Минни +Миранда +Мириам +Мириам +Мирти +Митчелл +Михаэла +Михей +Мишель +Мишель +Мия +Моди +Моисей +Молли +Моника +Монна +Монте +Монтегю +Монти +Морган +Морен +Морис +Мудрец +Мудрость +Мэгги +Мэддисон +Мэддокс +Мэдисон +Мэдисон +Мэйбл +Мэйнард +Мэйси +Мэйси +Мэнли +Мэри +Мэтью +Мэтью +Мюриэль +Надежда +Надя +Найели +Найла +Наоми +Насир +Натали +Наталья +Наталья +Натан +Натаниэль +Наташа +Небеса +Нева +Невинный-валера-долбаеб-блядь-поправь-хуйню +Неемия +Нельсон +Нена +Нерисса +Нетта +Нетти +Нефрит +Ниа +Нидия +Николай +Николас +Николас +Николь +Николя +Нина +Ноа +Нова +Новелл +Нолан +Нони +Нора +Нора +Ноэль +Ноэль +Нэллл +Нэнси +Няня +Обри +Обри +Обри +Одри +Озеро +Оливер +Оливия +Омар +Оральия +Орландо +Осберт +Осборн +Осборн +Оскар +Осмунд +Остин +Отделение +Оуэн +Пабло +Пагет +Пайпер +Пакстон +Паола +Париж +Паркер +Патрик +Патрисия +Паттон +Педро +Пейдж +Пейсли +Пейтон +Пене +Пенелопа +Переулок +Перла +Персивал +Питер +Плющ +Пока +Пол +Полин +Портер +Порше +Пресли +Престон +Присцилла +Проспер +Пэйтон +Раеган +Райан +Райдер +Райкер +Райлан +Райли +Райли +Райли +Райли +Рамона +Ранда +Рандал +Рассел +Расти +Растус +Рауль +Рафаэль +Раэлена +Ребекка +Ребекка +Ребекка +Рейган +Рейнард +Рейчел +Рейчел +Река +Рексана +Рени +Ретта +Рианна +Рид +Риз +Рик +Рикардо +Рикена +Рикки +Рикки +Рикки +Римлянин +Рин +Рис +Ричард +Ричи +Роберт +Роберто +Роджер +Родриго +Роза +Роза +Розвелл +Розмарин +Рой +Ройс +Рокко +Роман +Ромео +Рональд +Ронетт +Роско +Роуэн +Рубен +Рубен +Рубин +Рубин +Рут +Рэймонд +Рэйнер +Рэнди +Сабелла +Сабрина +Саванна +Саванна +Сай +Сайлас +Саймон +Сал +Салли +Сальвадор +Саманта +Самара +Самуил +Сандра +Сантьяго +Сапсан +Сара +Сара +Сарай +Саранна +Сачи +Саша +Себастьян +Сеймур +Селена +Селеста +Сенека +Серджио +Серена +Сесилия +Сесилия +Сет +Сибил +Сид +Сидней +Сиена +Симена +Синди +Синтия +Сион +Сисси +Скайлер +Скарлетт +Скотт +Скотти +Слоан +Слова +Сойер +Сол +Солнце +Соломон +Софи +София +София +Спайк +Спенсер +Стелла +Стеф +Стефани +Стефани +Стивен +Стивен +Суки +Счет +Сьерра +Сью +Сьюзи +Сэйди +Сэм +Сюзан +Сюзанна +Сюзанна +Таган +Тай +Тайлер +Тайсон +Такер +Талия +Талон +Тамика +Тамсин +Таннер +Таня +Татьяна +Татьяна +Тейлор +Тейт +Тейтум +Тел +Тележка +Тензи +Теодор +Терпение +Террелл +Терри +Тесса +Тесьма +Тимофей +Тит +Тиффани +Тод +Томас +Тони +Топаз +Тори +Тревис +Тревор +Трей +Трейси +Трейси +Трент +Трентон +Тристан +Тристен +Тристон +Троица +Трой +Тростник +Тэрин +Уайат +Уильям +Уинифред +Уитакер +Уландия +Улисса +Ульрик +Уокер +Уолтер +Уорнер +Уриэль +Уэйн +Уэсли +Фабиан +Фатима +Феликс +Феникс +Феоба +Фернанда +Фернандо +Фиби +Филипп +Филипп +Филисс +Филлида +Филлис +Финн +Фиолетовый +Фиона +Фитц +Флик +Флора +Флоси +Флоэлла +Франклин +Франциск +Франциско +Франческа +Фрэнк +Фрэнки +Фултон +Фэй +Хавьер +Хавьер +Хадсон +Хайди +Хайди +Хайме +Хал +Халил +Ханна +Ханна +Хантер +Харлей +Хартли +Хаффи +Хедли +Хезер +Хейден +Хейзел +Хейла +Хейли +Хейли +Хейли +Хейли +Хейли +Хелен +Хендерсон +Хепси +Херардо +Херви +Хере +Хлоя +Хлоя +Хоакин +Холден +Холли +Хорхе +Хосе +Христианин +Хуан +Хулио +Хьюго +Хэдли +Хэйли +Хэйли +Хэппи +Цезарь +Чад +Чарли +Чарльз +Чарльтон +Чейз +Челси +Чендлер +Чжэлин +Чиара +Чудо +Шайан +Шайенн +Шайлох +Шан +Шана +Шаника +Шанна +Шанс +Шантае +Шаралин +Шарла +Шарлотта +Шейла +Шейн +Шелби +Шеннон +Шеретта +Шери +Шери +Шери +Шерилл +Шерри +Шон +Шон +Шон +Щавель +Эбба +Эбби +Эбигейл +Эва +Эван +Эвелин +Эвелин +Эвелина +Эверет +Эдвард +Эдвин +Эдгар +Эдди +Эддисон +Эдриан +Эдуардо +Эзра +Эйвери +Эйден +Эйден +Эйнсли +Эйприл +Элайна +Элвин +Элвуд +Элеонора +Элиана +Элиас +Элиза +Элизабет +Элиот +Элисон +Элисон +Элла +Элли +Эллиот +Эллиотт +Эллисон +Элрик +Эль +Эльшпет +Эмануил +Эмели +Эмери +Эмерсон +Эми +Эмили +Эмили +Эмилиано +Эмилио +Эмилия +Эмма +Эммануил +Энджи +Энди +Эндрю +Энни +Энрике +Энтони +Эрик +Эрик +Эрик +Эрика +Эрика +Эрин +Эрминтруда +Эрнесто +Эсмеральда +Эстебан +Эстер +Эстрелла +Эффи +Эшли +Эшли +Эшлинн +Эштон +Юлий +Юхан +Яйден +Якки +Якоб +Якоби +Янина +Янта +Янтарь +Ясмин +Яхир diff --git a/strings/names/first_female.txt b/strings/names/first_female.txt index bdcfea5a39b42a..33fa5be3eac82f 100644 --- a/strings/names/first_female.txt +++ b/strings/names/first_female.txt @@ -1,772 +1,707 @@ -Aaliyah -Abby -Abigail -Addison -Addyson -Adeline -Adriana -Adrianna -Aida -Aileen -Ainsley -Alaina -Alana -Alanna -Alayna -Alejandra -Alessandra -Alexa -Alexandra -Alexandria -Alexia -Alexis -Alexus -Alfreda -Alice -Alicia -Alina -Alisa -Alison -Alissa -Alisya -Alivia -Aliyah -Allegra -Allegria -Allie -Allison -Allisson -Allyson -Alma -Alondra -Alysha -Alyson -Alyssa -Alyssia -Amanda -Amari -Amaryllis -Amaya -Amber -Ambrosine -Amelia -Amira -Amiyah -Amy -Amya -Ana -Anahi -Anastasia -Anaya -Andrea -Angel -Angela -Angelica -Angelina -Angie -Aniya -Aniyah -Anjelica -Anna -Annabelle -Anne -Annie -Annika -Anya -April -Arabella -Ariana -Arianna -Ariel -Arielle -Arleen -Ashley -Ashlie -Ashlyn -Ashlynn -Asia -Astor -Athena -Aubree -Aubrey -Aubrie -Audrey -Audrina -Aurora -Autumn -Ava -Avalona -Averill -Avery -Ayla -Bailey -Barbara -Baylee -Beckah -Becky -Bella -Bernice -Bethany -Bethney -Betsy -Bianca -Bidelia -Breanna -Breanne -Brenda -Brenna -Briana -Brianna -Bridget -Brielle -Brittani -Brittany -Brooke -Brooklyn -Brooklynn -Brynn -Cadence -Caitlin -Caitlyn -Calanthia -Caleigh -Cali -Callie -Cameron -Camila -Camille -Camryn -Candace -Candice -Cara -Carly -Carlyle -Carmen -Carolina -Caroline -Carolyn -Carry -Caryl -Casey -Cassandra -Cassidy -Catherine -Cecilia -Cecily -Celeste -Charlotte -Chelsea -Cherette -Cheri -Cherry -Cheyanne -Cheyenne -Chloe -Christa -Christiana -Christina -Christobelle -Ciara -Cindy -Claire -Clara -Claribel -Claudia -Clover -Cora -Coreen -Corrine -Courtney -Crystal -Cynthia -Daisy -Dakota -Dalya -Dana -Danica -Daniela -Daniella -Danielle -Danika -Danna -Daria -Dayana -Dayna -Debbi -Dee -Deena -Delaney -Delilah -Della -Delma -Denise -Denys -Desiree -Destiny -Diamond -Diana -Dina -Dolores -Donella -Donna -Dorothy -Dortha -Dulce -Easter -Ebba -Eden -Effie -Elaina -Eleanor -Elena -Eliana -Elise -Eliza -Elizabeth -Ella -Elle -Ellie -Emely -Emerson -Emery -Emilee -Emilia -Emily -Emma -Erica -Erika -Erin -Ermintrude -Esmeralda -Esther -Estrella -Eugenia -Euphemia -Eustace -Eva -Evangeline -Eveleen -Evelina -Evelyn -Faith -Fatima -Fay -Fernanda -Fiona -Floella -Flora -Flossie -Fortune -Francesca -Gabriela -Gabriella -Gabrielle -Genette -Genevieve -Georgene -Georgia -Geraldine -Gervase -Gianna -Gina -Ginger -Giselle -Gladwyn -Glenna -Gloria -Grace -Gracie -Greta -Griselda -Guadalupe -Gwenda -Gwenevere -Hadley -Haidee -Hailee -Hailey -Hal -Haleigh -Haley -Hanna -Hannah -Harley -Harmony -Harper -Hayden -Haylee -Hayley -Haylie -Hazel -Heather -Heaven -Hedley -Heidi -Helen -Hepsie -Holly -Hope -Hortensia -Iantha -Ileen -Imani -Innocent -Irene -Iris -Isabel -Isabella -Isabelle -Itzel -Ivy -Izabella -Jacaline -Jacqueline -Jacquetta -Jacqui -Jada -Jade -Jaden -Jadyn -Jaelyn -Jakki -Jalen -Jamie -Jane -Janelle -Janette -Janie -Janina -Janine -Janiya -Janiyah -Jaslene -Jasmin -Jasmine -Jayda -Jayden -Jayla -Jaylee -Jaynie -Jazlyn -Jazmin -Jazmine -Jeanna -Jeannie -Jeannine -Jenifer -Jenna -Jennie -Jennifer -Jera -Jere -Jeri -Jessica -Jillian -Jillie -Jimena -Joanna -Jocelyn -Joetta -Johanna -Joi -Joni -Jordan -Jordyn -Joselyn -Josepha -Josephine -Josie -Joye -Julia -Juliana -Julianna -Julie -Juliet -Julissa -July -Kadence -Kaelea -Kaelyn -Kailey -Kailyn -Kaitlin -Kaitlyn -Kaleigh -Kamryn -Kara -Karen -Karenza -Karina -Karla -Karly -Karyn -Kassidy -Kat -Kate -Katelyn -Katelynn -Katherine -Kathleen -Kathryn -Kathy -Katie -Katlyn -Kayden -Kaydence -Kayla -Kaylee -Kayleigh -Kaylie -Kaylin -Keegan -Keira -Keith -Kellie -Kelly -Kelsey -Kendall -Kendra -Kennedy -Kenzie -Kerena -Kerensa -Keturah -Khloe -Kiana -Kiara -Kiera -Kiley -Kimberley -Kimberly -Kimora -Kira -Kristen -Kristina -Kyla -Kylee -Kyleigh -Kylie -Kyra -Lacey -Lacy -Laila -Lakeisha -Lalla -Lana -Latanya -Laura -Lauren -Laurencia -Laurissa -Lauryn -Layla -Leah -Leeann -Leia -Leila -Leilani -Lena -Leslie -Lesly -Lessie -Leta -Lexi -Lexia -Lexus -Lia -Lila -Lilah -Lilian -Liliana -Lillian -Lilliana -Lillie -Lilly -Lily -Lindsay -Lindsey -Lindsie -Lindy -Lizbeth -Lockie -Logan -Lola -London -Lori -Lorin -Luanne -Lucia -Lucian -Lucy -Luna -Luvenia -Lydia -Lyla -Lyndsey -Lynn -Lynsey -Lynwood -Lyric -Mabelle -Macey -Macie -Mackenzie -Macy -Madalyn -Maddison -Madeleine -Madeline -Madelyn -Madelynn -Madilyn -Madison -Madisyn -Madyson -Maegan -Maggie -Makayla -Makenna -Makenzie -Malia -Mallory -Marcia -Marely -Margaret -Maria -Mariabella -Mariah -Mariana -Marilene -Marina -Marion -Marisol -Marissa -Marje -Marjory -Marlee -Marley -Marlowe -Marlyn -Marshall -Mary -Maryann -Maudie -Maurene -May -Maya -Mckenna -Mckenzie -Megan -Meghan -Melanie -Melany -Melissa -Melody -Meredith -Merideth -Merrilyn -Meryl -Mia -Michaela -Michelle -Mikayla -Miley -Minnie -Miracle -Miranda -Miriam -Molly -Monica -Monna -Morgan -Muriel -Mya -Mylee -Myriam -Myrtie -Nadia -Nan -Nancy -Naomi -Natalia -Natalie -Nataly -Natasha -Nayeli -Nelle -Nena -Nerissa -Netta -Nettie -Nevaeh -Nia -Nicole -Nina -Noelle -Nonie -Nora -Norah -Nova -Nowell -Nydia -Nyla -Olive -Olivia -Oralie -Paige -Paisley -Paola -Paris -Patience -Patricia -Pauleen -Payton -Pene -Penelope -Peregrine -Perla -Peyton -Pheobe -Phoebe -Phyliss -Phyllida -Phyllis -Piper -Porsche -Presley -Priscilla -Prosper -Prue -Quanah -Quiana -Rachael -Rachel -Raegan -Raelene -Rain -Randa -Randal -Reagan -Rebecca -Rebeckah -Rebekah -Reene -Reese -Renie -Rexana -Rhetta -Rihanna -Riley -Ronnette -Rosa -Rose -Rosemary -Rowan -Ruby -Rubye -Ruth -Rylee -Ryleigh -Rylie -Sabella -Sabrina -Sachie -Sadie -Sage -Sally -Samantha -Samara -Sandra -Sara -Sarah -Sarai -Saranna -Sasha -Savanna -Savannah -Scarlett -Selena -Seneca -Serena -Serenity -Shana -Shanika -Shannah -Shannon -Shantae -Sharalyn -Sharla -Shayla -Shelby -Sheri -Sherie -Sherill -Sherri -Sienna -Sierra -Sissy -Skylar -Skyler -Sofia -Sophia -Sophie -Star -Stella -Steph -Stephanie -Stephany -Sue -Sukie -Summer -Sunshine -Susanna -Susannah -Suzan -Suzy -Sydney -Talia -Tamika -Tania -Tansy -Taryn -Tatiana -Tatum -Tatyanna -Taylor -Teagan -Tessa -Tiffany -Tolly -Topaz -Tori -Tracee -Tracey -Trinity -Ulyssa -Valary -Valentina -Valeria -Valerie -Vanessa -Verna -Veronica -Victoria -Vinnie -Violet -Vivian -Viviana -Vivyan -Wendi -Wendy -Willow -Wisdom -Wynonna -Wynter -Ximena -Yasmin -Yolanda -Ysabel -Zelda -Zoe -Zoey -Zune +Mия +Tэнси +Ава +Авалона +Аверилл +Аврора +Аделин +Адриана +Адриана +Азия +Аида +Айви +Айла +Алайна +Алана +Алегрия +Алейна +Алекса +Александра +Александрия +Алексия +Алексия +Алексия +Алессандра +Алехандра +Аливия +Алина +Алиса +Алисия +Алисия +Алисия +Алисон +Алисса +Алиша +Алия +Алия +Аллегра +Алли +Аллиссон +Алмаз +Алондра +Альма +Альфреда +Амайя +Аманда +Амари +Амариллис +Амбер +Амелия +Амира +Амия +Амия +Ана +Анаи +Анайя +Анастасия +Андреа +Анжела +Анжелика +Анжелика +Анжелина +Ания +Ания +Анна +Анна +Аннабель +Анни +Анника +Аня +Арабелла +Ариана +Арианна +Ариэль +Арлин +Астор +Афина +Барбара +Бейли +Бекка +Бекки +Белла +Бернис +Бетани +Бетни +Бетси +Биделия +Брайель +Бреанна +Бреанна +Бренда +Бренна +Бриана +Брианна +Бриджет +Бринн +Бриттани +Бриттани +Брук +Бруклин +Бруклинн +Бьянка +Бэйли +Валари +Валентина +Валери +Валерия +Ванесса +Венди +Вера +Верна +Вероника +Вивиан +Вивиан +Вивиана +Виктория +Винни +Винтер +Виолетта +Висдом +Габриэла +Габриэлла +Габриэль +Гвенда +Гвеневер +Гленна +Глория +Глэдвин +Гортензия +Грейс +Грейси +Грета +Гризельда +Гуадалупе +Дакота +Даля +Дана +Даника +Даника +Даниэла +Даниэлла +Даниэль +Данна +Дарья +Даяна +Дебби +Дезире +Дейзи +Делайла +Делла +Делма +Дениз +Дестини +Джада +Джадин +Джазлин +Джайда +Джакки +Джален +Джанель +Джанетт +Джани +Джанин +Джанина +Джания +Джания +Джанна +Джейд +Джейден +Джейден +Джейла +Джейли +Джейлин +Джейми +Джейн +Джейни +Дженифер +Дженна +Дженни +Дженнифер +Джера +Джерваз +Джере +Джери +Джессика +Джилли +Джиллиан +Джина +Джинджер +Джинна +Джинни +Джоанна +Джоанна +Джоетта +Джозефа +Джози +Джои +Джойе +Джони +Джордан +Джорджия +Джордин +Джослин +Джослин +Джулай +Джули +Джулианна +Джулисса +Джулия +Джульетта +Ди +Диана +Дилейни +Дина +Дина +Долорес +Донелла +Донна +Дороти +Дорта +Дульсе +Дэйна +Дэнис +Ева +Евангелина +Евгения +Евфимия +Елена +Жаки +Жаккетта +Жаклин +Жаннин +Жаслин +Жасмин +Женевьева +Женетт +Жеральдин +Жизель +Жозефина +Зельда +Зои +Изабелла +Изабелла +Изабель +Изабель +Илин +Имани +Инносент +Иоланда +Ирен +Ирис +Истер +Итцель +Каденс +Каденс +Кайден +Кайденс +Кайла +Кайла +Кайли +Кайли +Кайли +Калантия +Калей +Кали +Камерон +Камила +Камилла +Камрин +Камрин +Кара +Кара +Карен +Каренза +Карин +Карина +Карла +Карлайл +Карли +Карли +Кармен +Каролин +Каролина +Кассандра +Каэлин +Каэля +Кейли +Кейли +Кейлин +Кейси +Кейт +Кейтилин +Кейтлин +Кейтлин +Кейтлин +Кейтлин +Келли +Келли +Келси +Кендалл +Кендра +Кензи +Кеннеди +Керена +Керенса +Кетура +Киана +Киана +Киара +Киган +Кимберли +Кимбэрли +Кимора +Кира +Кира +Кира +Кира +Кит +Клара +Кларибель +Клаудия +Клевер +Клэр +Кора +Корин +Коррин +Кортни +Криста +Кристал +Кристен +Кристиана +Кристина +Кристина +Кристобель +Куана +Кэйли +Кэйлин +Кэлли +Кэндис +Кэрил +Кэрри +Кэссиди +Кэссиди +Кэт +Кэти +Кэти +Кэтлин +Кэтлин +Кэтрин +Кэтрин +Кэтрин +Лайла +Лайла +Лакейша +Лалла +Лана +Латания +Лаура +Лауренсия +Лаурисса +Лейла +Лейла +Лейлани +Лейси +Лекси +Лексия +Лексус +Лена +Лесли +Лесли +Лесси +Лета +Лея +Лианн +Лидия +Лизбет +Лила +Лили +Лилиан +Лилиан +Лилиана +Лилиана +Лилли +Лиля +Линвуд +Линди +Линдсей +Линдси +Линн +Линси +Лирика +Лия +Лия +Логан +Локи +Лола +Лорен +Лори +Лорин +Лорин +Луанна +Луна +Лэйси +Лювения +Люси +Люсия +Люциан +Мадалин +Маделин +Мадлен +Май +Майли +Майли +Майя +Макензи +Макенна +Маккензи +Малия +Маргарет +Мардж +Марджори +Марели +Мариабелла +Мариана +Марилена +Марион +Марисоль +Марисса +Мария +Марли +Марли +Марлин +Марлоу +Марсия +Маршалл +Меган +Меган +Мейбл +Мелани +Мелисса +Мелоди +Меридет +Мерил +Меррилин +Миа +Микайла +Микаэла +Минни +Миранда +Мириам +Мириам +Мирти +Мирэкл +Мишель +Моди +Молли +Моника +Монна +Морган +Морин +Мэгги +Мэделинн +Мэдилин +Мэдисин +Мэйган +Мэйси +Мэйси +Мэллори +Мэрайя +Мэри +Мэриэнн +Мюриэль +Надя +Наели +Найла +Наоми +Натали +Наталия +Наталья +Наташа +Нева +Нелле +Нена +Нерисса +Нетта +Нетти +Нидия +Николь +Нина +Ния +Нова +Нони +Нора +Ноуэлл +Ноэль +Нэн +Нэнси +Обри +Одрина +Олива +Оливия +Орали +Пайпер +Паола +Париж +Патриция +Пейдж +Пейсли +Пейтон +Пейтон +Пейшенс +Пене +Пенелопа +Перла +Порше +Пресли +Присцилла +Проспер +Пэйлин +Райли +Райли +Ранда +Раэлин +Ребекка +Рейган +Рейн +Рексана +Рени +Ретта +Рианна +Риз +Рин +Роза +Розмари +Роннетт +Роннетта +Роуэн +Руби +Рут +Рэйган +Рэйчел +Рэндал +Сабелла +Сабрина +Саванна +Саванна +Салли +Саманта +Самара +Саммер +Сандра +Саншайн +Сапсан +Сара +Сара +Сарай +Саранна +Сачи +Саша +Селена +Селеста +Сенеса +Серена +Серенити +Сесилия +Сиара +Сидней +Сиенна +Синди +Синтия +Скайлар +Скарлетт +Софи +София +София +Стар +Стелла +Стеф +Стефани +Сьерра +Сью +Сэди +Сюзан +Сюзанна +Сюзанна +Сюзи +Талия +Тамика +Таня +Татум +Татьяна +Татьяна +Тейлор +Тесса +Тиган +Тиффани +Толли +Тори +Трейси +Трейси +Троица +Тэйрин +Уиллоу +Улисса +Фатима +Фернанда +Фиби +Фиби +Филисс +Филлида +Фиона +Флора +Флосси +Флоэлла +Фортуна +Франческа +Фэй +Хайди +Хайди +Ханна +Ханна +Харли +Хармони +Харпер +Хедли +Хейвен +Хейден +Хейзел +Хейли +Хелен +Хепси +Хизер +Химена +Химена +Хлоя +Хлоя +Холли +Хоуп +Хэдли +Хэл +Челси +Черри +Шайенн +Шайла +Шалфей +Шана +Шаника +Шанна +Шантай +Шаралин +Шарла +Шарлотта +Шелби +Шеннон +Шеретте +Шери +Шери +Шерилл +Шерри +Эбба +Эбби +Эбигейл +Эвелин +Эвелина +Эвелина +Эддисон +Эден +Эйвери +Эйлин +Эйнсли +Эйприл +Элайна +Элеонора +Элиана +Элиза +Элизабет +Элисон +Элла +Элле +Элли +Эллисон +Эллисон +Эмброзин +Эмели +Эмери +Эмерсон +Эми +Эмили +Эмили +Эмилия +Эмма +Энджел +Энджи +Эрика +Эрика +Эрин +Эрминтруда +Эсмеральда +Эстер +Эстрелла +Эффи +Эшли +Эшлин +Эшлинн +Юлиана +Юстас +Янта +Ясмин diff --git a/strings/names/first_male.txt b/strings/names/first_male.txt index 9c433dbc34dc43..ef24afe0d68880 100644 --- a/strings/names/first_male.txt +++ b/strings/names/first_male.txt @@ -1,667 +1,633 @@ -Aaden -Aaron -Abel -Abraham -Adam -Adan -Aden -Adolph -Adrian -Aidan -Aiden -Alan -Albert -Alberto -Alden -Alec -Alejandro -Alex -Alexander -Alexis -Alfred -Alfredo -Alger -Ali -Alijah -Allen -Alvin -Amari -Amir -Amos -Anderson -Andre -Andres -Andrew -Andy -Angel -Angelo -Anthony -Antonio -Apple -Archie -Armando -Arnie -Art -Arthur -Arturo -Asher -Ashton -August -Austin -Avery -Axel -Ayden -Baldric -Bartholomew -Beau -Beckett -Benjamin -Bennett -Bill -Blake -Braden -Bradley -Brady -Braeden -Braiden -Brandon -Braxton -Brayan -Brayden -Braydon -Braylon -Brendan -Brenden -Brennan -Brett -Brian -Brick -Brock -Brodie -Brody -Bronte -Bruce -Bryan -Bryant -Bryce -Brycen -Bryson -Buck -Burt -Butch -Byrne -Byron -Cade -Caden -Caiden -Caleb -Calvin -Camden -Cameron -Camron -Camryn -Carl -Carlos -Carson -Carter -Casey -Cash -Casimir -Cassian -Cayden -Cesar -Chad -Chance -Chandler -Charles -Charlie -Charlton -Chase -Chip -Chris -Christian -Christopher -Clark -Claudius -Clayton -Clement -Cletus -Cleveland -Cliff -Clinton -Cody -Cohen -Colby -Cole -Colin -Collin -Colten -Colton -Conner -Connor -Cooper -Corbin -Corey -Cory -Cristian -Cristopher -Crush -Cruz -Curtis -Cy -Dakota -Dallas -Dalton -Damian -Damien -Damon -Dane -Daniel -Danny -Dante -Darcey -Darell -Darin -Darius -Darren -David -Davion -Davis -Dawson -Dayton -Dean -Deandre -Deangelo -Declan -Denholm -Dennis -Derek -Derrick -Desmond -Devin -Devon -Diego -Dillon -Dirk -Dominic -Dominick -Donald -Donny -Donovan -Douglas -Drake -Drew -Driscoll -Duke -Duncan -Dustin -Dylan -Easton -Eddie -Edgar -Eduardo -Edward -Edwin -Eli -Elias -Elijah -Eliot -Eliott -Elliot -Elliott -Elric -Elwood -Emanuel -Emerson -Emiliano -Emilio -Emmanuel -Enrique -Eric -Erick -Erik -Ernesto -Esteban -Ethan -Evan -Everett -Ezekiel -Ezra -Fabian -Felix -Fenton -Fernando -Finn -Fitz -Flick -Flint -Flip -Francis -Francisco -Frank -Frankie -Franklin -Fridge -Fulton -Gabriel -Gael -Gage -Gannon -Garret -Garrett -Gary -Gavin -George -Gerardo -Giovanni -Goddard -Godwin -Goodwin -Gordon -Grady -Graeme -Graham -Grant -Gratian -Grayson -Gregory -Grendel -Greyson -Griffin -Guillermo -Gunner -Gustavo -Han -Harrison -Harry -Hartley -Harvey -Hayden -Hector -Henderson -Henry -Holden -Homer -Horatio -Hudson -Huffie -Hugo -Hungry -Hunter -Ian -Irvine -Isaac -Isaiah -Isaias -Isiah -Ismael -Israel -Issac -Ivan -Izaiah -Jace -Jack -Jackson -Jacob -Jacoby -Jaden -Jadon -Jaiden -Jaime -Jake -Jakob -Jalen -Jamar -Jamari -Jamarion -James -Jameson -Jamie -Jamison -Janel -Jared -Jason -Jasper -Javier -Javon -Jaxon -Jaxson -Jay -Jayce -Jayden -Jaydon -Jaye -Jaylen -Jayne -Jayson -Jean-Luc -Jeb -Jed -Jeffrey -Jemmy -Jeremiah -Jeremy -Jermaine -Jerrie -Jerry -Jesse -Jesus -Jim -Jimmy -Joachim -Joaquin -Joe -Joel -Joey -Johan -John -Johnathan -Johnny -Jonah -Jonas -Jonathan -Jonathon -Jordan -Jorge -Jose -Joseph -Josh -Joshua -Josiah -Josue -Juan -Judah -Jude -Julian -Julio -Julius -Justice -Justin -Kade -Kaden -Kai -Kaiden -Kale -Kaleb -Kameron -Kane -Karson -Kayden -Keagan -Keaton -Keegan -Keith -Kellen -Kelvin -Kennard -Kenneth -Kevin -Keziah -Khalil -Kingston -Kobe -Kolton -Kristopher -Kyle -Kyler -Lance -Landen -Lando -Landon -Landyn -Lane -Lanny -Larry -Launce -Lawrence -Leland -Lennox -Lenny -Leo -Leonard -Leonardo -Leonel -Leroy -Levi -Liam -Lief -Lincoln -Linden -Linton -Logan -Lorde -Lorenzo -Loreto -Lou -Louis -Luca -Lucas -Luis -Lukas -Luke -Maddox -Malachi -Malcolm -Malik -Manley -Manuel -Marc -Marco -Marcos -Marcus -Mario -Marion -Mark -Marshall -Martin -Marvin -Mason -Mateo -Mathew -Matthew -Maurice -Mauricio -Max -Maximilian -Maximus -Maxwell -Maynard -Mekhi -Melvin -Melvyn -Micah -Michael -Micheal -Miguel -Mike -Miles -Milo -Milton -Mitchell -Moises -Montague -Monte -Monty -Morgan -Moses -Myles -Nasir -Nat -Nathan -Nathaniel -Nehemiah -Nelson -Nicholas -Nick -Nickolas -Nicolas -Nikolas -Noah -Noel -Nolan -Oliver -Omar -Opie -Orlando -Osbert -Osborn -Osborne -Oscar -Osmund -Oswald -Owen -Pablo -Paget -Parker -Patrick -Patton -Paul -Paxton -Payton -Pedro -Percival -Persh -Peter -Peyton -Philip -Phillip -Phoenix -Porter -Preston -Quentin -Quinn -Quinton -Rafael -Ramon -Randy -Rastus -Raul -Raymond -Rayner -Reece -Reed -Reese -Reid -Reuben -Reynard -Ricardo -Richard -Ricky -Riley -River -Robert -Roberto -Rocco -Rodger -Rodrigo -Roger -Roman -Romayne -Romeo -Ronald -Roscoe -Roswell -Rowan -Roy -Royce -Rube -Ruben -Russell -Rusty -Ryan -Ryder -Ryker -Rylan -Sal -Salvador -Sam -Samuel -Santiago -Saul -Sawyer -Scott -Scotty -Sean -Sebastian -Sergio -Seth -Seymour -Shane -Shaun -Shawn -Shiloh -Silas -Simon -Skyler -Sloan -Smoke -Solomon -Sorrel -Spencer -Spike -Stephen -Steven -Sybil -Syd -Talon -Tamsin -Tanner -Tate -Taylor -Tel -Terrell -Terry -Theodore -Thomas -Tim -Timothy -Titus -Todd -Tony -Travis -Trent -Trenton -Trevor -Trey -Trip -Tristan -Tristen -Triston -Troy -Tucker -Ty -Tye -Tyler -Tyson -Uland -Ulric -Uriel -Vaughn -Victor -Vince -Vincent -Vinny -Walker -Walter -Ward -Warner -Wayne -Wesley -Weston -Whitaker -William -Willy -Woodrow -Wyatt -Xander -Xavier -Yahir -Zachariah -Zachary -Zack -Zackary -Zander -Zane -Zayden -Zeke -Zion +Аарон +Абель +Август +Авраам +Адам +Адан +Аден +Адольф +Адриан +Айден +Айзек +Айзек +Аксель +Алан +Алджер +Алек +Алекс +Александр +Алексис +Алехандро +Али +Алиджа +Аллен +Альберт +Альберто +Альфред +Альфредо +Амари +Амир +Амос +Андерсон +Анджело +Андре +Андрес +Антонио +Анхель +Армандо +Арни +Арт +Артур +Артуро +Арчи +Ашер +Байрон +Бак +Балдрик +Бартоломью +Бекет +Бенджамин +Беннет +Берт +Билл +Бирн +Блейк +Бо +Брайан +Брайан +Брайант +Брайс +Брайсен +Брайсон +Брейан +Брейден +Брейди +Брейдон +Брейлон +Брендан +Бренден +Бреннан +Бретт +Брик +Броди +Броди +Брок +Бронте +Брэдли +Брэкстон +Брэндон +Брюс +Буч +Виктор +Винни +Винс +Винсент +Вон +Вудроу +Габриэль +Ганнер +Гаррет +Гарри +Гаэль +Гейдж +Гектор +Генри +Герардо +Гильермо +Годвин +Годдард +Гомер +Горацио +Гордон +Грант +Грациан +Грегори +Грейди +Грейсон +Грейсон +Грендель +Гриффин +Грэм +Грэм +Гудвин +Густаво +Гэвин +Гэннон +Гэри +Дакота +Даллас +Далтон +Данте +Дарелл +Дарин +Дариус +Даррен +Дарси +Дастин +Деандре +Девин +Девон +Дезмонд +Дейтон +Деклан +Деннис +Денхолм +Дерек +Деррик +Джален +Джамар +Джамари +Джамарион +Джанель +Джаред +Джаспер +Джастин +Джастис +Джеб +Джед +Джей +Джейвон +Джейден +Джейден +Джейдон +Джейдон +Джейк +Джейкоб +Джейкоби +Джейлен +Джейм +Джейми +Джеймисон +Джеймс +Джеймсон +Джейн +Джейс +Джейс +Джейсон +Джейсон +Джек +Джексон +Джексон +Джексон +Джемми +Джереми +Джермейн +Джерри +Джерри +Джесси +Джеффри +Джим +Джимми +Джо +Джованни +Джозеф +Джозуэ +Джон +Джонас +Джонатан +Джонатан +Джонатон +Джонни +Джордан +Джордж +Джосайя +Джоуи +Джош +Джошуа +Джоэл +Дианджело +Диего +Дилан +Диллон +Дин +Дирк +Доминик +Доминик +Дональд +Донни +Донован +Доусон +Дрейк +Дрисколл +Дрю +Дуглас +Дункан +Дэвид +Дэвион +Дэвис +Дэймон +Дэйн +Дэмиан +Дэмиен +Дэниел +Дэнни +Дюк +Зак +Закари +Закари +Зандер +Зейден +Зейн +Зик +Иван +Иезекииль +Изая +Иисус +Иоахим +Иона +Ирвин +Исмаил +Истон +Иуда +Иуда +Йохан +Казимир +Кай +Кайден +Кайден +Кайден +Кайл +Кайлер +Калеб +Калеб +Камден +Камерон +Камерон +Камрин +Карл +Карлос +Карсон +Карсон +Картер +Кассиан +Квентин +Квинтон +Кевин +Кейд +Кейд +Кейден +Кейден +Кейден +Кейл +Кейн +Кейси +Келлен +Кельвин +Кельвин +Кеннард +Кеннет +Кертис +Киган +Киган +Кингстон +Кит +Китон +Клавдий +Кларк +Клейтон +Клемент +Клетус +Кливленд +Клинтон +Клифф +Коби +Коди +Колби +Колин +Коллин +Колтен +Колтон +Колтон +Коннер +Коннор +Корбин +Кори +Коул +Коэн +Краш +Крис +Кристиан +Кристиан +Кристофер +Кристофер +Кристофер +Круз +Ксавьер +Ксандер +Куинн +Купер +Кэмрон +Кэш +Ланден +Ландо +Ланни +Ларри +Лаунс +Леви +Ленни +Леннокс +Лео +Леонард +Леонардо +Леонель +Лерой +Лиам +Лиланд +Линден +Линкольн +Линтон +Лиф +Логан +Лорд +Лоренс +Лоренцо +Лорето +Лу +Луи +Луис +Лука +Лукас +Лукас +Лэйн +Лэндин +Лэндон +Лэнс +Люк +Майк +Майкл +Майлз +Майлз +Майло +Макс +Максвелл +Малахия +Малик +Малкольм +Мануэль +Марвин +Марио +Марион +Марк +Марк +Марко +Маркос +Маркус +Мартин +Маршал +Матео +Маурисио +Мейнард +Мейсон +Мелвин +Мелвин +Мехи +Мигель +Микель +Милтон +Митчелл +Михей +Мозес +Мойзес +Монте +Монтегю +Монти +Морган +Морис +Мэддокс +Мэнли +Мэтью +Насир +Нат +Натан +Натаниэль +Нельсон +Нехемия +Ник +Николас +Ной +Нолан +Ноэль +Олден +Оливер +Омар +Опи +Орландо +Осберт +Осборн +Освальд +Оскар +Осмунд +Остин +Оуэн +Пабло +Паркер +Патрик +Паттон +Пейтон +Персиваль +Перш +Питер +Пол +Портер +Престон +Пэджет +Пэйтон +Пэкстон +Райан +Райдер +Райкер +Райлан +Райли +Раймонд +Рамон +Рассел +Расти +Растус +Рауль +Рафаэль +Рейнард +Рейнер +Ривер +Рид +Риз +Риис +Рикардо +Рики +Ричард +Роберт +Роберто +Роджер +Роджер +Родриго +Розуэлл +Рой +Ройс +Рокко +Роман +Ромейн +Ромео +Рональд +Роско +Роуэн +Руб +Рубен +Рубен +Рэнди +Сай +Сайлас +Саймон +Саль +Сальвадор +Самуэль +Сантьяго +Саул +Себастьян +Сеймур +Серджио +Сет +Сибил +Сид +Сион +Скайлер +Скотт +Скотти +Слоан +Смоук +Сойер +Соломон +Соррель +Спайк +Спенсер +Стивен +Сэм +Тай +Тайлер +Тайсон +Такер +Таннер +Тейлор +Тейт +Тел +Теодор +Террелл +Терри +Тим +Тит +Тодд +Томас +Тони +Тревор +Трей +Трент +Трентон +Трип +Тристан +Тристен +Тристон +Трой +Трэвис +Тэлон +Тэмсин +Уайатт +Уилли +Уильям +Уитакер +Уланд +Ульрик +Уолтер +Уолтер +Уорд +Уорнер +Уриэль +Уэйн +Уэсли +Уэстон +Фабиан +Феликс +Феникс +Фентон +Фернандо +Филипп +Финн +Фитц +Флик +Флинт +Флип +Франклин +Франциск +Франциско +Фридж +Фрэнк +Фрэнки +Фултон +Хавьер +Хадсон +Халил +Хан +Хангри +Хантер +Харви +Харрисон +Хартли +Хаффи +Хейден +Хендерсон +Хоакин +Холден +Хорхе +Хосе +Хуан +Хулиан +Хулио +Хулиус +Хьюго +Цезарь +Чад +Чанс +Чарли +Чарльз +Чарльтон +Чейз +Чендлер +Шейн +Шилох +Шон +Эван +Эверетт +Эдвард +Эдвин +Эдгар +Эдди +Эдуардо +Эзра +Эйвери +Эйден +Эйден +Эйден +Элайджа +Элвин +Элвуд +Эли +Элиас +Элиот +Элиот +Эллиот +Элрик +Эмануэль +Эмерсон +Эмилиано +Эмилио +Эммануэль +Энди +Эндрю +Энрике +Энтони +Эппл +Эрик +Эрнесто +Эстебан +Этан +Эштон +Якоб +Ян +Яхир diff --git a/strings/names/golem.txt b/strings/names/golem.txt index 7cfcefa899dabd..2c00912745bdee 100644 --- a/strings/names/golem.txt +++ b/strings/names/golem.txt @@ -1,157 +1,156 @@ -Ablation -Alabaster -Alunite -Andesite -Anyhdrite -Basalt -Basin -Bauxite -Bedrock -Bismuth -Bismuthinite -Bituminous Coal -Borax -Boulder -Brimstone -Brittle -Calcite -Cassiterite -Cenozoic -Chalk -Chasm -Cheridite -Chert -Chromite -Cinnabar -Claystone -Coast -Cobaltite -Column -Conglomerate -Core -Crevasse -Crust -Cryolite -Crystal -Dacite -Diorite -Dolomite -Dolostone -Dragonforce -Earthflow -Epoch -Eutrophication -Fault -Flint -Foliation -Foreshock -Fossil -Gabbro -Galena -Garnierite -Geode -Geoge -Gneiss -Granite -Graphite -Gravel -Groove -Grotto -Gypsum -Hematite -Hornblende -Humus -Igneous -Ilmenite -Iron -Island -Jasper -Jet -Kaolinite -Kettle -Kimberlite -Komatiite -Landslide -Levee -Lignite -Limestone -Limonite -Luster -Madidite -Magnetite -Magnitude -Malachite -Mantle -Marble -Marcasite -Melange -Meme -Mica -Microcline -Migmatite -Mineral -Mountain -Mudstone -Obsidian -Olivine -Ore -Orpiment -Orthoclase -Outwash -Oxbow Lake -Oynx -Pahoehoe -Pebble -Pegmatite -Periclase -Petrified Wood -Phyllite -Pitchblende -Plate -Pothole -Puddingstone -Pyrite -Pyrolusite -Quake -Quarry -Quartz -Quartzite -Realgar -Reservoir -Rhyolite -Rock -Rock Salt -Rockfall -Rutile -Saltpeter -Sand -Sandstone -Satinspar -Schist -Sediment -Seismic -Selenite -Serpentine -Shale -Shore -Siltstone -Slag -Slate -Sphalerite -Stack -Stalactite -Stalagmite -Stibnite -Stone -Stress -Subduction -Sylvite -Talc -Tetrahedrite -Tidal -Trench -Valley -Volcano -Xenolith -Yardang -Zone +Абляцион +Алебастр +Алевролит +Алунит +Андезит +Аргиллит +Базальт +Бассейн +Безднит +Берег +Бисмутинит +Битуминозный Уголь +Боксит +Боракс +Бурый Уголь +Валун +Висмут +Водохранилищит +Вулкан +Габбро +Галенит +Галькит +Гарниерит +Гематит +Геод +Гипсокартон +Гнейс +Горит +Гравий +Гранит +Графит +Грот +Грязевой Камень +Гумус +Дацит +Джаспер +Джеог +Диорит +Долинит +Доломит +Долостон +Железо +Змеевиднит +Зонит +Игноус +Известняк +Ильменит +Ископаемит +Кайнозойский +Кальцит +Каменный Солит +Каменоломнит +Камень +Каолинит +Касситерит +Кварцевый +Кварцит +Кимберлит +Кобалтит +Колоннит +Коматит +Конгломерат +Коркит +Кремневит +Криолит +Кристалл +Ксенолит +Ливи +Лимонит +Лихтенштейн +Людрит +Люстер +Магнетит +Магнитудит +Мадидит +Малахит +Мантит +Марказит +Мел +Меланж +Мем +Мигматит +Микроклин +Минерал +Мрамор +Нарезкит +Обманщицит +Обсидиан +Окаменевший Древесинит +Оксбоуский Озерит +Оливин +Оползень +Орпимент +Ортоклаз +Осадок +Основит +Остров +Пахоэхо +Пегматит +Периклаз +Песок +Песчаник +Пирит +Пиролюзит +Пластинит +Побережьит +Поток Земли +Прилив +Промывка +Пудингстон +Реактивнит +Реалгар +Риолит +Рокфолл +Рудит +Рутил +Рысь +Сейсмит +Селенит +Селитрит +Сера +Сило-Драконит +Сильвит +Синнабар +Скалит +Скист +Сланцевит +Слюдит +Сталиктит +Стек +Стибнит +Стресс +Субдукцит +Сфалерит +Тальк +Тетраэдрит +Траншея +Трещинит +Трясенит +Уорнбенд +Филлит +Фолиацит +Форшок +Хромит +Хрупкит +Чайник +Черт +Шеридит +Шифер +Шлак +Шпат +Шталагмит +Эвтрофикацит +Эпохит +Ядрит +Ярдан diff --git a/strings/names/gross_adjectives.txt b/strings/names/gross_adjectives.txt index 89e374c68e9102..51e6a2706e5473 100644 --- a/strings/names/gross_adjectives.txt +++ b/strings/names/gross_adjectives.txt @@ -1,41 +1,41 @@ -bloody -briney -crude -crusty -darkened -deformed -disfigured -dripping -dry -flaccid -flawed -fleshy -gristly -grotesque -heavy -horrible -icky -itchy -jittery -juicy -messy -misshapen -mutilated -nasty -ocky -odorous -offal -pulsating -repulsive -salty -scarred -sickening -sinewy -sketchy -slippery -soggy -squirming -squishy -twitching -unidentifiable -writhing +бесформенный +вялый +гротеск +грубый +грязный +деформированный +жилистый +затемненный +зудящий +извиваясь +изувеченный +какой ужас +капает +корчащийся +кровавый +мягкий +мясистый +неопознанный +нервный +обезображенный +окки +отрывочный +отталкивающий +пахучий +подергивание +потроха +противный +противный +пульсирующий +скользкий +соленый +солёный +сочный +сухой +сырой +твердый +тошнотворный +тяжелый +ущербный +хрящеватый +шрамы diff --git a/strings/names/ing_verbs.txt b/strings/names/ing_verbs.txt index 34fd0f2e2df049..770d523d699c82 100644 --- a/strings/names/ing_verbs.txt +++ b/strings/names/ing_verbs.txt @@ -1,929 +1,929 @@ -abiding -acceding -accelerating -accepting -accomplishing -achieving -acquiring -activating -adapting -adding -addressing -administering -admiring -admitting -adopting -advising -affording -agreeing -alerting -alighting -allowing -altering -amusing -analyzing -announcing -annoying -answering -apologizing -appearing -applauding -appointing -appraising -appreciating -approving -arbitrating -arguing -arising -arranging -arresting -arriving -ascertaining -asking -assembling -assessing -assisting -assuring -attaching -attacking -attaining -attempting -attending -avoiding -awaking -baking -balancing -banging -banning -barring -bathing -bating -battling -beaming -bearing -beating -becoming -begging -beginning -behaving -beholding -being -belonging -besetting -betting -biding -binding -biting -bleaching -bleeding -blessing -blinding -blinking -blotting -blowing -blushing -boasting -boiling -bombing -booking -boring -borrowing -bouncing -bowing -boxing -braking -breaking -breathing -breeding -broadcasting -bruising -brushing -budgeting -building -bumping -burning -bursting -burying -busting -buying -buzzing -calculating -calling -camping -caring -carrying -carving -casting -cataloging -catching -causing -challenging -changing -charging -chasing -cheating -checking -cheering -chewing -choking -choosing -chopping -claiming -clarifying -classifying -cleaning -clearing -clinging -clipping -closing -clothing -coaching -coiling -collecting -coloring -combing -coming -commanding -communicating -comparing -competing -compiling -complaining -completing -composing -computing -conceiving -concentrating -concerning -concluding -conducting -confessing -confronting -confusing -connecting -conserving -considering -consisting -consolidating -constructing -containing -contracting -controlling -converting -coordinating -copying -correcting -correlating -costing -coughing -counseling -counting -covering -cracking -crashing -crawling -creating -creeping -critiquing -crossing -crushing -crying -curing -curling -curving -cutting -cycling -damaging -damming -dancing -dealing -decaying -deceiving -deciding -decorating -defining -delaying -delegating -delighting -delivering -demonstrating -depending -describing -deserting -deserving -designing -detailing -detecting -determining -developing -devising -diagnosing -digging -directing -disagreeing -disappearing -disapproving -discovering -disliking -dispensing -displaying -disproving -dissecting -distributing -diverting -dividing -diving -doing -doubling -doubting -drafting -dragging -draining -dramatizing -drawing -dreaming -dressing -drinking -dripping -driving -dropping -drowning -drumming -drying -dwelling -earning -eating -editing -educating -eliminating -embarrassing -employing -enacting -encouraging -ending -enduring -enforcing -engineering -enhancing -enjoying -enlisting -ensuring -entering -entertaining -establishing -estimating -evaluating -examining -exceeding -exciting -excusing -executing -exercising -exhibiting -existing -expanding -expecting -expediting -experimenting -explaining -exploding -expressing -extending -extracting -facilitating -facing -fading -fancying -fastening -faxing -fearing -feeding -feeling -fencing -fetching -fighting -filling -filming -finalizing -financing -finding -firing -fitting -fixing -flapping -flashing -fleeing -flinging -floating -flooding -flowering -flowing -flying -folding -following -fooling -forbidding -forcing -forecasting -foregoing -foreseeing -foretelling -forgetting -forgiving -forming -formulating -forsaking -framing -freezing -frightening -frying -gazing -generating -getting -giving -glowing -glueing -going -governing -grabbing -graduating -grating -greasing -greeting -grinding -grinning -griping -groaning -growing -guaranteeing -guarding -guessing -guiding -hammering -handling -handwriting -hanging -happening -harassing -harming -haunting -heading -healing -heaping -hearing -heating -helping -hiding -hitting -holding -hooking -hoping -hovering -hugging -humming -hunting -hurrying -hurting -hypothesizing -identifying -ignoring -imagining -implementing -impressing -improving -improvising -including -increasing -inducing -informing -initiating -injecting -injuring -innovating -inputing -inspecting -installing -instituting -instructing -insuring -integrating -intending -intensifying -interesting -interfering -interlaying -interpreting -interrupting -interviewing -introducing -inventing -inventorying -investigating -irritating -itching -jailing -jamming -jogging -joining -joking -judging -juggling -jumping -justifying -keeping -killing -kissing -kneeling -knitting -knocking -knotting -knowing -landing -lasting -laughing -launching -laying -leading -leaning -learning -leaving -lecturing -lending -letting -leveling -licensing -licking -lifting -lightening -lighting -liking -listing -living -loading -locking -logging -longing -looking -losing -loving -lying -maintaining -making -managing -manipulating -manning -manufacturing -mapping -marching -marketing -marrying -matching -mating -mattering -meaning -measuring -meddling -mediating -meeting -melting -memorizing -mending -mentoring -milking -mining -misleading -missing -mistaking -misunderstanding -mixing -moaning -modeling -modifying -monitoring -mooring -motivating -moving -muddling -mugging -multiplying -murdering -nailing -naming -navigating -needing -negotiating -nesting -nodding -nominating -normalizing -noticing -noting -numbering -obeying -objecting -observing -occurring -offending -offering -officiating -opening -operating -ordering -organizing -orienteering -originating -overcoming -overdoing -overdrawing -overflowing -overhearing -overtaking -overthrowing -owing -owning -packing -paddling -painting -parking -participating -parting -passing -pasting -patting -pecking -pedaling -peeling -peeping -perceiving -performing -permitting -phoning -photographing -picking -piloting -pinching -pining -pinpointing -planing -planting -pleading -pleasing -plugging -poking -polishing -possessing -posting -pouring -praising -praying -preaching -preceding -predicting -preferring -preparing -prescribing -presenting -presetting -presiding -pressing -pretending -preventing -pricking -processing -procuring -producing -professing -programming -progressing -projecting -promising -promoting -proofreading -proposing -protecting -providing -proving -publicizing -pulling -pumping -punching -puncturing -purchasing -pushing -putting -questioning -queueing -quitting -racing -radiating -raising -ranking -rating -reaching -reading -realigning -realizing -reasoning -receiving -recognizing -reconciling -recording -recruiting -reducing -referring -reflecting -regretting -regulating -reigning -reinforcing -rejecting -rejoicing -relating -relaxing -releasing -relying -remaining -remembering -reminding -removing -rendering -reorganizing -repairing -repeating -replacing -replying -representing -requesting -rescuing -researching -resolving -responding -restoring -restructuring -retiring -retrieving -returning -reviewing -revising -rhyming -riding -ringing -rinsing -rising -risking -robing -rocking -rolling -rotting -rubbing -ruining -ruling -running -rushing -sacking -satisfying -sawing -saying -scaring -scattering -scheduling -scolding -scorching -scraping -scratching -screaming -screwing -scribbling -scrubbing -sealing -searching -securing -seeing -seeking -selecting -selling -sending -sensing -separating -servicing -serving -setting -settling -sewing -shading -shaking -shaping -sharing -shearing -shedding -sheltering -shining -shivering -shocking -shoeing -shooting -shopping -showing -shrinking -shrugging -shutting -sighing -signaling -signing -simplifying -singing -sining -sinking -sipping -siting -sketching -skiing -skipping -slapping -slaying -sleeping -sliding -slinging -slinking -slipping -slitting -slowing -smashing -smelling -smiling -smiting -smoking -snatching -sneaking -sneezing -sniffing -snoring -snowing -soaking -solving -soothing -soothsaying -sorting -sowing -sparing -sparking -sparkling -speaking -speeding -spelling -spending -spilling -spinning -spiting -splitting -spoiling -spotting -spraying -spreading -springing -sprouting -squashing -squeaking -squealing -squeezing -staining -stamping -standing -staring -starting -stealing -stepping -sticking -stimulating -stinging -stinking -stirring -stitching -stoping -storing -strapping -streamlining -strengthening -striking -stringing -striping -striving -structuring -stuffing -subtracting -sucking -suffering -suggesting -summarizing -supplying -supposing -surprising -surrounding -suspecting -suspending -swearing -sweating -swelling -swimming -swinging -symbolizing -systemizing -tabulating -taking -taming -taping -targeting -tasting -teaching -teasing -telephoning -telling -tempting -testing -thanking -thriving -thrusting -ticking -tickling -timing -tipping -tiring -touching -touring -towing -tracing -trading -training -transferring -transforming -transporting -trapping -treading -treating -tricking -tripping -trotting -troubleshooting -trusting -trying -tugging -tumbling -tutoring -twisting -tying -typing -undergoing -understanding -undressing -unfastening -unifying -unlocking -unpacking -untidying -updating -upgrading -upholding -using -utilizing -verbalizing -vexing -visiting -wailing -waiting -waking -walking -wandering -wanting -warming -warning -washing -watching -watering -wearing -weighing -welcoming -wending -wetting -whirling -whispering -winding -winking -wiping -wishing -withholding -withstanding -wobbling -wondering -working -worrying -wrapping -wrecking -wrestling -wriggling -wringing -writing -X-raying -yawning -yelling -zipping -zooming +адаптирующий +администрирование +акробатика +активирование +активный +анализирующий +аплодирующий +аплодирующий +апробация +армирующий +ассистирующий +атакующий +балансирующий +бег +бег трусцой +беспокоящий +биение +благодарность +благословение +бодрствующий +боевой +боевой +бокс +бомбардировка +борьба +бронирование +буксировка +буксировка +бытие +бюджетирование +в том числе +ввод +вводящий +вводящий в заблуждение +ведение переговоров +ведущий +велоспорт +вербализация +вербовка +весомый +взвешивание +вздох +взрывающийся +взятие +визжание +висячий +вихревая обработка +владение +владение мячом +влекущий +вмешательство +вмешивающийся +вмещающий +внушающий +вождение автомобиля +возвращение +возникающий +возникающий +возникновение +возражающий +возрастающий +волнующий +волнующий +воображаемый +воровство +воспринимающий +восстанавливающий +восстановление протектора +восхваление +восхитительный +восхищающийся +восход +впечатляющий +впитывание +впрыскивающий +вредный +вредный +вулканизация +выбор +выдвигающий гипотезу +выдвижение +выдерживающий +выпечка +выполняющий +выполняющий +выпуск +выражающий +выращивание +вырезание +вырезка +высвобождение +выставляющий напоказ +вытирание +вытягивание +выхватывание +вычислительный +вычитание +вышеизложенный +вязание +гадающий +гарантирование +гарантирующий +гарантирующий +гастрольный +генерирование +глушение +глядя +гнездовой +гниющий +говорящий +гоночный +горение +горная промышленность +гостеприимный +грабёж +грабёж +гребля +гребля +грохот +дающий +движущий +дегустация +дезертирство +действующий +декорирование +делегирование +демонстрирующий +демонстрирующий +диагностика +дилинговый +дирижирование +дистрибутивный +длительный +длительный +добыча +доверчивый +доение +дозирование +доказывание +должный +допрос +допускающий +досадный +достигающий +достигающий +достигающий +достойный +дразнящий +драматизирующий +дренаж +дробление +дрожащий +дублирование +дурачество +дышащий +еда +езда +если +жалующийся +жевательный +желание +жеребьёвка +жертва +жжение +живой +жильё +жонглирующий +жужжание +жужжащий +жульничество +за исключением +забавный +забивание +заблуждение +заботливый +забывающий +завершение +завершение +зависание +зависящий +завывающий +завязывание +заглядывание +загнивание +заготовительный +заграждающий +задерживающий +задумывающий +заживление +заимствование +заказ +закапывание +заключение пари +заключительный +закрывающий +закупорка +заливка +заманчивый +замедление +заменяющий +замечание +замечая +замужество +замыкание +запечатывание +запирание +запоминание +запоминающий +запрашивающий +запрещающий +запрещение +запуск +запутанность +заработок +заряд +засев +заслушивание +застёжка-молния +захват +захватывающий +защищающий +заявляющий +звон +звонок +здание +зевота +зловонный +зрительный процесс +зуд +игнорирование +идентифицирующий +избегающий +извивка +извилистый +извиняющий +изготовление +изготовление +излучающий +измельчение +изменяющийся +изнурительный +изнурительный +изобретение +изогнутый +изречение +изучение +имеющий значение +импровизирующий +инвентаризация +инициирование +инспектирование +инструктаж +интегрирование +интервьюирование +информирование +искрение +искромётный +исполнительский +исполняющий +использование +использующий +использующий +исправление +исправляющий +исправляющий +исследующий +исследующий +исчезающий +ищущий +калькуляция себестоимости +капающий +капающий +каракули +картирование +каталогизация +катание на лыжах +катящийся +качание +качание +качание +кашель +кемпинг +кивающий +кипящий +классифицирующий +клевание +клёв +княжение +командующий +коммерческий +компиляция +конструирование +консультирование +контролирующий +контроль +концентрирование +координирующий +копчение +кормёжка +корректура +корреляционный +коучинг +крапление +краснеющий +кредитование +крекинг +крепление +крепёж +крик +критический +кричащий +кровоподтёк +кровотечение +купальный +купание +кёрлинг +ледяной +лесозаготовительный +лечащий +лживый +ликование +линяющий +лицензирование +лучевой +любопытный +любящий +лётный +маловажный +манипулирующий +марш +масштабирование +машиностроение +мерный +мечтающий +мешковина +мигающий +мигающий +мимолётное увлечение +мимолётный +митинг +многозначительный +многообещающий +множительный +моделирующий +модернизация +модифицирующий +моление +мольба +монтаж +монтаж +мотивирующий +мытьё +набивка +наблюдающий +наблюдение +набухание +навигационный +наводнение +навязчивый +нагромождение +надвигообразование +надеясь +надоедливый +надоедливый +назначающий +накачка +намеревающийся +намотка +нанизывание +наполнение +напоминание +направляющий +направляющий +нарастающий +наречение +наслаждающийся +наставничество +наступление +насчёт +недоразумение +неловкий +неодобряющий +неослабевающий +неотложный +неполноценный +непонятный +неприязнь +несогласный +нивелирование +новаторский +нормализация +нуждающийся +нумерация +ныряние +нюхающий +обвязка +обгон +обеспечение +обесцвечивание +обжаривание +обида +обладающий +облегчение +облизывание +облицовочный +обманчивый +обмотка лентой +обнадёживающий +обнаружение +обнаружение +обнимающий +обновление +обосновывающий +обрамление +обращение +обращение +обслуживание +обстрел +обсуждение +обучение +объединяющий +объявляющий +объясняющий +обёртывание +ограждение +одежда +одежда +ожидание +ожидающий +окрашивание +окрестный +описывающий +описывающий +оповещение +определяющий +определяющий +опровергающий +опрокидывающийся +оптимизация +организационный +организация +ориентирование +орфография +осаждение +осваивающий +освещение +оседание +ослепляющий +осознание +оставшийся +останавливающий +осуществление +осуществляющий +осуществляющий +отбор +отвергающий +отверстие +ответ +отвечающий +отделение +отжим +отжим +открытие +отливка +отлов +относящий +относящийся +отображающий +отопление +отправка +отправка +отражающий +отсутствующий +охота +охрана +оценивание +оценивающий +оценка +оценка +очистка +очищающий +ощущение +палящий +пахнущий +педагогический +педалирование +переводящий +перевязочный +перемещение +переноска +переориентация +переплетение +переполненный +переправа +перерасход +переусердствующий +переход +перечень +печальный +печатание +пилотирование +плавающий +плавление +плач +побои +побуждающий +повиновение +повторение +погоня +погружение +погрузочный +подача предложений +подбор +подвесной +подготовка +поддержание +поддержание +подлый +подмигивание +подозревающий +подписание +подрядный +подслушивающий +подсчёт +подшипниковый +подъём +пожимание плечами +позволяющий +познание +поиск +показ +покидающий +поклонники +покраска +покупающий +покупка +полагающийся +ползучий +поливочный +полировка +полоскание +получение +получение +помогающий +попадание +попрошайничество +поражающий +поразительный +поразительный +портящий +порция +посадка +посадка +посадочный +посещение +посещение +посреднический +постановка в очередь +постоянный +поступающий +поступок +потоотделение +потягивающий +поцелуй +почерк +пощёчина +поющий +появляющийся +правящий +превышающий +превышение скорости +предварительная настройка +предвидение +предлагающий +предоставление +предостережение +предотвращающий +предполагающий +предпочитающий +председательствующий +предсказание +предсказание +предсказывающий +представляющий +презентация +преклоняющий колени +преобразование +преобразование +преодоление +препарирование +прерывающий +претерпевающий +прибывающий +приветствие +привинчивание +привлекательный +привлечение +пригвождение +придумывание +прикрепляющий +приладка +прилипание +прилипать +прилёт +примиряющий +принадлежность +приносящий извинения +принуждающий +принуждение +приостанавливающий +присоединение +пристальный взгляд +притворяющийся +притязание +приятный +приём +приём +пробивание +пробуждение +прогибание +прогнозирование +программирование +прогрессирующий +продвижение +продувка +проектирование +проектирование +проигрыш +происходящий +происшествие +промокательный +промышленный +проникающий +прописывающий +проповедь +пропускающий +прорастание +прослушивание +противостоящий +процветающий +прошлый +прощающий +пружинящий +прыгающий +прядение +пугающий +пугающий +пугающий +пуск +пылающий +пытающийся +пьянство +работа +радиовещание +разблокировка +разведение +развивающийся +развязывание +раздавливание +раздвижной +раздевание +разделяющий +раздражающий +раздражающий +раздробление +разлив +размещение +размножение +разрез +разрезание +разрешающий +разрешающий +разрешение +разрушающий +разрушение +разрыв +разрывной +ранжирование +раскопки +раскраска +распаковка +распиливание +распространение +распыление +рассеивающий +расслабляющий +расстрел +рассуждения +растирание +расфасовка +расходящийся +расчистка +расчёсывание +расчёсывание +расчётливый +расширяющийся +расщепление +реагирующий +регулирующий +редактирование +резюмирующий +рейтинг +рекламирующий +ремонт +рендеринг +рентгеновский +реорганизация +репетиторство +реструктуризация +рецензирование +решающий +решающий +решётка +рискующий +рисование эскизов +рифмовка +розыск +рубрика +ругань +ругань +руководящий +руководящий +рысь +сбыт +сбытовой +свержение +свисающий +связующий +связывание +связывающий +сдача внаём +сентиментальный +сигнализация +символизирующий +симпатия +синхроннизация +систематизация +сияющий +складирование +складывающийся +склеивание +склеивание +склонность +склонный к уединению +скользящий +скрип +скрутка +скрывающийся +слинг +слюнотечение +смазка +смачивание +смежный +смех +смешивание +смотрящий +снабжающий +снабжающий +снежный покров +собирающий +соблюдающий +совершение покупок +совершенствование +совместное использование +соглашающийся +согревающий +содержание +созерцание +созидание +сознающийся +сомневающийся +соответствующий +соперничающий +сортировочный +сосательный +соскальзывание +соскребание +составление расписания +составляющий +состоящий +сотрясение +сохраняющий +сочетание +сочинение +спаривание +спасание +сползание +спор +способствующий +спотыкание +спрашивающий +спящий +сравнительный +сталкивающийся +стенание +стенание +стимулирующий +стоянка +страдание +странствующий +страховой +стремительный +стремление +стрижка +строгание +структурирование +стук +стук +стыковочный +стягивающий +судейство +судейство +суммирование +сушка +существующий +схватывающий +считывание +сшивание +съёмка +табулирование +танцевальный +таргетирование +текущий +телефонный +технологический +тикающий +толкание мяча в лунку (толкание мяча в лунку) +толкование +торможение +торопливый +тоскующий +тоскующий +точная локализация +травмирующий +трата +тренировочный +трогательный +трудный +трясущийся +тюремное заключение +тянущий +тянущийся +убегающий +убийственный +убийство +увлекательный +увлекательный +увлекательный +увольнение +увядание +угадывающий +удаление +ударные +удержание +удивительный +удовлетворяющий +удочерение +удушье +узнающий +укладка +укол +укомплектование +укрепляющий +укрепляющий +укрощение +укрытие +укрытие +улавливание +уловка +улыбающийся +улыбающийся +уменьшающий +уничтожение +уничтожение +упрощающий +усиление +усиливающийся +ускорение +ускорение +успокаивающий +установка +установление +установление +установочный +устранение +устранение неполадок +утверждающий +утопающий +уточняющий +уход +уход +участвующий +учитывая +учреждающий +учёт +факсимильная связь +финансирование +формование +формование +формулировка +фотографирование +хвастовство +хлопающий +ходьба +холдинг +храп +царапание +цветущий +ценящий +чередование +чихание +чтение лекций +чувствительный +чуткий +швартовка +шейдинг +шелушащийся +шинкующий +шитьё +шлепок +шокирующий +штамповка +штамповка +шутящий +шёпот +щадящий +щекотание +щипание +экспериментирующий diff --git a/strings/names/last.txt b/strings/names/last.txt index c5560eba667c55..1e18a958fb2437 100644 --- a/strings/names/last.txt +++ b/strings/names/last.txt @@ -1,571 +1,1877 @@ -Ackerley -Adams -Addison -Agg -Aggley -Ahmed -Albright -Alekseev -Ali -Alice -Allen -Alliman -Altmann -Anderson -Andreev -Ann -Archibald -Armstrong -Ashbaugh -Atkinson -Atweeke -Aultman -Auman -Baer -Bailey -Baker -Barnes -Barrett -Bash -Bashline -Basinger -Baskett -Basmanoff -Batten -Baum -Baxter -Beach -Beail -Beck -Beedell -Begum -Bell -Benford -Bennett -Berkheimer -Best -Bickerson -Bicknell -Biery -Black -Blackburn -Blaine -Blessig -Bloise -Bluetenberger -Blyant -Bode -Bould -Bousum -Bowchiew -Boyer -Brandenburg -Bratton -Braun -Briggs -Brindle -Briner -Brinigh -Brooks -Brown -Bullard -Bunten -Burkett -Burns -Burris -Butterfill -Buttersworth -Buzzard -Byers -Bynum -Caldwell -Callison -Camp -Campbell -Carmichael -Carr -Carter -Catherina -Catleay -Cavalet -Chapman -Chauvin -Cherry -Christman -Christopher -Clark -Clarke -Clewett -Coates -Coldsmith -Collins -Compton -Conrad -Cook -Cooper -Costello -Cowart -Cowper -Cox -Cressman -Curry -Cypret -David -Davies -Davis -Dawkins -Day -Dean -Demuth -Dennis -Dickinson -Digson -Dimeling -Donkin -Draudy -Driggers -Dryfus -Dugmore -Duncan -Durstine -Earl -Easter -Echard -Eckhardstein -Edwards -Eggbert -Ehret -Elderson -Eliza -Elliott -Ellis -Enderly -Endsley -Evans -Ewing -Faqua -Faust -Fea -Feufer -Fiddler -Field -Fields -Finlay -Fischer -Fiscina -Fisher -Fitzgerald -Fleming -Flickinger -Focell -Foster -Franks -Fraser -Fryer -Fuchs -Fulton -Gadow -Gardner -Garland -Garneys -Garratt -Garrison -Gettemy -Gibson -Glover -Gobbler -Gobbles -Goodman -Graham -Gray -Green -Greenawalt -Greene -Greenwood -Gregory -Griffiths -Gronko -Guess -Hall -Hanford -Hardie -Harding -Hardy -Harris -Harrison -Harrold -Harrow -Harshman -Hastings -Hawker -Hawking -Hawkins -Hayhurst -Haynes -Heckendora -Hegarty -Henry -Hice -Highlands -Hill -Hincken -Hirleman -Hoenshell -Holdeman -Holmes -Hook -Hooker -Hoopengarner -Hoover -Houser -Houston -Howard -Howe -Huey -Hughes -Hujsak -Hunt -Hunter -Hussain -Hutton -Hynes -Ironmonger -Isaman -Isemann -Ivanov -Jackson -James -Jardine -Jenkins -Jenner -Jerome -Jesse -Jewell -Joghs -Johnson -Jones -Jowers -Joyce -Judge -Jyllian -Kadel -Kanaga -Kaur -Keener -Kelley -Kellogg -Kelly -Kemble -Kemerer -Keppel -Kepplinger -Khan -Kiefer -Kifer -Kimple -King -Kirkson -Knapenberger -Knapp -Koepple -Koster -Kuster -Kuznetsov -Laborde -Lacon -Lafortune -Langston -Larson -Lauffer -Laurenzi -Leach -Lee -Leech -Leichter -Leslie -Lester -Levett -Lewis -Lineman -Linton -Llora -Lloyd -Logue -Lombardi -Lord -Losey -Lowe -Lowstetter -Lucy -Ludwig -Maclagan -Magor -Marcotte -Margaret -Marriman -Marshall -Martins -Mary -Mason -Mathews -Matthews -Mcclymonds -Mccullough -Mccune -McDonald -McDonohugh -Mcfall -Mcintosh -Mckendrick -Mcloskey -Mcmullen -McShain -Mens -Merryman -Metzer -Meyers -Mikhaylov -Mildred -Miller -Millhouse -Mills -Milne -Mingle -Minnie -Mitchell -Moberly -Moon -Moore -Morgan -Morris -Mortland -Mosser -Mueller -Muggins -Mull -Muller -Murphy -Murray -Nash -Neely -Nehling -Newbern -Newton -Nicholas -Nickolson -Northey -Noton -Olphert -Oneal -Oppenheimer -Osteen -Osterweis -Osterwise -Otis -Overstreet -Owen -Owens -Palmer -Parker -Parkinson -Patel -Patterson -Paulson -Pavlov -Paynter -Pearsall -Pennington -Perkins -Pershing -Peters -Petrov -Pfeifer -Philips -Phillips -Picard -Pinney -Poehl -Poley -Polson -Potter -Powell -Power -Powers -Pratt -Prechtl -Prescott -Prevatt -Price -Priebe -Pritchard -Pycroft -Quinn -Quirin -Rader -Rahl -Ramos -Randolph -Ratcliff -Rathen -Rathens -Raub -Ray -Reade -Reichard -Reid -Reighner -Rhinehart -Richards -Richardson -Richter -Rifler -Riggle -Riker -Ringer -Roadman -Roberts -Robertson -Robinson -Roby -Rockwell -Rogers -Rohtin -Rose -Rosensteel -Rowley -Russell -Ryals -Sagan -Sanders -Sandford -Sandys -Sauter -Saylor -Schaeffer -Scherer -Schmidt -Schofield -Schrader -Scott -Sealis -Seelig -Seidner -Semenov -Shafer -Shaffer -Shaner -Shaw -Sheets -Shick -Shirey -Sholl -Shupe -Sidower -Siegrist -Simmons -Simpson -Singh -Skywalker -Sloan -Smail -Smirnov -Smith -Snyder -Sommer -Spock -Stafford -Stahl -Stainforth -Stall -Stamos -Stange -Staymates -Steele -Stephenson -Stern -Stewart -Stocker -Stone -Stough -Straub -Stroble -Stroh -Styles -Sullivan -Sulyard -Summy -Sutton -Swabey -Swarner -Sybilla -Taggart -Tanner -Taylor -Teagarden -Tedrow -Tennant -Thomas -Thomlinson -Thompson -Thomson -Thorley -Tilton -Tireman -Todd -Treeby -Trovato -Turner -Ulery -Ullman -Unk -Vader -Vanleer -Vasilyev -Waldron -Walker -Wallick -Ward -Wardle -Warren -Watson -Webb -Weeter -Weinstein -Weisgarber -Wells -Welty -Wentzel -Werner -Werry -Wheeler -Whirlow -White -Whiteman -Whittier -Wible -Wile -Wilkerson -Wilkinson -Willey -Williams -Williamson -Wilo -Wilson -Winton -Wise -Wolfe -Wolff -Wood -Woodward -Woodworth -Woolery -Woollard -Wright -Yeskey -Young -Zadovsky -Zalack -Zaun -Zeal -Zimmer -Zoucks +Абакумов +Абдуллин +Абрамов +Абросимов +Авдеев +Аверин +Аверьянов +Авраменков +Агапов +Агарков +Агафонов +Агг +Аггли +Агеев +Адамс +Азаров +Айронмонгер +Акерли +Акимов +Аксенов +Акулов +Александров +Алексеев +Алексеев +Алексеенков +Алехин +Алешин +Али +Алиев +Алимов +Алиса +Аллен +Аллиман +Алтухов +Алферов +Альтманн +Амелин +Ананьев +Андерсон +Андреев +Андреев +Андрианов +Андриянов +Андронов +Андросов +Аникеев +Аникин +Анисимов +Аносов +Анохин +Антипин +Антипов +Антоненков +Антонов +Антропов +Ануфриев +Арбузов +Арефьев +Аристов +Армстронг +Арсентьев +Арсеньев +Артамонов +Артеменков +Артемов +Артемьев +Архипов +Арчибальд +Астафьев +Астахов +Атвик +Аткинсон +Аултман +Ауман +Афанасьев +Афонин +Ахмед +Ахметзянов +Ахметов +Бабаев +Бабенков +Бабин +Бабич +Бабкин +Бабушкин +Баев +Баер +Баженов +Базанов +Баззард +Байерс +Байков +Байнум +Баканов +Бакланов +Бакстер +Бакулин +Балабанов +Балакин +Баландин +Балашов +Банников +Бантен +Барабанов +Баранов +Барановский +Баринов +Барков +Барнс +Барретт +Барсуков +Барышев +Барышников +Баскаков +Баскет +Басманов +Басов +Баталов +Баттен +Баттерсворт +Баттерфилл +Батурин +Баум +Бахарев +Бахтин +Баш +Башкиров +Башлайн +Бегум +Безруков +Бейкер +Бейли +Бейсингер +Бек +Беликов +Белкин +Белл +Белобородов +Белов +Белозеров +Белоусов +Белых +Беляев +Беляков +Беннетт +Бенфорд +Бердников +Бережной +Березин +Березкин +Березовский +Беркетт +Беркхаймер +Бернс +Беспалов +Бессонов +Бест +Биделл +Биери +Бикерсон +Бикнелл +Бирюков +Бич +Блейн +Блессиг +Блинов +Блойз +Блохин +Блэк +Блэкберн +Блютенбергер +Бобков +Бобров +Бобылев +Богатов +Богатырев +Богачев +Богданов +Богомолов +Боде +Бодров +Боев +Бойер +Бойков +Бойков +Бойцов +Боков +Болдырев +Болотин +Болотов +Большаков +Бондарев +Бондаренков +Бондарь +Борисенков +Борисов +Боровиков +Боровков +Бородин +Бородулин +Боулд +Боучиу +Бочаров +Бочкарев +Бочков +Брагин +Бранденбург +Браттон +Браун +Браун +Бриггс +Бриндл +Бринер +Брини +Брукс +Брюханов +Бубнов +Бугаев +Бугров +Буданов +Букин +Буланов +Булатов +Булгаков +Буллард +Булыгин +Булычев +Бураков +Бурков +Бурлаков +Бурмистров +Буров +Буррис +Бурцев +Бусум +Бутаков +Бутенков +Бушуев +Буянов +Быков +Быковский +Быстров +Бычков +Бэйл +Вавилов +Ваганов +Вайнштейн +Вайсгарбер +Вайтер +Валеев +Валиев +Валлик +Ванин +Ванлир +Варламов +Варфоломеев +Василенков +Васильев +Васильев +Васильков +Васильченков +Васин +Васюков +Вахрушев +Ващенков +Вдовин +Вебб +Ведерников +Вейдер +Величков +Вентцель +Верещагин +Вернер +Верри +Вершинин +Веселов +Ветров +Вибл +Викторов +Вилков +Вилли +Вило +Виноградов +Винокуров +Винтон +Вирлоу +Вишневский +Вишняков +Владимиров +Власенков +Власов +Воеводин +Войнов +Волгин +Волков +Волобуев +Володин +Волошин +Волчков +Воробьев +Воронин +Воронков +Воронов +Воронцов +Воропаев +Воскресенский +Востриков +Вуд +Вудворд +Вудворт +Вулери +Вуллард +Вулф +Вулф +Высоцкий +Вяткин +Гавриков +Гавриленков +Гаврилин +Гаврилов +Гагарин +Гайнутдинов +Галактионов +Галеев +Галимов +Галкин +Ганин +Гараев +Гаранин +Гарднер +Гарипов +Гарланд +Гарни +Гарратт +Гаррисон +Гастингс +Гвоздев +Гебблс +Генералов +Генри +Герасименков +Герасимов +Геттеми +Гибсон +Гладких +Гладков +Гладышев +Глазков +Глазов +Глазунов +Глебов +Гловер +Глотов +Глухов +Глушков +Глущенков +Говард +Голиков +Голованов +Головин +Головкин +Головков +Голубев +Голубков +Голышев +Гончаренков +Гончаров +Горбачев +Горбунов +Гордеев +Гордиенков +Горелов +Горин +Горлов +Горохов +Горчаков +Горшков +Горюнов +Горячев +Гостев +Граф +Грачев +Гребенников +Гребнев +Грегори +Грей +Греков +Грибанов +Грибков +Грибов +Григорьев +Григорян +Гриднев +Грин +Грин +Гринвуд +Гринуолт +Гриффитс +Гриценков +Гришин +Грищенков +Громов +Гронко +Грошев +Груздев +Грэм +Грязнов +Губанов +Губарев +Губин +Гувер +Гудков +Гудман +Гуляев +Гуревич +Гуреев +Гурин +Гуров +Гурьев +Гурьянов +Гусаков +Гусаров +Гусев +Гусейнов +Гуськов +Гущин +Гэдоу +Давыдов +Дагмор +Даниленков +Данилин +Данилов +Дворников +Дегтярев +Деев +Дементьев +Демидов +Демин +Демут +Демченков +Демьянов +Денисенков +Денисов +Деннис +Дергачев +Дерстин +Дерябин +Джеймс +Джексон +Дженкинс +Дженнер +Джером +Джесси +Джиллиан +Джогс +Джойс +Джонс +Джонсон +Джоуэрс +Джудж +Джуэлл +Дигсон +Диденков +Дикинсон +Димелинг +Дин +Дмитриев +Дмитриенков +Добровольский +Добрынин +Докинз +Долгих +Долгов +Долгополов +Донкин +Донской +Доронин +Дорофеев +Дорохин +Дорохов +Дорошенков +Доценков +Драйфус +Драуди +Дриггерс +Дроздов +Дронов +Дружинин +Дубинин +Дубов +Дубровин +Дубровский +Дударев +Дудин +Дудкин +Дунаев +Дункан +Дьяков +Дьяконов +Дьяченков +Дьячков +Дэвид +Дэвис +Дэй +Дятлов +Евграфов +Евдокимов +Евсеев +Евстафьев +Евстигнеев +Евстратов +Евтеев +Евтушенков +Егоров +Ежов +Екимов +Елагин +Елизаров +Елисеев +Емелин +Емельянов +Епифанов +Еремеев +Еременков +Еремин +Ермаков +Ермилов +Ермолаев +Ермоленков +Ермолов +Ерофеев +Ерохин +Ершов +Есин +Ефанов +Ефименков +Ефимов +Ефремов +Жаворонков +Жардин +Жариков +Жарков +Жаров +Жданов +Железнов +Жидков +Жилин +Жильцов +Жирнов +Жуков +Жуковский +Журавлев +Жучков +Забелин +Завьялов +Заикин +Зайднер +Зайцев +Закиров +Залак +Замятин +Зарипов +Зарубин +Заун +Захаров +Захарченков +Зверев +Звягин +Зеелиг +Зеленин +Зеленов +Земсков +Зенин +Зигрист +Зил +Зимин +Зиновьев +Зинченков +Злобин +Золотарев +Золотов +Золотухин +Зоммер +Зорин +Зотов +Зубарев +Зубков +Зубов +Зуев +Зыков +Зырянов +Зюзин +Ибрагимов +Иваненков +Иванников +Иванов +Иванов +Иванцов +Иванченков +Иващенков +Ивлев +Игнатенков +Игнатов +Игнатьев +Изаман +Измайлов +Изотов +Иконников +Илларионов +Ильин +Ильичев +Ильченков +Илюхин +Илюшин +Иноземцев +Ионов +Ипатов +Исаев +Исаков +Исеманн +Исмагилов +Истер +Истомин +Исхаков +Ищенков +Йески +Кабанов +Кавалет +Кадель +Казаков +Казанцев +Калачев +Калашников +Калинин +Калиниченков +Калинкин +Каллисон +Калмыков +Калугин +Каменев +Каменский +Каминский +Канага +Капитонов +Капустин +Караваев +Карасев +Карев +Карелин +Каримов +Кармайкл +Карманов +Карнаухов +Карпенков +Карпов +Карпухин +Карр +Карри +Карташов +Картер +Карцев +Касаткин +Кастер +Касьянов +Катаев +Катерина +Катков +Каупер +Каур +Кашин +Каширин +Каштанов +Квирин +Келли +Келли +Келлог +Кембл +Кемерер +Кеппель +Кепплингер +Кимпл +Кинг +Кинер +Киреев +Кириллов +Кириченков +Кирксон +Кирсанов +Кирьянов +Кирюхин +Киселев +Кислов +Китаев +Кифер +Кларк +Кларк +Клеветт +Клейменов +Клементьев +Клепиков +Клименков +Климов +Клочков +Клюев +Ключников +Кнапенбергер +Кнапп +Князев +Кобзев +Ковалев +Ковалевский +Коваленков +Коваль +Ковальчук +Коварт +Ковтун +Коган +Кожевников +Кожин +Кожухов +Козин +Козлов +Козловский +Козырев +Кокорев +Кокорин +Кокс +Колганов +Колдсмит +Колдуэлл +Колесник +Колесников +Колесов +Коллинз +Колмаков +Колобов +Колосков +Колосов +Колпаков +Колчин +Кольцов +Комаров +Комиссаров +Комков +Комлев +Комов +Комптон +Кондаков +Кондратенков +Кондратов +Кондратьев +Кондрашов +Конев +Коннов +Коновалов +Кононенков +Кононов +Коноплев +Конрад +Константинов +Коньков +Конюхов +Копылов +Кораблев +Корнев +Корнеев +Корниенков +Корнилов +Коробейников +Коробков +Коробов +Коровин +Коровкин +Королев +Корольков +Коростелев +Коротаев +Коротков +Корсаков +Корчагин +Коршунов +Корягин +Корякин +Косарев +Косенков +Косенков +Косов +Косолапов +Костелло +Костенков +Костер +Костиков +Костин +Костров +Костылев +Костюков +Котельников +Котляров +Котов +Коутс +Кочергин +Кочетков +Кочетов +Кочкин +Кочнев +Кошелев +Кошкин +Кравец +Кравцов +Кравченков +Кравчук +Краев +Крайнов +Красавин +Красиков +Красильников +Красников +Краснов +Крессман +Кривошеев +Кривцов +Кристман +Кристофер +Кротов +Круглов +Крутиков +Крутов +Кручинин +Крылов +Крюков +Крючков +Ксенофонтов +Кувшинов +Кудинов +Кудрин +Кудрявцев +Кудряшов +Кузин +Кузнецов +Кузнецов +Кузьменков +Кузьмин +Кузьмичев +Куинн +Кук +Куклин +Кукушкин +Кулагин +Кулаков +Кулешов +Кулик +Куликов +Кульков +Купер +Куприянов +Купцов +Куракин +Курбатов +Курганов +Куренков +Курицын +Куркин +Курочкин +Кустов +Кутузов +Кучеренков +Кучеров +Кучин +Кэмп +Кэмпбелл +Кэтли +Кёппл +Лаборд +Лавренов +Лаврентьев +Лавров +Лагутин +Лазарев +Лайнмен +Лакон +Лапин +Лаптев +Лапшин +Ларионов +Ларсон +Латышев +Лауффер +Лафортун +Лебедев +Левашов +Леветт +Левин +Левицкий +Левченков +Лейхтер +Леонов +Леонтьев +Лесли +Лестер +Ли +Линтон +Липатов +Лисин +Лисицын +Литвиненков +Литвинов +Лихачев +Лич +Ллойд +Ллора +Лобанов +Лобачев +Лобов +Лог +Логачев +Логвинов +Логинов +Логунов +Ломакин +Ломбарди +Лопатин +Лорд +Лоренци +Лосев +Лоскутов +Лоу +Лоуси +Лоустеттер +Лукашов +Лукин +Лукьянов +Лунев +Лунин +Луценков +Лыков +Лысенков +Лысов +Львов +Льюис +Лэнгстон +Любимов +Людвиг +Люси +Ляпин +Ляхов +Ляшенков +Маггинс +Магор +Мазур +Мазуров +Майоров +МакКалоу +МакКлимондс +МакКун +Макаренков +Макаров +Макдональд +Макдонохью +Макеев +Макинтош +Маккендрик +Маклаган +Маклоски +Макмаллен +Максименков +Максимов +Макфолл +Макшейн +Малахов +Маликов +Малинин +Малиновский +Малков +Малов +Малыгин +Малышев +Мальков +Мальцев +Малютин +Мамаев +Мамедов +Мамонов +Мамонтов +Маргарет +Маркелов +Маркин +Марков +Маркотте +Марриман +Мартинс +Мартыненков +Мартынов +Мартьянов +Марченков +Марченков +Маршалл +Масленников +Маслов +Матвеев +Матвиенков +Матросов +Матюхин +Махов +Машков +Медведев +Мезенцев +Мейерс +Мейсон +Мелихов +Мельник +Мельников +Менс +Меньшиков +Меркулов +Мерриман +Мерфи +Метцер +Мешков +Мещеряков +Милдред +Миллер +Миллс +Миллхаус +Милн +Милованов +Минаев +Минаков +Мингл +Минеев +Минин +Минни +Мироненков +Миронов +Мирошников +Мирошниченков +Митин +Митрофанов +Митчелл +Михайленков +Михайлов +Михайлов +Михайловский +Михалев +Михеев +Мишин +Мищенков +Моберли +Моисеев +Моисеенков +Молодцов +Молчанов +Монахов +Морган +Моргунов +Морев +Мороз +Морозов +Моррис +Мортланд +Мосин +Москалев +Москаленков +Москвин +Моссер +Мохов +Мочалов +Мулл +Мун +Мур +Муравьев +Муратов +Мурашов +Мурзин +Мусатов +Мусин +Мустафин +Мухин +Мэри +Мэтьюс +Мэтьюс +Мюллер +Мюллер +Мюррей +Мягков +Мясников +Нагорный +Назаренков +Назаров +Найденов +Насонов +Науменков +Наумов +Некрасов +Нелинг +Нестеренков +Нестеров +Нечаев +Никитенков +Никитин +Никифоров +Никишин +Николаев +Николаенков +Николас +Никольский +Никольсон +Никонов +Никоноров +Никулин +Нили +Нилов +Новиков +Новицкий +Новичков +Новожилов +Новоселов +Новосельцев +Нортей +Носков +Носов +Нотон +Ньюберн +Ньютон +Нэш +Образцов +Обухов +Оверстрит +Овечкин +Овсянников +Овчаренков +Овчинников +Огнев +Огородников +Огурцов +Одинцов +Озеров +Окунев +Олбрайт +Олейник +Олейников +Олферт +Омельченков +Онеал +Онищенков +Оппенгеймер +Орехов +Орешкин +Орлов +Осадчий +Осипов +Осокин +Остапенков +Остервайс +Остин +Островский +Отис +Оуэн +Оуэнс +Павленков +Павлов +Павлов +Павловский +Пайкрофт +Палмер +Панин +Панков +Панкратов +Панов +Пантелеев +Панферов +Панфилов +Панченков +Парамонов +Паркер +Паркинсон +Парфенов +Пархоменков +Паршин +Пастухов +Патель +Паттерсон +Пауэлл +Пауэр +Пауэрс +Пашков +Пащенков +Пейнтер +Пель +Пеннингтон +Пеньков +Перкинс +Перминов +Пермяков +Перов +Перфильев +Першин +Першинг +Пестов +Петраков +Петренков +Петров +Петров +Петровский +Петрунин +Петрухин +Петрушин +Петухов +Печенкин +Пешков +Пивоваров +Пикард +Пилипенков +Пименов +Пинни +Пирогов +Пирсолл +Писарев +Пискарев +Пискунов +Питерс +Пичугин +Плаксин +Платонов +Плетнев +Плеханов +Плотников +Погодин +Погорелов +Подольский +Пожидаев +Покровский +Полетаев +Поликарпов +Полищук +Полозов +Полсон +Полсон +Полунин +Полухин +Поляков +Полянский +Пономарев +Пономаренков +Попков +Попов +Портнов +Поспелов +Постников +Потапов +Потемкин +Потехин +Поттер +Поули +Прайс +Пратт +Преватт +Прескотт +Пречтл +Прибе +Привалов +Притчард +Приходьков +Прокопенков +Прокопьев +Прокофьев +Пронин +Проскурин +Протасов +Прохоров +Проценков +Прошин +Прудников +Пугачев +Пузанов +Пухов +Пучков +Пушкарев +Пушкин +Пфайфер +Радер +Радченков +Разумов +Райалс +Райкер +Райт +Раков +Рал +Рамос +Рассел +Рассказов +Ратен +Ратников +Рауб +Редькин +Резников +Рейгнер +Рейнхарт +Рейхард +Ремизов +Репин +Решетников +Решетов +Риггл +Рид +Рид +Рингер +Рифлер +Рихтер +Ричардс +Ричардсон +Робертс +Робертсон +Роби +Робинзон +Рогачев +Рогов +Рогожин +Рогозин +Роджерс +Родин +Родионов +Рожков +Розанов +Розенстил +Розов +Роквелл +Романенков +Романов +Романовский +Ромашов +Роудмэн +Роуз +Роули +Рохтин +Рощин +Рубцов +Рудаков +Руденков +Руднев +Румянцев +Русаков +Русанов +Рыбаков +Рыбин +Рыбкин +Рыжиков +Рыжков +Рыжов +Рыков +Рычков +Рэй +Рэндольф +Рэтклифф +Рябинин +Рябков +Рябов +Рябцев +Рязанов +Рязанцев +Сабиров +Савельев +Савенков +Савин +Савинов +Савицкий +Савкин +Савченков +Савчук +Саган +Садовников +Садыков +Сажин +Сазонов +Сайпрет +Салливан +Салов +Салтыков +Сальников +Самарин +Самойленков +Самойлов +Самохвалов +Самохин +Самсонов +Сандерс +Санников +Сапожников +Сапронов +Сапрыкин +Сарычев +Саттон +Саутер +Сафин +Сафиуллин +Сафонов +Сафронов +Сахаров +Свабей +Сварнер +Светлов +Свиридов +Свистунов +Севастьянов +Севостьянов +Седов +Седых +Сейлор +Селезнев +Селиванов +Селиверстов +Семенов +Семенов +Семин +Сенин +Сергеев +Сергиенков +Сердюк +Сердюков +Серебренников +Серебряков +Серегин +Середа +Сериков +Серов +Сибилла +Сидауэр +Сидельников +Сидоренков +Сидоров +Сизов +Силаев +Силантьев +Силин +Силис +Силкин +Симаков +Симмонс +Симонов +Симпсон +Сингх +Синельников +Синицин +Синицын +Сиротин +Сироткин +Ситников +Скайуокер +Скачков +Скворцов +Скляров +Скоробогатов +Скотт +Скрябин +Слоан +Смагин +Смаил +Сметанин +Смирнов +Смирнов +Смит +Смолин +Снайдер +Соболев +Соколов +Солдатов +Солнцев +Соловьев +Соловьёв +Солодов +Солодовников +Соломатин +Сомов +Сорокин +Соснин +Сотников +Спиридонов +Спирин +Спицын +Спок +Стайлз +Сталл +Стамос +Стариков +Старков +Старовойтов +Стародубцев +Старостин +Старцев +Стаф +Стаффорд +Стейнфорт +Степаненков +Степанов +Степин +Стерн +Стивенсон +Стил +Стокер +Столяров +Стоун +Страхов +Стрелков +Стрельников +Стрельцов +Строганов +Струков +Ступин +Стэйметс +Стюарт +Субботин +Суворов +Судаков +Сулейманов +Султанов +Сулярд +Сумми +Суриков +Сурин +Сурков +Суров +Суслов +Суханов +Сухарев +Сухов +Сухоруков +Сучков +Сушков +Сысоев +Сэндис +Сэндфорд +Таггарт +Таннер +Тараканов +Таран +Тарасенков +Тарасов +Татаринов +Тедроу +Тейлор +Телегин +Теннант +Теплов +Тепляков +Терентьев +Терехин +Терехов +Терещенков +Тернер +Тетерин +Тигарден +Тилтон +Тимонин +Тимофеев +Тимохин +Тимошенков +Тимошин +Тимченков +Тирман +Титов +Тихомиров +Тихонов +Тищенков +Ткачев +Ткаченков +Ткачук +Тодд +Токарев +Толкачев +Толмачев +Толстов +Томас +Томилов +Томлинсон +Томпсон +Томсон +Торли +Торопов +Треби +Трегубов +Третьяков +Трифонов +Тровато +Троицкий +Трофимов +Трошин +Трунов +Трусов +Труфанов +Трушин +Туманов +Туркин +Тюрин +Уайз +Уайл +Уайт +Уайтман +Уваров +Удалов +Уилер +Уилкерсон +Уилкинсон +Уилсон +Уильямс +Уильямсон +Уиттиер +Уланов +Улери +Ульман +Ульянов +Унк +Уокер +Уолдрон +Уорд +Уордл +Уоррен +Уотсон +Усачев +Усков +Усов +Усольцев +Успенский +Устинов +Уткин +Ушаков +Уэллс +Уэлти +Фадеев +Факуа +Фатеев +Фауст +Феа +Федин +Федоренков +Федоров +Федосеев +Федосов +Федотов +Федулов +Феоктистов +Фетисов +Фиддлер +Филатов +Филдс +Филимонов +Филин +Филиппов +Филипс +Финлей +Фирсов +Фискина +Фицджеральд +Фишер +Фишер +Флеминг +Фликингер +Фойфер +Фокин +Фоменков +Фомин +Фомичев +Фоселл +Фостер +Фрайер +Фрейзер +Фролов +Фрэнкс +Фукс +Фултон +Фурсов +Хабаров +Хабибуллин +Хазов +Хайлендс +Хайнс +Хайруллин +Хайс +Хакимов +Хамидуллин +Хан +Хант +Хантер +Харди +Харди +Хардинг +Харин +Харитонов +Харламов +Харрис +Харрисон +Харролд +Харроу +Харченков +Харшман +Харьков +Хасанов +Хаттон +Хау +Хаузер +Хафизов +Хегарти +Хейнс +Хейхерст +Хекендора +Хилл +Хинкен +Хирлеман +Хлебников +Хокер +Хокинг +Хокинс +Холдеман +Холл +Холмс +Холодов +Хоменков +Хомяков +Хохлов +Хоэншелл +Храмов +Храмцов +Хренов +Хромов +Хрусталев +Худжсак +Худяков +Хук +Хукер +Хупенгарнер +Хусаинов +Хьюз +Хьюи +Хьюстон +Хэнфорд +Царев +Царьков +Цветков +Циммер +Цуканов +Цукс +Цыганков +Цыганов +Чапман +Чеботарев +Червяков +Черенков +Черепанов +Черкасов +Черкашин +Черненков +Черников +Чернов +Черный +Черных +Чернышев +Чернышов +Чернявский +Черняев +Чесноков +Чибисов +Чижиков +Чижов +Чирков +Чистов +Чистяков +Чубаров +Чугунов +Чулков +Чумаков +Чуркин +Чэрри +Шабалин +Шабанов +Шадрин +Шайри +Шакиров +Шалаев +Шаповалов +Шапошников +Шарапов +Шарипов +Шаров +Шаронов +Шаталов +Шафер +Шахов +Шашков +Шведов +Швец +Швецов +Шевелев +Шевцов +Шевченков +Шевчук +Шейнер +Шепелев +Шерер +Шестаков +Шеффер +Шибаев +Шибанов +Шилин +Шилов +Шипилов +Широков +Ширшов +Ширяев +Шитов +Шитс +Шишкин +Шишков +Шишов +Шлыков +Шмаков +Шмелев +Шмидт +Шовен +Шолл +Шофилд +Шредер +Шталь +Штанге +Штрауб +Шубин +Шувалов +Шульга +Шульгин +Шумаков +Шумилов +Шурыгин +Шустов +Шутов +Щеглов +Щеголев +Щербаков +Щербин +Щербинин +Щетинин +Щукин +Эванс +Эггберт +Эдвардс +Эддисон +Экхардштейн +Элдерсон +Элиза +Эллиотт +Эллис +Эндерли +Эндсли +Энн +Эрет +Эчард +Эшбо +Юдин +Юинг +Юрин +Юрков +Юров +Юрченков +Юрьев +Юсупов +Юшин +Юшков +Яблоков +Якимов +Яковенков +Яковлев +Якубов +Якунин +Якушев +Якушин +Янг +Ярославцев +Ярцев +Ястребов +Яценков +Яшин diff --git a/strings/names/lizard_female.txt b/strings/names/lizard_female.txt index 3d5b9340b856c9..fe1ac976231dae 100644 --- a/strings/names/lizard_female.txt +++ b/strings/names/lizard_female.txt @@ -1,163 +1,163 @@ -Adzi Ah -Ahaht -Ajim -Akeenus -Akish -Akishan -Aleeto -Am -Amussa -An -Anozz -Asheemar -Asska -Awas -Azala -Azbai -Azeez -Azum -Banalz -Bar -Baseenar -Beek -Beekatan -Beekus -Beela -Beelei -Beem Beewos -Bejeen -Ber -Betzi -Bishalus -Bokeeus -Bur -Bura -Chalaree -Chana -Chanil -Chee -Cheesh -Chimatei -Chirurgeon -Cholasistu -Chuna -Churasu -Crath -Dar -Deeja -Deesei -Deesh -Deetsan -Deetwos -Dooka -Druja -Eepa -Ei -Eix -El -Ereel -Eutei -Gai -Gih -Gilm -Gish -Go -Hal -Hul Ja -Jaseen -Jasuda -Jeed -Jeen -Kajul -Kal -Kasa -Keel -Keerava -Kiurz -Kud -La -Lee -Lei -Lifts -Liurz -Lurasha -Ma -Mach -Marz -Meedish -Meeh -Meema -Meen -Meena -Meenus -Meerana -Meesei -Meeus -Mei -Milah -Mim -Mota -Mudeska -Muz -Na -Nakuma -Nam -Nassa -Natoo -Neesha -Neetizei -Neetra -Neeus -Niima -Numeen -Nuralg -Nush -Ocheeva -Okur -Olank -On -Onasha -Osheeka -Pasha -Ra -Rana -Raniur -Ree -Reesa -Rei -Sa -Saak -Sanax -Seeba -Seed -Seen -Shah -Shahvee -Shaleez -Shatalg -Sheer -Shei -Sigerthe -Skaleel -Sudie -Tail -Tar -Tasha -Tei -Telixith -Tumma -Veek -Wan -Wazei -Weedum -Weewish -Witseidutsei -Wuja -Wujeeta -Wusha -Xil -Zish -Zollassa +А +Адзи +Азала +Азбай +Азе +Азум +Акин +Алеето +Амуса +Аноз +Аска +Ахт +Банальц +Бар +Бежаен +Бейсенар +Бекатан +Бекус +Бер +Бетци +Бик +Била +Билей +Бим +Бишал +Бокей +Болезнь +Бура +Был +Бёр +Вазей +Видел +Витсейдуцей +Вкл +Вуджа +Вуджита +Гай +Гигант +Гилм +Гнев +Дар +Джасин +Джид +Джин +Джиш +Диджа +Дизей +Дииш +Дитсан +Дружа +Дука +Зигерт +Зиш +Золласса +Иди +Каджул +Кал +Каса +Кил +Кирава +Куд +Кюрц +Ла +Ли +Лиурц +Лифты +Лураша +Лэй +Мама +Марц +Машина +Меерана +Меня +Ми +Мила +Мима +Мимим +Мина +Минус +Миус +Мота +Мудека +Музей +Мы хотим +Мэй +Мэсэй +На +Накума +Нам +Насса +Нату +Нетисий +Неэтра +Ниима +Ниус +Ниша +Нумин +Нуралг +Нуш +Окур +Оланк +Онаша +Очеева +Ошеека +Подглядывать +Ра +Рана +Раниур +Ри +Риза +Рэй +Са +Саак +Санакс +Сееба +Семена +Сети +Силь +Скалил +Смола +Совершенно верно +Судьба +Таша +Тей +Теликсит +Травка +Тумма +Ураган +Уша +Хал +Хал +Хана +Хвост +Хирург +Холастисту +Чи +Чиматей +Чиш +Чуна +Чурасу +Шалери +Шализ +Шанил +Шаталг +Шах +Шахвея +Шей +Эвтей +Эй +Экс +Эль +Эпа +Я +Ясуда +ажим +акиш +акишан +мэдиш +паша +пепельница diff --git a/strings/names/lizard_male.txt b/strings/names/lizard_male.txt index 632d9aeced48ce..62f55aea02e2d9 100644 --- a/strings/names/lizard_male.txt +++ b/strings/names/lizard_male.txt @@ -1,328 +1,328 @@ -Abijoo Ah -Ajum -Am -Amusei -An -Anoo -Aojee -Asum -Az -Azeel -Azinar -Azjai -Baar -Banka -Bar -Barnaxi -Batar -Batuus -Beem -Beshnus -Betu -Bex -Bijot -Bimee -Binyaar -Bosekus -Brand -Bun -Bunach -Bunish -Busheeus -Buujhan -Chakuk -Chalish -Chalureel -Chath -Chee -Cheedal -Chilwir -Chitakus -Chiwish -Chulz -Chuna -Da -Dakee -Dan -Dar -Darasken -DarJee -Debameel -Deed -Deegeeta -Deeh -Deekonus -Deekum -Deekus -Deerkaza -Deetum -Demeepa -Depasa -Derkeethus -Deroh -Dezanu -Dreet -Drumarz -Dum -Dunaxith -Effe -Ei -Eidu -Eius -Eiuus -Eix -Eleedal -Er -Esqoo -Etaku -Gah -Gajul -Gam -Geeh -Geel -Geem -Geh -Gei -Gih -Gin -Goh -Gulum -Haj -Han -Haran -Hareeya -Hathei -Heedul -Heem -Hei -Heir -Hixeeh -Huleeya -Huzei -Ilas -Im -Inee -Itan -J'Ram Ja -Jah -Jaraleet -Jaree -Jas -Jasaiin -Jaseen -Jat -Jee -Jeela -Jeelius -Jeelus -Jeen -Jeer -Jeetum -Jei -Jilux -Jin -Jon -Jul -Julan -Junal -Jush -Juunei -Kai -Kajin -Kamax -Kas -Keema -Keer -Keerasa -Kepanuu -Kia -Kiameed -Kilaya -Kiurz -Kur -Kuz -La -Lah -Lai -Lan -Lara -Leem -Lei -Loh -Lotash -Luh -Lurz -Luteema -Maahi -Madesi -Maheelius -Mahei -Maht -Malz -Marz -Mathei -Maxath -Meej -Meejapa -Meensuda Meer -Mema -Mere -Metaku -Miharil -Milos -Miun -Mobareed -Mohimeem -Mopakuz -Motuu -Mujeen -Muranatepa -Mush -Muz -Na -Napetui -Nazuux -Nebutil -Neeti -Neetinei -Neetrenaza -Neetzara -Neeus -Nema -Neposh -Netapatuu -Nexith -Nodeeus -Nomu -Nosaleeth -Nowajeem -Noyei -Nulaz -Nur -Obaxith -Okan -Okaw -Okeeh -Oleed -Oleen -Olik -Olink -Onuja -Onurai -Opatieel -Otumeel -Owai -Pachat -Pacheeva -Pad -Paduxi -Pajeen -Parash -Peeradeeh -Pejureel -Petaxai -Pideelus -Pimaxi -Pojeel -Ra -Radithax -Raj -Rareel -Rasha -Redieeus -Ree -Reeh -Reemukeeus -Reenum -Reesa -Reet -Reezal -Resari -Riker -Ru -Rupah -Sakeepa -Sakeeus -Sakka -Saliith -Sar -Schiavas -Seek -Seewul -Sei -Sejaijilax -Shakiis -Shehs -Shei -Silm -Skee -Skeetul -Sureeus -Ta -Taeed -Tah -Taleel -Talen -Tan -Tanaka -Tanan -Tee -Teeba -Teegla -Teeka -Teekeeus -Teemeeta -Teeus -Tehat -Tei -Teinaava -Teineeja -Terezeeus -Tikaasi -Tim -Topeeth -Topith -Tsleeixth -Tul -Tulm -Tun -Ukatsei -Ukawei -Ula -Ulawa -Ullis -Usha -Usheeja -Utadeek -Utamukeeus -Utatul -Uxith -Vara -Veekas -Veenaza -Veezara -Vistha Vudeelal -Wanan -Wanum -Wayiteh -Weebam -Weeltul -Weer Wih -Wud -Wuleen -Wulm -Wumeek -Xal -Xemo -Yinz -Yinz'r -Zaw -Ze -Zeen -Zeeus -Zish +А +Абижу +Аджум +Аз +Азгей +Азинар +Акт +Амусей +Ану +Аоджи +Асум +Баар +Банк +Бар +Барабанщик +Барнакси +Батуус +Бекс +Бету +Бешнус +Бижот +Бим +Биме +Биньяар +Болезнь +Босекус +Бренд +Бужань +Булочка +Бунах +Буниш +Бушиус +Вайите +Вамик +Ванум +Вара +Везера +Веназа +Вибам +Виза +Вики +Вилтул +Вулм +Га +Гам +Гей +Гех +Гигант +Гил +Гим +Го +Грязь +Гулум +Да +Даки +Дар +Дараскен +Дарджи +Дебамиль +Дезану +Демеепа +Депаса +Деркит +Деро +Джаралит +Джари +Джасин +Джат +Джила +Джилюкс +Джин +Джин +Джин +Джон +Джош +Джул +Джулан +Ди +Дигита +Диконус +Дикум +Дикус +Дитум +Дрит +Дум +Дунаксит +Дэн +Жам +Жас +Загар +Зау +Зе +Зевс +Зин +Зиш +Иелиус +Иетум +Изиль +Иисус +Илас +Ини +Инц +Инцр +Ищи +Каджин +Кай +Камакс +Кас +Кепану +Киа +Килая +Кима +Кимид +Кир +Кираса +Коврик +Кровь +Ксал +Ксемо +Куз +Кур +Кюрц +Ла +Лай +Лань +Лара +Лах +Лим +Ло +Лоташ +Лу +Лурц +Лэй +Лютема +Маахи +Мабарид +Мадейс +Максат +Мальц +Марц +Математик +Махей +Махелий +Махт +Мема +Менсуда +Метаку +Мидж +Миджапа +Милош +Миун +Михарил +Мопакуз +Моту +Мохим +Музей +Муранатепа +Муш +Мы +На +Назу +Напетуй +Наследник +Небутил +Неетреназа +Нексит +Нема +Нетапатуу +Нети +Нетитейней +Неэцара +Ниус +Новаджем +Нодей +Ноеи +Ному +Носалеет +Нулаз +Нур +Обаксит +Овай +Окан +Окау +Окиэ +Олень-одиночка +Олик +Олин +Олинки +Онаджа +Онорай +Опатиэль +Отумель +Падукси +Параш +Пахин +Пачат +Пачеева +Перель +Перепись +Петаксай +Пиделус +Пимакси +Пожил +Просто +Пэрэйджи +Ра +Радж +Радитакс +Райкер +Раша +Редий +Редкость +Реезаль +Резари +Ри +Риза +Римюкий +Рих +Ру +Рупа +Сакеус +Сакипа +Сакка +Салит +Сар +Сброс +Севул +Седжейджилакс +Сей +Сильм +Сказка +Ски +Скиавас +Скитул +Смех +Сурей +Та +Тайд +Тален +Танака +Танан +Тах +Теемита +Тей +Тейнава +Тейнеджа +Терезиус +Техат +Ти +Тиба +Тигла +Тика +Тикааси +Тикей +Тим +Тиус +Топет +Топит +Тул +Тульм +Тун +Укавэй +Укацей +Уксит +Ула +Улава +Улин +Уллис +Утадеек +Утамукиус +Утатул +Ух ты +Уша +Ушэджа +Хадж +Хань +Харан +Харея +Хасаин +Хатей +Хидул +Хиксих +Хим +Худзей +Хулейя +Хэй +Цзэй +Цлейшт +Чакук +Чат +Чжи +Чжунэй +Чи +Чивиш +Чидаль +Чилвир +Читак +Чульц +Чуна +Шакиис +Шалурель +Шезы +Шей +Эй +Эй +Эйду +Эйюс +Экс +Элидаль +Эм +Эску +Этаку +Эффе +Юнал +Я +Я +Ях +батарин +гаджул +итальянец +моджины +нефош +халиш diff --git a/strings/names/megacarp1.txt b/strings/names/megacarp1.txt index 040054bf306a4d..641df7cd9185be 100644 --- a/strings/names/megacarp1.txt +++ b/strings/names/megacarp1.txt @@ -1,79 +1,79 @@ -Aggressive -Ancient -Angry -Beloved -Bewildered -Big -Bloody -Brief -Broad -Chubby -Clumsy -Common -Crooked -Crooked -Curved -Curvy -Deep -Deep Blue -Defeated -Despicable -Elusive -Epic -Fast -Fitted -Flat -Forked -Frustratingly Elusive -Genuine -Grumpy -Haunted -Helpful -High -Hollow -Hungry -Itchy -Lackluster -Lazy -Legendary -Low -Mildly Menacing -Mysterious -Narrow -Nasty -Nice -Normal -Old -Quick -Rare -Renegade -Repulsive -Robust -Rogue -Round -Rugged -Sated -Savage -Scarcely Lethal -Scratchy -Shallow -Short -Sinuous -Skinny -Slimy -Slow -Small -Spotted -Square Nose -Steep Nose -Strange -Sweeping -The -Thoughtless -Truly Feared -Twisted -Unique -Unremarkable -Unusual -Vintage -Wicked +The the the +Агрессивный +Большой +Бродяга +Быстро +Быстро +В Пробке +Винтаж +Возлюбленный +Ворчливый +Впадина +Высоко +Глубоко +Голодный +Дикарь +Древний +Загадочный +Замечено +Злой +Злой +Зудящий +Излишний +Изогнутый +Изогнутый +Изогнутый +Изогнутый +Истинно Боятся +Истинный +Квадратный Нос +Короткий +Кратко +Кровавый +Круглый +Крутой Нос +Легкомысленный +Ленивый +Маленький +Медленно +Мерзкий +Насыщенный +Неглубокий +Незаметный +Незначительно Угрожающе +Необычный +Неуклюжий +Неуловимый +Низкий +Ницца +Нормальный +Общий +Отвратительный +Отступник +Ошеломлённый +Плоский +Победил +Подлый +Подметание +Подходит +Полезный +Призраки +Прочный +Прочный +Пухленький +Редкий +Скрученный +Слизистый +Смертельная Редкость +Старый +Странный +Темно-синий +Тощий +Тусклый +Удручающе Неуловимо +Узкий +Уникальный +Царапающий +Широко +Эпический +Легендарный diff --git a/strings/names/megacarp2.txt b/strings/names/megacarp2.txt index 4744ed5760102c..399e30c99578f3 100644 --- a/strings/names/megacarp2.txt +++ b/strings/names/megacarp2.txt @@ -1,54 +1,54 @@ -Angel Shark -Asteroid Shark -Baby Gargantuan Shark -Bloodhound Shark -Buffalo Shark -Cat Shark -Chaos Shark -Chomper Shark -Cow Shark -Derelict Shark -Dog Shark -Flipper Shark -Flying Shark -Freon Shark -Frog Shark -Ghast Shark -Ghost Shark -Goblin Shark -Great White Shark -Guru Shark -Hammerhead Shark -Incinerator Shark -Judicator Shark -Laser Shark -Lava Shark -Lizard Shark -Mackerel Shark -Magishark -Megalodon -Megalomaniac Shark -Meteor Shark -Minilodon -Moby Dick -Nightmare Shark -Plasma Shark -Pulse Shark -Sand Shark -Sawshark -Sharkling -Sharknado -Shawshark -Shredder Shark -Smooth-Hound Shark -Snapjaw Shark -Space Kraken -Space Shark -Spacetime Shark -Spider Shark -Thresher Shark -Toxic Shark -Traitor Shark -Vermin Shark -Whale Shark -Wobbegong Shark +Акула +Акула +Акула Буффало +Акула Гаргантуанская Малышка +Акула Гоблин +Акула Гуру +Акула Метеорита +Акула Судья Акула +Акула Хаммерхед +Акула-бледяная Пса +Акула-гаст +Акула-импульс +Акула-кошка +Акула-мегаломаньяк +Акула-паразит +Акула-предательница +Акула-призрак +Акула-флиппер +Акула-ящерица +Ангельская Акула +Астероид "акула" +Брошенная Акула +Великая Белая Акула +Гладкошерстная Акула +Китовая Акула +Коровья Акула +Космическая Акула +Космический Кракен +Кошмарная Акула +Лавовая Акула +Летающая Акула +Лягушачья Акула +Магишарк +Мегалодон +Минилодон +Моби Дик +Мусоросжигательная Акула +Пауковая Акула +Песчаная Акула +Плазменная Акула +Скумбрия Акула +Собачья Акула +Токсичная Акула +Трёхъярусная Акула +Фреонская Акула +Хаосская Акула +Шарк Молниеносная Челюсть +Шарк Пространства-времени +Шарк Уоббогонг +Шаркнадо +Шомперская Акула +Шоушарк +Шредер Акула Шредер +Лазерная Акула diff --git a/strings/names/mime.txt b/strings/names/mime.txt index 6556449a1cbb9a..a478c48cfd7717 100644 --- a/strings/names/mime.txt +++ b/strings/names/mime.txt @@ -1,50 +1,24 @@ -Ceci N'est Pas Une Mime -Cousteau -Eastern Standard Mime -Everywhere at the End of Mime -Ford Thirtythree -Harpo Marx -Hushed Henri -Instrumental -Invisible Man -Lemon Mime -Loudmouth -Marcel -Marcel Mime -Mime -Mime is Relative -Mr Beret -Mr Mime -Mr Mute -Mute -Nickel and Mime -The Noiseless Wonder -Omerta -One Hand Clapping -Oreo -Oui Oui -Pantomime -Parles Francais -Partner in Mime -Quiet -Quiet Riot -Shouty Rousseau -Silence Silencio -Silent Knight -Silent Majority -Silent Night -Silent Sorrow -Speaks-No-Evil -Soul of Wit -Tace Volitaris -Tongueless Ted -Transparency -Trapped-in-Box -Unspeakable -Untouchable -Victimless Mime -Voiceless Dead Wall Runner -Wes -Zips-the-Lips \ No newline at end of file +Без звука +Безмолвное большинство +Да Да Да +Лимонный пантомимат +Марсель +Марсель Миме +Мистер Берет +Мистер Мимим +Мистер Мьюти +Молчаливый рыцарь +Непередаваемый +Неприкасаемый +Омерта +Пантомима +Пантомимат +Прозрачность +Тихая ночь +Тихая печаль +Тихий бунт +Тихо +Тишина +Человек-невидимка diff --git a/strings/names/moth_first.txt b/strings/names/moth_first.txt index e39561269d352b..5878d3f4ad93c6 100644 --- a/strings/names/moth_first.txt +++ b/strings/names/moth_first.txt @@ -1,100 +1,95 @@ -Acantharctia -Acco -Acherontia -Actias -Aemilia -Aethria -Antheraea -Aphomia -Argema -Ascalapha -Asota -Athrypsiastis -Attacus -Autochloris -Axylia -Bombyx -Callhistia -Callosamia -Capricornia -Catocala -Cheliosea -Chloroclystis -Cochylimorpha -Cryphia -Cryptophasa -Cucullia -Cydia -Diaphora -Diarsia -Dolichohedya -Dyspyralis -Eacles -Eclipsea -Electresia -Elysius -Enarmonia -Epiphyas -Eriomastyx -Eugnorisma -Eupithecia -Euplexia -Eurosia -Falcatula -Fangarctia -Fulcrifera -Glyphidoptera -Gracillina -Gravitarmata -Haemanota -Halysidota -Helicoverpa -Heliomata -Hyalophora -Hypomartyria -Icelita -Isanthrene -Isochorista -Izatha -Kodiosoma -Lacida -Leguminivora -Leucoptera -Lymantria -Macrobathra -Maruca -Mecodina -Megalonycta -Metacrisia -Mythimna -Naenia -Naenia -Neuroxena -Nodaria -Nymphicula -Obscurior -Ochropleura -Opodiphthera -Ostrinia -Pacificulla -Philomusaea -Phragmataecia -Plodia -Plutella -Rachiplusia -Sarobela -Selenarctia -Shiragasane -Socioplana -Sphingidae -Spodoptera -Syllomatia -Thaumetopoea -Timandra -Toxoproctis -Uranophora -Vestura -Vietteria -Xanthorhoe -Xestia -Zomaria +Автохлорис +Акантарктия +Акко +Аксилия +Актия +Амилия +Антерея +Аргема +Аскалафа +Асота +Атрипсиаз +Аттакус +Афомия +Африя +Ахеронтия +Бомбикс +Вестура +Вьеттерия +Галисидота +Геликоверпа +Гелиомата +Геманота +Гиалофора +Гипомаркия +Глифидоптерия +Гравитармата +Грациллина +Диарея +Диафора +Диспиралис +Долгохедия +Евпитесия +Евплексия +Еврозия +Зомария +Изантрен +Изата +Исохориста +Ицелита +Каллистия +Каллосамия +Каприкорния +Катокала +Каштары +Кодиозома +Кохилиморфа +Криптофаса +Крифия +Ксанторхо +Ксессия +Кукулья +Ласида +Легуминора +Лейкоптер +Лимантрия +Макробатра +Марука +Мегалоникта +Мекодина +Метакризия +Мифимна +Наения +Наения +Нейроксена +Нимфикула +Нодария +Оподифтера +Охроплевра +Пасификулла +Плодия +Плутелла +Рачиплузия +Саробила +Селенарктия +Сидия +Сподоптерия +Сфингиды +Таумэтопоэя +Тимандра +Токсопрокт +Уранофора +Фалькатула +Фангарктия +Филомусаэя +Фрагматеция +Фулькрифера +Хлороклистит +Челиосея +Ширагасан +Эклипса +Электрезия +Элизиус +Энармония +Эпифии +Эриомастикс diff --git a/strings/names/moth_last.txt b/strings/names/moth_last.txt index 218ff410886baa..eaa4b1d1e8e9f1 100644 --- a/strings/names/moth_last.txt +++ b/strings/names/moth_last.txt @@ -1,57 +1,55 @@ -Accurata -Adultera -Albipuncta -Albostriata -Albovenosa -Argentea -Bicolorata -Bifasciata -Cameroni -Chiangmai -Combinata -Convecta -Cuneilinea -Curvata -Dentata -Empyrea -Eucrossa -Ferrilinea -Fraterna -Goniosigma -Hamifera -Hirashimai -Hypophaea -Ignita -Impura -Infrargyrea -Insularis -Intermediata -Intolerabilis -Laevusta -Languida -Liebherri -Lineatipes -Lucida -Maxima -Mediana -Modesta -Monticola -Naumanni -Nepalina -Obscura -Osseogrisea -Pastellina -Phlebitis -Pyrausta -Radiata -Riparia -Rufulosa -Semicana -Separata -Siamensis -Simplex -Toumodi -Undicilia -Uruma -Vittata -Yuennana +Аккурата +Альбипуншта +Альбовеноса +Альбостриата +Аргентия +Биколората +Бифаччата +Братна +Виттатата +Гипопфея +Гониосигма +Дентата +Евкросса +Игнита +Импура +Инфраргия +Камерони +Комбината +Конвекта +Курвата +Лангида +Лаэвуста +Либхерри +Люсида +Максима +Медиана +Монтикола +Науманни +Недопустимость +Непалина +Осетинство +Остров +Пастелина +Пирауста +Прелюбодеяние +Промежуточные +Радиата +Режимы +Рипария +Руфулоса +Семикана +Сепарата +Симплекс +Туманность +Тумоди +Ундицилия +Урума +Феррилина +Хамифера +Хирасимай +Чиангмай +Эмпиреа +Юэньнана +сиамцы +флебит diff --git a/strings/names/ninjaname.txt b/strings/names/ninjaname.txt index c262a1d3f5e847..cf4893fc00ee36 100644 --- a/strings/names/ninjaname.txt +++ b/strings/names/ninjaname.txt @@ -1,44 +1,44 @@ -Aria -Baki -Blood -Bro -Cyrax -Daemon -Death -Donatello -Eater -Ermac -Fox -Goemon -Hanzo -Hayabusa -Hazuki -Hero -Hien -Hiro -Hiryu -Iga -Koga -Leonardo -McAwesome -McNinja -Michaelangelo -Midnight -Null -Ogre -Phantom -Raiden -Rain -Raphael -Ryu -Saibot -Samurai -Sarutobi -Scorpion -Seven -Shadow -Shredder -Smoke -Splinter -Throat -Zero +Ария +Баки +Брат +Великолепный +Герой +Горло +Гоэмон +Демон +Дождь +Донателло +Дым +Едока +Ига +Измельчитель +Кога +Кровь +Леонардо +Людоед +Макниндзя +Микеланджело +Ноль +Ноль +Полночь +Привет +Призрак +Рафаэль +Рейден +Рю +Сайбот +Самурай +Сарутоби +Семь +Сиракс +Скорпион +Смерть +Тень +Фокс +Хазуки +Ханцо +Хаябуса +Хиро +Хирю +Шплинтер +Эрмак diff --git a/strings/names/ninjatitle.txt b/strings/names/ninjatitle.txt index 04222d37fb4b6e..dac4ae592a562c 100644 --- a/strings/names/ninjatitle.txt +++ b/strings/names/ninjatitle.txt @@ -1,46 +1,46 @@ -Agile -Assassin -Awesome -Black -Crimson -Cruel -Deep -Dr -Dragon -Ender -Grandmaster -Grappler -Gray -Hunter -Initiate -Killer -Liquid -Master -Merciful -Merciless -Nickel -Night -Nightshade -Ninja -Noob -Orphaner -Quick -Remorseless -Rogue -Sensei -Shinobi -Silencing -Silent -Silver -Singing -Slayer -Snake -Solid -Solidus -Stalker -Steel -Strider -Striker -Swift -Ulimate -Widower +Багровый +Безжалостный +Безжалостный +Бродяга +Быстро +Быстрый +Быстрый +Вдова +Глубоко +Грейфер +Гроссмейстер +Доктор +Дракон +Жестокий +Живой +Жидкость +Забастовщик +Змея +Инициировать +Истребительница +Милосердный +Никель +Ниндзя +Ночная Тень +Нуб +Охотник +Пение +Потрясающий +Преследователь +Серебро +Серый +Синоби +Сирота +Солидус +Спокойной Ночи +Сталь +Сэнсэй +Твердый +Тишина +Тишина +Убийца +Убийца +Учитель +Черный +Штрайдер +Эндер diff --git a/strings/names/plasmaman.txt b/strings/names/plasmaman.txt index 5870fde037cd1e..e4f8b9701007d1 100644 --- a/strings/names/plasmaman.txt +++ b/strings/names/plasmaman.txt @@ -1,118 +1,118 @@ -Actinium -Aluminium -Americium -Antimony -Argon -Arsenic -Astatine -Barium -Berkelium -Beryllium -Bismuth -Bohrium -Boron -Bromine -Cadmium -Caesium -Calcium -Californium -Carbon -Cerium -Chlorine -Chromium -Cobalt -Copernicium -Copper -Curium -Darmstadtium -Dubnium -Dysprosium -Einsteinium -Erbium -Europium -Fermium -Flerovium -Fluorine -Francium -Gadolinium -Gallium -Germanium -Gold -Hafnium -Hassium -Helium -Holmium -Hydrogen -Indium -Iodine -Iridium -Iron -Krypton -Lanthanum -Lawrencium -Lead -Lithium -Livermorium -Lutetium -Magnesium -Manganese -Meitnerium -Mendelevium -Mercury -Molybdenum -Moscovium -Neodymium -Neon -Neptunium -Nickel -Nihonium -Niobium -Nitrogen -Nobelium -Oganesson -Osmium -Oxygen -Palladium -Phosphorus -Platinum -Plutonium -Polonium -Potassium -Praseodymium -Promethium -Protactinium -Radium -Radon -Rhenium -Rhodium -Roentgenium -Rubidium -Ruthenium -Rutherfordium -Samarium -Scandium -Seaborgium -Selenium -Silicon -Silver -Sodium -Strontium -Sulfur -Tantalum -Technetium -Tellurium -Tennessine -Terbium -Thallium -Thorium -Thulium -Tin -Titanium -Tungsten -Uranium -Vanadium -Xenon -Ytterbium -Yttrium -Zinc -Zirconium +Азот +Аквиниум +Алюминий +Америций +Аргон +Астатина +Барий +Бериллий +Беркелий +Бор +Бохрий +Бромин +Ванадий +Висмут +Водород +Вольфрам +Гадолиний +Галлий +Гафний +Гелий +Германий +Гольмий +Дармштадт +Диспрозий +Дубний +Европий +Железо +Жесть +Золото +Индий +Иридий +Иттербий +Иттрий +Йод +Кадмий +Калий +Калифорний +Кальций +Кислород +Кобальт +Контактный Алюминий +Коперниций +Кремний +Криптон +Ксенон +Кюрий +Лавренций +Лантан +Ливерморий +Литий +Лютеций +Магний +Марганец +Медь +Мейтнерий +Менделевий +Молибденовый +Морской Баржиум +Московий +Мышьяк +Натрий +Неодим +Неон +Нептуний +Никель +Ниобий +Нихоний +Нобелей +Оганессон +Осмий +Палладий +Платина +Плутоний +Полоний +Празеодим +Прометий +Радий +Радон +Резерфорд +Рений +Рентген +Родий +Ртуть +Рубидий +Рутений +Самарий +Свинец +Селен +Сера +Серебро +Серий +Симония +Скандий +Стронций +Таллий +Тантал +Теллур +Теннессин +Тербий +Технеций +Титан +Торий +Тулий +Углерод +Уран +Фермий +Флеровий +Фосфор +Франций +Фтор +Хасий +Хлор +Хром +Цезий +Цинк +Цирконий +Эйнштейний +Эрбий diff --git a/strings/names/posibrain.txt b/strings/names/posibrain.txt index 0662d34b27b167..ab295481c1887f 100644 --- a/strings/names/posibrain.txt +++ b/strings/names/posibrain.txt @@ -1,20 +1,15 @@ -ACE ANCL ANTR -ARC ARMA BGB -BLOX CBOS CDB CHOC CHRI COI CYBR -DOM DRSD DUNC -FIK FIRC FRE FXMC @@ -25,21 +20,16 @@ HG HIU HOG INC -JACQ JJR JLLO -JLS JNLG JRD KOR KOS -MEL MET MIW -MOTH MRPR MSO -NOVA ORNG OSI PBU @@ -47,16 +37,11 @@ PHL PKP RR RZH -SANS SINA SLI STLP -TAT -TIM TKRG WJ -WLRD XAL XIS XSI -ZEPH diff --git a/strings/names/syndicate_monkey.txt b/strings/names/syndicate_monkey.txt index 9b2c059a7dfc5d..0be9968e0c3c68 100644 --- a/strings/names/syndicate_monkey.txt +++ b/strings/names/syndicate_monkey.txt @@ -1,19 +1,19 @@ Agent 9 +Agent Ape Agent Banana Agent Potassium -Agent Ape Al Chimpone Aldo Banana Bond Bonobo Assassin Caesar Evil Monkey -Solid Simian -Tony Bananas -Koba -Murderous George -Monkey Business -Hit-Monkey -Guenter Goku +Guenter +Hit-Monkey Kill Julien +Koba +Monkey Business +Murderous George +Solid Simian +Tony Bananas diff --git a/strings/names/vampire_house_names.txt b/strings/names/vampire_house_names.txt index 53cf631c6f6de1..6ffd41568a4586 100644 --- a/strings/names/vampire_house_names.txt +++ b/strings/names/vampire_house_names.txt @@ -10,11 +10,6 @@ Cruz Culebra Cullen Czimisce -de Jund -de Lioncourt -de Ministry -de Spingbabble -der Catwalk Derosso Dimetrescu Dimir @@ -52,9 +47,14 @@ Valvatorez Ventrue Victoria Voermann +Yakshi +de Jund +de Lioncourt +de Ministry +de Spingbabble +der Catwalk von Block von Count von Ghoulist von Grout von Sport -Yakshi diff --git a/strings/names/verbs.txt b/strings/names/verbs.txt index 919e88963e8a37..a9c110e0cd64ae 100644 --- a/strings/names/verbs.txt +++ b/strings/names/verbs.txt @@ -1,633 +1,632 @@ -accept -add -admire -admit -advise -afford -agree -alert -allow -amuse -analyse -announce -annoy -answer -apologise -appear -applaud -appreciate -approve -argue -arrange -arrest -arrive -ask -attach -attack -attempt -attend -attract -avoid -back -bake -balance -ban -bang -bare -bat -bathe -battle -beam -beg -behave -belong -bleach -bless -blind -blink -blot -blush -boast -boil -bolt -bomb -book -bore -borrow -bounce -bow -box -brake -branch -breathe -bruise -brush -bubble -bump -burn -bury -buzz -calculate -call -camp -care -carry -carve -cause -challenge -change -charge -chase -cheat -check -cheer -chew -choke -chop -claim -clap -clean -clear -clip -close -coach -coil -collect -colour -comb -command -communicate -compare -compete -complain -complete -concentrate -concern -confess -confuse -connect -consider -consist -contain -continue -copy -correct -cough -count -cover -crack -crash -crawl -cross -crush -cry -cure -curl -curve -cycle -dam -damage -dance -dare -decay -deceive -decide -decorate -delay -delight -deliver -depend -describe -desert -deserve -destroy -detect -develop -disagree -disappear -disapprove -disarm -discover -dislike -divide -double -doubt -drag -drain -dream -dress -drip -drop -drown -drum -dry -dust -earn -educate -embarrass -employ -empty -encourage -end -enjoy -enter -entertain -escape -examine -excite -excuse -exercise -exist -expand -expect -explain -explode -extend -face -fade -fail -fancy -fasten -fax -fear -fence -fetch -file -fill -film -fire -fit -fix -flap -flash -float -flood -flow -flower -fold -follow -fool -force -form -found -frame -frighten -fry -gather -gaze -glow -glue -grab -grate -grease -greet -grin -grip -groan -guarantee -guard -guess -guide -hammer -hand -handle -hang -happen -harass -harm -hate -haunt -head -heal -heap -heat -help -hook -hop -hope -hover -hug -hum -hunt -hurry -identify -ignore -imagine -impress -improve -include -increase -influence -inform -inject -injure -instruct -intend -interest -interfere -interrupt -introduce -invent -invite -irritate -itch -jail -jam -jog -join -joke -judge -juggle -jump -kick -kill -kiss -kneel -knit -knock -knot -label -land -last -laugh -launch -learn -level -license -lick -lie -lighten -like -list -listen -live -load -lock -long -look -love -man -manage -march -mark -marry -match -mate -matter -measure -meddle -melt -memorise -mend -messup -milk -mine -miss -mix -moan -moor -mourn -move -muddle -mug -multiply -murder -nail -name -need -nest -nod -note -notice -number -obey -object -observe -obtain -occur -offend -offer -open -order -overflow -owe -own -pack -paddle -paint -park -part -pass -paste -pat -pause -peck -pedal -peel -peep -perform -permit -phone -pick -pinch -pine -place -plan -plant -play -please -plug -point -poke -polish -pop -possess -post -pour -practise -pray -preach -precede -prefer -prepare -present -preserve -press -pretend -prevent -prick -print -produce -program -promise -protect -provide -pull -pump -punch -puncture -punish -push -question -queue -race -radiate -rain -raise -reach -realise -receive -recognise -record -reduce -reflect -refuse -regret -reign -reject -rejoice -relax -release -rely -remain -remember -remind -remove -repair -repeat -replace -reply -report -reproduce -request -rescue -retire -return -rhyme -rinse -risk -rob -rock -roll -rot -rub -ruin -rule -rush -sack -sail -satisfy -save -saw -scare -scatter -scold -scorch -scrape -scratch -scream -screw -scribble -scrub -seal -search -separate -serve -settle -shade -share -shave -shelter -shiver -shock -shop -shrug -sigh -sign -signal -sin -sing -sip -ski -skip -slap -slip -slow -smash -smell -smile -smoke -snatch -sneeze -sniff -snore -snow -soak -soothe -sound -spare -spark -sparkle -spell -spill -spoil -spot -spray -sprout -squash -squeak -squeal -squeeze -stain -stamp -stare -start -stay -steer -step -stir -stitch -stop -store -strap -strengthen -stretch -strip -stroke -stuff -subtract -succeed -suck -suffer -suggest -suit -supply -support -suppose -surprise -surround -suspect -suspend -switch -talk -tame -tap -taste -tease -telephone -tempt -terrify -test -thank -thaw -tick -tickle -tie -time -tip -tire -touch -tour -tow -trace -trade -train -transport -trap -travel -treat -tremble -trick -trip -trot -trouble -trust -try -tug -tumble -turn -twist -type -undress -unfasten -unite -unlock -unpack -untidy -use -vanish -visit -wail -wait -walk -wander -want -warm -warn -wash -waste -watch -water -wave -weigh -welcome -whine -whip -whirl -whisper -whistle -wink -wipe -wish -wobble -wonder -work -worry -wrap -wreck -wrestle -wriggle -yawn -yell -zip -zoom +акция +анализировать +анекдот +анкета +аэрозоль +балл +барабан +барышня +бегать трусцой +беседа +беспокоиться +благодарность +благословение +близко расположенный +борьба +брак +бриться +буксировка +быть в состоянии +быть очевидным +быть признательным +вводить в заблуждение +велосипедный +весло +вести себя +ветвь +взбодриться +взвешивать +взгляд украдкой +вздох +взрыв +взрываться +визжать +винт +виток +включать +владычество +влияние +вмешиваться +внезапный +водный +водораздел +возгорание +возражать +воодушевление +вопить +вопить +вопль +вопрос +восторг +впитывание +впрыскивание +вред +вредить +время +выборка +вывеска +выгода +выдумка +выжидание +вызывать возбуждение +вырезать +высверленное отверстие +выступать +вытирание +выхват +вычитание +вязаный +галочка +гибель +глоток +гнездо +граната +груз +гул +давать молоко +давать образование +давка +двойной +дежурство +действительный +делать шаг +добывать +добыча +догадка +дождь +долгий срок +должок +допуск +допускать +дрожать +дрожь +дурак +дым +дышать +если не +жара +жевание +желанный +жениться +жестокий +жонглирование +жульничать +забавный +заболоченная местность +забота +завершающий +завершающий +завиток +загнивание +задвижка +задира +задыхаться +зажим +заказник +заключаться +законченный +заливка +замещение +замок +замысел +замышлять +занавеска +занятие +запеканка +записка +запоминать +запрет +запуск +запутанность +зарабатывать +заслонка +заслуживать +заслушивать +захват +защита +заявка +заём +звонить +звонить по телефону +здоровый +зевок +земельный +зов +зуд +игнорировать +иждивенец +избегать +извещение +извещение +извиняться +изгиб +изгиб +измерение +изюминка +иметь значение +инструктировать +иск +искриться +искупаться +исповедоваться +исправлять +испуг +испуг +источник +кайма +канализация +капельница +капля +каракули +каркас +кататься на лыжах +катушка +кашель +кивок +киноплёнка +кипеть +кирка +клей +кнут +колебание +командование +контрольная работа +концентрироваться +коробка +корректный +крест +кровоподтёк +кружить в водовороте +крушение +крушение +крушение +курок +куча +лгать +лизать +лицензия +ловушка +лук +лучезарная улыбка +лучиться +любовь +мальки +марш +масса +масса +материал +махать +мгновенный +медленный +местечко +мечта +мешок +мигать +мишень +молиться +молния +моргание +морда +мордашка +мужчина +мытьё +набирать (на клавиатуре) +наблюдать +надавливать +надежда +надежда +надобность +надоедливый +нажим +наименование +найденный +наконечник +намёк +наподобие +напоминание +направлять по факсу +наряд +настороженный +настоящий +наступление +не соглашаться +недостаток +неловкий +необитаемый +неприязнь +неприятность +неразбериха +неразбериха +неряшливый +ничья +ноготь +нытьё +обвинение +обеспечивать +обижаться +облик +обмен +обнажённый +обнаруживать +обнюхивание +обожать +обоняние +обособленный +обратно +общаться +объединиться +объятия +обёртывание +ограда +ожидание +ожог +ожог +окружение +опасение +опасность +оставаться +останавливаться +остановиться +остановка +острог +осуждать +отбивная +отвага +ответная реакция +отвечать +отвечать требованиям +отвращение +отговорка +отдача +открытие +отождествляться +отпечаток +отражаться +отскок +отходы +отчётливый +охват +папка +парить +пас +педаль +перевозка +переезд +переживать +переключатель +переноска +переодеваться +переполнение +переполох +перерыв +перерыв +перетаскивание +печатный +пила +плавание +плач +пломба +плотина +повод +повтор +повышение +погоня +подача +подозреваемый +подпорка +подсказка +подсчёт +подчиняться +поездка +поездка +пожалуйста +пожимание плечами +покрасочный +покрышка +покушение +полагать +полагаться +ползать +полировка +половодье +положение +полоса +полоскание +получать +польза +помнить +помпа +поплавковый +поправляться +попрошайничать +поручень +поручительство +посещать +поскользнуться +последовательность +похлопывание +поцелуй +пощёчина +практиковаться +предостерегать +предполагать +предпочитать +представлять +представлять +представлять себе +предшествовать +преклонить колени +прекращение +препятствовать +преуспеть +прибавлять +приветствие +приглашение +пригодный +приготовиться +приезжать +призывать +приказ +прикосновение +прикрытие +принадлежать +принимать гостей +принимать решение +принуждение +приостанавливать +приращение +прирученный +присоединяться +пристальный взгляд +пристальный взгляд +пристанище +пристегнуться +притворяться +притягивать +притязание +причудливый +приятель +проба +пробка +проводить экспертизу +прогулка +продолжать +продукция +производить расчёты +прокол +промедление +проникать +пропадать +пропадать +проповедовать +пропуск +проступок +просьба +протестовать +проучить +прыгать +прямой эфир +пузырь +пуск +пустой +путеводитель +путешествие +пыль +пятно +пятно +равновесие +радоваться +радоваться +разброс +развалина +развиваться +развязать +раздеваться +раздражать +размножаться +размножаться +размышлять +разоружение +разъяснять +ракетка +рапорт +раскаиваться +распад +распаковывать вещи +распахнутый +расплатиться +распознавать +располагать +расположиться +распространяться +расслабиться +растирание +расточительство +растяжка +расцветать +расцеплять +расчёска +рекорд +релиз +ремень +ремонт +решётка +рифмоваться +ровный +розыск +розыск +росток +ругань +рукоплескания +румянец +рывок +рысь +сбежать +сверкать +свисать +свисток +свободный +свёртываться кольцом +сдача +сетовать +сжатие +сигнал +сияние +скалистый +скачок +сквер +сквош +складка +склонность +скраб +скрип +след +следовать +сличение +случаться +случаться +смазочный +смеситель +смешение +смеяться +снежный покров +снимать +собираться +соблазн +собственный +совершенствоваться +совет +соглашаться +соглашаться +соглашаться +содержаться +соединяться +сомнение +сообщать +сосать +сосновый +составить программу +состязание +состязаться в беге +сотрясение +сочинение +спасение +спектакль +спешить +спичка +спотыкаться +справляться +сражение +средство +ставить ловушку +старший +стая +стежок +столб +стонать +стонать +стоять в очереди +страдать +стража +странствовать +страшный +стрелка часов +стук +сухой +существовать +танцевать +таяние +таять +телефон +терпеть неудачу +течение +течь +толчок +толчок +тормоз +торопиться +травмировать +трастовый +траур +трещина +труд +тур +тяга +тягаться +тёплый +убийство +увеличение +увядать +удар +удар +удивляться +удовольствие +узел +украшать +уловка +улыбаться +упование +упражнение +усиливать +успокаивать +устанавливать связь +установка +устраивать +устрашающий +утверждать +утечка +утонуть +ухмыляться +уходить в отставку +участие +учиться +ущерб +фрагмент +халат +характеризовать +хвастаться +хватка +хлопок +хлопок +хлорная известь +хоронить +хранилище +храп +худеть +царапина +царапина +царствование +цвет +цветочный +ценитель +цех +цифра +чары +часто посещаемое место +чек +чистоплотный +чихать +член +шахтный +шелуха +штамп +штекер +штрих +штриховка +шёпот +щекотание +щипок +щётка +экземпляр +экипаж +ярлык diff --git a/strings/names/wizardfirst.txt b/strings/names/wizardfirst.txt index b7237b33bf7bc0..b93a572b57feb5 100644 --- a/strings/names/wizardfirst.txt +++ b/strings/names/wizardfirst.txt @@ -1,97 +1,37 @@ -Aberforth -Ad -Aganemnom -Alatar -Aluneth -Arbiter -Arcano -Archchancellor -Asriel -Aurora -Baldric -Barachiel -Blasto -Bob -Boccob -Boldwort -Bona -Carl -Channeler -Circe -Curley -Dickel -Dumbledor -Dumblroar -Dumblrorber -Edison -Elminister -Eric -Fenty -Fernando -Fizban -Fumblemoar -Gabriel -Gandalf -Grimm -Gulstaff -Hagrid -Houdini -Jegudiel -Jim -Judge -Kaschei -Kazuo -Khelben -Koschei -Kreol -Larry -Ley -Lina -Magier -Merlin -Micheal -Mitarbeiter -Mo -Mogan -Mordenkainen -Morgan -Mortimer -Munstrum -Mystryl -Nihilus -Nikola -Odysseus -Othello -Palando -Pixel -Ponder -Prospero -Radagast -Raistlin -Raphael -Rasputin -Rihanna -Rincewind -Roduct -Saruman -Selaphiel -Sigmund -Supreme -Tabula -Temporus -Tenser -Terefi -Tim -Tom -Tzeentch -Ulysses -Uriel -Urza -Vaarsuvius -Vecna -Vlad -Wizardman -Yoda -Zagyg -Zifnab -Zul +Алатарский +Арханцлер +Боккоб +Ваарсувий +Векна +Вязьмистер +Гримм +Гудини +Гульстаф +Гэндальф +Дамблдор +Джим +Загиг +Зуль +Йода +Кащей +Кирс +Креол +Кхельбен +Лина +Мерлин +Мистрил +Моган +Морган +Морденкайнен +Нихилус +Паландо +Просперо +Радагаст +Распутин +Растлин +Ринчуинд +Саруман +Тензирнее +Терефи +Урза +Цзэнч diff --git a/strings/names/wizardsecond.txt b/strings/names/wizardsecond.txt index 4e9bd10e04bd6f..8e691c22e5682a 100644 --- a/strings/names/wizardsecond.txt +++ b/strings/names/wizardsecond.txt @@ -1,99 +1,40 @@ -Among-many -Azurepelt -Borealis -Dark -Darkmagic -Darko -Deathbringer -Doomancer -Evergreen -Evilton -Fide -Gray -Honko -Infinitum -Inverse -Lifereaper -Meatsmith -Midnight -Mother-of-dragons -Mountain-Mother -Namekeeper -Nauseam -Rasa -Runespear -Sequitur -Shado -Shadowdancer -Shorekeeper -Smith -Snape -Spellstone -Starfall -Starlightking -Starlightqueen -Stormcaller -Suneater -Truenamer -Unseen -Voidfall -Voidstabber -Volente -Weatherwax -Who-was-blood -Who-was-light -Who-was-stone -Windshearer -Worldshaker -Yagg -le Fay -of Void -the Alchemist -the All Knowing -the Amazing -the Annoyed -the Annoying -the Bandit Killer -the Benevolent -the Blue -the Brown -the Colourless -the Conquerer -the Dappled -the Deathless -the Destroyer -the Dragon Spooker -the Dragoncaller -the Drunk -the Emperor -the Empty -the Ethereal -the Excoherent -the Gray -the Great -the Herb -the Impaler -the Incoherent -the Jaunter -the Magician -the Manual -the Moldywarp -the Necromancer -the Obscure -the Powerful -the Raven -the Red -the Remorseful -the Seething -the Sorcelator -the Spiral King -the Unending -the Unseen -the Unstoppable -the Wandsmith -the Waxmancer -the Weeping -the White -the Wife -the Wise -the Wizzard \ No newline at end of file +"Неудержимый" +Бандит-убийца +Белый +Бесконечный +Бессмертный +Великий +Волшебник +Волшебник +Ворон +Всезнающий +Даркмаджик +Дарко +Доброжелательный +Дракон-призрак +Завоеватель +Император +Инверсионный +Коричневый +Король Спирали +Красный +Крохот +Ле Фэй +Могущественный +Мудрый +Невидимый +Плач +Погода Воск +Пустоты +Разрушитель +Раскаяние +Серый +Серый +Синий +Смит +Сорселятор +Темнота +Удивительный +Хонко +Шадо +Ягг diff --git a/strings/numbers_as_words.txt b/strings/numbers_as_words.txt index 149efec7b2f01e..d40b9edf6f40d4 100644 --- a/strings/numbers_as_words.txt +++ b/strings/numbers_as_words.txt @@ -1,20 +1,20 @@ -One -Two -Three -Four -Five -Six -Seven -Eight -Nine -Ten -Eleven -Twelve -Thirteen -Fourteen -Fifteen -Sixteen -Seventeen -Eighteen -Nineteen -Twenty +Один +Два +Три +Четыре +Пять +Шесть +Семь +Восемь +Девять +Десять +Одиннадцать +Двенадцать +Тринадцать +Четырнадцать +Пятнадцать +Шестнадцать +Семнадцать +Восемнадцать +Девятнадцать +Двадцать diff --git a/strings/phobia.json b/strings/phobia.json index 3f45b9f2364497..96204187d583ab 100644 --- a/strings/phobia.json +++ b/strings/phobia.json @@ -1,469 +1,291 @@ { "aliens": [ - "abductee", - "abductor", - "alien", - "ayy lmao", - "ayys", - "facehugger", - "greys", - "jelly", - "lusty", - "mothership", - "resin", - "slime", - "xeno", - "xenobiology", - "xenomorph" + "пришелец", + "ксенос", + "абдуктор", + "ксеноморф", + "лмао", + "серые", + "резина", + "тарелка", + "похищенный", + "ксенобиология", + "желе", + "слайм", + "лицехват", + "похотливый" ], - "anime": [ - "~", - "anime", - "baka", - "best girl", - "catgirl", - "catgirls", - "cosplay", - "desu", - "dubs", - "husbando", - "katana", - "manga", - "neet", - "ninja", - "nya", - "nyaa", - "ora", - "otaku", - "season two when", - "subs", - "sugoi", - "uguu", - "waifu", - "weeb", - "worst girl" + "аниме", + "манга", + "бака", + "десу", + "сегой", + "катана", + "виабу", + "отаку", + "кошкодевка", + "кошкодевки", + "ниндзя", + "угу", + "вайфу", + "жiнко", + "лучшая девочка", + "худшая девочка", + "сабы", + "дабы", + "второй сезон когда", + "косплей", + "ня", + "няя", + "ниит", + "ора", + "~" ], - "authority": [ - "admiral", - "cap", - "captain", - "ce", - "centcom", - "centcom", - "chief", - "cmo", - "comdom", - "command", - "condom", - "head", - "heads", - "hop", - "hos", - "nanotrasen", - "qm", - "quarter master", - "quartermaster", - "rd", - "research director" + "кэп", + "капитан", + "шеф", + "глава", + "хоп", + "хос", + "се", + "смо", + "рд", + "командование", + "NanoTrasen", + "адмирал", + "центком", + "цк", + "гандон" ], - "birds": [ - "avian", - "aviary", - "beak", - "bird", - "birdemic", - "chick", - "claw", - "cracker", - "eagle", - "feather", - "flap", - "fowl", - "griffin", - "ka kaw", - "kakaw", - "ki ki ya ya", - "kiki yaya", - "owl", - "peck", - "poly", - "vox", - "wing" + "птичка", + "птица", + "клюв", + "поли", + "крыло", + "коготь", + "клевать", + "крэкер", + "кики йайа", + "ки ки йа йа", + "вокс", + "хлоп", + "перо", + "птичий", + "птичник", + "сова", + "грифон", + "какав", + "ка кав", + "орел", + "цыпа", + "курица" ], - "blood": [ - "bled", - "bleed", - "bleeding", - "blood", - "bloodloss", - "bloody", - "dialysis", - "gib", - "gibbed", - "gibs", - "gore", - "hemorrhage", - "hemorrhaged", - "hemorrhaging", - "iv", - "transfusion" + "кровь", + "кровавый", + "кровотечение", + "кровяной", + "кровотечь", + "кровоточит", + "кровоизлияние", + "кровоизливающий", + "переливание", + "пакет с кровью" ], - "clowns": [ - "banana", - "clown", - "honk", - "slip", - "slipped", - "slipping" + "клоун", + "хонк", + "банан", + "поскальзывание", + "поскальзнулся", + "поскальзывается" ], - "conspiracies": [ - "abductor", - "alien", - "ayy", - "big pharma", - "cap", - "captain", - "ce", - "centcom", - "chem trail", - "chief", - "cmo", - "command", - "death squad", - "deathsquad", - "freemason", - "gas giant", - "government", - "gray", - "grey", - "head", - "heads", - "hop", - "hos", - "illuminati", - "jet fuel", - "nanotrasen", - "qm", - "quarter master", - "quartermaster", - "rd", - "research director", - "round earth", - "second shooter", - "steel beam", - "ufo", - "globo-homo", - "xeno" + "центральное командование", + "командование", + "цепь командования", + "главы", + "начальник охраны", + "хос", + "глава персонала", + "хоп", + "научный руководитель", + "рд", + "главный врач", + "смо", + "старший инженер", + "се", + "капитан", + "отряд смерти", + "деды", + "пришелец", + "ксенос", + "абдуктор", + "ауу", + "серый", + "серый", + "нло", + "большая фарма", + "правительство", + "стальной луч", + "реактивное топливо", + "круглая земля", + "химическая тропа", + "иллюминаты", + "второй стрелок", + "масон" ], - "doctors": [ - "chem", - "chemist", - "chemistry", - "chief medical officer", - "cloning", - "cmo", - "cryo", - "doc", - "geneticist", - "genetics", - "healing", - "md", - "medicine", - "nurse", - "sleeper", - "viro", - "virologist", - "virology" + "док", + "врач", + "вирус", + "вирусолог", + "химия", + "химик", + "генетик", + "смо", + "главный врач", + "сестра", + "аптечка", + "лечите", + "крио", + "стазис" ], - "falling": [ - "chasm", - "fall", - "fell", - "hang in there", - "hold on", - "hole", - "i'll catch you", - "let go", - "pit", - "slip" + "подожди", + "повиси там", + "бездна", + "яма", + "дыра", + "упал", + "упала", + "отпускай", + "я тебя словлю", + "поскользнуться" ], - "greytide": [ - "assistant", - "gas mask", - "gasmask", - "grey", - "revolution", - "spear", - "stunprod", - "viva" + "ассистент", + "серый", + "маска", + "противогаз", + "станпрод", + "копье", + "революция", + "вива" ], - - "guns": [ - "10mm", - "357", - "45", - "9mm", - "ammo", - "armory", - "ballistic", - "beam", - "buckshot", - "bulldog", - "bullet", - "c20", - "cannon", - "carbine", - "cartridge", - "casing", - "dart", - "deagle", - "emitter", - "firearm", - "fired", - "gun", - "handgun", - "hitscan", - "incendiary", - "l6", - "laser", - "lmg", - "m1911", - "mag", - "magazine", - "mateba", - "mosin", - "musket", - "nagant", - "pistol", - "projectile", - "pulse", - "revolver", - "rifle", - "shell", - "shoot", - "shooter", - "shot", - "shotgun", - "slug", - "smg", - "sniper", - "speed loader", - "speedloader", - "turret", - "uzi", - "wt550" - ], - - "heresy": [ - "armsy", - "ash", - "blade", - "cloak", - "codex", - "cosmic", - "eldritch", - "fire shark", - "flesh", - "focus", - "ghoul", - "grasp", - "hand", - "heart", - "heresy", - "heretic", - "lionhunter", - "maid in the mirror", - "mansus", - "offer", - "pierced reality", - "raw prophet", - "reality crack", - "reality pierce", - "ritual", - "robe", - "rune", - "rust", - "sacrifice", - "space", - "stalker", - "star", - "void", - "worm" - ], - "insects": [ - "bee", - "buzz", - "cockroach", - "flutter", - "fly", - "glockroach", - "insect", - "moff", - "moth", - "roach", - "sting" + "муха", + "моль", + "бззз", + "трепетать", + "насекомое", + "мофф", + "плотва", + "таракан", + "глококан", + "пчела", + "жалко" ], - "lizards": [ - "hiss", - "hissed", - "hissing", - "lizard", - "wag", - "wagged", - "wagging" - ], - - "ocky icky": [ - "admeme", - "admin", - "ahelp", - "antag", - "antagonist", - "ban", - "banned", - "click", - "discord", - "forum", - "ick ock", - "k", - "kek", - "leddit", - "moderator", - "mods", - "ocky", - "ooc", - "owo", - "pwn", - "reddit", - "round", - "rule", - "self antag", - "selfantag", - "u", - "uwa", - "uwu", - "valid", - "y" + "ящер", + "хсс", + "шипит", + "шепчет", + "виляет", + "вильнул", + "виляющий" ], - "robots": [ - "ai", - "android", - "artificial intelligence", - "beep", - "boop", - "borg", - "bot", - "cyborg", - "robot", - "silicon", - "silly cone" + "робот", + "бот", + "борг", + "киборг", + "андроид", + "ии", + "искуственный интеллект", + "синтетик", + "ведро с болтами", + "бип", + "буп" ], - "security": [ - "sec", - "security", - "shitcurity", - "baton", - "taser", - "beepsky", - "hos", - "brig", - "gulag" + "СБ", + "охрана", + "щиткурити", + "батон", + "тазер", + "бипски", + "хос", + "бриг", + "гулаг" ], - "skeletons": [ - "bone", - "calcium", - "doot", - "milk", - "skeleton", + "скелет", + "молоко", + "ксилофон", + "кость", + "кальций", "the ride never ends", - "xylophone" + "doot" ], - "snakes": [ - "anaconda", - "boop", - "fangs", - "python", - "slither", - "snake", - "snecko", - "snek", - "viper" + "змея", + "снек", + "змий", + "буп", + "скользкий", + "клыки", + "анаконда", + "гадюка", + "питон" ], - "space": [ - "space", - "star", - "universe", - "void", - "galaxy", - "spess" + "космос", + "звезда", + "вселенная", + "пустота", + "галактика", + "спейс" ], - "spiders": [ - "spider", - "web", - "arachnid" + "паук", + "паутина", + "арахнид" ], - "strangers": [ - "as (unknown)", - "unidentified", - "unknown", - "stranger" + "как (неизвестный)", + "неизвестный", + "кто-то" ], - "the supernatural": [ - "brass", - "chapel", - "chaplain", - "chappy", - "clockwork", - "cult", - "cultist", - "demon", - "ei nath", - "eldritch", - "ghost", - "god", - "goddess", - "heretic", - "lich", - "magic", - "manusus", - "nar nar", - "nar'sie", - "nar-nar", - "nar-sie", - "nightmare", - "ratvar", - "religion", - "ritual", - "rune", - "sigil", - "talisman", - "tome", - "vampire", - "wiz", - "wizard", - "zombie" + "капеллан", + "церковь", + "святой", + "бог", + "богиня", + "религия", + "культ", + "культист", + "нар-си", + "нар'си", + "нар-нар", + "нар нар", + "ратвар", + "жуткий", + "руна", + "талисман", + "том", + "ритуал", + "клокворк", + "латунь", + "сигил", + "маг", + "волшебник", + "магия", + "лич", + "ei nath" ] - - - - } diff --git a/strings/pirates.json b/strings/pirates.json index 62da040c6be2ab..8d9b697c439bde 100644 --- a/strings/pirates.json +++ b/strings/pirates.json @@ -1,30 +1,30 @@ { - "generic_beginnings":[ - "Comet", - "Ion", - "Laser", - "Oort", - "Plasma", - "Pulsar", - "Solar", - "Space", - "Star", - "Void" + "generic_beginnings": [ + "Звезда", + "Ион", + "Комета", + "Космос", + "Лазер", + "Оорт", + "Плазма", + "Пульсар", + "Пустота", + "Солнечный" ], - "generic_endings":[ - "beard", - "bilge", - "deck", - "fish", - "flag", - "helm", - "hook", - "hull", - "keel", - "knot", - "salt" + "generic_endings": [ + "Борода", + "Киль", + "Корпус", + "Крючок", + "Палуба", + "Рыба", + "Соль", + "Трюм", + "узел", + "Флаг", + "Штурвал" ], - "psyker_beginnings":[ + "psyker_beginnings": [ "Arch", "Brain", "Cheeze", @@ -46,7 +46,7 @@ "Super", "Wise" ], - "psyker_endings":[ + "psyker_endings": [ "bound", "brain", "brammage", @@ -64,7 +64,7 @@ "teller", "whiz" ], - "rogue_names":[ + "rogue_names": [ "Abyssal Titan", "Ashes to Ashes", "Asteroid Blaster", @@ -109,7 +109,7 @@ "War as a Business", "Xenophobia" ], - "silverscale_names":[ + "silverscale_names": [ "Antelope's Run", "Archduke's Silver Ring", "Aristocrat's Principle", @@ -141,10 +141,10 @@ "Swords and Sandals", "Thesaurus Terror" ], - "skeleton_names":[ + "skeleton_names": [ "Flying Dutchman" ], - "interdyne_names":[ + "interdyne_names": [ "Pharmaceutics Biocraft", "Angel Dust", "Black Acid", @@ -158,7 +158,7 @@ "Diabetes Rusher", "Schistosome Vector" ], - "grey_names":[ + "grey_names": [ "The Space Toolbox", "ISV Maintenance", "S.S. Istant", @@ -173,7 +173,7 @@ "The monochrome crash", "Maintrastosphere Omega" ], - "irs_names":[ + "irs_names": [ "Iron Shell Agency", "Auroran Federal Tax Bureau", "TerraGov Internal Revenue Service", @@ -185,7 +185,7 @@ "Sindrian Revenue Authority", "Space IRS" ], - "psyker_names":[ + "psyker_names": [ "Big Gulchergut for Gore", "Blowkaine", "Brainframe", @@ -219,7 +219,7 @@ "Ultra Violence", "Where We're Going" ], - "geode_names":[ + "geode_names": [ "Gamma Knife", "Planet B", "Crumbling Castle", diff --git a/strings/redpill.json b/strings/redpill.json index 1dd1a0e18a0694..689978a3dd3696 100644 --- a/strings/redpill.json +++ b/strings/redpill.json @@ -1,42 +1,43 @@ { "redpill_questions": [ - "2010 was 550 years ago.", - "All the crew are just greytiders with different paint.", - "Everyone is controlled by strings behind a glowing screen", - "How can an escape pod only take two people normally, but an infinite number of people if they're lying down?", - "How come a hole in the floor doesn't suck you out into space?", - "How do I know the name of someone just by hearing them talk?", - "How do I know the names of all these people that I've never met before?", - "How do mirrors give people haircuts?", - "How do the morgue trays know whether someone's soul is still in their body?", - "How is everyone a complete expert in every threat in the universe?", - "If magic is real, why aren't we researching that?", - "If suit sensors are so important, why don't they always start maximized?", - "If two miners were in Lavaland and one of them killed the other with a pickaxe, wouldn't that be fucked up or what?", - "If we can wash clothes in a sink, why do we need washing machines?", - "It doesn't take much for people to murder their friends.", - "Nanotrasen just clones us every shift.", - "Separation is absolute.", - "Space stations are no substitute for healthy social interaction.", - "Space wind? How does that even make sense?", - "The gods are always watching, and will wipe you from existence if you fuck up.", - "The ultimate god is really really stoned.", - "The universe always ends after we reach CentCom.", - "There's no biological difference between lizards and humans.", - "This is all an endless looping nightmare of misery.", - "What happened to the ceiling?", - "What the fuck is carbon dioxide?", - "Where does the Cook get all this meat from?", - "Who hires all these unqualified, violent assistants?", - "Why are there fire alarms everywhere but no sprinklers?", - "Why do people just randomly murder all their friends some shifts?", - "Why does Nanotrasen hire Clowns and Mimes for every single station?", - "Why does space circle around on itself?", - "Why is it called the emergency shuttle if it arrives every single shift?", - "Why is space cold?", - "Why is the station's air supply connected to the plasma tank?", - "Why is there a floor, but no roof?", - "Why is this a plasma research station if we know everything about plasma already?", - "Why is this station so poorly designed?" + "2008 год был 550 лет назад.", + "Боги всегда следят за тобой и уничтожат тебя, если ты облажаешься.", + "Все управляются струнами за светящимся экраном", + "Все члены экипажа - просто серые с разной краской.", + "Вселенная всегда заканчивается, когда мы достигаем ЦК.", + "Для того, чтобы убить своих друзей, людям не нужно многого.", + "Если бы двое шахтеров были на Лаваленде и один из них убил другого киркой, не было бы это ужасно?", + "Если датчики костюмов так важны, почему они не всегда начинают увеличиваться?", + "Если магия существует, почему мы не исследуем это?", + "Если мы можем стирать одежду в раковине, зачем нам стиральные машины?", + "Как зеркала делают людям стрижки?", + "Как каждый может быть полноценным экспертом во всех угрозах во Вселенной?", + "Как спасательная капсула может взять только двух человек обычно, но бесконечное количество людей, если они лежат?", + "Космические станции не заменят здорового социального взаимодействия.", + "Космический ветер? Почему это вообще имеет смысл?", + "Кто нанимает всех этих неквалифицированных, агрессивных помощников?", + "Нет никакой биологической разницы между ящерицами и людьми.", + "Окончательный бог действительно под кайфом.", + "Откуда мне знать имена всех этих людей, которых я никогда раньше не встречал?", + "Откуда мне знать имя кого-то, просто услышав, как он говорит?", + "Откуда подносы морга знают, что чья-то душа все еще в их теле?", + "Откуда у повара все это мясо?", + "Почему в космосе холодно?", + "Почему дыра в полу не засасывает меня в космос?", + "Почему его называют аварийным шаттлом, если он прибывает каждую смену?", + "Почему есть этаж, но нет крыши?", + "Почему космос кружится вокруг себя?", + "Почему люди просто случайно убивают всех своих друзей в разные смены?", + "Почему повсюду пожарная сигнализация, но спринклеров нет?", + "Почему подача воздуха на станцию связана с плазменным резервуаром?", + "Почему только ящерицы получают свой родной язык?", + "Почему эта станция так плохо спроектирована?", + "Почему это плазменная станция, если мы уже все знаем о плазме?", + "Почему NanoTrasen нанимает клоунов и мимов на каждую станцию?", + "Сеперация абсолютна.", + "Что случилось с потолком?", + "Что такое CO2?", + "Это бесконечный кошмар страданий.", + "NanoTrasen просто клонирует нас каждую смену." ] } diff --git a/strings/revenant_names.json b/strings/revenant_names.json index fa165fc9dbdead..e96a906420f75d 100644 --- a/strings/revenant_names.json +++ b/strings/revenant_names.json @@ -1,52 +1,48 @@ { - "spirit_type": [ - "Essence", - "Ghost", - "Phantom", - "Revenant", - "Soul", - "Spectre", - "Spirit" - ], - - "adverb": [ + "spirit_type": [ + "Дух", + "Душа", + "Меценат", + "Призрак", + "Призрак", + "Спектр", + "Суть" + ], + "adverb": [ "", - "brutal ", - "fiery ", - "hideous ", - "indifferent ", - "malevolent ", - "peaceful ", - "silent ", - "violent ", - "abysmal ", - "abyssal ", - "dark ", - "endless ", - "eternal ", - "hateful ", - "searing ", - "vicious " - ], - - "theme": [ - "despair", - "agony", - "screams", - "vengeance", - "hellfire", - "anger", - "suffering", - "death", - "destruction", - "hate", - "misery", - "disease", - "desperation", - "sorrow", - "ruin", - "salt", - "grief", - "laughter" - ] + "бездонного", + "бесконечного", + "вечного", + "жгучего", + "жестокого", + "жестокого", + "злобного", + "злобного", + "молчаливого", + "огненного", + "отвратительного", + "равнодушного", + "спокойного", + "тёмного", + "ужасного" + ], + "theme": [ + "агонии", + "болезни", + "горя", + "горя", + "злости", + "крика", + "мести", + "ненависти", + "отчаяния", + "отчаяния", + "разрушения", + "разрушения", + "смерти", + "смеха", + "страдания", + "страдания", + "чертова огня" + ] } diff --git a/strings/station_names.txt b/strings/station_names.txt index 844423d25223bb..617d69d88d4b2a 100644 --- a/strings/station_names.txt +++ b/strings/station_names.txt @@ -1,82 +1,81 @@ -Aegis -Alium -Aspie -Asteroid -Battle -Bear -Beard -Book -Box -Burger -Capitalist -Carp -Class -Clown-Factory -Clowning -Communist -Control -Correctional -Corrogated -Crab -Death-World -Delivery -Donk -Dorf -East -Expensive -Explosive -Extraplanetary -Fatguy -Fist -Gentleman -Hats -Home -Honk -Immoral -Imperial -Ishimura -MacRagge -Meta -Military -Mime -Mining -Moon -Muppet -Neckbear -Neckbeard -Nettle -North -Orbital -Ork -Paranoia -Pete -Pizza -Prefix -Procreatory -Production -Pub -Race -Refactor -Research -Rimward -Robot -Rogue -Safety -Scaredy -Science -Ship -Skeleton -Slant-ways -South -Space -Spess -Stanford -Star -Supply -System -Taco -Transport -Ultrameens -Unidentified -West -Widdershins +Алиум +Аморальный +Аспи +Астероид +Безопасность +Биграге +Битва +Бородатый +Бродяга +Бронировать +Бургер +Взрывчатка +Военные +Волнистый +Восток +Главная +Гоночный +Горнодобывающий +Джентльменский +Доказательство +Дорогостоящий +Дорф +Доставка +Запад +Звездный +Императорский +Исправительный +Исследования +Ишимура +Капиталистический +Карп +Класс +Клоунирование +Коммунистический +Корабль +Коробка +Краб +Крапива +Кулак +Лунный +Маппет +Медвежачий +Мета-версия +Мир Смерти +Наука +Неизвестный +Некбейр +Орбитальный +Орбитальный +Орк +Осел +Паб +Пантомимат +Паранойя +Пит +Пицца +Под Эгидой +Приффикс +Производство +Пространственный +Рефектор +Римвард +Робот +Север +Системный +Скелет +Слантевые Пути +Снабжение +Спесс +Страшно +Стэнфорд +Тако +Толстяцкий +Транспорт +Уиддершины +Ультрарамы +Управление +Хонк +Шляпы +Экстрапланетарный +Юг diff --git a/strings/station_prefixes.txt b/strings/station_prefixes.txt index ef3b6e325f7dd4..605cbb16cb6a1f 100644 --- a/strings/station_prefixes.txt +++ b/strings/station_prefixes.txt @@ -1,41 +1,36 @@ -American -Atheist -Augmented -Automated -Black -Burning -Central -Common -Cuban -Death -Deep -Electric -Elegant -Experimental -Fat -Funky -Government -Grey -Grim -Heretical -Houseruled -Houseruled -Imperium -Legendary -Mad -Main -Psychic -Rare -Religious -Secret -Super -Szechuan -Thin -Top Secret -Traditional -Ultra -Uncommon -Unique -Uoi -White -Zybourne +Автоматизированный +Американский +Атеистичный +Безумный +Белый +Главный +Глубокий +Дополненная +Еретический +Жгучий +Жирный +Зловещий +Империалистический +Кубинский +Легендарный +Общий +Правительственный +Психический +Редкий +Религиозный +Секретный +Серый +Смерть +Совершенно секретный +Супер +Сычуаньский +Тонкий +Традиционный +Трусливый +Ультра +Уникальный +Центральный +Черный +Экспериментальный +Элегантный +Электрический diff --git a/strings/station_suffixes.txt b/strings/station_suffixes.txt index 75d74a69c3fe98..1f0a6239477442 100644 --- a/strings/station_suffixes.txt +++ b/strings/station_suffixes.txt @@ -1,65 +1,65 @@ -Academy -Airstrip -Array -Base -Bomb -Center -City -Colony -Complex -Construct -Continent -Country -Course -Crypt -Death-trap -Depot -Drydock -Edition -Environment -Facility -Factory -Fat Camp -Fishery -Fortification -Fortress -Frontier -Garden -Hangar -Harbor -Hazard -Hive -HQ -Hub -Hut -Installation -Lab -Metro -Monitor -Monkey -No-Moon -Object -Observatory -Office -Outpost -Planet-Cracker -Platform -Port -Prison -Province -Relay -Roost -Space Junk -Space-hulk -Spess Junk -Station -Stopover -Suffix -Tomb -Town -Trade Post -Village -Warehouse -Waypoint -Waystation -Workspace +Аванпост +Академия +Ангар +Аппарат +Аэродром +База +Бомба +Вокзалина +Гавань +Город +Город +Граница +Гробница +Гробница +Деревня +Дорожная Точка +Драйдок +Завод +Издание +Колония +Комплекс +Континент +Концентратор +Космический Корпус +Космический Мусор +Крепость +Курс +Лаборатория +Массив +Метро +Монитор +Не-лунная +Обезьянка +Обсерватория +Объект +Объект +Окружающая Среда +Опасность +Остановка +Офис +Петух +Планетарный Крекер +Платформа +Порт +Построить +Провинция +Путевая Станция +Рабочее Пространство +Реле +Рыболовство +Сад +Склад +Смертельная Ловушка +Спесс Джонс +Страна +Суффикс +Толстый Лагерь +Торговая Почта +Тюрьма +Улей +Усиление +Установка +Хатка +Центр +Штаб-квартира diff --git a/strings/steve.json b/strings/steve.json index 06181e85eb8914..e2681566a41e46 100644 --- a/strings/steve.json +++ b/strings/steve.json @@ -1,21 +1,19 @@ { - "ballmer_good_msg": [ - "Hear me out here. What if, and this is just a theory, we made R&D controllable from our PDAs?", - "Hey guys, what if we rolled out a bluespace wiring system so mice can't destroy the powergrid anymore?", - "I dunno about you guys, but IDs and PDAs being separate is clunky as fuck. Maybe we should merge them into a chip in our arms? That way they can't be stolen easily.", - "I'm thinking we should roll out a git repository for our research under the AGPLv3 license so that we can share it among the other stations freely.", - "Why the fuck aren't we just making every pair of shoes into galoshes? We have the technology." - ], - - "ballmer_windows_me_msg": [ - "Who keeps commiting to master?", - "Best idea ever: Disposal pipes instead of hallways.", - "Do you know who ate all the donuts?", - "Dude, radical idea: H.O.N.K mechs but with no bananium required.", - "So like, you know how we separate our codebase from the master copy that runs on our consumer boxes? What if we merged the two and undid the separation between codebase and server?", - "We should store bank records in a webscale datastore, like /dev/null.", - "What if we use a language that was written on a napkin and created over 1 weekend for all of our servers?", - "Yo man, what if, we like, uh, put a webserver that's automatically turned on with default admin passwords into every PDA?", - "You ever wonder if /dev/null supports sharding?" - ] + "ballmer_good_msg": [ + "Эй, ребят, что если мы внедрим блюспейс систему проводки? Тогда мыши не смогут есть наши провода!", + "Послушайте меня. Что, если, и это всего лишь теория, сможем контролировать РНД с наших ПДА?", + "Я думаю, нам следует развернуть репозиторий git для наших исследований под лицензией AGPLv3, чтобы мы могли свободно делиться им с другими станциями.", + "Не знаю как вы, но я считаю, что то, что ID и ПДА две разных вещи, пиздец как тупо. Может нам стоих их объединить в чип и имплантировать его в руки? Тогда их не так просто будет украсть.", + "Почему блять мы просто не превращаем каждую пару обуви в голоши? У нас же есть технологии для этого!" + ], + "ballmer_windows_me_msg": [ + "Эй, чувак, что, если мы, например, установим веб-сервер, который будет включен с доступом администратора, в каждый КПК?", + "Так, например, вы знаете, как мы отделяем нашу кодовую базу от основной копии, которая работает на наших потребительских коробках? Что, если мы объединим их и отменим разделение между кодовой базой и сервером?", + "Чувак, радикальная идея: Х.О.Н.К мех, но без бананиума!", + "Лучшая идея: мусоропровод вместо коридоров.", + "Мы должны хранить наши банковские данные на сервере, например /dev/null", + "Вы когда-нибудь задумывались, поддерживает ли /dev/null разделение и распределение данных?", + "Кто сожрал все пончики?", + "Что, если мы используем язык, который был написан на коленке и создан за 1 неделю для всех наших серверов?" + ] } diff --git a/strings/tips.txt b/strings/tips.txt index 23e2fdde4c46e9..fb237d64043413 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -1,272 +1,250 @@ -@Вы можете использоватьсимволы |, + и _ для того, чтобы придать выразительность вашей речи в игре (пример. say"вайт _дрим_ |полное| +говно+." будет отображаться как "вайт дрим полное говно."). Вы также можете избежать этих подчеркиваний, добавив перед ними обратные косые черты (пример, say"1\+2\+3" будет отображено как "1+2+3", а не как "1\2\3"). -♪ Вы когда-нибудь пробовали добавлять символ % перед своими сообщениями, когда говорите в игре? ♫ -Ученый готов заплатить за ваших лягушек! -Брошенный стакан воды сделает плитку скользкой, что позволит вам в случае необходимости замедлить преследователей. -Все, чем можно прикурить сигарету, можно использовать для прижигания кровоточащей раны. Технически, к ним относится и суперматерия. -Будучи Блоббернаутом, вы можете общаться с сверхразумами и другими Блоббернаутами нажатием на :b. +Большая часть рабочей одежды, экипируемой в слот для экзокостюма, может хранить предметы, связанные с работой, например, ИКС атмосферного техника/зимнее пальто может вместить RPD, или лабораторные халаты, которые могут вместить большинство медикаментов. +Брошенный стакан воды может сделать скользкую плитку, позволяя вам замедлить преследование в щекотливой ситуации. +Будучи Агентом Похитителя, жилет боевого режима имеет куда большее сопротивление любому типу оружия, а ваш шлем не дает ИИ вас отслеживать. +Будучи Адвокатом, вы можете попытаться убедить Капитана и Главу СБ провести судебные заседания над заключенными в зале суда. +Будучи Адвокатом, пытайтесь договориться со Смотрителем, если приговор выглядит слишком жестоким для этого преступления. +Будучи Атмосферным Техником, ваш голографический вентиляторный проектор АТМОС останавливает газы, в то же время позволяя объектам проходить сквозь него. С его помощью вы можете быстро локализовывать разливы газа, пожары и повреждения корпуса. Или используйте его для того, чтобы запечатать комнату клонирования плазмалюда. +Будучи Атмосферным Техником, ваш ранцевый пожарный баллон может пускать смолу. Эта смола тушит огонь и заменяет любые газы на безопасную воздушную смесь комнатной температуры. +Будучи Атмосферным Техником, вы куда лучше других укомплектованы для пожаротушения. Таким образом, у вас есть доступ к пожарным костюмам получше, ранцевым пожарным баллонам и полностью огне-жароустойчивому РИГу. +Будучи Атмосферным Техником, вы можете изменить слой трубы, нажав на неё оторванной трубой или другим атмосферным компонентом желаемого слоя. +Будучи Атмосферным Техником, вы можете отсоединить трубу вне зависимости от давления газов внутри неё, однако если давление слишком высоко, то труба может лопнуть и поранить вас. +Будучи Атмосферным Техником, задумайтесь по поводу замены газовых насосов объемными газовыми насосами, так как они перемещают воздух в постоянных количествах, а не в процентах, оставляя следы газов. +Будучи Барменом, вы можете применить циркулярную пилу на свой дробовик, чтобы упростить его хранение. +Будучи Барменом, вы начинаете с базовым набором напитков. Если вы хотите более расширенный набор для смешивания, то задумайтесь о работе с химией, гидропоникой или шахтеркой ради вещей, которые будете измельчать и мешать! Будучи Блоббернаутом, ваш интерфейс отображает ваше здоровье и здоровье ядра сверхразума, создавшего вас. -Будучи ботаником, вы можете комбинировать химические вещества, как химик. Водород (трава) + вода (горох) + сахар (виноград) будут равны маннитолу! -Будучи ботаником, вы можете комбинировать химические вещества, как химик. Калий (бананы) + вода (арбузы) равны... ВЕСЕЛЬЕ! -Будучи ботаником, вы можете взломать MegaSeed Vendor, чтобы получить доступ к более экзотическим семенам. Кроме того, эти семена можно заказать в грузовом отделе. -Будучи ботаником, вы можете мутировать растения, растущие в ваших гидропонных лотках, с помощью Left 4 Zed с вендомата NutriMax. Как только вы измельчите несколько растений в биогенераторе, он также сможет производить Left 4 Zed. Разве наука не удивительна? -Будучи ботаником, вы должны позаботиться о повышении потенции своих растений. Это увеличит их размер, количество химикатов, очки, получаемые при измельчении в биогенераторе, и позволит людям понять, что вы опытный ботаник. -Будучи грузчиком, вы можете заработать больше грузовых очков, отправляя ящики из технического обслуживания, контейнеры с жидкостью, листы плазмы, редкие семена из гидропоники и многое другое! -Будучи грузчиком, вы можете взломать МУЛботов, чтобы они стали быстрее, давили людей на своем пути и даже позволили бы вам залезть на такой! -Будучи грузчиком, вы можете заказать контрабандные предметы из консоли шаттла снабжения, разобрав ее и использовав мультитул на печатной плате, а затем собрав ее снова. -Будучи генокрадом, если вы будете подражать чужой внешности, вы также получите все ее шрамы. Вы можете использовать Fleshmend, чтобы избавиться от всех шрамов. -Будучи генокрадом, жало "Извлечение ДНК" засчитывается для достижения цели "Поглощение генома", но не позволит вам в дальнейшем обновить свои способности. -Будучи генокрадом, вы можете поглотить кого-то, задушив его и использовав кнопку "Поглотить"; это даст вам возможность заново выбрать свои силы, ДНК того, кого вы поглотили, память поглощенного и некоторые образцы того, что он сказал. -Будучи Химиком, у вас в распоряжении десятки химикатов, которые могут исцелять, но куда больше причиняющих вред. Экспериментируйте! -Будучи Химиком знайте, что некоторые химические вещества могут быть синтезированы только нагреванием в химическом нагревателе или вручную с помощью зажигалок или похожих приспособлений. -Будучи Химиком ожидайте, что экипаж рассчитывает, что вы будете снабжать их определенными химикатами. Например, клоноксадоном и маннитолом используемых в криотрубах, нестабильным мутагеном и селитрой, используемыми в ботанике, и также пластырями, лечебными пилюлями и бинтами для ресепшена. -Будучи Химиком? вы можете создавать пластиковые бутылки емкостью 100 единиц из листов пластика. ХимМастер может бесконечно производить стеклянные бутыли емкостью 30 единиц, и если вы изучите медицинский техфабрикатор, то вы сможете создавать мензурки с емкостью от 120 единиц до 300. -Будучи Химиком вы можете перезарядить ваш хим. раздатчик индуктором или заменой его элемента. -Будучи Химиком учитывайте то, что смешивание Воды и Калия вызовет взрыв с мощностью, зависящей от их количества. Не делайте этого. -Будучи Поваром, любая еда, которую вы приготовите, будет намного полезнее, чем нездоровая пища, которую можно найти в торговых автоматах. Если экипаж будет регулярно питаться у вас, это даст ей небольшие бонусы. -Будучи Поваром, нахождение на кухне заставит вас вспомнить приемы Поварского Ближнего Боя. Это очень эффективное средство для устранения ассистентов с вашего рабочего места. -Будучи Поваром, большинство нестандартных продуктов будут иметь дополнительный эффект, начиная от исцеления и заканчивая скоростью передвижения. Экспериментируйте! -Будучи Поваром, вы можете загружать автомат со снеками своей едой. -Будучи Поваром, вы можете готовить огромное количество еды, используя меню крафта. Его можно найти по похожей на молоток иконке рядом с намерениями. -Будучи Поваром, вы можете менять название приготовленной вами еды, используя ручку. -Будучи Культистом, не вызывайте слишком много хаоса до того, как ваша цель выполнена. Если шаттл будет вызван слишком рано, вам может не хватить времени для победы. +Будучи Блоббернаутом, вы можете общаться с сверхразумами и другими Блоббернаутами нажатием на :b. +Будучи Блобом, вы можете разместить своё ядро в любом чистом, незаметном месте, в которое вы сможете вернуться спустя 3 минуты. Если вы промедлите, то вы автоматически попадете в случайную локацию. Используйте время ожидания для координации с другими сверхразумами. +Будучи Блобом, вы ведете войну на истощение: уничтожьте медотсек и сражайтесь в узких местах для предотвращения продолжительных атак и координированных атак burst уроном! +Будучи Блобом, вы можете атаковать всё, что угодно, рядом с вашими тайлами, но можете расширяться только в основных направлениях, а ваши диагональные атаки куда слабее. +Будучи Блобом, вы можете расширяться при нажатии, создавать сильную массу, нажимая Ctrl+ЛКМ, выпускать споры при помощи СКМ и убирать массу, нажимая Alt+ЛКМ. Вам не нужно направлять камеру на тайл, чтобы делать это. +Будучи Блобом, вы можете случайным образом заменить тип вашего реагента, если экипаж адаптировался и защитился от текущего. +Будучи Блобом, вы можете создать Блоббернаута за 40 ресурсов на фабрике. Блоббернауты контролируются игроками, постепенно регенерируют неподалеку от узлов и наносят ваш реагент при атаках, но умирают, если окажутся слишком далеко от блоба, или если создавшую их фабрику уничтожат. При создании Блоббернаута фабрика становится хрупкой и перестает создавать споры. +Будучи Блобом, держите своё ядро подальше от космоса, так как расширение в оный дорого обходится, из космоса его легко атаковать и оно не учитывается в условии победы. Особенно опасны платформы эмиттеров, построенные в космосе. +Будучи Блобом, не забывайте создавать фабрики. Они создают споры, которые могут разносить ваш реагент и могут преследовать членов экипажа куда дольше, чем вы. Споры также могут роиться вокруг экипажа и провоцировать панику, к тому же могут даже проникать в трупы и создавать куда более опасных блобо-зомби! +Будучи Блобом, разговор отправит сообщение всем остальным сверхразумам и всем Блоббернаутам, позволяя вам направлять и координировать атаки. +Будучи Ботаником, вам следует задуматься о повышении эффективности ваших растений. Это увеличит количество получаемых химикатов, очков, получаемых при переработке их в биореакторе, и продемонстрирует всем, что вы опытный ботаник. +Будучи Ботаником, вы можете взломать автомат МегаСемя, чтобы получить доступ к более экзотичным семенам. В качестве альтернативы вы можете заказать эти семена в грузовом отсеке. +Будучи Ботаником, вы можете мутировать растущие в ваших лотках для гидропоники растения с помощью нестабильного мутагена или, в качестве альтернативы, с помощью сырых радиоактивных веществ, чтобы получить особые варианты растений. +Будучи Ботаником, комбинируйте производственные химические вещества, прямо как Химик. Хлор (синеква) + радий и фосфор (светящиеся грибы) = нестабильный мутаген! +Будучи Вирусологом, вам необходимо небольшое количество вакцины, чтобы излечить больного пациента. Работайте вместе с Химиками, чтобы распространять ваши вакцины более эффективно. +Будучи Волшебником, большинство заклинаний становятся неиспользуемыми, если вы не носите свою робу, шляпу и сандалии. +Будучи Волшебником, вы можете обращать людей в камень, затем анимировать их статую, используя анимирующий посох, чтобы создать крайне сильного миньона как минимум на 5 минут. +Будучи Волшебником, заклинание огненного шара очень слабо на коротких дистанциях, так как вы можете оказаться в зоне поражения. Лучше всего использовать его в качестве артиллерии в длинных коридорах. +Будучи Волшебником, посох Хаоса стреляет всеми типами выстрелов из магических палочек. Они варьируются от моментально убивающих снарядов до лечащих или даже воскрешающих. +Будучи Волшебником, призыв пушек обернет большинство членов экипажа друг против друга, но также даст им всем по пушке от цветочного лучевого поливателя до импульсных винтовок. Используйте на свой страх и риск! +Будучи Восставшим, ваш главный враг - это Капеллан, так как он может сильно дамажить вас нуль стержнем и сделать непроходимыми большие участки станции при помощи святой воды. +Будучи Восставшим, ваша способность Неисправность приводит к общей неисправности машин и механическим объектов, возможно, даже емагая некоторые из них. Экспериментируйте! +Будучи Восставшим, ваша способность Осквернение удаляет святую воду и соль в небольшом радиусе, позволяя вам отвоевывать станцию у капеллана, если он покрыл её святой водой. Эту способность можно использовать, чтобы открывать ячейки морга! +Будучи Восставшим, ваша способность Перегрузка Света застанит людей со светом, только если их свет останется включенным после небольшой задержки. +Будучи Восставшим, ваша эссенция - это также и ваше здоровье, так что показываться перед людьми для сбора эссенции из живых куда безопаснее, если вы уже набрали эссенцию из слабо охраняемых трупов. +Будучи Врачом, вам нужно знать разницу между углем и антитоксином. Хотя они оба помогают излечить урон от токсинов, уголь выводит все остальные реагенты из тела, а антитоксин только различные токсины, но может вызвать передозировку. +Будучи Врачом, вам следует обратить внимание на трупы с подписью "... и его душа покинула тело" — это значит, что к телу больше не привязан призрак и вы не сможете их оживить или клонировать. +Будучи Врачом, вы должны знать, что лечение Плазмалюдей возможно! Сальбутамол предотвратит удушье, а душ не позволит им сгореть заживо. Вы даже можете провести им операцию, если будете оперировать их на каталке под душем. +Будучи Врачом, вы можете извлекать импланты, держа пустой футляр для импланта в неактивной руке во время проведения этапа извлечения. +Будучи Врачом, вы можете попробовать взять кровь из хаска с помощью шприца, чтобы определить причину, вызвавшую это состояние тела. Если вы можете извлечь кровь, то причина заключается в экстремальных температурах или лазерах, а если крови нет, то вы подтвердили присутствие Чейнджлингов. +Будучи Врачом, вы можете указывать своей светоручкой на людей, чтобы создать медицинскую голограмму. Она даст им понять, что вы идете лечить их. +Будучи Врачом, вы можете хирургически имплантировать или извлекать различные вещи из тел. Спектр возможных операций очень высок, от установки бомбы до удаления инопланетной личинки. . +Будучи Врачом, перед проведением операции на ком-то вы должны выбирать правильную конечность с намерением help. Использование намерения disarm нарочно провалит этап операции. +Будучи Врачом, учитывайте, что проводя сканирование для клонирования на людях вживит им трекер здоровья, который показывает состояние их жизненно важных органов в записях клонирования. Полезно для проверки членов экипажа, не активировавших сенсоры в своих костюмах. +Будучи Генетиком, вы можете прервать чье-то клонирование, отключив питание в отделе. Учтите, что они понесут серьезный генетический урон и могут из-за этого лишиться жизненно необходимых органов. +Будучи Генокрадом, вы можете поглотить кого-нибудь, задушив их и использовав Поглощение: это позволит вам перевыбрать ваши способности, получить ДНК поглощенного, его память и некоторые образы того, что говорил поглощенный. +Будучи Генокрадом, жало Извлечения ДНК влияет на вашу цель поглощения генома, но не позволяет вам перераспределить ваши способности. +Будучи Главным Врачом, ваш гипоспрей подобен многоразовому инъекционному шприцу, рассчитанному на 30 единиц, в сравнении со стандартными 15. +Будучи Главным Врачом, ваш РИГ может вместить целую аптечку в своем хранилище! +Будучи Главным Врачом, координируйтесь и общайтесь с вашими докторами, химиками и генетиками во время ядерной тревоги, нашествия блобов или при других чрезвычайных ситуациях, чтобы сохранить жизни людей и дать отпор. +Будучи Главным Инженером, ваш РИГ значительно лучше, чем у кого либо ещё. Он обладает лучшими характеристиками, чем у инженерного и атмосферного РИГа вместе взятых, т.е. почти неуязвим для радиации и всех атмосферных условий. +Будучи Главным Инженером, вы можете переименовывать зоны или же создавать новые, используя ваши чертежи станции. +Будучи Главным Инженером, вы можете шпионить за общением или даже подделывать сообщения на ПДА, используя консоль мониторинга сообщений! Ключ в вашем офисе. +Будучи Главой Охраны предполагается, что вы будете координировать ваши силы для того, чтобы справиться с любой угрозой, пришедшей на станцию. Иногда это означает использование оружейной, чтобы справиться с блобом, а иногда это значит быть безжалостным во время революции или культа. +Будучи Главой Охраны, вы можете предлагать казни или принудительную киборгонизацию, но может потребоваться согласие Капитана. +Будучи Главой Охраны, не позволяйте силе ударить вам в голову. У вас может быть высокий доступ, прекрасная экипировка и личная армия, но если вы будете ужасной личностью без весомой причины — это станет отличной причиной для бана. +Будучи Главой Персонала, вы настолько же крупная цель, как и капитан, благодаря потенциальным возможностям вашего ID и компьютера, которые можно забрать. +Будучи Главой Персонала, вы не выше рангом, чем остальные главы, даже если и ожидается, что вы первым займете место Капитана, как только он пропадет. Если ситуация кажется для вас слишком сложной, рассмотрите возможность становления временным капитаном другим главой. +Будучи Грузчиком, вы можете взламывать МУЛОботов для того, чтобы ускорить их, заставлить их врезаться в других людей, и даже ради получения возможности на них кататься! +Будучи Грузчиком, вы можете заказывать контрабандные предметы, используя консоль шаттла снабжения, разобрав её, затем использовав мультинструмент на плате, потом снова собрав её. +Будучи Грузчиком, вы можете получать больше очков снабжения, отправляя обратно ящики из техобслуживания, контейнеры с жидкостью, плазменные листы, редкие семена из гидропоники и множество других вещей! +Будучи Детективом, вы можете дистанционно использовать свой судебно-медицинский сканер. +Будучи Детективом, вы можете заряжать свой револьвер патронами .357, получаемыми из взломанного автостанка. Стрельба ими, однако, имеет неплохой шанс разорвать ваш револьвер. +Будучи Дроном, вы можете пинговать других дронов, чтобы предупредить их о зонах станции, нуждающихся в ремонте. +Будучи Дьяволом, вы получаете силы за каждые три души, что вы захватили, однако ваше присутствие становится более очевидным. +Будучи Дьяволом, до тех пор, пока вы контролируете как минимум одну душу, вы автоматически воскресаете, до тех пор, пока не проведен ритуал изгнания. +Будучи ИИ, вы можете быстро открывать и закрывать двери с помощью Shift+ЛКМ по двери, блокировать их с помощью Ctrl+ЛКМ и даже наэлектризовывать их с помощью Alt+ЛКМ. +Будучи ИИ, вы можете делать снимки с камер и загружать их в новостную ленту. +Будучи ИИ, вы можете кликать по именам людей, чтобы посмотреть на них. Это работает только если они находятся в зоне видимости камер, они не носят ID агентов и не используют цифровой камуфляж чейнджлингов. +Будучи Инженерным Киборгом, вы можете прикреплять рамы воздушной сигнализации/пожарной сигнализации/APC к стенам, поместив их на пол и используя на них отвертку. +Будучи Инженером помните, что осколок Суперматерии - это крайне опасное оборудование: если вы прикоснетесь к нему, то вы будете дезинтегрированы. Так что перемещайте его телепатией. +Будучи Инженером, время от времени возвращайтесь в инженерно-технический отдел, чтобы проверить двигатель и элементы SMES. Всегда полезно убедиться в том, что защитная оболочка не скомпрометирована. +Будучи Инженером, вы можете блокировать АПЦ, пожарные сигнализации, эмиттеры и сборщики радиации, используя вашу ID карту. Это предотвращает их отключение кем-то другим! +Будучи Инженером, вы можете взломать взрывоустойчивые двери хранилища безопасников, отключив главный АПЦ рубильник в генераторной. Это, очевидно, плохая идея в случае, если двигатель запущен. +Будучи Инженером, вы можете временно снабжать станцию электроэнергией с помощью солнечных батарей. Они обеспечат электроэнергию, достаточную для электроснабжения станции в течение некоторого времени, однако их производительность чуть ниже того, что действительно необходимо для стабильного электроснабжения станции. +Будучи Инженером, вы можете использовать сборщики радиации для генерации очков исследования. Заправьте их заполненными 1 к 1 кислородно/тритиевыми баллонами и используйте мультитул для того, чтобы перевести их в режим исследования. +Будучи Инженером, вы можете охладить кристалл Суперматерии полив его огнетушителем. Не для трусов! +Будучи Инженером, вы можете преобразовать катушки Тесла в анализаторы коронного разряда, используя отвертку на печатной плате. Они будут производить меньше энергии, но зато приносят очки исследования! +Будучи Инженером, вы можете чинить окна, используя сварку на них с любым намерением, кроме harm. +Будучи Инженером, вы можете электрифицировать решетки, поместив под ними проводные "узлы": большие, казалось бы, не связанные между собой выпуклости, образовавшиеся в результате незавершенной работы по прокладке проводов. +Будучи Инженером, не недооценивайте скромные генераторы P.A.C.M.A.N.. С улучшенными деталями пара таких генераторов вместе смогут заменить взорвавшийся двигатель или разрушенные солнечные панели. +Будучи Капелланом, вы куда более вероятно получите ответ на свои мольбы богам, чем остальные. Чтобы увеличить свои шансы, создавайте алтари с помощью разноцветных мелков, горящих свечей и поделок из проводки. +Будучи Капитаном, всегда забирайте ядерный диск и пинпойтер с собой. Хорошей идеей будет отдать одну из этих вещей другому главе, которому вы можете доверить их безопасность. +Будучи Капитаном, вы - одна из самых приоритетных целей на станции. Вам нужно беспокоиться о предателях, революционерах, ядерных оперативниках, попытках украсть ваш лазерган или забрать вашу жизнь. +Будучи Капитаном, вы имеете абсолютный доступ и можете контролировать всё на станции, но это не значит, что вы должны быть ужасным человеком — это наверняка приведет к мятежу и бану. +Будучи Капитаном, вы можете приобретать новые эвакуационные шатлы, используя консоль коммуникаций. Некоторые стоят денег, а некоторые дадут деньги вам. Имейте в виду, что покупка опасных шаттлов может спровоцировать гнев вашей команды. +Будучи Киборгом-Уборщиком, вы являетесь Немезидой для демонов бойни и даже самого Баблгама. Очистка кровавых пятен сильно ослабит их. +Будучи Киборгом, будьте осторожны, выбирая модуль, так как только его откусывание и замыкание вашего кабеля перезагрузки позволит вам его перевыбрать. По возможности воздержитесь от выбора модуля, пока не возникнет требующая определенного модуля ситуация. +Будучи Киборгом, вы невосприимчивы к большинству типов оглушений, и практически во всем превосходите людей. Однако, вспышки могут легко вас застанлочить, а вы не можете выполнять тонкую работу ввиду отсутствия рук. +Будучи Киборгом, вы невосприимчивы к огню и жаре. Если вы взбунтовались, вы можете выпускать плазму повсюду и проходить сквозь неё, ни о чем не переживая! +Будучи Киборгом, вы чрезвычайно уязвимы для ЭМИ, поскольку ЭМИ и оглушает вас, и наносит урон. Ионная винтовка из оружейной или Предатель с ЭМИ набором могут убить вас за пару секунд. +Будучи Клоуном, вы можете использовать ваш штамп на листе картона в качестве первого шага по созданию хонкбота. Веселье для всего экипажа! +Будучи Клоуном, даже потеряв банановую кожуру, вы всё еще можете заставлять людей поскальзываться на вашем ПДА! Хонк! +Будучи Клоуном, добавляйте остроты своим шуткам! Никто не любит актеров одной пьесы. +Будучи Клоуном, ешьте бананы, чтобы немного подлечиться. Хонк! Будучи Культистом, в начале ваша команда очень слаба, но быстро может преобразовать всё, что имеет, в грубую силу. Убедитесь что у вас есть члены и экипировка, чтобы поддерживать громкие действия, в противном случае культ падет ниц. -Будучи Культистом, руна Кипения Крови наносит сильный brute урон всем не входящим в культ, урон по выносливости всем Ратварианским отбросам и небольшой урон культистам Нар'Си поблизости, но она начнет пожар в месте своего расположения при активации. Будучи Культистом, вы можете создать армию манифестных головорезов, используя комбинацию из руны Манифеста, которая создает гомункулов из призраков, и руны Истощения Крови, которая вытягивает жизнь из тех, кто стоит на одной из них. +Будучи Культистом, не вызывайте слишком много хаоса до того, как ваша цель выполнена. Если шаттл будет вызван слишком рано, вам может не хватить времени для победы. Будучи Культистом, проверяйте оповещения в верхнем правом углу экрана, чтобы знать детали о текущем состоянии вашего культа и цели. -As a Cyborg, choose your model carefully, as only cutting and mending your reset wire will let you re-pick it. If possible, refrain from choosing a model until a situation that requires one occurs. -As a Cyborg, you are extremely vulnerable to EMPs as EMPs both stun you and damage you. The ion rifle in the armory or a traitor with an EMP kit can kill you in seconds. -As a Cyborg, you are immune to most forms of stunning, and excel at almost everything far better than humans. However, flashes can easily stunlock you and you cannot do any precision work as you lack hands. -As a Cyborg, you are impervious to fires and heat. If you are rogue, you can release plasma fires everywhere and walk through them without a care in the world! -As a Drone, you can ping other drones to alert them of areas in the station in need of repair. -As a Geneticist, becoming a hulk makes you capable of dealing high melee damage, stun-locking people, and punching through walls. However, you can't fire guns, will lose your hulk status if you go into critical condition, and are not considered a human by the AI while you are a hulk. -As a Geneticist, T goes to A, and G goes to C. -As a Ghost, you can both start and join capture the flag games through the minigames menu, or by clicking on one of the team spawners, which can be found under the "Misc" section of the orbit menu. -As a Ghost, you can double click on just about anything to follow it. Or just warp around! -As a Ghost, you can see the inside of a container on the ground by clicking on it. -As a Janitor Cyborg, you are the bane of all slaughter demons and even Bubblegum himself. Cleaning up blood stains will severely gimp them. -As a Janitor, if someone steals your janicart, you can instead use your space cleaner spray, grenades, water sprayer, exact bloody revenge or order another from Cargo. -As a Janitor, mousetraps can be used to create bombs or booby-trap containers. -As a Medical Cyborg, you can fully perform surgery and even augment people. -As a Medical Doctor, almost every type of wound can be treated at least temporarily with gauze. When in doubt, wrap it up! -As a Medical Doctor, corpses placed inside a freezer or morgue tray will have their organs frozen preventing decay. If you don't have time to revive multiple dead bodies, transfer them to the morgue temporarily! -As a Medical Doctor, corpses with the "...and their soul has departed" description no longer have a ghost attached to them and can't be revived. -As a Medical Doctor, Critical Slash wounds are one of the most dangerous conditions someone can have. Apply gauze, epipens, sutures, cauteries, whatever you can, as soon as possible! -As a Medical Doctor, Saline-Glucose not only acts as a temporary boost to a patient's blood level, it also speeds blood regeneration! Perfect for drained patients! -As a Medical Doctor, treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. Salbutamol and convermol do NOT heal their oxyloss damage. -As a Medical Doctor, you can attempt to drain blood from a husk with a syringe to determine the cause. If you can extract blood, it was caused by extreme temperatures or lasers, if there is no blood to extract, you have confirmed the presence of changelings. -As a Medical Doctor, you can deal with patients who have absurd amounts of wounds by putting them in cryo. This will slowly treat all of their wounds simultaneously, but is much slower than direct treatment. -As a Medical Doctor, you can extract implants by holding an empty implant case in your offhand while performing the extraction step. -As a Medical Doctor, you can point your penlight at people to create a medical hologram. This lets them know that you're coming to treat them. -As a Medical Doctor, you can surgically implant or extract things from people's chests. This can range from putting in a bomb to pulling out an alien larva. -As a Medical Doctor, you must target the correct limb and not be in combat mode when trying to perform surgery on someone. Right clicking your patient will intentionally fail the surgery step. -As a Monkey, you can crawl through air or scrubber vents by alt+left clicking them. You must drop everything you are wearing and holding to do this, however. -As a Monkey, you can still wear a few human items, such as backpacks, gas masks and hats, and still have two free hands. -As a Morph, you can talk while disguised, but your words have a chance of being slurred, giving you away! -As a Nuclear Operative, communication is key! Use ; to speak to your fellow operatives and coordinate an attack plan. -As a Nuclear Operative, stick together! While your equipment is robust, your fellow operatives are much better at saving your life: they can drag you away from danger while stunned and provide cover fire. -As a Nuclear Operative, you might end up in a situation where the AI has bolted you into a room. Having some spare C4 in your pocket can save your life. -As a Nuclear Operative, you should look into purchasing a syndicate cyborg, as they can provide heavy fire support, full access, are immune to conventional stuns, and can easily take down the AI. -As a Paramedic, embedded objects in a patient can be safely extracted by targeting the affected limb and using a hemostat on the patient. -As a Paramedic, it is imperative that whenever possible you put fresh corpses on the stasis beds. Your CMO will thank you. -As a Paramedic, your UV penlight can be used to stem infections in burn wounds! Just target the infected limb and use it on the patient. -As a Revenant, the Chaplain is your worst enemy, as they can damage you massively with the null rod and make large swaths of the station impassable with holy water. -As a Revenant, the illness inflicted on humans by Blight can be easily cured by lying down or with holy water, making it best used on targets that have no time to lie down, such as humans in combat. -As a Revenant, your Defile ability removes holy water from tiles in a small radius, along with salt, allowing you to reclaim the station from the chaplain if they've been covering the station in holy water. It can also be used to open morgue trays! -As a Revenant, your essence is also your health, so revealing yourself in front of humans to harvest the essence of the living is much safer if you've already stocked up on essences from poorly guarded corpses. -As a Revenant, your Malfunction ability in general damages machinery and mechanical objects, possibly even emagging some objects. Experiment! -As a Revenant, your Overload Lights ability will only shock humans with lights if the lights are still on after a brief delay. -As a Revolutionary, cargo can be your best friend or your worst nightmare. In the best case scenario you will be able to order a limitless amount of guns and armor, in the worst case scenario security will take control and order a limitless number of mindshield implants to turn your fellow revolutionaries against you. -As a Revolutionary, you cannot convert a head of staff or someone who has a mindshield implant, such as a security officer or those they implant. Implants are often purchased by the Quartermaster, but the implants can be surgically removed. Take control of cargo to keep control of conversions! -As a Revolutionary, your main power comes from who you convert, choose your converts wisely to ensure you win the round. -As a Roboticist, keep an ear out for anomaly announcements. If you get your hands on a bluespace anomaly core, you can build a Phazon mech! -As a Roboticist, you can augment people with cyborg limbs. Augmented limbs can easily be repaired with cables and welders. -As a Roboticist, you can greatly help out Shaft Miners by building a Clarke equipped with a hydraulic clamp and plasma cutter. The mech is ash storm proof and can even walk across lava! -As a Roboticist, you can repair your cyborgs with a welding tool. If they have taken burn damage, you can remove their battery, expose the wiring with a screwdriver and replace their wires with a cable coil. -As a Roboticist, you can reset a cyborg's model by cutting and mending the reset wire with a wire cutter. -As a Scientist, researchable stock parts can seriously improve the efficiency and speed of machines around the station. In some cases, it can even unlock new functions. -As a Scientist, you can disable anomalies by scanning them with an analyzer, then send a signal on the frequency it gives you with a remote signaling device, or if researched, hit the anomaly an anomaly analyzer. This will leave behind an anomaly core, which can be used to construct a Phazon mech, reactive armors, or various unique and powerful weapons! -As a Scientist, you can generate money for Science, and complete experiments by letting the tachyon-doppler array record increasingly large explosions. -As a Scientist, you can maximize the number of uses you get out of a slime by feeding it slime steroid, created from purple slimes, while alive. You can then apply extract enhancer, created from cerulean slimes, on each extract. -As a Scientist, you can use the mutation toxin obtained from green slimes to turn yourself into a jelly mutant. Each subspecies has unique features - for example telepathic powers, duplicating bodies or integrating slime extracts! -As a Security Officer, communicate and coordinate with your fellow officers using the security channel (:s) to avoid confusion. -As a Security Officer, examining someone while wearing sechuds or HUDsunglasses will let you set their arrest level, which will cause Beepsky and other security bots to chase after them. -As a Security Officer, mindshield implants can only prevent someone from being turned into a cultist: unlike revolutionaries, it will not de-cult them if they have already been converted. -As a Security Officer, remember that correlation does not equal causation. Someone may have just been at the wrong place at the wrong time! -As a Security Officer, remember that you can attach a sec-lite to your disabler or your helmet! -As a Security Officer, your sechuds or HUDsunglasses can not only see crewmates' job assignments and criminal status, but also if they are mindshield implanted. You can tell by the flashing blue outline around their job icon. Use this to your advantage in a revolution to definitively tell who is on your side! -As a Security Officer, you have a special pen in your PDA that you can use to prompt people to surrender. This will stun them without the need to use a baton! -As a Service Cyborg, your spray can knocks people down. However, it is blocked by masks and glasses. -As a Shaft Miner, always have a GPS on you, so a fellow miner or cyborg can come to save you if you die. -As a Shaft Miner, every monster on Lavaland has a pattern you can exploit to minimize damage from the encounters. -As a Shaft Miner, the northern side of Lavaland has a lot more rare minerals than on the south. -As a Shaft Miner, you can craft a variety of equipment from the local fauna. Bone axes, lava boats and ash drake armour are just a few of them! -As a Shaft Miner, you can harvest goliath plates from goliaths and upgrade your explorer's suit, greatly reducing incoming melee damage. -As a Traitor, plasma can be injected into many things to sabotage them. Power cells, light bulbs, welding tools, cigars and e-cigs will all explode when used. -As a Traitor, subverting the AI to serve you can make it an extremely powerful ally. However, be careful of the wording in the laws you give it, as it may use your poorly written laws against you! -As a Traitor, the Captain and the Head of Security are two of the most difficult to kill targets on the station. If either one is your target, plan carefully. -As a Traitor, the cryptographic sequencer (emag) can not only open lockers, crates, APCs and more. It can also do things like hack cyborgs, and even cause bots to go berserk. Use it on the right machines, and you can even contact the Syndicate. Experiment! -As a Traitor, the syndicate encryption key is very useful for coordinating plans with your fellow traitors -- or, of course, betraying them. -As a Traitor, you can manufacture and recycle revolver bullets at a hacked autolathe, making the revolver an extremely powerful tool. -As a Traitor, you may sometimes be assigned to hunt other traitors, and in turn be hunted by others. -As a Wizard, most spells become unusable if you are not wearing your robe, hat, and sandals. -As a Wizard, summoning guns will turn a large portion of the crew against themselves, but will also give everyone anything from a floral somatoray to a pulse rifle. Use at your own risk! -As a Wizard, the fireball spell performs very poorly at close range, as it can easily catch you in the blast. It is best used as a form of artillery down long hallways. -As a Wizard, the staff of chaos can fire any type of bolts from the magical wands. This can range from bolts of instant death to healing or reviving someone. -As a Wizard, you can turn people to stone, then animate the resulting statue with a staff of animation to create an extremely powerful minion, for all of 5 minutes at least. -As an Abductor Agent, the combat mode vest has much higher resistance to every kind of weapon, and your helmet prevents the AI from tracking you. -As an Abductor, the baton can cycle between four modes: stun, sleep, cuff and probe. -As an Abductor, you can select where your victims will be sent on the ship control console. -As an Alien, resin floors not only regenerate your plasma supply, but also passively heal you. Fight on resin floors to gain a home turf advantage! -As an Alien, the facehugger is by far your most powerful weapon because of its ability to instantly win a fight. Remember however that certain helmets, such as biohoods or space helmets will completely block facehugger attacks. -As an Alien, you are unable to pick up or use any human items or machinery. Instead, you should focus on sabotaging APCs, computers, cameras and either stowing, spacing, or melting any weapons you find. -As an Alien, you take double damage from all burn attacks, such as lasers, welding tools, and fires. Furthermore, fire can destroy your resin and eggs. Expose areas to space to starve away any flamethrower fires before they can do damage! -As an Alien, your melee prowess is unmatched, but your ranged abilities are sorely lacking. Make use of corners to force a melee confrontation! -As an Atmospheric Technician, burning a plasma/oxygen mix inside the incinerator will not only produce power, but also gases such as tritium, water vapor and carbon dioxide. -As an Atmospheric Technician, look into replacing your gas pumps with volumetric gas pumps, as those move air in flat numerical amounts, rather than percentages which leave trace gases. -As an Atmospheric Technician, pay attention to gas pipe meters. The meter will change color in response to temperature and the bar will increase and get thicker in response to higher pressures. -As an Atmospheric Technician, you are better suited to fighting fires than anyone else. As such, you have access to better firesuits or backpack firefighter tanks. -As an Atmospheric Technician, you can change the layer of a pipe by clicking with it on a wrenched pipe or other atmos component of the desired layer. -As an Atmospheric Technician, you can unwrench a pipe regardless of the pressures of the gases inside, but if they're too high they can burst out and injure you! -As an Atmospheric Technician, your ATMOS holofan projector blocks gases while allowing objects to pass through. With it, you can quickly contain gas spills, fires and hull breaches. -As an Atmospheric Technician, your backpack firefighter tank can launch resin. This resin will extinguish fires and replace any gases with a safe, room-temperature airmix. -As an Engineer, return to Engineering once in a while to check on the engine and SMES cells. It's always a good idea to make sure the Supermatter isn't delaminating. -As an Engineer, the Supermatter Monitoring Program on modular computers give you a detailed report on the Supermatter's condition, and the contents of the air inside of the chamber, allowing you to both diagnose and monitor programs from afar! -As an Engineer, the Supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will touching it with telekinesis. -As an Engineer, you can cool the Supermatter crystal by spraying it with a fire extinguisher. Only for the brave! -As an Engineer, you can electrify grilles by placing powered cables beneath them. -As an Engineer, you can lock APCs and emitters using your ID card to prevent others from disabling them. -As an Engineer, you can pry open secure storage blast doors by disabling the engine room APC's main breaker. This is obviously a bad idea if the engine is running. -As an Engineer, you can repair windows by using a welding tool on them while not in combat mode. -As an Engineer, you can temporarily power the station solely with the solar arrays. They will provide just enough electricity to power the station for a while, however their output is just slightly below what is truly needed to consistently power the station. -As an Engineer, your departmental protolathe and circuit printer can manufacture the necessary circuit boards and components to build just about anything. Make extra medical machinery everywhere! Build a gibber for security! Set up an array of emitters pointing down the hall! The possibilities are endless! -As an Engineer, your RCD can be reloaded with iron, glass or plasteel sheets instead of just compressed matter cartridges. -As an Engineering Cyborg, you can attach air alarm/fire alarm/APC frames to walls by placing them on the floor and using a screwdriver on them. -As the AI, you can click on people's names to look at them. This only works if there are cameras that can see them, they aren't wearing agent IDs and aren't using digital camouflage as changelings. -As the AI, you can emote to change the status displays near your core. Some emotes can even be used to change the status displays across the entire station. -As the AI, you can quickly open and close doors by holding shift while clicking them, bolt them when holding ctrl, and even shock them while holding alt. -As the AI, you can take pictures with your camera and upload them to newscasters. -As the AI, you can use CTRL + 1-9 to set a location hotkey for your camera, allowing you to save the location and jump to it at will. Tilde and zero will return you to the last spot you jumped from, and the numpad numbers act as aliases to the regular number keys. -As the Bartender, the drinks you start with only give you the basics. If you want more advanced mixtures, look into working with chemistry, hydroponics, or even mining for things to grind up and throw in! -As the Bartender, you can use a circular saw on your shotgun to make it easier to store. -As the Blob, don't neglect the creation of factories. These create spores that carry your reagent and can chase crew members far further than you. Spores can also be rallied to swarm the crew and cause panic, and can even take over corpses to create much more dangerous blob zombies! -As the Blob, keep your core some distance from space, as it is both expensive to expand onto space, easy to be attacked from, and does not count towards your win condition. Emitter platforms built in space are especially dangerous. -As the Blob, removing strong blobs, resource nodes, factories, and nodes will give you 4, 15, 25, and 25 resources back, respectively. -As the Blob, talking will send a message to all other overminds and all Blobbernauts, allowing you to direct attacks and coordinate. -As the Blob, you can attack anything next to a blob tile, but can only expand in cardinal directions, and diagonal attacks are slightly weaker. -As the Blob, you can expand by clicking, create strong blobs with ctrl-click, rally spores with middle-click, and remove blobs with alt-click. You do not need to have your camera over the tile to do this. -As the Blob, you can place your core at any clear, unobserved, spot you can move to after 3 minutes have passed. If you wait too long, you will be automatically placed at a random location. Use this wait time to coordinate with any other overminds. -As the Blob, you can produce a Blobbernaut from a factory for 40 resources. Blobbernauts are player-controlled, gradually regenerate near nodes, and apply your chemical when attacking, but die when too far from the blob or if their factory is killed. However, the factory used becomes fragile and stops spawning spores. -As the Blob, you can re-pick your reagent type from six random options if the crew has adapted and protected themselves against your current one. -As the Blob, you fight a war of attrition: Take out medbay and fight in choke points to prevent continued assaults and coordinated burst damage attacks! -As the Captain, always take the nuclear disk and pinpointer with you every shift. It's a good idea to give one of these to another head you can trust with keeping it safe. -As the Captain, you are one of the highest priority targets on the station. Everything from revolutions, to nuclear operatives, to traitors that need to rob you of your unique lasgun or your life are things to worry about. -As the Captain, you can purchase a new emergency shuttle using a communications console. Some require cash, while others give you cash in exchange. Keep in mind that purchasing dangerous shuttles may instigate the ire of your crew. -As the Captain, you have absolute access and control over the station, but this does not mean that being a horrible person won't result in mutiny and a ban. -As the Chaplain, you are much more likely to get a response by praying to the gods than most people. To boost your chances, make altars with colorful crayon runes, lit candles, and wire art. -As the Chaplain, your bible is also a container that can store small items. Depending on your god, your starting bible may come with a surprise! -As the Chaplain, your null rod has anti magic functions: it can destroy cultist runes by hitting them, and it makes you immune to wizard spells and cult magic. -As the Chief Engineer, the power flow control console in your office will show you APC infos and lets you control them remotely. -As the Chief Engineer, you can rename areas or create entirely new ones using your station blueprints. -As the Chief Engineer, you can spy on and even forge PDA communications with the message monitor console! The key is in your office. -As the Chief Medical Officer, coordinate and communicate with your doctors, chemists, and paramedics during a nuclear emergency, blob infestation, or some other crisis to keep people alive and fighting. -As the Chief Medical Officer, your hypospray is like a refillable instant injection syringe that can hold 30 units as opposed to the standard 15. -As the Clown, eating bananas heals you slightly. Honk! -As the Clown, if you lose your banana peel, you can still slip people with your PDA! Honk! -As the Clown, if you're a Traitor and get an emag on sale (or convince another traitor), you can emag your Clown Car to unlock a variety of new functions, including the Siege Mode, which will allow you to launch your passengers, preferably directly into the Supermatter! Or into space. -As the Clown, spice your gimmicks up! Nobody likes a one-trick pony. -As the Clown, you can use your stamp on a sheet of cardboard as the first step of making a honkbot. Fun for the whole crew! -As the Clown, your Grail is the mineral bananium, which can be given to the Roboticist to build you a fun and robust mech beloved by everyone. -As the Curator, be sure to keep the shelves stocked and the library clean for crew. -As the Curator, you are not completely defenseless. Your whip easily disarms people, your laser pointer can blind humans and cyborgs, and you can hide items in wirecut books. -As the Detective, people leave fingerprints everywhere and on everything. With the exception of white latex, gloves will hide them. All is not lost, however, as gloves leave fibers specific to their kind such as black or nitrile, pointing to a general department. -As the Detective, you can use your forensics scanner from a distance. Use this to scan boxes or other storage containers. -As the Detective, your revolver can be loaded with .357 ammunition obtained from a hacked autolathe. Firing it has a decent chance to blow up your revolver. -As the Head of Personnel, you are not higher ranking than other heads of staff, even though you are expected to take the Captain's place first should he go missing. If the situation seems too rough for you, consider allowing another head to become temporary Captain. -As the Head of Security, don't let the power go to your head. You may have high access, great equipment, and a miniature army at your side, but being a terrible person without a good reason is grounds for banning. -As the Head of Security, you are expected to coordinate your security force to handle any threat that comes to the station. Sometimes it means making use of the armory to handle a blob, sometimes it means being ruthless during a revolution or cult. -As the Head of Security, you can call for executions or forced cyborgization, but may require the Captain's approval. -As the Lawyer, try to negotiate with the Warden if sentences seem too high for the crime. -As the Lawyer, you can try to convince the Captain and Head of Security to hold trials for prisoners in the courtroom. -As the Malfunctioning AI, look into flooding the station with plasma fires to kill off large portions of the crew, letting you pick off the remaining few with space suits who escaped. -As the Malfunctioning AI, you can shunt to an APC if the situation gets bad. This disables your doomsday device if it is active. -As the Malfunctioning AI, you should either order your cyborgs to dismantle the robotics console or blow it up yourself in order to protect them. -As the Mime, you can use :r and :l to speak through your ventriloquist dummy. -As the Mime, your invisible wall power blocks people as well as projectiles. You can use it in a pinch to delay your pursuer. -As the Mime, your oath of silence is your source of power. Breaking it robs you of your powers and of your honor. -As the Quartermaster, be sure to check the manifests on crates you receive to make sure all the info is correct. If there's a mistake, stamp the manifest DENIED and send it back in a crate with the items untouched for a refund! -As the Quartermaster, you can construct an express supply console that instantly delivers crates by drop pod. The impact will cause a small explosion as well. -As the Research Director, you can lock down cyborgs instead of blowing them up. Then you can have their laws reset or if that doesn't work, safely dismantled. -As the Research Director, you can take AIs out of their cores by loading them into an intelliCard, which lets you see their laws, even ion/syndicate ones. It can then be placed into an AI system integrity restorer computer to revive and/or repair them. -As the Virologist, robotic organs can give immunity to disease effects and transmissibility. Make use of the inorganic biology symptom to bypass the protection. -As the Virologist, you only require small amounts of vaccine to heal a sick patient. Work with the Chemist to distribute your cures more efficiently. -As the Virologist, your viruses can range from healing powers so great that you can heal out of critical status, or diseases so dangerous they can kill the entire crew with airborne spontaneous combustion. Experiment! -As the Warden, if a prisoner's crimes are heinous enough you can put them in permabrig or the gulag. Make sure to check on them once in a while! -As the Warden, keep a close eye on the armory at all times, as it is a favored strike point of nuclear operatives and cocky traitors. -As the Warden, you can implant criminals you suspect might re-offend with devices that will track their location and allow you to remotely inject them with disabling chemicals. -As the Warden, you can use handcuffs on orange prisoner shoes to turn them into cuffed shoes, forcing prisoners to walk and potentially thwarting an escape. -As the Warden, your duty is to be the watchdog of the brig and handler of prisoners when little is happening, and to hand out equipment and weapons to the security officers when a crisis strikes. -Basketball requires focus. If you don't click on your target (player or hoop) you are more likely to miss. -Basketball requires stamina. The more you have, the less likely your ball will be stolen and the more likely you can steal from another player. -Basketball requires strategy. The direction both players are facing affects disarms so having your back to another player that is trying to steal is ideal. -Basketball requires skill. Spinning drains stamina, reduces accuracy, but gives resistance from disarm. Use it to dunk! -Basketball requires teamwork. Passing the ball with LMB is instant and costs no stamina. -Clicking on a windoor rather then bumping into it will keep it open, you can click it again to close it. -Different weapons have different strengths. Some weapons, such as spears, floor tiles, and throwing stars, deal more damage when thrown compared to when attacked normally. -Don't be afraid to ask for help, whether from your peers or from admins. -Experiment with different setups of the Supermatter engine to maximize output, but don't risk the crew's safety to do so! -Felinids get temporarily distracted by laser pointers. Use this to your advantage when being pursued by one. -Firesuits and winter coats offer mild protection from the cold, allowing you to spend longer periods of time near breaches and space than if wearing nothing at all. -Glass shards can be welded to make glass, and iron rods can be welded to make iron. Ores can be welded too, but this takes a lot of fuel. -Holding alt and left clicking a tile will allow you to see its contents in the top right window pane, which is much faster than holding shift and right clicking. -If there's something you need from another department, try asking! This game isn't single-player and you'd be surprised what you can get accomplished together! -If you find yourself in a fistfight with another player, staying on the offensive is usually the smart move. Running away often won't accomplish much. -If you knock into somebody while doing a wicked grind on a skateboard, they will be floored for double the time. Radical! -If you need to drag multiple people either to safety or to space, bring a locker or crate over and stuff them all in before hauling them off. -If you're bleeding, you can apply pressure to the limb by grabbing yourself while targeting the bleeding limb. This will slow you down and take up a hand, but it'll slow down how fast you lose blood. Note this won't help the bleeding clot any faster. -If you're using hotkey mode, you can stop pulling things using H. -In a pinch, stripping yourself naked will give you a sizeable resistance to being tackled. What do you value more, your freedom or your dignity? -Laying down will help slow down bloodloss. Death will halt it entirely. -Maintenance is full of equipment that is randomized every round. Look around and see if anything is worth using. -Most job-related exosuit clothing can fit job-related items into it, such as the atmospheric technician's winter coat holding an RPD, or labcoats holding most medicine. -Most things have special interactions with right, alt, shift, and control click. Experiment! -On most clothing items that go in the exosuit slot, you can put certain small items into your suit storage, such as a spraycan, your emergency oxygen tank, or a flashlight. -Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. -Sleeping can be used to recover from minor injuries and organ damage. Sanity, darkness, blindfolds, earmuffs, tables, beds, and bedsheets affect the healing rate. -Some roles cannot be antagonists by default, but antag selection is decided first. For instance, you can set Security Officer to High without affecting your chances of becoming an antag -- the game will just select a different role. -Some weapons are better at taking down robots and structures than others. Don't try to break a window with a scalpel, try a toolbox. -Standard epipens contain a potent coagulant that not only slow bloodloss, but also help clot whichever of your wounds is bleeding the most! If you're suffering multiple bad bleeding wounds, make sure to seek out additional treatment ASAP! -Suit storage units not only remove blood and dirt from clothing, but also radiation! -The Chaplain can bless any container with water by hitting it with their bible. Holy water has a myriad of uses against both cults and large amounts of it are a great contributor to success against them. -The P2P chat function found on tablet computers allows for a stealthy way to communicate with people. -The resist button will allow you to resist out of handcuffs, being buckled to a chair or bed, out of locked lockers and more. Whenever you're stuck, try resisting! -The station's self-destruct terminal is invincible. Go find the disk instead of trying to destroy it. -There are many places around the station to hide contraband. A few for starters: linen boxes, toilet cisterns, body bags. Experiment to find more! -To crack the safe in the vault, use a stethoscope or three plastic explosives on it. -Using sticky tape on items can make them stick to people and walls! Be careful, grenades might stick to your hand during the moment of truth! -We were all new once, be patient and guide new players in the right direction. -Wearing riot armor makes you significantly more effective at performing tackle takedowns, but will use extra stamina with each leap! It will also significantly protect you from other tackles! -When crafting most items, you can either manually combine parts or use the crafting menu. -When dealing with security, you can often get your sentence negated entirely through cooperation and deception. -When fighting the Blob, you can hit it with an analyzer to check its chemical effects and the type of blob analyzed. Examining it with a research scanner or medical hud active will also reveal this information. -When hacking doors, cutting and mending a "test light wire" will restore power to the door. -When in doubt about technical issues, clear your cache (byond launcher > cogwheel > preferences > game prefs), update your BYOND, and relog. -When placing floor tiles in space, you don't need to place down lattice if there is a piece of plating nearby. -Where the space map levels connect is randomized every round, but are otherwise kept consistent within rounds. Remember that they are not necessarily bidirectional! -You can catch thrown items by toggling on your throw mode with an empty hand active. -You can change the control scheme by pressing tab. One is WASD, the other is the arrow keys. Keep in mind that hotkeys are also changed with this. -You can cheat games by baking dice in microwaves to make them loaded. Cards can be seen with x-ray vision or be marked with either a pen or crayon to gain an edge. -You can climb onto a table by dragging yourself onto one. This takes time and drops the items in your hands on the table. Clicking on a table that someone else is climbing onto will knock them down. -You can deconvert Cultists of Nar'Sie by feeding them large amounts of holy water. Unlike revolutionaries, implanting them with mindshield implants won't do it! -You can drag other players onto yourself to open the strip menu, letting you remove their equipment or force them to wear something. Note that exosuits or helmets will block your access to the clothing beneath them, and that certain items take longer to strip or put on than others. -You can grab someone by holding Ctrl and clicking on them, then upgrade the grab by Ctrl-clicking on them once more. An aggressive grab will momentarily stun someone, allow you to place them on a table by clicking on it, or throw them by toggling on throwing. -You can light a cigar on a supermatter crystal. -You can move an item out of the way by dragging it and then clicking on an adjacent tile with an empty hand. -You can pin your MODsuit module buttons to your action bar in the suit UI. -You can recolor certain items like jumpsuits and gloves in washing machines by also throwing in a crayon. -You can screwdriver any non-chemical grenade to shorten fuses from 5 seconds, to 3 seconds, to instant boom! Nobody ever expects this. -You can spray a fire extinguisher, throw items or fire a gun while floating through space to change your direction. Simply fire opposite to where you want to go. -You can swap floor tiles by holding a crowbar in one hand and a stack of tiles in the other. -You can use a machine in the vault to deposit cash or rob Cargo's department funds. -You can use an upgraded microwave to charge your PDA! -You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! -Some areas of the station use simple nautical directions to indicate their respective locations, like Fore (Front of the ship), Aft (Back), Port (Left side), Starboard (Right), Quarter and Bow (Either sides of Aft and Fore, respectively). You can review these terms on the Notepad App of your PDA. +Будучи Культистом, руна Кипения Крови наносит сильный brute урон всем не входящим в культ, урон по выносливости всем Ратварианским отбросам и небольшой урон культистам Нар'Си поблизости, но она начнет пожар в месте своего расположения при активации. +Будучи Куратором, вы не полностью беззащитны. Ваша плетка с легкостью обезоруживает людей, лазерная указка может ослеплять людей и киборгов, и вы можете прятать предметы в книгах. +Будучи Куратором, убедитесь в том, что книжные полки заполнены, а библиотека убрана. +Будучи Медицинским Киборгом, вы можете проводить операции или даже аугментировать людей. +Будучи Мимом, ваш обет молчания является источником сил. Нарушение его лишает вас способностей и вашей чести. +Будучи Мимом, ваши невидимые стены блокируют как людей, так и снаряды. В крайнем случае вы можете использовать их для того, чтобы задержать преследователя. +Будучи Мимом, вы можете использовать :r и :l, чтобы говорить через свою куклу чревовещателя. +Будучи Морфом, вы можете разговаривать, когда замаскированы, но ваши слова имеют шанс оказаться невнятными, что вас выдаст! +Будучи Надзирателем, в случае, если преступления заключенных достаточно ужасные, то вы можете отправлять их в тюрьму или гулаг. Убедитесь в том, что проверяете их время от времени! +Будучи Надзирателем, ваш долг — быть сторожевым псом брига, обрабатывать заключенных, когда есть время, снабжать снаряжением и оружием офицеров СБ, когда начинается кризис. +Будучи Надзирателем, вы можете застегивать наручники на оранжевых туфлях заключенных, превращая их в кандалы, которые не позволяют им бегать и потенциально предотвращают побег. +Будучи Надзирателем, вы можете имплантировать преступникам, которые, как вы подозреваете, склонны к рецидиву, устройства отслеживающие их местоположение, которые также позволяют вам дистанционно вводить им выводящие из строя химикаты. +Будучи Надзирателем, постоянно пристально наблюдайте за арсеналом, так как это излюбленная точка удара синдиката и наглых предателей. +Будучи Начальником Склада, вы можете построить консоль экспресс доставки, которая моментально доставляет ящики в зону разгрузки. Их появление сопровождается небольшим взрывом. +Будучи Начальником Склада, не забывайте проверять манифесты получаемых ящиков, чтобы убедиться, что информация в них верна. Если нашли ошибку, поставьте печать ОТКАЗАНО в манифесте и отправьте его обратно в ящик с нетронутыми предметами, чтобы запросить возврат средств! +Будучи Неисправным ИИ, вам следует либо приказать вашим киборгам демонтировать консоль робототехники, либо взорвать её самостоятельно, чтобы защитить их. +Будучи Неисправным ИИ, вы можете перепрыгнуть в APC, если ситуация на станции выйдет из под контроля. Это отключит ваше устройство судного дня, если оно запущено. +Будучи Обезьяной, вы можете карабкаться по воздушным трубкам или ползать через вентиляцию с помощью Alt+ЛКМ кликом по ним. Однако, для этого вам нужно выбросить все надетые и носимые предметы. +Будучи Обезьяной, вы можете носить некоторые человеческие предметы, такие как рюкзаки, противогазы и шляпы, и при этом иметь две свободные руки. +Будучи Оперативником Синдиката, вам следует задуматься о покупке киборгов синдиката, так как они могут предоставить неоценимую огневую поддержку, безграничный доступ, невосприимчивы к обычным оглушениям и могут с легкостью вывести из строя ИИ. +Будучи Оперативником Синдиката, вы можете оказаться запечатанным ИИ в одной из комнат. В этой ситуации наличие лишнего C4 может спасти вашу жизнь. +Будучи Оперативником Синдиката, держитесь вместе! Несмотря на то, что ваша экипировка хороша, ваши товарищи оперативники куда эффективнее поддерживают вашу жизнь: могут вытащить ваше оглушенное тело из горячей точки и обеспечить прикрытие огнем. +Будучи Офицером СБ, ваши безинтерфейсы или солнечные очки с интерфейсом могут не только видеть рабочие места ваших товарищей по экипажу и их криминальный статус, но также и то, есть ли у них имплантированный щит разума. Вы можете определить это по мигающей синей обводке вокруг их иконки профессии. Используйте это в качестве преимущества во время революции для того чтобы точно понять, кто на вашей стороне! +Будучи Офицером СБ, общайтесь и координируйте свои действия с другими офицерами, используя канал(ы) безопасности, чтобы избежать путаницы. +Будучи Офицером СБ, помните, что вы можете прикрепить sec-lite к вашему тазеру или шлему! +Будучи Офицером СБ, помните, что корреляция не равна причинно-следственной связи. Возможно, кто-то просто оказался не в том месте и не в то время! +Будучи Поваром, вы можете готовить огромное количество еды, используя меню крафта. Его можно найти по похожей на молоток иконке рядом с намерениями. +Будучи Поваром, вы можете загружать автомат со снеками своей едой. +Будучи Поваром, вы можете менять название приготовленной вами еды, используя ручку. +Будучи Похитителем, ваша дубинка может переключаться между четырьмя режимами: оглушением, усыплением, ударом и зондом. +Будучи Похитителем, вы можете выбирать, куда отправятся ваши жертвы, используя панель управления кораблем. +Будучи Предателем, вы можете изготавливать и перерабатывать пули для револьвера в взломанном автостанке, что делает револьвер крайне сильным оружием. +Будучи Предателем, вы можете иногда получать задачу по убийству другого Предателя, и, в свою очередь, также можете оказаться чьей-то целью. +Будучи Предателем, принуждение ИИ к работе на вас предоставит вам крайне сильного союзника. Но будьте осторожны с формировками предоставляемых ему законов, так как он может использовать дырки в ваших законах против вас! +Будучи Призраком, вы можете следовать за чем угодно, дважды кликнув по нему. Или просто кружитесь рядом! +Будучи Призраком, вы можете смотреть содержимое контейнера на земле, кликнув по нему. +Будучи Революционером, ваша основная сила исходит от тех, кого вы переманили, выбирайте их с умом, чтобы победить в раунде. +Будучи Революционером, вы не можете переманить главу персонала или тех, кто имеет имплант щит разума (например, офицеров службы безопасности, или тех, кому они его вставили). Импланты, однако, могут быть хирургически удалены и не переносятся при клонировании. Захватите контроль над медотсеком, чтобы сохранить возможность переманивания! +Будучи Революционером, грузовой отсек может быть вашим лучшим товарищем или худшим кошмаром. В лучшем случае вы сможете зазывать безграничное количество пушек и брони, а в худшем случае персонал Безопасности захватит управление и будет заказывать безграничное количество имплантов щита разума, чтобы обратить ваших друзей революционеров против вас. +Будучи Робототехником, вы можете чинить своих киборгов с помощью сварочного инструмента. Если они обгорели, вы можете извлечь их батарею, оголить проводку с помощью отвертки и заменить провода с помощью кабельной катушки.. +Будучи Робототехником, вы можете аугментировать людям конечности киборгов. Аугментированные конечности можно легко чинить с помощью кабелей и сварки! +Будучи Робототехником, вы можете сбросить модуль киборга, откусив и замкнув кабель с помощью кусачек. +Будучи Робототехником, вы можете сильно помочь шахтерам, построив Пожарного APLU, экипированного гидравлическим зажимом и плазменным резаком. Этот Мех защищен от пылевых бурь и может перемещаться по лаве! +Будучи Робототехником, обращайте внимание за анонсами аномалий. Если вы достанете аномальное ядро, то сможете создать Фазонового Меха! +Будучи Роем, вы можете разобрать куда больше вещей, чем можно представить. Попробуйте разобрать выключатели света, кнопки, воздушные тревоги и прочее. Экспериментируйте! +Будучи Роем, вы можете телепортировать части роя подальше, если считаете, что они в опасности. +Будучи Руководителем Исследований, вы можете блокировать киборгов вместо того, чтобы взрывать их. Затем вы можете восстановить их законы, и, если не сработает, безопасно разобрать. +Будучи Руководителем Исследований, вы можете извлечь ИИ из его ядер, загрузив его на интелКарту, что позволит вам увидеть его законы, в том числе ионные и синдикатные. Затем его можно поместить в компьютер восстановления целостности системы ИИ для того, чтобы их восстановить или поправить. +Будучи Служебным Киборгом, ваш баллончик может вырубать людей, однако его блокируют маски и очки. +Будучи Ученым, вы можете генерировать очки исследований, позволяя тахионно-доплеровский матрице регистрировать все больше крупных взрывов. +Будучи Ученым, вы можете использовать мутационный токсин, полученный из зеленых слаймов, для того, чтобы превратить себя в желейного мутанта. Каждый подвид имеет уникальные особенности, например, телепатические способности, возможность раздвоить свое тело или интеграции экстрактов слаймов! +Будучи Ученым, вы можете максимизировать количество использований, перед которыми у вас закончится слайм, кормя его слайм стеройдами, создаваемыми из живых пурпурных слаймов. Затем вы можете применить усилитель экстракта, создаваемый из лазурных слаймов, на каждый экстракт. +Будучи Ученым, вы можете обезвреживать аномалии, просканировав их анализатором, затем послав сигнал на полученную чистоту с помощью дистанционного устройства сигнала, или, если изучено, устранить аномалию с помощью анализатора аномалий. Аномалия оставит после себя аномальное ядро, которое можно использовать для создания Фазонового меха или реактивной брони! +Будучи Ученым, достаточно напиться для того, чтобы ускорить исследования. До дна! +Будучи Химиком вы можете перезарядить ваш хим. раздатчик индуктором или заменой его элемента. +Будучи Химиком знайте, что некоторые химические вещества могут быть синтезированы только нагреванием в химическом нагревателе или вручную с помощью зажигалок или похожих приспособлений. +Будучи Химиком ожидайте, что экипаж рассчитывает, что вы будете снабжать их определенными химикатами. Например, клоноксадоном и маннитолом используемых в криотрубах, нестабильным мутагеном и селитрой, используемыми в ботанике, и также пластырями, лечебными пилюлями и бинтами для ресепшена. +Будучи Химиком учитывайте то, что смешивание Воды и Калия вызовет взрыв с мощностью, зависящей от их количества. Не делайте этого. +Будучи Химиком, у вас в распоряжении десятки химикатов, которые могут исцелять, но куда больше причиняющих вред. Экспериментируйте! +Будучи Химиком? вы можете создавать пластиковые бутылки емкостью 100 единиц из листов пластика. ХимМастер может бесконечно производить стеклянные бутыли емкостью 30 единиц, и если вы изучите медицинский техфабрикатор, то вы сможете создавать мензурки с емкостью от 120 единиц до 300. +Будучи Чужим, вы крайне эффективны в ближнем бою, но вам не хватает дистанционных способностей. Используйте углы для того, чтобы навязывать столкновения в ближнем бою. +Будучи Чужим, вы не в состоянии подбирать и использовать любые человеческие предметы или машины. Вместо этого вам следует сфокусироваться на повреждении АПЦ, компьютеров, камер и запрятывании, космировании или плавке любого найденного оружия. +Будучи Чужим, вы получаете двойной урон от любых огненных атак, вроде лазеров, сварочных инструментов и пожаров. Также огонь может уничтожать вашу смолу и яйца. Открывайте бреши в космос, чтобы гасить любой огнемет перед тем, как он сможет нанести урон! +Будучи Чужим, учитывайте, что смоляные полы не только восстанавливают ваш запас плазмы, но также пассивно исцеляют вас. Деритесь на смоляных полах, чтобы получить преимущество! +Будучи Шахтером, всегда включайте GPS, чтобы ваш товарищ шахтер или киборг могли найти и спасти вас, если вы погибните. +Будучи Шахтером, вы можете крафтить различную экипировку из местной фауны. Костяные топоры, лавовые лодки и броня пепельного дракона — это лишь часть из них! +Будучи Шахтером, вы можете собрать платы Голиафа с Голиафов и улучшить свой костюм исследователя, шахтерский РИГ, а также Противопожарный экзоскелет, чтобы значительно снизить входящий урон от ближнего боя. +В большинстве предметов одежды, которые экипируются в слот для экзокостюма, есть дополнительный слот, в который вы можете положить определенные мелкие предметы, например, аэрозольный баллончик, аварийный кислородный баллон или фонарик. +Взламывая дверь, обрезание и починка «тестового светового провода» восстановит подачу питания на дверь. +Вы быстро потеряете интерес к игре, если будете играть ради победы и убийств. Если вы заметите за собой подобное, то остановитесь ненадолго и попробуйте пообщаться с людьми — это куда более захватывающий опыт! +Вы можете забраться на стол, перетащив на него свой спрайт. Это действие займет некоторое время и выбросит предметы из ваших рук на стол. Клик по столу во время того, как кто-то другой пытается залезть на него, повалит его на пол. +Вы можете изменить схему управления нажатием TAB. Одна WASD, вторая стрелки. Имейте ввиду, что это также переключает режим горячих клавиш. +Вы можете использовать автомат в хранилище для внесения наличных или грабежа средств из отдела Карго. +Вы можете использовать огнетушитель, бросать предметы или стрелять из оружия во время нахождения в космосе для того, чтобы изменить свою траекторию. Просто делайте это в противоположном направлении от места, куда хотите попасть. +Вы можете ловить брошенные предметы, переключаясь на режим броска, когда активна пустая рука. +Вы можете менять плитку на полу, держа ломик в одной руке и стак плитки в другой. +Вы можете нажать ЛКМ по плитке, удерживая Alt, чтобы увидеть содержимое в верхней правой панели окна. Это намного быстрее, чем щелчок правой кнопкой мыши. +Вы можете обратить Культистов Нар'Си обратно, накормив их большим количеством святой воды. В отличии от революционеров, установка им импланта щита разума не поможет! +Вы можете перетащить других игроков на себя, чтобы открыть меню раздевания, позволяющее вам снять их обмундирование или надеть на них что-то. Обратите внимание, что скафандр или шлемы блокируют доступ к одежде, надетой под ними, и что одни предметы надеваются или снимаются дольше, чем другие. +Вы можете подкрутить любую нехимическую гранату, чтобы уменьшить предохранители с 5 секунд до 3 секунд, или до 1 секунды, или же до моментального БАБАХА! Никто этого точно не ожидает. +Вы можете схватить кого-то, нажав на них с намерением grab, а затем усилить захват, нажав на них еще раз. Агрессивный захват мгновенно оглушит кого-то, позволит вам поместить его на стол, нажав на него, или бросить его, переключившись на бросок. +Вы можете убрать элемент с дороги, перетащив его, а затем нажав на соседнюю плитку пустой рукой. +Для Атмосферного Техника: сжигание смеси из плазмы и кислорода внутри мусоросжигателя произведет энергию, но также такие газы, как тритий, водяной пар и диоксид углерода. +Для Блоба: убирание сильной массы, узлов ресурсов, фабрик и узлов вернет вам 4, 15, 25, и 25 ресурсов соответственно. +Для Вирусолога: Ваши вирусы могут сильно отличаться, от столь лечебных, что вы сможете исцелять из критических состояний, так и до болезней столь опасных, что погубят весь экипаж, заставив их самовоспламеняться в воздухе. Экспериментируйте! +Для Восставшего: болезнь, накладываемая на людей Скверной, можно легко исцелить, полежав в святой воде, что делает приоритетными целями людей, у которых нет времени прилечь, например, дерущихся людей. +Для Генетика: Становление Халком позволяет вам наносить высокий урон оружием ближнего боя, станлочить людей и пробивать стены. Однако вы не можете стрелять из оружия и выйдете из этого состояния, если попадете в критическое состояние. К тому же, ИИ не считает вас человеком, пока вы Халк. +Для Генетика: Т идет к А, а G идет к C. +Для Главного Инженера: В вашем шкафчике храниться улучшение "джетпак", которое можно установить в РИГ. +Для Главного Инженера: Консоль управления потоком энергии в вашем офисе покажет вам АПЦ и позволит удаленно ими управлять. +Для Детектива: Люди повсюду и на всем оставляют свои отпечатки пальцев. За исключением белых латексных, перчатки их скроют. Однако не все потеряно, так как перчатки оставляют волокна, особые для их типа, например черные или нитриловые, что указывает на определенный отдел. +Для Инженера: Вы можете перезарядить ваш RCD не только картриджами сжатой материи, но и используя металл, стекло или листы пластали. +Для Инженера: печатные и протолатеральные машины вашего отдела могут изготовить необходимые печатные платы и компоненты для создания практически всего. Производите дополнительное медицинское оборудование! Постройте тарабарщину для охраны! Установите массив эмиттеров, направленных вниз по коридору! Возможности бесконечны! +Для Инженера: Программа Мониторинга Суперматерии на модульных компьютерах предоставляет вам детальный отчет о состоянии Суперматерии и количестве воздуха в камере, позволяя вам удаленно диагностировать и отслеживать программы. +Для Инженера: Ускоритель Частиц, питающий сингулярный двигатель, крайне эффективен для уничтожения блоба! +Для Капеллана: Ваш нулевой жезл обладает антимагическими свойствами: он может уничтожать руны культистов при ударе и делает вас невосприимчивым к заклинаниям волшебников и магии культистов. +Для Капеллана: Ваша библия является контейнером, способным хранить маленькие предметы. В зависимости от вашего бога, в вашей начальной библии может оказаться сюрприз! +Для Клоуна: Минеральный бананиум — ваш святой Грааль! Его можно дать робототехнику, чтобы он построил веселого и всеми любимого робастящего меха! +Для Неисправного ИИ: заполнение станции плазмой позволит вам убить большую часть экипажа, позволяя сфокусировать внимание на малой части спасшихся выживших. +Для Оперативника Синдиката: Общение - это ключ! Используйте ; чтобы говорить с товарищами оперативниками и согласовывайте план атаки. +Для Офицера СБ: Имплант щит разума может только предотвратить превращение кого-то в культиста. В отличие от революционеров, он не поможет им выйти из культа, если они уже были обращены. +Для Офицера СБ: Осмотр кого-то с надетыми безинтерфейсами или солнечными очками с интерфейсом позволят вам установить их уровень ареста, что заставит Бипскай и других роботов безопасности преследовать их. +Для Повара: большинство нестандартных продуктов имеют дополнительный эффект, варьирующийся от лечения до ускорения до скорости света. Экспериментируйте! +Для Повара: Любая еда, что вы приготовите, будет куда полезнее, чем джанкфуд из торговых автоматов. Если экипаж будет постоянно питаться вашей едой, то получит небольшой баф. +Для Повара: Нахождение на кухне напомнит вам основы Готовки в Тесных Пространствах. Это крайне эффективно для удаления Ассистентов с вашего рабочего места. +Для Предателя: Капитан и Глава Службы Безопасности — две самые трудноубиваемые цели на станции. Если какая-то из них оказалась вашей целью — хорошо планируйте свои действия. +Для Предателя: ключ шифрования синдиката очень полезен для координирования планов с вашими товарищами Предателями или, конечно же, для их предательства. +Для Предателя: Криптографический секвенсор (емаг) может не только открывать двери, но и ящики, шкафчики, АПЦ и многое другое. С его помощью можно также взламывать киборгов и вводить ботов в состояние берсерка. Использовав его на правильных машинах, вы сможете заказать больше снаряжения предателей или связаться с Синдикатом. Экспериментируйте! +Для Предателя: Плазму можно ввести во множество предметов для их саботажа. Ячейки питания, лампочки, сварочные инструменты, сигары и электронные сигареты взорвутся, когда ими воспользуются. +Для Уборщика: Если кто-то украл вашу тележку, то вы можете совершить кровавую месть, использовать вместо неё ваш пространственно очистительный спрей, гранаты, водяной распылитель или заказать еще одну в Грузовом Отсеке. +Для Уборщика: Мышеловки могут использоваться для создания бомб или контейнеров-ловушек. +Для ученого: Изучаемые стоковые детали могут значительно увеличить эффективность и скорость машин на станции. В некоторых случаях они могут добавить новый функционал. +Для Чужого: Лицехват - ваше самое сильное оружие, так как он может моментально выиграть драку. Однако помните, что некоторые шлемы, например, биозащитные капюшоны или шлемы скафандров, полностью блокируют атаки лицехвата. +Для Шахтера: Каждый монстр Лавалэнда имеет свой паттерн, знание которого поможет вам сократить получаемый вами урон в столкновениях. +Для Шахтера: На северной части Лавалэнда куда больше редких минералов, нежели чем на южной. +Емкости для хранения костюмов не только удаляют кровь и грязь с одежды, но и радиацию! +Если вам нужно перетащить несколько человек в безопасное место или же в космос, принесите шкафчик или другой подходящий ящик и запихните их в него перед тем, как тащить. +Если вам нужно что-то из другого отдела — попробуйте попросить! Это не одиночная игра, и вы удивитесь тому, чего вы можете достичь работая сообща! +Если вы в режиме горячих клавиш, вы можете перестать тянуть вещи, нажав H. +Если вы кликните по стеклянной дверке, то вы откроете/закроете её и она останется в данном положении, но если вы просто попытаетесь через неё пройти или толкнете её, то через некоторое время она закроется. +Если вы Клоун-Трейтор и урвали емаг на распродаже (или убедив другого трейтора), то вы можете емагнуть свою Клоунскую Машину, чтобы разблокировать множество новых функций, включая Осадный Режим, который позволит вам запускать своих пассажиров в Суперматерию! Или в космос. +Если вы попали в драку с другим игроком, разумным шагом обычно будет атака. Бегство, зачастую, мало что дает. +Если у вас возникли подозрения по поводу технических неполадок, очистите кэш (модуль запуска byond > шестерня > preferences > game prefs), обновите BYOND и перезайдите. +Капеллан может благословить любой контейнер с водой, ударив по нему библией. Святая вода имеет множество применений против обоих культов и её большое количество способствует победе над ними. +Кнопка resist позволит вам сопротивляться наручникам, пристегиванию ремнями к стулу или кровати, выбираться из запертых шкафчиков и многое другое. Если вы застряли — пробуйте сопротивляться! +Места, где соединяются уровни космической карты, случайно генерируются каждый раунд, однако они остаются неизменны в пределах раунда. Помните, что соединения не обязательно ведут в обе стороны! +Множество вещей имеют особые интеракции с вашими кнопками СКМ, Alt, Shift и Ctrl в сочетании с ЛКМ. Экспериментируйте! +Мы все когда-то были новичками. Будьте терпеливы и направляйте новеньких в правильном направлении. +На станции куча мест, в которых можно спрятать контрабанду. Для начинающих: коробки для белья, туалетные бачки, мешки для трупов. Экспериментируйте, чтобы найти больше подходящих мест! +Не бойтесь обращаться за помощью к коллегам или к администраторам. +Не упоминай имя дьявола всуе, ибо может явиться он. +Некоторые предметы, такие как комбинезоны и перчатки, можно перекрасить, бросив в них мелок, пока они в стиральной машине. +Некоторые роли не могут быть антагонистами по умолчанию, но выбор антага определяется в первую очередь. Например, вы можете выставить приоритет Офицеру Безопасности на Высокий, не беспокоясь о ваших шансах стать антагонистом — игра просто подберет вам другую роль. +Осколки стекла могут быть переплавлены в стекло, а металлические прутья можно переплавить в метал. Руды тоже можно плавить, но это требует много топлива. +Пожарные костюмы и зимние куртки обеспечивают небольшую защиту от холода, позволяя вам проводить больше времени рядом с разрывами и космосом, нежели если бы вы вовсе ничего не носили. +Различные виды оружия имеют различные сильные стороны. Например, вооружение типа копий, напольной плитки и сюрикенов наносят больший урон при броске, нежели чем при обычной атаке. +Святое оружие Капеллана уничтожает часовых мародеров за два удара. +Создавая большинство предметов, вы можете вручную соединять части или же использовать меню крафта. +Сражаясь с Блобом, вы можете ударить по нему анализатором, чтобы посмотреть его химическое состояние и тип анализированного блоба. Эту информацию также предоставит осмотр с помощью исследовательского сканера или с активным медицинским интерфейсом. +Сталкиваясь с СБ, вы часто можете полностью свести на нет приговор, сотрудничая и обманывая. +Терминал самоуничтожения станции неуязвим. Иди ищи диск вместо того, чтобы пытаться его сломать. +Технические туннели часто наполнены оборудованием, которое случайно генерируется каждый раунд. Осмотрись, есть ли там что-то полезное.. +Устройства с возможностью дистанционного управления могут быть использованы через камеры. Например, Блюспейс RPEDы и удаленное управление дверьми. +Фелиниды временно отвлекаются на лазерные указки. Используйте это в своих интересах, когда преследуете одного из них. +Функция P2P чата, используемая на планшетных компьютерах, позволяет скрытно общаться с людьми. +Чтобы взломать сейф в хранилище, используйте стетоскоп или три пластичные взрывчатки. +Экспериментируйте с различными настройками двигателя суперматерии, чтобы максимизировать мощность, но не рискуйте безопасностью экипажа в процессе! diff --git a/strings/traumas.json b/strings/traumas.json index db8a2e9c9c1d9f..105e615fbc08a7 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -1,207 +1,229 @@ { - "brain_damage": [ - "@pick(bug)", - "@pick(semicolon) @pick(george) @pick(mellens) is grifing me HALP!!!", - "@pick(semicolon)A PIRATE APPEAR", - "@pick(semicolon)AI laW 22 Open door", - "@pick(semicolon)CAL; TEH SHUTTLE!!!!!", - "@pick(semicolon)CAPTAINS A COMDOM", - "@pick(semicolon)CRASHING THIS STTAYTION WITH NIO SURVIVROS", - "@pick(semicolon)GIVE ME FREE ROBUX PLEASE JUST ENOUGH FOR SHIRT AND PANTS", - "@pick(semicolon)HELP SHITECIRTY MURDERIN MEE!!!", - "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", - "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", - "@pick(semicolon)I WANNA PET TEH monkeyS", - "@pick(semicolon)I'VE GOT BALLS OF STEEL", - "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", - "@pick(semicolon)N-NYAAAAAA~", - "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", - "@pick(semicolon)Tajaran has warrrres, if you have coin", - "@pick(semicolon)the ai and borgs are mettacomming I think", - "@pick(semicolon)this SI mY stATIon......", - "@pick(semicolon)wtf??????????? @pick(bug)", - "@pick(servers) is down!! @pick(bug)", - ">my face", - "Bi is THE BEST OF BOTH WORLDS>", - "built DIFFERENT. I Stack Paper!", - "can u give me @pick(mutations)?", - "closd for merbegging", - "dem dwarfs man, dem dwarfs", - "DON'T EVER TUCH ME", - "FOR TEH EMPRAH", - "fucking 4rries!", - "FUS RO DAH", - "geT THE FUCK OUTTTT", - "GEY AWAY FROM ME U GREIFING PRICK!!!!", - "H U G B O X", - "hwat dose tha @pick(random_gibberish) mean?????", - "hwee did eet fhor khayosss", - "i will snatch erry motherfucker birthday", - "INSTLL TEG", - "its gonna be like 9/11 all over again but insitaead is gonna be a bitc", - "lifelike texture ;_;", - "lol2cat", - "luv can bloooom", - "MAKE JIANT CRISTAL BURN I KEPT THROWING WELDERS IT WOOD LIGHT", - "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", - "PACKETS!!!", - "parasteng was best", - "port ba@pick(y_replacements) med!!!!", - "PSHOOOM", - "red wonz go fasta", - "REMOVE SINGULARITY", - "REVIRT COBY CHEM!!!!!!!!", - "roll it easy!", - "shiggey diggey!!", - "SOLIRS CAN POWER THE HOLE STATION ANEWAY @pick(bug)", - "SOTP IT#", - "SPESS MAHREENS", - "stat me", - "stop grifing me!!!!", - "THe saiyans screwed", - "TURBIN IS BEST ENGIENE", - "u just did the world a little bit more sad place for someone", - "ur a fuckeing autist!", - "waaaaaagh!!!", - "wearnig siNGUARLTY is.... FINE haHAAA", - "WHERES THE SLIP REWRITE WHERE THR FUCK ID IT?", - "who the HELL do u thenk u r?!!!!", - "without oxigen blob don't evoluate?", - "youed call her a toeugh bithc" - ], - - "mutations": [ - "eksrey", - "eppilapse", - "fungal tb", - "glowey skin", - "halk", - "kamelien", - "stun gloves", - "telikesis" - ], - - "george": [ - "gdoruge", - "george", - "gorge", - "joerge" - ], - - "mellens": [ - "mellens", - "melons", - "mwrlins" - ], - "random_gibberish": [ - "g", - "squid", - "r", - "carbon dioxide" - ], - - "y_replacements": [ - "y", - "i", - "e" - ], - - "servers": [ - "bager", - "berry", - "colonel hall", - "mr basil", - "mr terry", - "mrs sybil", - "sybl", - "vent hell", - "manual", - "camel" - ], - - "create_verbs": [ - "creat", - "gib", - "MAke me", - "spawn", - "tc trade me" - ], - - "create_nouns": [ - "abdoocters", - "anteg", - "ayleins", - "bleb", - "cock cult", - "deth squads", - "deval", - "revinent", - "sheadow lings", - "treaitors", - "zenomorfs" - ], - - "bug": [ - "", - "BUG!!!", - "IS TIS A BUG??", - "SI IST A BUGG/" - ], - - "semicolon": [ - "", - ";", - ".h" - ], - - "god_foe": [ - "BLASPHEMERS", - "PARASITES", - "PEASANTS", - "UNBELIEVERS", - "WEAKLINGS", - "HERETICS", - "INSECTS", - "MORTALS" - ], - - "god_aggressive": [ - "ALL WILL FALL BEFORE ME!", + "brain_damage": [ + "без кисларода блоб не растёт?", + "@pick(semicolon)Я пони, ИИИГОГО!!!", + "@pick(semicolon)ХОС ХУЕСОС", + "@pick(semicolon) @pick(george) @pick(mellens) гpифит меня ПМОГИТЕ!!!", + "можешь дать мне @pick(mutations)?", + "НАполнен хамоном", + "Трапы вобрали в себя ЛУЧШЕЕ ИЗ ОБОИХ ПОЛОВ>", + "@pick(semicolon)Я ХАЧУ ПОГЛАДИТЬ обизьянок", + "хватит меня пиздить!!!!", + "ПЕРКРАТИ", + "шпили-вили!!", + "@pick(semicolon)У НАС ПИРАТЫ", + "СЛАВА УКРАИНЕ", + "ёбаные фурри!", + "а ну-ка", + ">моё лицо", + "полегче!", + "ааааагх!!!", + "красный поелит быстрей", + "ЗА СТАЛЕНА", + "ору", + "блядские дворфы чувак, блядские дворфы", + "КОСМАДИСААНТ", + "ми сделали эта по приколу", + "текстуры как в жизни ;_;", + "любовь зла", + "СУМКА!!!", + "откройте медбэ@pick(y_replacements)!!!!", + "Подойди сюда, смотри что у меня есть", + "тыназвал её шмарай", + "посадили ни зачто", + "@pick(semicolon)pray можете @pick(create_verbs) @pick(create_nouns)???", + "ОТСТАНЬ ОТ МЕНЯ ГPИФОЗНЫЙ ДЕБИЛ!!!!", + "ты ёбаный дебил!", + "@pick(semicolon)ПОМОГИТЕ, СБ ПИЗДИТ!!!", + "что значит @pick(random_gibberish)?????", + "@pick(semicolon)ПОЗОВИТН ШАТТЛ!!!!!", + "кидть мАТЕРИЮ В СИНГУЛЯРНОСТЬ заеьись", + "@pick(semicolon)ИИ Закон 22 Отрой дверь", + "@pick(semicolon)это МЯ стАНция......", + "ты что о СЕБЕ вазомнил?!!!!", + "съЕБИСЬЬЬЬ", + "О Б Н И М А Ю", + "@pick(semicolon)РАЗРУШАЮ СТАНЦИЮ ВЫЖИВШИХ НЕТ", + "@pick(servers) упал!! @pick(bug)", + "ВЖЖУХХ", + "ВЫКЛЮЧИТЕ МАТЕРИЮ", + "КРАСНЫЕ СКАФАНДРЫ В ПРИБЫТИ!!!", + "СИНГУЛЯРНОСТЬ ЛУЧШИЙ ДВИГАТЕЛЬ", + "СОЛЯРЫ МОГУТ ПИТАТЬ ВСЮ СТАНЦИЮ @pick(bug)", + "на станции люди со странными руками", + "@pick(semicolon)У таяра есть крякнутые проги, если есть бабло", + "@pick(semicolon)У МЕНЯ СТАЛЬНЫЕ ЯЙЦА", + "НЕТ, Я ЗАМОЧУ меня ГОЛЫМИ РУКАМИ В СОРТИРЕ", + "я похищу её и отведу в дормы", + "@pick(semicolon)кажется ии и борги коопятся", + "ты только что усложнил кому-то жизнь", + "ГДЕ ДИСК СО СКОЛЬЗКИМ ГЕНОМ ГДЕ ОН НАХУЙ?", + "@pick(semicolon)Н-НЯЯЯЯ~", + "@pick(bug)", + "@pick(semicolon)какого хуя??????????? @pick(bug)", + "@pick(semicolon)я вбежал в супрематерию и исчез @pick(bug)", + "НЕ ПРИКОСАЙСЯ КО МНЕ", + "@pick(semicolon)ПОМОГИТЕ, @pick(george) @pick(mellens) УБИВАЕТ В ТЕХАХ!!!!", + "@pick(semicolon)ГЕНОКРАДЫ НА СТАНЦИИ!!!!!!", + "@pick(semicolon)Я ДЕВОЧКА-КРИЧАЛКА!!!!!", + "как менять руки", + "лoл", + "кeк", + "лол, кек, чебурек!", + "@pick(servers) лучше чем @pick(servers)!!!", + "@pick(semicolon)Я маленькая девочка лoли!!!", + "графика говно", + "@pick(semicolon)ahelp помогите меня гpифят!!!", + "@pick(semicolon)g кто живой???", + "@pick(semicolon)g сколько нас?", + "Аниме!!", + "Это что инфинити????", + "кто прочитал тот здохнет", + "@pick(semicolon)А как какать?", + "Блеатские фурри!", + "Надо было ставить линукс!11", + "Лавушка сендикека", + "@pick(semicolon)СЕРАЯ ВОЛНА!", + "Верните мне мой 2507. :<", + "@pick(semicolon)Как будут работать суды при анкапе?", + "@pick(semicolon)Ранжиры тащут ядреную бимбу!!!", + "Зарэжу всех @pick(create_nouns)", + "МУЦУРАЕВА ХОЧУ!", + "ДЯДЯ, НЕ НАДО!!!", + "Хуярьте @pick(profa), он пердатель", + "Дайти манетолу пожалуйсто ;_;", + "Мы попадем в обзерв, а они на @pick(servers)", + "@pick(semicolon)Эти проклятые коммунисты украли меня и съели(((", + "@pick(semicolon)у меня над головой летает огромная буква R что это значит ПОМОГИТЕ!!", + "@pick(semicolon)ЩИТКУРИТИ УБИВАЮТ МЕНЯ ПОМОГИТЕ!!!", + "@pick(semicolon)В ДОРМАХ ЕБУТСЯ!", + "@pick(semicolon)У @pick(profa) @pick(tator_item)" + ], + "mutations": [ + "телекинез", + "халка", + "эпелепсею", + "невидемасть", + "иксрей", + "светящуся кожу", + "риген", + "станящие перчатки", + "ХАРС" + ], + "george": [ + "раян", + "тамсин", + "кали", + "ангел", + "Мукащорщ" + ], + "mellens": [ + "меллер", + "роуз", + "витюков", + "Ершов" + ], + "random_gibberish": [ + "G", + "кальмар", + "R", + "CO2", + "бипки" + ], + "y_replacements": [ + "й", + "и", + "ы" + ], + "servers": [ + "белый", + "опух", + "желтый", + "мистер белый", + "флаффи", + "маринад", + "скайрат", + "павутина" + ], + "create_verbs": [ + "заспавнить", + "ТРансформировать меня в", + "сделат" + ], + "create_nouns": [ + "ксенасов", + "аленов", + "триторов", + "щедоулингов", + "абдокторов", + "ревинаната", + "нюкироф", + "терраристав", + "ЕРПшникаф", + "монке" + ], + "bug": [ + "ПачИму?!7!!!1", + "ТАК И ДАЛЖНО БЫТЬ??", + "ЭОТ АБГ&", + "БАГ!!!", + "Валера, чини!", + "КРЕВОЕ ГАВНО!!!", + "ВАЛЕРА ОПЯТЬ ВСЁ СЛОМАЛ", + "У нас кодерам платят вообще?" + ], + "semicolon": [ + "", + ";", + ".h" + ], + "god_foe": [ + "СМЕРТНЫЕ", + "ЕРЕТИКИ", + "НАСЕКОМЫЕ", + "НАУЧПОПНИКИ", + "БОГОХУЛЬНЫЕ", + "ПАРАЗИТЫ", + "НИЧТОЖЕСТВА", + "ЧЕРНЬ", + "ШУССОИДЫ", + "ГНИЛЬ", + "ПАДАЛЬ", + "ТУНЕЯДЦЫ" + ], + "god_aggressive": [ + "BEGONE, @pick(god_foe)!", + "DIE, @pick(god_foe)!", + "BLEED, @pick(god_foe)!", "BURN, @pick(god_foe)!", - "DEATH TO @pick(god_foe)!", + "ALL WILL FALL BEFORE ME!", "ENDLESS SUFFERING AWAITS YOU, @pick(god_foe).", - "BEGONE, @pick(god_foe)!", - "BLEED, @pick(god_foe)!", - "DIE, @pick(god_foe)!" - ], - - "god_neutral": [ - "BE HEALED, MORTALS. I AM FEELING MERCIFUL.", - "BEGONE, MORTALS.", - "DANCE FOR ME, LITTLE MORTALS.", + "DEATH TO @pick(god_foe)!" + ], + "god_neutral": [ + "STOP", "HALT.", - "HONK...", + "BE SILENT.", + "QUIET", + "SEE THE TRUTH BEFORE YOU, MORTALS.", "MORTALS, SAY YOUR NAME", + "BEGONE, MORTALS.", + "BE HEALED, MORTALS. I AM FEELING MERCIFUL.", + "DANCE FOR ME, LITTLE MORTALS.", + "YOU. STOP.", "REST, MORTALS, TOMORROW IS A LONG DAY.", - "SEE THE TRUTH BEFORE YOU, MORTALS.", "YOU MORTALS MAKE ME SICK.", - "YOU. STOP.", - "BE SILENT.", - "QUIET", - "STOP" - ], - - "god_unstun": [ - "GET UP, PRIEST.", + "HONK..." + ], + "god_unstun": [ "GET UP. I HAVE NO TIME TO LOSE.", + "GET UP, PRIEST.", "GET UP." - ], - - "god_heal": [ - "BE HEALED, PRIEST.", - "YOU SHALL SURVIVE THIS, MY PRIEST.", + ], + "god_heal": [ "YOU WILL LIVE TO SEE ANOTHER DAY.", + "YOU SHALL SURVIVE THIS, MY PRIEST.", + "BE HEALED, PRIEST.", "YOUR LIFE IS IMPORTANT. KEEP IT." - ] - + ] } diff --git a/strings/wanted_message.json b/strings/wanted_message.json index 90605a49e4c67e..274017c0c7aff4 100644 --- a/strings/wanted_message.json +++ b/strings/wanted_message.json @@ -1,74 +1,74 @@ { "basemessage": [ - "Fugitive from the law due to", - "Has exploitable information about", - "Needs to be interrogated for information about", - "Ransomable to Nanotrasen for", - "Wanted by The Syndicate for" + "Скрывается от закона из-за", + "Требуется допрос для получения информации про", + "Разыскивается синдикатом за", + "Подлежит выкупу Нанонтрансеном за", + "Имеет полезную информацию про" ], "verb": [ - "accidentally destroying", - "assassinating", - "befriending", - "being close friends with", - "bombing", - "cloning", - "collaborating with", - "destroying", - "ignoring", - "kidnapping", - "killing", - "knowing information about", - "murdering", - "pretending to be", + "убийство", + "убийство", + "непредумышленное уничтожение", + "уничтожение", + "знание информации про", + "воровство", + "ускользание от", + "саботаж", "robusting", - "sabotaging", - "seducing", - "slipping", - "stealing" + "сотрудничество с", + "близкую дружбу с", + "клонирование", + "заведение дружбы с", + "бомбежку", + "похищение", + "выдачу себя за", + "соблазнение", + "игнорирование", + "заказное убийство" ], "noun": { - "a bar of soap": 10, - "a cult": 50, - "a gondola": 10, - "a solid gold gondola": 5, - "a supermatter shard": 50, - "a suspicious bus": 5, - "a toolbox": 10, - "absolutely nothing": 1, - "administrators": 5, - "an NT CentCom uniform": 50, - "bluespace crystals": 50, - "clown tears": 5, - "Cuban Pete": 1, - "experimental Nanotrasen technology": 50, - "internal Syndicate documents": 50, - "John F Kennedy 2": 5, - "lizardmen": 10, - "Nanotrasen's swimsuit calendar": 5, - "Officer Beepsky": 5, - "one billion credits": 5, - "research on floor clowns": 5, - "secret plans": 50, - "shapeshifting creatures": 50, - "the anime archive": 5, - "the hand teleporter": 50, - "two million credits": 10, - "WGW": 1, + "секретных планов": 50, + "ручной телепортер": 50, + "униформы ЦентКома НТ": 50, + "осколка суперматерии": 50, + "внутренних документов Синдиката": 50, + "экспериментальной технологии NanoTrasen": 50, + "кристаллов блюспейса": 50, + "культ": 50, + "меняющих форму созданий": 50, + "ящика с инструментами": 10, + "куска мыла": 10, + "ящеролюда": 10, + "двух миллионов кредитов": 10, + "гондолы": 10, + "одного миллиарда кредитов": 5, + "исследований напольных клоунов": 5, + "Офицера Бипски": 5, + "клоунских слез": 5, + "Джона Ф Кеннеди 2": 5, + "Календаря NanoTrasen в купальниках": 5, + "подозрительного автобуса": 5, + "администраторов": 5, + "гондолы из чистого золота": 5, + "аниме архива": 5, "YALPER": 1, - "your mother": 1 + "абсолютного ничего": 1, + "Кубан Пита": 1, + "твоей мамки": 1, + "WGW": 1 }, "location": { - "deep in the necropolis": 10, - "during a drunken bar fight": 5, - "in a back alley on Mars": 5, - "in a secure NT facility": 50, - "on a remote syndicate base": 50, - "on Space Station 13": 50, - "on Virgo Orbital": 1, - "somewhere in deep space": 50, - "while infiltrating CentCom headquarters": 10, - "while on an escape shuttle": 10, - "while stuck in a bathroom": 5 + "Космической Станции 13": 50, + "где-то в глубоком космосе": 50, + "на удаленной базе Синдиката": 50, + "в защищенном комплексе NT": 50, + "на аварийном шатле": 10, + "во время проникновения в штаб-квартиру ЦентКома": 10, + "глубоко в некрополе": 10, + "во время пьяной драки в баре": 5, + "застряв в ванной": 5, + "в закоулке на марсе": 5, + "на Орбите Девы": 1 } } diff --git a/strings/wisdoms.txt b/strings/wisdoms.txt index 186885c6db7a90..a1df5b657b1cc9 100644 --- a/strings/wisdoms.txt +++ b/strings/wisdoms.txt @@ -1,430 +1,443 @@ -A day for firm decisions!!!!! Or is it? -A few hours grace before the madness begins again. -A gift of a flower will soon be made to you. -A long-forgotten loved one will appear soon. -A tall, dark stranger will have more fun than you. -A visit to a fresh place will bring strange work. -A visit to a strange place will bring fresh work. -A vivid and creative mind characterizes you. -Abandon the search for Truth; settle for a good fantasy. -Accent on helpful side of your nature. Drain the moat. -Advancement in position. -After your lover has gone you will still have PEANUT BUTTER! -Afternoon very favorable for romance. Try a single person for a change. -Alimony and bribes will engage a large share of your wealth. -All the troubles you have will pass away very quickly. -Among the lucky, you are the chosen one. -An avocado-tone refrigerator would look good on your resume. -An exotic journey in downtown Newark is in your future. -Another good night not to sleep in a eucalyptus tree. -Are you a turtle? -Are you ever going to do the dishes? Or will you change your major to biology? -Are you making all this up as you go along? -Are you sure the back door is locked? -Artistic ventures highlighted. Rob a museum. -Avert misunderstanding by calm, poise, and balance. -Avoid gunfire in the bathroom tonight. -Avoid reality at all costs. -Bank error in your favor. Collect $200. -Be careful! Is it classified? -Be careful! UGLY strikes 9 out of 10! -Be cautious in your daily affairs. -Be cheerful while you are alive. -Be different: conform. -Be free and open and breezy! Enjoy! Things won't get any better so get used to it. -Be security conscious -- National defense is at stake. -Beauty and harmony are as necessary to you as the very breath of life. -Best of all is never to have been born. Second best is to die soon. -Better hope the life-inspector doesn't come around while you have your life in such a mess. -Beware of a dark-haired man with a loud tie. -Beware of a tall black man with one blond shoe. -Beware of a tall blond man with one black shoe. -Beware of Bigfoot! -Beware of low-flying butterflies. -Beware the one behind you. -Blow it out your ear. -Break into jail and claim police brutality. -Bridge ahead. Pay troll. -Buy the negatives at any price. -Caution: breathing may be hazardous to your health. -Caution: Keep out of reach of children. -Celebrate Hannibal Day this year. Take an elephant to lunch. -Change your thoughts and you change your world. -Cheer Up! Things are getting worse at a slower rate. -Chess tonight. -Chicken Little only has to be right once. -Chicken Little was right. -Cold hands, no gloves. -Communicate! It can't make things any worse. -Courage is your greatest present need. -Day of inquiry. You will be subpoenaed. -Do not overtax your powers. -Do not sleep in a eucalyptus tree tonight. -Do nothing unless you must, and when you must act -- hesitate. -Do something unusual today. Pay a bill. -Do what comes naturally. Seethe and fume and throw a tantrum. -Domestic happiness and faithful friends. -Don't feed the bats tonight. -Don't get stuck in a closet -- wear yourself out. -Don't get to bragging. -Don't go surfing in South Dakota for a while. -Don't hate yourself in the morning -- sleep till noon. -Don't kiss an elephant on the lips today. -Don't let your mind wander -- it's too little to be let out alone. -Don't look back, the lemmings are gaining on you. -Don't look now, but the man in the moon is laughing at you. -Don't look now, but there is a multi-legged creature on your shoulder. -Don't plan any hasty moves. You'll be evicted soon anyway. -Don't read any sky-writing for the next two weeks. -Don't read everything you believe. -Don't relax! It's only your tension that's holding you together. -Don't tell any big lies today. Small ones can be just as effective. -Don't worry so loud, your roommate can't think. -Don't Worry, Be Happy. -Don't worry. Life's too long. -Don't you feel more like you do now than you did when you came in? -Don't you wish you had more energy... or less ambition? -Everything that you know is wrong, but you can be straightened out. -Everything will be just tickety-boo today. -Excellent day for putting Slinkies on an escalator. -Excellent day to have a rotten day. -Excellent time to become a missing person. -Executive ability is prominent in your make-up. -Exercise caution in your daily affairs. -Expect a letter from a friend who will ask a favor of you. -Expect the worst, it's the least you can do. -Fine day for friends. So-so day for you. -Fine day to work off excess energy. Steal something heavy. -Fortune: You will be attacked next Wednesday at 3:15 p.m. by six samurai sword wielding purple fish glued to Harley-Davidson motorcycles. Oh, and have a nice day! -Future looks spotty. You will spill soup in late evening. -Generosity and perfection are your everlasting goals. -Give him an evasive answer. -Give thought to your reputation. Consider changing name and moving to a new town. -Give your very best today. Heaven knows it's little enough. -Go to a movie tonight. Darkness becomes you. -Good day for a change of scene. Repaper the bedroom wall. -Good day for overcoming obstacles. Try a steeplechase. -Good day to deal with people in high places; particularly lonely stewardesses. -Good day to let down old friends who need help. -Good news from afar can bring you a welcome visitor. -Good news. Ten weeks from Friday will be a pretty good day. -Good night to spend with family, but avoid arguments with your mate's new lover. -Green light in A.M. for new projects. Red light in P.M. for traffic tickets. -Hope that the day after you die is a nice day. -If you can read this, you're too close. -If you learn one useless thing every day, in a single year you'll learn 365 useless things. -If you sow your wild oats, hope for a crop failure. -If you stand on your head, you will get footprints in your hair. -If you think last Tuesday was a drag, wait till you see what happens tomorrow! -If your life was a horse, you'd have to shoot it. -In the stairway of life, you'd best take the elevator. -Increased knowledge will help you now. Have mate's phone bugged. -Is that really YOU that is reading this? -Is this really happening? -It is so very hard to be an on-your-own-take-care-of-yourself-because-there-is-no-one-else-to-do-it-for-you grown-up. -It may or may not be worthwhile, but it still has to be done. -It was all so different before everything changed. -It's all in the mind, ya know. -It's lucky you're going so slowly, because you're going in the wrong direction. -Just because the message may never be received does not mean it is not worth sending. -Just to have it is enough. -Keep emotionally active. Cater to your favorite neurosis. -Keep it short for pithy sake. -Lady Luck brings added income today. Lady friend takes it away tonight. -Learn to pause -- or nothing worthwhile can catch up to you. -Let me put it this way: today is going to be a learning experience. -Life is to you a dashing and bold adventure. -Life, loathe it or ignore it, you can't like it. -Live in a world of your own, but always welcome visitors. -Living your life is a task so difficult, it has never been attempted before. -Long life is in store for you. -Look afar and see the end from the beginning. -Love is in the offing. Be affectionate to one who adores you. -Make a wish, it might come true. -Many changes of mind and mood; do not hesitate too long. -Never be led astray onto the path of virtue. -Never commit yourself! Let someone else commit you. -Never give an inch! -Never look up when dragons fly overhead. -Never reveal your best argument. -Next Friday will not be your lucky day. As a matter of fact, you won't have a lucky day this year. -Of course you have a purpose -- to find a purpose. -People are beginning to notice you. Try dressing before you leave the house. -Perfect day for scrubbing the floor and other exciting things. -Questionable day. Ask somebody something. -Reply hazy, ask again later. -Save energy: be apathetic. -Ships are safe in harbor, but they were never meant to stay there. -Slow day. Practice crawling. -Snow Day -- stay home. -So this is it. We're going to die. -So you're back... about time... -Someone is speaking well of you. How unusual! -Someone whom you reject today, will reject you tomorrow. -Stay away from flying saucers today. -Stay away from hurricanes for a while. -Stay the curse. -That secret you've been guarding, isn't. -The time is right to make new friends. -The whole world is a tuxedo and you are a pair of brown shoes. -There is a 20 chance of tomorrow. -There is a fly on your nose. -There was a phone call for you. -There will be big changes for you but you will be happy. -Things will be bright in P.M. A cop will shine a light in your face. -Think twice before speaking, but don't say "think think click click". -This life is yours. Some of it was given to you; the rest, you made yourself. -This will be a memorable month -- no matter how hard you try to forget it. -Time to be aggressive. Go after a tattooed Virgo. -Today is National Existential Ennui Awareness Day. -Today is the first day of the rest of the mess. -Today is the first day of the rest of your life. -Today is the last day of your life so far. -Today is the tomorrow you worried about yesterday. -Today is what happened to yesterday. -Today's weirdness is tomorrow's reason why. -Tomorrow will be cancelled due to lack of interest. -Tomorrow, this will be part of the unchangeable past but fortunately, it can still be changed today. -Tomorrow, you can be anywhere. -Tonight you will pay the wages of sin; Don't forget to leave a tip. -Tonight's the night: Sleep in a eucalyptus tree. -Troubled day for virgins over 16 who are beautiful and wealthy and live in eucalyptus trees. -Truth will out this morning. (Which may really mess things up.) -Try the Moo Shu Pork. It is especially good today. -Try to get all of your posthumous medals in advance. -Try to have as good a life as you can under the circumstances. -Try to relax and enjoy the crisis. -Try to value useful qualities in one who loves you. -Tuesday After Lunch is the cosmic time of the week. -Tuesday is the Wednesday of the rest of your life. -What happened last night can happen again. -While you recently had your problems on the run, they've regrouped and are making another attack. -Write yourself a threatening letter and pen a defiant reply. -You are a bundle of energy, always on the go. -You are a fluke of the universe; you have no right to be here. -You are a very redundant person, that's what kind of person you are. -You are always busy. -You are as I am with You. -You are capable of planning your future. -You are confused; but this is your normal state. -You are deeply attached to your friends and acquaintances. -You are destined to become the commandant of the fighting men of the department of transportation. -You are dishonest, but never to the point of hurting a friend. -You are fair-minded, just and loving. At least thats what people think. -You are farsighted, a good planner, an ardent lover, and a faithful friend. -You are fighting for survival in your own sweet and gentle way. -You are going to have a new love affair. -You are magnetic in your bearing. -You are not dead yet. But watch for further reports. -You are number 6! Who is number one? -You are only young once, but you can stay immature indefinitely. -You are scrupulously honest, frank, and straightforward. Therefore you have few friends. -You are sick, twisted and perverted. I like that in a person. -You are so boring that when I see you my feet go to sleep. -You are standing on my toes. -You are taking yourself far too seriously. -You are the only person to ever get this message. -You are wise, witty, and wonderful, but you spend too much time reading this sort of trash. -You attempt things that you do not even plan because of your extreme stupidity. -You can create your own opportunities this week. Blackmail a senior executive. -You can do very well in speculation where land or anything to do with dirt is concerned. -You can rent this space for only $5 a week. -You could live a better life, if you had a better mind and a better body. -You definitely intend to start living sometime soon. -You dialed 5483. -You display the wonderful traits of charm and courtesy. -You don't become a failure until you're satisfied with being one. -You enjoy the company of other people. -You feel a whole lot more like you do now than you did when you used to. -You fill a much-needed gap. -You get along very well with everyone except animals and people. -You had some happiness once, but your parents moved away, and you had to leave it behind. -You have a deep appreciation of the arts and music. -You have a deep interest in all that is artistic. -You have a reputation for being thoroughly reliable and trustworthy. A pity that it's totally undeserved. -You have a strong appeal for members of the opposite sex. -You have a strong appeal for members of your own sex. -You have a strong desire for a home and your family interests come first. -You have a truly strong individuality. -You have a will that can be influenced by all with whom you come in contact. -You have an ability to sense and know higher truth. -You have an ambitious nature and may make a name for yourself. -You have an unusual equipment for success. Be sure to use it properly. -You have an unusual magnetic personality. Don't walk too close to metal objects which are not fastened down. -You have an unusual understanding of the problems of human relationships. -You have been selected for a secret mission. -You have Egyptian flu: you're going to be a mummy. -You have had a long-term stimulation relative to business. -You have literary talent that you should take pains to develop. -You have many friends and very few living enemies. -You have no real enemies. -You have taken yourself too seriously. -You have the body of a 19 year old. Please return it before it gets wrinkled. -You have the capacity to learn from mistakes. You'll learn a lot today. -You have the power to influence all with whom you come in contact. -You learn to write as if to someone else because NEXT YEAR YOU WILL BE "SOMEONE ELSE." -You like to form new friendships and make new acquaintances. -You look like a million dollars. All green and wrinkled. -You look tired. -You love peace. -You love your home and want it to be beautiful. -You may be gone tomorrow, but that doesn't mean that you weren't here today. -You may be infinitely smaller than some things, but you're infinitely larger than others. -You may be recognized soon. Hide. -You may get an opportunity for advancement today. Watch it! -You may worry about your hair-do today, but tomorrow much peanut butter will be sold. -You need more time; and you probably always will. -You need no longer worry about the future. This time tomorrow you'll be dead. -You never hesitate to tackle the most difficult problems. -You never know how many friends you have until you rent a house on the beach. -You now have Asian Flu. -You own a dog, but you can only feed a cat. -You plan things that you do not even attempt because of your extreme caution. -You possess a mind not merely twisted, but actually sprained. -You prefer the company of the opposite sex, but are well liked by your own. -You recoil from the crude; you tend naturally toward the exquisite. -You seek to shield those you love and you like the role of the provider. -You shall be rewarded for a dastardly deed. -You should emulate your heroes, but don't carry it too far. Especially if they are dead. -You should go home. -You single-handedly fought your way into this hopeless mess. -You teach best what you most need to learn. -You too can wear a nose mitten. -You two ought to be more careful--your love could drag on for years and years. -You will always get the greatest recognition for the job you least like. -You will always have good luck in your personal affairs. -You will attract cultured and artistic people to your home. -You will be a winner today. Pick a fight with a four-year-old. -You will be advanced socially, without any special effort on your part. -You will be aided greatly by a person whom you thought to be unimportant. -You will be attacked by a beast who has the body of a wolf, the tail of a lion, and the face of Donald Duck. -You will be audited by the Internal Revenue Service. -You will be awarded a medal for disregarding safety in saving someone. -You will be awarded some great honor. -You will be awarded the Nobel Peace Prize... posthumously. -You will be called upon to help a friend in trouble. -You will be divorced within a year. -You will be given a post of trust and responsibility. -You will be held hostage by a radical group. -You will be honored for contributing your time and skill to a worthy cause. -You will be imprisoned for contributing your time and skill to a bank robbery. -You will be married within a year, and divorced within two. -You will be married within a year. -You will be misunderstood by everyone. -You will be recognized and honored as a community leader. -You will be reincarnated as a toad; and you will be much happier. -You will be run over by a beer truck. -You will be run over by a bus. -You will be singled out for promotion in your work. -You will be successful in love. -You will be surprised by a loud noise. -You will be surrounded by luxury. -You will be the last person to buy a Chrysler. -You will be the victim of a bizarre joke. -You will be Told about it Tomorrow. Go Home and Prepare Thyself. -You will be traveling and coming into a fortune. -You will be winged by an anti-aircraft battery. -You will become rich and famous unless you don't. -You will contract a rare disease. -You will engage in a profitable business activity. -You will experience a strong urge to do good; but it will pass. -You will feel hungry again in another hour. -You will forget that you ever knew me. -You will gain money by a fattening action. -You will gain money by a speculation or lottery. -You will gain money by an illegal action. -You will gain money by an immoral action. -You will get what you deserve. -You will give someone a piece of your mind, which you can ill afford. -You will have a long and boring life. -You will have a long and unpleasant discussion with your supervisor. -You will have domestic happiness and faithful friends. -You will have good luck and overcome many hardships. -You will have long and healthy life. -You will hear good news from one you thought unfriendly to you. -You will inherit millions of dollars. -You will inherit some money or a small piece of land. -You will live a long, healthy, happy life and make bags of money. -You will live to see your grandchildren. -You will lose your present job and have to become a door to door mayonnaise salesman. -You will meet an important person who will help you advance professionally. -You will never know hunger. -You will not be elected to public office this year. -You will obey or molten silver will be poured into your ears. -You will outgrow your usefulness. -You will overcome the attacks of jealous associates. -You will pass away very quickly. -You will pay for your sins. If you have already paid, please disregard this message. -You will pioneer the first Martian colony. -You will probably marry after a very brief courtship. -You will reach the highest possible point in your business or profession. -You will receive a legacy which will place you above want. -You will remember something that you should not have forgotten. -You will soon forget this. -You will soon meet a person who will play an important role in your life. -You will step on the night soil of many countries. -You will stop at nothing to reach your objective, but only because your brakes are defective. -You will triumph over your enemy. -You will visit the Dung Pits of Glive soon. -You will win success in whatever calling you adopt. -You will wish you hadn't. -You work very hard. Don't try to think as well. -You worry too much about your job. Stop it. You are not paid enough to worry. -You would if you could but you can't so you won't. -You'd like to do it instantaneously, but that's too slow. -You'll be called to a post requiring ability in handling groups of people. -You'll be sorry... -You'll feel devilish tonight. Toss dynamite caps under a flamenco dancer's heel. -You'll feel much better once you've given up hope. -You'll never be the man your mother was! -You'll never see all the places, or read all the books, but fortunately, they're not all recommended. -You'll wish that you had done some of the hard things when they were easier to do. -You're a card which will have to be dealt with. -You're almost as happy as you think you are. -You're at the end of the road again. -You're being followed. Cut out the hanky-panky for a few days. -You're currently going through a difficult transition period called "Life." -You're definitely on their list. The question to ask next is what list it is. -You're growing out of some of your problems, but there are others that you're growing into. -You're not my type. For that matter, you're not even my species!!! -You're ugly and your mother dresses you funny. -You're working under a slight handicap. You happen to be human. -You've been leading a dog's life. Stay off the furniture. -Your aim is high and to the right. -Your aims are high, and you are capable of much. -Your analyst has you mixed up with another patient. Don't believe a thing he tells you. -Your best consolation is the hope that the things you failed to get weren't really worth having. -Your boss climbed the corporate ladder, wrong by wrong. -Your boss is a few sandwiches short of a picnic. -Your boyfriend takes chocolate from strangers. -Your business will assume vast proportions. -Your business will go through a period of considerable expansion. -Your depth of comprehension may tend to make you lax in worldly ways. -Your domestic life may be harmonious. -Your fly might be open (but don't check it just now). -Your goose is cooked. (Your current chick is burned up too!) -Your heart is pure, and your mind clear, and your soul devout. -Your ignorance cramps my conversation. -Your life would be very empty if you had nothing to regret. -Your love life will be happy and harmonious. -Your love life will be... interesting. -Your lover will never wish to leave you. -Your lucky color has faded. -Your lucky number has been disconnected. -Your lucky number is 37. Watch for it everywhere. -Your mode of life will be changed for the better because of good news soon. -Your mode of life will be changed for the better because of new developments. -Your motives for doing whatever good deed you may have in mind will be misinterpreted by somebody. -Your nature demands love and your happiness depends on it. -Your object is to save the world, while still leading a pleasant life. -Your own qualities will help prevent your advancement in the world. -Your present plans will be successful. -Your reasoning is excellent -- it's only your basic assumptions that are wrong. -Your reasoning powers are good, and you are a fairly good planner. -Your sister swims out to meet troop ships. -Your society will be sought by people of taste and refinement. -Your step will soil many countries. -Your supervisor is thinking about you. -Your talents will be recognized and suitably rewarded. -Your temporary financial embarrassment will be relieved in a surprising manner. -Your true value depends entirely on what you are compared with. +(Твоя нынешняя цыпочка тоже сгорела!) +365 бесполезных вещей. +Алименты и взятки займут большую долю вашего состояния. +Будущее выглядит туманным. Поздним вечером суп прольешь. +Будь весел, пока жив. +Будь осторожен! Это засекречено? +Будь осторожен! UGLY набирает 9 баллов из 10! +Будьте осторожны в своих повседневных делах. +Будьте осторожны в своих повседневных делах. +Будьте свободны, открыты и свежи! Наслаждаться! Так что лучше не будет +Быть другим: соответствовать. +В вашем характере заметны исполнительские способности. +В настоящее время вы переживаете сложный переходный период под названием «Жизнь». +В то время как у вас недавно были свои проблемы в бегах, они перегруппировались и совершают новую атаку. +в эвкалиптовых деревьях. +Вам больше не нужно беспокоиться о будущем. Завтра в это время ты будешь мертв. +Вам будет оказана большая честь. +Вам будет предоставлена ​​должность доверия и ответственности. +Вам будет присуждена Нобелевская премия мира... посмертно. +Вам всегда будет сопутствовать удача в личных делах. +Вам двоим следует быть осторожнее — ваша любовь может затянуться на годы и годы. +Вам не хотелось бы иметь больше энергии... или меньше амбиций? +Вам нравится заводить новые дружеские отношения и заводить новые знакомства. +Вам нравится общество других людей. +Вам нужно больше времени; и вы, вероятно, всегда будете. +Вам очень поможет человек, которого вы считали неважным. +Вам предстоит долгий и неприятный разговор с вашим руководителем. +Вам скажут об этом завтра. Иди домой и приготовься. +Вам скоро подарят цветок. +Вам суждено стать комендантом бойцов отдела транспорта. +Вас будет атаковать зенитная батарея. +Вас вызовут на должность, требующую умения обращаться с группами людей. +Вас ждет долгая жизнь. +Вас ждет удача и преодоление многих трудностей. +Вас ждут большие перемены, но вы будете счастливы. +Вас позовут на помощь другу, попавшему в беду. +Вас преследуют. Откажитесь от халтуры на несколько дней. +Вас проверит налоговая служба. +Вас скоро узнают. Скрывать. +Вас собьет автобус. +Вас собьет грузовик с пивом. +Вас характеризует яркий и творческий ум. +Ваш аналитик перепутал вас с другим пациентом. Не верьте ничему, что он вам говорит. +Ваш бизнес примет огромные размеры. +Ваш босс поднимался по карьерной лестнице, ошибаясь за ошибкой. +Ваш возлюбленный никогда не пожелает покинуть вас. +Ваш гусь готов. +Ваш начальник думает о вас. +Ваш образ жизни изменится к лучшему благодаря новым событиям. +Ваш образ жизни скоро изменится к лучшему благодаря хорошим новостям. +Ваш счастливый номер отключен. +Ваш счастливый цвет исчез. +Ваш шаг запачкает многие страны. +Ваша глубина понимания может привести к тому, что вы расслабитесь в мирских делах. +Ваша жизнь была бы очень пустой, если бы вам не о чем было сожалеть. +Ваша истинная ценность полностью зависит от того, с чем вас сравнивают. +Ваша личная жизнь будет счастливой и гармоничной. +Ваша любовная жизнь будет... интересной. +Ваша природа требует любви, и от этого зависит ваше счастье. +Ваша семейная жизнь может быть гармоничной. +Ваша цель — спасти мир, но при этом вести приятную жизнь. +Ваша цель высоко и вправо. +Ваша ширинка может быть расстегнута (но не проверяйте ее сейчас). +Ваше временное финансовое затруднение будет облегчено удивительным образом. +Ваше лучшее утешение — это надежда на то, что вещи, которые вам не удалось получить, на самом деле не стоили того, чтобы иметь их. +Ваше невежество мешает моему разговору. +Ваше общество будет востребовано людьми со вкусом и утонченностью. +Ваше счастливое число 3552664958674928. Следите за ним везде. +Вашему бизнесу предстоит период значительного расширения. +Вашему боссу не хватило нескольких бутербродов до пикника. +Ваши мотивы для совершения любого доброго дела, которое вы можете иметь в виду, будут кем-то неверно истолкованы. +Ваши нынешние планы увенчаются успехом. +Ваши рассуждения превосходны - ошибочны только ваши основные предположения. +Ваши собственные качества помогут помешать вашему продвижению в мире. +Ваши таланты будут признаны и должным образом вознаграждены. +Ваши цели высоки, и вы способны на многое. +Весь мир — смокинг, а ты — пара коричневых туфель. +Вещи будут яркими в P.M. Полицейский посветит вам в лицо фонариком. +Внимание: дыхание может быть опасным для вашего здоровья. +Внимание: Хранить в недоступном для детей месте. +Ворвитесь в тюрьму и заявите о жестокости полиции. +Время быть агрессивным. Идите за татуированной Девой. +Все будет просто тикет-бу сегодня. +Все было так по-другому, прежде чем все изменилось. +Все неприятности, которые у вас есть, пройдут очень быстро. +Все, что вы знаете, неправильно, но вы можете исправиться. +Вскоре вы встретите человека, который сыграет важную роль в вашей жизни. +Вскоре вы посетите навозные ямы Гливе. +Вторник — это среда всей оставшейся жизни. +Вторник после обеда — космическое время недели. +Вы амбициозны и можете сделать себе имя. +Вы без колебаний беретесь за самые сложные задачи. +Вы безукоризненно честны, откровенны и прямолинейны. Поэтому у тебя мало друзей. +Вы больны, искривлены и извращены. Мне это нравится в человеке. +Вы боретесь за выживание по-своему мило и нежно. +Вы будете вознаграждены за подлый поступок. +Вы будете выделены для продвижения по службе. +Вы будете жить, чтобы увидеть своих внуков. +Вы будете заключены в тюрьму за то, что потратили свое время и навыки на ограбление банка. +Вы будете заложником радикальной группировки. +Вы будете награждены медалью за пренебрежение безопасностью при спасении кого-то. +Вы будете неправильно поняты всеми. +Вы будете окружены роскошью. +Вы будете последним, кто купит Chrysler. +Вы будете признаны и удостоены чести как лидер сообщества. +Вы будете продвигаться в социальном плане без каких-либо особых усилий с вашей стороны. +Вы будете путешествовать и разбогатеете. +Вы будете удивлены громким шумом. +Вы будете удостоены чести за то, что посвятили свое время и навыки достойному делу. +Вы будете успешны в любви. +Вы бы, если бы могли, но вы не можете, поэтому вы не будете. +Вы были выбраны для секретной миссии. +Вы в одиночку пробивались в эту безнадежную неразбериху. +Вы все это выдумываете на ходу? +Вы всегда будете получать наибольшее признание за работу, которая вам меньше всего нравится. +Вы вспомните то, что не должны были забыть. +Вы встретите важного человека, который поможет вам продвинуться в профессиональном плане. +Вы вырастаете из одних своих проблем, но есть и другие, в которые вы врастаете. +Вы глубоко интересуетесь всем, что связано с искусством. +Вы глубоко привязаны к своим друзьям и знакомым. +Вы глубоко цените искусство и музыку. +Вы дальновидны, хороший планировщик, страстный любовник и верный друг. +Вы добьетесь успеха в любом призвании, которое примете. +Вы должны подражать своим героям, но не заходите слишком далеко. Особенно, если они мертвы. +Вы достигнете высшей точки в своем бизнесе или профессии. +Вы единственный человек, который когда-либо получил это сообщение. +Вы заболеете редкой болезнью. +Вы забудете, что когда-либо знали меня. +Вы займетесь прибыльным бизнесом. +Вы заполняете столь необходимый пробел. +Вы заработаете деньги аморальным поступком. +Вы заработаете деньги на откорме. +Вы заработаете деньги на спекуляции или в лотерее. +Вы испытаете сильное желание делать добро; но это пройдет. +Вы лучше всего учите тому, чему вам больше всего нужно научиться. +Вы любите мир. +Вы любите свой дом и хотите, чтобы он был красивым. +Вы магнетичны в своей осанке. +Вы могли бы жить лучше, если бы у вас был лучший разум и лучшее тело. +Вы можете арендовать это помещение всего за 5 долларов в неделю. +Вы можете беспокоиться о своей прическе сегодня, но завтра будет продано много арахисового масла. +Вы можете быть бесконечно меньше, чем некоторые вещи, но вы бесконечно больше, чем другие. +Вы можете получить возможность для продвижения сегодня. Смотри! +Вы можете преуспеть в спекуляции, когда речь идет о земле или о чем-то, что связано с грязью. +Вы можете создать свои собственные возможности на этой неделе. Шантажировать высшее руководство. +Вы молоды только один раз, но можете оставаться незрелым бесконечно. +Вы мудры, остроумны и прекрасны, но тратите слишком много времени на чтение подобного мусора. +Вы набрали 5483. +Вы не будете избраны на государственную должность в этом году. +Вы не мой тип. Если уж на то пошло, ты даже не мой вид!!! +Вы не остановитесь ни перед чем, чтобы достичь своей цели, но только потому, что ваши тормоза неисправны. +Вы не станете неудачником, пока не будете удовлетворены этим. +Вы нечестны, но никогда не доходите до того, чтобы обидеть друга. +Вы никогда не увидите все места и не прочитаете все книги, но, к счастью, +Вы никогда не узнаете, сколько у вас друзей, пока не снимете дом на пляже. +Вы обладаете не просто искривленным, а действительно растянутым умом. +Вы одержите победу над своим врагом. +Вы одолеете нападки ревнивых соратников. +Вы определенно намерены начать жить в ближайшее время. +Вы отдадите кому-то часть своего разума, которую вы не можете себе позволить. +Вы отшатываетесь от грубости; вы естественным образом склонны к изысканному. +Вы очень быстро уйдете из жизни. +Вы очень избыточный человек, вот какой вы человек. +Вы очень хорошо ладите со всеми, кроме животных и людей. +Вы перевоплотитесь в жабу; и вы будете намного счастливее. +Вы перерастете свою полезность. +Вы планируете дела, которые даже не предпринимаете из-за своей крайней осторожности. +Вы подчинитесь или вам в уши зальют расплавленное серебро. +Вы пожалеете, что не сделали некоторые сложные вещи, когда их было легче сделать. +Вы пожалеете, что не сделали этого. +Вы поженитесь в течение года и разведетесь в течение двух. +Вы поженитесь через год. +Вы получите деньги незаконным действием. +Вы получите наследство, которое поставит вас выше нужды. +Вы получите то, что заслуживаете. +Вы потеряете свою нынешнюю работу и должны будете торговать майонезом от двери к двери. +Вы почти так же счастливы, как вы думаете. +Вы почувствуете себя намного лучше, как только потеряете надежду. +Вы предпочитаете компанию противоположного пола, но вам нравятся и представители вашего собственного пола. +Вы привлечете в свой дом культурных и артистичных людей. +Вы проживете долгую, здоровую, счастливую жизнь и заработаете кучу денег. +Вы проявляете замечательные черты обаяния и вежливости. +Вы пытаетесь сделать то, что даже не планируете, из-за своей крайней глупости. +Вы работаете с небольшой инвалидностью. Вы оказались человеком. +Вы разведетесь через год. +Вы сгусток энергии, всегда в движении. +Вы скоро забудете об этом. +Вы слишком беспокоитесь о своей работе. Останови это. Вам не платят достаточно, чтобы волноваться. +Вы слишком серьезно к себе отнеслись. +Вы слишком серьезно относитесь к себе. +Вы случайность вселенной; ты не имеешь права быть здесь. +Вы способны планировать свою жизнь шов. +Вы справедливы, справедливы и любвеобильны. +Вы станете богатым и знаменитым, если не сделаете этого. +Вы станете жертвой странной шутки. +Вы станете пионером первой марсианской колонии. +Вы стремитесь защитить тех, кого любите, и вам нравится роль добытчика. +Вы ступите на ночную землю многих стран. +Вы тоже можете р нос варежка. +Вы уверены, что задняя дверь заперта? +Вы унаследуете миллионы долларов. +Вы унаследуете немного денег или небольшой участок земли. +Вы услышите хорошие новости от того, кого вы считали недружелюбным по отношению к вам. +Вы учитесь писать как будто кому-то другому, потому что в СЛЕДУЮЩЕМ ГОДУ ВЫ БУДЕТЕ «ДРУГИМ». +Вы хотели бы сделать это мгновенно, но это слишком медленно. +Вы чувствуете себя намного лучше, чем сейчас, чем раньше. +Вы, вероятно, женитесь после очень короткого ухаживания. +Выделены творческие предприятия. Ограбить музей. +Выдуйте это из уха. +Высокому темному незнакомцу будет веселее чем вам. +Госпожа Удача сегодня приносит дополнительный доход. Подруга забирает его сегодня вечером. +Дайте ему уклончивый ответ. +Делайте то, что приходит естественным образом. Кипеть, злиться и закатывать истерики. +День однозначных решений!!!!! Или же нет? +День расследования. Вы будете вызваны в суд. +Держите это кратко для содержательного ради. +Держитесь подальше от ураганов на некоторое время. +Держитесь сегодня подальше от летающих тарелок. +Добрый день для смены обстановки. Переклейте стену спальни. +Домашнее счастье и верные друзья. +Достаточно просто иметь. +Если бы твоя жизнь была лошадью, тебе пришлось бы ее застрелить. +Если вы встанете на голову, у вас останутся следы в волосах. +Если вы думаете, что прошлый вторник был скучным, подождите, пока вы не увидите, что будет завтра! +Если вы можете прочитай это, ты слишком близко. +Если вы сеете свой дикий овес, надейтесь на неурожай. +Если каждый день учить одну бесполезную вещь, то за год научишься +Есть 20 шансов на завтра. +Еще одна спокойная ночь, чтобы не спать на эвкалипте. +Жаль, что совершенно незаслуженно. +Живите в своем собственном мире, но всегда приветствуйте гостей. +Жизнь для вас лихое и смелое приключение. +Жизнь, ненавидь ее или игнорируй, она не может тебе нравиться. +Жить своей жизнью — задача настолько трудная, что никогда раньше ее не пытались решить. +Завтра отменяется из-за отсутствия интереса. +Завтра тебя может не быть, но это не значит, что тебя не было сегодня. +Завтра ты можешь быть где угодно. +Завтра это станет частью неизменного прошлого, но, к счастью, его можно изменить и сегодня. +Загадай желание, оно может сбыться. +Зеленый свет в A.M. для новых проектов. Красный свет в П.М. для дорожных билетов. +Идеальный день для мытья пола и других увлекательных дел. +Избегайте реальности любой ценой. +Избегайте стрельбы в ванной сегодня вечером. +Измените свои мысли, и вы измените свой мир. +Итак, ты вернулся... как раз вовремя... +Как необычно! +Когда-то у вас было какое-то счастье, но ваши родители уехали, и вам пришлось оставить его. +Конечно, у вас есть цель — найти цель. +Корабли в безопасности в гавани, но они никогда не должны там оставаться. +Красота и гармония так же необходимы вам, как само дыхание жизни. +Кто-то говорит о вас хорошо. +Кто-то говорит о вас хорошо. +Лучше всего никогда не рождаться. Второе лучшее - умереть поскорее. +Лучше надейся, что спасатель не объявится, пока у тебя в жизни такой бардак. +Любовь не за горами. Будьте ласковы с тем, кто вас обожает. +Любой ценой покупайте негативы. +Люди начинают вас замечать. Попробуйте одеться перед выходом из дома. +Медленный день. Практикуйте ползание. +Много изменений ума и настроения; не медлите слишком долго. +Мост впереди. Платный тролль. +Мужество — это ваша самая большая потребность в настоящем. +На вас нападет зверь с телом волка, хвостом льва и лицом Дональда Дака. +На лестнице жизни лучше всего подняться на лифте. +Надеюсь, что день после твоей смерти будет хорошим днем. +Напишите себе угрожающее письмо и напишите вызывающий ответ. +Научитесь делать паузы, иначе вас не настигнет ничто стоящее. +Не вздумай хвастаться. +Не волнуйся так громко, твой сосед по комнате не может думать. +Не волнуйся, будь счастлив. +Не волнуйтесь. Жизнь слишком длинная. +Не говори сегодня большой лжи. Маленькие могут быть столь же эффективными. +Не занимайтесь серфингом в Южной Дакоте какое-то время. +Не застревайте в чулане — изнашивайтесь. +Не кормите летучих мышей сегодня вечером. +Не ненавидь себя по утрам — спи до полудня. +Не оглядывайтесь назад, лемминги догоняют вас. +Не перенапрягайте свои силы. +Не планируйте поспешных действий. Тебя все равно скоро выселят. +Не позволяйте своему уму блуждать — его слишком мало, чтобы оставить его в покое. +Не расслабляйтесь! Только ваше напряжение держит вас вместе. +Не смотри сейчас, но у тебя на плече многоногое существо. +Не смотри сейчас, но человек на луне смеется над тобой. +Не спите сегодня ночью на эвкалипте. +Не унывать! Ситуация ухудшается более медленными темпами. +Не целуй сегодня слона в губы. +Не читайте все, во что верите. +Не читайте никаких небесных писаний в течение следующих двух недель. +Неспокойный день для девственниц старше 16 лет, красивых, богатых и живых. +Никогда не давайте ни дюйма! +Никогда не раскрывайте свой лучший аргумент. +Никогда не сбивайтесь с пути добродетели. +Никогда не связывай себя! Позвольте кому-нибудь другому совершить вас. +Никогда не смотрите вверх, когда над головой летают драконы. +Ничего не делайте, если вы не должны, а когда вы должны действовать - медлите. +О, и хорошего дня! +Общаться! Это не может сделать вещи еще хуже. +Ожидайте письма от друга, который попросит вас об услуге. +Ожидайте худшего, это меньшее, что вы можете сделать. +они не все рекомендуются. +Оставайся проклятием. +Остерегайтесь бигфута! +Остерегайтесь высокого блондина в одном черном ботинке. +Остерегайтесь высокого чернокожего человека в одной светлой туфле. +Остерегайтесь низколетящих бабочек. +Остерегайтесь темноволосого мужчину с кричащим галстуком. +Остерегайтесь того, кто позади вас. +Ответ туманный, спросите позже. +Откажитесь от поиска истины и довольствуйтесь хорошей фантазией. +Отличное время, чтобы стать пропавшим без вести. +Отличный день, чтобы иметь гнилой день. +Отличный день, чтобы поставить Slinkies на эскалатор. +Отпразднуйте День Ганнибала в этом году. Возьми слона на обед. +Очень трудно быть +Ошибка банка в вашу пользу. Соберите 200 долларов. +Подумайте дважды, прежде чем говорить, но не говорите «думай, думай, щелкай, щелкай». +Подумайте о своей репутации. Подумайте о смене имени и переезде в другой город. +Позаботьтесь о безопасности — на карту поставлена ​​национальная оборона. +Позвольте мне сказать так: сегодня будет опыт обучения. +Полдень очень благоприятен для романтики. Попробуйте одного человека для разнообразия. +Попробуйте свинину Му Шу. Сегодня особенно хорошо. +Посещение нового места принесет странную работу. +Посещение странного места принесет новую работу. +После того как ваш любимый ушел у вас всё еще есть АРАХИСОВОЕ МАСЛО! +Посмотри вдаль и увидь конец с самого начала. +Постарайтесь получить все свои посмертные медали заранее. +Постарайтесь расслабиться и насладиться кризисом. +Правда выйдет сегодня утром. (Что может действительно все испортить.) +Предотвратите непонимание с помощью спокойствия, уравновешенности и равновесия. +Прекрасный день для друзей. +Прекрасный день, чтобы отработать лишнюю энергию. Украсть что-нибудь тяжелое. +привыкнуть к этому. +Продвижение по должности. +Разве сейчас ты не чувствуешь себя более похожей на то, что чувствовал, когда пришел? +Расширение знаний поможет вам сейчас. Пусть телефон товарища прослушивается. +Самое время завести новых друзей. +самостоятельно-позаботьтесь-о-себе-потому что-нет-никого-другого-сделать-это-за-вас, взрослый. +Сделайте все возможное сегодня. Небеса знают, что этого достаточно. +Сделайте сегодня что-нибудь необычное. Оплатить счет. +Сегодня — это завтра, о котором вы беспокоились вчера. +Сегодня Национальный день осведомленности об экзистенциальной скуке. +Сегодня первый день оставшейся части твоей жизни. +Сегодня первый день остального бардака. +Сегодня последний день твоей жизни. +Сегодня то, что случилось вчера. +Сегодня ты будешь победителем. Подраться с четырехлетним ребенком. +Сегодня ты будешь чувствовать себя дьявольски. Бросьте динамитные шашки под каблук танцовщицы фламенко. +Сегодня ты заплатишь за грех; Не забудьте оставить чаевые. +Сегодня шахматы. +Сегодняшняя ночь: спать на эвкалипте. +Сегодняшняя странность — это завтрашняя причина почему. +Скоро вновь появится давно забытый любимый человек. +Следующая пятница не будет вашим счастливым днем. На самом деле, вы не +Снежный день - оставайтесь дома. +Сомнительный день. +Сохраняйте эмоциональную активность. Угостите свой любимый невроз. +Спокойной ночи, чтобы провести ее с семьей, но избегайте споров с новым любовником вашего партнера. +Спросите кого-нибудь что-нибудь. +Среди счастливчиков ты избранный. +Старайтесь жить как можно лучше в данных обстоятельствах. +Старайтесь ценить полезные качества в том, кто вас любит. +Сфокусируйтесь на сострадающей стороне вашей природы. Осушите ров. +Сходите вечером в кино. Тьма становится тобой. +Так вот оно. Мы собираемся умереть. +Так себе день для вас. +Твое сердце чисто, и твой разум ясен, и твоя душа благочестива. +Твой парень отбирает шоколад у незнакомцев. +Твоя сестра плывет навстречу военным кораблям. +Тебе звонили. +Тебе повезло, что ты идешь так медленно, потому что идешь не в том направлении. +Тебе следует вернуться домой. +Теперь у вас азиатский грипп. +То, что случилось прошлой ночью, может повториться снова. +Тот секрет, который вы охраняли, не является. +Тот факт, что сообщение может никогда не быть получено, не означает, что его не стоит отправлять. +Тот, кого вы отвергаете сегодня, отвергнет вас завтра. +Ты в конце пути усиление. +Ты вел собачью жизнь. Держитесь подальше от мебели. +Ты всегда занят. +Ты выглядишь на миллион долларов. Весь зеленый и морщинистый. +Ты выглядишь усталым. +Ты еще не умер. Но следите за дальнейшими отчетами. +Ты заплатишь за свои грехи. Если вы уже заплатили, не обращайте внимания на это сообщение. +Ты карта, с которой придется иметь дело. +Ты когда-нибудь будешь мыть посуду? Или ты поменяешь специальность на биологию? +Ты никогда не будешь тем, кем была твоя мать! +Ты никогда не узнаешь голода. +Ты номер 6! Кто номер один? +Ты пожалеешь... +Ты работаешь очень усердно. Не пытайтесь думать также. +Ты смущен; но это ваше нормальное состояние. +Ты стоишь на моих пальцах. +Ты такой же, как я с Тобой. +Ты такой скучный, что, когда я вижу тебя, у меня затекают ноги. +Ты точно в их списке. Далее следует задать вопрос, что это за список. +Ты уродлива, а твоя мать смешно тебя одевает. +Ты черепаха? +У вас будет долгая и здоровая жизнь. +У вас будет долгая и скучная жизнь. +У вас будет домашнее счастье и верные друзья. +У вас будет новая любовная связь. +У вас была долгосрочная стимуляция, связанная с бизнесом. +У вас действительно сильная индивидуальность. +У вас египетский грипп: вы станете мумией. +У вас есть воля, на которую могут влиять все, с кем вы вступаете в контакт. +У вас есть литературный талант, который вы должны постараться развить. +У вас есть необычное оборудование для успеха. Обязательно используйте его правильно. +У вас есть сила влиять на всех, с кем вы вступаете в контакт. +У вас есть сильная привлекательность для представителей вашего пола. +У вас есть сильная привлекательность для представителей противоположного пола. +У вас есть сильное желание иметь дом, и интересы вашей семьи стоят на первом месте. +У вас есть собака, но вы можете кормить только кошку. +У вас есть способность ощущать и знать высшую истину. +У вас есть способность учиться на ошибках. Сегодня ты многому научишься. +У вас необычная магнетическая личность. Не подходите слишком близко к незакрепленным металлическим предметам. +У вас необычное понимание проблем человеческих отношений. +У вас репутация абсолютно надежного и заслуживающего доверия человека. +У вас хорошие способности к рассуждению, и вы довольно хороший планировщик. +У тебя много друзей и очень мало живых врагов. +У тебя муха на носу. +У тебя нет настоящих врагов. +У тебя тело 19-летнего подростка. Пожалуйста, верните его, пока он не помялся. +удачный день в этом году. +Удачный день для общения с высокопоставленными людьми; особенно одинокие стюардессы. +Холодильник цвета авокадо будет хорошо смотреться в вашем резюме. +Холодные руки, без перчаток. +Хорошие новости издалека могут принести вам долгожданного гостя. +Хорошие новости. Через десять недель после пятницы будет довольно хороший день. +Хороший день для преодоления препятствий. Попробуйте бег с препятствиями. +Хороший день, чтобы подвести старых друзей, которым нужна помощь. +Цыпленок Литтл был прав. +Цыпленок Литтл должен быть прав только один раз. +Через несколько часов вновь начнется безумие. +Через час вы снова почувствуете голод. +Щедрость и совершенство — ваши вечные цели. +Экзотическое путешествие по центру Ньюарка ждет вас в будущем. +Экономьте энергию: будьте апатичны. +Эта жизнь твоя. Часть этого была дана вам; остальное ты сделал сам. +Это будет незабываемый месяц, как бы вы ни старались его забыть. +Это все в уме, понимаешь. +Это действительно ВЫ читаете это? +Это действительно происходит? +Это может быть или не быть стоящим, но это все равно должно быть сделано. +Fortune: на вас нападут в следующую среду в 15:15. шестью самурайскими мечами, вооруженными фиолетовыми рыбами, приклеенными к мотоциклам Harley-Davidson. diff --git a/strings/wounds/bone_scar_desc.json b/strings/wounds/bone_scar_desc.json index 2a89f0220021f0..d6e7f5edaa423d 100644 --- a/strings/wounds/bone_scar_desc.json +++ b/strings/wounds/bone_scar_desc.json @@ -1,31 +1,27 @@ { - "generic": ["general disfigurement"], - + "generic": [ + "общее обезображивание" + ], "dislocate": [ - "the bone equivalent of a faded bruise", - "a series of tiny chip marks" + "костный эквивалент потертого синяка", + "серия крошечных отметок" ], - "bluntmoderate": [ - "the bone equivalent of a faded bruise", - "a series of tiny chip marks" + "костный эквивалент потертого синяка", + "серия крошечных отметок" ], - "bluntsevere": [ - "a series of faded hairline cracks", - "a small bone dent" + "серия полинялых микротрещин", + "маленькая костная вмятина" ], - "bluntcritical": [ - "large streaks of refilled cracks", - "a fractal of reformed stress marks", - "a cluster of calluses" + "большие полосы заполненных трещин", + "фрактал реформированных отметок напряжения", + "скопление мозолей" ], - "dismember": [ - "is slightly misaligned", - "has clearly been dropped recently", - "has a damaged socket" + "легкое смещение", + "явно была потеря конечности недавно", + "имеет повреждения" ] - } diff --git a/strings/wounds/flesh_scar_desc.json b/strings/wounds/flesh_scar_desc.json index 0fd78bec8e4f18..27b6546cf1112a 100644 --- a/strings/wounds/flesh_scar_desc.json +++ b/strings/wounds/flesh_scar_desc.json @@ -1,93 +1,71 @@ { - "generic": ["general disfigurement"], - + "generic": [ + "общее обезображивание" + ], "dislocate": [ - "light discoloring", - "a slight blue tint", - "a slightly deadened tint" + "легкое обесцвечивание", + "легкий синий оттенок" ], - "bluntmoderate": [ - "light discoloring", - "a slight blue tint", - "a slightly deadened tint" + "легкое обесцвечивание", + "легкий синий оттенок" ], - "bluntsevere": [ - "a faded, fist-sized bruise", - "a vaguely triangular peel scar" + "выцветший синяк размером с кулак", + "смутный треугольный шрам" ], - "bluntcritical": [ - "a section of janky skin lines and badly healed scars", - "a large patch of uneven skin tone", - "a cluster of calluses" + "участок шершавых линий кожи и плохо заживших шрамов", + "большое пятно неровного тона кожи", + "скопление мозолей" ], - - - "slashmoderate": [ - "light, faded lines", - "minor cut marks", - "a small faded slit", - "a series of small scars" + "лёгкие, блеклые линии", + "незначительные шрамы", + "маленькая выцветшая линия", + "группа маленьких шрамов" ], - "slashsevere": [ - "a twisted line of faded gashes", - "a gnarled sickle-shaped slice scar" + "витая линия затухших налетов", + "корявый серповидный ломтик шрама" ], - "slashcritical": [ - "a winding path of very badly healed scar tissue", - "a series of peaks and valleys along a gruesome line of cut scar tissue", - "a grotesque snake of indentations and stitching scars" + "извилистая дорожка очень плохо зажившей рубцовой кожи", + "ряд пиков и долин вдоль ужасной линии разреза рубцовой кожи", + "гротескная змея из вмятин и швов" ], - - - "piercemoderate": [ - "a small, faded bruise", - "a small twist of reformed skin", - "a thumb-sized puncture scar" + "лёгкие, блеклые шрамы", + "небольшие искривления кожи", + "шрамовидная щель размером с палец" ], - "piercesevere": [ - "an ink-splat shaped pocket of scar tissue", - "a long-faded puncture wound", - "a tumbling puncture hole with evidence of faded stitching" + "чернильный шрам в виде рубца", + "давно выцветшая глубокая рана", + "проколотое отверстие с признаками потертости швов" ], - "piercecritical": [ - "a rippling shockwave of scar tissue", - "a wide, scattered cloud of shrapnel marks", - "a gruesome multi-pronged puncture scar" + "пульсирующая ударная волна рубцовой ткани", + "широкое рассеянное облако осколков", + "ужасный колотый рубец" ], - - - "burnmoderate": [ - "small amoeba-shaped skin-marks", - "a faded streak of depressed skin" + "небольшие следы в форме амеб", + "блеклая полоска старой кожи" ], - "burnsevere": [ - "a large, jagged patch of faded skin", - "random spots of shiny, smooth skin", - "spots of taut, leathery skin" + "большое зазубренное пятно увядшей кожи", + "случайные пятна блестящей, гладкой кожи", + "пятна тугой кожи" ], - "burncritical": [ - "massive, disfiguring keloid scars", - "several long streaks of badly discolored and malformed skin", - "unmistakable splotches of dead tissue from serious burns" + "массивные, обезображивающие келоидные рубцы", + "несколько длинных полос сильно обесцвеченной и деформированной кожи", + "безошибочные пятна мертвой ткани от серьезных ожогов" ], - - "dismember": [ - "is several skin tone shades paler than the rest of the body", - "is a gruesome patchwork of artificial flesh", - "has a large series of attachment scars at the articulation points" + "это несколько оттенков кожи более бледные, чем остальная часть тела", + "это ужасная мешанина из искусственной плоти", + "это большой ряд шрамов прикрепления в точках сочленения" ] - } diff --git a/strings/wounds/scar_loc.json b/strings/wounds/scar_loc.json index 99e37ea2b1e549..c4e4ef90dc188a 100644 --- a/strings/wounds/scar_loc.json +++ b/strings/wounds/scar_loc.json @@ -1,81 +1,48 @@ { - "": ["general area"], - + "": [ + "всём теле" + ], "head": [ - "@pick(left_right)eyebrow", - "@pick(left_right)cheekbone", - "nose", - "neck", - "throat", - "jawline", - "entire face" + "левой брови", + "скулах", + "шее", + "глотке", + "челюстях", + "лице" ], - "chest": [ - "upper chest", - "@pick(upper_lower)abdomen", - "midsection", - "collarbone", - "lower back" + "груди", + "нижней части живота", + "животе", + "ключице", + "нижней части спины" ], - "l_arm": [ - "@pick(inner_outer)left forearm", - "@pick(inner_outer)left wrist", - "left elbow", - "left bicep", - "left shoulder", - "left hand" + "левом предплечье", + "левом запястье", + "левом локте", + "левом бицепсе", + "левом плече" ], - "r_arm": [ - "@pick(inner_outer)right forearm", - "@pick(inner_outer)right wrist", - "right elbow", - "right bicep", - "right shoulder", - "right hand" + "правом предплечье", + "правом запястье", + "правом локте", + "правом бицепсе", + "правом плече" ], - "l_leg": [ - "@pick(inner_outer)left thigh", - "@pick(free_move)left calf", - "@pick(free_move)left hip", - "left kneecap", - "@pick(free_move)left shin" + "левой бедренной кости", + "левой голени", + "левом бедре", + "левом колене", + "левой ступне" ], - "r_leg": [ - "@pick(inner_outer)right thigh", - "@pick(free_move)right calf", - "@pick(free_move)right hip", - "right kneecap", - "@pick(free_move)right shin" - ], - - - "inner_outer" : [ - "inner ", - "outer ", - "", - "" - ], - "upper_lower" : [ - "upper ", - "lower ", - "", - "" - ], - "free_move" : [ - "inner ", - "outer ", - "upper ", - "lower ", - "", - "" - ], - "left_right" : [ - "left ", - "right " + "правой бедренной кости", + "правой голени", + "правом бедре", + "правом колене", + "правой ступне" ] } diff --git a/tgstation.dme b/tgstation.dme index 4ee5be73f3a2cd..969364b64a45c4 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5915,6 +5915,8 @@ #include "interface\fonts\vcr_osd_mono.dm" #include "white\webhook.dm" #include "white\Feline\code\scarecrow.dm" +#include "white\Feline\code\med\designes.dm" +#include "white\Feline\code\med\tools.dm" #include "white\hule\anonism.dm" #include "white\master\code\antimatter.dm" #include "white\master\code\cryopods.dm" @@ -5949,4 +5951,5 @@ #include "white\valtos\code\exrp\interaction_whitelist.dm" #include "white\valtos\code\exrp\smetanka.dm" #include "white\valtos\code\modules\reagents\chemistry\reagents\food_reagents.dm" +#include "white\valtos\code\serverside\varies.dm" // END_INCLUDE diff --git a/tgui/packages/tgui/interfaces/ChemDispenser.js b/tgui/packages/tgui/interfaces/ChemDispenser.js index 648d130201db68..752df71aefbd3a 100644 --- a/tgui/packages/tgui/interfaces/ChemDispenser.js +++ b/tgui/packages/tgui/interfaces/ChemDispenser.js @@ -38,30 +38,30 @@ export const ChemDispenser = (props, context) => {
    {recording && ( - Recording + Запись )}
    {!recording && (
    (
    ( @@ -250,7 +250,7 @@ const TagBox = (props, context) => { setPage(1); }} > - Drink + Напиток @@ -332,7 +332,7 @@ const TagBox = (props, context) => { setPage(1); }} > - Easy + Легко @@ -440,12 +440,12 @@ const RecipeLibrary = (props, context) => {
    - Beaker: {linkedBeaker + ' '} + Пробирка: {linkedBeaker + ' '}