mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-11 07:04:01 +01:00
@@ -1,5 +1,5 @@
|
||||
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
|
||||
var/list/admin_verbs_admin = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_admin, list(
|
||||
/client/proc/toggle_vantag_hud,
|
||||
/datum/admins/proc/set_tcrystals,
|
||||
/datum/admins/proc/add_tcrystals,
|
||||
@@ -87,17 +87,17 @@ var/list/admin_verbs_admin = list(
|
||||
/client/proc/toggle_spawning_with_recolour,
|
||||
/client/proc/start_vote,
|
||||
/client/proc/hide_motion_tracker_feedback
|
||||
)
|
||||
))
|
||||
|
||||
var/list/admin_verbs_sounds = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_sounds, list(
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound,
|
||||
/client/proc/play_server_sound,
|
||||
/client/proc/play_web_sound,
|
||||
/client/proc/play_z_sound
|
||||
)
|
||||
))
|
||||
|
||||
var/list/admin_verbs_fun = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_fun, list(
|
||||
/client/proc/object_talk,
|
||||
/datum/admins/proc/cmd_admin_dress,
|
||||
/client/proc/drop_bomb,
|
||||
@@ -119,10 +119,9 @@ var/list/admin_verbs_fun = list(
|
||||
/client/proc/getPlayerStatus,
|
||||
/client/proc/manage_event_triggers,
|
||||
/client/proc/fake_pdaconvos
|
||||
))
|
||||
|
||||
)
|
||||
|
||||
var/list/admin_verbs_spawn = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_spawn, list(
|
||||
/datum/admins/proc/spawn_fruit,
|
||||
/datum/admins/proc/spawn_custom_item,
|
||||
/datum/admins/proc/check_custom_items,
|
||||
@@ -143,9 +142,9 @@ var/list/admin_verbs_spawn = list(
|
||||
/client/proc/AdminCreateVirus,
|
||||
/client/proc/ReleaseVirus,
|
||||
/client/proc/spawn_reagent
|
||||
)
|
||||
))
|
||||
|
||||
var/list/admin_verbs_server = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_server, list(
|
||||
/datum/admins/proc/capture_map,
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/ToRban,
|
||||
@@ -170,9 +169,9 @@ var/list/admin_verbs_server = list(
|
||||
/client/proc/panicbunker,
|
||||
/client/proc/paranoia_logging,
|
||||
/client/proc/ip_reputation
|
||||
)
|
||||
))
|
||||
|
||||
var/list/admin_verbs_debug = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_debug, list(
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/kill_air,
|
||||
@@ -219,10 +218,10 @@ var/list/admin_verbs_debug = list(
|
||||
/datum/admins/proc/view_feedback,
|
||||
/client/proc/stop_sounds,
|
||||
/client/proc/spawn_reagent
|
||||
)
|
||||
))
|
||||
|
||||
//verbs which can be hidden - needs work
|
||||
var/list/admin_verbs_hideable = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_hideable, list(
|
||||
// /client/proc/deadchat,
|
||||
/datum/admins/proc/show_traitor_panel,
|
||||
/datum/admins/proc/toggleenter,
|
||||
@@ -285,8 +284,9 @@ var/list/admin_verbs_hideable = list(
|
||||
/datum/admins/proc/set_uplink,
|
||||
/datum/admins/proc/set_tcrystals,
|
||||
/client/proc/stop_sounds
|
||||
)
|
||||
var/list/admin_verbs_mod = list(
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(admin_verbs_mod, list(
|
||||
/client/proc/cmd_admin_pm_context, //right-click adminPM interface,
|
||||
/client/proc/cmd_admin_pm_panel, //admin-pm list,
|
||||
/datum/admins/proc/PlayerNotes,
|
||||
@@ -309,9 +309,9 @@ var/list/admin_verbs_mod = list(
|
||||
/datum/admins/proc/sendFax,
|
||||
/datum/admins/proc/view_persistent_data,
|
||||
/client/proc/start_vote
|
||||
)
|
||||
))
|
||||
|
||||
var/list/admin_verbs_event_manager = list(
|
||||
GLOBAL_LIST_INIT(admin_verbs_event_manager, list(
|
||||
/client/proc/toggle_vantag_hud,
|
||||
/client/proc/cmd_admin_pm_context,
|
||||
/client/proc/cmd_admin_pm_panel,
|
||||
@@ -440,4 +440,4 @@ var/list/admin_verbs_event_manager = list(
|
||||
/client/proc/hide_motion_tracker_feedback,
|
||||
/client/proc/modify_event_collector,
|
||||
/client/proc/induce_malfunction
|
||||
)
|
||||
))
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
var/rights = holder.rank_flags()
|
||||
if(rights & R_HOLDER)
|
||||
if(rights & R_BUILDMODE) add_verb(src, /client/proc/togglebuildmodeself)
|
||||
if(rights & R_ADMIN) add_verb(src, admin_verbs_admin)
|
||||
if(rights & R_FUN) add_verb(src, admin_verbs_fun)
|
||||
if(rights & R_SERVER) add_verb(src, admin_verbs_server)
|
||||
if(rights & R_DEBUG) add_verb(src, admin_verbs_debug)
|
||||
if(rights & R_SOUNDS) add_verb(src, admin_verbs_sounds)
|
||||
if(rights & R_SPAWN) add_verb(src, admin_verbs_spawn)
|
||||
if(rights & R_MOD) add_verb(src, admin_verbs_mod)
|
||||
if(rights & R_EVENT) add_verb(src, admin_verbs_event_manager)
|
||||
if(rights & R_ADMIN) add_verb(src, GLOB.admin_verbs_admin)
|
||||
if(rights & R_FUN) add_verb(src, GLOB.admin_verbs_fun)
|
||||
if(rights & R_SERVER) add_verb(src, GLOB.admin_verbs_server)
|
||||
if(rights & R_DEBUG) add_verb(src, GLOB.admin_verbs_debug)
|
||||
if(rights & R_SOUNDS) add_verb(src, GLOB.admin_verbs_sounds)
|
||||
if(rights & R_SPAWN) add_verb(src, GLOB.admin_verbs_spawn)
|
||||
if(rights & R_MOD) add_verb(src, GLOB.admin_verbs_mod)
|
||||
if(rights & R_EVENT) add_verb(src, GLOB.admin_verbs_event_manager)
|
||||
|
||||
// NEW ADMIN VERBS SYSTEM
|
||||
SSadmin_verbs.assosciate_admin(src)
|
||||
@@ -19,13 +19,13 @@
|
||||
// OLD ADMIN VERB SYSTEM
|
||||
remove_verb(src, list(
|
||||
/client/proc/togglebuildmodeself,
|
||||
admin_verbs_admin,
|
||||
admin_verbs_fun,
|
||||
admin_verbs_server,
|
||||
admin_verbs_debug,
|
||||
admin_verbs_sounds,
|
||||
admin_verbs_spawn,
|
||||
debug_verbs
|
||||
GLOB.admin_verbs_admin,
|
||||
GLOB.admin_verbs_fun,
|
||||
GLOB.admin_verbs_server,
|
||||
GLOB.admin_verbs_debug,
|
||||
GLOB.admin_verbs_sounds,
|
||||
GLOB.admin_verbs_spawn,
|
||||
GLOB.debug_verbs
|
||||
))
|
||||
|
||||
// NEW ADMIN VERBS SYSTEM
|
||||
@@ -35,7 +35,7 @@
|
||||
set name = "Adminverbs - Hide Most"
|
||||
set category = "Admin.Misc"
|
||||
|
||||
remove_verb(src, list(/client/proc/hide_most_verbs, admin_verbs_hideable))
|
||||
remove_verb(src, list(/client/proc/hide_most_verbs, GLOB.admin_verbs_hideable))
|
||||
add_verb(src, /client/proc/show_verbs)
|
||||
|
||||
to_chat(src, span_filter_system(span_interface("Most of your adminverbs have been hidden.")))
|
||||
|
||||
@@ -128,7 +128,7 @@ GLOBAL_LIST_BOILERPLATE(all_debugging_effects, /obj/effect/debugging)
|
||||
qdel(F)
|
||||
feedback_add_details("admin_verb","mIRD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
var/list/debug_verbs = list (
|
||||
GLOBAL_LIST_INIT(debug_verbs, list(
|
||||
/client/proc/do_not_use_these
|
||||
,/client/proc/camera_view
|
||||
,/client/proc/sec_camera_report
|
||||
@@ -159,7 +159,7 @@ var/list/debug_verbs = list (
|
||||
,/client/proc/atmos_toggle_debug
|
||||
,/client/proc/spawn_tanktransferbomb
|
||||
,/client/proc/take_picture
|
||||
)
|
||||
))
|
||||
|
||||
|
||||
/client/proc/enable_debug_verbs()
|
||||
@@ -168,7 +168,7 @@ var/list/debug_verbs = list (
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
|
||||
add_verb(src, debug_verbs)
|
||||
add_verb(src, GLOB.debug_verbs)
|
||||
|
||||
feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -178,7 +178,7 @@ var/list/debug_verbs = list (
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
|
||||
remove_verb(src, debug_verbs)
|
||||
remove_verb(src, GLOB.debug_verbs)
|
||||
|
||||
feedback_add_details("admin_verb","hDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -154,10 +154,10 @@ ADMIN_VERB(secrets, R_HOLDER, "Secrets", "Abuse harder than you ever have before
|
||||
SSnightshift.update_nightshift(active = FALSE, announce = TRUE, forced = TRUE)
|
||||
|
||||
if("trigger_xenomorph_infestation")
|
||||
xenomorphs.attempt_random_spawn()
|
||||
GLOB.xenomorphs.attempt_random_spawn()
|
||||
|
||||
if("trigger_cortical_borer_infestation")
|
||||
borers.attempt_random_spawn()
|
||||
GLOB.borers.attempt_random_spawn()
|
||||
|
||||
if("jump_shuttle")
|
||||
var/shuttle_tag = tgui_input_list(holder, "Which shuttle do you want to jump?", "Shuttle Choice", SSshuttles.shuttles)
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
|
||||
switch(choice)
|
||||
if("Heavy Asset Protection")
|
||||
team = deathsquad
|
||||
team = GLOB.deathsquad
|
||||
if("Mercenaries")
|
||||
team = commandos
|
||||
team = GLOB.commandos
|
||||
else
|
||||
return
|
||||
|
||||
@@ -111,10 +111,10 @@ GLOBAL_VAR_INIT(silent_ert, 0)
|
||||
if(jobban_isbanned(usr, JOB_SYNDICATE) || jobban_isbanned(usr, JOB_EMERGENCY_RESPONSE_TEAM) || jobban_isbanned(usr, JOB_SECURITY_OFFICER))
|
||||
to_chat(usr, span_danger("You are jobbanned from the emergency reponse team!"))
|
||||
return
|
||||
if(ert.current_antagonists.len >= ert.hard_cap)
|
||||
if(GLOB.ert.current_antagonists.len >= GLOB.ert.hard_cap)
|
||||
to_chat(usr, "The emergency response team is already full!")
|
||||
return
|
||||
ert.create_default(usr)
|
||||
GLOB.ert.create_default(usr)
|
||||
else
|
||||
to_chat(usr, "You need to be an observer or new player to use this.")
|
||||
|
||||
|
||||
@@ -46,10 +46,10 @@ GLOBAL_VAR_INIT(can_call_traders, 1)
|
||||
if(!GLOB.send_beruang)
|
||||
to_chat(usr, "The Beruang is not currently heading to the station.")
|
||||
return
|
||||
if(traders.current_antagonists.len >= traders.hard_cap)
|
||||
if(GLOB.traders.current_antagonists.len >= GLOB.traders.hard_cap)
|
||||
to_chat(usr, "The number of trader slots is already full!")
|
||||
return
|
||||
traders.create_default(usr)
|
||||
GLOB.traders.create_default(usr)
|
||||
else
|
||||
to_chat(usr, "You need to be an observer or new player to use this.")
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
// Step 1, find out what we can see.
|
||||
/datum/ai_holder/proc/list_targets()
|
||||
. = ohearers(vision_range, holder)
|
||||
. -= dview_mob // Not the dview mob!
|
||||
. -= GLOB.dview_mob // Not the dview mob!
|
||||
|
||||
var/static/hostile_machines = typecacheof(list(/obj/machinery/porta_turret, /obj/mecha, /obj/structure/blob))
|
||||
|
||||
|
||||
@@ -223,12 +223,12 @@
|
||||
if(tmr.timing)
|
||||
to_chat(usr, span_notice("Clock is ticking already."))
|
||||
else
|
||||
var/ntime = tgui_input_number(usr, "Enter desired time in seconds", "Time", "5", 1000, 0)
|
||||
if (ntime>0 && ntime<1000)
|
||||
var/ntime = tgui_input_number(usr, "Enter desired time in seconds", "Time", 5, 1000, 0)
|
||||
if (ntime > 0 && ntime < 1000)
|
||||
tmr.time = ntime
|
||||
name = initial(name) + "([tmr.time] secs)"
|
||||
to_chat(usr, span_notice("Timer set to [tmr.time] seconds."))
|
||||
else
|
||||
to_chat(usr, span_notice("Timer can't be [ntime<=0?"negative":"more than 1000 seconds"]."))
|
||||
to_chat(usr, span_notice("Timer can't be [ntime <= 0 ? "negative" : "more than 1000 seconds"]."))
|
||||
else
|
||||
to_chat(usr, span_notice("You cannot do this while [usr.stat?"unconscious/dead":"restrained"]."))
|
||||
to_chat(usr, span_notice("You cannot do this while [usr.stat ? "unconscious/dead" : "restrained"]."))
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
load_immediately = TRUE
|
||||
|
||||
/datum/asset/spritesheet_batched/chat/create_spritesheets()
|
||||
insert_all_icons("", text_tag_icons, prefix_with_dirs = FALSE) // OOC, LOOC ect icons
|
||||
insert_all_icons("", GLOB.text_tag_icons, prefix_with_dirs = FALSE) // OOC, LOOC ect icons
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
SEND_SOUND(user, S)
|
||||
|
||||
if("customize_species_sounds") // You shouldn't be able to see this option if you don't have the option to select a custom icon base, so we don't need to re-check for safety here.
|
||||
var/list/possible_species_sound_types = species_sound_map
|
||||
var/list/possible_species_sound_types = GLOB.species_sound_map
|
||||
var/choice = tgui_input_list(user, "Which set of sounds would you like to use for your character's species sounds? (Cough, Sneeze, Scream, Pain, Gasp, Death)", "Species Sounds", possible_species_sound_types)
|
||||
if(choice)
|
||||
pref.species_sound = choice
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
should_generate_icons = TRUE
|
||||
|
||||
/datum/preference/choiced/ui_style/init_possible_values()
|
||||
return assoc_to_keys(all_ui_styles)
|
||||
return assoc_to_keys(GLOB.all_ui_styles)
|
||||
|
||||
/datum/preference/choiced/ui_style/icon_for(value)
|
||||
var/icon/icon_file = all_ui_styles[value]
|
||||
var/icon/icon_file = GLOB.all_ui_styles[value]
|
||||
|
||||
var/icon/icon = icon(icon_file, "r_hand_inactive")
|
||||
icon.Crop(1, 1, ICON_SIZE_X * 2, ICON_SIZE_Y)
|
||||
@@ -17,7 +17,7 @@
|
||||
return icon
|
||||
|
||||
/datum/preference/choiced/ui_style/create_default_value()
|
||||
return all_ui_styles[1]
|
||||
return GLOB.all_ui_styles[1]
|
||||
|
||||
/datum/preference/choiced/ui_style/apply_to_client_updated(client/client, value)
|
||||
client.mob?.update_ui_style(UI_style_new = value)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
//Toggles for preferences, normal clients
|
||||
/client/verb/toggle_be_special(role in be_special_flags)
|
||||
/client/verb/toggle_be_special(role in GLOB.be_special_flags)
|
||||
set name = "Toggle Special Role Candidacy"
|
||||
set category = "Preferences.Character"
|
||||
set desc = "Toggles which special roles you would like to be a candidate for, during events."
|
||||
|
||||
var/role_flag = be_special_flags[role]
|
||||
var/role_flag = GLOB.be_special_flags[role]
|
||||
if(!role_flag) return
|
||||
|
||||
prefs.be_special ^= role_flag
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/proc/ui_style2icon(ui_style)
|
||||
if(ui_style in all_ui_styles)
|
||||
return all_ui_styles[ui_style]
|
||||
return all_ui_styles["White"]
|
||||
if(ui_style in GLOB.all_ui_styles)
|
||||
return GLOB.all_ui_styles[ui_style]
|
||||
return GLOB.all_ui_styles["White"]
|
||||
|
||||
|
||||
/client/verb/change_ui()
|
||||
@@ -17,7 +17,7 @@
|
||||
var/current_style = prefs.read_preference(/datum/preference/choiced/ui_style)
|
||||
var/current_alpha = prefs.read_preference(/datum/preference/numeric/ui_style_alpha)
|
||||
var/current_color = prefs.read_preference(/datum/preference/color/ui_style_color)
|
||||
var/UI_style_new = tgui_input_list(src, "Select a style. White is recommended for customization", "UI Style Choice", all_ui_styles, current_style)
|
||||
var/UI_style_new = tgui_input_list(src, "Select a style. White is recommended for customization", "UI Style Choice", GLOB.all_ui_styles, current_style)
|
||||
if(!UI_style_new) return
|
||||
|
||||
var/UI_style_alpha_new = tgui_input_number(src, "Select a new alpha (transparency) parameter for your UI, between 50 and 255", null, current_alpha, 255, 50)
|
||||
|
||||
@@ -741,7 +741,7 @@
|
||||
if(holding)
|
||||
add_overlay("[icon_state]_knife")
|
||||
if(contaminated)
|
||||
add_overlay(contamination_overlay)
|
||||
add_overlay(GLOB.contamination_overlay)
|
||||
if(gurgled) //VOREStation Edit Start
|
||||
wash(CLEAN_ALL)
|
||||
gurgle_contaminate() //VOREStation Edit End
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
// Customizable Foods //////////////////////////////////////////
|
||||
var/global/deepFriedEverything = 0
|
||||
var/global/deepFriedNutriment = 0
|
||||
var/global/foodNesting = 0
|
||||
var/global/recursiveFood = 0
|
||||
var/global/ingredientLimit = 20
|
||||
#define INGREDIENT_LIMIT 20
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/customizable
|
||||
@@ -27,7 +23,7 @@ var/global/ingredientLimit = 20
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user)
|
||||
if(istype(I,/obj/item/reagent_containers/food/snacks))
|
||||
if((contents.len >= ingMax) || (contents.len >= ingredientLimit))
|
||||
if((contents.len >= ingMax) || (contents.len >= INGREDIENT_LIMIT))
|
||||
to_chat(user, span_warning("That's already looking pretty stuffed."))
|
||||
return
|
||||
|
||||
@@ -37,7 +33,7 @@ var/global/ingredientLimit = 20
|
||||
if(fullyCustom && SC.fullyCustom)
|
||||
to_chat(user, span_warning("You slap yourself on the back of the head for thinking that stacking plates is an interesting dish."))
|
||||
return
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
//to_chat(user, span_warning("[pick("As uniquely original as that idea is, you can't figure out how to perform it.","That would be a straining topological exercise.","This world just isn't ready for your cooking genius.","It's possible that you may have a problem.","It won't fit.","You don't think that would taste very good.","Quit goofin' around.")]"))
|
||||
to_chat(user, span_warning("As uniquely original as that idea is, you can't figure out how to perform it."))
|
||||
return
|
||||
@@ -184,7 +180,7 @@ var/global/ingredientLimit = 20
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/slice/bread/attackby(obj/item/I,mob/user,params)
|
||||
if(istype(I,/obj/item/reagent_containers/food/snacks))
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
to_chat(user, span_warning("Sorry, no recursive food."))
|
||||
return
|
||||
var/obj/F = new/obj/item/reagent_containers/food/snacks/customizable/sandwich(get_turf(src),I) //boy ain't this a mouthful
|
||||
@@ -216,7 +212,7 @@ var/global/ingredientLimit = 20
|
||||
qdel(src)
|
||||
|
||||
if(istype(I,/obj/item/reagent_containers/food/snacks))
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
to_chat(user, span_warning("Sorry, no recursive food."))
|
||||
return
|
||||
var/obj/F = new/obj/item/reagent_containers/food/snacks/customizable/burger(get_turf(src),I)
|
||||
@@ -227,7 +223,7 @@ var/global/ingredientLimit = 20
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/sliceable/flatdough/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks))
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
to_chat(user, span_warning("Sorry, no recursive food."))
|
||||
return
|
||||
var/obj/F = new/obj/item/reagent_containers/food/snacks/customizable/pizza(get_turf(src),I)
|
||||
@@ -238,7 +234,7 @@ var/global/ingredientLimit = 20
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/spagetti/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks))
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
to_chat(user, span_warning("Sorry, no recursive food."))
|
||||
return
|
||||
var/obj/F = new/obj/item/reagent_containers/food/snacks/customizable/pasta(get_turf(src),I)
|
||||
@@ -269,7 +265,7 @@ var/global/ingredientLimit = 20
|
||||
|
||||
/obj/item/trash/bowl/attackby(obj/item/I, mob/user)
|
||||
if(istype(I,/obj/item/reagent_containers/food/snacks))
|
||||
if(!recursiveFood && istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/customizable))
|
||||
to_chat(user, span_warning("Sorry, no recursive food."))
|
||||
return
|
||||
var/obj/F = new/obj/item/reagent_containers/food/snacks/customizable/soup(get_turf(src),I)
|
||||
@@ -277,3 +273,5 @@ var/global/ingredientLimit = 20
|
||||
qdel(src)
|
||||
else
|
||||
return ..()
|
||||
|
||||
#undef INGREDIENT_LIMIT
|
||||
|
||||
@@ -1296,11 +1296,6 @@
|
||||
M.show_message(span_warning("You lose sensation of your body."))
|
||||
return
|
||||
|
||||
|
||||
//egglaying
|
||||
var/eggs = 0
|
||||
|
||||
|
||||
/mob/living/proc/mobegglaying()
|
||||
set name = "Egg laying"
|
||||
set desc = "you can lay Eggs"
|
||||
|
||||
@@ -21,3 +21,4 @@
|
||||
var/list/custom_cold = list()
|
||||
var/can_climb = FALSE //Checked by turfs when using climb_wall(). Defined here for silicons and simple mobs
|
||||
var/climbing_delay = 1.5 //By default, mobs climb at quarter speed. To be overriden by specific simple mobs or species speed
|
||||
var/eggs = 0
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
/mob/living/simple_mob/animal/borer/Login()
|
||||
. = ..()
|
||||
if(antag && mind)
|
||||
borers.add_antagonist(mind)
|
||||
GLOB.borers.add_antagonist(mind)
|
||||
|
||||
/mob/living/simple_mob/animal/borer/Initialize(mapload)
|
||||
add_language("Cortical Link")
|
||||
@@ -284,7 +284,7 @@
|
||||
return
|
||||
|
||||
if(host.mind)
|
||||
borers.remove_antagonist(host.mind)
|
||||
GLOB.borers.remove_antagonist(host.mind)
|
||||
|
||||
if(!QDELETED(src))
|
||||
forceMove(get_turf(host.loc))
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
|
||||
//Update their traitor status.
|
||||
if(host.mind)
|
||||
borers.add_antagonist_mind(host.mind, 1, borers.faction_role_text, borers.faction_welcome)
|
||||
GLOB.borers.add_antagonist_mind(host.mind, 1, GLOB.borers.faction_role_text, GLOB.borers.faction_welcome)
|
||||
|
||||
/* This is likely not desired, and has some major issues with ghost behavior. Disabling for now
|
||||
// No brain organ, so the borer moves in and replaces it permanently.
|
||||
|
||||
@@ -63,14 +63,14 @@
|
||||
/mob/living/simple_mob/mechanical/viscerator/mercenary/IIsAlly(mob/living/L)
|
||||
. = ..()
|
||||
if(!. && isliving(L)) // Not friendly, see if they're a baddie first.
|
||||
if(L.mind && mercs.is_antagonist(L.mind))
|
||||
if(L.mind && GLOB.mercs.is_antagonist(L.mind))
|
||||
return TRUE
|
||||
|
||||
// Similar to above but for raiders.
|
||||
/mob/living/simple_mob/mechanical/viscerator/raider/IIsAlly(mob/living/L)
|
||||
. = ..()
|
||||
if(!. && isliving(L)) // Not friendly, see if they're a baddie first.
|
||||
if(L.mind && raiders.is_antagonist(L.mind))
|
||||
if(L.mind && GLOB.raiders.is_antagonist(L.mind))
|
||||
return TRUE
|
||||
|
||||
// Variant that is neutral, and thus on the station's side. It checks records.
|
||||
|
||||
+14
-14
@@ -1,4 +1,4 @@
|
||||
var/list/command_cartridges = list(
|
||||
GLOBAL_LIST_INIT(command_cartridges, list(
|
||||
/obj/item/cartridge/captain,
|
||||
/obj/item/cartridge/hop,
|
||||
/obj/item/cartridge/hos,
|
||||
@@ -7,42 +7,42 @@ var/list/command_cartridges = list(
|
||||
/obj/item/cartridge/cmo,
|
||||
/obj/item/cartridge/head,
|
||||
/obj/item/cartridge/lawyer // Internal Affaris,
|
||||
)
|
||||
))
|
||||
|
||||
var/list/security_cartridges = list(
|
||||
GLOBAL_LIST_INIT(security_cartridges, list(
|
||||
/obj/item/cartridge/security,
|
||||
/obj/item/cartridge/detective,
|
||||
/obj/item/cartridge/hos
|
||||
)
|
||||
))
|
||||
|
||||
var/list/engineering_cartridges = list(
|
||||
GLOBAL_LIST_INIT(engineering_cartridges, list(
|
||||
/obj/item/cartridge/engineering,
|
||||
/obj/item/cartridge/atmos,
|
||||
/obj/item/cartridge/ce
|
||||
)
|
||||
))
|
||||
|
||||
var/list/medical_cartridges = list(
|
||||
GLOBAL_LIST_INIT(medical_cartridges, list(
|
||||
/obj/item/cartridge/medical,
|
||||
/obj/item/cartridge/chemistry,
|
||||
/obj/item/cartridge/cmo
|
||||
)
|
||||
))
|
||||
|
||||
var/list/research_cartridges = list(
|
||||
GLOBAL_LIST_INIT(research_cartridges, list(
|
||||
/obj/item/cartridge/signal/science,
|
||||
/obj/item/cartridge/rd
|
||||
)
|
||||
))
|
||||
|
||||
var/list/cargo_cartridges = list(
|
||||
GLOBAL_LIST_INIT(cargo_cartridges, list(
|
||||
/obj/item/cartridge/quartermaster, // This also covers cargo-techs, apparently,
|
||||
/obj/item/cartridge/miner,
|
||||
/obj/item/cartridge/hop
|
||||
)
|
||||
))
|
||||
|
||||
var/list/civilian_cartridges = list(
|
||||
GLOBAL_LIST_INIT(civilian_cartridges, list(
|
||||
/obj/item/cartridge/janitor,
|
||||
/obj/item/cartridge/service,
|
||||
/obj/item/cartridge/hop
|
||||
)
|
||||
))
|
||||
|
||||
/obj/item/cartridge
|
||||
name = "generic cartridge"
|
||||
|
||||
@@ -175,43 +175,43 @@
|
||||
. = ..()
|
||||
owner = "Command Department"
|
||||
name = "Command Department (Relay)"
|
||||
cartridges_to_send_to = command_cartridges
|
||||
cartridges_to_send_to = GLOB.command_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/security/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Security Department"
|
||||
name = "Security Department (Relay)"
|
||||
cartridges_to_send_to = security_cartridges
|
||||
cartridges_to_send_to = GLOB.security_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/engineering/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Engineering Department"
|
||||
name = "Engineering Department (Relay)"
|
||||
cartridges_to_send_to = engineering_cartridges
|
||||
cartridges_to_send_to = GLOB.engineering_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/medical/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Medical Department"
|
||||
name = "Medical Department (Relay)"
|
||||
cartridges_to_send_to = medical_cartridges
|
||||
cartridges_to_send_to = GLOB.medical_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/research/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Research Department"
|
||||
name = "Research Department (Relay)"
|
||||
cartridges_to_send_to = research_cartridges
|
||||
cartridges_to_send_to = GLOB.research_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/cargo/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Cargo Department"
|
||||
name = "Cargo Department (Relay)"
|
||||
cartridges_to_send_to = cargo_cartridges
|
||||
cartridges_to_send_to = GLOB.cargo_cartridges
|
||||
|
||||
/obj/item/pda/multicaster/civilian/Initialize(mapload)
|
||||
. = ..()
|
||||
owner = "Civilian Services Department"
|
||||
name = "Civilian Services Department (Relay)"
|
||||
cartridges_to_send_to = civilian_cartridges
|
||||
cartridges_to_send_to = GLOB.civilian_cartridges
|
||||
|
||||
/obj/item/pda/clown/Crossed(atom/movable/AM as mob|obj) //Clown PDA is slippery.
|
||||
if(AM.is_incorporeal())
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
charge_meter = 0
|
||||
|
||||
/obj/item/gun/energy/staff/special_check(var/mob/user)
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
if((user.mind && !GLOB.wizards.is_antagonist(user.mind)))
|
||||
to_chat(user, span_warning("You focus your mind on \the [src], but nothing happens!"))
|
||||
return 0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var/maze_cell_count = 0
|
||||
GLOBAL_VAR_INIT(maze_cell_count, 0)
|
||||
|
||||
/datum/maze_cell
|
||||
var/name
|
||||
@@ -9,8 +9,8 @@ var/maze_cell_count = 0
|
||||
var/oy
|
||||
|
||||
/datum/maze_cell/New(var/nx,var/ny,var/nox,var/noy)
|
||||
maze_cell_count++
|
||||
uid = maze_cell_count
|
||||
GLOB.maze_cell_count++
|
||||
uid = GLOB.maze_cell_count
|
||||
name = "cell #[uid]"
|
||||
x = nx
|
||||
y = ny
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
qdel(src)
|
||||
return
|
||||
else if(D.has_tool_quality(TOOL_WIRECUTTER))
|
||||
balloon_alert(user, "you cut a big hole in \the [src] with \the [D]. It's kinda useless now.")
|
||||
to_chat(user, span_notice("You cut a big hole in \the [src] with \the [D]. It's kinda useless as a bucket now."))
|
||||
user.put_in_hands(new /obj/item/clothing/head/helmet/bucket)
|
||||
user.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
@@ -349,16 +349,16 @@
|
||||
if (M.use(1))
|
||||
var/obj/item/secbot_assembly/edCLN_assembly/B = new /obj/item/secbot_assembly/edCLN_assembly
|
||||
B.loc = get_turf(src)
|
||||
balloon_alert(user, "armed the robot frame.")
|
||||
to_chat(user, span_notice("You armed the robot frame."))
|
||||
if (user.get_inactive_hand()==src)
|
||||
user.remove_from_mob(src)
|
||||
user.put_in_inactive_hand(B)
|
||||
qdel(src)
|
||||
else
|
||||
balloon_alert(user, "one sheet of metal is needed to arm the robot frame.")
|
||||
to_chat(user, span_warning("You need one sheet of metal to arm the robot frame."))
|
||||
else if(istype(D, /obj/item/mop) || istype(D, /obj/item/soap) || istype(D, /obj/item/reagent_containers/glass/rag))
|
||||
if(reagents.total_volume < 1)
|
||||
balloon_alert(user, "\the [src] is empty!")
|
||||
to_chat(user, span_warning("\The [src] is empty!"))
|
||||
else
|
||||
reagents.trans_to_obj(D, 5)
|
||||
to_chat(user, span_notice("You wet \the [D] in \the [src]."))
|
||||
|
||||
@@ -8,11 +8,6 @@
|
||||
#define KW_ERR 2 //Non-fatal error, keyword couldn't be handled properly. Ignore keyword but continue on.
|
||||
#define KW_WARN 3 //Warning
|
||||
|
||||
/*
|
||||
var/const/Class: n_Keyword
|
||||
var/const/Represents a special statement in the code triggered by a keyword.
|
||||
*/
|
||||
|
||||
/*
|
||||
Var: inline
|
||||
1 if the keyword is in an expression (e.g. the new keyword in many languages), 0 otherwise (such as the if and else keywords).
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
. = ..(user)
|
||||
if(.)
|
||||
return TRUE
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
if((user.mind && !GLOB.wizards.is_antagonist(user.mind)))
|
||||
to_chat(user, span_warning("You stare into the orb and see nothing but your own reflection."))
|
||||
return
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
return FALSE
|
||||
if(!user)
|
||||
return
|
||||
if((user.mind && !wizards.is_antagonist(user.mind)))
|
||||
if((user.mind && !GLOB.wizards.is_antagonist(user.mind)))
|
||||
to_chat(user, span_warning("You stare at the book but cannot make sense of the markings!"))
|
||||
return
|
||||
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
changed_hook(APPEARANCECHANGER_CHANGED_RACE)
|
||||
return TRUE
|
||||
if("species_sound")
|
||||
var/list/possible_species_sound_types = species_sound_map
|
||||
var/list/possible_species_sound_types = GLOB.species_sound_map
|
||||
var/choice = tgui_input_list(ui.user, "Which set of sounds would you like to use? (Cough, Sneeze, Scream, Pain, Gasp, Death)", "Species Sounds", possible_species_sound_types)
|
||||
if(choice && can_change(owner, APPEARANCE_MISC))
|
||||
owner.species.species_sounds = choice
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
to_chat(user, span_notice("Cannot establish a bluespace connection."))
|
||||
return
|
||||
|
||||
if(deathsquad.deployed)
|
||||
if(GLOB.deathsquad.deployed)
|
||||
to_chat(user, "[using_map.boss_short] will not allow the shuttle to be called. Consider all contracts terminated.")
|
||||
return
|
||||
|
||||
@@ -437,7 +437,7 @@
|
||||
to_chat(user, "[using_map.boss_short] does not currently have a shuttle available in your sector. Please try again later.")
|
||||
return
|
||||
|
||||
if(deathsquad.deployed == 1)
|
||||
if(GLOB.deathsquad.deployed == 1)
|
||||
to_chat(user, "[using_map.boss_short] will not allow the shuttle to be called. Consider all contracts terminated.")
|
||||
return
|
||||
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
* bunch of ChangeTurf() calls.
|
||||
*/
|
||||
|
||||
var/list/turbolifts = list()
|
||||
GLOBAL_LIST_EMPTY(turbolifts)
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
var/list/areas_to_use = list()
|
||||
|
||||
/obj/turbolift_map_holder/Destroy()
|
||||
turbolifts -= src
|
||||
GLOB.turbolifts -= src
|
||||
return ..()
|
||||
|
||||
/obj/turbolift_map_holder/Initialize(mapload)
|
||||
..()
|
||||
turbolifts += src
|
||||
GLOB.turbolifts += src
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/turbolift_map_holder/LateInitialize()
|
||||
|
||||
@@ -655,12 +655,12 @@
|
||||
owner.handle_belly_update() // This is run whenever a belly's contents are changed.
|
||||
var/obj/item/I = thing
|
||||
if(I.gurgled)
|
||||
I.cut_overlay(gurgled_overlays[I.gurgled_color]) //No double-overlay for worn items.
|
||||
I.add_overlay(gurgled_overlays[I.gurgled_color])
|
||||
I.cut_overlay(GLOB.gurgled_overlays[I.gurgled_color]) //No double-overlay for worn items.
|
||||
I.add_overlay(GLOB.gurgled_overlays[I.gurgled_color])
|
||||
if(I.d_mult < 1)
|
||||
if(I.d_stage_overlay)
|
||||
I.cut_overlay(I.d_stage_overlay)
|
||||
var/image/temp = new /image(gurgled_overlays[I.gurgled_color ? I.gurgled_color : "green"])
|
||||
var/image/temp = new /image(GLOB.gurgled_overlays[I.gurgled_color ? I.gurgled_color : "green"])
|
||||
temp.filters += filter(type = "alpha", icon = icon(I.icon, I.icon_state))
|
||||
I.d_stage_overlay = temp
|
||||
for(var/count in I.d_mult to 1 step 0.25)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var/list/gurgled_overlays = list(
|
||||
GLOBAL_LIST_INIT(gurgled_overlays, list(
|
||||
"green" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "green"),
|
||||
"white" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "white"),
|
||||
"black" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "black"),
|
||||
@@ -14,7 +14,7 @@ var/list/gurgled_overlays = list(
|
||||
"cyan" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "cyan"),
|
||||
"beige" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "beige"),
|
||||
"pink" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "pink")
|
||||
)
|
||||
))
|
||||
|
||||
/obj/item/proc/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
||||
if(!can_gurgle())
|
||||
@@ -27,7 +27,7 @@ var/list/gurgled_overlays = list(
|
||||
gurgled = TRUE
|
||||
gurgled_color = contamination_color
|
||||
if(!isbelly(src.loc)) //Moved non-worn overlay stuff to belly_obj_vr.dm Exited proc. No need to add overlays to things that won't make it out.
|
||||
add_overlay(gurgled_overlays[gurgled_color])
|
||||
add_overlay(GLOB.gurgled_overlays[gurgled_color])
|
||||
var/list/pickfrom = GLOB.contamination_flavors[contamination_flavor]
|
||||
var/gurgleflavor = pick(pickfrom)
|
||||
cleanname = src.name
|
||||
|
||||
@@ -15,11 +15,6 @@
|
||||
#define THERMITE_PATH /datum/reagent/thermite
|
||||
#define TOXIN_PATH /datum/reagent/toxin
|
||||
|
||||
var/list/water_reagents = list(HYDROGEN_PATH, WATER_PATH)
|
||||
var/list/acid_reagents = list(ACID_PATH, DIETHYLAMINE_PATH)
|
||||
var/list/volatile_reagents = list(PHORON_PATH, HYDROPHORON_PATH, THERMITE_PATH)
|
||||
var/list/toxic_reagents = list(TOXIN_PATH)
|
||||
|
||||
/atom/proc/is_anomalous()
|
||||
return (GetComponent(/datum/component/artifact_master))
|
||||
|
||||
@@ -64,6 +59,11 @@ var/list/toxic_reagents = list(TOXIN_PATH)
|
||||
|
||||
var/artifact_id
|
||||
|
||||
var/static/list/water_reagents = list(HYDROGEN_PATH, WATER_PATH)
|
||||
var/static/list/acid_reagents = list(ACID_PATH, DIETHYLAMINE_PATH)
|
||||
var/static/list/volatile_reagents = list(PHORON_PATH, HYDROPHORON_PATH, THERMITE_PATH)
|
||||
var/static/list/toxic_reagents = list(TOXIN_PATH)
|
||||
|
||||
/datum/component/artifact_master/New()
|
||||
. = ..()
|
||||
holder = parent
|
||||
@@ -354,25 +354,25 @@ var/list/toxic_reagents = list(TOXIN_PATH)
|
||||
if(my_effect.trigger == TRIGGER_WATER)
|
||||
for(var/datum/reagent/R in W.reagents.reagent_list) //What chems are in the beaker?
|
||||
var/T = R.type
|
||||
if(is_path_in_list(T,water_reagents)) //Check the reagent and activate!
|
||||
if(is_path_in_list(T, water_reagents)) //Check the reagent and activate!
|
||||
my_effect.ToggleActivate()
|
||||
|
||||
else if(my_effect.trigger == TRIGGER_ACID)
|
||||
for(var/datum/reagent/R in W.reagents.reagent_list)
|
||||
var/T = R.type
|
||||
if(is_path_in_list(T,acid_reagents))
|
||||
if(is_path_in_list(T, acid_reagents))
|
||||
my_effect.ToggleActivate()
|
||||
|
||||
else if(my_effect.trigger == TRIGGER_VOLATILE)
|
||||
for(var/datum/reagent/R in W.reagents.reagent_list)
|
||||
var/T = R.type
|
||||
if(is_path_in_list(T,volatile_reagents))
|
||||
if(is_path_in_list(T, volatile_reagents))
|
||||
my_effect.ToggleActivate()
|
||||
|
||||
else if(my_effect.trigger == TRIGGER_TOXIN)
|
||||
for(var/datum/reagent/R in W.reagents.reagent_list)
|
||||
var/T = R.type
|
||||
if(is_path_in_list(T,toxic_reagents))
|
||||
if(is_path_in_list(T, toxic_reagents))
|
||||
my_effect.ToggleActivate()
|
||||
//If we weren't splashed, let's see if we were hit by a energy item and if we're energy activation.
|
||||
else if(istype(W,/obj/item/melee/baton) && W:status ||\
|
||||
@@ -404,16 +404,16 @@ var/list/toxic_reagents = list(TOXIN_PATH)
|
||||
var/T = touching.type //What type of reagent is being splashed on it?
|
||||
|
||||
for(var/datum/artifact_effect/my_effect in my_effects)
|
||||
if(is_path_in_list(T,water_reagents))
|
||||
if(is_path_in_list(T, water_reagents))
|
||||
if(my_effect.trigger == TRIGGER_WATER)
|
||||
my_effect.ToggleActivate()
|
||||
else if(is_path_in_list(T,acid_reagents))
|
||||
else if(is_path_in_list(T, acid_reagents))
|
||||
if(my_effect.trigger == TRIGGER_ACID)
|
||||
my_effect.ToggleActivate()
|
||||
else if(is_path_in_list(T,volatile_reagents))
|
||||
else if(is_path_in_list(T, volatile_reagents))
|
||||
if(my_effect.trigger == TRIGGER_VOLATILE)
|
||||
my_effect.ToggleActivate()
|
||||
else if(is_path_in_list(T,toxic_reagents))
|
||||
else if(is_path_in_list(T, toxic_reagents))
|
||||
if(my_effect.trigger == TRIGGER_TOXIN)
|
||||
my_effect.ToggleActivate()
|
||||
|
||||
|
||||
@@ -7,24 +7,24 @@
|
||||
|
||||
if(!holder) return
|
||||
|
||||
if(!xenobio_controller || !xenobio_controller.gene_tag_masks)
|
||||
if(!GLOB.xenobio_controller || !GLOB.xenobio_controller.gene_tag_masks)
|
||||
to_chat(usr, "Gene masks not set.")
|
||||
return
|
||||
|
||||
for(var/mask in xenobio_controller.gene_tag_masks)
|
||||
to_chat(usr, "[mask]: [xenobio_controller.gene_tag_masks[mask]]")
|
||||
for(var/mask in GLOB.xenobio_controller.gene_tag_masks)
|
||||
to_chat(usr, "[mask]: [GLOB.xenobio_controller.gene_tag_masks[mask]]")
|
||||
|
||||
var/global/datum/controller/xenobio/xenobio_controller // Set in New().
|
||||
GLOBAL_DATUM(xenobio_controller, /datum/controller/xenobio)
|
||||
|
||||
/datum/controller/xenobio
|
||||
|
||||
var/list/gene_tag_masks = list() // Gene obfuscation for delicious trial and error goodness.
|
||||
|
||||
/datum/controller/xenobio/New()
|
||||
if(xenobio_controller && xenobio_controller != src)
|
||||
if(GLOB.xenobio_controller && GLOB.xenobio_controller != src)
|
||||
log_runtime("Rebuilding xenobio controller.")
|
||||
qdel(xenobio_controller)
|
||||
xenobio_controller = src
|
||||
qdel(GLOB.xenobio_controller)
|
||||
GLOB.xenobio_controller = src
|
||||
setup()
|
||||
|
||||
|
||||
|
||||
@@ -152,8 +152,8 @@
|
||||
var/list/data = list()
|
||||
|
||||
var/list/geneMasks[0]
|
||||
for(var/gene_tag in xenobio_controller.gene_tag_masks)
|
||||
geneMasks.Add(list(list("tag" = gene_tag, "mask" = xenobio_controller.gene_tag_masks[gene_tag])))
|
||||
for(var/gene_tag in GLOB.xenobio_controller.gene_tag_masks)
|
||||
geneMasks.Add(list(list("tag" = gene_tag, "mask" = GLOB.xenobio_controller.gene_tag_masks[gene_tag])))
|
||||
data["geneMasks"] = geneMasks
|
||||
|
||||
data["activity"] = active
|
||||
@@ -231,8 +231,8 @@
|
||||
|
||||
loaded_disk.genesource = "[genetics.source]"
|
||||
|
||||
loaded_disk.name += " ([xenobio_controller.gene_tag_masks[href_list["get_gene"]]], [genetics.source])"
|
||||
loaded_disk.desc += " The label reads \'gene [xenobio_controller.gene_tag_masks[href_list["get_gene"]]], sampled from [genetics.source]\'."
|
||||
loaded_disk.name += " ([GLOB.xenobio_controller.gene_tag_masks[href_list["get_gene"]]], [genetics.source])"
|
||||
loaded_disk.desc += " The label reads \'gene [GLOB.xenobio_controller.gene_tag_masks[href_list["get_gene"]]], sampled from [genetics.source]\'."
|
||||
eject_disk = 1
|
||||
|
||||
degradation += rand(20,60)
|
||||
@@ -306,7 +306,7 @@
|
||||
|
||||
for(var/datum/xeno/genes/X in loaded_disk.genes)
|
||||
if(data["locus"] != "") data["locus"] += ", "
|
||||
data["locus"] += "[xenobio_controller.gene_tag_masks[X.genetype]]"
|
||||
data["locus"] += "[GLOB.xenobio_controller.gene_tag_masks[X.genetype]]"
|
||||
|
||||
else
|
||||
data["disk"] = 0
|
||||
|
||||
Reference in New Issue
Block a user