Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025

This commit is contained in:
Roxy
2025-10-15 19:34:41 -04:00
656 changed files with 24772 additions and 15866 deletions
@@ -59,15 +59,15 @@
outfit = /datum/outfit/job/assistant
icon_state = "corpsegreytider"
/obj/effect/mob_spawn/corpse/human/assistant/beesease_infection/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/corpse/human/assistant/beesease_infection/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
spawned_mob.ForceContractDisease(new /datum/disease/beesease)
/obj/effect/mob_spawn/corpse/human/assistant/brainrot_infection/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/corpse/human/assistant/brainrot_infection/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
spawned_mob.ForceContractDisease(new /datum/disease/brainrot)
/obj/effect/mob_spawn/corpse/human/assistant/spanishflu_infection/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/corpse/human/assistant/spanishflu_infection/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
spawned_mob.ForceContractDisease(new /datum/disease/fluspanish)
@@ -8,7 +8,7 @@
burn_damage = 1000
mob_species = /datum/species/skeleton
/obj/effect/mob_spawn/corpse/human/charredskeleton/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/charredskeleton/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.color = "#454545"
spawned_human.gender = NEUTER
@@ -34,7 +34,7 @@
outfit = select_outfit()
return ..()
/obj/effect/mob_spawn/corpse/human/legioninfested/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/legioninfested/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
var/obj/item/organ/legion_tumour/cancer = new()
cancer.Insert(spawned_human, special = TRUE, movement_flags = DELETE_IF_REPLACED)
@@ -75,7 +75,7 @@
/// Corpse spawner used by dwarf legions to make small corpses
/obj/effect/mob_spawn/corpse/human/legioninfested/dwarf
/obj/effect/mob_spawn/corpse/human/legioninfested/dwarf/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/legioninfested/dwarf/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.dna.add_mutation(/datum/mutation/dwarfism, MUTATION_SOURCE_MUTATOR)
@@ -123,7 +123,7 @@
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/select_outfit()
return null
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.gender = NEUTER
@@ -134,9 +134,10 @@
brute_damage = 0
burn_damage = 1000
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/charred/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/charred/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.color = "#454545"
spawned_human.AddComponent(/datum/component/storm_hating)
/datum/outfit/consumed_miner
@@ -54,7 +54,7 @@
outfit = /datum/outfit/centcom/centcom_intern/unarmed
mob_name = "Nameless Intern"
/obj/effect/mob_spawn/corpse/human/intern/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/corpse/human/intern/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.gender = MALE //we're making it canon babies
spawned_human.update_body()
@@ -11,7 +11,7 @@
return
. = ..()
/obj/effect/mob_spawn/corpse/ai/special(mob/living/silicon/ai/spawned/dead_ai)
/obj/effect/mob_spawn/corpse/ai/special(mob/living/silicon/ai/spawned/dead_ai, mob/mob_possessor)
. = ..()
dead_ai.name = src.name
dead_ai.real_name = src.name
@@ -24,7 +24,7 @@
///the color of the slime you're spawning.
var/slime_species = /datum/slime_type/grey
/obj/effect/mob_spawn/corpse/slime/special(mob/living/basic/slime/spawned_slime)
/obj/effect/mob_spawn/corpse/slime/special(mob/living/basic/slime/spawned_slime, mob/mob_possessor)
. = ..()
spawned_slime.set_slime_type(slime_species)
@@ -14,7 +14,7 @@
flavour_text = "Walk this mortal plane and terrorize all living adventurers who dare cross your path."
spawner_job_path = /datum/job/skeleton
/obj/effect/mob_spawn/ghost_role/human/skeleton/special(mob/living/new_spawn)
/obj/effect/mob_spawn/ghost_role/human/skeleton/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
to_chat(new_spawn, "<b>You have this horrible lurching feeling deep down that your binding to this world will fail if you abandon this zone... Were you reanimated to protect something?</b>")
new_spawn.AddComponent(/datum/component/stationstuck, PUNISHMENT_MURDER, "You experience a feeling like a stressed twine being pulled until it snaps. Then, merciful nothing.")
@@ -30,7 +30,7 @@
you_are_text = "By unknown powers, your rotting remains have been resurrected!"
flavour_text = "Walk this mortal plane and terrorize all living adventurers who dare cross your path."
/obj/effect/mob_spawn/ghost_role/human/zombie/special(mob/living/new_spawn)
/obj/effect/mob_spawn/ghost_role/human/zombie/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
to_chat(new_spawn, "<b>You have this horrible lurching feeling deep down that your binding to this world will fail if you abandon this zone... Were you reanimated to protect something?</b>")
new_spawn.AddComponent(/datum/component/stationstuck, PUNISHMENT_MURDER, "You experience a feeling like a stressed twine being pulled until it snaps. Then, merciful nothing.")
@@ -7,7 +7,7 @@
show_flavor = FALSE
var/back_story = "error"
/obj/effect/mob_spawn/ghost_role/human/fugitive/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/ghost_role/human/fugitive/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
var/datum/antagonist/fugitive_hunter/fughunter = new
fughunter.backstory = back_story
@@ -242,7 +242,7 @@
to_chat(user, span_warning("You have exhausted your usefulness to the Necropolis."))
return FALSE
/obj/effect/mob_spawn/ghost_role/human/ash_walker/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/ghost_role/human/ash_walker/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
// SKYRAT EDIT ADDITION BEGIN
spawned_human.fully_replace_character_name(null, spawned_human.generate_random_mob_name(TRUE)) // SKYRAT EDIT MOVE - Moving before parent call prevents char name randomization
quirks_enabled = TRUE // ghost role quirks
@@ -301,7 +301,7 @@
random_appearance = FALSE // SKYRAT EDIT ADDITION
deletes_on_zero_uses_left = FALSE
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicate/special(mob/living/new_spawn)
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicate/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER) // SKYRAT EDIT CHANGE - ORIGINAL: new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
@@ -24,7 +24,7 @@
new /obj/structure/fluff/empty_sleeper/syndicate(get_turf(src))
return ..()
/obj/effect/mob_spawn/ghost_role/human/prisoner_transport/special(mob/living/carbon/human/spawned_human)
/obj/effect/mob_spawn/ghost_role/human/prisoner_transport/special(mob/living/carbon/human/spawned_human, mob/mob_possessor)
. = ..()
spawned_human.fully_replace_character_name(null, "NTP #LL-0[rand(111,999)]") //Nanotrasen Prisoner #Lavaland-(numbers)
@@ -153,7 +153,7 @@
new/obj/structure/fluff/empty_sleeper(get_turf(src))
return ..()
/obj/effect/mob_spawn/ghost_role/human/exile/special(mob/living/new_spawn)
/obj/effect/mob_spawn/ghost_role/human/exile/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
new_spawn.fully_replace_character_name(null,"Wish Granter's Victim ([rand(1,999)])")
var/wish = rand(1,4)
@@ -227,7 +227,7 @@
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper"
/obj/effect/mob_spawn/cow/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/cow/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
gender = FEMALE
@@ -270,7 +270,7 @@
outfit = /datum/outfit/syndicatespace/syndicrew
spawner_job_path = /datum/job/syndicate_cybersun
/obj/effect/mob_spawn/ghost_role/human/syndicatespace/special(mob/living/new_spawn)
/obj/effect/mob_spawn/ghost_role/human/syndicatespace/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER) // SKYRAT EDIT CHANGE - ORIGINAL: new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
var/datum/job/spawn_job = SSjob.get_job_type(spawner_job_path)
+2 -2
View File
@@ -53,7 +53,7 @@
spawned_mob_ref = WEAKREF(spawned_mob)
return spawned_mob
/obj/effect/mob_spawn/proc/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/proc/special(mob/living/spawned_mob, mob/mob_possessor)
SHOULD_CALL_PARENT(TRUE)
if(faction)
spawned_mob.faction = faction
@@ -310,7 +310,7 @@
if(mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP))
INVOKE_ASYNC(src, PROC_REF(create))
/obj/effect/mob_spawn/corpse/special(mob/living/spawned_mob)
/obj/effect/mob_spawn/corpse/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
spawned_mob.death(TRUE)
spawned_mob.adjustOxyLoss(oxy_damage)