mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-13 08:56:49 +01:00
60d09f31b1
- 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>
439 lines
16 KiB
Plaintext
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)
|