Files
Paradise/code/datums/station_traits/neutral_traits.dm
2024-09-28 08:16:27 +00:00

103 lines
3.7 KiB
Plaintext

/datum/station_trait/bananium_shipment
name = "Bananium Shipment"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
report_message = "An unidentified benefactor has dispatched a mysterious shipment to your station's clown. It was reported to smell faintly of bananas."
trait_to_give = STATION_TRAIT_BANANIUM_SHIPMENTS
/datum/station_trait/tranquilite_shipment
name = "Tranquilite Shipment"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
report_message = "Shipping records show an unmarked crate being delivered to your station's mime."
trait_to_give = STATION_TRAIT_TRANQUILITE_SHIPMENTS
/datum/station_trait/unique_ai
name = "Unique AI"
trait_type = STATION_TRAIT_NEUTRAL
weight = 15
show_in_report = TRUE
report_message = "For experimental purposes, this station AI might show divergence from default lawset. Do not meddle with this experiment, we've removed \
access to your set of alternative upload modules because we know you're already thinking about meddling with this experiment. If the lawset proves \
dangerous, or impedes station efficiency, fax or message Central Command to request permission to alter it."
trait_to_give = STATION_TRAIT_UNIQUE_AI
blacklist = list(/datum/station_trait/random_event_weight_modifier/ion_storms)
/datum/station_trait/glitched_pdas
name = "PDA glitch"
trait_type = STATION_TRAIT_NEUTRAL
weight = 15
show_in_report = TRUE
report_message = "Something seems to be wrong with the PDAs issued to you all this shift. Nothing too bad though."
trait_to_give = STATION_TRAIT_PDA_GLITCHED
/datum/station_trait/late_arrivals
name = "Late Arrivals"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
show_in_report = TRUE
report_message = "Sorry for that, we didn't expect to fly into that vomiting goose while bringing you to your new station."
trait_to_give = STATION_TRAIT_LATE_ARRIVALS
blacklist = list(/datum/station_trait/hangover)
/datum/station_trait/late_arrivals/New()
. = ..()
SSjobs.late_arrivals_spawning = TRUE
/datum/station_trait/late_arrivals/revert()
. = ..()
SSjobs.late_arrivals_spawning = FALSE
/datum/station_trait/hangover
name = "Hangover"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
show_in_report = TRUE
report_message = "Ohh....Man....That mandatory office party from last shift...God that was awesome..I woke up in some random toilet 3 sectors away..."
trait_to_give = STATION_TRAIT_HANGOVER
blacklist = list(/datum/station_trait/late_arrivals)
/datum/station_trait/hangover/New()
. = ..()
SSjobs.drunken_spawning = TRUE
/datum/station_trait/hangover/revert()
. = ..()
SSjobs.drunken_spawning = FALSE
/datum/station_trait/triple_ai
name = "AI Triumvirate"
trait_type = STATION_TRAIT_NEUTRAL
weight = 1
show_in_report = TRUE
report_message = "As part of Operation Magi, your station has been equipped with three Nanotrasen Artificial Intelligence models. Please try not to break them."
trait_to_give = STATION_TRAIT_TRIAI
/datum/station_trait/triple_ai/New()
. = ..()
SSticker.triai = TRUE
/datum/station_trait/triple_ai/revert()
. = ..()
SSticker.triai = FALSE
/datum/station_trait/rave
name = "Rave"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
show_in_report = TRUE
report_message = "Our workers have installed new 'Motivational' lighting for you."
/datum/station_trait/rave/on_round_start()
. = ..()
for(var/obj/machinery/light/light in GLOB.machines)
var/turf/our_turf = get_turf(light)
if(!is_station_level(our_turf.z))
continue
var/list/rgb = hsl2rgb(rand(0, 255) / 255, rand((0.4 * 255), 255) / 255, rand((0.5 * 255), (0.8 * 255)) / 255)
var/new_color = "#[num2hex(rgb[1], 2)][num2hex(rgb[2], 2)][num2hex(rgb[3], 2)]"
light.color = new_color
light.brightness_color = new_color
light.update(FALSE, TRUE, FALSE)