Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Combat information translation #91

Merged
merged 1 commit into from
Apr 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions code/datums/elements/weapon_description.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
SIGNAL_HANDLER

if(item.force >= 5 || item.throwforce >= 5 || item.override_notes || item.offensive_notes || attached_proc) /// Only show this tag for items that could feasibly be weapons, shields, or those that have special notes
examine_texts += span_notice("<a href='?src=[REF(item)];examine=1'>See combat information.</a>")
examine_texts += span_notice("<a href='?src=[REF(item)];examine=1'>Боевые характеристики.</a>")

/**
*
Expand Down Expand Up @@ -75,16 +75,16 @@
if(!source.override_notes)
// Make sure not to divide by 0 on accident
if(source.force > 0)
readout += "It takes about [span_warning("[HITS_TO_CRIT(source.force)] melee hit\s")] to take down an enemy."
readout += "Примерно нужно ударов, чтобы обезвредить врага - [span_warning("[HITS_TO_CRIT(source.force)]")]"
else
readout += "It does not deal noticeable melee damage."
readout += "Не наносит значимого урона ударами."

if(source.throwforce > 0)
readout += "It takes about [span_warning("[HITS_TO_CRIT(source.throwforce)] throwing hit\s")] to take down an enemy."
readout += "Примерно нужно бросков, чтобы обезвредить врага - [span_warning("[HITS_TO_CRIT(source.throwforce)]")]"
else
readout += "It does not deal noticeable throwing damage."
readout += "Не наносит значимого урона бросками."
if(source.armour_penetration > 0 || source.block_chance > 0)
readout += "It has [span_warning("[weapon_tag_convert(source.armour_penetration)]")] armor-piercing capability and [span_warning("[weapon_tag_convert(source.block_chance)]")] blocking capability."
readout += "Имеет [span_warning("[weapon_tag_convert(source.armour_penetration)]")] способность к пробитию брони и [span_warning("[weapon_tag_convert(source.block_chance)]")] вероятность блокирования."
// Custom manual notes
if(source.offensive_notes)
readout += source.offensive_notes
Expand All @@ -107,14 +107,14 @@
/datum/element/weapon_description/proc/weapon_tag_convert(tag_val)
switch(tag_val)
if(0)
return "NO"
return "НИКАКУЮ"
if(1 to 25)
return "LITTLE"
return "НИЗКУЮ"
if(26 to 50)
return "AVERAGE"
return "СРЕДНЮЮ"
if(51 to 75)
return "ABOVE-AVERAGE"
return "ВЫШЕ-СРЕДНЕГО"
if(76 to INFINITY)
return "EXCELLENT"
return "ПРЕВОСХОДНУЮ"
else
return "WEIRD"
return "СТРАННУЮ"
8 changes: 4 additions & 4 deletions code/modules/clothing/clothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -347,13 +347,13 @@
. += how_cool_are_your_threads.Join()

if(get_armor().has_any_armor() || (flags_cover & (HEADCOVERSMOUTH|PEPPERPROOF)))
. += span_notice("It has a <a href='?src=[REF(src)];list_armor=1'>tag</a> listing its protection classes.")
. += span_notice("Имеется <a href='?src=[REF(src)];list_armor=1'>бирка</a>, указывающая классы защиты.")

/obj/item/clothing/Topic(href, href_list)
. = ..()

if(href_list["list_armor"])
var/list/readout = list("<span class='notice'><u><b>PROTECTION CLASSES</u></b>")
var/list/readout = list("<span class='notice'><u><b>КЛАССЫ ЗАЩИТЫ</u></b>")

var/datum/armor/armor = get_armor()
var/added_damage_header = FALSE
Expand All @@ -362,7 +362,7 @@
if(!rating)
continue
if(!added_damage_header)
readout += "\n<b>ARMOR (I-X)</b>"
readout += "\n<b>БРОНЯ (I-X)</b>"
added_damage_header = TRUE
readout += "\n[armor_to_protection_name(damage_key)] [armor_to_protection_class(rating)]"

Expand All @@ -372,7 +372,7 @@
if(!rating)
continue
if(!added_durability_header)
readout += "\n<b>DURABILITY (I-X)</b>"
readout += "\n<b>ПРОЧНОСТЬ (I-X)</b>"
added_damage_header = TRUE
readout += "\n[armor_to_protection_name(durability_key)] [armor_to_protection_class(rating)]"

Expand Down
6 changes: 3 additions & 3 deletions code/modules/projectiles/ammunition/_ammunition.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,12 @@
proj_damage_mult = our_gun.projectile_damage_multiplier
var/list/readout = list()
if(proj_damage_mult <= 0 || (initial_damage <= 0 && initial_stamina <= 0))
return "Our legal team has determined the offensive nature of these [span_warning(caliber)] rounds to be esoteric."
return "Наша юридическая команда определила, что оружейная способность [span_warning(caliber)] патронов является эзотерическим."
// No dividing by 0
if(initial_damage)
readout += "Most monkeys our legal team subjected to these [span_warning(caliber)] rounds succumbed to their wounds after [span_warning("[HITS_TO_CRIT((initial(exam_proj.damage) * proj_damage_mult) * pellets)] shot\s")] at point-blank, taking [span_warning("[pellets] shot\s")] per round."
readout += "Большинство мартышек, в которых стреляла наша юридическая команда [span_warning(caliber)] патронами, скончались от ран от следующего числа выстрелов в упор - [span_warning("[HITS_TO_CRIT((initial(exam_proj.damage) * proj_damage_mult) * pellets)]")], принимая попаданий за выстрел - [span_warning("[pellets]")]."
if(initial_stamina)
readout += "[!readout.len ? "Most monkeys" : "More fortunate monkeys"] collapsed from exhaustion after [span_warning("[HITS_TO_CRIT((initial(exam_proj.stamina) * proj_damage_mult) * pellets)] impact\s")] of these [span_warning("[caliber]")] rounds."
readout += "[!readout.len ? "Большинство мартышек" : "Более везучие мартышки"] упали от усталости от [span_warning("[caliber]")] патронов от следующего числа выстрелов - [span_warning("[HITS_TO_CRIT((initial(exam_proj.stamina) * proj_damage_mult) * pellets)]")]"
return readout.Join("\n") // Sending over a single string, rather than the whole list

/obj/item/ammo_casing/update_icon_state()
Expand Down
4 changes: 2 additions & 2 deletions code/modules/projectiles/boxes_magazines/_box_magazine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@
var/list/readout = list()

if(caliber && max_ammo) // Text references a 'magazine' as only magazines generally have the caliber variable initialized
readout += "Up to [span_warning("[max_ammo] [caliber] [casing_phrasing]s")] can be found within this magazine. \
\nAccidentally discharging any of these projectiles may void your insurance contract."
readout += "До [span_warning("[max_ammo] [caliber] [casing_phrasing]s")] могут находиться в магазине. \
\nСлучайное применение любого из этих снарядов может привести к аннулированию страховки."

var/obj/item/ammo_casing/mag_ammo = get_round(TRUE)

Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/guns/ballistic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@
else if(chambered) // if you don't have a magazine, is there something chambered?
return "\n[chambered.add_notes_ammo()]"
else // we have a very expensive mechanical paperweight.
return "\nThe lack of magazine and usable cartridge in chamber makes its usefulness questionable, at best."
return "\nОтсутствие магазина и пригодного для стрельбы патрона в патроннике заставляет задуматься о полезности оружия."

/obj/item/gun/ballistic/vv_edit_var(vname, vval)
. = ..()
Expand Down
12 changes: 6 additions & 6 deletions code/modules/projectiles/guns/energy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,21 +97,21 @@
if(!ammo_type.len)
return
var/obj/projectile/exam_proj
readout += "\nStandard models of this projectile weapon have [span_warning("[ammo_type.len] mode\s")]."
readout += "Our heroic interns have shown that one can theoretically stay standing after..."
readout += "\nСтандартные модели этого оружия имеют режимов - [span_warning("[ammo_type.len]")]."
readout += "Наши бравые интерны показали, что они могут выстоять..."
if(projectile_damage_multiplier <= 0)
readout += "a theoretically infinite number of shots on [span_warning("every")] mode due to esoteric or nonexistent offensive potential."
readout += "теоретически бесконечное количество выстрелов на [span_warning("любом")] режиме из-за эзотерической или отстутсвующего боевого потенциала."
return readout.Join("\n") // Sending over the singular string, rather than the whole list
for(var/obj/item/ammo_casing/energy/for_ammo as anything in ammo_type)
exam_proj = for_ammo.projectile_type
if(!ispath(exam_proj))
continue
if(initial(exam_proj.damage) > 0) // Don't divide by 0!!!!!
readout += "[span_warning("[HITS_TO_CRIT((initial(exam_proj.damage) * projectile_damage_multiplier) * for_ammo.pellets)] shot\s")] on [span_warning("[for_ammo.select_name]")] mode before collapsing from [initial(exam_proj.damage_type) == STAMINA ? "immense pain" : "their wounds"]."
readout += "выстрелов - [span_warning("[HITS_TO_CRIT((initial(exam_proj.damage) * projectile_damage_multiplier) * for_ammo.pellets)]")] на режиме [span_warning("[for_ammo.select_name]")], перед тем, как упасть от [initial(exam_proj.damage_type) == STAMINA ? "сильной боли" : "полученных ран"]."
if(initial(exam_proj.stamina) > 0) // In case a projectile does damage AND stamina damage (Energy Crossbow)
readout += "[span_warning("[HITS_TO_CRIT((initial(exam_proj.stamina) * projectile_damage_multiplier) * for_ammo.pellets)] shot\s")] on [span_warning("[for_ammo.select_name]")] mode before collapsing from immense pain."
readout += "выстрелов - [span_warning("[HITS_TO_CRIT((initial(exam_proj.stamina) * projectile_damage_multiplier) * for_ammo.pellets)]")] на режиме [span_warning("[for_ammo.select_name]")], перед тем, как упасть от сильной боли."
else
readout += "a theoretically infinite number of shots on [span_warning("[for_ammo.select_name]")] mode."
readout += "теоретически бесконечное количество выстрелов на режиме - [span_warning("[for_ammo.select_name]")]."

return readout.Join("\n") // Sending over the singular string, rather than the whole list

Expand Down
Loading