ss220club / Bandastation

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

Merge upstream [30.06.2024] #318

Closed Gaxeer closed 3 months ago

Gaxeer commented 3 months ago

About The Pull Request

Merge upstream [30.06.2024]

github-actions[bot] commented 3 months ago

This pr causes following conflicts on translate branch:

++<<<<<<< HEAD
 +  to_chat(owner, span_boldnotice("You are a [ishuman(owner.current) ? "shambling corpse returned":"horrible creation brought"] to this plane through the Gates of the Mansus."))
 +  to_chat(owner, span_notice("Your master is [master]. Assist them to all ends."))
 +
 +  if(istype(owner.current, /mob/living/basic/construct/harvester/heretic))
 +      var/mob/living/basic/construct/harvester/heretic/shitcode = owner.current
 +      shitcode.master = master
++=======
+   to_chat(owner, span_boldnotice("Вы - [ishuman(owner.current) ? "возвращенный труп":"ужасное создание, принесенное"] в этот мир через врата Мансуса."))
+   to_chat(owner, span_notice("Ваш хозяин - [master]. Помогайте им во всех делах."))
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  if(!check_usability(user))
 +      to_chat(user, span_danger("You feel a pulse of alien intellect lash out at your mind!"))
 +      var/mob/living/carbon/human/human_user = user
 +      human_user.AdjustParalyzed(5 SECONDS)
++=======
+   if(!IS_HERETIC_OR_MONSTER(user))
+       to_chat(user, span_danger("Вы чувствуете, как импульс чужого интеллекта бьет по вашему разуму!"))
+       user.AdjustParalyzed(5 SECONDS)
++>>>>>>> origin/translate
++<<<<<<< HEAD
++=======
+ /obj/item/melee/sickly_blade/examine(mob/user)
+   . = ..()
+   if(!IS_HERETIC_OR_MONSTER(user))
+       return
+ 
+   . += span_notice("Вы можете разбить клинок, чтобы телепортироваться в случайное (в основном) безопасное место, <b>активировав его в руке</b>.")
+ 
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  after_use_message = "The Moon hears your call..."
 +
 +// Path of Nar'Sie's blade
 +// What!? This blade is given to cultists as an altar item when they sacrifice a heretic.
 +// It is also given to the heretic themself if they sacrifice a cultist.
 +/obj/item/melee/sickly_blade/cursed
 +  name = "\improper cursed blade"
 +  desc = "A dark blade, cursed to bleed forever. In constant struggle between the eldritch and the dark, it is forced to accept any wielder as its master. \
 +      Its eye's cornea drips blood endlessly into the ground, yet its piercing gaze remains on you."
 +  force = 25
 +  throwforce = 15
 +  block_chance = 35
 +  wound_bonus = 25
 +  bare_wound_bonus = 15
 +  armour_penetration = 35
 +  icon_state = "cursed_blade"
 +  inhand_icon_state = "cursed_blade"
 +
 +/obj/item/melee/sickly_blade/cursed/Initialize(mapload)
 +  . = ..()
 +
 +  var/examine_text = {"Allows the scribing of blood runes of the cult of Nar'Sie.
 +  The combination of eldritch power and Nar'Sie's might allows for vastly increased rune drawing speed,
 +  alongside the vicious strength of the blade being more powerful than usual.\n
 +  <b>It can also be shattered in-hand by cultists (via right-click), teleporting them to relative safety.<b>"}
 +
 +  AddComponent(/datum/component/cult_ritual_item, span_cult(examine_text), turfs_that_boost_us = /turf) // Always fast to draw!
 +
 +/obj/item/melee/sickly_blade/cursed/attack_self_secondary(mob/user)
 +  seek_safety(user, TRUE)
 +
 +/obj/item/melee/sickly_blade/cursed/seek_safety(mob/user, secondary_attack = FALSE)
 +  if(IS_CULTIST(user) && !secondary_attack)
 +      return FALSE
 +  return ..()
 +
 +/obj/item/melee/sickly_blade/cursed/check_usability(mob/living/user)
 +  if(IS_HERETIC_OR_MONSTER(user) || IS_CULTIST(user))
 +      return TRUE
 +  if(prob(15))
 +      to_chat(user, span_cult_large(pick("\"An untouched mind? Amusing.\"", "\" I suppose it isn't worth the effort to stop you.\"", "\"Go ahead. I don't care.\"", "\"You'll be mine soon enough.\"")))
 +      var/obj/item/bodypart/affecting = user.get_active_hand()
 +      if(!affecting)
 +          return
 +      affecting.receive_damage(burn = 5)
 +      playsound(src, SFX_SEAR, 25, TRUE)
 +      to_chat(user, span_danger("Your hand sizzles.")) // Nar nar might not care but their essence still doesn't like you
 +  else if(prob(15))
 +      to_chat(user, span_big(span_hypnophrase("LW'NAFH'NAHOR UH'ENAH'YMG EPGOKA AH NAFL MGEMPGAH'EHYE")))
 +      to_chat(user, span_danger("Horrible, unintelligible utterances flood your mind!"))
 +      user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15) // This can kill you if you ignore it
 +  return TRUE
 +
 +/obj/item/melee/sickly_blade/cursed/equipped(mob/user, slot)
 +  . = ..()
 +  if(IS_HERETIC_OR_MONSTER(user))
 +      after_use_message = "The Mansus hears your call..."
 +  else if(IS_CULTIST(user))
 +      after_use_message = "Nar'Sie hears your call..."
 +  else
 +      after_use_message = null
 +
 +/obj/item/melee/sickly_blade/cursed/interact_with_atom(atom/target, mob/living/user, list/modifiers)
 +  . = ..()
 +
 +  var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user)
 +  if(!heretic_datum)
 +      return NONE
 +
 +  // Can only carve runes with it if off combat mode.
 +  if(isopenturf(target) && !user.combat_mode)
 +      heretic_datum.try_draw_rune(user, target, drawing_time = 14 SECONDS) // Faster than pen, slower than cicatrix
 +      return ITEM_INTERACT_BLOCKING
 +  return NONE
++=======
+   after_use_message = "Луна слышит ваш зов..."
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +
 +  var/feedback = "Your patrons accept your offer"
++=======
+   var/feedback = "Ваши покровители принимают ваше предложение"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      feedback += " <i>graciously</i>"
 +  else if(cultist_datum)
 +      heretic_datum.knowledge_points += 1
 +      grant_reward(user, sacrifice, loc)
 +      // easier to read
 +      var/rewards_given = heretic_datum.rewards_given
 +      // Chance for it to send a warning to cultists, higher with each reward. Stops after 5 because they probably got the hint by then.
 +      if(prob(min(15 * rewards_given)) && (rewards_given <= 5))
 +          for(var/datum/mind/mind as anything in cultist_datum.cult_team.members)
 +              if(mind.current)
 +                  SEND_SOUND(mind.current, 'sound/magic/clockwork/narsie_attack.ogg')
 +                  var/message = span_narsie("A vile heretic has ") + \
 +                  span_cult_large(span_hypnophrase("sacrificed")) + \
 +                  span_narsie(" one of our own. Destroy and sacrifice the infidel before it claims more!")
 +                  to_chat(mind.current, message)
 +          // he(retic) gets a warn too
 +          var/message = span_cult_bold("You feel that your action has attracted") + \
 +          span_cult_bold_italic(" attention.")
 +          to_chat(user, message)
 +      return
 +  else
 +      heretic_datum.knowledge_points += 2
++=======
+       feedback += " <i>с великодушием</i>"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  desc = "Allows you to transmute a portable water tank and a table to create a Mawed Crucible. \
 +      The Mawed Crucible can brew powerful potions for combat and utility, but must be fed bodyparts and organs between uses."
 +  gain_text = "This is pure agony. I wasn't able to summon the figure of the Aristocrat, \
 +      but with the Priest's attention I stumbled upon a different recipe..."
++=======
+   desc = "Позволяет трансмутировать переносной ватер танк и стол для создания Голодного горнила. \
+       Голодное горнило может варить мощные боевые и полезные зелья, но между их употреблениями его нужно кормить частями тела и органами."
+   gain_text = "Это чистая агония. Мне не удалось вызвать образ Аристократа, \
+       но благодаря вниманию Жреца я наткнулся на другой рецепт..."
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  desc = "Allows you to transmute any ballistic weapon, such as a pipegun, with hide \
 +      from any animal, a plank of wood, and a camera to create the Lionhunter's rifle. \
 +      The Lionhunter's Rifle is a long ranged ballistic weapon with three shots. \
 +      These shots function as normal, albeit weak high caliber mutitions when fired from \
 +      close range or at inanimate objects. You can aim the rifle at distant foes, \
 +      causing the shot to deal massively increased damage and hone in on them."
 +  gain_text = "I met an old man in an antique shop who wielded a very unusual weapon. \
 +      I could not purchase it at the time, but they showed me how they made it ages ago."
++=======
+   desc = "Позволяет трансмутировать любое баллистическое оружие, например, трубное ружье, с помощью шкуры \
+       любого животного, доски дерева и камеры в винтовку Lionhunter. \
+       Lionhunter - это дальнобойное баллистическое оружие с тремя выстрелами. \
+       При стрельбе с близкого расстояния или по неодушевленным предметам эти выстрелы \
+       действуют как обычные, хотя и слабые высококалиберные боеприпасы. Вы можете направить винтовку на далеких противников,\
+       в результате чего выстрел нанесет значительно больший урон и нацелится на них."
+   gain_text = "В антикварном магазине я встретил старика, который владел очень необычным оружием. \
+       В то время я не мог его приобрести, но они показали мне, как они делали его много лет назад."
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +/datum/action/cooldown/spell/aoe/rust_conversion/construct
 +  name = "Construct Spread"
 +  cooldown_time = 15 SECONDS
++=======
+ /datum/action/cooldown/spell/aoe/rust_conversion/small
+   name = "Rust Conversion"
+   desc = "Распространяет ржавчину на соседние поверхности."
+   aoe_radius = 2
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  if(!isturf(cast_on))
 +      cast_on.balloon_alert(owner, "not a wall or floor!")
++=======
+   if(!isfloorturf(cast_on))
+       if(isturf(cast_on) && owner)
+           cast_on.balloon_alert(owner, "не пол!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  var/rises_message = "rises out of [cast_on]"
 +
 +  // If we casted at a wall we'll try to rust it. In the case of an enchanted wall it'll deconstruct it
 +  if(isclosedturf(cast_on))
 +      cast_on.visible_message(span_warning("\The [cast_on] quakes as the rust causes it to crumble!"))
 +      var/mob/living/living_owner = owner
 +      living_owner?.do_rust_heretic_act(cast_on)
 +      // ref transfers to floor
 +      cast_on.Shake(shake_interval = 0.1 SECONDS, duration = 0.5 SECONDS)
 +      // which we need to re-rust
 +      living_owner?.do_rust_heretic_act(cast_on)
 +      playsound(cast_on, 'sound/effects/bang.ogg', 50, vary = TRUE)
 +      return
 +
++=======
+   var/rises_message = "поднимается из [cast_on]"
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  desc = "A flowing circle of shapes and runes is etched into the floor, filled with a thick black tar-like fluid. This one looks pretty small."
 +  icon = 'icons/obj/antags/cult/rune.dmi'
 +  icon_state = "main1"
++=======
+   desc = "В полу выгравирован плавный круг из фигур и рун, заполненный густой черной жидкостью, похожей на смолу."
+   icon_state = ""
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +  display_pain(target, "You feel a throbbing pain in your chest!")
++=======
+   display_results(
+       user,
+       target,
+       span_notice("Вы приступаете к очистке крови у [target]..."),
+       span_notice("[user] использует [tool.name] для очистки крови у [target]."),
+       span_notice("[user] использует [tool.name] на груди у [target]."),
+   )
+   display_pain(target, "Вы чувствуете ужасную боль в груди!")
++>>>>>>> origin/translate
++<<<<<<< HEAD
 +      span_notice("\The [tool] completes a cycle filtering [target]'s blood."),
 +      span_notice("\The [tool] whirrs as it filters [target]'s blood."),
 +      span_notice("\The [tool] whirrs as it pumps."),
++=======
+       span_notice("[tool.name] сигнализирует, что фильтрация крови у [target] завершена."),
+       span_notice("[tool.name] сигнализирует, что закончил перекачивать кровь у [target]."),
+       span_notice("[tool.name] сигнализирует, что закончил перекачивать кровь."),
++>>>>>>> origin/translate