Merge branch 'master' into gatofication2
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
/datum/objective/abductee/random
|
||||
|
||||
/datum/objective/abductee/random/New()
|
||||
explanation_text = pick(world.file2list("strings/abductee_objectives.txt"))
|
||||
explanation_text = pick(world.file2list("GainStation13/strings/abductee_objectives.txt")) //GS13 Edit: Nanotrasen to GATO
|
||||
|
||||
/datum/objective/abductee/steal
|
||||
explanation_text = "Steal all"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "Spawn Sentient Disease"
|
||||
typepath = /datum/round_event/ghost_role/sentient_disease
|
||||
weight = 7
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - removed midround pseudo-antags
|
||||
min_players = 5
|
||||
category = EVENT_CATEGORY_HEALTH
|
||||
description = "Spawns a sentient disease, who wants to infect as many people as possible."
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "Spawn Revenant" // Did you mean 'griefghost'?
|
||||
typepath = /datum/round_event/ghost_role/revenant
|
||||
weight = 7
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 tweak - no antags, thanks
|
||||
min_players = 5
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
description = "Spawns an angry, soul sucking ghost."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Spawn Slaughter Demon"
|
||||
typepath = /datum/round_event/ghost_role/slaughter
|
||||
weight = 1 //Very rare
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
earliest_start = 1 HOURS
|
||||
min_players = 20
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Spawn Swarmer Shell"
|
||||
typepath = /datum/round_event/spawn_swarmer
|
||||
weight = 7
|
||||
max_occurrences = 1 //Only once okay fam
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
earliest_start = 30 MINUTES
|
||||
min_players = 35
|
||||
dynamic_should_hijack = TRUE
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
var/obj/item/equipment //for fun stuff that goes on the gentials/maybe rings down the line
|
||||
var/dontlist = FALSE
|
||||
var/nochange = FALSE //stops people changing visablity.
|
||||
var/starting_size //GS13 EDIT
|
||||
|
||||
|
||||
/obj/item/organ/genital/Initialize(mapload, do_update = TRUE)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
//this is far too lewd wah
|
||||
|
||||
/obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY)
|
||||
var/new_value = clamp(cached_size + modifier, min, max)
|
||||
var/new_value = clamp(cached_size + modifier, starting_size, max) //GS13 EDIT
|
||||
if(new_value == cached_size)
|
||||
return
|
||||
prev_size = cached_size
|
||||
@@ -115,6 +115,7 @@
|
||||
else
|
||||
color = "#[D.features["breasts_color"]]"
|
||||
size = D.features["breasts_size"]
|
||||
starting_size = D.features["breasts_size"]
|
||||
shape = D.features["breasts_shape"]
|
||||
if(!D.features["breasts_producing"])
|
||||
genital_flags &= ~ (GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
layer_index = BUTT_LAYER_INDEX
|
||||
|
||||
/obj/item/organ/genital/butt/modify_size(modifier, min = -INFINITY, max = BUTT_SIZE_MAX)
|
||||
var/new_value = clamp(size_cached + modifier, min, max)
|
||||
var/new_value = clamp(size_cached + modifier, starting_size, max) //GS13 EDIT
|
||||
if(new_value == size_cached)
|
||||
return
|
||||
prev_size = size_cached
|
||||
@@ -47,6 +47,8 @@
|
||||
|
||||
//Reflect the size of dat ass on examine.
|
||||
switch(round(size))
|
||||
if(0)
|
||||
size_name = "nonexistent" // GS13 EDIT
|
||||
if(1)
|
||||
size_name = "average"
|
||||
if(2)
|
||||
@@ -58,7 +60,7 @@
|
||||
if(5)
|
||||
size_name = pick("massive","extreme","enormous","very generous","humongous","big bubbly","dummy thicc")
|
||||
else
|
||||
size_name = "nonexistent"
|
||||
size_name = "oversized" //GS13 edit
|
||||
|
||||
desc = "You see a [lowershape] of [size_name] asscheeks."
|
||||
|
||||
@@ -82,5 +84,6 @@
|
||||
else
|
||||
color = "#[D.features["butt_color"]]"
|
||||
size = D.features["butt_size"]
|
||||
starting_size = D.features["butt_size"] // GS13 EDIT
|
||||
prev_size = size
|
||||
toggle_visibility(D.features["butt_visibility"], FALSE)
|
||||
|
||||
@@ -474,11 +474,11 @@
|
||||
uniform = /obj/item/clothing/under/pants/youngfolksjeans
|
||||
id = /obj/item/card/id
|
||||
|
||||
/datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
|
||||
..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
H.dna.add_mutation(STONER)
|
||||
// /datum/outfit/beachbum/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
|
||||
// ..()
|
||||
// if(visualsOnly)
|
||||
// return
|
||||
// H.dna.add_mutation(STONER) //GS13 - removes the stoner trait, it makes the role almost unplayable
|
||||
|
||||
/////////////////Officers+Nanotrasen Security//////////////////////
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/pda_style = MONO
|
||||
var/pda_color = "#808000"
|
||||
var/pda_skin = PDA_SKIN_ALT
|
||||
var/list/alt_titles_preferences = list()
|
||||
|
||||
var/uses_glasses_colour = 0
|
||||
|
||||
@@ -1409,6 +1410,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "This preference functions similar to the one before but allows for items with more drastic effects. <b>Do not enable this if you aren't okay with more drastic things happening to your character.</b><BR>"
|
||||
dat += "<b>Extreme Fatness Vulnerability:</b><a href='?_src_=prefs;preference=extreme_fatness_vulnerable'>[extreme_fatness_vulnerable == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<br></br>"
|
||||
dat += "<b>Object TF:</b><a href='?_src_=prefs;preference=object_tf'>[object_tf == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<br></br>"
|
||||
dat += "<b>Extreme Weight Gain (Sprite Size scales with weight):</b><a href='?_src_=prefs;preference=weight_gain_extreme'>[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Persistent Fat (endround/cryo weight becomes your new start weight):</b><a href='?_src_=prefs;preference=weight_gain_persistent'>[weight_gain_persistent == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
dat += "<b>Permanent Weight (hard to remove and persistent weight):</b><a href='?_src_=prefs;preference=weight_gain_permanent'>[weight_gain_permanent == TRUE ? "Enabled" : "Disabled"]</a><BR>"
|
||||
@@ -1586,6 +1589,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
HTML += "<tr bgcolor='[job.selection_color]'><td width='60%' align='right'>"
|
||||
var/rank = job.title
|
||||
var/displayed_rank = rank
|
||||
if(job.alt_titles.len && (rank in alt_titles_preferences))
|
||||
displayed_rank = alt_titles_preferences[rank]
|
||||
lastJob = job
|
||||
if(jobban_isbanned(user, rank))
|
||||
HTML += "<font color=red>[rank]</font></td><td><a href='?_src_=prefs;bancheck=[rank]'> BANNED</a></td></tr>"
|
||||
@@ -1607,10 +1613,15 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if((job_preferences["[SSjob.overflow_role]"] == JP_LOW) && (rank != SSjob.overflow_role) && !jobban_isbanned(user, SSjob.overflow_role))
|
||||
HTML += "<font color=orange>[rank]</font></td><td></td></tr>"
|
||||
continue
|
||||
var/rank_title_line = "[displayed_rank]"
|
||||
if((rank in GLOB.command_positions) || (rank == "AI"))//Bold head jobs
|
||||
HTML += "<b><span class='dark'>[rank]</span></b>"
|
||||
rank_title_line = "<b>[rank_title_line]</b>"
|
||||
if(job.alt_titles.len)
|
||||
rank_title_line = "<a href='?_src_=prefs;preference=job;task=alt_title;job_title=[job.title]'>[rank_title_line]</a>"
|
||||
|
||||
else
|
||||
HTML += "<span class='dark'>[rank]</span>"
|
||||
rank_title_line = "<span class='dark'>[rank_title_line]</span>" //Make it dark if we're not adding a button for alt titles
|
||||
HTML += rank_title_line
|
||||
|
||||
HTML += "</td><td width='40%'>"
|
||||
|
||||
@@ -1864,6 +1875,21 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
SetChoices(user)
|
||||
if("setJobLevel")
|
||||
UpdateJobPreference(user, href_list["text"], text2num(href_list["level"]))
|
||||
if("alt_title")
|
||||
var/job_title = href_list["job_title"]
|
||||
var/titles_list = list(job_title)
|
||||
var/datum/job/J = SSjob.GetJob(job_title)
|
||||
for(var/i in J.alt_titles)
|
||||
titles_list += i
|
||||
var/chosen_title
|
||||
chosen_title = input(user, "Choose your job's title:", "Job Preference") as null|anything in titles_list
|
||||
if(chosen_title)
|
||||
if(chosen_title == job_title)
|
||||
if(alt_titles_preferences[job_title])
|
||||
alt_titles_preferences.Remove(job_title)
|
||||
else
|
||||
alt_titles_preferences[job_title] = chosen_title
|
||||
SetChoices(user)
|
||||
else
|
||||
SetChoices(user)
|
||||
return TRUE
|
||||
@@ -3422,6 +3448,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if("extreme_fatness_vulnerable")
|
||||
extreme_fatness_vulnerable = !extreme_fatness_vulnerable
|
||||
|
||||
if("object_tf")
|
||||
object_tf = !object_tf
|
||||
|
||||
if("blueberry_inflation")
|
||||
blueberry_inflation = !blueberry_inflation
|
||||
if("max_fatness")
|
||||
|
||||
@@ -951,9 +951,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["chair_breakage"] >> chair_breakage
|
||||
S["fatness_vulnerable"] >> fatness_vulnerable
|
||||
S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable
|
||||
S["object_tf"] >> object_tf
|
||||
S["blueberry_inflation"] >> blueberry_inflation
|
||||
S["feature_breasts_fluid"] >> features["breasts_fluid"]
|
||||
|
||||
S["alt_titles_preferences"] >> alt_titles_preferences
|
||||
//gear loadout
|
||||
if(istext(S["loadout"]))
|
||||
loadout_data = safe_json_decode(S["loadout"])
|
||||
@@ -1144,6 +1145,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
|
||||
loadout_slot = sanitize_num_clamp(loadout_slot, 1, MAXIMUM_LOADOUT_SAVES, 1, TRUE)
|
||||
|
||||
alt_titles_preferences = SANITIZE_LIST(alt_titles_preferences)
|
||||
if(SSjob)
|
||||
for(var/datum/job/job in SSjob.occupations)
|
||||
if(alt_titles_preferences[job.title])
|
||||
if(!(alt_titles_preferences[job.title] in job.alt_titles))
|
||||
alt_titles_preferences.Remove(job.title)
|
||||
|
||||
cit_character_pref_load(S)
|
||||
|
||||
return TRUE
|
||||
@@ -1236,6 +1244,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
WRITE_FILE(S["chair_breakage"], chair_breakage)
|
||||
WRITE_FILE(S["fatness_vulnerable"], fatness_vulnerable)
|
||||
WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable)
|
||||
WRITE_FILE(S["object_tf"], object_tf)
|
||||
WRITE_FILE(S["blueberry_inflation"], blueberry_inflation)
|
||||
WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"])
|
||||
|
||||
@@ -1301,6 +1310,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
WRITE_FILE(S["feature_belly_color"], features["belly_color"])
|
||||
WRITE_FILE(S["feature_hide_belly"], features["hide_belly"])
|
||||
WRITE_FILE(S["feature_inflatable_belly"], features["inflatable_belly"])
|
||||
WRITE_FILE(S["alt_titles_preferences"], alt_titles_preferences)
|
||||
|
||||
WRITE_FILE(S["feature_ooc_notes"], features["ooc_notes"])
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Abductors"
|
||||
typepath = /datum/round_event/ghost_role/abductor
|
||||
weight = 10
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
min_players = 30
|
||||
dynamic_should_hijack = TRUE
|
||||
category = EVENT_CATEGORY_INVASION
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
typepath = /datum/round_event/ghost_role/alien_infestation
|
||||
weight = 5
|
||||
min_players = 25
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
dynamic_should_hijack = TRUE
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
description = "A xenomorph larva spawns on a random vent."
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/round_event_control/anomaly/anomaly_bluespace
|
||||
name = "Anomaly: Bluespace"
|
||||
typepath = /datum/round_event/anomaly/anomaly_bluespace
|
||||
|
||||
min_players = 12 //GS13 - higher pop = more likely to be solved instead of wrecking a whole dep
|
||||
max_occurrences = 1
|
||||
weight = 5
|
||||
description = "This anomaly randomly teleports all items and mobs in a large area."
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "Anomaly: Pyroclastic"
|
||||
typepath = /datum/round_event/anomaly/anomaly_pyro
|
||||
|
||||
min_players = 10 //GS13 tweak
|
||||
max_occurrences = 0
|
||||
min_players = 10 //GS13 Edit: tweak
|
||||
max_occurrences = 0 //GS13 Edit: Disabling this for now.
|
||||
weight = 20
|
||||
description = "This anomaly sets things on fire, and creates a pyroclastic slime."
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/round_event_control/aurora_caelus
|
||||
name = "Aurora Caelus"
|
||||
typepath = /datum/round_event/aurora_caelus
|
||||
max_occurrences = 2
|
||||
max_occurrences = 4 //GS13 - pretty lights, why not
|
||||
weight = 4
|
||||
earliest_start = 20 MINUTES
|
||||
category = EVENT_CATEGORY_FRIENDLY
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "Spontaneous Brain Trauma"
|
||||
typepath = /datum/round_event/brain_trauma
|
||||
weight = 25
|
||||
min_players = 20 //GS13 - somewhat harmless ig
|
||||
max_occurrences = 0
|
||||
min_players = 20 //GS13 Edit: 8 to 20. You cant really fix this on your own if you arnt medical.
|
||||
max_occurrences = 0 //GS13 Edit: Disabling this.
|
||||
category = EVENT_CATEGORY_HEALTH
|
||||
description = "A crewmember gains a random trauma."
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
weight = 5
|
||||
|
||||
min_players = 15
|
||||
max_occurrences = 0
|
||||
max_occurrences = 0 //GS13 Edit: Disabling this for now.
|
||||
category = EVENT_CATEGORY_AI
|
||||
description = "Vending machines will attack people until the Patient Zero is disabled."
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/round_event_control/disease_outbreak
|
||||
name = "Disease Outbreak"
|
||||
typepath = /datum/round_event/disease_outbreak
|
||||
max_occurrences = 0
|
||||
max_occurrences = 0 //GS13 Edit: Disabling this for now.
|
||||
min_players = 5
|
||||
weight = 5
|
||||
category = EVENT_CATEGORY_HEALTH
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/datum/round_event_control/electrical_storm
|
||||
name = "Electrical Storm"
|
||||
typepath = /datum/round_event/electrical_storm
|
||||
earliest_start = 30 MINUTES
|
||||
earliest_start = 30 MINUTES //GS13 Edit: Reducing pain for normal station ongoings.
|
||||
min_players = 5
|
||||
weight = 40
|
||||
max_occurrences = 2
|
||||
max_occurrences = 2 //GS13 Edit: Limiting this.
|
||||
category = EVENT_CATEGORY_ENGINEERING
|
||||
description = "Destroys all lights in a large area."
|
||||
|
||||
/datum/round_event/electrical_storm
|
||||
var/lightsoutAmount = 1
|
||||
var/lightsoutRange = 10
|
||||
var/lightsoutRange = 10 //GS13 Edit: 25 down to 10
|
||||
announce_when = 1
|
||||
|
||||
/datum/round_event/electrical_storm/announce(fake)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/datum/round_event_control/high_priority_bounty
|
||||
name = "High Priority Bounty"
|
||||
typepath = /datum/round_event/high_priority_bounty
|
||||
max_occurrences = 5
|
||||
max_occurrences = 6 //GS13 - because why not
|
||||
weight = 20
|
||||
earliest_start = 10
|
||||
earliest_start = 10 MINUTES
|
||||
category = EVENT_CATEGORY_BUREAUCRATIC
|
||||
description = "Creates bounties that are three times original worth."
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
/datum/round_event_control/immovable_rod
|
||||
name = "Immovable Rod"
|
||||
typepath = /datum/round_event/immovable_rod
|
||||
min_players = 20 //GS13 - tweaked min players and occurences
|
||||
max_occurrences = 2
|
||||
min_players = 25 //GS13 - tweaked min players and occurences
|
||||
max_occurrences = 1 //GS13 - one is enough as is
|
||||
var/atom/special_target
|
||||
category = EVENT_CATEGORY_SPACE
|
||||
description = "The station passes through an immovable rod."
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "Ion Storm"
|
||||
typepath = /datum/round_event/ion_storm
|
||||
weight = 15
|
||||
min_players = 2
|
||||
min_players = 5 //GS13 - increasing pop so it's more likely someone has a chance to fix the laws
|
||||
category = EVENT_CATEGORY_AI
|
||||
description = "Gives the AI a new, randomized law."
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/datum/round_event_control/meteor_wave/major_dust
|
||||
name = "Major Space Dust"
|
||||
typepath = /datum/round_event/meteor_wave/major_dust
|
||||
min_players = 8 //GS13
|
||||
min_players = 10 //GS13 - do it when there's more people to fix it around
|
||||
max_occurrences = 2 //GS13 - limiting the amount of it
|
||||
weight = 8
|
||||
description = "The station is pelted by sand."
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
name = "Meteor Wave: Normal"
|
||||
typepath = /datum/round_event/meteor_wave
|
||||
weight = 4
|
||||
min_players = 16 //GS13 - tweaked all meteor waves to nerf them a bit
|
||||
min_players = 20 //GS13 - tweaked all meteor waves to nerf them a bit
|
||||
max_occurrences = 2
|
||||
earliest_start = 40 MINUTES
|
||||
category = EVENT_CATEGORY_SPACE
|
||||
@@ -87,7 +87,7 @@
|
||||
typepath = /datum/round_event/meteor_wave/threatening
|
||||
weight = 5
|
||||
min_players = 20
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - too chaotic
|
||||
earliest_start = 45 MINUTES
|
||||
description = "A meteor wave with higher chance of big meteors."
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
typepath = /datum/round_event/meteor_wave/catastrophic
|
||||
weight = 7
|
||||
min_players = 25
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - too chaotic
|
||||
earliest_start = 55 MINUTES
|
||||
description = "A meteor wave that might summon a tunguska class meteor."
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
description = "A horde of mice arrives, and perhaps even the Rat King themselves."
|
||||
|
||||
/datum/round_event/mice_migration
|
||||
var/minimum_mice = 3
|
||||
var/maximum_mice = 8
|
||||
var/minimum_mice = 3 //GS13 Edit: 5 to 3, mice ravage the station in lowpop
|
||||
var/maximum_mice = 8 //GS13 Edit: 15 to 8, See above.
|
||||
|
||||
/datum/round_event/mice_migration/announce(fake)
|
||||
var/cause = pick("space-winter", "budget-cuts", "Ragnarok",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/round_event_control/nightmare
|
||||
name = "Spawn Nightmare"
|
||||
typepath = /datum/round_event/ghost_role/nightmare
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
min_players = 25
|
||||
dynamic_should_hijack = TRUE
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Lone Operative"
|
||||
typepath = /datum/round_event/ghost_role/operative
|
||||
weight = 0 //Admin only
|
||||
max_occurrences = 0 //GS13 tweak
|
||||
max_occurrences = 0 //GS13 - just in case
|
||||
category = EVENT_CATEGORY_INVASION
|
||||
description = "A single nuclear operative assaults the station."
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Space Pirates"
|
||||
typepath = /datum/round_event/pirates
|
||||
weight = 8
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
min_players = 20
|
||||
earliest_start = 50 MINUTES
|
||||
dynamic_should_hijack = TRUE
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
typepath = /datum/round_event/portal_storm/syndicate_shocktroop
|
||||
weight = 2
|
||||
min_players = 20
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
earliest_start = 60 MINUTES
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
description = "Syndicate troops pour out of portals."
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
#define SNACK_ATTACK 1 //GS13
|
||||
#define HIJACK_SYNDIE 2
|
||||
#define RUSKY_PARTY 3
|
||||
#define SPIDER_GIFT 4
|
||||
#define DEPARTMENT_RESUPPLY 5
|
||||
#define ANTIDOTE_NEEDED 6
|
||||
#define PIZZA_DELIVERY 7
|
||||
#define ITS_HIP_TO 8
|
||||
#define MY_GOD_JC 9
|
||||
#define DELTA_CRATES 10
|
||||
#define HIJACK_SYNDIE 1
|
||||
#define RUSKY_PARTY 2
|
||||
#define SPIDER_GIFT 3
|
||||
#define DEPARTMENT_RESUPPLY 4
|
||||
#define ANTIDOTE_NEEDED 5
|
||||
#define PIZZA_DELIVERY 6
|
||||
#define ITS_HIP_TO 7
|
||||
#define MY_GOD_JC 8
|
||||
#define DELTA_CRATES 9
|
||||
#define SNACK_ATTACK 10 //GS13 Add: Snack attack
|
||||
|
||||
/datum/round_event_control/shuttle_loan
|
||||
name = "Shuttle Loan"
|
||||
typepath = /datum/round_event/shuttle_loan
|
||||
max_occurrences = 3
|
||||
max_occurrences = 20 //GS13 Edit: increasing this because they're a fun event
|
||||
earliest_start = 15 MINUTES
|
||||
category = EVENT_CATEGORY_BUREAUCRATIC
|
||||
description = "If cargo accepts the offer, fills the shuttle with loot and/or enemies."
|
||||
@@ -26,16 +26,13 @@
|
||||
var/thanks_msg = "The cargo shuttle should return in five minutes. Have some supply points for your trouble."
|
||||
|
||||
/datum/round_event/shuttle_loan/setup()
|
||||
dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY, ITS_HIP_TO, MY_GOD_JC)
|
||||
dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY, ITS_HIP_TO, MY_GOD_JC, SNACK_ATTACK) //GS13 Edit: Snack Attack shuttle
|
||||
|
||||
/datum/round_event/shuttle_loan/announce(fake)
|
||||
SSshuttle.shuttle_loan = src
|
||||
var/message = "Cargo: I just wanna tell you techs good luck, we are all counting on you."
|
||||
var/title = "CentCom Free Real Estate"
|
||||
switch(dispatch_type)
|
||||
if(SNACK_ATTACK) //GS13
|
||||
message = "Cargo: Our science division took couple too many samples from one the local candy biohabitats. Would you care to dispose of the unneeded specimen?"
|
||||
title = "CentCom Science Division"
|
||||
if(HIJACK_SYNDIE)
|
||||
message = "Cargo: The syndicate are trying to infiltrate your station. If you let them hijack your cargo shuttle, you'll save us a headache."
|
||||
title = "CentCom Counter Intelligence"
|
||||
@@ -66,6 +63,11 @@
|
||||
message = "Cargo: We have discovered a warehouse of DELTA locked crates. We can't store any more of them at CC, can you take them for us?"
|
||||
title = "CentCom Security Division"
|
||||
bonus_points = 25000 //If you mess up, people die and the shuttle gets turned into swiss cheese
|
||||
//GS13 Start: Snack Attack shuttle
|
||||
if(SNACK_ATTACK)
|
||||
message = "Cargo: Our science division took couple too many samples from one the local candy biohabitats. Would you care to dispose of the unneeded specimen?"
|
||||
title = "CentCom Science Division"
|
||||
//GS13 End
|
||||
if(prob(50))
|
||||
priority_announce(message, title)
|
||||
else
|
||||
@@ -85,8 +87,6 @@
|
||||
SSshuttle.supply.setTimer(3000)
|
||||
|
||||
switch(dispatch_type)
|
||||
if(SNACK_ATTACK) //GS13
|
||||
SSshuttle.centcom_message += "Snack attack en route."
|
||||
if(HIJACK_SYNDIE)
|
||||
SSshuttle.centcom_message += "Syndicate hijack team incoming."
|
||||
if(RUSKY_PARTY)
|
||||
@@ -105,6 +105,10 @@
|
||||
SSshuttle.centcom_message += "Live explosive ordnance incoming. Exercise extreme caution."
|
||||
if(DELTA_CRATES)
|
||||
SSshuttle.centcom_message += "DELTA Locked crates incoming. Exercise extreme caution."
|
||||
//GS13 Start: Snack attack shuttle
|
||||
if(SNACK_ATTACK)
|
||||
SSshuttle.centcom_message += "Snack attack en route."
|
||||
//GS13 End
|
||||
|
||||
/datum/round_event/shuttle_loan/tick()
|
||||
if(dispatched)
|
||||
@@ -131,19 +135,6 @@
|
||||
|
||||
var/list/shuttle_spawns = list()
|
||||
switch(dispatch_type)
|
||||
if(SNACK_ATTACK) //GS13
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime)
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime)
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast)
|
||||
if(prob(50))
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast)
|
||||
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange)
|
||||
shuttle_spawns.Add(/obj/item/paper/fluff/chocoslime_research)
|
||||
if(HIJACK_SYNDIE)
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[/datum/supply_pack/emergency/specialops]
|
||||
pack.generate(pick_n_take(empty_shuttle_turfs))
|
||||
@@ -270,6 +261,21 @@
|
||||
var/turf/T = pick_n_take(empty_shuttle_turfs)
|
||||
new /obj/structure/spider/stickyweb(T)
|
||||
new /obj/effect/decal/cleanable/ash(T)
|
||||
//GS13 Start: Snack Attack Shuttle
|
||||
if(SNACK_ATTACK) //GS13
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime)
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime)
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast)
|
||||
if(prob(50))
|
||||
shuttle_spawns.Add(/mob/living/simple_animal/hostile/feed/chocolate_slime/creambeast)
|
||||
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/donut/choco)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange)
|
||||
shuttle_spawns.Add(/obj/item/reagent_containers/food/snacks/chocoorange)
|
||||
shuttle_spawns.Add(/obj/item/paper/fluff/chocoslime_research)
|
||||
//GS13 End
|
||||
|
||||
var/false_positive = 0
|
||||
while(shuttle_spawns.len && empty_shuttle_turfs.len)
|
||||
@@ -315,3 +321,4 @@
|
||||
#undef ITS_HIP_TO
|
||||
#undef MY_GOD_JC
|
||||
#undef DELTA_CRATES
|
||||
#undef SNACK_ATTACK //GS13 Add: Snack attack
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Spawn Space Dragon"
|
||||
typepath = /datum/round_event/ghost_role/space_dragon
|
||||
weight = 8
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
min_players = 25
|
||||
dynamic_should_hijack = TRUE
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/round_event_control/space_ninja
|
||||
name = "Spawn Space Ninja"
|
||||
typepath = /datum/round_event/ghost_role/space_ninja
|
||||
max_occurrences = 1
|
||||
max_occurrences = 0 //GS13 - no antags, thanks
|
||||
weight = 10
|
||||
earliest_start = 20 MINUTES
|
||||
min_players = 25
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
typepath = /datum/round_event/spacevine
|
||||
weight = 15
|
||||
max_occurrences = 3
|
||||
min_players = 18
|
||||
min_players = 15 //GS13 - should be enough players
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
description = "Kudzu begins to overtake the station. Might spawn man-traps."
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "Stray Cargo Pod"
|
||||
typepath = /datum/round_event/stray_cargo
|
||||
weight = 5
|
||||
max_occurrences = 6
|
||||
max_occurrences = 6 //GS13 - increase the amount of possible strays
|
||||
earliest_start = 10 MINUTES
|
||||
category = EVENT_CATEGORY_BUREAUCRATIC
|
||||
description = "A pod containing a random supply crate lands on the station."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Supernova"
|
||||
typepath = /datum/round_event/supernova
|
||||
weight = 5
|
||||
max_occurrences = 0
|
||||
max_occurrences = 0 //GS13 - fuck no (this is just more intense radstorm)
|
||||
min_players = 2
|
||||
category = EVENT_CATEGORY_SPACE
|
||||
description = "Several modified radstorms hit the station."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Travelling Trader"
|
||||
typepath = /datum/round_event/travelling_trader
|
||||
weight = 8
|
||||
max_occurrences = 6 //GS13 because why not
|
||||
max_occurrences = 6 //GS13 - more occurences, because why not
|
||||
earliest_start = 10 MINUTES
|
||||
category = EVENT_CATEGORY_FRIENDLY
|
||||
description = "A mysterious figure requests something to the crew and rewards them with something for getting it done."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Untied Shoes"
|
||||
typepath = /datum/round_event/untied_shoes
|
||||
weight = 50
|
||||
max_occurrences = 10
|
||||
max_occurrences = 0 //GS13 - tedious, doesn't always make sense
|
||||
alert_observers = FALSE
|
||||
category = EVENT_CATEGORY_HEALTH
|
||||
description = "Unties people's shoes, with a chance to knot them as well."
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "Clogged Vents: Normal"
|
||||
typepath = /datum/round_event/vent_clog
|
||||
weight = 10
|
||||
max_occurrences = 3
|
||||
min_players = 10
|
||||
max_occurrences = 2 //GS13 - pain in the ass, occurences nerfed until a less disruptive variant is made
|
||||
min_players = 16 //GS13 - pain in the ass, occurences nerfed until a less disruptive variant is made
|
||||
category = EVENT_CATEGORY_HEALTH
|
||||
description = "All the scrubbers onstation spit random chemicals in smoke form."
|
||||
|
||||
@@ -15,19 +15,23 @@
|
||||
var/list/vents = list()
|
||||
var/randomProbability = 0
|
||||
var/reagentsAmount = 100
|
||||
var/list/saferChems = list( //GS13 - removed some of those chems, just a couple particularly annoying ones
|
||||
var/list/saferChems = list(
|
||||
/datum/reagent/water,
|
||||
/datum/reagent/carbon,
|
||||
/datum/reagent/consumable/flour,
|
||||
/datum/reagent/space_cleaner,
|
||||
/datum/reagent/consumable/nutriment,
|
||||
/datum/reagent/consumable/condensedcapsaicin,
|
||||
/datum/reagent/drug/mushroomhallucinogen,
|
||||
/datum/reagent/lube,
|
||||
/datum/reagent/glitter/pink,
|
||||
/datum/reagent/glitter/pink_subtle, //GS13 Add: Add our subtle variants of glitter.
|
||||
/datum/reagent/cryptobiolin,
|
||||
//datum/reagent/toxin/plantbgone, //GS13 Remove: Annoying Reagent
|
||||
/datum/reagent/blood,
|
||||
/datum/reagent/medicine/charcoal,
|
||||
/datum/reagent/drug/space_drugs,
|
||||
/datum/reagent/medicine/morphine,
|
||||
/datum/reagent/water/holywater,
|
||||
/datum/reagent/consumable/ethanol,
|
||||
/datum/reagent/consumable/hot_coco,
|
||||
@@ -47,6 +51,7 @@
|
||||
/datum/reagent/hair_dye,
|
||||
/datum/reagent/consumable/sugar,
|
||||
/datum/reagent/glitter/white,
|
||||
/datum/reagent/glitter/white_subtle, //GS13 ADD: Add our subtle variants of glitter. ...Why is this separate from the other glitter, anyhow? Blue glitter's also missing, so I wont add it.
|
||||
/datum/reagent/growthserum,
|
||||
/datum/reagent/consumable/cornoil,
|
||||
/datum/reagent/uranium,
|
||||
@@ -112,7 +117,7 @@
|
||||
|
||||
/datum/round_event/vent_clog/threatening
|
||||
randomProbability = 10
|
||||
reagentsAmount = 100
|
||||
reagentsAmount = 200
|
||||
|
||||
/datum/round_event_control/vent_clog/catastrophic
|
||||
name = "Clogged Vents: Catastrophic"
|
||||
|
||||
@@ -89,6 +89,7 @@ All foods are distributed among various categories. Use common sense.
|
||||
if(!reagents.total_volume)
|
||||
var/mob/living/location = loc
|
||||
var/obj/item/trash_item = generate_trash(location)
|
||||
handle_tf()//GS13 EDIT
|
||||
qdel(src)
|
||||
if(istype(location))
|
||||
location.put_in_hands(trash_item)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var/card_face = "cas_white"
|
||||
var/blanks = 25
|
||||
var/decksize = 150
|
||||
var/card_text_file = "strings/cas_white.txt"
|
||||
var/card_text_file = "GainStation13/strings/cas_white.txt" //GS13 Edit: Nanotrasen to GATO
|
||||
var/list/allcards = list()
|
||||
|
||||
/obj/item/toy/cards/deck/cas/black
|
||||
@@ -29,10 +29,10 @@
|
||||
card_face = "cas_black"
|
||||
blanks = 0
|
||||
decksize = 50
|
||||
card_text_file = "strings/cas_black.txt"
|
||||
card_text_file = "GainStation13/strings/cas_black.txt" //GS13 Edit: Nanotrasen to GATO
|
||||
|
||||
/obj/item/toy/cards/deck/cas/populate_deck()
|
||||
var/static/list/cards_against_space = list("cas_white" = world.file2list("strings/cas_white.txt"),"cas_black" = world.file2list("strings/cas_black.txt"))
|
||||
var/static/list/cards_against_space = list("cas_white" = world.file2list("GainStation13/strings/cas_white.txt"),"cas_black" = world.file2list("GainStation13/strings/cas_black.txt")) //GS13 Edit: Nanotrasen to GATO
|
||||
allcards = cards_against_space[card_face]
|
||||
var/list/possiblecards = allcards.Copy()
|
||||
if(possiblecards.len < decksize) // sanity check
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/mob/living/simple_animal/jacq
|
||||
name = "Jacqueline the Pumpqueen"
|
||||
real_name = "Jacqueline"
|
||||
icon = 'GainStation13/icons/obj/halloween_items.dmi'
|
||||
icon = 'GainStation13/icons/obj/halloween_items.dmi' //GS13 Edit: Fat Jacqueline
|
||||
icon_state = "jacqueline"
|
||||
maxHealth = 25
|
||||
health = 25
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//This file also determines the order for the choose your occupation chances screen.
|
||||
|
||||
//Engineering
|
||||
/datum/job/chief_engineer
|
||||
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager", "Power Plant Director")
|
||||
|
||||
/datum/job/engineer
|
||||
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect", "Nuclear Plant Operator")
|
||||
|
||||
/datum/job/atmos
|
||||
alt_titles = list("Firefighter", "Life Support Specialist", "Disposals Technician")
|
||||
|
||||
//Service
|
||||
/datum/job/assistant
|
||||
alt_titles = list("Civilian", "Morale Officer", "Off-Duty", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
|
||||
|
||||
/datum/job/cook
|
||||
alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie", "Poissonier", "Baker", "Taste Tester")
|
||||
|
||||
/datum/job/hydro
|
||||
alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper", "Vintner")
|
||||
|
||||
/datum/job/curator
|
||||
alt_titles = list("Journalist", "Librarian", "Keeper")
|
||||
|
||||
/datum/job/chaplain
|
||||
alt_titles = list("Priest", "Priestess", "Prior", "Monk", "Nun", "Counselor")
|
||||
|
||||
/datum/job/janitor
|
||||
alt_titles = list("Custodian", "Sanitation Technician", "Maid", "Trash Can", "Disposal Unit")
|
||||
|
||||
/datum/job/lawyer
|
||||
alt_titles = list("Human Resources Agent", "Internal Affairs Agent", "Attorney")
|
||||
|
||||
/datum/job/clown
|
||||
alt_titles = list("Jester", "Comedian")
|
||||
|
||||
/datum/job/mime
|
||||
alt_titles = list("Performer", "Pantomime", "Mimic")
|
||||
|
||||
/datum/job/bartender
|
||||
alt_titles = list("Mixologist", "Sommelier", "Bar Owner", "Barmaid", "Expediter")
|
||||
|
||||
//Science
|
||||
/datum/job/rd
|
||||
alt_titles = list("Research Manager", "Science Administrator")
|
||||
|
||||
/datum/job/scientist
|
||||
alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Pyrotechnician")
|
||||
|
||||
/datum/job/roboticist
|
||||
alt_titles = list("Biomechanical Engineer", "Mechatronic Engineer", "Mechanic")
|
||||
|
||||
//Medical
|
||||
/datum/job/cmo
|
||||
alt_titles = list("Medical Director", "Medical Administrator")
|
||||
|
||||
/datum/job/doctor
|
||||
alt_titles = list("Nurse", "Surgeon", "Physician", "Paramedic", "Trophologist", "Nutritionist", "Therapist", "Psychiatrist")
|
||||
|
||||
/datum/job/chemist
|
||||
alt_titles = list("Pharmacist", "Pharmacologist")
|
||||
|
||||
/datum/job/virologist
|
||||
alt_titles = list("Microbiologist", "Biochemist", "Pathologist")
|
||||
|
||||
/datum/job/geneticist
|
||||
alt_titles = list("Gene Therapist", "Genetics Researcher")
|
||||
|
||||
//Security
|
||||
/datum/job/hos
|
||||
alt_titles = list("Chief of Security", "Security Commander", "Sheriff")
|
||||
|
||||
/datum/job/warden
|
||||
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent")
|
||||
|
||||
/datum/job/officer
|
||||
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet")
|
||||
|
||||
/datum/job/detective
|
||||
alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe")
|
||||
|
||||
|
||||
//Supply
|
||||
/datum/job/qm
|
||||
alt_titles = list("Supply Chief")
|
||||
|
||||
/datum/job/cargo_tech
|
||||
alt_titles = list("Mail Man", "Mail Woman", "Mailroom Technician", "Deliveries Officer", "Logistics Technician")
|
||||
|
||||
/datum/job/mining
|
||||
alt_titles = list("Exotic Ore Miner", "Fauna Hunter", "Explorer", "Digger") //Just because you're a hunter does not excuse you from rock collecting!!!!!!!!!!!!
|
||||
|
||||
//Command
|
||||
/datum/job/captain
|
||||
alt_titles = list("Station Director", "Station Commander", "Station Overseer", "Stationmaster", "Commissar")
|
||||
|
||||
/datum/job/hop
|
||||
alt_titles = list("Personnel Manager", "Staff Administrator", "Records Administrator")
|
||||
@@ -63,6 +63,9 @@
|
||||
var/list/mind_traits // Traits added to the mind of the mob assigned this job
|
||||
var/list/blacklisted_quirks //list of quirk typepaths blacklisted.
|
||||
|
||||
/// What alternate titles does this job currently have?
|
||||
var/list/alt_titles = list()
|
||||
|
||||
/// Should this job be allowed to be picked for the bureaucratic error event?
|
||||
var/allow_bureaucratic_error = TRUE
|
||||
|
||||
@@ -211,7 +214,7 @@
|
||||
/datum/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels.
|
||||
if(H && GLOB.announcement_systems.len)
|
||||
//timer because these should come after the captain announcement
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), TYPE_PROC_REF(/obj/machinery/announcement_system, announce), "NEWHEAD", H.real_name, H.job, channels), 1))
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(pick(GLOB.announcement_systems), TYPE_PROC_REF(/obj/machinery/announcement_system, announce), "NEWHEAD", H.real_name, H.job, H.client?.prefs.alt_titles_preferences[H.job], channels), 1))
|
||||
|
||||
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
|
||||
/datum/job/proc/player_old_enough(client/C)
|
||||
@@ -314,7 +317,11 @@
|
||||
shuffle_inplace(C.access) // Shuffle access list to make NTNet passkeys less predictable
|
||||
C.registered_name = H.real_name
|
||||
C.assignment = J.title
|
||||
C.update_label()
|
||||
if(preference_source && preference_source.prefs && preference_source.prefs.alt_titles_preferences[J.title])
|
||||
C.update_label(C.registered_name, preference_source.prefs.alt_titles_preferences[J.title])
|
||||
else
|
||||
C.update_label()
|
||||
|
||||
for(var/A in SSeconomy.bank_accounts)
|
||||
var/datum/bank_account/B = A
|
||||
if(B.account_id == H.account_id)
|
||||
@@ -326,6 +333,10 @@
|
||||
var/obj/item/pda/PDA = H.get_item_by_slot(pda_slot)
|
||||
if(istype(PDA))
|
||||
PDA.owner = H.real_name
|
||||
if(preference_source && preference_source.prefs && preference_source.prefs.alt_titles_preferences[J.title])
|
||||
PDA.ownjob = preference_source.prefs.alt_titles_preferences[J.title]
|
||||
else
|
||||
PDA.ownjob = J.title
|
||||
PDA.ownjob = J.title
|
||||
PDA.update_label()
|
||||
if(preference_source && !PDA.equipped) //PDA's screen color, font style and look depend on client preferences.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
department_head = list("Head of Personnel")
|
||||
department_flag = CIVILIAN
|
||||
faction = "Station"
|
||||
total_positions = 1
|
||||
total_positions = 2
|
||||
spawn_positions = 1
|
||||
supervisors = "the head of personnel"
|
||||
selection_color = "#bbe291"
|
||||
|
||||
@@ -50,7 +50,10 @@
|
||||
|
||||
/datum/job/captain/announce(mob/living/carbon/human/H)
|
||||
..()
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), "Captain [H.nameless ? "" : "[H.real_name] "]on deck!"))
|
||||
var/displayed_rank = H.client?.prefs?.alt_titles_preferences[title]
|
||||
if(!displayed_rank) //Default to Captain
|
||||
displayed_rank = "Captain"
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(minor_announce), "[displayed_rank] [H.nameless ? "" : "[H.real_name] "]on deck!"))
|
||||
|
||||
/datum/outfit/job/captain
|
||||
name = "Captain"
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
department_head = list("The Security Team")
|
||||
department_flag = CIVILIAN
|
||||
faction = "Station"
|
||||
total_positions = 0
|
||||
spawn_positions = 0
|
||||
total_positions = 1 //GS13 - enabling prisoner (for now)
|
||||
spawn_positions = 1 //GS13 - enabling prisoner (for now)
|
||||
supervisors = "the security team"
|
||||
random_spawns_possible = FALSE
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
hoodtype = /obj/item/clothing/head/hooded/explorer/heva
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 100, RAD = 80, FIRE = 100, ACID = 80)
|
||||
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer/heva
|
||||
name = "HEVA hood"
|
||||
@@ -178,7 +178,7 @@
|
||||
item_state = "heva"
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 100, RAD = 20, FIRE = 60, ACID = 20)
|
||||
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/hooded/explorer/heva/equipped(mob/living/carbon/human/user, slot)
|
||||
..()
|
||||
|
||||
@@ -606,6 +606,9 @@
|
||||
dept_dat += "<a class='job[command_bold]' style='display:block;width:170px' href='byond://?src=[REF(src)];SelectedJob=[job_datum.title]'><span class='priority'>[job_datum.title] ([num_positions_current]/[num_positions_total])</span></a>"
|
||||
else
|
||||
dept_dat += "<a class='job[command_bold]' style='display:block;width:170px' href='byond://?src=[REF(src)];SelectedJob=[job_datum.title]'>[job_datum.title] ([num_positions_current]/[num_positions_total])</a>"
|
||||
if(client && client.prefs && client?.prefs?.alt_titles_preferences[job_datum.title])
|
||||
dept_dat += "<br><span style='color:#BBBBBB; font-style: italic;'>(as [client?.prefs?.alt_titles_preferences[job_datum.title]])</span>"
|
||||
|
||||
if(!dept_dat.len)
|
||||
dept_dat += "<span class='nopositions'>No positions open.</span>"
|
||||
dat += jointext(dept_dat, "")
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
if(mob_size == MOB_SIZE_LARGE)
|
||||
cuff_icon += "_[caste]"
|
||||
dmi_file = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites
|
||||
dmi_file = 'GainStation13/icons/mob/alienqueen.dmi' //GS13 Edit: Adding our handcuff icons to the aliens.
|
||||
|
||||
var/mutable_appearance/cuffs = mutable_appearance(dmi_file, cuff_icon, -HANDCUFF_LAYER)
|
||||
cuffs.color = handcuffed.color
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/mob/living/carbon/alien/humanoid/royal
|
||||
//Common stuffs for Praetorian and Queen
|
||||
icon = 'hyperstation/icons/mobs/alienqueen.dmi'
|
||||
icon = 'icons/mob/alienqueen.dmi'
|
||||
status_flags = 0
|
||||
unique_name = 0
|
||||
pixel_x = -16
|
||||
@@ -17,7 +17,7 @@
|
||||
meleeSlashHumanPower = 30
|
||||
meleeSlashSAPower = 60
|
||||
|
||||
var/alt_inhands_file = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites
|
||||
var/alt_inhands_file = 'icons/mob/alienqueen.dmi'
|
||||
|
||||
/mob/living/carbon/alien/humanoid/royal/can_inject(mob/user, error_msg, target_zone, penetrate_thick = FALSE, bypass_immunity = FALSE)
|
||||
return FALSE
|
||||
|
||||
@@ -820,6 +820,10 @@
|
||||
//Sure, give clickdelay for anti spam. shouldn't be combat voring anyways.
|
||||
return TRUE
|
||||
|
||||
// GS13 Escape Transformation
|
||||
if(attempt_to_escape_tf())
|
||||
return TRUE
|
||||
|
||||
//Breaking out of a container (Locker, sleeper, cryo...)
|
||||
if(isobj(loc))
|
||||
var/obj/C = loc
|
||||
|
||||
@@ -281,6 +281,7 @@
|
||||
/obj/item/t_scanner/adv_mining_scanner,
|
||||
/obj/item/restraints/handcuffs/cable/zipties,
|
||||
/obj/item/soap/nanotrasen,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/borg/cyborghug)
|
||||
emag_modules = list(/obj/item/melee/transforming/energy/sword/cyborg)
|
||||
ratvar_modules = list(
|
||||
@@ -317,6 +318,7 @@
|
||||
/obj/item/organ_storage,
|
||||
/obj/item/borg/lollipop,
|
||||
/obj/item/sensor_device,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/shockpaddles/cyborg)
|
||||
emag_modules = list(/obj/item/reagent_containers/borghypo/hacked)
|
||||
ratvar_modules = list(
|
||||
@@ -336,8 +338,11 @@
|
||||
"Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmed"),
|
||||
"Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamed"),
|
||||
"Eyebot" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "eyebotmed"),
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymed")
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymed"),
|
||||
"Haydee" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "haydeemedical"), //GS13 EDIT
|
||||
"Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_medical"), //GS13 EDIT
|
||||
)
|
||||
/* GS13 EDIT
|
||||
var/list/L = list("Medihound" = "medihound", "Medihound Dark" = "medihounddark", "Vale" = "valemed")
|
||||
for(var/a in L)
|
||||
var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a])
|
||||
@@ -347,6 +352,7 @@
|
||||
var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-med")
|
||||
bad_snowflake.pixel_x = -16
|
||||
med_icons["Alina"] = bad_snowflake
|
||||
*/
|
||||
med_icons = sort_list(med_icons)
|
||||
var/med_borg_icon = show_radial_menu(R, R , med_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(med_borg_icon)
|
||||
@@ -368,6 +374,7 @@
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavymed"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
/* GS13 EDIT, dogborg-b-gone
|
||||
if("Medihound")
|
||||
cyborg_base_icon = "medihound"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
@@ -397,6 +404,17 @@
|
||||
moduleselect_icon = "medihound"
|
||||
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
|
||||
dogborg = TRUE
|
||||
*/
|
||||
//GS13 EDIT START
|
||||
if("Haydee")
|
||||
cyborg_base_icon = "haydeemedical"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
if("Fat")
|
||||
cyborg_base_icon = "fat_medical"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
//GS13 EDIT END
|
||||
else
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -421,6 +439,7 @@
|
||||
/obj/item/storage/part_replacer/cyborg,
|
||||
/obj/item/holosign_creator/combifan,
|
||||
/obj/item/gripper,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/lightreplacer/cyborg,
|
||||
/obj/item/geiger_counter/cyborg,
|
||||
/obj/item/assembly/signaler/cyborg,
|
||||
@@ -454,8 +473,10 @@
|
||||
"Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "caneng"),
|
||||
"Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinaeng"),
|
||||
"Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidereng"),
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyeng")
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyeng"),
|
||||
"Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_engineer"), //GS13 EDIT
|
||||
)
|
||||
/* GS13 EDIT
|
||||
var/list/L = list("Pup Dozer" = "pupdozer", "Vale" = "valeeng")
|
||||
for(var/a in L)
|
||||
var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a])
|
||||
@@ -465,6 +486,7 @@
|
||||
var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-eng")
|
||||
bad_snowflake.pixel_x = -16
|
||||
engi_icons["Alina"] = bad_snowflake
|
||||
*/
|
||||
engi_icons = sort_list(engi_icons)
|
||||
var/engi_borg_icon = show_radial_menu(R, R , engi_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(engi_borg_icon)
|
||||
@@ -496,6 +518,7 @@
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavyeng"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
/* GS13 EDIT
|
||||
if("Pup Dozer")
|
||||
cyborg_base_icon = "pupdozer"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
@@ -512,6 +535,13 @@
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
sleeper_overlay = "valeengsleeper"
|
||||
dogborg = TRUE
|
||||
*/
|
||||
//GS13 EDIT START
|
||||
if("Fat")
|
||||
cyborg_base_icon = "fat_engineer"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
//GS13 EDIT END
|
||||
else
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -527,6 +557,9 @@
|
||||
/obj/item/melee/baton/loaded,
|
||||
/obj/item/gun/energy/disabler/cyborg,
|
||||
/obj/item/clothing/mask/gas/sechailer/cyborg,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT
|
||||
/obj/item/gun/energy/fatoray/weak/cyborg, //GS13 EDIT
|
||||
/obj/item/pinpointer/crew)
|
||||
emag_modules = list(/obj/item/gun/energy/laser/cyborg)
|
||||
ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
|
||||
@@ -553,6 +586,7 @@
|
||||
"Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidersec"),
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavysec")
|
||||
)
|
||||
/* GS13 EDIT
|
||||
var/list/L = list("K9" = "k9", "Vale" = "valesec", "K9 Dark" = "k9dark")
|
||||
for(var/a in L)
|
||||
var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a])
|
||||
@@ -562,6 +596,7 @@
|
||||
var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec")
|
||||
bad_snowflake.pixel_x = -16
|
||||
sec_icons["Alina"] = bad_snowflake
|
||||
*/
|
||||
sec_icons = sort_list(sec_icons)
|
||||
var/sec_borg_icon = show_radial_menu(R, R , sec_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(sec_borg_icon)
|
||||
@@ -586,6 +621,7 @@
|
||||
if("Heavy")
|
||||
cyborg_base_icon = "heavysec"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
/* GS13 EDIT
|
||||
if("K9")
|
||||
cyborg_base_icon = "k9"
|
||||
sleeper_overlay = "ksleeper"
|
||||
@@ -607,6 +643,7 @@
|
||||
sleeper_overlay = "valesecsleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
dogborg = TRUE
|
||||
*/
|
||||
else
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -632,6 +669,9 @@
|
||||
/obj/item/holosign_creator/cyborg,
|
||||
/obj/item/borg/cyborghug/peacekeeper,
|
||||
/obj/item/megaphone,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT
|
||||
/obj/item/gun/energy/fatoray/weak/cyborg, //GS13 EDIT
|
||||
/obj/item/borg/projectile_dampen)
|
||||
emag_modules = list(/obj/item/reagent_containers/borghypo/peace/hacked)
|
||||
ratvar_modules = list(
|
||||
@@ -651,7 +691,8 @@
|
||||
var/static/list/peace_icons = sort_list(list(
|
||||
"Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "peace"),
|
||||
"Borgi" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "borgi"),
|
||||
"Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider")
|
||||
"Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider"),
|
||||
"Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_peacekeeper"), //GS13 EDIT
|
||||
))
|
||||
var/peace_borg_icon = show_radial_menu(R, R , peace_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(peace_borg_icon)
|
||||
@@ -660,6 +701,12 @@
|
||||
if("Spider")
|
||||
cyborg_base_icon = "whitespider"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
//GS13 EDIT START
|
||||
if("Fat")
|
||||
cyborg_base_icon = "fat_peacekeeper"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
//GS13 EDIT END
|
||||
if("Borgi")
|
||||
cyborg_base_icon = "borgi"
|
||||
moduleselect_icon = "borgi"
|
||||
@@ -724,6 +771,8 @@
|
||||
/obj/item/razor, //killbait material
|
||||
/obj/item/lipstick/purple,
|
||||
/obj/item/reagent_containers/spray/waterflower/cyborg,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT
|
||||
/obj/item/borg/cyborghug/peacekeeper,
|
||||
/obj/item/borg/lollipop/clown,
|
||||
/obj/item/picket_sign/cyborg,
|
||||
@@ -764,6 +813,9 @@
|
||||
/obj/item/soap/nanotrasen,
|
||||
/obj/item/storage/bag/trash/cyborg,
|
||||
/obj/item/mop/cyborg,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/reagent_containers/borghypo/feeding_tube, //GS13 EDIT
|
||||
/obj/item/cookiesynth, //GS13 EDIT
|
||||
/obj/item/lightreplacer/cyborg,
|
||||
/obj/item/holosign_creator,
|
||||
/obj/item/reagent_containers/spray/cyborg_drying)
|
||||
@@ -803,12 +855,15 @@
|
||||
"(Service) Tophat" = image(icon = 'icons/mob/robots.dmi', icon_state = "tophat"),
|
||||
"(Service) Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekserv"),
|
||||
"(Service) Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyserv"),
|
||||
"(Service) Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_service"),
|
||||
"(Service) Busty" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "busty_service"),
|
||||
"(Janitor) Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "janitor"),
|
||||
"(Janitor) Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinajan"),
|
||||
"(Janitor) Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekjan"),
|
||||
"(Janitor) Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canjan"),
|
||||
"(Janitor) Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyjan")
|
||||
)
|
||||
/* GS13 Edit
|
||||
var/list/L = list("(Service) DarkK9" = "k50", "(Service) Vale" = "valeserv", "(Service) ValeDark" = "valeservdark",
|
||||
"(Janitor) Scrubpuppy" = "scrubpup")
|
||||
for(var/a in L)
|
||||
@@ -819,6 +874,7 @@
|
||||
var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec")
|
||||
bad_snowflake.pixel_x = -16
|
||||
service_icons["Alina"] = bad_snowflake
|
||||
*/
|
||||
service_icons = sort_list(service_icons)
|
||||
var/service_robot_icon = show_radial_menu(R, R , service_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(service_robot_icon)
|
||||
@@ -860,6 +916,16 @@
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
sleeper_overlay = "valeservsleeper"
|
||||
dogborg = TRUE
|
||||
//GS13 EDIT START
|
||||
if("(Service) Fat")
|
||||
cyborg_base_icon = "fat_service"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
if("(Service) Busty")
|
||||
cyborg_base_icon = "busty_service"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 1
|
||||
//GS13 EDIT END
|
||||
if("(Janitor) Default")
|
||||
cyborg_base_icon = "janitor"
|
||||
if("(Janitor) Marina")
|
||||
@@ -905,6 +971,7 @@
|
||||
/obj/item/stack/marker_beacon/cyborg,
|
||||
/obj/item/dest_tagger,
|
||||
/obj/item/stack/packageWrap/cyborg,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/card/id/miningborg)
|
||||
emag_modules = list(/obj/item/borg/stun)
|
||||
ratvar_modules = list(
|
||||
@@ -926,13 +993,16 @@
|
||||
"Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmin"),
|
||||
"Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamin"),
|
||||
"Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canmin"),
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymin")
|
||||
"Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymin"),
|
||||
"Fat" = image(icon = 'GainStation13/icons/mob/robots.dmi', icon_state = "fat_mining"), //GS13 EDIT
|
||||
)
|
||||
/* GS13 EDIT
|
||||
var/list/L = list("Blade" = "blade", "Vale" = "valemine")
|
||||
for(var/a in L)
|
||||
var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a])
|
||||
wide.pixel_x = -16
|
||||
mining_icons[a] = wide
|
||||
*/
|
||||
mining_icons = sort_list(mining_icons)
|
||||
var/mining_borg_icon = show_radial_menu(R, R , mining_icons, custom_check = CALLBACK(src, PROC_REF(check_menu), R), radius = 42, require_near = TRUE)
|
||||
switch(mining_borg_icon)
|
||||
@@ -970,6 +1040,12 @@
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
sleeper_overlay = "valeminesleeper"
|
||||
dogborg = TRUE
|
||||
// GS13 EDIT START
|
||||
if("Fat")
|
||||
cyborg_base_icon = "fat_mining"
|
||||
cyborg_icon_override = 'GainStation13/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
//GS13 EDIT END
|
||||
else
|
||||
return FALSE
|
||||
return ..()
|
||||
@@ -986,6 +1062,7 @@
|
||||
/obj/item/gun/ballistic/revolver/grenadelauncher/cyborg,
|
||||
/obj/item/card/emag,
|
||||
/obj/item/crowbar/cyborg,
|
||||
/obj/item/gripper/food, //GS13 EDIT
|
||||
/obj/item/pinpointer/syndicate_cyborg)
|
||||
|
||||
ratvar_modules = list(
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
weight = 15
|
||||
max_occurrences = 2
|
||||
earliest_start = 20 MINUTES
|
||||
min_players = 5
|
||||
min_players = 8 //GS13 - really annoying on low-lowpop considering they jolt back and forth
|
||||
category = EVENT_CATEGORY_ENTITIES
|
||||
description = "Annoying little creatures go around the station causing havoc and hacking everything."
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/queen/large
|
||||
name = "alien empress"
|
||||
icon = 'hyperstation/icons/mobs/alienqueen.dmi' //GS13 - moving over Hyper sprites
|
||||
icon = 'icons/mob/alienqueen.dmi'
|
||||
icon_state = "alienq"
|
||||
icon_living = "alienq"
|
||||
icon_dead = "alienq_dead"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
spacewalk = TRUE
|
||||
var/armored = FALSE
|
||||
|
||||
obj_damage = 20
|
||||
obj_damage = 60
|
||||
melee_damage_lower = 15 // i know it's like half what it used to be, but bears cause bleeding like crazy now so it works out
|
||||
melee_damage_upper = 15
|
||||
wound_bonus = -5
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
desc = "Buzzy buzzy bee, stingy sti- Ouch!"
|
||||
icon_state = ""
|
||||
icon_living = ""
|
||||
icon = 'icons/mob/bees.dmi'
|
||||
icon = 'GainStation13/icons/mob/bees.dmi' //GS13 sprite change - brings back smaller bees rather than big goofy ones
|
||||
gender = FEMALE
|
||||
speak_emote = list("buzzes")
|
||||
emote_hear = list("buzzes")
|
||||
@@ -100,7 +100,7 @@
|
||||
add_overlay("[icon_base]_base")
|
||||
|
||||
var/static/mutable_appearance/greyscale_overlay
|
||||
greyscale_overlay = greyscale_overlay || mutable_appearance('icons/mob/bees.dmi')
|
||||
greyscale_overlay = greyscale_overlay || mutable_appearance('GainStation13/icons/mob/bees.dmi') //GS13 sprite change - brings back smaller bees rather than big goofy ones
|
||||
greyscale_overlay.icon_state = "[icon_base]_grey"
|
||||
greyscale_overlay.color = col
|
||||
add_overlay(greyscale_overlay)
|
||||
@@ -255,7 +255,7 @@
|
||||
desc = "She's the queen of bees, BZZ BZZ!"
|
||||
icon_state = "queen_item"
|
||||
item_state = ""
|
||||
icon = 'icons/mob/bees.dmi'
|
||||
icon = 'GainStation13/icons/mob/bees.dmi' //GS13 sprite change - brings back smaller bees rather than big goofy ones
|
||||
var/mob/living/simple_animal/hostile/poison/bees/queen/queen
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/obj/item/wallframe/light_fixture
|
||||
name = "light fixture frame"
|
||||
desc = "Used for building lights."
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change
|
||||
icon_state = "tube-construct-item"
|
||||
result_path = /obj/structure/light_construct
|
||||
inverse = TRUE
|
||||
@@ -38,7 +38,7 @@
|
||||
/obj/structure/light_construct
|
||||
name = "light fixture frame"
|
||||
desc = "A light fixture under construction."
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change
|
||||
icon_state = "tube-construct-stage1"
|
||||
anchored = TRUE
|
||||
layer = WALL_OBJ_LAYER
|
||||
@@ -178,7 +178,7 @@
|
||||
// the standard tube light fixture
|
||||
/obj/machinery/light
|
||||
name = "light fixture"
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change
|
||||
var/overlayicon = 'icons/obj/lighting_overlay.dmi'
|
||||
var/base_state = "tube" // base description and icon_state
|
||||
icon_state = "tube"
|
||||
@@ -733,7 +733,7 @@
|
||||
// will fit into empty /obj/machinery/light of the corresponding type
|
||||
|
||||
/obj/item/light
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change
|
||||
force = 2
|
||||
throwforce = 5
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
@@ -839,7 +839,7 @@
|
||||
|
||||
/obj/machinery/light/floor
|
||||
name = "floor light"
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
icon = 'GainStation13/icons/obj/lighting.dmi' //GS13 - sprite change
|
||||
base_state = "floor" // base description and icon_state
|
||||
icon_state = "floor"
|
||||
brightness = 5
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
D.trunk = src
|
||||
|
||||
var/obj/structure/disposaloutlet/O = locate() in T
|
||||
if(O)
|
||||
if(O && O.anchored) //GS Edit: Added anchored check to fix an edgecase where the trunk could get erroneously linked to an unanchored industrial feeding tube if the trunk was welded solid while the loose tube was above the trunk. Whew...
|
||||
linked = O
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
starting_node = TRUE
|
||||
display_name = "Cyborg Construction"
|
||||
description = "Sapient robots with preloaded tool modules and programmable laws."
|
||||
design_ids = list("robocontrol", "sflash", "borg_suit", "borg_head", "borg_chest", "borg_r_arm", "borg_l_arm", "borg_r_leg", "borg_l_leg", "borgupload",
|
||||
design_ids = list("robocontrol", "sflash", "borg_suit", "borg_head", "borg_chest", "borg_r_arm", "borg_l_arm", "borg_r_leg", "borg_l_leg", "borgupload", "borg_upgrade_foodgrip", //GS13 EDIT
|
||||
"cyborgrecharger", "borg_upgrade_restart", "borg_upgrade_rename")
|
||||
|
||||
/datum/techweb_node/adv_robotics
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
/obj/item/clothing/under/misc/gear_harness = 10,
|
||||
/obj/item/dildo/custom = 5,
|
||||
/obj/item/electropack/shockcollar = 3,
|
||||
/obj/item/transformation_item = 3, // GS13 EDIT
|
||||
/obj/item/assembly/signaler = 3,
|
||||
/obj/item/clothing/under/shorts/polychromic/pantsu = 3,
|
||||
/obj/item/clothing/under/misc/poly_bottomless = 3,
|
||||
|
||||
@@ -221,7 +221,12 @@
|
||||
//
|
||||
/mob/living/proc/escapeOOC()
|
||||
set name = "OOC Escape"
|
||||
set category = "Vore"
|
||||
set category = "OOC" // GS13 Change
|
||||
|
||||
//GS13 EDIT START
|
||||
handle_transformation_ooc_escape()
|
||||
//GS13 EDIT END
|
||||
|
||||
|
||||
//You're in a belly!
|
||||
if(isbelly(loc))
|
||||
|
||||
Reference in New Issue
Block a user