Files
c#min7 60d09f31b1 TCAF expansion/rework stuff (#22717)
- renames/redescs/etc existing stuff to fit new TCAF lore
- lots of 4 years defunct TCFL stuff has been deleted or
repathed/renamed
- the tcfl peacekeeper ship that was soft-removed has been deleted
- the uniforms has also been modified and have had the necessary amount
of blue added. essentially i kitbashed the old TCFL uniforms with the
new TCAF uniforms

i probably missed a lot of tcfl stuff still.

---------

Signed-off-by: c#min7 <sadkermit01@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2026-06-22 13:53:32 +00:00

439 lines
16 KiB
Plaintext

/datum/ghostspawner/human/rescuepodsurv
short_name = "rescuepodsurv"
name = "Rescue Pod Survivor"
desc = "You managed to get into a rescue pod and landed somewhere on an asteroid in the sector."
tags = list("External")
enabled = FALSE
req_perms = null
max_count = 1
//Vars related to human mobs
outfit = /obj/outfit/admin/random/visitor
possible_species = list(SPECIES_HUMAN,SPECIES_HUMAN_OFFWORLD,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN,SPECIES_UNATHI,SPECIES_VAURCA_WARRIOR,SPECIES_VAURCA_ATTENDANT,SPECIES_VAURCA_WORKER)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Pod Survivor"
special_role = "Pod Survivor"
respawn_flag = null
mob_name = null
/datum/ghostspawner/human/rescuepodsurv/New()
. = ..()
var/t = pick(list("star", "priest", "rep", "smuggler", "hunter", "occultist", "pmc", "fsf", "scc", "fib"))
if(t == "star")
welcome_message = "You are a stranded star!<br>You were relaxing comfortably in your cryo pod as tragedy struck - the pilot of your luxury yacht fell asleep under some mysterious circumstances. You were unceremoniously stuffed into an escape pod, and left to wander in space. What a despicable, low-quality plot to get rid of you. Should've chosen murder instead - you certainly know you'll convince someone nice to lend you a shuttle."
outfit = /obj/outfit/admin/pod/star
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else if(t == "priest")
welcome_message = "You are a stranded Trinary Perfection priest!<br>You were traveling around space on your small shuttle, preaching peacefully of the future divinity of the synthetics, and the grand purpose of mankind as the ones to help them achieve that goal. Unfortunately, Dominians don't seem to be as peaceful in disagreeing with your views - and had to evacuate your shot-down ship. Have your prayers to the Divines helped you now?"
outfit = /obj/outfit/admin/pod/priest
possible_species = list(SPECIES_HUMAN)
else if(t == "rep")
welcome_message = "You are a stranded Idris Incorporated representative!<br>You were traveling back from your business in Sol to the Mendell City HQ. Unfortunately, after a very unusual set of circumstances, the engine broke down just almost as you got back. You're stranded somewhere nearby - perhaps your excellent customer service and negotiation skills might get you a ride back to Mendell?"
outfit = /obj/outfit/admin/pod/rep
possible_species = list(SPECIES_HUMAN)
else if(t == "hunter")
welcome_message = "You are a stranded space fauna hunter!<br>Your ship has been attacked by a wild megacarp - a rare, almost mythical animal... with very expensive trophies. In this encounter, you lost. But the hunt lives on! You just need to find a new spacefaring vessel!"
outfit = /obj/outfit/admin/pod/hunter
possible_species = list(SPECIES_HUMAN) // no ayyliums because the frontier rig only fits humans. i wish i could put unathi in here tho
else if(t == "occultist")
welcome_message = "You are a stranded occultist!<br>This unfortunate turn of events was in the cards. Nonetheless, you managed to save your most prized possessions - your magical deck of cards and your ominous, definitely magical robes. The cards have also told you that your bad luck will surely be followed by good fortune."
outfit = /obj/outfit/admin/pod/occultist
else if(t == "pmc")
welcome_message = "You are a stranded Eridani paramilitary sergeant!<br>You aren't getting paid enough for this shit. Where's the pickup shuttle?"
outfit = /obj/outfit/admin/pod/pmc
possible_species = list(SPECIES_HUMAN) // no cycler in the pod, spawns in a voidsuit
else if(t == "fsf")
welcome_message = "You are a stranded Petty Officer of the Free Solarian Fleets!<br>Your skiff out of the FSFV Sforza was on a routine patrol when an accident or an attack forced you to abandon ship. Thankfully, you seem to be in friendly territory..."
outfit = /obj/outfit/admin/pod/fsf
possible_species = list(SPECIES_HUMAN)
else if(t == "scc")
welcome_message = "You are a stranded Stellar Corporate Conglomerate low-level functionary!<br>A routine inspection of SCC assets in the Romanovich cloud turned into disaster when your shuttle's reactor suddenly and mysteriously failed. You narrowly escaped with your life. Worst of all? You lost your paperwork."
outfit = /obj/outfit/admin/pod/scc
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else if(t == "fib")
welcome_message = "You are a stranded Federal Investigation Bureau Agent!<br>What was supposed to be a standard investigation turned into a nightmare when the vessel you were supposed to board opened fire! You just managed to reach an escape pod before your own ship was turned into smoldering rubble. You really need some coffee."
outfit = /obj/outfit/admin/pod/bssb
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else
welcome_message = "You are a stranded drugs smuggler!<br>You shouldn't have had the fucking Tajara pilot your ship. <i>Of course</i> we crashed into a rock. Good thing you've got some of the stuff with you while evacuating - maybe you'll crash somewhere you could sell it for a ticket back?"
outfit = /obj/outfit/admin/pod/smuggler
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_UNATHI)
/datum/ghostspawner/human/rescuepodsurv/select_spawnlocation(var/use=TRUE)
var/list/possible_areas = list(/area/exoplanet/barren/asteroid)
var/turf/T = pick_area_turf(pick(possible_areas))
if(!use) //If we are just checking if we can get one, return the turf we found
return T
if(!T) //If we didnt find a turn, return now
return null
//Otherwise spawn a droppod at that location
var/x = T.x
var/y = T.y
var/z = T.z
new /datum/random_map/droppod(null,x,y,z,supplied_drop="custom",do_not_announce=TRUE,automated=FALSE)
return get_turf(locate(x+1,y+1,z)) //Get the turf again, so we end up inside of the pod - There is probs a better way to do this
//Base equipment for the pod (softsuit + emergency oxygen)
/obj/outfit/admin/pod
head = /obj/item/clothing/head/helmet/space/emergency
mask = /obj/item/clothing/mask/breath
id = /obj/item/card/id
suit = /obj/item/clothing/suit/space/emergency
suit_store = /obj/item/tank/emergency_oxygen/double
l_ear = /obj/item/radio/headset
back = /obj/item/storage/backpack
/obj/outfit/admin/pod/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
//Turn on the oxygen tank
H.internal = H.s_store
if(istype(H.internal,/obj/item/tank) && H.internals)
H.internals.icon_state = "internal1"
//Spawn a drill
new /obj/item/pickaxe/drill(H.loc)
new /obj/item/gps(H.loc)
new /obj/item/flashlight/flare/mech(H.loc) // spawns an active flare
new /obj/item/clothing/suit/space/emergency(H.loc) // weak softsuit, so if for whatever reason
new /obj/item/clothing/head/helmet/space/emergency(H.loc) // the survivor spawns with no EVA gear,
new /obj/item/tank/emergency_oxygen/double(H.loc) // they can use this, and not just die in space
/obj/outfit/admin/pod/star
name = "RescuePod - Star"
uniform = "suit selection"
shoes = "oxford shoe selection"
backpack_contents = list(
/obj/item/lipstick/random = 2,
/obj/item/haircomb/random = 1,
/obj/item/spacecash/c1000 = 2,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1
)
/obj/outfit/admin/pod/star/get_id_assignment()
return "Visitor"
/obj/outfit/admin/pod/star/get_id_rank()
return "Visitor"
/obj/outfit/admin/pod/priest
name = "RescuePod - Priest"
uniform = /obj/item/clothing/under/rank/chaplain
shoes = /obj/item/clothing/shoes/sneakers/black
pda = /obj/item/modular_computer/handheld/pda/civilian/chaplain
backpack_contents = list(
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1
)
/obj/outfit/admin/pod/priest/get_id_assignment()
return "Priest"
/obj/outfit/admin/pod/priest/get_id_rank()
return "Priest"
/obj/outfit/admin/pod/rep
name = "RescuePod - IdrisRep"
head = /obj/item/clothing/head/beret/corporate/idris
uniform = /obj/item/clothing/under/rank/liaison/idris
suit = /obj/item/clothing/suit/storage/liaison/idris
id = /obj/item/card/id/idris
pda = /obj/item/modular_computer/handheld/pda/civilian/lawyer
shoes = /obj/item/clothing/shoes/laceup
glasses = /obj/item/clothing/glasses/sunglasses/big
l_hand = /obj/item/storage/briefcase
accessory = /obj/item/clothing/accessory/tie/corporate/idris
suit_accessory = /obj/item/clothing/accessory/pin/corporate/idris
backpack_contents = list(
/obj/item/camera = 1,
/obj/item/gun/energy/pistol = 1,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1,
/obj/item/stamp/idris = 1
)
/obj/outfit/admin/pod/rep/get_id_assignment()
return "Corporate Liaison (Idris)"
/obj/outfit/admin/pod/rep/get_id_rank()
return "Corporate Liaison"
/obj/outfit/admin/pod/smuggler
name = "RescuePod - Smuggler"
shoes = "shoe selection"
uniform = "pants selection"
backpack_contents = list(
/obj/item/reagent_containers/inhaler/space_drugs = 3,
/obj/item/reagent_containers/inhaler/hyperzine = 2,
/obj/item/reagent_containers/inhaler/soporific = 1,
/obj/item/gun/projectile/leyon = 1,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1
)
/obj/outfit/admin/pod/smuggler/get_id_assignment()
return "Merchant"
/obj/outfit/admin/pod/smuggler/get_id_rank()
return "Merchant"
/obj/outfit/admin/pod/hunter
name = "RescuePod - Hunter"
head = null
suit = null
suit_store = null // the rig has an inbuilt tank
l_hand = /obj/item/material/twohanded/spear/plasteel
shoes = /obj/item/clothing/shoes/jackboots
id = /obj/item/card/id
uniform = "pants selection"
back = /obj/item/rig/gunslinger
/obj/outfit/admin/pod/hunter/get_id_assignment()
return "Visitor"
/obj/outfit/admin/pod/hunter/get_id_rank()
return "Visitor"
/obj/outfit/admin/pod/occultist
name = "RescuePod - Occultist"
id = /obj/item/card/id
shoes = /obj/item/clothing/shoes/laceup
uniform = "suit selection"
backpack_contents = list(
/obj/item/clothing/head/fake_culthood = 1,
/obj/item/clothing/suit/fake_cultrobes = 1,
/obj/item/deck/tarot = 1,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1
)
/obj/outfit/admin/pod/occultist/get_id_assignment()
return "Visitor"
/obj/outfit/admin/pod/occultist/get_id_rank()
return "Visitor"
/obj/outfit/admin/pod/pmc
name = "RescuePod - PMCG Sergeant"
head = /obj/item/clothing/head/helmet/space/void/cruiser
suit = /obj/item/clothing/suit/space/void/cruiser
suit_store = /obj/item/tank/oxygen
shoes = /obj/item/clothing/shoes/jackboots
id = /obj/item/card/id/pmc
pda = /obj/item/modular_computer/handheld/pda/security
belt = /obj/item/gun/energy/gun/nuclear
uniform = /obj/item/clothing/under/rank/security/pmc
/obj/outfit/admin/pod/pmc/get_id_assignment()
return "Security Officer (PMCG)"
/obj/outfit/admin/pod/pmc/get_id_rank()
return "Security Officer"
/obj/outfit/admin/pod/fsf
name = "RescuePod - FSF Crewman"
uniform = /obj/item/clothing/under/rank/sol/
shoes = /obj/item/clothing/shoes/jackboots
belt = /obj/item/storage/belt/military
back = /obj/item/storage/backpack/satchel
head = /obj/item/clothing/head/helmet/space/void/sol
suit = /obj/item/clothing/suit/space/void/sol
suit_store = /obj/item/tank/oxygen
id = /obj/item/card/id/distress/fsf
accessory = /obj/item/clothing/accessory/holster/hip/
accessory_contents = list(/obj/item/gun/projectile/pistol/sol = 1)
belt_contents = list(
/obj/item/melee/energy/sword/knife/sol = 1,
/obj/item/ammo_magazine/mc9mm = 1,
/obj/item/flashlight/flare = 1,
/obj/item/radio = 1
)
backpack_contents = list(
/obj/item/clothing/head/sol = 1
)
/obj/outfit/admin/pod/fsf/get_id_assignment()
return "Free Solarian Fleets Crewman"
/obj/outfit/admin/pod/fsf/get_id_rank()
return "Free Solarian Fleets Crewman"
/obj/outfit/admin/pod/scc
name = "RescuePod - SCC"
uniform = /obj/item/clothing/under/rank/scc
back = /obj/item/storage/backpack/satchel/leather
shoes = /obj/item/clothing/shoes/laceup
glasses = /obj/item/clothing/glasses/sunglasses
l_hand = /obj/item/storage/briefcase
accessory = /obj/item/clothing/accessory/holster/hip/
backpack_contents = list(
/obj/item/camera = 1,
/obj/item/gun/energy/repeater = 1,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1
)
/obj/outfit/admin/pod/scc/get_id_assignment()
return "Stellar Corporate Conglomerate Functionary"
/obj/outfit/admin/pod/scc/get_id_rank()
return "Stellar Corporate Conglomerate Functionary"
/obj/outfit/admin/pod/bssb
name = "RescuePod - BSSB" // Doctor Pavel, I'm FIB.
uniform = /obj/item/clothing/under/rank/bssb
shoes = /obj/item/clothing/shoes/laceup
gloves = /obj/item/clothing/gloves/black
l_pocket = /obj/item/reagent_containers/spray/pepper
glasses = /obj/item/clothing/glasses/sunglasses
accessory = /obj/item/clothing/accessory/holster/hip
accessory_contents = list(/obj/item/gun/projectile/sec/lethal = 1)
back = /obj/item/storage/backpack/satchel/leather
backpack_contents = list(
/obj/item/camera = 1,
/obj/item/clothing/suit/storage/toggle/bssb = 1,
/obj/item/handcuffs = 1,
/obj/item/oxycandle = 1,
/obj/item/airbubble = 1,
/obj/item/ammo_magazine/c45m = 1
)
/obj/outfit/admin/pod/bssb/get_id_assignment()
return "Federal Investigation Bureau Agent"
/obj/outfit/admin/pod/bssb/get_id_rank()
return "Federal Investigation Bureau Agent"
/datum/ghostspawner/human/rescuepodsurv/burglar
short_name = "burglarpod"
name = "Burglar"
desc = "Your last attempt at petty theft went awry, and now you're heading toward an asteroid in a ratty escape pod."
/datum/ghostspawner/human/rescuepodsurv/burglar/New()
welcome_message = "You're a petty criminal on the run from the law!<br>After a failed bit of theft and larceny, you've found yourself in an escape pod hurtling toward the [station_name()]. You'll probably end up incarcerated or dead, but...with a great risk comes great rewards. Maybe you can make a big score after all?"
outfit = /obj/outfit/admin/pod/burglar
/obj/outfit/admin/pod/burglar
name = "RescuePod - Burglar"
uniform = list(
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/charcoal,
/obj/item/clothing/under/suit_jacket/navy,
/obj/item/clothing/under/suit_jacket/burgundy
)
belt = null
shoes = list(
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup/brown
)
glasses = list(
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/glasses/sunglasses/aviator
)
gloves = list(
/obj/item/clothing/wrists/watch,
/obj/item/clothing/wrists/watch/silver,
/obj/item/clothing/wrists/watch/gold,
/obj/item/clothing/wrists/watch/holo,
/obj/item/clothing/wrists/watch/leather,
/obj/item/clothing/wrists/watch/spy
)
l_pocket = /obj/item/syndie/teleporter
r_pocket = /obj/item/special_uplink/burglar
id = /obj/item/storage/wallet
r_hand = /obj/item/storage/briefcase/black
backpack_contents = list()
/obj/outfit/admin/pod/burglar/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if (visualsOnly)
return
var/static/list/burglar_guns = list(
/obj/item/gun/energy/rifle/icelance,
/obj/item/gun/energy/retro,
/obj/item/gun/projectile/silenced,
/obj/item/gun/projectile/colt,
/obj/item/gun/projectile/revolver/lemat
)
var/new_gun = pick(burglar_guns)
var/obj/item/primary = new new_gun(H.loc)
var/obj/item/clothing/accessory/holster/armpit/holster
if(primary.slot_flags & SLOT_HOLSTER)
holster = new /obj/item/clothing/accessory/holster/armpit(H.loc)
holster.holstered = primary
primary.forceMove(holster)
else if(!H.belt && (primary.slot_flags & SLOT_BELT))
H.equip_to_slot_or_del(primary, slot_belt)
else if(!H.back && (primary.slot_flags & SLOT_BACK))
H.equip_to_slot_or_del(primary, slot_back)
else
H.put_in_any_hand_if_possible(primary)
if(istype(primary, /obj/item/gun/projectile))
var/obj/item/gun/projectile/bullet_thrower = primary
var/obj/item/storage/briefcase/B = locate() in H
if(bullet_thrower.magazine_type)
new bullet_thrower.magazine_type(B)
if(prob(20)) //don't want to give them too much
new bullet_thrower.magazine_type(B)
else if(bullet_thrower.ammo_type)
for(var/i in 1 to rand(3, 5) + rand(0, 2))
new bullet_thrower.ammo_type(B)
H.put_in_hands(B)
if(holster)
var/obj/item/clothing/under/uniform = H.w_uniform
if(istype(uniform) && uniform.can_attach_accessory(holster))
uniform.attackby(holster, H)
else
H.put_in_any_hand_if_possible(holster)
var/obj/item/storage/wallet/W = H.wear_id
var/obj/item/card/id/syndicate/raider/passport = new(H.loc)
passport.name = "[H.real_name]'s Passport"
if(W)
W.handle_item_insertion(passport)
GLOB.burglars.add_antagonist(H.mind, TRUE, TRUE, FALSE, TRUE, TRUE)