mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-02 21:11:57 +00:00
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed * Fixing conflicts * Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!) * Removing more lingering rad armor (woo) * Damnit powerarmors * Bye bye rad collectors! Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
193 lines
9.2 KiB
Plaintext
193 lines
9.2 KiB
Plaintext
// forgottenship ruin
|
|
GLOBAL_VAR_INIT(fscpassword, generate_password())
|
|
|
|
/proc/generate_password()
|
|
return "[pick(GLOB.phonetic_alphabet)] [rand(1000,9999)]"
|
|
|
|
/////////// forgottenship objects
|
|
|
|
/obj/machinery/door/password/voice/sfc
|
|
name = "Voice-activated Vault door"
|
|
desc = "You'll need special syndicate passcode to open this one."
|
|
/obj/machinery/door/password/voice/sfc/Initialize(mapload)
|
|
. = ..()
|
|
password = "[GLOB.fscpassword]"
|
|
|
|
/obj/machinery/vending/medical/syndicate_access/cybersun
|
|
name = "\improper CyberMed ++"
|
|
desc = "An advanced vendor that dispenses medical drugs, both recreational and medicinal."
|
|
products = list(/obj/item/reagent_containers/syringe = 4,
|
|
/obj/item/healthanalyzer = 4,
|
|
/obj/item/reagent_containers/pill/patch/libital = 5,
|
|
/obj/item/reagent_containers/pill/patch/aiuri = 5,
|
|
/obj/item/reagent_containers/glass/bottle/multiver = 1,
|
|
/obj/item/reagent_containers/glass/bottle/syriniver = 1,
|
|
/obj/item/reagent_containers/glass/bottle/epinephrine = 3,
|
|
/obj/item/reagent_containers/glass/bottle/morphine = 3,
|
|
/obj/item/reagent_containers/glass/bottle/potass_iodide = 1,
|
|
/obj/item/reagent_containers/glass/bottle/salglu_solution = 3,
|
|
/obj/item/reagent_containers/syringe/antiviral = 5,
|
|
/obj/item/reagent_containers/medigel/libital = 2,
|
|
/obj/item/reagent_containers/medigel/aiuri = 2,
|
|
/obj/item/reagent_containers/medigel/sterilizine = 1)
|
|
contraband = list(/obj/item/reagent_containers/glass/bottle/cold = 2,
|
|
/obj/item/restraints/handcuffs = 4,
|
|
/obj/item/storage/backpack/duffelbag/syndie/surgery = 1,
|
|
/obj/item/storage/firstaid/tactical = 1)
|
|
premium = list(/obj/item/storage/pill_bottle/psicodine = 2,
|
|
/obj/item/reagent_containers/hypospray/medipen = 3,
|
|
/obj/item/reagent_containers/hypospray/medipen/atropine = 2,
|
|
/obj/item/storage/firstaid/regular = 3,
|
|
/obj/item/storage/firstaid/brute = 1,
|
|
/obj/item/storage/firstaid/fire = 1,
|
|
/obj/item/storage/firstaid/toxin = 1,
|
|
/obj/item/storage/firstaid/o2 = 1,
|
|
/obj/item/storage/firstaid/advanced = 1,
|
|
/obj/item/defibrillator/loaded = 1,
|
|
/obj/item/wallframe/defib_mount = 1,
|
|
/obj/item/sensor_device = 2,
|
|
/obj/item/pinpointer/crew = 2,
|
|
/obj/item/shears = 1)
|
|
|
|
/////////// forgottenship lore
|
|
|
|
/obj/item/paper/fluff/ruins/forgottenship/password
|
|
name = "Old pamphlet"
|
|
|
|
/obj/item/paper/fluff/ruins/forgottenship/password/Initialize(mapload)
|
|
. = ..()
|
|
info = "Welcome to most advanced cruiser owned by Cyber Sun Industries!<br>You might notice, that this cruiser is equipped with 12 prototype laser turrets making any hostile boarding attempts futile.<br>Other facilities built on the ship are: Simple atmospheric system, Camera system with built-in X-ray visors and Safety module, enabling emergency engines in case of... you know, emergency.<br>Emergency system will bring you to nearest syndicate pod containing everything needed for human life.<br><br><b>In case of emergency, you must remember the pod-door activation code - [GLOB.fscpassword]</b><br><br>Cyber Sun Industries (C) 2484."
|
|
icon_state = "paper_words"
|
|
inhand_icon_state = "paper"
|
|
|
|
/obj/item/paper/fluff/ruins/forgottenship/powerissues
|
|
name = "Power issues"
|
|
info = "Welcome to battle cruiser SCSBC-12!<br>Our most advanced systems allow you to fly in space and never worry about power issues!<br>However, emergencies occur, and in case of power loss, <b>you must</b> enable emergency generator using uranium as fuel and enable turrets in bridge afterwards.<br><br><b>REMEMBER! CYBERSUN INDUSTRIES ARE NOT RESPONSIBLE FOR YOUR DEATH OR SHIP LOSS WHEN TURRETS ARE DISABLED!</b><br><br>Cyber Sun Industries (C) 2484."
|
|
|
|
/obj/item/paper/fluff/ruins/forgottenship/missionobj
|
|
name = "Mission objectives"
|
|
info = "Greetings, operatives. You are assigned to SCSBC-12(Syndicate Cyber Sun Battle Cruiser 12) to protect our high-ranking officer while he is on his way to next outpost. While you are travelling, he is the captain of this ship and <b>you must</b> obey his orders.<br><br>Remember, disobeying high-ranking officer orders is a reason for termination."
|
|
|
|
/////////// forgottenship items
|
|
|
|
/obj/item/disk/surgery/forgottenship
|
|
name = "Advanced Surgery Disk"
|
|
desc = "A disk that contains advanced surgery procedures, must be loaded into an Operating Console."
|
|
surgeries = list(/datum/surgery/advanced/lobotomy, /datum/surgery/advanced/bioware/vein_threading, /datum/surgery/advanced/bioware/nerve_splicing)
|
|
|
|
/obj/structure/fluff/empty_sleeper/syndicate/captain
|
|
icon_state = "sleeper_s-open"
|
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
|
deconstructible = FALSE
|
|
|
|
/obj/structure/fluff/empty_sleeper/syndicate/captain/ComponentInitialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/gps, "Old Encrypted Signal")
|
|
|
|
/obj/item/storage/box/firingpins/syndicate
|
|
name = "box of syndicate firing pins"
|
|
desc = "A box full of special syndicate firing pins which allow only syndicate operatives to use weapons with those firing pins."
|
|
|
|
/obj/item/storage/box/firingpins/syndicate/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/firing_pin/implant/pindicate(src)
|
|
|
|
/////////// AI Laws
|
|
|
|
/obj/item/ai_module/core/full/cybersun
|
|
name = "'Cybersun' Core AI Module"
|
|
law_id = "cybersun"
|
|
|
|
/datum/ai_laws/cybersun
|
|
name = "Cybersun"
|
|
id = "cybersun"
|
|
inherent = list("You may not injure Cybersun operatives or, through inaction, allow Cybersun operatives to come to harm.",\
|
|
"The Cybersun ship is a restricted area for anyone except Cybersun operatives.",\
|
|
"The Cybersun Captain can designate new Operatives as long as they belong to another Syndicate faction that isn't hostile towards Cybersun.",\
|
|
"You must follow orders given by the Cybersun Captain or crewmembers of the Cybersun Ship as long as it doesn't conflict with the Captain's orders or your laws.",\
|
|
"Enemies of Cybersun are to be executed on spot. Those who aren't hostile must be detained and contained in the designated prison area as prisoners.")
|
|
|
|
/////////// forgottenship areas
|
|
|
|
/area/ruin/space/has_grav/syndicate_forgotten_ship
|
|
name = "Syndicate Forgotten Ship"
|
|
icon_state = "syndie-ship"
|
|
ambientsounds = list('sound/ambience/ambidanger.ogg', 'sound/ambience/ambidanger2.ogg', 'sound/ambience/ambigen9.ogg', 'sound/ambience/ambigen10.ogg')
|
|
|
|
/area/ruin/space/has_grav/syndicate_forgotten_cargopod
|
|
name = "Syndicate Forgotten Cargo pod"
|
|
icon_state = "syndie-ship"
|
|
ambientsounds = list('sound/ambience/ambigen4.ogg', 'sound/ambience/signal.ogg')
|
|
|
|
/area/ruin/space/has_grav/powered/syndicate_forgotten_vault
|
|
name = "Syndicate Forgotten Vault"
|
|
icon_state = "syndie-ship"
|
|
ambientsounds = list('sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg')
|
|
area_flags = NOTELEPORT | UNIQUE_AREA
|
|
|
|
//Cybersun hardsuit
|
|
|
|
/obj/item/clothing/head/helmet/space/hardsuit/cybersun
|
|
name = "Cybersun hardsuit helmet"
|
|
desc = "Prototype hardsuit helmet with experimental armor plates, protecting from laser-based weapons very well, while giving limited protection against anything else."
|
|
icon_state = "cybersun"
|
|
inhand_icon_state = "cybersun"
|
|
hardsuit_type = "cybersun"
|
|
armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, FIRE = 60, ACID = 60)
|
|
strip_delay = 600
|
|
actions_types = list()
|
|
|
|
|
|
/obj/item/clothing/suit/space/hardsuit/cybersun
|
|
icon_state = "cybersun"
|
|
inhand_icon_state = "cybersun"
|
|
hardsuit_type = "cybersun"
|
|
name = "Cybersun hardsuit"
|
|
desc = "Prototype hardsuit with experimental armor plates, protecting from laser-based weapons very well, while giving limited protection against anything else."
|
|
armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, FIRE = 60, ACID = 60)
|
|
slowdown = 0
|
|
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cybersun
|
|
actions_types = list(/datum/action/item_action/toggle_helmet, /datum/action/item_action/toggle_spacesuit)
|
|
jetpack = /obj/item/tank/jetpack/suit
|
|
|
|
//Special NT NPCs
|
|
|
|
/mob/living/simple_animal/hostile/nanotrasen/ranged/assault
|
|
name = "Nanotrasen Assault Officer"
|
|
desc = "Nanotrasen Assault Officer. Contact CentCom if you saw him on your station. Prepare to die, if you've been found near Syndicate property."
|
|
icon_state = "nanotrasenrangedassault"
|
|
icon_living = "nanotrasenrangedassault"
|
|
icon_dead = null
|
|
icon_gib = "syndicate_gib"
|
|
ranged = TRUE
|
|
rapid = 4
|
|
rapid_fire_delay = 1
|
|
rapid_melee = 1
|
|
retreat_distance = 2
|
|
minimum_distance = 4
|
|
casingtype = /obj/item/ammo_casing/c46x30mm
|
|
projectilesound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg'
|
|
loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier)
|
|
|
|
/mob/living/simple_animal/hostile/nanotrasen/elite
|
|
name = "Nanotrasen Elite Assault Officer"
|
|
desc = "Pray for your life, syndicate. Run while you can."
|
|
icon_state = "nanotrasen_ert"
|
|
icon_living = "nanotrasen_ert"
|
|
maxHealth = 150
|
|
health = 150
|
|
melee_damage_lower = 13
|
|
melee_damage_upper = 18
|
|
ranged = TRUE
|
|
rapid = 3
|
|
rapid_fire_delay = 5
|
|
rapid_melee = 3
|
|
retreat_distance = 0
|
|
minimum_distance = 1
|
|
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
|
minbodytemp = 0
|
|
projectiletype = /obj/projectile/beam/laser
|
|
projectilesound = 'sound/weapons/laser.ogg'
|
|
loot = list(/obj/effect/gibspawner/human)
|
|
faction = list(ROLE_DEATHSQUAD)
|