mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
90c7d9bb93
* Fixing some minor typos for cyborg upgrade flavour text Throws in some missing apostrophes, capitalisation, and the letter "s." * Briefcase Full of Cash buff Increases the amount of cash in the Syndicate Briefcase Full of Cash from 600 Cr to 1000 Cr * Reverts double-feature PR * Reverts a broken revert * Reverting again because Ebba told me to * And reverting yet again * The IAA is not a lawyer. They were never a lawyer. Glory to INGSO- uhh, NANOTRASEN! * There was lawyer stuff on the maps. * crush * Update code/modules/pda/pdas.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update pda.dmi * Update code/modules/clothing/under/accessories/accessory.dm Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Fordoxia <fordoxia@googlemail.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
221 lines
9.6 KiB
Plaintext
221 lines
9.6 KiB
Plaintext
/datum/station_trait/galactic_grant
|
|
name = "Galactic grant"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
weight = 5
|
|
show_in_report = TRUE
|
|
report_message = "Your station has been selected for a special grant. Some extra funds has been made available to your cargo department."
|
|
|
|
/datum/station_trait/galactic_grant/on_round_start()
|
|
GLOB.station_money_database.credit_account(SSeconomy.cargo_account, rand(2000, 4000), "Galactic Grant", "Great Galactic Grant Group")
|
|
/datum/station_trait/premium_internals_box
|
|
name = "Premium internals boxes"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
weight = 5
|
|
show_in_report = TRUE
|
|
report_message = "The internals boxes for your crew have been upsized and filled with bonus equipment."
|
|
trait_to_give = STATION_TRAIT_PREMIUM_INTERNALS
|
|
|
|
/datum/station_trait/strong_supply_lines
|
|
name = "Strong supply lines"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
weight = 5
|
|
show_in_report = TRUE
|
|
report_message = "Prices are low in this system, BUY BUY BUY!"
|
|
blacklist = list(/datum/station_trait/distant_supply_lines)
|
|
|
|
|
|
/datum/station_trait/strong_supply_lines/on_round_start()
|
|
SSeconomy.pack_price_modifier *= 0.8
|
|
|
|
/datum/station_trait/filled_maint
|
|
name = "Filled up maintenance"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
weight = 5
|
|
show_in_report = TRUE
|
|
report_message = "Our workers accidentally forgot more of their personal belongings in the maintenance areas."
|
|
blacklist = list(/datum/station_trait/empty_maint)
|
|
trait_to_give = STATION_TRAIT_FILLED_MAINT
|
|
|
|
// This station trait is checked when loot drops initialize, so it's too late
|
|
can_revert = FALSE
|
|
|
|
/datum/station_trait/quick_shuttle
|
|
name = "Quick Shuttle"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
weight = 5
|
|
show_in_report = TRUE
|
|
report_message = "Due to proximity to our supply station, the cargo shuttle will have a quicker flight time to your cargo department."
|
|
blacklist = list(/datum/station_trait/slow_shuttle)
|
|
|
|
/datum/station_trait/quick_shuttle/on_round_start()
|
|
. = ..()
|
|
SSshuttle.supply.callTime *= 0.5
|
|
|
|
/datum/station_trait/deathrattle_department
|
|
name = "deathrattled department"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
show_in_report = TRUE
|
|
trait_flags = STATION_TRAIT_ABSTRACT
|
|
blacklist = list(/datum/station_trait/deathrattle_all)
|
|
|
|
var/department_to_apply_to
|
|
var/department_name = "department"
|
|
var/datum/deathrattle_group/deathrattle_group
|
|
|
|
/datum/station_trait/deathrattle_department/New()
|
|
. = ..()
|
|
deathrattle_group = new("[department_name] group")
|
|
blacklist += subtypesof(/datum/station_trait/deathrattle_department) - type //All but ourselves
|
|
report_message = "All members of [department_name] have received an implant to notify each other if one of them dies. This should help improve job-safety!"
|
|
RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn))
|
|
|
|
|
|
/datum/station_trait/deathrattle_department/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned)
|
|
SIGNAL_HANDLER
|
|
if(department_to_apply_to)
|
|
if(!(job.job_department_flags & department_to_apply_to))
|
|
return
|
|
|
|
var/obj/item/bio_chip/deathrattle/implant_to_give = new()
|
|
deathrattle_group.register(implant_to_give)
|
|
implant_to_give.implant(spawned, spawned, TRUE, TRUE)
|
|
|
|
|
|
/datum/station_trait/deathrattle_department/service
|
|
name = "Deathrattled Service"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_SERVICE
|
|
department_name = DEPARTMENT_SERVICE
|
|
|
|
/datum/station_trait/deathrattle_department/cargo
|
|
name = "Deathrattled Cargo"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_SUPPLY
|
|
department_name = DEPARTMENT_SUPPLY
|
|
|
|
/datum/station_trait/deathrattle_department/engineering
|
|
name = "Deathrattled Engineering"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_ENGINEERING
|
|
department_name = DEPARTMENT_ENGINEERING
|
|
|
|
/datum/station_trait/deathrattle_department/command
|
|
name = "Deathrattled Command"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_COMMAND
|
|
department_name = DEPARTMENT_COMMAND
|
|
|
|
/datum/station_trait/deathrattle_department/science
|
|
name = "Deathrattled Science"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_SCIENCE
|
|
department_name = DEPARTMENT_SCIENCE
|
|
|
|
/datum/station_trait/deathrattle_department/security
|
|
name = "Deathrattled Security"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_SECURITY
|
|
department_name = DEPARTMENT_SECURITY
|
|
|
|
/datum/station_trait/deathrattle_department/medical
|
|
name = "Deathrattled Medical"
|
|
trait_flags = STATION_TRAIT_MAP_UNRESTRICTED
|
|
weight = 1
|
|
department_to_apply_to = DEP_FLAG_MEDICAL
|
|
department_name = DEPARTMENT_MEDICAL
|
|
|
|
/datum/station_trait/deathrattle_all
|
|
name = "Deathrattled Station"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
show_in_report = TRUE
|
|
weight = 1
|
|
report_message = "All members of the station have received an implant to notify each other if one of them dies. This should help improve job-safety!"
|
|
var/datum/deathrattle_group/deathrattle_group
|
|
|
|
|
|
/datum/station_trait/deathrattle_all/New()
|
|
. = ..()
|
|
deathrattle_group = new("station group")
|
|
blacklist = subtypesof(/datum/station_trait/deathrattle_department)
|
|
RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn))
|
|
|
|
|
|
/datum/station_trait/deathrattle_all/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client)
|
|
SIGNAL_HANDLER
|
|
|
|
var/obj/item/bio_chip/deathrattle/implant_to_give = new()
|
|
deathrattle_group.register(implant_to_give)
|
|
implant_to_give.implant(spawned, spawned, TRUE, TRUE)
|
|
|
|
|
|
/// NOTE: THIS MAKES EMP MUCH MORE EXPENSIVE.
|
|
/datum/station_trait/cybernetic_revolution
|
|
name = "Cybernetic Revolution"
|
|
trait_type = STATION_TRAIT_POSITIVE
|
|
show_in_report = TRUE
|
|
weight = 2
|
|
report_message = "The new trends in cybernetics have come to the station! Everyone has some form of cybernetic implant."
|
|
trait_to_give = STATION_TRAIT_CYBERNETIC_REVOLUTION
|
|
/// List of all job types with the cybernetics they should receive.
|
|
var/static/list/job_to_cybernetic = list(
|
|
/datum/job/assistant = /obj/item/organ/internal/heart/cybernetic, //real action, real bloodshed
|
|
/datum/job/atmos = /obj/item/organ/internal/cyberimp/mouth/breathing_tube,
|
|
/datum/job/bartender = /obj/item/organ/internal/liver/cybernetic,
|
|
/datum/job/hydro = /obj/item/organ/internal/cyberimp/arm/botanical,
|
|
/datum/job/captain = /obj/item/organ/internal/heart/cybernetic/upgraded,
|
|
/datum/job/cargo_tech = /obj/item/organ/internal/cyberimp/brain/anti_sleep,
|
|
/datum/job/chaplain = /obj/item/organ/internal/cyberimp/brain/anti_drop,
|
|
/datum/job/chemist = /obj/item/organ/internal/liver/cybernetic,
|
|
/datum/job/chief_engineer = /obj/item/organ/internal/cyberimp/brain/wire_interface,
|
|
/datum/job/cmo = /obj/item/organ/internal/cyberimp/chest/reviver,
|
|
/datum/job/clown = /obj/item/organ/internal/cyberimp/brain/anti_stam, //HONK!
|
|
/datum/job/chef = /obj/item/organ/internal/cyberimp/chest/nutriment/plus,
|
|
/datum/job/coroner = /obj/item/organ/internal/cyberimp/eyes/hud/medical, //hes got a bone to pick with you
|
|
/datum/job/librarian = /obj/item/organ/internal/cyberimp/brain/speech_translator, //dunno what to replace this with, but this is useless since no wingdings?
|
|
/datum/job/detective = /obj/item/organ/internal/eyes/cybernetic/meson,
|
|
/datum/job/doctor = /obj/item/organ/internal/cyberimp/arm/surgery,
|
|
/datum/job/geneticist = /obj/item/organ/internal/alien/plasmavessel/hunter, //we don't care about implants, we have cancer.
|
|
/datum/job/hop = /obj/item/organ/internal/eyes/cybernetic/shield,
|
|
/datum/job/hos = /obj/item/organ/internal/cyberimp/brain/anti_stam, //not giving them thermals
|
|
/datum/job/janitor = /obj/item/organ/internal/cyberimp/eyes/hud/jani,
|
|
/datum/job/iaa = /obj/item/organ/internal/heart/cybernetic/upgraded,
|
|
/datum/job/mime = /obj/item/organ/internal/cyberimp/brain/anti_stam, //...
|
|
/datum/job/paramedic = /obj/item/organ/internal/cyberimp/mouth/breathing_tube,
|
|
/datum/job/psychiatrist = /obj/item/organ/internal/heart/cybernetic/upgraded, //heart of gold. Or at least part gold
|
|
/datum/job/qm = /obj/item/organ/internal/cyberimp/arm/telebaton,
|
|
/datum/job/rd = /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic,
|
|
/datum/job/roboticist = /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic,
|
|
/datum/job/scientist = /obj/item/organ/internal/ears/cybernetic,
|
|
/datum/job/officer = /obj/item/organ/internal/cyberimp/eyes/hud/security,
|
|
/datum/job/mining = /obj/item/organ/internal/eyes/cybernetic/meson,
|
|
/datum/job/engineer = /obj/item/organ/internal/eyes/cybernetic/shield,
|
|
/datum/job/virologist = /obj/item/organ/internal/cyberimp/eyes/hud/medical,
|
|
/datum/job/warden = /obj/item/organ/internal/cyberimp/arm/flash,
|
|
/datum/job/judge = /obj/item/organ/internal/cyberimp/arm/telebaton,
|
|
/datum/job/explorer = /obj/item/organ/internal/cyberimp/arm/toolset,
|
|
/datum/job/nanotrasenrep = /obj/item/organ/internal/heart/cybernetic/upgraded,
|
|
/datum/job/blueshield = /obj/item/organ/internal/cyberimp/arm/flash
|
|
)
|
|
|
|
/datum/station_trait/cybernetic_revolution/New()
|
|
. = ..()
|
|
RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn))
|
|
|
|
/datum/station_trait/cybernetic_revolution/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client)
|
|
SIGNAL_HANDLER
|
|
|
|
var/cybernetic_type = job_to_cybernetic[job.type]
|
|
if(!cybernetic_type)
|
|
if(isAI(spawned))
|
|
var/mob/living/silicon/ai/ai = spawned
|
|
ai.eyeobj.relay_speech = TRUE //surveillance upgrade. the ai gets cybernetics too.
|
|
return
|
|
var/obj/item/organ/internal/cybernetic = new cybernetic_type()
|
|
INVOKE_ASYNC(cybernetic, TYPE_PROC_REF(/obj/item/organ/internal, insert), spawned, TRUE)
|