Merge branch 'master' into gatofication2
This commit is contained in:
@@ -454,14 +454,14 @@ GLOBAL_LIST_INIT(pda_reskins, list(
|
||||
#define STACK_CHECK_ADJACENT "adjacent" //checks if there is an object of the result type within one tile
|
||||
|
||||
//text files
|
||||
#define BRAIN_DAMAGE_FILE "traumas.json"
|
||||
#define ION_FILE "ion_laws.json"
|
||||
#define BRAIN_DAMAGE_FILE "traumas_gs.json" //GS13 Edit: Less meta memes
|
||||
#define ION_FILE "ion_laws_gs.json" //GS13 Edit: we're changing some of the things here, and removing other things
|
||||
#define PIRATE_NAMES_FILE "pirates.json"
|
||||
#define REDPILL_FILE "redpill.json"
|
||||
#define ARCADE_FILE "arcade.json"
|
||||
// #define BOOMER_FILE "boomer.json"
|
||||
// #define LOCATIONS_FILE "locations.json"
|
||||
// #define WANTED_FILE "wanted_message.json"
|
||||
// #define WANTED_FILE "wanted_message_gs.json" //GS13 Edit: ...This is commented out, but I'll swap it to ours, incase it needs to be renabled.
|
||||
// #define VISTA_FILE "steve.json"
|
||||
#define FLESH_SCAR_FILE "wounds/flesh_scar_desc.json"
|
||||
#define BONE_SCAR_FILE "wounds/bone_scar_desc.json"
|
||||
@@ -569,7 +569,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(
|
||||
#define SHOES_TIED 1
|
||||
#define SHOES_KNOTTED 2
|
||||
|
||||
#define WANTED_FILE "wanted_message.json"
|
||||
#define WANTED_FILE "wanted_message_gs.json" //GS Edit: Nanotrasen to Gato.
|
||||
|
||||
// Notification action types
|
||||
#define NOTIFY_JUMP "jump"
|
||||
|
||||
@@ -297,7 +297,7 @@
|
||||
#define OFFSET_MUTPARTS "mutantparts"
|
||||
|
||||
// MINOR TWEAKS/MISC
|
||||
#define AGE_MIN 18 // youngest a character can be // CITADEL EDIT - 17 --> 18
|
||||
#define AGE_MIN 21 // youngest a character can be // CITADEL EDIT - 17 --> 18 //GS13 EDIT - 18 --> 21
|
||||
#define AGE_MAX 85 // oldest a character can be randomly generated
|
||||
#define AGE_MAX_INPUT 85 // oldest a character's age can be manually set
|
||||
#define WIZARD_AGE_MIN 30 // youngest a wizard can be
|
||||
|
||||
@@ -295,6 +295,7 @@
|
||||
#define TRAIT_HEAT "heat"
|
||||
#define TRAIT_DISTANT "headpat_hater"
|
||||
#define TRAIT_CUM_PLUS "cum_plus"
|
||||
#define TRAIT_TRANSFORMED "transformed"
|
||||
|
||||
// mobility flag traits
|
||||
// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
var/holding = user.get_active_held_item()
|
||||
var/datum/progressbar/progbar
|
||||
var/is_food_gripper = istype(user.get_active_held_item(), /obj/item/gripper/food) //GS13 EDIT
|
||||
if (progress)
|
||||
progbar = new(user, time, target)
|
||||
|
||||
@@ -34,7 +35,8 @@
|
||||
|| (!(timed_action_flags & IGNORE_TARGET_IN_DOAFTERS) && !(target in user.do_afters)) \
|
||||
|| (!(timed_action_flags & IGNORE_USER_LOC_CHANGE) && !drifting && user.loc != user_loc) \
|
||||
|| (!(timed_action_flags & IGNORE_TARGET_LOC_CHANGE) && target.loc != target_loc) \
|
||||
|| (!(timed_action_flags & IGNORE_HELD_ITEM) && user.get_active_held_item() != holding) \
|
||||
//GS13 EDIT
|
||||
|| (!(timed_action_flags & IGNORE_HELD_ITEM) && !is_food_gripper && user.get_active_held_item() != holding) \
|
||||
|| (!(timed_action_flags & IGNORE_INCAPACITATED) && user.incapacitated()) \
|
||||
|| (extra_checks && !extra_checks.Invoke()) \
|
||||
)
|
||||
|
||||
@@ -581,8 +581,11 @@
|
||||
if((character.mind.assigned_role == "Cyborg") || (character.mind.assigned_role == character.mind.special_role))
|
||||
return
|
||||
|
||||
var/displayed_rank = rank
|
||||
if(character.client && character.client.prefs && character.client?.prefs?.alt_titles_preferences[rank])
|
||||
displayed_rank = character.client?.prefs?.alt_titles_preferences[rank]
|
||||
var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
|
||||
announcer.announce("ARRIVAL", character.real_name, rank, list()) //make the list empty to make it announce it in common
|
||||
announcer.announce("ARRIVAL", character.real_name, displayed_rank, list()) //make the list empty to make it announce it in common
|
||||
|
||||
/proc/lavaland_equipment_pressure_check(turf/T)
|
||||
. = FALSE
|
||||
|
||||
@@ -290,11 +290,11 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals",
|
||||
"Circuitry", "Toxins", "Dormitories", "Virology",
|
||||
"Xenobiology", "Law Office","Detective's Office"))
|
||||
|
||||
GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt") + "")
|
||||
GLOBAL_LIST_INIT(station_prefixes, world.file2list("GainStation13/strings/station_prefixes.txt") + "") //GS13 Edit: Our Names
|
||||
|
||||
GLOBAL_LIST_INIT(station_names, world.file2list("strings/station_names.txt" + ""))
|
||||
GLOBAL_LIST_INIT(station_names, world.file2list("GainStation13/strings/station_names.txt" + "")) //GS13 Edit: Our names
|
||||
|
||||
GLOBAL_LIST_INIT(station_suffixes, world.file2list("strings/station_suffixes.txt"))
|
||||
GLOBAL_LIST_INIT(station_suffixes, world.file2list("GainStation13/strings/station_suffixes.txt")) //GS13 Edit: Our names
|
||||
|
||||
GLOBAL_LIST_INIT(server_taglines, world.file2list("[global.config.directory]/server_taglines.txt"))
|
||||
|
||||
@@ -361,4 +361,4 @@ GLOBAL_LIST_INIT(bodypart_names, list(num2text(HEAD) = "Head", num2text(CHEST) =
|
||||
// list linking bodypart names back to the bitflags
|
||||
GLOBAL_LIST_INIT(bodypart_values, list("Head" = num2text(HEAD), "Chest" = num2text(CHEST), "Left Leg" = num2text(LEG_LEFT), "Right Leg" = num2text(LEG_RIGHT), "Left Arm" = num2text(ARM_LEFT), "Right Arm" = num2text(ARM_RIGHT)))
|
||||
|
||||
GLOBAL_LIST_INIT(junkmail_messages, world.file2list("strings/junkmail.txt"))
|
||||
GLOBAL_LIST_INIT(junkmail_messages, world.file2list("GainStation13/strings/junkmail.txt")) //GS Edit: Nanotrasen to GATO
|
||||
|
||||
@@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt"))
|
||||
GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt"))
|
||||
GLOBAL_LIST_INIT(adverbs, world.file2list("strings/names/adverbs.txt"))
|
||||
GLOBAL_LIST_INIT(adjectives, world.file2list("strings/names/adjectives.txt"))
|
||||
GLOBAL_LIST_INIT(dream_strings, world.file2list("strings/dreamstrings.txt"))
|
||||
GLOBAL_LIST_INIT(dream_strings, world.file2list("GainStation13/strings/dreamstrings.txt")) //GS13 Edit: Nanotrasen to Gato... And our own additions
|
||||
//loaded on startup because of "
|
||||
//would include in rsc if ' was used
|
||||
|
||||
|
||||
@@ -464,7 +464,10 @@ SUBSYSTEM_DEF(job)
|
||||
else
|
||||
handle_auto_deadmin_roles(M.client, rank)
|
||||
|
||||
to_chat(M, "<b>You are the [rank].</b>")
|
||||
var/display_rank = rank
|
||||
if(M.client && M.client.prefs && M.client?.prefs?.alt_titles_preferences[rank])
|
||||
display_rank = M.client?.prefs?.alt_titles_preferences[rank]
|
||||
to_chat(M, "<b>You are the [display_rank].</b>")
|
||||
if(job)
|
||||
to_chat(M, "<b>As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.</b>")
|
||||
job.radio_help_message(M)
|
||||
|
||||
@@ -17,7 +17,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
/datum/controller/subsystem/processing/quirks/Initialize(timeofday)
|
||||
if(!quirks.len)
|
||||
SetupQuirks()
|
||||
quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic"),list("Ageusia","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Alcohol Intolerance"),list("Alcohol Intolerance","Drunken Resilience"), list("Weak Legs", "Strong Legs"), list("Fat Affinity","Fat Aversion")) //GS13 EDIT
|
||||
quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic"),list("Ageusia", "Vegetarian", "Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Alcohol Intolerance"),list("Alcohol Intolerance","Drunken Resilience"), list("Weak Legs", "Strong Legs"), list("Fat Affinity","Fat Aversion")) //GS13 EDIT
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/processing/quirks/proc/SetupQuirks()
|
||||
|
||||
@@ -163,12 +163,14 @@
|
||||
if(_codeword)
|
||||
codeword = _codeword
|
||||
else
|
||||
codeword = pick(strings("ion_laws.json", "ionabstract")\
|
||||
| strings("ion_laws.json", "ionobjects")\
|
||||
| strings("ion_laws.json", "ionadjectives")\
|
||||
| strings("ion_laws.json", "ionthreats")\
|
||||
| strings("ion_laws.json", "ionfood")\
|
||||
| strings("ion_laws.json", "iondrinks"))
|
||||
//GS13 Start: We're using our file
|
||||
codeword = pick(strings("ion_laws_gs.json", "ionabstract")\
|
||||
| strings("ion_laws_gs.json", "ionobjects")\
|
||||
| strings("ion_laws_gs.json", "ionadjectives")\
|
||||
| strings("ion_laws_gs.json", "ionthreats")\
|
||||
| strings("ion_laws_gs.json", "ionfood")\
|
||||
| strings("ion_laws_gs.json", "iondrinks"))
|
||||
//GS13 End
|
||||
|
||||
/datum/brain_trauma/severe/split_personality/brainwashing/on_gain()
|
||||
..()
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#define MAX_STACK_PICKUP 30
|
||||
|
||||
/datum/component/storage/concrete/rped
|
||||
collection_mode = COLLECT_EVERYTHING
|
||||
allow_quick_gather = TRUE
|
||||
@@ -9,13 +11,61 @@
|
||||
max_items = 100
|
||||
display_numerical_stacking = TRUE
|
||||
|
||||
var/static/list/allowed_material_types = list(
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/plasteel,
|
||||
/obj/item/stack/cable_coil,
|
||||
)
|
||||
|
||||
var/static/list/allowed_bluespace_types = list(
|
||||
/obj/item/stack/ore/bluespace_crystal,
|
||||
/obj/item/stack/sheet/bluespace_crystal,
|
||||
)
|
||||
|
||||
/datum/component/storage/concrete/rped/can_be_inserted(obj/item/I, stop_messages, mob/M)
|
||||
. = ..()
|
||||
if(!I.get_part_rating())
|
||||
if (!stop_messages)
|
||||
to_chat(M, "<span class='warning'>[parent] only accepts machine parts!</span>")
|
||||
if(!.)
|
||||
return .
|
||||
|
||||
//we check how much of glass,plasteel & cable the user can insert
|
||||
if(isstack(I))
|
||||
//user tried to insert invalid stacktype
|
||||
if(!is_type_in_list(I, allowed_material_types) && !is_type_in_list(I, allowed_bluespace_types))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/stack/the_stack = I
|
||||
var/present_amount = 0
|
||||
|
||||
//we try to count & limit how much the user can insert of each type to prevent them from using it as an normal storage medium
|
||||
for(var/obj/item/stack/stack_content in parent)
|
||||
//is user trying to insert any of these listed bluespace stuff
|
||||
if(is_type_in_list(I, allowed_bluespace_types))
|
||||
//if yes count total bluespace stuff is the RPED and then compare the total amount to the value the user is trying to insert
|
||||
if(is_type_in_list(stack_content, allowed_bluespace_types))
|
||||
present_amount += stack_content.amount
|
||||
//count other normal stack stuff
|
||||
else if(istype(I,stack_content.type))
|
||||
present_amount = stack_content.amount
|
||||
break
|
||||
|
||||
//no more storage for this specific stack type
|
||||
if(MAX_STACK_PICKUP - present_amount == 0)
|
||||
return FALSE
|
||||
|
||||
//we want the user to insert the exact stack amount which is available so we dont have to bother subtracting & leaving left overs for the user
|
||||
var/available = MAX_STACK_PICKUP-present_amount
|
||||
if(available - the_stack.amount < 0)
|
||||
return FALSE
|
||||
|
||||
else if(istype(I, /obj/item/circuitboard/machine) || istype(I, /obj/item/circuitboard/computer))
|
||||
return TRUE
|
||||
|
||||
//check normal insertion of other stock parts
|
||||
else if(!I.get_part_rating())
|
||||
return FALSE
|
||||
|
||||
return .
|
||||
|
||||
/datum/component/storage/concrete/rped/quick_empty(mob/M)
|
||||
var/atom/A = parent
|
||||
if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated())
|
||||
@@ -52,13 +102,60 @@
|
||||
max_items = 350
|
||||
display_numerical_stacking = TRUE
|
||||
|
||||
var/static/list/allowed_material_types = list(
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/plasteel,
|
||||
/obj/item/stack/cable_coil,
|
||||
)
|
||||
|
||||
var/static/list/allowed_bluespace_types = list(
|
||||
/obj/item/stack/ore/bluespace_crystal,
|
||||
/obj/item/stack/sheet/bluespace_crystal,
|
||||
)
|
||||
|
||||
/datum/component/storage/concrete/bluespace/rped/can_be_inserted(obj/item/I, stop_messages, mob/M)
|
||||
. = ..()
|
||||
if(!I.get_part_rating())
|
||||
if (!stop_messages)
|
||||
to_chat(M, "<span class='warning'>[parent] only accepts machine parts!</span>")
|
||||
if(!.)
|
||||
return .
|
||||
|
||||
//we check how much of glass,plasteel & cable the user can insert
|
||||
if(isstack(I))
|
||||
//user tried to insert invalid stacktype
|
||||
if(!is_type_in_list(I, allowed_material_types) && !is_type_in_list(I, allowed_bluespace_types))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/stack/the_stack = I
|
||||
var/present_amount = 0
|
||||
|
||||
//we try to count & limit how much the user can insert of each type to prevent them from using it as an normal storage medium
|
||||
for(var/obj/item/stack/stack_content in parent)
|
||||
//is user trying to insert any of these listed bluespace stuff
|
||||
if(is_type_in_list(I, allowed_bluespace_types))
|
||||
//if yes count total bluespace stuff is the RPED and then compare the total amount to the value the user is trying to insert
|
||||
if(is_type_in_list(stack_content, allowed_bluespace_types))
|
||||
present_amount += stack_content.amount
|
||||
//count other normal stack stuff
|
||||
else if(istype(I,stack_content.type))
|
||||
present_amount = stack_content.amount
|
||||
break
|
||||
|
||||
//no more storage for this specific stack type
|
||||
if(MAX_STACK_PICKUP - present_amount == 0)
|
||||
return FALSE
|
||||
|
||||
//we want the user to insert the exact stack amount which is available so we dont have to bother subtracting & leaving left overs for the user
|
||||
var/available = MAX_STACK_PICKUP-present_amount
|
||||
if(available - the_stack.amount < 0)
|
||||
return FALSE
|
||||
|
||||
else if(istype(I, /obj/item/circuitboard/machine) || istype(I, /obj/item/circuitboard/computer))
|
||||
return TRUE
|
||||
|
||||
//check normal insertion of other stock parts
|
||||
else if(!I.get_part_rating())
|
||||
return FALSE
|
||||
|
||||
return .
|
||||
|
||||
/datum/component/storage/concrete/bluespace/rped/quick_empty(mob/M)
|
||||
var/atom/A = parent
|
||||
@@ -85,3 +182,5 @@
|
||||
stoplag(1)
|
||||
progress.end_progress()
|
||||
A.do_squish(0.8, 1.2)
|
||||
|
||||
#undef MAX_STACK_PICKUP
|
||||
|
||||
@@ -138,12 +138,18 @@
|
||||
var/static/list/show_directions = list(SOUTH, WEST)
|
||||
if(H.mind && (H.mind.assigned_role != H.mind.special_role))
|
||||
var/assignment
|
||||
var/displayed_rank
|
||||
if(H.mind.assigned_role)
|
||||
assignment = H.mind.assigned_role
|
||||
else if(H.job)
|
||||
assignment = H.job
|
||||
else
|
||||
assignment = "Unassigned"
|
||||
if(C && C.prefs && C.prefs.alt_titles_preferences[assignment])
|
||||
assignment = C.prefs.alt_titles_preferences[assignment]
|
||||
|
||||
if(assignment)
|
||||
displayed_rank = C.prefs.alt_titles_preferences[assignment]
|
||||
|
||||
var/static/record_id_num = 1001
|
||||
var/id = num2hex(record_id_num++,6)
|
||||
@@ -166,7 +172,7 @@
|
||||
var/datum/data/record/G = new()
|
||||
G.fields["id"] = id
|
||||
G.fields["name"] = H.real_name
|
||||
G.fields["rank"] = assignment
|
||||
G.fields["rank"] = displayed_rank
|
||||
G.fields["age"] = H.age
|
||||
G.fields["species"] = H.dna.species.name
|
||||
G.fields["fingerprint"] = md5(H.dna.uni_identity)
|
||||
@@ -213,7 +219,7 @@
|
||||
var/datum/data/record/L = new()
|
||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") //surely this should just be id, like the others?
|
||||
L.fields["name"] = H.real_name
|
||||
L.fields["rank"] = H.mind.assigned_role
|
||||
L.fields["rank"] = displayed_rank
|
||||
L.fields["age"] = H.age
|
||||
if(H.gender == MALE)
|
||||
G.fields["gender"] = "Male"
|
||||
|
||||
@@ -284,4 +284,4 @@
|
||||
weight = 2
|
||||
event_control_path = /datum/round_event_control/radiation_storm
|
||||
weight_multiplier = 1.5
|
||||
max_occurrences_modifier = 2
|
||||
max_occurrences_modifier = 0 //GS13 - radstorm bad
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
area_type = /area
|
||||
protected_areas = list(/area/maintenance, /area/ai_monitored/turret_protected/ai_upload, /area/ai_monitored/turret_protected/ai_upload_foyer,
|
||||
/area/ai_monitored/turret_protected/ai, /area/commons/storage/emergency/starboard, /area/commons/storage/emergency/port, /area/shuttle, /area/ruin/lavaland)
|
||||
/area/ai_monitored/turret_protected/ai, /area/commons/storage/emergency/starboard, /area/commons/storage/emergency/port, /area/shuttle, /area/ruin/lavaland, /area/commons/dorms, /area/service/bar) //GS13 Edit: Dorms and bar are safe...
|
||||
target_trait = ZTRAIT_STATION
|
||||
|
||||
immunity_type = TRAIT_RADSTORM_IMMUNE
|
||||
|
||||
@@ -17,9 +17,9 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
||||
circuit = /obj/item/circuitboard/machine/announcement_system
|
||||
|
||||
var/obj/item/radio/headset/radio
|
||||
var/arrival = "%PERSON has signed up as %RANK"
|
||||
var/arrival = "%PERSON has signed up as %DISP_RANK (%RANK)"
|
||||
var/arrivalToggle = TRUE
|
||||
var/newhead = "%PERSON, %RANK, is the department head."
|
||||
var/newhead = "%PERSON, %DISP_RANK (%RANK), is the department head."
|
||||
var/newheadToggle = TRUE
|
||||
var/cryostorage = "%PERSON, %RANK, has been moved into cryogenic storage." // this shouldnt be changed
|
||||
|
||||
@@ -70,23 +70,24 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/announcement_system/proc/CompileText(str, user, rank) //replaces user-given variables with actual thingies.
|
||||
/obj/machinery/announcement_system/proc/CompileText(str, user, rank, displayed_rank) //replaces user-given variables with actual thingies.
|
||||
str = replacetext(str, "%PERSON", "[user]")
|
||||
str = replacetext(str, "%RANK", "[rank]")
|
||||
str = replacetext(str, "%DISP_RANK", "[displayed_rank]")
|
||||
return str
|
||||
|
||||
/obj/machinery/announcement_system/proc/announce(message_type, user, rank, list/channels)
|
||||
/obj/machinery/announcement_system/proc/announce(message_type, user, rank, displayed_rank, list/channels)
|
||||
if(!is_operational())
|
||||
return
|
||||
|
||||
var/message
|
||||
|
||||
if(message_type == "ARRIVAL" && arrivalToggle)
|
||||
message = CompileText(arrival, user, rank)
|
||||
message = CompileText(arrival, user, rank, displayed_rank)
|
||||
else if(message_type == "NEWHEAD" && newheadToggle)
|
||||
message = CompileText(newhead, user, rank)
|
||||
message = CompileText(newhead, user, rank, displayed_rank)
|
||||
else if(message_type == "CRYOSTORAGE")
|
||||
message = CompileText(cryostorage, user, rank)
|
||||
message = CompileText(cryostorage, user, rank, displayed_rank)
|
||||
else if(message_type == "ARRIVALS_BROKEN")
|
||||
message = "The arrivals shuttle has been damaged. Docking for repairs..."
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/machinery/door/airlock
|
||||
name = "airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/public.dmi' //GS13 change (perspective sprites)
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/public.dmi' //GS13 Edit: perspective sprites
|
||||
icon_state = "closed"
|
||||
max_integrity = 300
|
||||
var/normal_integrity = AIRLOCK_INTEGRITY_N
|
||||
@@ -87,8 +87,10 @@
|
||||
var/previous_airlock = /obj/structure/door_assembly //what airlock assembly mineral plating was applied to
|
||||
var/wiretypepath = /datum/wires/airlock // which set of per round randomized wires this airlock type has.
|
||||
var/airlock_material //material of inner filling; if its an airlock with glass, this should be set to "glass"
|
||||
//GS13 Edit Start: perspective sprites
|
||||
var/overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
var/note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' //Used for papers and photos pinned to the airlock
|
||||
//GS13 End
|
||||
|
||||
var/cyclelinkeddir = 0
|
||||
var/obj/machinery/door/airlock/cyclelinkedairlock
|
||||
@@ -611,22 +613,22 @@
|
||||
/obj/machinery/door/airlock/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID
|
||||
if(hasPower() && unres_sides)
|
||||
if(unres_sides & NORTH)
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") //layer=src.layer+1
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") //layer=src.layer+1 //GS13 Edit: perspective sprites
|
||||
I.pixel_y = 32
|
||||
set_light(l_range = 2, l_power = 1)
|
||||
add_overlay(I)
|
||||
if(unres_sides & SOUTH)
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") //layer=src.layer+1
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") //layer=src.layer+1 //GS13 Edit: perspective sprites
|
||||
I.pixel_y = -32
|
||||
set_light(l_range = 2, l_power = 1)
|
||||
add_overlay(I)
|
||||
if(unres_sides & EAST)
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") //layer=src.layer+1
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") //layer=src.layer+1 //GS13 Edit: perspective sprites
|
||||
I.pixel_x = 32
|
||||
set_light(l_range = 2, l_power = 1)
|
||||
add_overlay(I)
|
||||
if(unres_sides & WEST)
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") //layer=src.layer+1
|
||||
var/image/I = image(icon='GainStation13/icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") //layer=src.layer+1 //GS13 Edit: perspective sprites
|
||||
I.pixel_x = -32
|
||||
set_light(l_range = 2, l_power = 1)
|
||||
add_overlay(I)
|
||||
|
||||
@@ -2,25 +2,23 @@
|
||||
Station Airlocks Regular
|
||||
*/
|
||||
|
||||
//GS13 - changed most of these airlock sprite paths to use perspective-oriented airlocks
|
||||
|
||||
/obj/machinery/door/airlock/abandoned
|
||||
abandoned = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/command
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/command.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/command.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_com
|
||||
wiretypepath = /datum/wires/airlock/command
|
||||
normal_integrity = 450
|
||||
|
||||
/obj/machinery/door/airlock/security
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/security.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/security.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_sec
|
||||
wiretypepath = /datum/wires/airlock/security
|
||||
normal_integrity = 450
|
||||
|
||||
/obj/machinery/door/airlock/engineering
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/engineering.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/engineering.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_eng
|
||||
wiretypepath = /datum/wires/airlock/engineering
|
||||
|
||||
@@ -28,13 +26,13 @@
|
||||
abandoned = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/medical
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/medical.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/medical.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_med
|
||||
wiretypepath = /datum/wires/airlock/medical
|
||||
|
||||
/obj/machinery/door/airlock/maintenance
|
||||
name = "maintenance access"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mai
|
||||
normal_integrity = 250
|
||||
|
||||
@@ -43,18 +41,18 @@
|
||||
|
||||
/obj/machinery/door/airlock/maintenance/external
|
||||
name = "external airlock access"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenanceexternal.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenanceexternal.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_extmai
|
||||
|
||||
/obj/machinery/door/airlock/mining
|
||||
name = "mining airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/mining.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/mining.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_min
|
||||
wiretypepath = /datum/wires/airlock/cargo
|
||||
|
||||
/obj/machinery/door/airlock/atmos
|
||||
name = "atmospherics airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/atmos.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/atmos.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_atmo
|
||||
wiretypepath = /datum/wires/airlock/engineering
|
||||
|
||||
@@ -62,22 +60,22 @@
|
||||
abandoned = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/research
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/research.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/research.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_research
|
||||
wiretypepath = /datum/wires/airlock/science
|
||||
|
||||
/obj/machinery/door/airlock/freezer
|
||||
name = "freezer airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/freezer.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/freezer.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_fre
|
||||
|
||||
/obj/machinery/door/airlock/science
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/science.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/science.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_science
|
||||
wiretypepath = /datum/wires/airlock/science
|
||||
|
||||
/obj/machinery/door/airlock/virology
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/virology.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/virology.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_viro
|
||||
wiretypepath = /datum/wires/airlock/medical
|
||||
|
||||
@@ -181,7 +179,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/gold
|
||||
name = "gold airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/gold.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/gold.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_gold
|
||||
|
||||
/obj/machinery/door/airlock/gold/glass
|
||||
@@ -190,7 +188,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/silver
|
||||
name = "silver airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/silver.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/silver.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_silver
|
||||
|
||||
/obj/machinery/door/airlock/silver/glass
|
||||
@@ -199,7 +197,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/diamond
|
||||
name = "diamond airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/diamond.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/diamond.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_diamond
|
||||
normal_integrity = 1000
|
||||
explosion_block = 2
|
||||
@@ -211,7 +209,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/uranium
|
||||
name = "uranium airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/uranium.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/uranium.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_uranium
|
||||
var/last_event = 0
|
||||
|
||||
@@ -233,7 +231,7 @@
|
||||
/obj/machinery/door/airlock/plasma
|
||||
name = "plasma airlock"
|
||||
desc = "No way this can end badly."
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/plasma.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/plasma.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_plasma
|
||||
|
||||
/obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
@@ -274,7 +272,7 @@
|
||||
/obj/machinery/door/airlock/bananium
|
||||
name = "bananium airlock"
|
||||
desc = "Honkhonkhonk"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/bananium.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/bananium.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_bananium
|
||||
doorOpen = 'sound/items/bikehorn.ogg'
|
||||
|
||||
@@ -284,7 +282,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/sandstone
|
||||
name = "sandstone airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/sandstone.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/sandstone.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_sandstone
|
||||
|
||||
/obj/machinery/door/airlock/sandstone/glass
|
||||
@@ -293,7 +291,7 @@
|
||||
|
||||
/obj/machinery/door/airlock/wood
|
||||
name = "wooden airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/wood.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/wood.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_wood
|
||||
|
||||
/obj/machinery/door/airlock/wood/glass
|
||||
@@ -303,8 +301,8 @@
|
||||
/obj/machinery/door/airlock/titanium
|
||||
name = "shuttle airlock"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_titanium
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
normal_integrity = 400
|
||||
|
||||
/obj/machinery/door/airlock/titanium/glass
|
||||
@@ -314,8 +312,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/bronze
|
||||
name = "bronze airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/clockwork/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/clockwork/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_bronze
|
||||
|
||||
/obj/machinery/door/airlock/bronze/seethru
|
||||
@@ -329,8 +327,8 @@
|
||||
*/
|
||||
|
||||
/obj/machinery/door/airlock/public
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station2/glass.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station2/glass.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/station2/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_public
|
||||
|
||||
/obj/machinery/door/airlock/public/glass
|
||||
@@ -358,9 +356,9 @@
|
||||
|
||||
/obj/machinery/door/airlock/external
|
||||
name = "external airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/external/external.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/external/external.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_ext
|
||||
|
||||
/obj/machinery/door/airlock/external/glass
|
||||
@@ -373,16 +371,16 @@
|
||||
*/
|
||||
|
||||
/obj/machinery/door/airlock/centcom //Use grunge as a station side version, as these have special effects related to them via phobias and such.
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_centcom
|
||||
normal_integrity = 1000
|
||||
security_level = 6
|
||||
explosion_block = 2
|
||||
|
||||
/obj/machinery/door/airlock/grunge
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/centcom/centcom.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/centcom/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_grunge
|
||||
|
||||
/obj/machinery/door/airlock/grunge/abandoned
|
||||
@@ -395,8 +393,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/vault
|
||||
name = "vault door"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/vault/vault.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/vault/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/vault/vault.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/vault/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_vault
|
||||
wiretypepath = /datum/wires/airlock/secure
|
||||
explosion_block = 2
|
||||
@@ -410,16 +408,16 @@
|
||||
|
||||
/obj/machinery/door/airlock/hatch
|
||||
name = "airtight hatch"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/hatch/centcom.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/hatch/centcom.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_hatch
|
||||
|
||||
/obj/machinery/door/airlock/maintenance_hatch
|
||||
name = "maintenance hatch"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/hatch/maintenance.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/hatch/maintenance.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/hatch/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mhatch
|
||||
|
||||
/obj/machinery/door/airlock/maintenance_hatch/abandoned
|
||||
@@ -432,8 +430,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/highsecurity
|
||||
name = "high tech security airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/highsec/highsec.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/highsec/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/highsec/highsec.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/highsec/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity
|
||||
explosion_block = 2
|
||||
normal_integrity = 500
|
||||
@@ -447,8 +445,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/shuttle
|
||||
name = "shuttle airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/shuttle/shuttle.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/shuttle/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_shuttle
|
||||
|
||||
/obj/machinery/door/airlock/shuttle/glass
|
||||
@@ -458,10 +456,10 @@
|
||||
/obj/machinery/door/airlock/abductor
|
||||
name = "alien airlock"
|
||||
desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/abductor/abductor_airlock.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/abductor/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/abductor/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_abductor
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
note_overlay_file = 'GainStation13/icons/obj/doors/airlocks/external/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
damage_deflection = 30
|
||||
explosion_block = 3
|
||||
hackProof = TRUE
|
||||
@@ -476,8 +474,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/cult
|
||||
name = "cult airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/cult/runed/cult.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/runed/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/cult/runed/cult.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/runed/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_cult
|
||||
hackProof = TRUE
|
||||
aiControlDisabled = 1
|
||||
@@ -526,8 +524,8 @@
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/cult/proc/conceal()
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/station/maintenance.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/station/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
name = "airlock"
|
||||
desc = "It opens and closes."
|
||||
stealthy = TRUE
|
||||
@@ -558,8 +556,8 @@
|
||||
friendly = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/cult/unruned
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/cult.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/cult.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/cult/unruned/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned
|
||||
openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned
|
||||
|
||||
@@ -701,8 +699,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/glass_large
|
||||
name = "large glass airlock"
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/glass_large/glass_large.dmi'
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/glass_large/overlays.dmi'
|
||||
icon = 'GainStation13/icons/obj/doors/airlocks/glass_large/glass_large.dmi' //GS13 Edit: perspective sprites
|
||||
overlays_file = 'GainStation13/icons/obj/doors/airlocks/glass_large/overlays.dmi' //GS13 Edit: perspective sprites
|
||||
opacity = 0
|
||||
assemblytype = null
|
||||
glass = TRUE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/machinery/door/poddoor
|
||||
name = "blast door"
|
||||
desc = "A heavy duty blast door that opens mechanically."
|
||||
icon = 'GainStation13/icons/obj/doors/blastdoor.dmi' //GS13
|
||||
icon = 'GainStation13/icons/obj/doors/blastdoor.dmi' //GS13 Edit: perspective sprites
|
||||
icon_state = "closed"
|
||||
var/id = 1
|
||||
layer = BLASTDOOR_LAYER
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
gender = PLURAL
|
||||
name = "shutters"
|
||||
desc = "Mechanical metal shutters operated by a button with a magnetic seal, keeping them airtight."
|
||||
icon = 'GainStation13/icons/obj/doors/shutters.dmi' //GS13
|
||||
icon = 'icons/obj/doors/shutters.dmi'
|
||||
layer = SHUTTER_LAYER
|
||||
closingLayer = SHUTTER_LAYER
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 75, BOMB = 25, BIO = 100, RAD = 100, FIRE = 100, ACID = 70)
|
||||
@@ -22,7 +22,7 @@
|
||||
/obj/machinery/door/poddoor/shutters/old
|
||||
name = "strong shutters"
|
||||
desc = "These shutters have an armoured frame; it looks like plasteel. These shutters look robust enough to survive explosions."
|
||||
icon = 'GainStation13/icons/obj/doors/shutters_old.dmi' //GS13
|
||||
icon = 'icons/obj/doors/shutters_old.dmi'
|
||||
icon_state = "closed"
|
||||
armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 75, BOMB = 30, BIO = 100, RAD = 100, FIRE = 100, ACID = 70)
|
||||
max_integrity = 300
|
||||
@@ -37,7 +37,7 @@
|
||||
/obj/machinery/door/poddoor/shutters/radiation
|
||||
name = "radiation shutters"
|
||||
desc = "Lead-lined shutters painted yellow with a radioactive hazard symbol on it. Blocks out most radiation"
|
||||
icon = 'GainStation13/icons/obj/doors/shutters_radiation.dmi' //GS13
|
||||
icon = 'icons/obj/doors/shutters_radiation.dmi'
|
||||
icon_state = "closed"
|
||||
rad_insulation = 0.2
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
/obj/machinery/door/poddoor/shutters/window
|
||||
name = "windowed shutters"
|
||||
desc = "Mechanical shutters that have some form of plastic window in them, allowing you to see through the shutters at all times."
|
||||
icon = 'GainStation13/icons/obj/doors/shutters_window.dmi' //GS13
|
||||
icon = 'icons/obj/doors/shutters_window.dmi'
|
||||
icon_state = "closed"
|
||||
opacity = 0
|
||||
glass = 1
|
||||
|
||||
@@ -277,24 +277,26 @@
|
||||
icon_state = "salt_pile"
|
||||
gender = NEUTER
|
||||
|
||||
/obj/effect/decal/cleanable/glitter //GS13 - changed glitters to more subtle variants
|
||||
/obj/effect/decal/cleanable/glitter
|
||||
name = "generic glitter pile"
|
||||
desc = "The herpes of arts and crafts."
|
||||
icon = 'GainStation13/icons/effects/atmospherics.dmi'
|
||||
icon_state = "glitter"
|
||||
icon = 'icons/effects/atmospherics.dmi'
|
||||
gender = NEUTER
|
||||
mergeable_decal = TRUE
|
||||
persistent = FALSE
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/pink
|
||||
name = "pink glitter"
|
||||
icon_state = "plasma_old"
|
||||
color = "#9e0089"
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/white
|
||||
name = "white glitter"
|
||||
icon_state = "nitrous_oxide_old"
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/blue
|
||||
name = "blue glitter"
|
||||
icon_state = "freon_old"
|
||||
color = "#2dd6ff"
|
||||
|
||||
/obj/effect/decal/cleanable/plasma
|
||||
|
||||
@@ -38,6 +38,7 @@ RLD
|
||||
var/ammo_sections = 10 //amount of divisions in the ammo indicator overlay/number of ammo indicator states
|
||||
var/custom_range = 7
|
||||
var/upgrade = FALSE
|
||||
var/airlock_dir = 1 //GS13 - airlock direction function
|
||||
|
||||
/obj/item/construction/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -283,6 +284,23 @@ RLD
|
||||
//Not scaling these down to button size because they look horrible then, instead just bumping up radius.
|
||||
return MA
|
||||
|
||||
|
||||
/obj/item/construction/rcd/proc/change_airlock_direction(mob/user) //GS13 - change airlock direction
|
||||
if(!user)
|
||||
return
|
||||
var/list/airlock_dirs = list(
|
||||
"North/South" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlocknorthsouth"),
|
||||
"East/West" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlockeastwest")
|
||||
)
|
||||
var/airlockdirs = show_radial_menu(user, src, airlock_dirs, custom_check = CALLBACK(src,PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(airlockdirs)
|
||||
if("North/South")
|
||||
airlock_dir = 1
|
||||
if("East/West")
|
||||
airlock_dir = 4
|
||||
|
||||
/obj/item/construction/rcd/proc/change_computer_dir(mob/user)
|
||||
if(!user)
|
||||
return
|
||||
@@ -488,6 +506,7 @@ RLD
|
||||
if(mode == RCD_AIRLOCK)
|
||||
choices += list(
|
||||
"Change Access" = image(icon = 'icons/mob/radial.dmi', icon_state = "access"),
|
||||
"Change Direction" = image(icon = 'GainStation13/icons/mob/radial.dmi', icon_state = "airlockrotation"), //GS13 - adding airlock rotation
|
||||
"Change Airlock Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "airlocktype")
|
||||
)
|
||||
else if(mode == RCD_WINDOWGRILLE)
|
||||
@@ -515,6 +534,9 @@ RLD
|
||||
if("Change Access")
|
||||
change_airlock_access(user)
|
||||
return
|
||||
if("Change Direction") //GS13 - adding airlock direction in RCD
|
||||
change_airlock_direction(user)
|
||||
return
|
||||
if("Change Airlock Type")
|
||||
change_airlock_setting(user)
|
||||
return
|
||||
|
||||
@@ -73,7 +73,7 @@ GENETICS SCANNER
|
||||
|
||||
/obj/item/healthanalyzer
|
||||
name = "health analyzer"
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon = 'GainStation13/icons/obj/device.dmi' //GS13 - better sprite
|
||||
icon_state = "health"
|
||||
item_state = "healthanalyzer"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
@@ -407,6 +407,13 @@ GENETICS SCANNER
|
||||
msg += "<span class='info'>Base Species: [H.spec_trait_examine_font()][S.name]</font></span>\n"
|
||||
if(mutant)
|
||||
msg += "<span class='info'>Subject has mutations present.</span>\n"
|
||||
|
||||
//GS13 EDIT START
|
||||
if(H.fatness)
|
||||
msg += span_info("Subject weighs [H.calculate_weight_in_pounds()] pounds ([H.fatness] BFI.)")
|
||||
msg += "\n"
|
||||
|
||||
//GS13 EEDIT END
|
||||
msg += "<span class='info'>Body temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)</span>\n"
|
||||
|
||||
// Time of death
|
||||
@@ -538,6 +545,7 @@ GENETICS SCANNER
|
||||
|
||||
/obj/item/healthanalyzer/advanced
|
||||
name = "advanced health analyzer"
|
||||
icon = 'GainStation13/icons/obj/device.dmi' //GS13 - better sprite
|
||||
icon_state = "health_adv"
|
||||
desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy."
|
||||
advanced = TRUE
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
name = "bluespace tray"
|
||||
icon_state = "bluespace_tray"
|
||||
desc = "A tray created using bluespace technology to fit more food on it."
|
||||
max_items = 30 // far more items
|
||||
max_items = 100 //GS13 - we loooove our mountains of food here
|
||||
custom_materials = list(/datum/material/iron = 2000, /datum/material/bluespace = 500)
|
||||
|
||||
/*
|
||||
|
||||
@@ -291,11 +291,6 @@
|
||||
icon = "thehive"
|
||||
desc = "Comb in for some sweet drinks! Not known for serving any sappy drink."
|
||||
|
||||
/datum/barsign/the_busted_belt //gs13
|
||||
name = "The Busted Belt"
|
||||
icon = "thebustedbelt"
|
||||
desc = "GATO is not liable for any pieces of broken wardrobe." //GS13 - Nanotrasen to GATO
|
||||
|
||||
/datum/barsign/hiddensigns
|
||||
hidden = TRUE
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
buildstacktype = null //Custom mats handle this
|
||||
|
||||
/obj/structure/chair/wood
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi'
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi' //GS13 Edit: Our sprites
|
||||
icon_state = "wooden_chair"
|
||||
name = "wooden chair"
|
||||
desc = "Old is never too old to not be in fashion."
|
||||
@@ -540,7 +540,7 @@
|
||||
|
||||
/obj/item/chair/wood
|
||||
name = "wooden chair"
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi'
|
||||
icon = 'GainStation13/icons/obj/chairs.dmi' //GS13 Edit: Our sprites
|
||||
icon_state = "wooden_chair_toppled"
|
||||
item_state = "woodenchair"
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
new /obj/item/clothing/under/rank/engineering/chief_engineer/skirt(src)
|
||||
new /obj/item/clothing/head/hardhat/white(src)
|
||||
new /obj/item/clothing/head/hardhat/weldhat/white(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow/ce(src)
|
||||
new /obj/item/tank/jetpack/suit(src)
|
||||
new /obj/item/cartridge/ce(src)
|
||||
new /obj/item/radio/headset/heads/ce(src)
|
||||
|
||||
@@ -660,6 +660,53 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
wave_explosion_block = EXPLOSION_BLOCK_EXTREME
|
||||
wave_explosion_multiply = EXPLOSION_BLOCK_EXTREME
|
||||
glass_type = /obj/item/stack/sheet/plasmarglass
|
||||
canSmoothWith = list(
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/obj/structure/falsewall,
|
||||
/obj/structure/falsewall/brass,
|
||||
/obj/structure/falsewall/reinforced,
|
||||
/turf/closed/wall/rust,
|
||||
/turf/closed/wall/r_wall/rust,
|
||||
/turf/closed/wall/clockwork,
|
||||
/turf/closed/indestructible/riveted/,
|
||||
/turf/closed/indestructible/riveted/uranium,
|
||||
/obj/structure/window/fulltile,
|
||||
/obj/structure/window/reinforced/fulltile,
|
||||
/obj/structure/window/reinforced/tinted/fulltile,
|
||||
/obj/machinery/door,
|
||||
/obj/machinery/door/airlock/,
|
||||
/obj/machinery/door/airlock/mining,
|
||||
/obj/machinery/door/airlock/mining/glass,
|
||||
/obj/machinery/door/airlock/medical,
|
||||
/obj/machinery/door/airlock/medical/glass,
|
||||
/obj/machinery/door/airlock/public,
|
||||
/obj/machinery/door/airlock/public/glass,
|
||||
/obj/machinery/door/airlock/research,
|
||||
/obj/machinery/door/airlock/research/glass,
|
||||
/obj/machinery/door/airlock/maintenance,
|
||||
/obj/machinery/door/airlock/maintenance/glass,
|
||||
/obj/machinery/door/airlock/command/,
|
||||
/obj/machinery/door/airlock/command/glass,
|
||||
/obj/machinery/door/airlock/engineering,
|
||||
/obj/machinery/door/airlock/engineering/glass,
|
||||
/obj/machinery/door/airlock/engineering/abandoned,
|
||||
/obj/machinery/door/airlock/security,
|
||||
/obj/machinery/door/airlock/security/glass,
|
||||
/obj/machinery/door/airlock/maintenance/abandoned,
|
||||
/obj/machinery/door/poddoor/shutters/preopen,
|
||||
/obj/machinery/door/poddoor/shutters,
|
||||
/obj/machinery/door/window/eastright,
|
||||
/obj/machinery/door/window/eastleft,
|
||||
/obj/machinery/door/window/northleft,
|
||||
/obj/machinery/door/window/northright,
|
||||
/obj/machinery/door/airlock/external,
|
||||
/obj/machinery/door/airlock,
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
|
||||
/obj/structure/window/plasma/reinforced/spawner/east
|
||||
dir = EAST
|
||||
@@ -740,7 +787,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,)
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
glass_amount = 2
|
||||
|
||||
@@ -801,7 +848,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,)
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
glass_amount = 2
|
||||
|
||||
@@ -817,6 +864,53 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
smooth = SMOOTH_TRUE
|
||||
glass_amount = 2
|
||||
canSmoothWith = list(
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/obj/structure/falsewall,
|
||||
/obj/structure/falsewall/brass,
|
||||
/obj/structure/falsewall/reinforced,
|
||||
/turf/closed/wall/rust,
|
||||
/turf/closed/wall/r_wall/rust,
|
||||
/turf/closed/wall/clockwork,
|
||||
/turf/closed/indestructible/riveted/,
|
||||
/turf/closed/indestructible/riveted/uranium,
|
||||
/obj/structure/window/fulltile,
|
||||
/obj/structure/window/reinforced/fulltile,
|
||||
/obj/structure/window/reinforced/tinted/fulltile,
|
||||
/obj/machinery/door,
|
||||
/obj/machinery/door/airlock/,
|
||||
/obj/machinery/door/airlock/mining,
|
||||
/obj/machinery/door/airlock/mining/glass,
|
||||
/obj/machinery/door/airlock/medical,
|
||||
/obj/machinery/door/airlock/medical/glass,
|
||||
/obj/machinery/door/airlock/public,
|
||||
/obj/machinery/door/airlock/public/glass,
|
||||
/obj/machinery/door/airlock/research,
|
||||
/obj/machinery/door/airlock/research/glass,
|
||||
/obj/machinery/door/airlock/maintenance,
|
||||
/obj/machinery/door/airlock/maintenance/glass,
|
||||
/obj/machinery/door/airlock/command/,
|
||||
/obj/machinery/door/airlock/command/glass,
|
||||
/obj/machinery/door/airlock/engineering,
|
||||
/obj/machinery/door/airlock/engineering/glass,
|
||||
/obj/machinery/door/airlock/engineering/abandoned,
|
||||
/obj/machinery/door/airlock/security,
|
||||
/obj/machinery/door/airlock/security/glass,
|
||||
/obj/machinery/door/airlock/maintenance/abandoned,
|
||||
/obj/machinery/door/poddoor/shutters/preopen,
|
||||
/obj/machinery/door/poddoor/shutters,
|
||||
/obj/machinery/door/window/eastright,
|
||||
/obj/machinery/door/window/eastleft,
|
||||
/obj/machinery/door/window/northleft,
|
||||
/obj/machinery/door/window/northright,
|
||||
/obj/machinery/door/airlock/external,
|
||||
/obj/machinery/door/airlock,
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
|
||||
/obj/structure/window/plasma/reinforced/fulltile/unanchored
|
||||
anchored = FALSE
|
||||
@@ -875,7 +969,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,)
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
level = 3
|
||||
glass_amount = 2
|
||||
@@ -1046,6 +1140,52 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
|
||||
level = 3
|
||||
glass_type = /obj/item/stack/sheet/plastitaniumglass
|
||||
glass_amount = 2
|
||||
canSmoothWith = list(
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/obj/structure/falsewall,
|
||||
/obj/structure/falsewall/brass,
|
||||
/obj/structure/falsewall/reinforced,
|
||||
/turf/closed/wall/rust,
|
||||
/turf/closed/wall/r_wall/rust,
|
||||
/turf/closed/wall/clockwork,
|
||||
/turf/closed/indestructible/riveted/,
|
||||
/turf/closed/indestructible/riveted/uranium,
|
||||
/obj/structure/window/fulltile,
|
||||
/obj/structure/window/reinforced/fulltile,
|
||||
/obj/structure/window/reinforced/tinted/fulltile,
|
||||
/obj/machinery/door,
|
||||
/obj/machinery/door/airlock/,
|
||||
/obj/machinery/door/airlock/mining,
|
||||
/obj/machinery/door/airlock/mining/glass,
|
||||
/obj/machinery/door/airlock/medical,
|
||||
/obj/machinery/door/airlock/medical/glass,
|
||||
/obj/machinery/door/airlock/public,
|
||||
/obj/machinery/door/airlock/public/glass,
|
||||
/obj/machinery/door/airlock/research,
|
||||
/obj/machinery/door/airlock/research/glass,
|
||||
/obj/machinery/door/airlock/maintenance,
|
||||
/obj/machinery/door/airlock/maintenance/glass,
|
||||
/obj/machinery/door/airlock/command/,
|
||||
/obj/machinery/door/airlock/command/glass,
|
||||
/obj/machinery/door/airlock/engineering,
|
||||
/obj/machinery/door/airlock/engineering/glass,
|
||||
/obj/machinery/door/airlock/engineering/abandoned,
|
||||
/obj/machinery/door/airlock/security,
|
||||
/obj/machinery/door/airlock/security/glass,
|
||||
/obj/machinery/door/airlock/maintenance/abandoned,
|
||||
/obj/machinery/door/poddoor/shutters/preopen,
|
||||
/obj/machinery/door/poddoor/shutters,
|
||||
/obj/machinery/door/window/eastright,
|
||||
/obj/machinery/door/window/eastleft,
|
||||
/obj/machinery/door/window/northleft,
|
||||
/obj/machinery/door/window/northright,
|
||||
/obj/machinery/door/airlock/external,
|
||||
/obj/machinery/door/airlock,
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
|
||||
/obj/structure/window/plastitanium/unanchored
|
||||
anchored = FALSE
|
||||
|
||||
@@ -203,7 +203,10 @@
|
||||
var/old_icon = icon_regular_floor
|
||||
var/old_dir = dir
|
||||
var/turf/open/floor/W = ..()
|
||||
W.icon_regular_floor = old_icon
|
||||
//GS13 EDIT START
|
||||
if(!(W.type in subtypesof(/turf/open/floor/plasteel)))
|
||||
W.icon_regular_floor = old_icon
|
||||
//GS13 EDIT END
|
||||
W.setDir(old_dir)
|
||||
W.update_icon()
|
||||
return W
|
||||
@@ -311,6 +314,7 @@
|
||||
to_chat(user, "<span class='notice'>You build an airlock.</span>")
|
||||
var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src)
|
||||
|
||||
A.setDir(the_rcd.airlock_dir) //GS13 - directional airlocks edit
|
||||
A.electronics = new/obj/item/electronics/airlock(A)
|
||||
|
||||
if(the_rcd.conf_access)
|
||||
|
||||
@@ -186,7 +186,53 @@
|
||||
/turf/closed/wall/rust
|
||||
name = "rusted wall"
|
||||
desc = "A rusted metal wall."
|
||||
icon = 'icons/turf/walls/rusty_wall.dmi'
|
||||
icon = 'GainStation13/icons/turf/walls/rusty_wall.dmi' //GS13 - perspective walls
|
||||
canSmoothWith = list(
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/obj/structure/falsewall,
|
||||
/obj/structure/falsewall/brass,
|
||||
/obj/structure/falsewall/reinforced,
|
||||
/turf/closed/wall/rust,
|
||||
/turf/closed/wall/r_wall/rust,
|
||||
/turf/closed/wall/clockwork,
|
||||
/turf/closed/indestructible/riveted/,
|
||||
/turf/closed/indestructible/riveted/uranium,
|
||||
/obj/structure/window/fulltile,
|
||||
/obj/structure/window/reinforced/fulltile,
|
||||
/obj/structure/window/reinforced/tinted/fulltile,
|
||||
/obj/machinery/door,
|
||||
/obj/machinery/door/airlock/,
|
||||
/obj/machinery/door/airlock/mining,
|
||||
/obj/machinery/door/airlock/mining/glass,
|
||||
/obj/machinery/door/airlock/medical,
|
||||
/obj/machinery/door/airlock/medical/glass,
|
||||
/obj/machinery/door/airlock/public,
|
||||
/obj/machinery/door/airlock/public/glass,
|
||||
/obj/machinery/door/airlock/research,
|
||||
/obj/machinery/door/airlock/research/glass,
|
||||
/obj/machinery/door/airlock/maintenance,
|
||||
/obj/machinery/door/airlock/maintenance/glass,
|
||||
/obj/machinery/door/airlock/command/,
|
||||
/obj/machinery/door/airlock/command/glass,
|
||||
/obj/machinery/door/airlock/engineering,
|
||||
/obj/machinery/door/airlock/engineering/glass,
|
||||
/obj/machinery/door/airlock/engineering/abandoned,
|
||||
/obj/machinery/door/airlock/security,
|
||||
/obj/machinery/door/airlock/security/glass,
|
||||
/obj/machinery/door/airlock/maintenance/abandoned,
|
||||
/obj/machinery/door/poddoor/shutters/preopen,
|
||||
/obj/machinery/door/poddoor/shutters,
|
||||
/obj/machinery/door/window/eastright,
|
||||
/obj/machinery/door/window/eastleft,
|
||||
/obj/machinery/door/window/northleft,
|
||||
/obj/machinery/door/window/northright,
|
||||
/obj/machinery/door/airlock/external,
|
||||
/obj/machinery/door/airlock,
|
||||
/obj/machinery/door/airlock/hatch,
|
||||
/obj/machinery/door/airlock/engineering/glass/critical,
|
||||
/obj/machinery/door/airlock/atmos,
|
||||
/obj/machinery/door/airlock/highsecurity,) //GS13 - directional wall sprites will smooth with windows/airlocks
|
||||
hardness = 45
|
||||
|
||||
/turf/closed/wall/rust/rust_heretic_act()
|
||||
|
||||
@@ -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