Skip to content

Commit

Permalink
better ru_name renaming (#551)
Browse files Browse the repository at this point in the history
  • Loading branch information
larentoun authored Oct 11, 2024
1 parent 59d3b2e commit 1f9bbd6
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 12 deletions.
4 changes: 2 additions & 2 deletions code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm)
set_panel_open(TRUE)

if(name == initial(name))
ru_names_rename(RU_NAMES_LIST("[get_area_name(src)] Air Alarm", "воздушная сигнализация [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушную сигнализацию [get_area_name(src)]", "воздушной сигнализацией [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]"))
name = "[get_area_name(src)] Air Alarm"
RU_NAMES_LIST_INIT("[get_area_name(src)] Air Alarm", "воздушная сигнализация [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушную сигнализацию [get_area_name(src)]", "воздушной сигнализацией [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]")

tlv_collection = list()
tlv_collection["pressure"] = new /datum/tlv/pressure
Expand Down Expand Up @@ -176,8 +176,8 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm)

/obj/machinery/airalarm/update_name(updates)
. = ..()
ru_names_rename(RU_NAMES_LIST("[get_area_name(my_area)] Air Alarm", "воздушная сигнализация [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушную сигнализацию [get_area_name(src)]", "воздушной сигнализацией [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]"))
name = "[get_area_name(my_area)] Air Alarm"
RU_NAMES_LIST_INIT("[get_area_name(my_area)] Air Alarm", "воздушная сигнализация [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]", "воздушную сигнализацию [get_area_name(src)]", "воздушной сигнализацией [get_area_name(src)]", "воздушной сигнализации [get_area_name(src)]")

/obj/machinery/airalarm/on_exit_area(datum/source, area/area_to_unregister)
//we cannot unregister from an area we never registered to in the first place
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/alien/adult/queen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
continue
if(Q.client)
var/number = rand(1, 999) // BANDASTATION EDIT
ru_names_rename(RU_NAMES_LIST("alien princess ([number])", "принцесса Чужих ([number])", "принцессы Чужих ([number])", "принцессе Чужих ([number])", "принцессу Чужих ([number])", "принцессой Чужих ([number])", "принцессе Чужих ([number])"))
name = "alien princess ([number])" //if this is too cutesy feel free to change it/remove it.
RU_NAMES_LIST_INIT("[name]", "принцесса Чужих ([number])", "принцессы Чужих ([number])", "принцессе Чужих ([number])", "принцессу Чужих ([number])", "принцессой Чужих ([number])", "принцессе Чужих ([number])")
break

real_name = declent_ru(NOMINATIVE)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/alien/alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ Des: Removes all infected images from the alien.

if(old_number != 0)
numba = old_number
ru_names_rename(RU_NAMES_LIST(initial(name), "[initial(ru_name_nominative) || initial(name)]", "[initial(ru_name_genitive) || initial(name)]", "[initial(ru_name_dative) || initial(name)]", "[initial(ru_name_accusative) || initial(name)]", "[initial(ru_name_instrumental) || initial(name)]", "[initial(ru_name_prepositional) || initial(name)]"))
name = initial(name) // prevent chicanery like two different numerical identifiers tied to the same mob
RU_NAMES_LIST_INIT("[name]", "[initial(ru_name_nominative) || initial(name)]", "[initial(ru_name_genitive) || initial(name)]", "[initial(ru_name_dative) || initial(name)]", "[initial(ru_name_accusative) || initial(name)]", "[initial(ru_name_instrumental) || initial(name)]", "[initial(ru_name_prepositional) || initial(name)]")

set_name()

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/living.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1871,8 +1871,8 @@ GLOBAL_LIST_EMPTY(fire_appearances)
/mob/living/proc/set_name()
if(numba == 0)
numba = rand(1, 1000)
ru_names_rename(RU_NAMES_LIST("[name] ([numba])", "[declent_ru(NOMINATIVE)] ([numba])", "[declent_ru(GENITIVE)] ([numba])", "[declent_ru(DATIVE)] ([numba])", "[declent_ru(ACCUSATIVE)] ([numba])", "[declent_ru(INSTRUMENTAL)] ([numba])", "[declent_ru(PREPOSITIONAL)] ([numba])"))
name = "[name] ([numba])"
RU_NAMES_LIST_INIT("[name]", "[initial(ru_name_nominative) || initial(name)] ([numba])", "[initial(ru_name_genitive) || initial(name)] ([numba])", "[initial(ru_name_dative) || initial(name)] ([numba])", "[initial(ru_name_accusative) || initial(name)] ([numba])", "[initial(ru_name_instrumental) || initial(name)] ([numba])", "[initial(ru_name_prepositional) || initial(name)] ([numba])")
real_name = declent_ru(NOMINATIVE)

/mob/living/proc/mob_try_pickup(mob/living/user, instant=FALSE)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/power/apc/apc_main.dm
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@
if(!req_access)
req_access = list(ACCESS_ENGINE_EQUIP)
if(auto_name)
ru_names_rename(RU_NAMES_LIST("\improper [get_area_name(area, TRUE)] APC", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]"))
name = "\improper [get_area_name(area, TRUE)] APC"
RU_NAMES_LIST_INIT("\improper [get_area_name(area, TRUE)] APC", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]")

//Initialize its electronics
set_wires(new /datum/wires/apc(src))
Expand Down Expand Up @@ -268,8 +268,8 @@
/obj/machinery/power/apc/update_name(updates)
. = ..()
if(auto_name)
ru_names_rename(RU_NAMES_LIST("\improper [get_area_name(area, TRUE)] APC", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]"))
name = "\improper [get_area_name(area, TRUE)] APC"
RU_NAMES_LIST_INIT("\improper [get_area_name(area, TRUE)] APC", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]", "ЛКП [get_area_name(area, TRUE)]")

/obj/machinery/power/apc/proc/assign_to_area(area/target_area = get_area(src))
if(area == target_area)
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/ballistic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,7 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
SEND_SIGNAL(src, COMSIG_GUN_SAWN_OFF)
if(!handle_modifications)
return TRUE
ru_names_rename(RU_NAMES_LIST("sawn-off [src.name]", "обрез [declent_ru(GENITIVE)]", "обреза [declent_ru(GENITIVE)]", "обрезу [declent_ru(GENITIVE)]", "обрез [declent_ru(GENITIVE)]", "обрезом [declent_ru(GENITIVE)]", "обрезе [declent_ru(GENITIVE)]"))
name = "sawn-off [src.name]"
desc = sawn_desc
update_weight_class(WEIGHT_CLASS_NORMAL)
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/ballistic/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@

/obj/item/gun/ballistic/shotgun/doublebarrel
name = "double-barreled shotgun"
RU_NAMES_LIST_INIT("double-barreled shotgun", "двуствольный дробовик", "двуствольного дробовика", "двуствольному дробовику", "двуствольный дробовик", "двуствольным дробовиком", "двуствольном дробовике")
desc = "A true classic."
icon_state = "dshotgun"
inhand_icon_state = "shotgun_db"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/surgery/bodyparts/_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,8 @@
if(!IS_ORGANIC_LIMB(src))
grind_results = null

ru_names_rename(RU_NAMES_LIST("[limb_id] [parse_zone(body_zone)]", "[ru_parse_zone(body_zone, declent = NOMINATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = GENITIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = DATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = ACCUSATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = INSTRUMENTAL)] ([limb_id])", "[ru_parse_zone(body_zone, declent = PREPOSITIONAL)] ([limb_id])"))
name = "[limb_id] [parse_zone(body_zone)]"
RU_NAMES_LIST_INIT("[limb_id] [parse_zone(body_zone)]", "[ru_parse_zone(body_zone, declent = NOMINATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = GENITIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = DATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = ACCUSATIVE)] ([limb_id])", "[ru_parse_zone(body_zone, declent = INSTRUMENTAL)] ([limb_id])", "[ru_parse_zone(body_zone, declent = PREPOSITIONAL)] ([limb_id])")
update_icon_dropped()
refresh_bleed_rate()

Expand Down
2 changes: 1 addition & 1 deletion code/modules/surgery/bodyparts/dismemberment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,8 @@
if(pill)
pill.forceMove(src)

ru_names_rename(RU_NAMES_LIST("[owner.real_name]'s head", "голова [owner.real_name]", "головы [owner.real_name]", "голове [owner.real_name]", "голову [owner.real_name]", "головой [owner.real_name]", "голове [owner.real_name]"))
name = "[owner.real_name]'s head"
RU_NAMES_LIST_INIT("[owner.real_name]'s head", "голова [owner.real_name]", "головы [owner.real_name]", "голове [owner.real_name]", "голову [owner.real_name]", "головой [owner.real_name]", "голове [owner.real_name]")
return ..()

///Try to attach this bodypart to a mob, while replacing one if it exists, does nothing if it fails.
Expand Down
11 changes: 8 additions & 3 deletions modular_bandastation/translations/code/pronouns.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#define RU_NAMES_LENGTH 7 // 6 падежей, 1 base

/atom
// code\__DEFINES\bandastation\pronouns.dm for more info
/// RU_NAMES_LIST_INIT("name", "именительный", "родительный", "дательный", "винительный", "творительный", "предложный")
Expand All @@ -9,9 +11,10 @@
var/ru_name_instrumental
var/ru_name_prepositional

/atom/proc/ru_names_rename(var/list/new_list)
if(!length(new_list) || length(ru_names) != length(new_list))
return
/// Необходимо использовать ПЕРЕД изменением var/name, и использовать только этот прок для изменения в рантайме склонений
/atom/proc/ru_names_rename(list/new_list)
if(length(new_list) != RU_NAMES_LENGTH)
CRASH("proc/ru_names_rename() received incorrect list!")
RU_NAMES_LIST_INIT(new_list["base"], new_list[NOMINATIVE], new_list[GENITIVE], new_list[DATIVE], new_list[ACCUSATIVE], new_list[INSTRUMENTAL], new_list[PREPOSITIONAL])

/**
Expand Down Expand Up @@ -320,3 +323,5 @@
if((obscured & ITEM_SLOT_ICLOTHING) && skipface)
temp_gender = PLURAL
return ..()

#undef RU_NAMES_LENGTH

0 comments on commit 1f9bbd6

Please sign in to comment.