From 1e49ce76d3470be6d07bac87140619addb5db7d4 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 10 Nov 2019 20:48:30 +0100 Subject: [PATCH] Dreamchecker compatibility changes, part 1. --- code/__DEFINES/misc.dm | 2 ++ code/__DEFINES/procpath.dm | 24 +++++++++++++++++++ code/__DEFINES/spaceman_dmm.dm | 13 ++++++++++ code/__DEFINES/traits.dm | 3 +-- code/__HELPERS/_lists.dm | 3 +++ code/__HELPERS/_logging.dm | 2 +- code/_onclick/adjacent.dm | 5 ++-- .../configuration/configuration.dm | 2 +- code/datums/browser.dm | 2 +- code/datums/components/mood.dm | 2 +- .../components/storage/concrete/special.dm | 4 ++-- code/datums/datum.dm | 2 +- code/datums/martial/wrestling.dm | 2 +- code/datums/status_effects/buffs.dm | 4 ++-- code/datums/verbs.dm | 4 ++-- code/game/atoms.dm | 4 ++-- .../game/gamemodes/clown_ops/clown_weapons.dm | 2 +- code/game/gamemodes/game_mode.dm | 2 +- code/game/machinery/cloning.dm | 2 -- .../machinery/computer/telecrystalconsoles.dm | 1 - code/game/machinery/cryopod.dm | 1 - code/game/objects/items/body_egg.dm | 2 +- code/game/objects/items/devices/PDA/cart.dm | 4 ++-- code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 1 - code/game/objects/items/stunbaton.dm | 2 +- code/game/turfs/simulated/floor/plating.dm | 2 +- code/modules/admin/admin_verbs.dm | 24 +++++++++---------- code/modules/admin/sql_message_system.dm | 4 ++-- code/modules/admin/verbs/diagnostics.dm | 2 +- code/modules/admin/verbs/mapping.dm | 2 +- .../antagonists/abductor/equipment/gland.dm | 6 ++--- .../devil/true_devil/_true_devil.dm | 2 +- .../antagonists/slaughter/slaughter.dm | 2 +- .../traitor/IAA/internal_affairs.dm | 2 -- .../traitor/equipment/Malf_Modules.dm | 4 ++-- code/modules/assembly/infrared.dm | 2 +- .../components/unary_devices/cryo.dm | 2 -- code/modules/awaymissions/corpse.dm | 4 ++-- code/modules/bsql/core/library.dm | 2 +- code/modules/cargo/centcom_podlauncher.dm | 20 ++++++++-------- code/modules/cargo/gondolapod.dm | 4 ++-- code/modules/client/client_procs.dm | 2 +- code/modules/client/preferences.dm | 7 +++--- code/modules/clothing/clothing.dm | 1 - code/modules/flufftext/Hallucination.dm | 2 +- code/modules/holodeck/area_copy.dm | 1 + code/modules/hydroponics/growninedible.dm | 2 +- .../core/special_pins/list_pin.dm | 1 - .../subtypes/atmospherics.dm | 1 - .../integrated_electronics/subtypes/smart.dm | 8 +++---- code/modules/mining/machine_silo.dm | 2 +- code/modules/mob/living/brain/brain_item.dm | 2 +- .../modules/mob/living/carbon/alien/organs.dm | 6 ++--- .../mob/living/carbon/human/species.dm | 2 +- .../human/species_types/shadowpeople.dm | 4 ++-- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/ai/say.dm | 2 +- .../mob/living/simple_animal/bot/mulebot.dm | 2 +- .../hostile/megafauna/colossus.dm | 4 ++-- code/modules/paperwork/contract.dm | 2 +- code/modules/projectiles/projectile/magic.dm | 2 +- .../chemistry/machinery/chem_dispenser.dm | 1 - .../chemistry/machinery/smoke_machine.dm | 2 +- .../spells/spell_types/area_teleport.dm | 2 +- .../spells/spell_types/inflict_handler.dm | 2 +- code/modules/surgery/organs/appendix.dm | 2 +- code/modules/surgery/organs/augments_chest.dm | 2 +- code/modules/surgery/organs/heart.dm | 2 +- code/modules/surgery/organs/tongue.dm | 2 +- code/modules/surgery/organs/vocal_cords.dm | 4 ++-- code/modules/zombie/organs.dm | 2 +- interface/menu.dm | 4 ++-- .../code/game/gamemodes/gangs/gangtool.dm | 2 +- .../code/modules/mentor/mentor_verbs.dm | 2 +- tgstation.dme | 2 ++ 76 files changed, 149 insertions(+), 118 deletions(-) create mode 100644 code/__DEFINES/procpath.dm create mode 100644 code/__DEFINES/spaceman_dmm.dm diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 4b76f41c61..ee64cc6feb 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -513,3 +513,5 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S //Misc text define. Does 4 spaces. Used as a makeshift tabulator. #define FOURSPACES "    " + +#define CRYOMOBS 'icons/obj/cryo_mobs.dmi' diff --git a/code/__DEFINES/procpath.dm b/code/__DEFINES/procpath.dm new file mode 100644 index 0000000000..1180058358 --- /dev/null +++ b/code/__DEFINES/procpath.dm @@ -0,0 +1,24 @@ +/// Represents a proc or verb path. +/// +/// Despite having no DM-defined static type, proc paths have some variables, +/// listed below. These are not modifiable, but for a given procpath P, +/// `new P(null, "Name", "Desc")` can be used to create a new procpath with the +/// same code but new `name` and `desc` values. The other variables cannot be +/// changed in this way. +/// +/// This type exists only to act as an annotation, providing reasonable static +/// typing for procpaths. Previously, types like `/atom/verb` were used, with +/// the `name` and `desc` vars of `/atom` thus being accessible. Proc and verb +/// paths will fail `istype` and `ispath` checks against `/procpath`. +/procpath + // Although these variables are effectively const, if they are marked const + // below, their accesses are optimized away. + + /// A text string of the verb's name. + var/name as text + /// The verb's help text or description. + var/desc as text + /// The category or tab the verb will appear in. + var/category as text + /// Only clients/mobs with `see_invisibility` higher can use the verb. + var/invisibility as num diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm new file mode 100644 index 0000000000..e590a30ff9 --- /dev/null +++ b/code/__DEFINES/spaceman_dmm.dm @@ -0,0 +1,13 @@ +// Interfaces for the SpacemanDMM linter, define'd to nothing when the linter +// is not in use. + +// The SPACEMAN_DMM define is set by the linter and other tooling when it runs. +#ifdef SPACEMAN_DMM + #define RETURN_TYPE(X) set SpacemanDMM_return_type = X + #define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X + #define UNLINT(X) SpacemanDMM_unlint(X) +#else + #define RETURN_TYPE(X) + #define SHOULD_CALL_PARENT(X) + #define UNLINT(X) X +#endif diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 1f37556d1d..fe7cf57cb3 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -192,7 +192,6 @@ #define STASIS_MUTE "stasis" #define GENETICS_SPELL "genetics_spell" #define EYES_COVERED "eyes_covered" -#define CULT_TRAIT "cult" #define CLOWN_NUKE_TRAIT "clown-nuke" #define STICKY_MOUSTACHE_TRAIT "sticky-moustache" #define CHAINSAW_FRENZY_TRAIT "chainsaw-frenzy" @@ -213,4 +212,4 @@ #define LOCKED_HELMET_TRAIT "locked-helmet" #define NINJA_SUIT_TRAIT "ninja-suit" #define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant" -#define ABDUCTOR_ANTAGONIST "abductor-antagonist" \ No newline at end of file +#define ABDUCTOR_ANTAGONIST "abductor-antagonist" diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 917615d095..7ea845720d 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -124,6 +124,7 @@ //returns a new list with only atoms that are in typecache L /proc/typecache_filter_list(list/atoms, list/typecache) + RETURN_TYPE(/list) . = list() for(var/thing in atoms) var/atom/A = thing @@ -131,6 +132,7 @@ . += A /proc/typecache_filter_list_reverse(list/atoms, list/typecache) + RETURN_TYPE(/list) . = list() for(var/thing in atoms) var/atom/A = thing @@ -257,6 +259,7 @@ //Pick a random element from the list and remove it from the list. /proc/pick_n_take(list/L) + RETURN_TYPE(L[_].type) if(L.len) var/picked = rand(1,L.len) . = L[picked] diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index c19a7a64b0..c259831f94 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -7,7 +7,7 @@ #define WRITE_LOG(log, text) rustg_log_write(log, text) //print a warning message to world.log -#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [src] usr: [usr].") +#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].") /proc/warning(msg) msg = "## WARNING: [msg]" log_world(msg) diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index ddff0b6bd3..9485ea3374 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -68,9 +68,10 @@ /atom/movable/Adjacent(var/atom/neighbor) if(neighbor == loc) return TRUE - if(!isturf(loc)) + var/turf/T = loc + if(!istype(T)) return FALSE - if(loc.Adjacent(neighbor,target = neighbor, mover = src)) + if(T.Adjacent(neighbor, neighbor, src)) return TRUE return FALSE diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index ea2919f342..a5d27819b8 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -34,7 +34,7 @@ if(_directory) directory = _directory if(entries) - CRASH("[THIS_PROC_TYPE_WEIRD] called more than once!") + CRASH("/datum/controller/configuration/Load() called more than once!") InitEntries() LoadModes() if(fexists("[directory]/config.txt") && LoadEntries("config.txt") <= 1) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 4c501a3e7f..60434d2766 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -194,7 +194,7 @@ .=..() opentime = 0 -/datum/browser/modal/open() +/datum/browser/modal/open(use_onclose = 1) set waitfor = 0 opentime = world.time diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 8c6013aeab..a3a9d96a55 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -8,7 +8,7 @@ var/mood_level = 5 //To track what stage of moodies they're on var/sanity_level = 5 //To track what stage of sanity they're on var/mood_modifier = 1 //Modifier to allow certain mobs to be less affected by moodlets - var/datum/mood_event/list/mood_events = list() + var/list/datum/mood_event/mood_events = list() var/insanity_effect = 0 //is the owner being punished for low mood? If so, how much? var/obj/screen/mood/screen_obj diff --git a/code/datums/components/storage/concrete/special.dm b/code/datums/components/storage/concrete/special.dm index 556e9e9fc9..9f2c435642 100644 --- a/code/datums/components/storage/concrete/special.dm +++ b/code/datums/components/storage/concrete/special.dm @@ -1,5 +1,5 @@ -/datum/component/storage/concrete/secret_satchel/can_be_inserted(I,msg,user) +/datum/component/storage/concrete/secret_satchel/can_be_inserted(obj/item/I, stop_messages = FALSE, mob/M) if(SSpersistence.spawned_objects[I]) - to_chat(user, "[I] is unstable after its journey through space and time, it wouldn't survive another trip.") + to_chat(M, "[I] is unstable after its journey through space and time, it wouldn't survive another trip.") return FALSE return ..() diff --git a/code/datums/datum.dm b/code/datums/datum.dm index cdb195dd82..8737cd8feb 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -4,7 +4,7 @@ var/list/datum_components //for /datum/components var/list/status_traits var/list/comp_lookup //it used to be for looking up components which had registered a signal but now anything can register - var/list/signal_procs + var/list/list/datum/callback/signal_procs var/signal_enabled = FALSE var/datum_flags = NONE var/datum/weakref/weak_reference diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index e07fa27ef5..81ec0bf977 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -192,7 +192,7 @@ if (T && isturf(T)) if (!D.stat) D.emote("scream") - D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, /mob/living/carbon/human/.Knockdown, 20)) + D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, /mob/living/carbon/human.proc/Knockdown, 20)) log_combat(A, D, "has thrown with wrestling") return 0 diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 563d06ca57..5c4fc61827 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -170,7 +170,7 @@ tick_interval = 4 alert_type = /obj/screen/alert/status_effect/his_grace var/bloodlust = 0 - + /obj/screen/alert/status_effect/his_grace name = "His Grace" desc = "His Grace hungers, and you must feed Him." @@ -356,7 +356,7 @@ var/new_staminaloss = owner.getStaminaLoss() if(new_staminaloss < last_staminaloss) var/heal_amount = -5 // CIT CHANGE - makes blood drunk status effect not exhaust you - owner.adjustStaminaLoss(heal_amount, updating_health = FALSE) + owner.adjustStaminaLoss(heal_amount, FALSE) new_staminaloss = owner.getStaminaLoss() needs_health_update = TRUE last_staminaloss = new_staminaloss diff --git a/code/datums/verbs.dm b/code/datums/verbs.dm index 79fe256bb4..d8d7ee7433 100644 --- a/code/datums/verbs.dm +++ b/code/datums/verbs.dm @@ -11,7 +11,7 @@ //do things for each entry in Generate_list //return value sets Generate_list[verbpath] -/datum/verbs/proc/HandleVerb(list/entry, atom/verb/verbpath, ...) +/datum/verbs/proc/HandleVerb(list/entry, procpath/verbpath, ...) return entry /datum/verbs/New() @@ -82,7 +82,7 @@ . += childlist for (var/thing in verblist) - var/atom/verb/verbpath = thing + var/procpath/verbpath = thing if (!verbpath) stack_trace("Bad VERB in [type] verblist: [english_list(verblist)]") var/list/entry = list() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 68f22242e1..64ff2437d3 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -266,7 +266,7 @@ if(SEND_SIGNAL(src, COMSIG_ATOM_GET_EXAMINE_NAME, user, override) & COMPONENT_EXNAME_CHANGED) should_override = TRUE - + if(blood_DNA && !istype(src, /obj/effect/decal)) override[EXAMINE_POSITION_BEFORE] = " blood-stained " should_override = TRUE @@ -563,7 +563,7 @@ //Hook for running code when a dir change occurs -/atom/proc/setDir(newdir) +/atom/proc/setDir(newdir, ismousemovement=FALSE) SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, newdir) dir = newdir diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 79890e4cdd..ee96d1fa10 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -138,7 +138,7 @@ var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.signal_enabled = active -/obj/item/shield/energy/bananium/throw_at(atom/target, range, speed, mob/thrower, spin=1) +/obj/item/shield/energy/bananium/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) if(active) if(iscarbon(thrower)) var/mob/living/carbon/C = thrower diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 17e26e66af..4d7b346241 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -31,7 +31,7 @@ var/recommended_enemies = 0 var/antag_flag = null //preferences flag such as BE_WIZARD that need to be turned on for players to be antag var/mob/living/living_antag_player = null - var/list/datum/game_mode/replacementmode = null + var/datum/game_mode/replacementmode = null var/round_converted = 0 //0: round not converted, 1: round going to convert, 2: round converted var/reroll_friendly //During mode conversion only these are in the running var/continuous_sanity_checked //Catches some cases where config options could be used to suggest that modes without antagonists should end when all antagonists die diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 89c5e56b71..f6655acfc4 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -474,8 +474,6 @@ flesh_number = unattached_flesh.len -#define CRYOMOBS 'icons/obj/cryo_mobs.dmi' - /obj/machinery/clonepod/update_icon() cut_overlays() diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm index 67407d220e..75e4a866f0 100644 --- a/code/game/machinery/computer/telecrystalconsoles.dm +++ b/code/game/machinery/computer/telecrystalconsoles.dm @@ -148,7 +148,6 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E virgin = 0 /obj/machinery/computer/telecrystals/boss/proc/getDangerous()//This scales the TC assigned with the round population. - ..() var/list/nukeops = get_antag_minds(/datum/antagonist/nukeop) var/danger = GLOB.joined_player_list.len - nukeops.len danger = CEILING(danger, 10) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 4d252f1a46..3ff515f4f5 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -307,7 +307,6 @@ //Handle Borg stuff first if(iscyborg(mob_occupant)) var/mob/living/silicon/robot/R = mob_occupant - if(!istype(R)) return ..() R.contents -= R.mmi qdel(R.mmi) diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm index f0d20afbbd..59a5c50bf6 100644 --- a/code/game/objects/items/body_egg.dm +++ b/code/game/objects/items/body_egg.dm @@ -14,7 +14,7 @@ src.Insert(loc) return ..() -/obj/item/organ/body_egg/Insert(var/mob/living/carbon/M, special = 0) +/obj/item/organ/body_egg/Insert(var/mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() ADD_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC) owner.med_hud_set_status() diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 3885a1f4d9..8be18a5f61 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -697,7 +697,7 @@ Code: if(href_list["mule"]) //MULEbots are special snowflakes, and need different args due to how they work. - active_bot.bot_control(command= href_list["mule"], user= usr, pda= 1) + active_bot.bot_control(href_list["mule"], usr, TRUE) if(!host_pda) return @@ -772,4 +772,4 @@ Code: return "" //This is called for special abilities of cartridges -/obj/item/cartridge/proc/special(mov/living/user, list/params) +/obj/item/cartridge/proc/special(mob/living/user, list/params) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 5ad5b41e95..d6737b94e9 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -651,7 +651,7 @@ SLIME SCANNER /proc/atmosanalyzer_scan(mixture, mob/living/user, atom/target = src) var/icon = target - user.visible_message("[user] has used the analyzer on [icon2html(icon, viewers(src))] [target].", "You use the analyzer on [icon2html(icon, user)] [target].") + user.visible_message("[user] has used the analyzer on [icon2html(icon, viewers(user))] [target].", "You use the analyzer on [icon2html(icon, user)] [target].") to_chat(user, "Results of analysis of [icon2html(icon, user)] [target].") var/list/airs = islist(mixture) ? mixture : list(mixture) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 251703f907..ca7f7fe31a 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -288,7 +288,6 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) generate_rubber_toolbox_icon() icon = GLOB.rubber_toolbox_icons[icon_state] AddComponent(/datum/component/bouncy) - . = ..() /obj/item/storage/toolbox/proc/generate_rubber_toolbox_icon() var/icon/new_icon = icon(icon, icon_state) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index ee126971a7..47d9af2795 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -191,7 +191,7 @@ L.Knockdown(stunpwr) - L.adjustStaminaLoss(stunpwr*0.1, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. + L.adjustStaminaLoss(stunpwr*0.1)//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. L.apply_effect(EFFECT_STUTTER, stunforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 036f54c710..191d9b0242 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -144,5 +144,5 @@ ..() ScrapeAway() -/turf/open/floor/plating/foam/tool_act(mob/living/user, obj/tool/I, tool_type) +/turf/open/floor/plating/foam/tool_act(mob/living/user, obj/item/I, tool_type) return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 626fa7f66f..cb5b33ae08 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,7 +1,7 @@ //admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless //the procs are cause you can't put the comments in the GLOB var define -GLOBAL_PROTECT(admin_verbs_default) GLOBAL_LIST_INIT(admin_verbs_default, world.AVerbsDefault()) +GLOBAL_PROTECT(admin_verbs_default) /world/proc/AVerbsDefault() return list( /client/proc/deadmin, /*destroys our own admin datum so we can play as a regular player*/ @@ -13,8 +13,8 @@ GLOBAL_LIST_INIT(admin_verbs_default, world.AVerbsDefault()) /client/proc/toggleprayers, /client/proc/toggleadminhelpsound ) -GLOBAL_PROTECT(admin_verbs_admin) GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) +GLOBAL_PROTECT(admin_verbs_admin) /world/proc/AVerbsAdmin() return list( /client/proc/invisimin, /*allows our mob to go invisible/visible*/ @@ -78,11 +78,10 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/ /datum/admins/proc/open_borgopanel ) -GLOBAL_PROTECT(admin_verbs_ban) GLOBAL_LIST_INIT(admin_verbs_ban, list(/client/proc/unban_panel, /client/proc/DB_ban_panel, /client/proc/stickybanpanel)) -GLOBAL_PROTECT(admin_verbs_sounds) +GLOBAL_PROTECT(admin_verbs_ban) GLOBAL_LIST_INIT(admin_verbs_sounds, list(/client/proc/play_local_sound, /client/proc/play_sound, /client/proc/set_round_end_sound)) -GLOBAL_PROTECT(admin_verbs_fun) +GLOBAL_PROTECT(admin_verbs_sounds) GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/cmd_admin_dress, /client/proc/cmd_admin_gib_self, @@ -108,9 +107,9 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/admin_away, /client/proc/roll_dices //CIT CHANGE - Adds dice verb )) -GLOBAL_PROTECT(admin_verbs_spawn) +GLOBAL_PROTECT(admin_verbs_fun) GLOBAL_LIST_INIT(admin_verbs_spawn, list(/datum/admins/proc/spawn_atom, /datum/admins/proc/spawn_cargo, /datum/admins/proc/spawn_objasmob, /client/proc/respawn_character)) -GLOBAL_PROTECT(admin_verbs_server) +GLOBAL_PROTECT(admin_verbs_spawn) GLOBAL_LIST_INIT(admin_verbs_server, world.AVerbsServer()) /world/proc/AVerbsServer() return list( @@ -129,7 +128,7 @@ GLOBAL_LIST_INIT(admin_verbs_server, world.AVerbsServer()) /client/proc/adminchangemap, /client/proc/toggle_hub ) -GLOBAL_PROTECT(admin_verbs_debug) +GLOBAL_PROTECT(admin_verbs_server) GLOBAL_LIST_INIT(admin_verbs_debug, world.AVerbsDebug()) /world/proc/AVerbsDebug() return list( @@ -171,15 +170,15 @@ GLOBAL_LIST_INIT(admin_verbs_debug, world.AVerbsDebug()) /datum/admins/proc/create_or_modify_area, /client/proc/generate_wikichem_list //DO NOT PRESS UNLESS YOU WANT SUPERLAG ) -GLOBAL_PROTECT(admin_verbs_possess) +GLOBAL_PROTECT(admin_verbs_debug) GLOBAL_LIST_INIT(admin_verbs_possess, list(/proc/possess, /proc/release)) -GLOBAL_PROTECT(admin_verbs_permissions) +GLOBAL_PROTECT(admin_verbs_possess) GLOBAL_LIST_INIT(admin_verbs_permissions, list(/client/proc/edit_admin_permissions)) -GLOBAL_PROTECT(admin_verbs_poll) +GLOBAL_PROTECT(admin_verbs_permissions) GLOBAL_LIST_INIT(admin_verbs_poll, list(/client/proc/create_poll)) //verbs which can be hidden - needs work -GLOBAL_PROTECT(admin_verbs_hideable) +GLOBAL_PROTECT(admin_verbs_poll) GLOBAL_LIST_INIT(admin_verbs_hideable, list( /client/proc/set_ooc, /client/proc/reset_ooc, @@ -247,6 +246,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( /client/proc/cmd_admin_man_up, //CIT CHANGE - adds man up verb /client/proc/cmd_admin_man_up_global //CIT CHANGE - ditto )) +GLOBAL_PROTECT(admin_verbs_hideable) /client/proc/add_admin_verbs() if(holder) diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm index 72ec3da8f9..7b59e72403 100644 --- a/code/modules/admin/sql_message_system.dm +++ b/code/modules/admin/sql_message_system.dm @@ -504,7 +504,7 @@ output += ruler var/datum/browser/browser = new(usr, "Note panel", "Manage player notes", 1000, 500) var/datum/asset/notes_assets = get_asset_datum(/datum/asset/simple/notes) - notes_assets.send(src) + notes_assets.send(usr.client) browser.set_content(jointext(output, "")) browser.open() @@ -556,7 +556,7 @@ /proc/convert_notes_sql(ckey) if(!fexists(NOTESFILE)) return - + var/savefile/notesfile = new(NOTESFILE) if(!notesfile) log_game("Error: Cannot access [NOTESFILE]") diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index b19b2a91d8..072fbaa123 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -61,7 +61,7 @@ var/output = "Radio Report
" for (var/fq in SSradio.frequencies) output += "Freq: [fq]
" - var/list/datum/radio_frequency/fqs = SSradio.frequencies[fq] + var/datum/radio_frequency/fqs = SSradio.frequencies[fq] if (!fqs) output += "  ERROR
" continue diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 8559a3235e..2b8d365e15 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -19,7 +19,6 @@ //- Identify how hard it is to break into the area and where the weak points are //- Check if the area has too much empty space. If so, make it smaller and replace the rest with maintenance tunnels. -GLOBAL_PROTECT(admin_verbs_debug_mapping) GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( /client/proc/camera_view, //-errorage /client/proc/sec_camera_report, //-errorage @@ -50,6 +49,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( /client/proc/debug_z_levels, /client/proc/place_ruin )) +GLOBAL_PROTECT(admin_verbs_debug_mapping) /obj/effect/debugging/mapfix_marker name = "map fix marker" diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index a35cbbf0e4..e9a815ac38 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -73,7 +73,7 @@ clear_mind_control() ..() -/obj/item/organ/heart/gland/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/gland/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(special != 2 && uses) // Special 2 means abductor surgery Start() @@ -124,7 +124,7 @@ mind_control_uses = 1 mind_control_duration = 2400 -/obj/item/organ/heart/gland/slime/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/gland/slime/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() owner.faction |= "slime" owner.grant_language(/datum/language/slime) @@ -286,7 +286,7 @@ mind_control_uses = 2 mind_control_duration = 900 -/obj/item/organ/heart/gland/electric/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/gland/electric/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() ADD_TRAIT(owner, TRAIT_SHOCKIMMUNE, ORGAN_TRAIT) diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index df761ac183..06200073bb 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -106,7 +106,7 @@ /mob/living/carbon/true_devil/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) return 666 -/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0) +/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0) if(mind && has_bane(BANE_LIGHT)) mind.disrupt_spells(-500) return ..() //flashes don't stop devils UNLESS it's their bane. diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index f45555a6ee..f27da5f667 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -94,7 +94,7 @@ user.temporarilyRemoveItemFromInventory(src, TRUE) src.Insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E -/obj/item/organ/heart/demon/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/demon/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(M.mind) M.mind.AddSpell(new /obj/effect/proc_holder/spell/bloodcrawl(null)) diff --git a/code/modules/antagonists/traitor/IAA/internal_affairs.dm b/code/modules/antagonists/traitor/IAA/internal_affairs.dm index b05750305a..caf2f644df 100644 --- a/code/modules/antagonists/traitor/IAA/internal_affairs.dm +++ b/code/modules/antagonists/traitor/IAA/internal_affairs.dm @@ -223,8 +223,6 @@ special_role = TRAITOR_AGENT_ROLE syndicate = TRUE forge_single_objective() - else - ..() // Give them standard objectives. return /datum/antagonist/traitor/internal_affairs/forge_traitor_objectives() diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index e1d607c34b..56954f8718 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( var/unlock_text = "Hello World!" //Text shown when an ability is unlocked var/unlock_sound //Sound played when an ability is unlocked -/datum/AI_Module/proc/upgrade(mob/living/silicon/AI/AI) //Apply upgrades! +/datum/AI_Module/proc/upgrade(mob/living/silicon/ai/AI) //Apply upgrades! return /datum/AI_Module/large //Big, powerful stuff that can only be used once. @@ -397,7 +397,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage." unlock_sound = 'sound/items/rped.ogg' -/datum/AI_Module/large/upgrade_turrets/upgrade(mob/living/silicon/AI/AI) +/datum/AI_Module/large/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) turret.obj_integrity += 30 turret.lethal_projectile = /obj/item/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 7405549b3d..caa8418fc9 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -138,7 +138,7 @@ . = ..() setDir(t) -/obj/item/assembly/infra/throw_at() +/obj/item/assembly/infra/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) . = ..() olddir = dir diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index ccd13d8d4a..5d31e3eaff 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -1,5 +1,3 @@ -#define CRYOMOBS 'icons/obj/cryo_mobs.dmi' - /obj/machinery/atmospherics/components/unary/cryo_cell name = "cryo cell" icon = 'icons/obj/cryogenics.dmi' diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index a0927a2578..34905fe3c7 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -257,7 +257,7 @@ //Non-human spawners -/obj/effect/mob_spawn/AICorpse/create() //Creates a corrupted AI +/obj/effect/mob_spawn/AICorpse/create(ckey, name) //Creates a corrupted AI var/A = locate(/mob/living/silicon/ai) in loc if(A) return @@ -277,7 +277,7 @@ /obj/effect/mob_spawn/slime/equip(mob/living/simple_animal/slime/S) S.colour = mobcolour -/obj/effect/mob_spawn/human/facehugger/create() //Creates a squashed facehugger +/obj/effect/mob_spawn/human/facehugger/create(ckey, name) //Creates a squashed facehugger var/obj/item/clothing/mask/facehugger/O = new(src.loc) //variable O is a new facehugger at the location of the landmark O.name = src.name O.Die() //call the facehugger's death proc diff --git a/code/modules/bsql/core/library.dm b/code/modules/bsql/core/library.dm index 1b62cf3b6a..9b58ba314b 100644 --- a/code/modules/bsql/core/library.dm +++ b/code/modules/bsql/core/library.dm @@ -1,6 +1,6 @@ /world/proc/_BSQL_Internal_Call(func, ...) var/list/call_args = args.Copy(2) - BSQL_Debug("[.....]: [args[1]]([call_args.Join(", ")])") + BSQL_Debug("_BSQL_Internal_Call(): [args[1]]([call_args.Join(", ")])") . = call(_BSQL_Library_Path(), func)(arglist(call_args)) BSQL_Debug("Result: [. == null ? "NULL" : "\"[.]\""]") diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index e482aa00b5..f57374db7c 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -2,7 +2,7 @@ //This was originally created as a way to get adminspawned items to the station in an IC manner. It's evolved to contain a few more //features such as item removal, smiting, controllable delivery mobs, and more. -//This works by creating a supplypod (refered to as temp_pod) in a special room in the centcom map. +//This works by creating a supplypod (refered to as temp_pod) in a special room in the centcom map. //IMPORTANT: Even though we call it a supplypod for our purposes, it can take on the appearance and function of many other things: Eg. cruise missiles, boxes, or walking, living gondolas. //When the user launched the pod, items from special "bays" on the centcom map are taken and put into the supplypod @@ -33,7 +33,7 @@ var/launchCounter = 1 //Used with the "Ordered" launch mode (launchChoice = 1) to see what item is launched var/specificTarget //Do we want to target a specific mob instead of where we click? Also used for smiting var/list/orderedArea = list() //Contains an ordered list of turfs in an area (filled in the createOrderedArea() proc), read top-left to bottom-right. Used for the "ordered" launch mode (launchChoice = 1) - var/list/acceptableTurfs = list() //Contians a list of turfs (in the "bay" area on centcom) that have items that can be launched. Taken from orderedArea + var/list/turf/acceptableTurfs = list() //Contians a list of turfs (in the "bay" area on centcom) that have items that can be launched. Taken from orderedArea var/list/launchList = list() //Contains whatever is going to be put in the supplypod and fired. Taken from acceptableTurfs var/obj/effect/supplypod_selector/selector = new() //An effect used for keeping track of what item is going to be launched when in "ordered" mode (launchChoice = 1) var/obj/structure/closet/supplypod/centcompod/temp_pod //The temporary pod that is modified by this datum, then cloned. The buildObject() clone of this pod is what is launched @@ -69,7 +69,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm data["landingDelay"] = temp_pod.landingDelay //How long the pod takes to land after launching data["openingDelay"] = temp_pod.openingDelay //How long the pod takes to open after landing data["departureDelay"] = temp_pod.departureDelay //How long the pod takes to leave after opening (if bluespace=true, it deletes. if reversing=true, it flies back to centcom) - data["styleChoice"] = temp_pod.style //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the POD_STYLES list in cargo.dm defines to get the proper icon/name/desc for the pod. + data["styleChoice"] = temp_pod.style //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the POD_STYLES list in cargo.dm defines to get the proper icon/name/desc for the pod. data["effectStun"] = temp_pod.effectStun //If true, stuns anyone under the pod when it launches until it lands, forcing them to get hit by the pod. Devilish! data["effectLimb"] = temp_pod.effectLimb //If true, pops off a limb (if applicable) from anyone caught under the pod when it lands data["effectBluespace"] = temp_pod.bluespace //If true, the pod deletes (in a shower of sparks) after landing @@ -150,7 +150,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm if("launchRandom") //Pick random turfs from the supplypod bay at centcom to launch if (launchChoice == 2) launchChoice = 0 - updateSelector() + updateSelector() return launchChoice = 2 updateSelector() @@ -326,7 +326,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm temp_pod.soundVolume = 50 . = TRUE ////////////////////////////STYLE CHANGES////////////////// - //Style is a value that is used to keep track of what the pod is supposed to look like. It can be used with the POD_STYLES list (in cargo.dm defines) + //Style is a value that is used to keep track of what the pod is supposed to look like. It can be used with the POD_STYLES list (in cargo.dm defines) //as a way to get the proper icon state, name, and description of the pod. if("styleStandard") temp_pod.setStyle(STYLE_STANDARD) @@ -367,7 +367,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm if("refresh") //Refresh the Pod bay. User should press this if they spawn something new in the centcom bay. Automatically called whenever the user launches a pod refreshBay() . = TRUE - if("giveLauncher") //Enters the "Launch Mode". When the launcher is activated, temp_pod is cloned, and the result it filled and launched anywhere the user clicks (unless specificTarget is true) + if("giveLauncher") //Enters the "Launch Mode". When the launcher is activated, temp_pod is cloned, and the result it filled and launched anywhere the user clicks (unless specificTarget is true) launcherActivated = !launcherActivated updateCursor(launcherActivated) //Update the cursor of the user to a cool looking target icon . = TRUE @@ -436,7 +436,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm orderedArea = list() if (!isemptylist(A.contents)) //Go through the area passed into the proc, and figure out the top left and bottom right corners by calculating max and min values var/startX = A.contents[1].x //Create the four values (we do it off a.contents[1] so they have some sort of arbitrary initial value. They should be overwritten in a few moments) - var/endX = A.contents[1].x + var/endX = A.contents[1].x var/startY = A.contents[1].y var/endY = A.contents[1].y for (var/turf/T in A) //For each turf in the area, go through and find: @@ -453,7 +453,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm orderedArea.Add(locate(j,startY - (i - endY),1)) //After gathering the start/end x and y, go through locating each turf from top left to bottom right, like one would read a book return orderedArea //Return the filled list -/datum/centcom_podlauncher/proc/preLaunch() //Creates a list of acceptable items, +/datum/centcom_podlauncher/proc/preLaunch() //Creates a list of acceptable items, numTurfs = 0 //Counts the number of turfs that can be launched (remember, supplypods either launch all at once or one turf-worth of items at a time) acceptableTurfs = list() for (var/turf/T in orderedArea) //Go through the orderedArea list @@ -478,7 +478,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm //UpdateSelector() is here (instead if the if(1) switch block) because it also moves the selector to nullspace (to hide it) if needed /datum/centcom_podlauncher/proc/launch(turf/A) //Game time started - if (isnull(A)) + if (isnull(A)) return var/obj/structure/closet/supplypod/centcompod/toLaunch = DuplicateObject(temp_pod) //Duplicate the temp_pod (which we have been varediting or configuring with the UI) and store the result toLaunch.bay = bay //Bay is currently a nonstatic expression, so it cant go into toLaunch using DuplicateObject @@ -487,7 +487,7 @@ force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.adm for (var/atom/movable/O in launchList) DuplicateObject(O).forceMove(toLaunch) //Duplicate each atom/movable in launchList and forceMove them into the supplypod new /obj/effect/DPtarget(A, toLaunch) //Create the DPTarget, which will eventually forceMove the temp_pod to it's location - else + else for (var/atom/movable/O in launchList) //If we aren't cloning the objects, just go through the launchList O.forceMove(toLaunch) //and forceMove any atom/moveable into the supplypod new /obj/effect/DPtarget(A, toLaunch) //Then, create the DPTarget effect, which will eventually forceMove the temp_pod to it's location diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index f36ff0ce33..b507b617c3 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -39,14 +39,14 @@ set name = "Release Contents" set category = "Gondola" set desc = "Release any contents stored within your vast belly." - linked_pod.open(src, manual = TRUE) + linked_pod.open(src) /mob/living/simple_animal/pet/gondola/gondolapod/verb/check() set name = "Count Contents" set category = "Gondola" set desc = "Take a deep look inside youself, and count up what's inside" var/total = contents.len - if (total) + if (total) to_chat(src, "You detect [total] object[total > 1 ? "s" : ""] within your incredibly vast belly.") else to_chat(src, "A closer look inside yourself reveals... nothing.") diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 5442fcb932..7e466caf8a 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -410,7 +410,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) for (var/child in entries) winset(src, "[child]", "[entries[child]]") if (!ispath(child, /datum/verbs/menu)) - var/atom/verb/verbpath = child + var/procpath/verbpath = child if (copytext(verbpath.name,1,2) != "@") new child(src) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index edec4d74a6..ed8fc234c6 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2328,9 +2328,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.Digitigrade_Leg_Swap(TRUE) //let's be sure the character updates - character.update_body() - character.update_hair() - character.update_body_parts() + if(icon_updates) + character.update_body() + character.update_hair() + character.update_body_parts() /datum/preferences/proc/get_default_name(name_id) switch(name_id) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 1793bd8f4b..7e7f8b4285 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -223,7 +223,6 @@ BLIND // can't see anything if(H.w_uniform == src) H.update_suit_sensors() - ..() /obj/item/clothing/under/CtrlClick(mob/user) . = ..() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 48704d7623..52293c7042 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -672,7 +672,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( "AI [pick("rogue", "is dead")]!!") var/list/mob/living/carbon/people = list() - var/list/mob/living/carbon/person = null + var/mob/living/carbon/person = null var/datum/language/understood_language = target.get_random_understood_language() for(var/mob/living/carbon/H in view(target)) if(H == target) diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index efe7418e44..5068ce09f5 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -5,6 +5,7 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars,list( )) /proc/DuplicateObject(atom/original, perfectcopy = TRUE, sameloc = FALSE, atom/newloc = null, nerf = FALSE, holoitem=FALSE) + RETURN_TYPE(original.type) if(!original) return var/atom/O diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index c0e3beaf79..19049c8e6c 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -54,7 +54,7 @@ for(var/datum/plant_gene/trait/T in seed.genes) T.on_throw_impact(src, hit_atom) -/obj/item/grown/microwave_act(obj/machine/microwave/M) +/obj/item/grown/microwave_act(obj/machinery/microwave/M) return /obj/item/grown/on_grind() diff --git a/code/modules/integrated_electronics/core/special_pins/list_pin.dm b/code/modules/integrated_electronics/core/special_pins/list_pin.dm index 9e4731ac36..3532d68d70 100644 --- a/code/modules/integrated_electronics/core/special_pins/list_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/list_pin.dm @@ -7,7 +7,6 @@ interact(user) /datum/integrated_io/lists/proc/interact(mob/user) - . = ..() var/list/my_list = data var/t = "

[src]


" t += "List length: [my_list.len]
" diff --git a/code/modules/integrated_electronics/subtypes/atmospherics.dm b/code/modules/integrated_electronics/subtypes/atmospherics.dm index 230d1ce154..aed99fac24 100644 --- a/code/modules/integrated_electronics/subtypes/atmospherics.dm +++ b/code/modules/integrated_electronics/subtypes/atmospherics.dm @@ -2,7 +2,6 @@ #define TARGET_TO_SOURCE 1 #define PUMP_EFFICIENCY 0.6 #define TANK_FAILURE_PRESSURE (ONE_ATMOSPHERE*25) -#define PUMP_MAX_PRESSURE (ONE_ATMOSPHERE*24) #define PUMP_MAX_VOLUME 100 diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm index 1959fb55c7..d4c565c49a 100644 --- a/code/modules/integrated_electronics/subtypes/smart.dm +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -199,7 +199,6 @@ set_pin_data(IC_OUTPUT, 1, WEAKREF(null)) if(installed_brain.brainmob) installed_brain.brainmob.remote_control = null - ..() //Brain changes @@ -238,7 +237,7 @@ brainholder.do_work(6) -/mob/living/brain/canUseTopic() +/mob/living/brain/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) return check_bot_self /obj/item/integrated_circuit/smart/advanced_pathfinder/proc/hippie_xor_decrypt() @@ -329,7 +328,6 @@ installed_pai.forceMove(drop_location()) set_pin_data(IC_OUTPUT, 1, WEAKREF(null)) installed_pai.pai.remote_control = null - ..() //pAI changes @@ -371,5 +369,5 @@ paiholder.do_work(6) -/mob/living/silicon/pai/canUseTopic() - return check_bot_self \ No newline at end of file +/mob/living/silicon/pai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) + return check_bot_self diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index c42f1b9f4e..d0232fc4f0 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -171,7 +171,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs) return var/datum/ore_silo_log/entry = new(M, action, amount, noun, mats) - var/list/logs = GLOB.silo_access_logs[REF(src)] + var/list/datum/ore_silo_log/logs = GLOB.silo_access_logs[REF(src)] if(!LAZYLEN(logs)) GLOB.silo_access_logs[REF(src)] = logs = list(entry) else if(!logs[1].merge(entry)) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 4192c2235b..decf8d24eb 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -24,7 +24,7 @@ var/list/datum/brain_trauma/traumas = list() -/obj/item/organ/brain/Insert(mob/living/carbon/C, special = 0,no_id_transfer = FALSE) +/obj/item/organ/brain/Insert(mob/living/carbon/C, special = 0,no_id_transfer = FALSE, drop_if_replaced = TRUE) ..() name = "brain" diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 7b6962794a..e4e8f06cfa 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -14,7 +14,7 @@ QDEL_LIST(alien_powers) return ..() -/obj/item/organ/alien/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/alien/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() for(var/obj/effect/proc_holder/alien/P in alien_powers) M.AddAbility(P) @@ -94,7 +94,7 @@ else owner.adjustPlasma(plasma_rate * 0.1) -/obj/item/organ/alien/plasmavessel/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/alien/plasmavessel/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(isalien(M)) var/mob/living/carbon/alien/A = M @@ -117,7 +117,7 @@ var/recent_queen_death = 0 //Indicates if the queen died recently, aliens are heavily weakened while this is active. alien_powers = list(/obj/effect/proc_holder/alien/whisper) -/obj/item/organ/alien/hivenode/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/alien/hivenode/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() M.faction |= ROLE_ALIEN diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 8445f340e6..cdbc23d4d6 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -81,7 +81,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/sound/attack_sound = 'sound/weapons/punch1.ogg' var/sound/miss_sound = 'sound/weapons/punchmiss.ogg' - var/mob/living/list/ignored_by = list() // list of mobs that will ignore this species + var/list/mob/living/ignored_by = list() // list of mobs that will ignore this species //Breathing! var/obj/item/organ/lungs/mutantlungs = null var/breathid = "o2" diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 09fc26d04f..90f63467a0 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -78,7 +78,7 @@ icon_state = "brain-x-d" var/obj/effect/proc_holder/spell/targeted/shadowwalk/shadowwalk -/obj/item/organ/brain/nightmare/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/brain/nightmare/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(M.dna.species.id != "nightmare") M.set_species(/datum/species/shadow/nightmare) @@ -118,7 +118,7 @@ user.temporarilyRemoveItemFromInventory(src, TRUE) Insert(user) -/obj/item/organ/heart/nightmare/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/nightmare/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(special != HEART_SPECIAL_SHADOWIFY) blade = new/obj/item/light_eater diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1b1eb1a805..5cc0d1b2ea 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -783,7 +783,7 @@ /mob/living/silicon/ai/can_buckle() return 0 -/mob/living/silicon/ai/incapacitated() +/mob/living/silicon/ai/incapacitated(ignore_restraints, ignore_grab) if(aiRestorePowerRoutine) return TRUE return ..() diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index f757203237..112add367f 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -49,7 +49,7 @@ else padloc = "(UNKNOWN)" src.log_talk(message, LOG_SAY, tag="HOLOPAD in [padloc]") - send_speech(message, 7, T, "robot", message_language = language) + send_speech(message, 7, T, "robot", language) to_chat(src, "Holopad transmitted, [real_name] \"[message]\"") else to_chat(src, "No holopad connected.") diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 94283f82da..72f255137d 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -218,7 +218,7 @@ bot_control(action, usr) // Kill this later. . = TRUE -/mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, pda = 0) +/mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, pda = 0, turf/user_turf, list/user_access = list()) if(pda && wires.is_cut(WIRE_RX)) // MULE wireless is controlled by wires. return diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index c21166276a..f5a532d1eb 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -728,7 +728,7 @@ Difficulty: Very Hard holder_animal.mind.AddSpell(P) holder_animal.verbs -= /mob/living/verb/pulled -/obj/structure/closet/stasis/dump_contents(var/kill = 1) +/obj/structure/closet/stasis/dump_contents(override = TRUE, kill = 1) STOP_PROCESSING(SSobj, src) for(var/mob/living/L in src) REMOVE_TRAIT(L, TRAIT_MUTE, STASIS_MUTE) @@ -774,7 +774,7 @@ Difficulty: Very Hard for(var/i in user) if(istype(i, /obj/structure/closet/stasis)) var/obj/structure/closet/stasis/S = i - S.dump_contents(0) + S.dump_contents(kill=0) qdel(S) break user.gib() diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 3009a3ebfd..5f7db07190 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -100,7 +100,7 @@ /obj/item/paper/contract/infernal/suicide_act(mob/user) if(signed && (user == target.current) && istype(user, /mob/living/carbon/human/)) var/mob/living/carbon/human/H = user - H.forcesay("OH GREAT INFERNO! I DEMAND YOU COLLECT YOUR BOUNTY IMMEDIATELY!", forced = "infernal contract suicide") + H.forcesay("OH GREAT INFERNO! I DEMAND YOU COLLECT YOUR BOUNTY IMMEDIATELY!") H.visible_message("[H] holds up a contract claiming [user.p_their()] soul, then immediately catches fire. It looks like [user.p_theyre()] trying to commit suicide!") H.adjust_fire_stacks(20) H.IgniteMob() diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 5b84608fad..6f42b67750 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -221,7 +221,7 @@ new_mob =new hooman(M.loc) var/datum/preferences/A = new() //Randomize appearance for the human - A.copy_to(new_mob, icon_updates=0) + A.copy_to(new_mob, FALSE) var/mob/living/carbon/human/H = new_mob H.update_body() diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index b5bfa06786..1eb75e042b 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -114,7 +114,6 @@ recharge_counter++ /obj/machinery/chem_dispenser/proc/display_beaker() - ..() var/mutable_appearance/b_o = beaker_overlay || mutable_appearance(icon, "disp_beaker") b_o.pixel_y = -4 b_o.pixel_x = -7 diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 4d60655488..c0d453de54 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -15,7 +15,7 @@ var/setting = 1 // displayed range is 3 * setting var/max_range = 3 // displayed max range is 3 * max range -/datum/effect_system/smoke_spread/chem/smoke_machine/set_up(datum/reagents/carry, setting=1, efficiency=10, loc) +/datum/effect_system/smoke_spread/chem/smoke_machine/set_up(datum/reagents/carry, setting=1, efficiency=10, loc, silent=FALSE) amount = setting carry.copy_to(chemholder, 20) carry.remove_any(amount * 16 / efficiency) diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm index 7bede9f8be..747a10e769 100644 --- a/code/modules/spells/spell_types/area_teleport.dm +++ b/code/modules/spells/spell_types/area_teleport.dm @@ -83,6 +83,6 @@ else playsound(user.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1) if("whisper") - user.whisper("[invocation] [uppertext(chosenarea.name)]", forced = "spell") + user.whisper("[invocation] [uppertext(chosenarea.name)]") return diff --git a/code/modules/spells/spell_types/inflict_handler.dm b/code/modules/spells/spell_types/inflict_handler.dm index 25bdc7c9d2..3ccc039285 100644 --- a/code/modules/spells/spell_types/inflict_handler.dm +++ b/code/modules/spells/spell_types/inflict_handler.dm @@ -46,7 +46,7 @@ if(!amt_knockdown && amt_dam_stam) target.adjustStaminaLoss(amt_dam_stam) else - target.Knockdown(amt_knockdown, override_hardstun = amt_hardstun, amt_dam_stam) + target.Knockdown(amt_knockdown, override_hardstun = amt_hardstun, override_stamdmg = amt_dam_stam) target.Unconscious(amt_unconscious) target.Stun(amt_stun) diff --git a/code/modules/surgery/organs/appendix.dm b/code/modules/surgery/organs/appendix.dm index 1f3f2fff5b..0a4bd270a8 100644 --- a/code/modules/surgery/organs/appendix.dm +++ b/code/modules/surgery/organs/appendix.dm @@ -34,7 +34,7 @@ update_icon() ..() -/obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/appendix/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(inflamed) M.ForceContractDisease(new /datum/disease/appendicitis(), FALSE, TRUE) diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 8af52abc47..81627104e8 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -128,7 +128,7 @@ var/on = FALSE var/datum/effect_system/trail_follow/ion/ion_trail -/obj/item/organ/cyberimp/chest/thrusters/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/cyberimp/chest/thrusters/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) . = ..() if(!ion_trail) ion_trail = new diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 82fbf932e9..a9830f36df 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -135,7 +135,7 @@ obj/item/organ/heart/slime else last_pump = world.time //lets be extra fair *sigh* -/obj/item/organ/heart/cursed/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/heart/cursed/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(owner) to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!") diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index a9e2b331bb..6b435f282f 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -62,7 +62,7 @@ to_chat(owner, "Your tongue is really starting to hurt.") -/obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() if(say_mod && M.dna && M.dna.species) M.dna.species.say_mod = say_mod diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index a555010567..72925b854e 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -140,7 +140,7 @@ user.say(message, spans = span_list, sanitize = FALSE) message = lowertext(message) - var/mob/living/list/listeners = list() + var/list/mob/living/listeners = list() for(var/mob/living/L in get_hearers_in_view(8, user)) if(L.can_hear() && !L.anti_magic_check(FALSE, TRUE) && L.stat != DEAD) if(L == user && !include_speaker) @@ -663,7 +663,7 @@ //FIND THRALLS message = lowertext(message) - var/mob/living/list/listeners = list() + var/list/mob/living/listeners = list() for(var/mob/living/L in get_hearers_in_view(8, user)) if(L.can_hear() && !L.anti_magic_check(FALSE, TRUE) && L.stat != DEAD) if(L.has_status_effect(/datum/status_effect/chem/enthrall))//Check to see if they have the status diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 329cc127ab..ccadca56e5 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -23,7 +23,7 @@ GLOB.zombie_infection_list -= src . = ..() -/obj/item/organ/zombie_infection/Insert(var/mob/living/carbon/M, special = 0) +/obj/item/organ/zombie_infection/Insert(var/mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) . = ..() START_PROCESSING(SSobj, src) diff --git a/interface/menu.dm b/interface/menu.dm index eca97d669d..547c2edfc1 100644 --- a/interface/menu.dm +++ b/interface/menu.dm @@ -65,10 +65,10 @@ GLOBAL_LIST_EMPTY(menulist) /datum/verbs/menu/Icon/Load_checked(client/C) //So we can be lazy, we invoke the "checked" menu item on menu load. - var/atom/verb/verbpath = Get_checked(C) + var/procpath/verbpath = Get_checked(C) if (!verbpath || !(verbpath in typesof("[type]/verb"))) return - + if (copytext(verbpath.name,1,2) == "@") winset(C, null, list2params(list("command" = copytext(verbpath.name,2)))) else diff --git a/modular_citadel/code/game/gamemodes/gangs/gangtool.dm b/modular_citadel/code/game/gamemodes/gangs/gangtool.dm index 9e828a7042..e99455bcd5 100644 --- a/modular_citadel/code/game/gamemodes/gangs/gangtool.dm +++ b/modular_citadel/code/game/gamemodes/gangs/gangtool.dm @@ -130,7 +130,7 @@ /obj/item/device/gangtool/proc/ping_gang(mob/user) if(!can_use(user)) return - var/message = stripped_input(user,"Discreetly send a gang-wide message.","Send Message") as null|text + var/message = stripped_input(user,"Discreetly send a gang-wide message.","Send Message") if(!message || !can_use(user)) return if(!is_station_level(user.z)) diff --git a/modular_citadel/code/modules/mentor/mentor_verbs.dm b/modular_citadel/code/modules/mentor/mentor_verbs.dm index b8797e3ef9..716a484ee2 100644 --- a/modular_citadel/code/modules/mentor/mentor_verbs.dm +++ b/modular_citadel/code/modules/mentor/mentor_verbs.dm @@ -1,8 +1,8 @@ -GLOBAL_PROTECT(mentor_verbs) GLOBAL_LIST_INIT(mentor_verbs, list( /client/proc/cmd_mentor_say, /client/proc/show_mentor_memo )) +GLOBAL_PROTECT(mentor_verbs) /client/proc/add_mentor_verbs() if(mentor_datum) diff --git a/tgstation.dme b/tgstation.dme index 9e52889df7..fccf801c7e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -76,6 +76,7 @@ #include "code\__DEFINES\pinpointers.dm" #include "code\__DEFINES\pipe_construction.dm" #include "code\__DEFINES\preferences.dm" +#include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\profile.dm" #include "code\__DEFINES\qdel.dm" #include "code\__DEFINES\radiation.dm" @@ -92,6 +93,7 @@ #include "code\__DEFINES\shuttles.dm" #include "code\__DEFINES\sight.dm" #include "code\__DEFINES\sound.dm" +#include "code\__DEFINES\spaceman_dmm.dm" #include "code\__DEFINES\stat.dm" #include "code\__DEFINES\stat_tracking.dm" #include "code\__DEFINES\status_effects.dm"