Closed Gaxeer closed 5 months ago
This pr causes following conflicts on translate branch:
++<<<<<<< HEAD
+ for(var/obj/item/melee/sickly_blade/is_blade_ritual as anything in result_atoms)
+ valid_blades = blades_limit_check(user)
+ break
+ if(valid_blades)
+ return TRUE
+ else
+ loc.balloon_alert(user, "ritual failed, at limit!")
+ return FALSE
++=======
+ loc.balloon_alert(user, "ритуал провален, уже лимит!")
+ return FALSE
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Your Mansus Grasp will deal 500 damage to non-living matter and rust any surface it touches. \
+ Already rusted surfaces are destroyed. Surfaces and structures can only be rusted by using Right-Click. \
+ Allows you to rust basic iron walls and floors."
+ gain_text = "On the ceiling of the Mansus, rust grows as moss does on a stone."
++=======
+ desc = "Ваша Хватка Мансуса наносит 500 единиц урона неживой материи и ржавеет любая поверхность, которой она коснется. \
+ Уже заржавевшие поверхности разрушаются. Поверхности и структуры можно заставить ржаветь с помощью ПКМ."
+ gain_text = "На потолке Мансуса ржавчина растет, как мох на камне."
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Your Mansus Grasp now applies the Mark of Rust. The mark is triggered from an attack with your Rusty Blade. \
+ When triggered, your victim will suffer heavy disgust and confusion. \
+ Allows you to rust reinforced walls and floors as well as plasteel."
+ gain_text = "The Blacksmith looks away. To a place lost long ago. \"Rusted Hills help those in dire need... at a cost.\""
++=======
+ desc = "Ваша Хватка Мансуса теперь накладывает Метку ржавчины. Метка срабатывает при атаке вашим Ржавым клинком. \
+ При срабатывании органы и оборудование жертвы с вероятностью 75% получат повреждения и могут быть уничтожены."
+ gain_text = "Кузнец смотрит вдаль. В давно потерянное место. \"Ржавые Холмы помогают остро нуждающимся... за определенную плату.\""
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Grants you Aggressive Spread, a spell that spreads rust to nearby surfaces. \
+ Already rusted surfaces are destroyed \ Also improves the rusting abilities of non rust-heretics."
+ gain_text = "All wise men know well not to visit the Rusted Hills... Yet the Blacksmith's tale was inspiring."
++=======
+ desc = "Дает вам заклинание Aggressive Spread, которое распространяет ржавчину на близлежащие поверхности. \
+ Уже заржавевшие поверхности разрушаются."
+ gain_text = "Все разумные люди хорошо знают, что не стоит посещать Ржавые Холмы... Но рассказ Кузнеца был вдохновляющим."
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Your Rusty Blade now disgusts enemies on attack \ Allows you to rust Titanium and Plastitanium.."
+ gain_text = "The Blacksmith hands you their blade. \"The Blade will guide you through the flesh, should you let it.\" \
+ The heavy rust weights it down. You stare deeply into it. The Rusted Hills call for you, now."
++=======
+ desc = "Ваш Ржавый клинок теперь отравляет врагов при атаке."
+ gain_text = "Кузнец протягивает вам свой клинок. \"Клинок проведет тебя через плоть, если ты позволишь ему.\" \
+ Тяжелая ржавчина утяжеляет клинок. Вы пристально вглядываетесь в него. Ржавые Холмы зовут тебя."
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Grants you Entropic Plume, a spell that releases a vexing wave of Rust. \
+ Blinds, poisons, and inflicts Amok on any heathen it hits, causing them to strike \
+ at friend or foe wildly. Also rusts and destroys and surfaces it hits and improves the rusting abilities of non-rust heretics."
+ gain_text = "The corrosion was unstoppable. The rust was unpleasable. \
+ The Blacksmith was gone, and you hold their blade. Champions of hope, the Rustbringer is nigh!"
++=======
+ desc = "Дарует вам Entropic Plume, заклинание, выпускающее досаждающую волну ржавчины. \
+ Ослепляет, отравляет и накладывает Amok на всех попавших язычников, заставляя их дико нападать \
+ на друзей или врагов. Также ржавеет и разрушает поверхности, на которые попадает."
+ gain_text = "Коррозия была неостановима. Ржавчина была неприятной. \
+ Кузнец ушел, ты держишь его клинок. Чемпионы надежды, Повелитель ржавчины близок!"
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "The ascension ritual of the Path of Rust. \
+ Bring 3 corpses to a transmutation rune on the bridge of the station to complete the ritual. \
+ When completed, the ritual site will endlessly spread rust onto any surface, stopping for nothing. \
+ Additionally, you will become extremely resilient on rust, healing at triple the rate \
+ and becoming immune to many effects and dangers \ You will be able to rust almost anything upon ascending."
+ gain_text = "Champion of rust. Corruptor of steel. Fear the dark, for the RUSTBRINGER has come! \
+ The Blacksmith forges ahead! Rusted Hills, CALL MY NAME! WITNESS MY ASCENSION!"
++=======
+ desc = "Ритуал вознесения Пути ржавчины. \
+ Принесите 3 трупа к руне трансмутации на мостик станции, чтобы завершить ритуал. \
+ После завершения, ритуальное место будет бесконечно распространять ржавчину на любую поверхность, не останавливаясь ни перед чем. \
+ Кроме того, вы станете чрезвычайно стойкими на ржавчине, исцеляясь втрое быстрее \
+ и приобретая иммунитет ко многим эффектам и опасностям."
+ gain_text = "Чемпион ржавчины. Разлагатель стали. Бойся темноты, ибо пришел ПОВЕЛИТЕЛЬ РЖАВЧИНЫ! \
+ Работа Кузнеца продолжается! Ржавые Холмы, УСЛЫШЬТЕ МОЕ ИМЯ! УЗРИТЕ МОЕ ВОЗНЕСЕНИЕ!"
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Allows you to transmute 10 iron sheets to fill the surrounding vicinity of the rune with rust."
+ gain_text = "Reality begins to whisper to me. To give it its entropic end."
++=======
+ desc = "Позволяет трансмутировать 20 железа и 2 мусорных предмета, чтобы заполнить ржавчиной окружение вокруг руны."
+ gain_text = "Реальность начинает нашептывать мне, чтобы дать ей энтропийный конец."
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ desc = "Allows you to transmute a pool of vomit, some cable coil, and 5 sheets of iron into a Rust Walker. \
+ Rust Walkers excel at spreading rust and are moderately strong in combat."
+ gain_text = "I combined my knowledge of creation with my desire for corruption. The Marshal knew my name, and the Rusted Hills echoed out."
++=======
+ desc = "Позволяет трансмутировать лужу рвоты, книгу и голову в Ржавого ходока. \
+ Ржавые ходоки превосходно распространяют ржавчину и умеренно сильны в бою."
+ gain_text = "Я объединил свои знания о созидании с жаждой коррозии. Маршал знал мое имя, и Ржавые Холмы отозвались эхом."
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ RegisterSignal(jaunter, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING), PROC_REF(on_focus_lost))
+ RegisterSignal(jaunter, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change))
+ our_turf.visible_message(span_warning("[jaunter] sinks into [our_turf]!"))
++=======
+ our_turf.visible_message(span_warning("[jaunter] погружается в [our_turf]!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+/datum/action/cooldown/spell/jaunt/space_crawl/proc/try_exit_jaunt(turf/our_turf, mob/living/jaunter, force = FALSE)
+ if(!force && HAS_TRAIT_FROM(jaunter, TRAIT_NO_TRANSFORM, REF(src)))
+ to_chat(jaunter, span_warning("You cannot exit yet!!"))
++=======
+ /datum/action/cooldown/spell/jaunt/space_crawl/proc/try_exit_jaunt(turf/our_turf, mob/living/jaunter)
+ if(HAS_TRAIT_FROM(jaunter, TRAIT_NO_TRANSFORM, REF(src)))
+ to_chat(jaunter, span_warning("Вы еще не можете выйти!!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+
+ if(istype(clicked_machine, /obj/machinery/porta_turret_cover)) //clicking on a closed turret will attempt to override the turret itself instead of the animated/abstract cover.
+ var/obj/machinery/porta_turret_cover/clicked_turret = clicked_machine
+ clicked_machine = clicked_turret.parent_turret
+
+ if((clicked_machine.resistance_flags & INDESTRUCTIBLE) || is_type_in_typecache(clicked_machine, GLOB.blacklisted_malf_machines))
+ to_chat(caller, span_warning("That machine can't be overridden!"))
++=======
+ if(!clicked_machine.can_be_overridden() || is_type_in_typecache(clicked_machine, GLOB.blacklisted_malf_machines))
+ to_chat(caller, span_warning("Эта машина не может быть перезаписана!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+
+ if(istype(clicked_machine, /obj/machinery/porta_turret_cover)) //clicking on a closed turret will attempt to override the turret itself instead of the animated/abstract cover.
+ var/obj/machinery/porta_turret_cover/clicked_turret = clicked_machine
+ clicked_machine = clicked_turret.parent_turret
+
+ if((clicked_machine.resistance_flags & INDESTRUCTIBLE) || is_type_in_typecache(clicked_machine, GLOB.blacklisted_malf_machines))
+ to_chat(caller, span_warning("You cannot overload that device!"))
++=======
+ if(is_type_in_typecache(clicked_machine, GLOB.blacklisted_malf_machines))
+ to_chat(caller, span_warning("Эта машина не может быть перегружена!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to sever [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to sever [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] begins to sever [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы начинаете отрезать [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает отрезать [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] начинает отрезать [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You sever [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] severs [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] severs [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ )
+ display_pain(target, "You can no longer feel your severed [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы отрезали [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] отрезал [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] отрезал [parse_zone(target_zone)] у [target]!"),
+ )
+ display_pain(target, "Вы больше не чувствуете вашу [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "Your [target.parse_zone_with_bodypart(user.zone_selected)] aches with pain!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы приступаете к устранению перелома в [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] приступает к устранению перелома в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] приступает к устранению перелома в [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Ваш [parse_zone(user.zone_selected)] испытывает сильную боль!")
+ else
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully repair the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully repairs the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully repairs the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно устранили перелом в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] успешно устранил перелом в [parse_zone(target_zone)] у [target] при помощи [tool]!"),
+ span_notice("[user] успешно устранил перелом в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to reset the bone in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to reset the bone in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to reset the bone in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "The aching pain in your [target.parse_zone_with_bodypart(user.zone_selected)] is overwhelming!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы начинаете восстанавливать кость в [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] начинает восстанавливать кость в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] начинает восстанавливать кость в [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Острая боль в [parse_zone(user.zone_selected)] просто невыносима!")
+ else
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully reset the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully resets the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully resets the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно восстановили кость в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] успешно восстановил кость в [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] успешно восстановил кость в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to repair the fracture in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "The aching pain in your [target.parse_zone_with_bodypart(user.zone_selected)] is overwhelming!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы приступаете к устранению перелома в [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] приступает к устранению перелома в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] приступает к устранению перелома в [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Острая боль в [parse_zone(user.zone_selected)] просто невыносима!")
+ else
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully repair the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully repairs the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully repairs the fracture in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно устранили перелом в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] успешно устранил перелом в [parse_zone(target_zone)] у [target] при помощи [tool]!"),
+ span_notice("[user] успешно устранил перелом в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to discard the smaller skull debris in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to discard the smaller skull debris in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to poke around in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
++=======
+ span_notice("Вы начинаете избавляться от мелких обломков черепа в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает избавляться от мелких обломков черепа в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает копошиться в [parse_zone(target_zone)] у [target]..."),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_notice("[target]'s [target.parse_zone_with_bodypart(user.zone_selected)] has no infected flesh to remove!"))
++=======
+ to_chat(user, span_notice("У [target] в [parse_zone(user.zone_selected)] нет зараженной плоти, которую нужно удалить!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to excise infected flesh from [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to excise infected flesh from [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to excise infected flesh from [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "The infection in your [target.parse_zone_with_bodypart(user.zone_selected)] stings like hell! It feels like you're being stabbed!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы начинаете удалять зараженную плоть из [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] начинает удалять зараженную плоть из [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] начинает удалять зараженную плоть из [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Инфекция в вашей [parse_zone(user.zone_selected)] адски зудит! Такое ощущение, что тебя режут ножом!")
+ else
+ user.visible_message(span_notice("[user] ищет [parse_zone(user.zone_selected)] у [target]."), span_notice("Вы ищете [parse_zone(user.zone_selected)] у [target]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully excise some of the infected flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)][progress_text]."),
+ span_notice("[user] successfully excises some of the infected flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully excises some of the infected flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно удалили часть зараженной плоти из [parse_zone(target_zone)] у [target][progress_text]."),
+ span_notice("[user] успешно удалил часть зараженной плоти из [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] успешно удалил часть зараженной плоти из [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You carve away some of the healthy flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] carves away some of the healthy flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] carves away some of the healthy flesh from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы срезаете часть здоровой плоти из [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] срезает часть здоровой плоти из [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] срезает часть здоровой плоти из [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to dress the burns on [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to dress the burns on [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to dress the burns on [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "The burns on your [target.parse_zone_with_bodypart(user.zone_selected)] sting like hell!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы начинаете обрабатывать ожоги на [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] начинает обрабатывать ожоги на [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] начинает обрабатывать ожоги на [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Ожоги в [parse_zone(user.zone_selected)] адски зудят!")
+ else
+ user.visible_message(span_notice("[user] ищет у [target] [parse_zone(user.zone_selected)]."), span_notice("Вы ищете [parse_zone(user.zone_selected)] у [target] ..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully wrap [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]."),
+ span_notice("[user] successfully wraps [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully wraps [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно перевязываете [parse_zone(target_zone)] у [target] при помощи [tool.name]."),
+ span_notice("[user] успешно перевязывает [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] успешно перевязывает [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to wedge [tool] in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to wedge \the [tool] in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to wedge something in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "Something's being jammed into your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы начинаете вставлять [tool.name] в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает вставлять [tool.name] в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает вставлять что-то в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Что-то засовывают вам в [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You wedge [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] wedges \the [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] wedges something into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы вставили [tool.name] в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] вставил [tool.name] в [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] вставил что-то в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_warning("[tool] isn't the right type for [target.parse_zone_with_bodypart(target_zone)]."))
++=======
+ to_chat(user, span_warning("[tool] не подходит для [parse_zone(target_zone)]."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to augment [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to augment [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [aug]."),
+ span_notice("[user] begins to augment [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "You feel a horrible pain in your [target.parse_zone_with_bodypart(user.zone_selected)]!")
+ else
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ span_notice("Вы начинаете аугментировать [parse_zone(user.zone_selected)] у [target] ..."),
+ span_notice("[user] начинает аугментировать [parse_zone(user.zone_selected)] у [target] with [aug]."),
+ span_notice("[user] начинает аугментировать [parse_zone(user.zone_selected)] у [target] ."),
+ )
+ display_pain(target, "Вы чувствуете ужасную боль в [parse_zone(user.zone_selected)]!")
+ else
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_warning("You fail in replacing [target]'s [target.parse_zone_with_bodypart(target_zone)]! Their body has rejected [tool]!"),
+ span_warning("[user] fails to replace [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_warning("[user] fails to replaces [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_warning("Вы не смогли заменить [parse_zone(target_zone)] у [target] ! Тело отвергает [tool.name]!"),
+ span_warning("[user] не смог заменить [parse_zone(target_zone)] у [target] !"),
+ span_warning("[user] не смог заменить [parse_zone(target_zone)] у [target] !"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully augment [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully augments [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully augments [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ )
+ display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] comes awash with synthetic sensation!", mechanical_surgery = TRUE)
+ log_combat(user, target, "augmented", addition="by giving him new [target.parse_zone_with_bodypart(target_zone)] COMBAT MODE: [uppertext(user.combat_mode)]")
+ else
+ to_chat(user, span_warning("[target] has no organic [target.parse_zone_with_bodypart(target_zone)] there!"))
++=======
+ span_notice("Вы успешно заменили [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] успешно заменил [parse_zone(target_zone)] у [target] на [tool.name]!"),
+ span_notice("[user] успешно заменил [parse_zone(target_zone)] у [target]!"),
+ )
+ display_pain(target, "Ваш [parse_zone(target_zone)] наполняется синтетическими ощущениями!", mechanical_surgery = TRUE)
+ log_combat(user, target, "проаугментирован", addition="дав ему новую [parse_zone(target_zone)] COMBAT MODE: [uppertext(user.combat_mode)]")
+ else
+ to_chat(user, span_warning("У [target] нет органической [parse_zone(target_zone)] здесь!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to unscrew the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
++=======
+ span_notice("Вы начинаете откручивать корпус в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает откручивать корпус в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает откручивать корпус в [parse_zone(target_zone)] у [target]."),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to screw the shell of [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel the faint pricks of sensation return as your [target.parse_zone_with_bodypart(target_zone)]'s panel is screwed in.", TRUE)
++=======
+ span_notice("Вы начинаете закручивать корпус в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает закручивать корпус в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает закручивать корпус в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы ощущаете, как начинаете получать показания датчиков из [parse_zone(target_zone)], после того, как панель закрутили обратно.", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to prepare electronics in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You can feel a faint buzz in your [target.parse_zone_with_bodypart(target_zone)] as the electronics reboot.", TRUE)
++=======
+ span_notice("Вы начинаете подготовку электроники в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает подготовку электроники в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает подготовку электроники в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете слабое жужжание в [parse_zone(target_zone)], когда электроника перезагружается.", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to unwrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a jostle in your [target.parse_zone_with_bodypart(target_zone)] as the bolts begin to loosen.", TRUE)
++=======
+ span_notice("Вы начинаете откручивать болты в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает откручивать болты в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает откручивать болты в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете вибрацию в [parse_zone(target_zone)], когда болты начинают ослабевать.", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to wrench some bolts in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a jostle in your [target.parse_zone_with_bodypart(target_zone)] as the bolts begin to tighten.", TRUE)
++=======
+ span_notice("Вы начинаете закручивать болты в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает закручивать болты в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает закручивать болты в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете вибрацию в [parse_zone(target_zone)], когда болты начинают затягиваться.", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to open the hatch holders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "The last faint pricks of tactile sensation fade from your [target.parse_zone_with_bodypart(target_zone)] as the hatch is opened.", TRUE)
++=======
+ span_notice("Вы начинаете открывать держатели люка в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает открывать держатели люка в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает открывать держатели люка в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы получаете последние показания датчиков из вашей [parse_zone(target_zone)], когда открывается люк.", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_warning("You cannot put [target_organ] into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"))
++=======
+ to_chat(user, span_warning("Вы не можете вставить [target_organ] в [target] [parse_zone(target_zone)]!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_warning("There is no room for [target_organ] in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"))
++=======
+ to_chat(user, span_warning("Здесь нет места для [target_organ] в [target] [parse_zone(target_zone)]!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to insert [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to insert [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to insert something into [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You can feel something being placed in your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы вставляете [tool.name] в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] вставляет [tool.name] в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] вставляет что-то в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете, как что-то вставили в вашу [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_warning("There are no removable organs in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"))
++=======
+ to_chat(user, span_warning("В [parse_zone(target_zone)] нет органов, которые можно удалить у [target]!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to extract [target_organ] from [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to extract [target_organ] from [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to extract something from [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You can feel your [target_organ.name] being removed from your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ 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]."),
+ )
+ display_pain(target, "Вы чувствуете, как [target_organ.name] извлекли из вашей [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You insert [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] inserts [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] inserts something into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ )
+ display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] throbs with pain as your new [tool.name] comes to life!")
++=======
+ span_notice("Вы установили [tool.name] в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] установил [tool.name] в [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] установил что-то в [parse_zone(target_zone)] у [target]!"),
+ )
+ display_pain(target, "Ваш [parse_zone(target_zone)] болит, пока [tool.name] приживается к телу!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully extract [target_organ] from [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully extracts [target_organ] from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] successfully extracts something from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ )
+ display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] throbs with pain, you can't feel your [target_organ.name] anymore!")
+ log_combat(user, target, "surgically removed [target_organ.name] from", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
++=======
+ 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]!"),
+ )
+ display_pain(target, "Ваш [parse_zone(target_zone)] болит, вы больше не чувствуете [target_organ.name]!")
+ log_combat(user, target, "хирургически удалил [target_organ.name] из", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_warning("You can't extract anything from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] can't seem to extract anything from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] can't seem to extract anything from [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_warning("Вы не можете ничего извлечь из [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] похоже не может ничего извлечь из [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] похоже не может ничего извлечь из [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a stabbing in your [target.parse_zone_with_bodypart(target_zone)].")
++=======
+ span_notice("Вы начинаете делать надрез в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает делать надрез в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает делать надрез в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете колющую боль в [parse_zone(target_zone)].")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("Blood pools around the incision in [human_target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("Blood pools around the incision in [human_target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("Blood pools around the incision in [human_target]'s [target.parse_zone_with_bodypart(target_zone)]."),
++=======
+ span_notice("Вокруг [parse_zone(target_zone)] у [human_target] образуется лужа крови."),
+ span_notice("Вокруг [parse_zone(target_zone)] у [human_target] образуется лужа крови."),
+ span_notice("Вокруг [parse_zone(target_zone)] у [human_target] образуется лужа крови."),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to <i>carefully</i> make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to <i>carefully</i> make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to <i>carefully</i> make an incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a <i>careful</i> stabbing in your [target.parse_zone_with_bodypart(target_zone)].")
++=======
+ span_notice("Вы начинаете <i>осторожно</i> делать надрез в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает <i>осторожно</i> делать надрез в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает <i>осторожно</i> делать надрез в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете <i>осторожный</i> колющий удар в [parse_zone(target_zone)].")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to clamp bleeders in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to clamp bleeders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to clamp bleeders in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a pinch as the bleeding in your [target.parse_zone_with_bodypart(target_zone)] is slowed.")
++=======
+ span_notice("Вы начинаете зажимать кровеносные сосуды в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает зажимать кровеносные сосуды в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает зажимать кровеносные сосуды в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете укол, послче чего кровотечение в вашей [parse_zone(target_zone)] замедляется.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to retract the skin in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to retract the skin in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to retract the skin in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a severe stinging pain spreading across your [target.parse_zone_with_bodypart(target_zone)] as the skin is pulled back!")
++=======
+ span_notice("Вы начинаете раздвигать кожу в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинаете раздвигать кожу в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинаете раздвигать кожу в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете сильную жгучую боль, распространяющуюся по всей [parse_zone(target_zone)], по мере того, как кожа возвращается в прежнее состояние!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to mend the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to mend the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to mend the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] is being burned!")
++=======
+ span_notice("Вы начинаете обрабатывать разрез в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает обрабатывать разрез в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает обрабатывать разрез в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Ваш [parse_zone(target_zone)] прижигается!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to saw through the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to saw through the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to saw through the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a horrid ache spread through the inside of your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы начинаете распиливать кость в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает распиливать кость в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает распиливать кость в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете ужасную боль внутри [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You saw [target]'s [target.parse_zone_with_bodypart(target_zone)] open."),
+ span_notice("[user] saws [target]'s [target.parse_zone_with_bodypart(target_zone)] open!"),
+ span_notice("[user] saws [target]'s [target.parse_zone_with_bodypart(target_zone)] open!"),
+ )
+ display_pain(target, "It feels like something just broke in your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы вскрываете [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] вскрывает [parse_zone(target_zone)] у [target] !"),
+ span_notice("[user] вскрывает [parse_zone(target_zone)] у [target] !"),
+ )
+ display_pain(target, "Такое ощущение, что в [parse_zone(target_zone)] что-то сломано!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to drill into the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to drill into the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to drill into the bone in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel a horrible piercing pain in your [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ span_notice("Вы начинаете сверлить прямо в кости в [parse_zone(target_zone)] у [target]..."),
+ span_notice("[user] начинает сверлить прямо в кости в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает сверлить прямо в кости в [parse_zone(target_zone)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете ужасную пронзительную боль в [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You drill into [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] drills into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ span_notice("[user] drills into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы просверлили [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] просверливает [parse_zone(target_zone)] у [target]!"),
+ span_notice("[user] просверливает [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to insert [tool] into the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]..."),
+ span_notice("[user] begins to insert [tool] into the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to insert [tool] into the incision in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ display_pain(target, "You feel something inserting just below the skin in your [target.parse_zone_with_bodypart(target_zone)].")
++=======
+ span_notice("Вы начинаете вставлять [tool.name] в разрезе на [parse_zone(target_zone)] у [target] ..."),
+ span_notice("[user] начинает вставлять [tool.name] в разрезе на [parse_zone(target_zone)] у [target]]."),
+ span_notice("[user] начинает вставлять [tool.name] в разрезе на [parse_zone(target_zone)] у [target]]."),
+ )
+ display_pain(target, "Вы чувствуете, как что-то вставили вам под кожу в [parse_zone(target_zone)].")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ target.balloon_alert(user, "that doesn't go on the [target.parse_zone_with_bodypart(target_zone)]!")
++=======
+ target.balloon_alert(user, "это не подходит к [parse_zone(target_zone)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to replace [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]..."),
+ span_notice("[user] begins to replace [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]."),
+ span_notice("[user] begins to replace [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ )
+ else
+ to_chat(user, span_warning("[tool] isn't the right type for [target.parse_zone_with_bodypart(target_zone)]."))
++=======
+ span_notice("Вы начинаете заменять [parse_zone(target_zone)] у [target] на [tool.name]..."),
+ span_notice("[user] начинает заменять [parse_zone(target_zone)] у [parse_zone(target_zone)] на [tool.name]."),
+ span_notice("[user] начинает заменять [parse_zone(target_zone)] у [target]."),
+ )
+ else
+ to_chat(user, span_warning("[tool.name] не подходит для [parse_zone(target_zone)]."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to attach [tool] onto [target]..."),
+ span_notice("[user] begins to attach [tool] onto [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] begins to attach something onto [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
++=======
+ span_notice("Вы начинаете прикреплять [tool.name] к [target]..."),
+ span_notice("[user] начинает прикреплять [tool.name] к [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] начинает прикреплять что-то к [parse_zone(target_zone)] у [target]."),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You succeed in replacing [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully replaces [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully replaces [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
+ )
+ display_pain(target, "You feel synthetic sensation wash from your [target.parse_zone_with_bodypart(target_zone)], which you can feel again!", TRUE)
++=======
+ span_notice("Вы успешно заменили [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] успешно заменил [parse_zone(target_zone)] у [target] на [tool.name]!"),
+ span_notice("[user] успешно заменил [parse_zone(target_zone)] у [target]!"),
+ )
+ display_pain(target, "Вы наполняетесь позитивными ощущениями, потому что вы снова чувствуете ваш [parse_zone(target_zone)]!", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ display_pain(target, "You feel a strange sensation from your new [target.parse_zone_with_bodypart(target_zone)].", TRUE)
++=======
+ display_pain(target, "Вы испытываете странные ощущения от своего нового [parse_zone(target_zone)].", TRUE)
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
+ return
+
+ if(pierce_wound.blood_flow <= 0)
+ to_chat(user, span_notice("[target]'s [target.parse_zone_with_bodypart(user.zone_selected)] has no puncture to repair!"))
++=======
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
+ return
+
+ if(pierce_wound.blood_flow <= 0)
+ to_chat(user, span_notice("У [target] в [parse_zone(user.zone_selected)] нет сквозного ранения, которое нуждается в обработке!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to realign the torn blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to realign the torn blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to realign the torn blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "You feel a horrible stabbing pain in your [target.parse_zone_with_bodypart(user.zone_selected)]!")
++=======
+ span_notice("Вы начинаете приводить в порядок поврежденные кровеносные сосуды в [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] начинает приводить в порядок поврежденные кровеносные сосуды в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] начинает приводить в порядок поврежденные кровеносные сосуды в [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "Вы чувствуете ужасную колющую боль в [parse_zone(user.zone_selected)]!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully realign some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] successfully realigns some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully realigns some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно восстанавливаете некоторые кровеносные сосуды в [parse_zone(user.zone_selected)] у [target]."),
+ span_notice("[user] успешно восстанавливает некоторые кровеносные сосуды в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] успешно восстанавливает некоторые кровеносные сосуды в [parse_zone(user.zone_selected)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You jerk apart some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)]."),
+ span_notice("[user] jerks apart some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] jerk apart some of the blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы повреждаете некоторые кровеносные сосуды в [parse_zone(target_zone)] у [target]."),
+ span_notice("[user] повреждает некоторые кровеносные сосуды в [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] повреждает некоторые кровеносные сосуды в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ user.visible_message(span_notice("[user] looks for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."), span_notice("You look for [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."))
++=======
+ user.visible_message(span_notice("[user] ищет у [target] в [parse_zone(user.zone_selected)]."), span_notice("Вы ищете у [target] в [parse_zone(user.zone_selected)]..."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You begin to meld some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]..."),
+ span_notice("[user] begins to meld some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to meld some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(user.zone_selected)]."),
+ )
+ display_pain(target, "You're being burned inside your [target.parse_zone_with_bodypart(user.zone_selected)]!")
++=======
+ span_notice("Вы начинаете восстанавливать некоторые из поврежденных кровеносных сосудов в [parse_zone(user.zone_selected)] у [target]..."),
+ span_notice("[user] начинает восстанавливать некоторые из поврежденных кровеносных сосудов в [parse_zone(user.zone_selected)] у [target] при помощи [tool.name]."),
+ span_notice("[user] начинает восстанавливать некоторые из поврежденных кровеносных сосудов в [parse_zone(user.zone_selected)] у [target]."),
+ )
+ display_pain(target, "В [parse_zone(user.zone_selected)] все горит!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ span_notice("You successfully meld some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]."),
+ span_notice("[user] successfully melds some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)] with [tool]!"),
+ span_notice("[user] successfully melds some of the split blood vessels in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"),
++=======
+ span_notice("Вы успешно восстановили некоторые из поврежденных кровеносных сосудов в [parse_zone(target_zone)] у [target] при помощи [tool.name]."),
+ span_notice("[user] успешно восстановил некоторые из поврежденных кровеносных сосудов в [parse_zone(target_zone)] у [target] при помощи [tool.name]!"),
+ span_notice("[user] успешно восстановил некоторые из поврежденных кровеносных сосудов в [parse_zone(target_zone)] у [target]!"),
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ to_chat(user, span_green("You've repaired all the internal damage in [target]'s [target.parse_zone_with_bodypart(target_zone)]!"))
++=======
+ to_chat(user, span_green("Вы восстановили все внутренние повреждения в [parse_zone(target_zone)] у [target]!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD:code/modules/surgery/sleeper_protocol.dm
++=======
+ /datum/traitor_objective_category/sleeper_protocol
+ name = "Sleeper Protocol"
+ objectives = list(
+ /datum/traitor_objective/sleeper_protocol = 1,
+ /datum/traitor_objective/sleeper_protocol/everybody = 1,
+ )
+
+ /datum/traitor_objective/sleeper_protocol
+ name = "Выполните процедуру внедрения спящего агента над одним из членов экипажа."
+ description = "Используйте кнопку ниже, чтобы материализовать в руке хирургический диск, с помощью которого вы сможете сделать члена экипажа спящим агентом Синдиката. Если диск будет уничтожен, цель будет провалена. Это сработает только на живых и разумных членах экипажа."
+
+ progression_minimum = 0 MINUTES
+
+ progression_reward = list(8 MINUTES, 15 MINUTES)
+ telecrystal_reward = 1
+
+ var/list/limited_to = list(
+ JOB_CHIEF_MEDICAL_OFFICER,
+ JOB_MEDICAL_DOCTOR,
+ JOB_PARAMEDIC,
+ JOB_ROBOTICIST,
+ )
+
+ var/obj/item/disk/surgery/sleeper_protocol/disk
+
+ var/mob/living/current_registered_mob
+
+ var/inverted_limitation = FALSE
+
+ /datum/traitor_objective/sleeper_protocol/generate_ui_buttons(mob/user)
+ var/list/buttons = list()
+ if(!disk)
+ buttons += add_ui_button("", "Нажмите, чтобы материализовать процедуру внедрения спящего агента", "save", "summon_disk")
+ return buttons
+
+ /datum/traitor_objective/sleeper_protocol/ui_perform_action(mob/living/user, action)
+ switch(action)
+ if("summon_disk")
+ if(disk)
+ return
+ disk = new(user.drop_location())
+ user.put_in_hands(disk)
+ AddComponent(/datum/component/traitor_objective_register, disk, \
+ fail_signals = list(COMSIG_QDELETING))
+
+ /datum/traitor_objective/sleeper_protocol/proc/on_surgery_success(datum/source, datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
+ SIGNAL_HANDLER
+ if(istype(step, /datum/surgery_step/brainwash/sleeper_agent))
+ succeed_objective()
+
+ /datum/traitor_objective/sleeper_protocol/can_generate_objective(datum/mind/generating_for, list/possible_duplicates)
+ var/datum/job/job = generating_for.assigned_role
+ if(!(job.title in limited_to) && !inverted_limitation)
+ return FALSE
+ if((job.title in limited_to) && inverted_limitation)
+ return FALSE
+ if(length(possible_duplicates) > 0)
+ return FALSE
+ return TRUE
+
+ /datum/traitor_objective/sleeper_protocol/generate_objective(datum/mind/generating_for, list/possible_duplicates)
+ AddComponent(/datum/component/traitor_objective_mind_tracker, generating_for, \
+ signals = list(COMSIG_MOB_SURGERY_STEP_SUCCESS = PROC_REF(on_surgery_success)))
+ return TRUE
+
+ /datum/traitor_objective/sleeper_protocol/ungenerate_objective()
+ disk = null
++>>>>>>> origin/translate:code/modules/antagonists/traitor/objectives/sleeper_protocol.dm
++<<<<<<< HEAD
+ to_chat(user, span_warning("You need to expose [target]'s [target.parse_zone_with_bodypart(target_zone)] to perform surgery on it!"))
++=======
+ to_chat(user, span_warning("Вам надо снять все, что может закрывать [parse_zone(target_zone)] у [target], для того чтобы начать операцию!"))
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ tooltip={`
+ This is a gameplay suggestion for bored traitors.
+ You don't have to follow it, unless you want some
+ ideas for how to spend the round.`}
++=======
+ tooltip={multiline`
+ Это внутриигровое предложение для заскучавших предателей.
+ Вы не обязаны следовать ему, если только вы не хотите
+ использовать это для генерации идей для раунда.`}
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ blurb={`
+ Your apprentice is skilled in offensive magic.
+ They know Magic Missile and Fireball.
++=======
+ blurb={multiline`
+ Ваш ученик владеет наступательной магией.
+ Они владеют «Magic Missile» и «Fireball».
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ blurb={`
+ Your apprentice is able to defy physics, melting through
+ solid objects and travelling great distances in the
+ blink of an eye. They know Teleport and Ethereal Jaunt.
++=======
+ blurb={multiline`
+ Ваш ученик способен бросить вызов физике, проникая
+ сквозь твердые предметы и преодолевая огромные
+ расстояния в мгновение ока. Они владеют «Teleport» и «Ethereal Jaunt».
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ blurb={`
+ Your apprentice is training to cast spells that will
+ aid your survival. They know Forcewall and Charge and
+ come with a Staff of Healing.
++=======
+ blurb={multiline`
+ Ваш ученик обучается заклинаниям, которые
+ помогут вам в выживании. Они знают «Forcewall» и «Charge» и
+ имеют при себе Посох исцеления.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ blurb={`
+ Your apprentice is training to cast spells without
+ their robes. They know Knock and Mindswap.
++=======
+ blurb={multiline`
+ Ваш ученик учится применять заклинания
+ без одеяний. Они владеют «Knock» и «Mindswap».
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Abductors are technologically advanced alien society set on cataloging
+ all species in the system. Unfortunately for their subjects their methods
+ are quite invasive.
+ `,
+
+ `
+ You and a partner will become the abductor scientist and agent duo.
+ As an agent, abduct unassuming victims and bring them back to your UFO.
+ As a scientist, scout out victims for your agent, keep them safe, and
+ operate on whoever they bring back.
++=======
+ multiline`
+ Абдукторы - технологически развитое инопланетное общество, поставившее
+ своей целью каталогизацию всех видов в системе. К несчастью для своих
+ испытуемых, их методы весьма инвазивны.
+ `,
+
+ multiline`
+ Вы и ваш напарник станете дуэтом абдукторов из учёного и агента.
+ В качестве агента похищайте ничего не подозревающих жертв и возвращайте
+ их в свой НЛО.
+ В качестве учёного ищите жертв для своего агента, обеспечивайте
+ его безопасность и оперируйте тех, кого он принесёт.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const BLOB_MECHANICAL_DESCRIPTION = `
+ The blob infests the station and destroys everything in its path, including
+ hull, fixtures, and creatures. Spread your mass, collect resources, and
+ consume the entire station. Make sure to prepare your defenses, because the
+ crew will be alerted to your presence!
++=======
+ export const BLOB_MECHANICAL_DESCRIPTION = multiline`
+ Блоб заражает станцию и уничтожает все на своем пути, включая корпус,
+ основание станции и существ. Распространяйте свою массу, собирайте ресурсы
+ и поглотите всю станцию. Не забудьте подготовить оборону, потому что экипаж
+ будет предупрежден о вашем присутствии!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ At any point in the middle of the shift, be strucken with an infection
+ that will turn you into the terrifying blob.
++=======
+ multiline`
+ В любой момент посреди смены вас поразит инфекция,
+ которая превратит вас в ужасающего блоба.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Team up with other crew members as blood brothers to combine the strengths
+ of your departments, break each other out of prison, and overwhelm the
+ station.
++=======
+ multiline`
+ Объединитесь с другими членами команды как кровные братья,
+ чтобы объединить сильные стороны своих отделов,
+ вызволить друг друга из тюрьмы и побороть станцию.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const CHANGELING_MECHANICAL_DESCRIPTION = `
+Transform yourself or others into different identities, and buy from an
+arsenal of biological weaponry with the DNA you collect.
++=======
+ export const CHANGELING_MECHANICAL_DESCRIPTION = multiline`
+ Превращайтесь или превращайте в другие личностей и покупайте арсенал
+ биологического оружия с помощью собранной ДНК.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A highly intelligent alien predator that is capable of altering their
+ shape to flawlessly resemble a human.
++=======
+ multiline`
+ Разумный инопланетный хищник, способный изменять свою форму,
+ чтобы безупречно походить на человека.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A midround changeling does not receive a crew identity, instead arriving
+ from space. This will be more difficult than being a round-start changeling!
++=======
+ multiline`
+ Вариант генокрада, который не получает личность экипажа, а прибывает
+ из космоса во время смены. Эта версия сложнее, чем начинающаяся в начале смены!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Honk! You have been chosen, for better or worse to join the Syndicate
+ Clown Operative strike team. Your mission, whether or not you choose
+ to tickle it, is to honk Nanotrasen's most advanced research facility!
+ That's right, you're going to Clown Station 13.
++=======
+ multiline`
+ Хонк! Вы были выбраны, к лучшему или худшему, в Синдикатовскую ударную группу
+ клоунов. Ваша миссия, вне зависимости от ваших щекоток,
+ заключается в отхонкивании самого передового
+ исследовательского центра Нанотрейзен!
+ Правильно, вы отправитесь на клоунскую станцию 13.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ The Geometer of Blood, Nar-Sie, has sent a number of her followers to
+ Space Station 13. As a cultist, you have an abundance of cult magics at
+ your disposal, something for all situations. You must work with your
+ brethren to summon an avatar of your eldritch goddess!
+ `,
+
+ `
+ Armed with blood magic, convert crew members to the Blood Cult, sacrifice
+ those who get in the way, and summon Nar-Sie.
++=======
+ multiline`
+ Богиня Крови, Нар-Си, отправила несколько своих последователей на
+ космическую станцию 13. Как культист, вы имеете в своем распоряжении
+ множество заклинаний культа, подходящих для любых ситуаций.
+ Вы должны работать вместе со своими собратьями,
+ чтобы призвать аватар вашей мистической богини!
+ `,
+
+ multiline`
+ Вооружившись магией крови, обратите членов экипажа в Культ крови,
+ принесите в жертву мешающим вам, и призовите Нар-Си.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Wherever you come from, you're being hunted. You have 10 minutes to prepare
+ before fugitive hunters arrive and start hunting you and your friends down!
++=======
+ multiline`
+ Откуда бы вы ни прибыли, за вами охотятся. У вас есть 10 минут,
+ чтобы подготовиться, пока не появились охотники за беглецами и не начали
+ охоту на вас и ваших друзей!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ The virtual domain is a dangerous place for bitrunners. Make it so.
+ `,
+
+ `
+ You are a short-term antagonist, a glitch in the system. Use martial arts \
+ and lethal weaponry to terminate organics.
++=======
+ multiline`
+ Виртуальное пространство - опасное место для битраннеров. Убедите их в этом.
+ `,
+
+ multiline`
+ Вы кратковременный антагонист, сбой в системе. Используйте боевые искусства \
+ и летальное оружие, чтобы уничтожить органиков.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const REVOLUTIONARY_MECHANICAL_DESCRIPTION = `
+ Armed with a flash, convert as many people to the revolution as you can.
+ Kill or exile all heads of staff on the station.
++=======
+ export const REVOLUTIONARY_MECHANICAL_DESCRIPTION = multiline`
+ Вооружившись флэшем, обратите в революцию как можно больше людей.
+ Убейте или изгоните всех глав станции.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const HERETIC_MECHANICAL_DESCRIPTION = `
+ Find hidden influences and sacrifice crew members to gain magical
+ powers and ascend as one of several paths.
++=======
+ export const HERETIC_MECHANICAL_DESCRIPTION = multiline`
+ Найдите скрытые влияния и принесите в жертву членов экипажа,
+ чтобы получить магические силы и возвыситься по одному из нескольких путей.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Forgotten, devoured, gutted. Humanity has forgotten the eldritch forces
+ of decay, but the mansus veil has weakened. We will make them taste fear
+ again...
++=======
+ multiline`
+ Забытые, поглощенные, выпотрошенные. Человечество забыло о мистических силах
+ разложения, но завеса Мансуса ослабла. Мы заставим их снова
+ почувствовать вкус страха...
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A solo nuclear operative that has a higher chance of spawning the longer
+ the nuclear authentication disk stays in one place.
++=======
+ multiline`
+ Шанс появления ядерного оперативника-одиночки повышается в зависимости от того,
+ насколько долго диск ядерной аутентификации находится на одном месте.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const MALF_AI_MECHANICAL_DESCRIPTION = `
+ With a law zero to complete your objectives at all costs, combine your
+ omnipotence and malfunction modules to wreak havoc across the station.
+ Go delta to destroy the station and all those who opposed you.
++=======
+ export const MALF_AI_MECHANICAL_DESCRIPTION = multiline`
+ Имея нулевой закон, гласящий выполнить свои задачи любой ценой,
+ объедините свое всемогущество с модулями сбойного ИИ, чтобы посеять хаос
+ на всей станции. Активируйте код Дельта, чтобы уничтожить станцию и всех,
+ кто вам противостоит.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A form of malfunctioning AI that is given to existing AIs in the middle
+ of the shift.
++=======
+ multiline`
+ Вариант сбойного ИИ, которого могут получить существующие ИИ
+ в любой момент во время смены.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Use your light eater to break sources of light to survive and thrive.
+ Jaunt through the darkness and seek your prey with night vision.
++=======
+ multiline`
+ Используйте свой клинок для уничтожения источников света,
+ чтобы жить и процветать во тьме. Пробирайтесь сквозь тьму и
+ ищите добычу с помощью ночного зрения.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ You're obsessed with someone! Your obsession may begin to notice their
+ personal items are stolen and their coworkers have gone missing,
+ but will they realize they are your next victim in time?
++=======
+ multiline`
+ Вы кем-то одержимы! Ваша цель одержимости может начать замечать,
+ что их личные вещи были украдены, а коллеги пропали,
+ но поймут ли они вовремя, что она - ваша следующая жертва?
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const OPERATIVE_MECHANICAL_DESCRIPTION = `
+ Retrieve the nuclear authentication disk, use it to activate the nuclear
+ fission explosive, and destroy the station.
++=======
+ export const OPERATIVE_MECHANICAL_DESCRIPTION = multiline`
+ Вытащите диск ядерной аутентификации и используйте его,
+ чтобы активировать ядерную бомбу для уничтожения станции.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Congratulations, agent. You have been chosen to join the Syndicate
+ Nuclear Operative strike team. Your mission, whether or not you choose
+ to accept it, is to destroy Nanotrasen's most advanced research facility!
+ That's right, you're going to Space Station 13.
++=======
+ multiline`
+ Поздравляю, агент. Вы были выбраны в Синдикатовскую ударную группу
+ ядерных оперативников. Ваша миссия, вне зависимости от вашего решения,
+ заключается в уничтожении самого передового
+ исследовательского центра Нанотрейзен!
+ Правильно, вы отправитесь на космическую станцию 13.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A form of nuclear operative that is offered to ghosts in the middle
+ of the shift.
++=======
+ multiline`
+ Вариант ядерного оперативника, который могут получить призраки
+ в любой момент во время смены.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A freak time-space anomaly has teleported you into another reality!
+ Now you have to find your counterpart and kill and replace them.
++=======
+ multiline`
+ Странная пространственно-временная аномалия телепортировала вас в
+ другую реальность! Теперь вам предстоит найти своего двойника,
+ убить и заменить его.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A form of head revolutionary that can activate when joining an ongoing
+ shift.
++=======
+ multiline`
+ Вариант главы революции, который можно получить при прибытии смену.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Become the mysterious revenant. Break windows, overload lights, and eat
+ the crew's life force, all while talking to your old community of
+ disgruntled ghosts.
++=======
+ multiline`
+ Станьте таинственным ревенантом. Разбивайте окна, перегружайте свет
+ и питайтесь жизненной силой экипажа, общаясь при этом со своей
+ старой общиной недовольных призраков.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Either by cosmic happenstance, or due to crew's shenanigans, you have been
+ given sentience!
+ `,
+
+ `
+ This is a blanket preference. The more benign ones include random human
+ level intelligence events, the cargorilla, and creatures uplifted via sentience
+ potions. The less friendly ones include the regal rat, and the boosted
+ mining elite mobs.
++=======
+ multiline`
+ Либо по космической случайности, либо из-за махинаций экипажа,
+ вы получили разум!
+ `,
+
+ multiline`
+ Это универсальное предпочтение. К более дружелюбным относятся случайные события,
+ связанные с интеллектом человеческого уровня, каргорилла и существа,
+ поднятые с помощью зелий разумности. К менее дружелюбным относятся
+ крысиный король и усиленные шахтерские элитные мобы.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Mutate and spread yourself and infect as much of the crew as possible
+ with a deadly plague of your own creation.
++=======
+ multiline`
+ Мутируйте, распространяйтесь и заразите как можно больше членов экипажа
+ смертельно опасной чумой собственного создания.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Become a ferocious space dragon. Breathe fire, summon an army of space
+ carps, crush walls, and terrorize the station.
++=======
+ multiline`
+ Станьте свирепым Космическим драконом. Дышите огнем, призывайте армию
+ космических карпов, крушите стены и наводите ужас на станцию.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ The Spider Clan practice a sort of augmentation of human flesh in order to
+ achieve a more perfect state of being and follow Postmodern Space Bushido.
+ `,
+
+ `
+ Become a conniving space ninja, equipped with a katana, gloves to hack
+ into airlocks and APCs, a suit to make you go near-invisible,
+ as well as a variety of abilities in your kit. Hack into arrest consoles
+ to mark everyone as arrest, and even hack into communication consoles to
+ summon more threats to cause chaos on the station!
++=======
+ multiline`
+ Клан Пауков практикует своего рода аугментацию человеческой плоти,
+ чтобы достичь более совершенного состояния бытия
+ и следовать постмодернистскому космическому бусидо.
+ `,
+
+ multiline`
+ Станьте коварным космическим ниндзя, вооружившись катаной,
+ перчатками для взлома шлюзов и ЛКП, костюмом, делающим вас
+ практически невидимым, а также разнообразными способностями в вашем наборе.
+ Взломайте консоли СБ, чтобы пометить всех как арестованных,
+ и даже взломайте консоли связи, чтобы вызвать новые угрозы
+ для большего хаоса на станции!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Your mission, should you choose to accept it: Infiltrate Space Station 13.
+ Disguise yourself as a member of their crew and steal vital equipment.
+ Should you be caught or killed, your employer will disavow any knowledge
+ of your actions. Good luck agent.
+ `,
+
+ `
+ Complete Spy Bounties to earn rewards from your employer.
+ Use these rewards to sow chaos and mischief!
++=======
+ multiline`
+ Ваша миссия, если вы решитесь взяться за нее: проникнуть на космическую станцию 13.
+ Замаскируйтесь под ее члена экипажа и украдите жизненно важное оборудование.
+ Если вас поймают или убьют, ваш работодатель будет отрицать любую информацию,
+ связанную с вашими действиями тут. Удачи, агент.
+ `,
+
+ multiline`
+ Выполняйте шпиноские заказы, чтобы заработать награды от вашего работодателя.
+ Используйте эти награды для того, чтобы сеять хаос и беду!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A Changeling that found its way onto the shuttle
+ unbeknownst to the crewmembers on board.
++=======
+ multiline`
+ Генокрад, который попал на шаттл без ведома членов экипажа.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ A form of traitor that can activate at any point in the middle
+ of the shift.
++=======
+ multiline`
+ Вариант предателя, который можно получить в любой момент во время смены.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const TRAITOR_MECHANICAL_DESCRIPTION = `
+ Start with an uplink to purchase your gear and take on your sinister
+ objectives. Ascend through the ranks and become an infamous legend.
++=======
+ export const TRAITOR_MECHANICAL_DESCRIPTION = multiline`
+ Начните с аплинком, чтобы приобрести снаряжение и приступить к
+ выполнению своих зловещих задач. Поднимитесь по карьерной лестнице
+ и станьте печально известной легендой.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ An unpaid debt. A score to be settled. Maybe you were just in the wrong
+ place at the wrong time. Whatever the reasons, you were selected to
+ infiltrate Space Station 13.
++=======
+ multiline`
+ Неоплаченный долг. Счеты, которые нужно свести. Может быть,
+ вы просто оказались не в том месте и не в то время. Каковы бы ни были
+ причины, вы были выбраны для проникновения на космическую станцию 13.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+export const WIZARD_MECHANICAL_DESCRIPTION = `
+ Choose between a variety of powerful spells in order to cause chaos
+ among Space Station 13.
++=======
+ export const WIZARD_MECHANICAL_DESCRIPTION = multiline`
+ Выбирайте из множества мощных заклинаний, чтобы вызвать хаос
+ на космической станции 13.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ `
+ Become the extraterrestrial xenomorph. Start as a larva, and progress
+ your way up the caste, including even the Queen!
++=======
+ multiline`
+ Станьте внеземным ксеноморфом. Начните как ларва и продвигайтесь
+ по касте, вплоть до Королевы!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Get ghost roles while adminned',
+ category: 'ADMIN',
+ description: `
+ If you de-select this, you will not get any ghost role pop-ups while
+ adminned! Every single pop-up WILL never show up for you in an adminned
+ state. However, this does not suppress notifications when you are
+ a regular player (deadminned).
++=======
+ name: 'Получать гост-роли будучи админом',
+ category: 'АДМИН',
+ description: multiline`
+ Если вы отключите это, то вы не будете получать предложения о гост-ролях,
+ когда вы с правами администратора. НИКАКОЕ оповещение не будет повляться для вас.
+ Но эта опция ничего не делает, если вы являетесь обычным игроком
+ (deadmin).
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Broadcast login/logout',
+ category: 'GAMEPLAY',
+ description: `
+ When enabled, disconnecting and reconnecting will announce to deadchat.
++=======
+ name: 'Оповещать остальных о входе/выходе',
+ category: 'ГЕЙМПЛЕЙ',
+ description: multiline`
+ Оповещать в чате призраков остальных, когда вы входите или выходите из сервера.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Enable darkened flashes',
+ category: 'GAMEPLAY',
+ description: `
+ When toggled, being flashed will show a dark screen rather than a
+ bright one.
++=======
+ name: 'Включить затемнение вспышек',
+ category: 'ГЕЙМПЛЕЙ',
+ description: multiline`
+ Если включено, ослепление будет показывать темный экран,
+ вместо яркого.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Ghost orbit',
+ category: 'GHOST',
+ description: `
+ The shape in which your ghost will orbit.
+ Requires BYOND membership.
++=======
+ name: 'Призрак - орбитирование',
+ category: 'ПРИЗРАК',
+ description: multiline`
+ Форма, по которой ваш призрак будет орбитировать.
+ Необходима подписка BYOND.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Ghosts of others',
+ category: 'GHOST',
+ description: `
+ Do you want the ghosts of others to show up as their own setting, as
+ their default sprites, or always as the default white ghost?
++=======
+ name: 'Призрак - окружающие',
+ category: 'ПРИЗРАК',
+ description: multiline`
+ Должны ли призраки других показываться с их настройками, только с их
+ стандартным спрайтом, или только показывать их стандартным белым призраком?
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Get ghost roles',
+ category: 'GHOST',
+ description: `
+ If you de-select this, you will not get any ghost role pop-ups what-so-ever!
+ Every single type of these pop-ups WILL be muted for you when you are
+ ghosted. Very useful for those who find ghost roles or the
+ pop-ups annoying, use at your own peril.
++=======
+ name: 'Получать гост-роли',
+ category: 'ПРИЗРАК',
+ description: multiline`
+ Если вы отключите это, вы не будете получать оповещения о гост-ролях, вообще!
+ Каждое оповещение БУДЕТ заглушено для вас, когда вы являетесь призраком.
+ Полезная опция для тех, кто не хочет играть на гост-ролях или не любит их
+ оповещения, используйте на свой страх и риск.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Hear all messages',
+ category: 'GHOST',
+ description: `
+ When enabled, you will be able to hear all speech as a ghost.
+ When disabled, you will only be able to hear nearby speech.
++=======
+ name: 'Слышать все сообщения',
+ category: 'ПРИЗРАК',
+ description: multiline`
+ Если включено, вы будете слышать всех мобов.
+ Если отключено, вы будете слышать только мобов на экране.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'See all whispers',
+ category: 'GHOST',
+ description: `
+ When enabled, you will be able to hear all whispers as a ghost.
+ When disabled, you will only be able to hear nearby whispers.
++=======
+ name: 'Слышать все шепоты',
+ category: 'ПРИЗРАК',
+ description: multiline`
+ Если включено, вы будете слышать шепоты всех мобов.
+ Если выключено, вы будете слышать шепоты только мобов на экране.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Prevent being summoned as a cult ghost',
+ category: 'ADMIN',
+ description: `
+ When enabled and observing, prevents Spirit Realm from forcing you
+ into a cult ghost.
++=======
+ name: 'Не появляться за призрака культа',
+ category: 'АДМИН',
+ description: multiline`
+ Если включено, и если вы призрак, не дает Spirit Realm превращать вас
+ в призрака культа.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Preferred map',
+ category: 'GAMEPLAY',
+ description: `
+ During map rotation, prefer this map be chosen.
+ This does not affect the map vote, only random rotation when a vote
+ is not held.
++=======
+ name: 'Предпочтительная карта',
+ category: 'ГЕЙМПЛЕЙ',
+ description: multiline`
+ Предпочитать эту карту при ротации карт.
+ Это влияет только тогда, когда вы не проголосовали
+ за выбор карты.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Screentips: Screentips color',
+ category: 'UI',
+ description: `
+ The color of screen tips, the text you see when hovering over something.
++=======
+ name: 'Подсказки на экране - цвет',
+ category: 'ИНТЕРФЕЙС',
+ description: multiline`
+ Цвет ваших подсказок на экране.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Screentips: Allow images',
+ category: 'UI',
+ description: `When enabled, screentip hints use images for
+ the mouse button rather than LMB/RMB.`,
++=======
+ name: 'Подсказки на экране - изображения',
+ category: 'ИНТЕРФЕЙС',
+ description: multiline`Показывает изображения кнопок мыши при подсказках,
+ вместо ЛКМ/ПКМ.`,
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Screentips: Enable screentips',
+ category: 'UI',
+ description: `
+ Enables screen tips, the text you see when hovering over something.
+ When set to "Only with tips", will only show when there is more information
+ than just the name, such as what right-clicking it does.
++=======
+ name: 'Подсказки на экране - включить',
+ category: 'ИНТЕРФЕЙС',
+ description: multiline`
+ Включает подсказки на экране, когда вы наводитесь над объектами.
+ Если выбрана "Только с подсказками", подсказки будут появляться, только если
+ есть дополнительная информация к ним, например действие на ПКМ.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Enable TTS',
+ category: 'SOUND',
+ description: `
+ When enabled, be able to hear text-to-speech sounds in game.
+ When set to "Blips", text to speech will be replaced with blip sounds based on the voice.
++=======
+ name: 'TTS - включить',
+ category: 'ЗВУК',
+ description: multiline`
+ Играть звук text-to-speech.
+ Функция "Blips" не работает.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Achievement unlock sound',
+ category: 'SOUND',
+ description: `
+ The sound that's played when unlocking an achievement.
+ If disabled, no sound will be played.
++=======
+ name: 'Звук при получении достижений',
+ category: 'ЗВУК',
+ description: multiline`
+ Выбор звука, который будет играть при получении достижения.
+ При отключении звука не будет.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Enable tooltips',
+ category: 'TOOLTIPS',
+ description: `
+ Do you want to see tooltips when hovering over items?
++=======
+ name: 'Подсказки - включить',
+ category: 'ПОДСКАЗКИ',
+ description: multiline`
+ Показывать подсказки при наведении на объект.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Tooltip delay (in milliseconds)',
+ category: 'TOOLTIPS',
+ description: `
+ How long should it take to see a tooltip when hovering over items?
++=======
+ name: 'Подсказки - задержка (в миллисекундах)',
+ category: 'ПОДСКАЗКИ',
+ description: multiline`
+ Задержка перед тем, как показать подсказку при наведении на объект?
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ name: 'Enable window flashing',
+ category: 'UI',
+ description: `
+ When toggled, some important events will make your game icon flash on your
+ task tray.
++=======
+ name: 'Включить мигание окна',
+ category: 'ИНТЕРФЕЙС',
+ description: multiline`
+ Важные события в игре заставят иконку игры мигать
+ на панели задач.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ author="Archchancellor Gray"
+ blurb={`
+ This is the classic wizard, crazy popular in
+ the 2550's. Comes with Fireball, Magic Missile,
+ Ei Nath, and Ethereal Jaunt. The key here is that
+ every part of this kit is very easy to pick up and use.
++=======
+ author="Архиканцлер Грей"
+ blurb={multiline`
+ Это классический маг, был безумно популярным в
+ 2550-е годы. Поставляется с Fireball, Magic Missile,
+ Ei Nath, и Ethereal Jaunt. Ключевой момент тут в том, что
+ каждый элемент этого набора очень легко освоить и использовать.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ author="Jegudiel Worldshaker"
+ blurb={`
+ The power of the mighty Mjolnir! Best not to lose it.
+ This loadout has Summon Item, Mutate, Blink, Force Wall,
+ Tesla Blast, and Mjolnir. Mutate is your utility in this case:
+ Use it for limited ranged fire and getting out of bad blinks.
++=======
+ author="Джегудиэль Ворлдшейкер"
+ blurb={multiline`
+ Сила могучего Мьёльнира! Лучше не терять его.
+ Этот набор содержит Summon Item, Mutate, Blink, Force Wall,
+ Tesla Blast, и Мьёлнир. Mutate это ваша поддержка в данном случае:
+ Используйте его для стрельбы с ограниченным радиусом действия и выхода из плохих блинков.
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ author="Prospero Spellstone"
+ blurb={`
+ Why kill when others will gladly do it for you?
+ Embrace chaos with your kit: Soulshards, Staff of Change,
+ Necro Stone, Teleport, and Jaunt! Remember, no offense spells!
++=======
+ author="Заклинатель Просперо"
+ blurb={multiline`
+ Зачем убивать, если другие с радостью сделают это за вас?
+ Устройте хаос с помощью своего набора: Soulshards, Staff of Change,
+ Necro Stone, Teleport, and Jaunt! Помните, у вас нет атакующих заклинаний!
++>>>>>>> origin/translate
++<<<<<<< HEAD
+ author="Tom the Empty"
+ blurb={`
+ Embrace the dark, and tap into your soul.
+ You can recharge very long recharge spells
+ like Ei Nath by jumping into new bodies with
+ Mind Swap and starting Soul Tap anew.
++=======
+ author="Том Пустотный"
+ blurb={multiline`
+ Примите темноту и откройте свою душу.
+ Вы можете перезаряжать очень длинные заклинания
+ как Ei Nath перемещаясь в новые тела с помощью
+ Mind Swap и начинать ловить души заного.
++>>>>>>> origin/translate
About The Pull Request
Merge upstream