ss220club / Bandastation

SS220 TG repository
https://discord.gg/ss220
GNU Affero General Public License v3.0
30 stars 34 forks source link

Merge upstream 12.06.2024 #299

Closed Gaxeer closed 4 months ago

Gaxeer commented 4 months ago

About The Pull Request

Merge upstream

github-actions[bot] commented 4 months ago

This pr causes following conflicts on translate branch:

++<<<<<<< HEAD
 +
 +/datum/quirk/item_quirk/chronic_illness/add_unique(client/client_source)
 +  give_item_to_holder(/obj/item/storage/pill_bottle/sansufentanyl, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK),flavour_text = "You've been provided with medication to help manage your condition. Take it regularly to avoid complications.")
++=======
+   give_item_to_holder(/obj/item/storage/pill_bottle/sansufentanyl, list(LOCATION_BACKPACK = ITEM_SLOT_BACKPACK),flavour_text = "Вам назначили лекарства, которые помогут справиться с вашим заболеванием. Принимайте их регулярно, чтобы избежать осложнений.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  desc = "You suffer from a severe disorder that causes very vivid hallucinations and trouble expressing your ideas. \
 +      Mindbreaker toxin can suppress its effects, and you are immune to mindbreaker's hallucinogenic properties. \
 +      THIS IS NOT A LICENSE TO GRIEF."
 +  icon = FA_ICON_GRIN_TONGUE_WINK
 +  value = -8
 +  gain_text = span_userdanger("...")
 +  lose_text = span_notice("You feel in tune with the world again.")
 +  medical_record_text = "Patient suffers from acute Reality Dissociation Syndrome and experiences vivid hallucinations, and may have trouble speaking."
++=======
+   desc = "Вы страдаете от тяжелого расстройства, которое вызывает очень яркие галлюцинации. \
+       Токсин Mindbreaker может подавлять воздействие этого вещества, и у вас появится иммунитет к галлюциногенным свойствам Mindbreaker. \
+       ЭТО НЕ ДАЕТ РАЗРЕШЕНИЯ ГРИФЕРИТЬ."
+   icon = FA_ICON_GRIN_TONGUE_WINK
+   value = -8
+   gain_text = span_userdanger("А? Что? Где? Только не...")
+   lose_text = span_notice("Вы снова чувствуете единение с миром.")
+   medical_record_text = "Пациент страдает от острого синдрома диссоциации реальности и испытывает яркие галлюцинации."
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  name = "the Research Director's pet headcrab"
++=======
+   name = "Research Director's pet headcrab"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  name = "the chief engineer's advanced MOD control unit"
++=======
+   name = "cheif engineer's advanced MOD control unit"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      to_chat(user, span_danger("You feel a pulse of alien intellect lash out at your mind!"))
 +      user.AdjustParalyzed(5 SECONDS)
++=======
+       to_chat(user, span_danger("Вы чувствуете, как импульс чужого интеллекта бьет по вашему разуму!"))
+       var/mob/living/carbon/human/human_user = user
+       human_user.AdjustParalyzed(5 SECONDS)
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      balloon_alert(user, "link 1/2")
 +  return ITEM_INTERACT_SUCCESS
++=======
+       balloon_alert(user, "соединено 1/2")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +/obj/item/heretic_labyrinth_handbook/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
 +  return interact_with_atom(interacting_with, user, modifiers)
 +
 +/obj/item/heretic_labyrinth_handbook/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
 +  if(!IS_HERETIC(user))
 +      if(ishuman(user))
 +          var/mob/living/carbon/human/human_user = user
 +          to_chat(human_user, span_userdanger("Your mind burns as you stare deep into the book, a headache setting in like your brain is on fire!"))
 +          human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30, 190)
 +          human_user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus)
 +          human_user.dropItemToGround(src)
 +      return ITEM_INTERACT_BLOCKING
 +
 +  var/turf/turf_target = get_turf(interacting_with)
 +  if(locate(barrier_type) in turf_target)
 +      user.balloon_alert(user, "already occupied!")
 +      return ITEM_INTERACT_BLOCKING
 +  turf_target.visible_message(span_warning("A storm of paper materializes!"))
 +  new /obj/effect/temp_visual/paper_scatter(turf_target)
 +  playsound(turf_target, 'sound/magic/smoke.ogg', 30)
 +  new barrier_type(turf_target, user)
 +  uses--
 +  if(uses <= 0)
 +      to_chat(user, span_warning("[src] falls apart, turning into ash and dust!"))
 +      qdel(src)
 +  return ITEM_INTERACT_SUCCESS
++=======
+ /obj/item/heretic_labyrinth_handbook/afterattack(atom/target, mob/user, proximity_flag)
+   . = ..()
+   if(IS_HERETIC(user))
+       var/turf/turf_target = get_turf(target)
+       if(locate(barrier_type) in turf_target)
+           user.balloon_alert(user, "нет места!")
+           return
+       turf_target.visible_message(span_warning("Бумажный шторм материализуется!"))
+       new /obj/effect/temp_visual/paper_scatter(turf_target)
+       playsound(turf_target, 'sound/magic/smoke.ogg', 30)
+       new barrier_type(turf_target, user)
+       uses--
+       if(uses <= 0)
+           to_chat(user, span_warning("[src] распадается на части, оставляя за собой пепел и пыль!"))
+           qdel(src)
+       return
+   var/mob/living/carbon/human/human_user = user
+   to_chat(human_user, span_userdanger("Ваш разум начинает гореть, когда вы смотрите внутрь этой книги, словно сам ваш мозг в огне!"))
+   human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30, 190)
+   human_user.add_mood_event("gates_of_mansus", /datum/mood_event/gates_of_mansus)
+   human_user.dropItemToGround(src)
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  name = "[desired_item.name] [difficulty == SPY_DIFFICULTY_HARD ? "Grand ":""]Theft"
 +  help = "Steal [desired_item.name][desired_item.steal_hint ? ": [desired_item.steal_hint]" : "."]"
++=======
+   // We need to do some snowflake for items that do exist vs generic items
+   var/list/obj/item/existing_items = GLOB.steal_item_handler.objectives_by_path[desired_item.targetitem]
+   var/obj/item/the_item = length(existing_items) ? pick(existing_items) : desired_item.targetitem
+   var/the_item_name = istype(the_item) ? the_item.name : initial(the_item.name)
+   name = "[difficulty == SPY_DIFFICULTY_HARD ? "Грандиозная кража":"Кража"] [the_item_name]"
+   help = "Украдите любой [the_item_name][desired_item.steal_hint ? ": [desired_item.steal_hint]" : "."]"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      to_chat(user, span_warning("You can't seem to find a way to detonate the charge."))
 +      return FALSE
++=======
+       to_chat(user, span_warning("Похоже, вы не можете найти способ взорвать заряд."))
+       return
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      to_chat(user, span_warning("You don't think it would be wise to use [src]."))
 +      return FALSE
++=======
+       to_chat(user, span_warning("Вы не думаете, что было бы разумно использовать [src]."))
+       return
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      to_chat(user, span_warning("[src] can only be detonated in [initial(objective.weakpoint_area.name)]."))
 +      return FALSE
 +
 +  if(!isfloorturf(bomb_target) && !iswallturf(bomb_target))
 +      to_chat(user, span_warning("[src] can only be planted on a wall or the floor!"))
 +      return FALSE
++=======
+       to_chat(user, span_warning("[src] можно взорвать только в [initial(objective.weakpoint_area.name)]."))
+       return
+ 
+   if(!isfloorturf(target) && !iswallturf(target))
+       to_chat(user, span_warning("[src] можно ставить только на стену или пол!"))
+       return
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +          balloon_alert(user, "you can't attach this onto here!")
 +          return ITEM_INTERACT_BLOCKING
++=======
+           balloon_alert(user, "вы не можете прикрепить это сюда!")
+           return
++>>>>>>> origin/translate
++<<<<<<< HEAD
++=======
+ /datum/round_event/tram_malfunction/announce()
+   priority_announce("Our automated control system has lost contact with the tram's onboard computer. Please take extra care while engineers diagnose and resolve the issue.", "[command_name()]: Инженерный отдел")
+ 
++>>>>>>> origin/translate
++<<<<<<< HEAD
++=======
+           priority_announce("The software on the tram has been reset, normal operations are now resuming. Sorry for any inconvienence this may have caused.", "[command_name()]: Инженерный отдел")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  to_chat(user, span_notice("[target] is not related to your currently selected experiment."))
++=======
+   to_chat(user, span_notice("[target.name] не имеет отношения к выбранному эксперименту."))
+   return .
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a gruesome pain in your [parse_zone(target_zone)]'s joint!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете жуткую боль в <i>[parse_zone(target_zone)]</i>!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You can no longer feel your severed [target.parse_zone_with_bodypart(target_zone)]!", mood_event_type = /datum/mood_event/surgery/success)
++=======
+   display_pain(target, "Вы больше не чувствуете свою отрезанную <i>[target.parse_zone_with_bodypart(target_zone)]</i>!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      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!", mood_event_type = /datum/mood_event/surgery)
++=======
+       display_pain(target, "Инфекция в вашей <i>[target.parse_zone_with_bodypart(user.zone_selected)]</i> адски зудит! Такое ощущение, что тебя режут ножом!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a horrendous pain in your heart, it's almost enough to make you pass out!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете ужасную боль в сердце. Вы близки к тому, чтобы потерять сознание!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a horrible stab in your gut!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете колющую боль в животе!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "The pain in your gut ebbs and fades somewhat.", mood_event_type = /datum/mood_event/surgery/success)
++=======
+   display_pain(target, "Боль в вашем животе утихает и проходит.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "Your stomach throbs with pain; it's not getting any better!", mood_event_type = /datum/mood_event/surgery/failure)
++=======
+   display_pain(target, "У вас болит живот, и от этого не становится легче!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "Your abdomen burns in horrific stabbing pain!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Ваша брюшная полость горит от ужасной колющей боли!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "The pain receeds slightly.", mood_event_type = /datum/mood_event/surgery/success)
++=======
+   display_pain(target, "Боль немного стихает.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a sharp stab inside your abdomen!", mood_event_type = /datum/mood_event/surgery/failure)
++=======
+   display_pain(target, "Вы чувствуете острую боль в брюшной полости!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a stabbing in your [target_zone]!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете резкую боль в вашей <i>[target_zone]</i>!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "The fat in your [target_zone] comes loose, dangling and hurting like hell!", mood_event_type = /datum/mood_event/surgery/success)
++=======
+   display_pain(target, "Жир в вашей  <i>[target_zone]</i> ослабевает, свисает и болит как черт знает что!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a stabbing pain in your chest!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете колющую боль в груди!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      display_pain(target, "Your chest hurts like hell, but breathing becomes slightly easier.", mood_event_type = /datum/mood_event/surgery/success)
++=======
+       display_pain(target, "Грудь адски болит, но дышать становится немного легче.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      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!", mood_event_type = /datum/mood_event/surgery/failure)
++=======
+       display_pain(target, "Вы чувствуете резкий удар в грудь; последний вздох выбивает из вас все силы, и вам больно дышать!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a stabbing in your [target.parse_zone_with_bodypart(target_zone)].", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете колющую боль в <i>[target.parse_zone_with_bodypart(target_zone)]</i>.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a <i>careful</i> stabbing in your [target.parse_zone_with_bodypart(target_zone)].", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете <i>осторожный</i> колющий удар в <i>[target.parse_zone_with_bodypart(target_zone)]</i>.")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a horrid ache spread through the inside of your [target.parse_zone_with_bodypart(target_zone)]!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете ужасную боль внутри <i>[target.parse_zone_with_bodypart(target_zone)]</i>!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "It feels like something just broke in your [target.parse_zone_with_bodypart(target_zone)]!", mood_event_type = /datum/mood_event/surgery/success)
 +  return ..()
 +
 +/datum/surgery_step/saw/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob)
 +  display_pain(target, mood_event_type = /datum/mood_event/surgery/failure)
++=======
+   display_pain(target, "Такое ощущение, что в <i>[target.parse_zone_with_bodypart(target_zone)]</i> что-то сломано!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel slicing pain across your face!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете острую боль на лице!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      display_pain(target, "The pain fades, your face feels normal again!", mood_event_type = /datum/mood_event/surgery/success)
++=======
+       display_pain(target, "Боль исчезает, лицо вновь становится нормальным!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      display_pain(target, "The pain fades, your face feels new and unfamiliar!", mood_event_type = /datum/mood_event/surgery/failure)
++=======
+       display_pain(target, "Боль проходит, а ваше лицо кажется новым и непривычным!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a horrible stabbing pain in your [target.parse_zone_with_bodypart(user.zone_selected)]!", mood_event_type = /datum/mood_event/surgery)
++=======
+   display_pain(target, "Вы чувствуете ужасную колющую боль в <i>[target.parse_zone_with_bodypart(user.zone_selected)]</i>!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +          if(!pain_message)
 +              return
 +          to_chat(target, span_notice("You feel a dull, numb sensation as your body is surgically operated on."))
++=======
+           to_chat(target, span_notice("Вы чувствуете онемение, пока ваше тело оперируют."))
++>>>>>>> origin/translate