Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit

This commit is contained in:
Waterpig
2024-09-08 00:59:39 +02:00
1728 changed files with 273718 additions and 2237 deletions
@@ -14,8 +14,11 @@
the hostile creatures, and the ash drakes swooping down from the cloudless skies, all you can wish for is the feel of soft grass between your toes and \
the fresh air of Earth. These thoughts are dispelled by yet another recollection of how you got here... "
spawner_job_path = /datum/job/hermit
<<<<<<< HEAD
quirks_enabled = TRUE // SKYRAT EDIT ADDITION - ghost role loadouts
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/hermit/Initialize(mapload)
. = ..()
@@ -81,8 +84,11 @@
flavour_text = "Ch'yea. You came here, like, on spring break, hopin' to pick up some bangin' hot chicks, y'knaw?"
spawner_job_path = /datum/job/beach_bum
outfit = /datum/outfit/beachbum
<<<<<<< HEAD
quirks_enabled = TRUE // SKYRAT EDIT ADDITION - ghost role loadouts
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/beach/lifeguard
you_are_text = "You're a spunky lifeguard!"
@@ -123,7 +129,10 @@
flavour_text = "Time to mix drinks and change lives. Smoking space drugs makes it easier to understand your patrons' odd dialect."
spawner_job_path = /datum/job/space_bartender
outfit = /datum/outfit/spacebartender
<<<<<<< HEAD
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/datum/outfit/spacebartender
name = "Space Bartender"
@@ -159,8 +168,11 @@
and eventually bring life to this desolate planet while waiting for contact from your creators. \
Estimated time of last contact: Deployment, 5000 millennia ago."
spawner_job_path = /datum/job/lifebringer
<<<<<<< HEAD
restricted_species = list(/datum/species/pod) //SKYRAT EDIT ADDITION
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/seed_vault/Initialize(mapload)
. = ..()
@@ -228,8 +240,11 @@
spawner_job_path = /datum/job/ash_walker
var/datum/team/ashwalkers/team
var/obj/structure/ash_walker_eggshell/eggshell
<<<<<<< HEAD
restricted_species = list(/datum/species/lizard/ashwalker) //SKYRAT EDIT ADDITION
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/ash_walker/Destroy()
eggshell = null
@@ -243,10 +258,13 @@
return FALSE
/obj/effect/mob_spawn/ghost_role/human/ash_walker/special(mob/living/carbon/human/spawned_human)
<<<<<<< HEAD
// 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
// SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
. = ..()
spawned_human.fully_replace_character_name(null, spawned_human.generate_random_mob_name(TRUE))
to_chat(spawned_human, "<b>Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Invade the strange structure of the outsiders if you must. Do not cause unnecessary destruction, as littering the wastes with ugly wreckage is certain to not gain you favor. Glory to the Necropolis!</b>")
@@ -296,14 +314,21 @@
important_text = "The base is rigged with explosives, DO NOT abandon it or let it fall into enemy hands!"
outfit = /datum/outfit/lavaland_syndicate
spawner_job_path = /datum/job/lavaland_syndicate
<<<<<<< HEAD
loadout_enabled = TRUE // SKYRAT EDIT ADDITION - ghost role loadouts
quirks_enabled = TRUE // SKYRAT EDIT ADDITION - ghost role loadouts
random_appearance = FALSE // SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
deletes_on_zero_uses_left = FALSE
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicate/special(mob/living/new_spawn)
. = ..()
<<<<<<< HEAD
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER) // SKYRAT EDIT CHANGE - ORIGINAL: new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
=======
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicate/comms
name = "Syndicate Comms Agent"
@@ -324,6 +349,7 @@
ears = /obj/item/radio/headset/syndicate/alt
shoes = /obj/item/clothing/shoes/combat
r_pocket = /obj/item/gun/ballistic/automatic/pistol
<<<<<<< HEAD
r_hand = /obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/sindano/evil // SKYRAT EDIT - Original: /obj/item/gun/ballistic/rifle/sniper_rifle
implants = list(/obj/item/implant/weapons_auth)
@@ -335,6 +361,14 @@
syndicate.faction |= ROLE_SYNDICATE
*/
// SKYRAT EDIT REMOVAL END
=======
r_hand = /obj/item/gun/ballistic/rifle/sniper_rifle
implants = list(/obj/item/implant/weapons_auth)
/datum/outfit/lavaland_syndicate/post_equip(mob/living/carbon/human/syndicate, visualsOnly = FALSE)
syndicate.faction |= ROLE_SYNDICATE
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/datum/outfit/lavaland_syndicate/comms
name = "Lavaland Syndicate Comms Agent"
@@ -160,6 +160,11 @@
l_pocket = /obj/item/uplink/nuclear
r_pocket = /obj/item/modular_computer/pda/nukeops
<<<<<<< HEAD
=======
skillchips = list(/obj/item/skillchip/disk_verifier)
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/captain
name = "Syndicate Battlecruiser Captain"
you_are_text = "You are the captain aboard the syndicate flagship: the SBC Starfury."
@@ -272,7 +272,11 @@
/obj/effect/mob_spawn/ghost_role/human/syndicatespace/special(mob/living/new_spawn)
. = ..()
<<<<<<< HEAD
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER) // SKYRAT EDIT CHANGE - ORIGINAL: new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
=======
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_MIND)
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
var/datum/job/spawn_job = SSjob.GetJobType(spawner_job_path)
var/policy = get_policy(spawn_job.policy_index)
if(policy)
+30
View File
@@ -38,6 +38,15 @@
if(faction)
faction = string_list(faction)
<<<<<<< HEAD
=======
/obj/effect/mob_spawn/Destroy()
spawned_mob_ref = null
if(istype(outfit))
QDEL_NULL(outfit)
return ..()
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/// Creates whatever mob the spawner makes. Return FALSE if we want to exit from here without doing that, returning NULL will be logged to admins.
/obj/effect/mob_spawn/proc/create(mob/mob_possessor, newname)
var/mob/living/spawned_mob = new mob_type(get_turf(src)) //living mobs only
@@ -59,7 +68,10 @@
spawned_human.underwear = "Nude"
spawned_human.undershirt = "Nude"
spawned_human.socks = "Nude"
<<<<<<< HEAD
spawned_human.bra = "Nude" //SKYRAT EDIT ADDITION
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
randomize_human_normie(spawned_human)
if(hairstyle)
spawned_human.set_hairstyle(hairstyle, update = FALSE)
@@ -132,12 +144,20 @@
/// Whether this offers a temporary body or not. Essentially, you'll be able to reenter your body after using this spawner.
var/temp_body = FALSE
<<<<<<< HEAD
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/effect/mob_spawn/ghost_role/Initialize(mapload)
. = ..()
SSpoints_of_interest.make_point_of_interest(src)
LAZYADD(GLOB.mob_spawners[name], src)
<<<<<<< HEAD
/obj/effect/mob_spawn/Destroy()
=======
/obj/effect/mob_spawn/ghost_role/Destroy()
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
var/list/spawners = GLOB.mob_spawners[name]
LAZYREMOVE(spawners, src)
if(!LAZYLEN(spawners))
@@ -156,6 +176,7 @@
var/user_ckey = user.ckey // Just in case shenanigans happen, we always want to remove it from the list.
LAZYADD(ckeys_trying_to_spawn, user_ckey)
<<<<<<< HEAD
// SKYRAT EDIT ADDITION START
if(restricted_species && !(user.client?.prefs?.read_preference(/datum/preference/choiced/species) in restricted_species))
var/incorrect_species = tgui_alert(user, "Current species preference incompatible, proceed with random appearance?", "Incompatible Species", list("Yes", "No"))
@@ -164,6 +185,8 @@
return
// SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
if(prompt_ghost)
var/prompt = "Become [prompt_name]?"
if(!temp_body && user.can_reenter_corpse && user.mind)
@@ -186,12 +209,15 @@
to_chat(user, span_warning("You are banned from this role!"))
LAZYREMOVE(ckeys_trying_to_spawn, user_ckey)
return
<<<<<<< HEAD
// SKYRAT EDIT ADDITION START
if(is_banned_from(user.ckey, BAN_GHOST_ROLE_SPAWNER)) // Ghost role bans
to_chat(user, span_warning("Error, you are banned from playing ghost roles!"))
LAZYREMOVE(ckeys_trying_to_spawn, user_ckey)
return
// SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
if(!allow_spawn(user, silent = FALSE))
LAZYREMOVE(ckeys_trying_to_spawn, user_ckey)
return
@@ -275,6 +301,10 @@
///these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
/obj/effect/mob_spawn/corpse
<<<<<<< HEAD
=======
density = FALSE //these are pretty much abstract objects that leave a corpse in their place.
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
///when this mob spawn should auto trigger.
var/spawn_when = CORPSE_INSTANT