Skip to content

Commit

Permalink
Merge Upstream 22.01.2025 (#1049)
Browse files Browse the repository at this point in the history
This pull request merges upstream/master. Resolve possible conflicts
manually and make sure all the changes are applied correctly.

## Changelog
:cl: tgstation
add: Теперь вы можете использовать сочетание Ctrl+клик на
идентификационных карточках, чтобы установить своё звание (Honorific),
которое изменит ваше отображаемое имя, отражая ваш ТИТУЛ как РАБОЧЕГО на
КОСМИЧЕСКОЙ СТАНЦИИ 13. <!-- You can now ctrl-click IDs to set your
Honorific, which will change your display name to reflect your TITLE as
a WORKING MAN on SPACE STATION 13.
(www.github.com/tgstation/tgstation/pull/88309) -->
fix: Блоб больше не может размещать своё ядро в руинах на Icebox. <!--
Blob's can no longer place their core in ruins on Icebox.
(www.github.com/tgstation/tgstation/pull/89113) -->
fix: Грузовой экзокостюм Big Bess больше не превращается (визуально) в
стандартный экзокостюм Ripley. <!-- The Big Bess cargo hauler no longer
magically becomes (visually) a standard Ripley exosuit.
(www.github.com/tgstation/tgstation/pull/89148) -->
fix: Deluxe Donk Pockets (и их безуглеводные и веганские варианты)
теперь нельзя создать без получения рецепта. <!-- Deluxe Donk Pockets
(and their no-carb and vegan variants) are no longer craftable without
collecting the recipe. (www.github.com/tgstation/tgstation/pull/89143)
-->
fix: Иконки карманов теперь корректно обновляются при удалении из них
предметов, содержащих хранилище (например, коробка с бинтами). <!--
pockets update their icons correctly when removing items that have
storage (e.g. box of bandages) from them
(www.github.com/tgstation/tgstation/pull/89141) -->
fix: Автоподмотка у удочки больше не будет отрывать интеркомы или другие
закреплённые/неподвижные объекты. <!-- fishing rod auto reel won't rip
of intercoms or other anchored/immovable objects
(www.github.com/tgstation/tgstation/pull/89144) -->
balance: Дубинки теперь учитывают броню, которую носит цель. Аналоговые
дубинки учитывают броню MELEE. Дубинки, работающие на батареях,
учитывают броню ENERGY. <!-- Batons now respect the armor worn by
targets. Analog batons respect MELEE armor. Cell-type batons respect
ENERGY armor. (www.github.com/tgstation/tgstation/pull/87754) -->
balance: У различных дубинок теперь разная степень пробивания брони,
основанная на определённых значениях. <!-- Various batons have differing
amounts of armour penetration based on some values.
(www.github.com/tgstation/tgstation/pull/87754) -->
balance: У руководителей департаментов дубинки имеют цветовую градацию
для обозначения уровня пробивания брони: бронзовая (Квартирмейстер),
серебряная (Главный инженер, Главный врач, Глава персонала, Директор
исследований), золотая (Капитан). <!-- Heads of staff have color graded
batons to denote penetration power. Bronze (Quartermaster), Silver
(Chief Engineer, Chief Medical Officer, Head of Personnel, Research
Director), Gold (Captain)
(www.github.com/tgstation/tgstation/pull/87754) -->
balance: Дубинки, работающие на батареях, получают дополнительное
пробивание брони в зависимости от качества батареи. Чем лучше батарея,
тем больше пробивание. <!-- Cell-type batons gain armor penetration
based on their cell's quality. The better it is, the more it penetrates.
(www.github.com/tgstation/tgstation/pull/87754) -->
add: Главы службы безопасности теперь получают оглушающий меч NT-20
"Экскалибур". Он обладает повышенным пробиванием брони. И это буквально
меч. Просто для удовольствия. <!-- Heads of Security get the NT-20
'Excalibur' stun sword. It comes with extra armor penetration. And it is
a literal sword. For funsies.
(www.github.com/tgstation/tgstation/pull/87754) -->
refactor: Зомби-NPC, встречающиеся в руинах, теперь используют базовую
структуру мобов. Если вы заметите какое-либо странное поведение,
пожалуйста, создайте отчёт. <!-- NPC zombies found in ruins now use the
basic mob framework. Please make an issue report if they exhibit any
unusual behaviour. (www.github.com/tgstation/tgstation/pull/89153) -->
fix: Клипборды больше не сохраняют ручки, удалённые с помощью Instant
Recall. <!-- Clipboards should no longer retain pens that got removed
via Instant Recall (www.github.com/tgstation/tgstation/pull/89156) -->
fix: Головы с оставшимися мозгами теперь не выглядят как обезмозгленные.
<!-- Heads with brains no longer look debrained
(www.github.com/tgstation/tgstation/pull/89157) -->
balance: Установлено ограничение на один слот брони для всех созданных
на станции мехов, кроме Phazon. <!-- Reduces armor slots to 1 for all
station built mechs except the phazon.
(www.github.com/tgstation/tgstation/pull/88789) -->
balance: Броня от ближнего боя для мехов увеличена с 15 до 20. <!--
melee mech armor has been increased to 20 from 15.
(www.github.com/tgstation/tgstation/pull/88789) -->
balance: Броня мехов против снарядов и лазеров увеличена с 10 до 15.
<!-- mech bullet and laser armor has both been increased to 15 from 10.
(www.github.com/tgstation/tgstation/pull/88789) -->
balance: Ремонтного дроида больше нельзя стакать на мехах. <!-- You can
no longer stack the repair droid on mechs.
(www.github.com/tgstation/tgstation/pull/88789) -->
fix: Разломы снова несовместимы с взрывной рыбалкой. <!-- Chasms are
once again incompatible with explosive fishing.
(www.github.com/tgstation/tgstation/pull/89132) -->
/:cl:

## Summary by Sourcery

Update batons to respect armor and add honorifics to IDs.

New Features:
- Ctrl-click IDs to set an honorific, changing display name to reflect
title.
- Security heads now have the NT-20 "Excalibur" stun sword with
increased armor penetration.

Bug Fixes:
- Blob no longer places core in Icebox ruins.
- Big Bess mech no longer visually transforms into a Ripley mech.
- Deluxe Donk Pockets now require a recipe to craft.
- Pocket icons update correctly when removing items with storage.
- Fishing rod auto reel no longer rips off anchored objects.
- Clipboards no longer retain pens removed via Instant Recall.
- Heads with brains no longer appear debrained.
- Chasms are incompatible with explosive fishing.
  • Loading branch information
Gaxeer authored Jan 25, 2025
2 parents 226d35a + c6b0197 commit afae022
Show file tree
Hide file tree
Showing 95 changed files with 717 additions and 509 deletions.
12 changes: 6 additions & 6 deletions _maps/RandomRuins/SpaceRuins/interdyne.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
"eJ" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
Expand Down Expand Up @@ -496,7 +496,7 @@
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
"uy" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
"vd" = (
Expand Down Expand Up @@ -656,7 +656,7 @@
/turf/open/floor/mineral/plastitanium/red,
/area/ruin/space/has_grav/interdyne)
"By" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/mineral/plastitanium/red,
/area/ruin/space/has_grav/interdyne)
Expand All @@ -672,7 +672,7 @@
/turf/open/floor/iron/smooth,
/area/ruin/space/has_grav/interdyne)
"DA" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
Expand Down Expand Up @@ -719,7 +719,7 @@
/area/ruin/space/has_grav/interdyne)
"Ft" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
Expand All @@ -732,7 +732,7 @@
/turf/open/floor/mineral/plastitanium/red,
/area/ruin/space/has_grav/interdyne)
"FC" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium,
/area/ruin/space/has_grav/interdyne)
Expand Down
2 changes: 1 addition & 1 deletion _maps/RandomRuins/SpaceRuins/meatderelict.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1008,7 +1008,7 @@
/area/ruin/space/has_grav/powered/biooutpost)
"tv" = (
/obj/effect/decal/cleanable/blood/tracks,
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/turf/open/indestructible/white{
icon_state = "showroomfloor"
},
Expand Down
16 changes: 3 additions & 13 deletions _maps/map_files/NebulaStation/NebulaStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -81457,12 +81457,6 @@
/obj/item/reagent_containers/cup/rag,
/turf/open/floor/iron/white/textured_large,
/area/station/maintenance/department/medical)
"mdT" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/closed/wall,
/area/station/maintenance/fore/lesser)
"mec" = (
/obj/effect/turf_decal/siding/wood{
dir = 6
Expand Down Expand Up @@ -118778,10 +118772,6 @@
/obj/effect/turf_decal/siding/thinplating_new/dark/corner,
/turf/open/floor/iron/dark/herringbone,
/area/station/service/chapel/funeral)
"rDY" = (
/obj/structure/disposalpipe/segment,
/turf/closed/wall,
/area/station/maintenance/fore/greater)
"rEc" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
Expand Down Expand Up @@ -196595,7 +196585,7 @@ fQE
cUZ
xGl
pjP
mdT
iEt
xnA
pQW
hAK
Expand Down Expand Up @@ -266242,7 +266232,7 @@ bzt
jkE
nLg
cij
rDY
bYy
loK
kCi
nKp
Expand Down Expand Up @@ -294174,4 +294164,4 @@ txW
txW
txW
txW
"}
"}
38 changes: 4 additions & 34 deletions _maps/shuttles/whiteship_box.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -273,15 +273,7 @@
dir = 9
},
/obj/structure/cable,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass";
outfit = /datum/outfit/corpse_assistant
},
/mob/living/basic/zombie/rotten/assistant,
/turf/open/floor/iron/white/corner{
dir = 1
},
Expand Down Expand Up @@ -360,14 +352,7 @@
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass"
},
/mob/living/basic/zombie/rotten,
/turf/open/floor/iron,
/area/shuttle/abandoned/crew)
"aQ" = (
Expand Down Expand Up @@ -841,14 +826,7 @@
},
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass"
},
/mob/living/basic/zombie/rotten,
/turf/open/floor/iron,
/area/shuttle/abandoned/medbay)
"bT" = (
Expand Down Expand Up @@ -1449,15 +1427,7 @@
},
/obj/effect/decal/cleanable/blood/gibs/old,
/obj/structure/cable,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass";
outfit = /datum/outfit/corpse_assistant
},
/mob/living/basic/zombie/rotten/assistant,
/turf/open/floor/iron,
/area/shuttle/abandoned/medbay)
"dc" = (
Expand Down
30 changes: 3 additions & 27 deletions _maps/shuttles/whiteship_personalshuttle.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -162,15 +162,7 @@
/obj/structure/cable,
/obj/effect/decal/cleanable/blood/splatter,
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass";
outfit = /datum/outfit/corpse_assistant
},
/mob/living/basic/zombie/rotten/assistant,
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned/engine)
"gG" = (
Expand All @@ -195,15 +187,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
/obj/effect/decal/cleanable/blood/splatter,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass";
outfit = /datum/outfit/corpse_assistant
},
/mob/living/basic/zombie/rotten/assistant,
/turf/open/floor/plating,
/area/shuttle/abandoned/engine)
"nI" = (
Expand Down Expand Up @@ -260,15 +244,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/splatter,
/obj/structure/chair/comfy/shuttle,
/mob/living/simple_animal/hostile/zombie{
desc = "This undead fiend looks to be badly decomposed.";
environment_smash = 0;
health = 60;
melee_damage_lower = 11;
melee_damage_upper = 11;
name = "Rotting Carcass";
outfit = /datum/outfit/corpse_assistant
},
/mob/living/basic/zombie/rotten/assistant,
/turf/open/floor/mineral/plastitanium,
/area/shuttle/abandoned/bridge)
"pS" = (
Expand Down
2 changes: 1 addition & 1 deletion _maps/virtual_domains/psyker_zombies.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
/turf/open/indestructible/dark,
/area/virtual_domain)
"X" = (
/mob/living/simple_animal/hostile/zombie,
/mob/living/basic/zombie,
/turf/open/indestructible/dark,
/area/virtual_domain)
"Y" = (
Expand Down
19 changes: 19 additions & 0 deletions code/__DEFINES/id_cards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,22 @@
* Used to crop the ID card's transparency away when chaching the icon for better use in tgui chat.
*/
#define ID_ICON_BORDERS 1, 9, 32, 24

///Honorific will display next to the first name.
#define HONORIFIC_POSITION_FIRST (1<<0)
///Honorific will display next to the last name.
#define HONORIFIC_POSITION_LAST (1<<1)
///Honorific will not be displayed.
#define HONORIFIC_POSITION_NONE (1<<2)
///Honorific will be appended to the full name at the start.
#define HONORIFIC_POSITION_FIRST_FULL (1<<3)
///Honorific will be appended to the full name at the end.
#define HONORIFIC_POSITION_LAST_FULL (1<<4)

#define HONORIFIC_POSITION_BITFIELDS(...) list( \
"Honorific + First Name" = HONORIFIC_POSITION_FIRST, \
"Honorific + Last Name" = HONORIFIC_POSITION_LAST, \
"Honorific + Full Name" = HONORIFIC_POSITION_FIRST_FULL, \
"Full Name + Honorific" = HONORIFIC_POSITION_LAST_FULL, \
"Disable Honorific" = HONORIFIC_POSITION_NONE, \
)
3 changes: 3 additions & 0 deletions code/__DEFINES/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,6 @@
///Defines for priorities for the bubble_icon_override comp
#define BUBBLE_ICON_PRIORITY_ACCESSORY 2
#define BUBBLE_ICON_PRIORITY_ORGAN 1

/// Sent from /atom/movable/proc/compose_message() to find an honorific. Compatible with NAME_PART_INDEX: (list/stored_name, mob/living/carbon/carbon_human)
#define COMSIG_ID_GET_HONORIFIC "id_get_honorific"
6 changes: 2 additions & 4 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,10 @@
//several flags for the Necropolis curse status effect
///makes the edges of the target's screen obscured
#define CURSE_BLINDING (1<<0)
///spawns creatures that attack the target only
#define CURSE_SPAWNING (1<<1)
///causes gradual damage
#define CURSE_WASTING (1<<2)
#define CURSE_WASTING (1<<1)
///hands reach out from the sides of the screen, doing damage and stunning if they hit the target
#define CURSE_GRASPING (1<<3)
#define CURSE_GRASPING (1<<2)

//Incapacitated status effect flags
/// If the mob is normal incapacitated. Should never need this, just avoids issues if we ever overexpand this
Expand Down
19 changes: 19 additions & 0 deletions code/__HELPERS/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -374,3 +374,22 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex)
return "a rolling pin"
else
return "something... but the gods didn't set this up right (Please report this bug)"

///Find the first name of a mob from a passed string with regex
/proc/first_name(given_name)
var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace or "-"
firstname.Find(given_name)
return firstname.match

/// Find the last name of a mob from a passed string with regex
/proc/last_name(given_name)
var/static/regex/lasttname = new("\[^\\s-\]+$") //First word before whitespace or "-"
lasttname.Find(given_name)
return lasttname.match

/// Find whitespace or dashes in the passed string with regex and returns TRUE if found
/proc/is_mononym(given_name)
var/static/regex/breaks = regex(@"\s")
if(breaks.Find(given_name))
return FALSE
return TRUE
2 changes: 1 addition & 1 deletion code/_globalvars/phobias.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ GLOBAL_LIST_INIT(phobia_mobs, list(
/mob/living/basic/shade,
/mob/living/basic/skeleton,
/mob/living/basic/wizard,
/mob/living/basic/zombie,
/mob/living/simple_animal/bot/mulebot/paranormal,
/mob/living/simple_animal/hostile/dark_wizard,
/mob/living/simple_animal/hostile/zombie,
)),
))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@

/atom/movable/screen/plane_master/ghost
name = "Ghost"
documentation = "Ghosts draw here, so they don't get mixed up in the visuals of the game world. Note, this is not not how we HIDE ghosts from people, that's done with invisible and see_invisible."
documentation = "Ghosts draw here, so they don't get mixed up in the visuals of the game world. Note, this is not how we HIDE ghosts from people, that's done with invisible and see_invisible."
plane = GHOST_PLANE
render_relay_planes = list(RENDER_PLANE_NON_GAME)

Expand Down
Loading

0 comments on commit afae022

Please sign in to comment.