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 01/15] 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" From e50c56150e3afc1b678ea47f5193a2788fa7ee86 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 11 Nov 2019 23:10:22 +0100 Subject: [PATCH 02/15] ports "Adds superlube to the clown ruin" and buffs clown PDAs --- .../lavaland_biodome_clown_planet.dmm | 100 +++++++++--------- code/__DEFINES/misc.dm | 11 +- code/__DEFINES/mobs.dm | 2 + code/datums/components/wet_floor.dm | 5 +- .../objects/items/devices/PDA/PDA_types.dm | 2 +- code/game/turfs/open.dm | 13 +-- 6 files changed, 70 insertions(+), 63 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm index 9b7ca819cc..226098bfa1 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm @@ -49,7 +49,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "as" = ( @@ -70,7 +70,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "at" = ( @@ -89,7 +89,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "au" = ( @@ -129,7 +129,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "ay" = ( @@ -149,7 +149,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "az" = ( @@ -170,7 +170,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aA" = ( @@ -190,7 +190,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aB" = ( @@ -209,7 +209,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aC" = ( @@ -225,7 +225,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aD" = ( @@ -242,7 +242,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aE" = ( @@ -261,7 +261,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aF" = ( @@ -282,7 +282,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aG" = ( @@ -301,7 +301,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aH" = ( @@ -321,7 +321,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aI" = ( @@ -341,7 +341,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aJ" = ( @@ -368,7 +368,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aL" = ( @@ -394,7 +394,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aO" = ( @@ -415,7 +415,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aP" = ( @@ -448,7 +448,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aU" = ( @@ -472,7 +472,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aW" = ( @@ -493,7 +493,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aX" = ( @@ -522,7 +522,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "aZ" = ( @@ -542,7 +542,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "ba" = ( @@ -559,7 +559,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bb" = ( @@ -588,7 +588,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bd" = ( @@ -631,7 +631,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bg" = ( @@ -732,7 +732,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bt" = ( @@ -758,7 +758,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bx" = ( @@ -775,7 +775,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "by" = ( @@ -792,7 +792,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bz" = ( @@ -817,7 +817,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bB" = ( @@ -825,7 +825,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bC" = ( @@ -846,7 +846,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bD" = ( @@ -872,7 +872,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bH" = ( @@ -881,7 +881,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bI" = ( @@ -899,7 +899,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bK" = ( @@ -918,7 +918,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bL" = ( @@ -942,7 +942,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bP" = ( @@ -989,7 +989,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bY" = ( @@ -999,7 +999,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "bZ" = ( @@ -1008,7 +1008,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "ca" = ( @@ -1018,7 +1018,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "cc" = ( @@ -1052,7 +1052,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dC" = ( @@ -1075,7 +1075,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dD" = ( @@ -1097,7 +1097,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dE" = ( @@ -1120,7 +1120,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dF" = ( @@ -1175,7 +1175,7 @@ }, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dK" = ( @@ -1202,7 +1202,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "dO" = ( @@ -1211,7 +1211,7 @@ icon_state = "bananium"; name = "bananium floor"; sound = 'sound/effects/clownstep1.ogg'; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "eX" = ( @@ -1260,7 +1260,7 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/indestructible{ icon_state = "darkfull"; - wet = 8 + wet = 16 }, /area/ruin/powered/clownplanet) "KX" = ( diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 4b76f41c61..a18abaaada 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -203,11 +203,12 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) #define LOCKED_SENSORS 2 //Wet floor type flags. Stronger ones should be higher in number. -#define TURF_DRY 0 -#define TURF_WET_WATER 1 -#define TURF_WET_PERMAFROST 2 -#define TURF_WET_ICE 4 -#define TURF_WET_LUBE 8 +#define TURF_DRY (0) +#define TURF_WET_WATER (1<<0) +#define TURF_WET_PERMAFROST (1<<1) +#define TURF_WET_ICE (1<<2) +#define TURF_WET_LUBE (1<<3) +#define TURF_WET_SUPERLUBE (1<<4) #define IS_WET_OPEN_TURF(O) O.GetComponent(/datum/component/wet_floor) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 5bd0ee5b3b..8d2913629a 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -201,6 +201,8 @@ #define SLIDE (1<<1) #define GALOSHES_DONT_HELP (1<<2) #define SLIDE_ICE (1<<3) +#define SLIP_WHEN_CRAWLING (1<<4) //clown planet ruin +#define SLIP_WHEN_JOGGING (1<<5) //slips prevented by walking are also dodged if the mob is not sprinting or fatigued... unless this flag is on. #define MAX_CHICKENS 50 diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 84b0320375..38b17993d8 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -88,6 +88,9 @@ if(TURF_WET_PERMAFROST) intensity = 120 lube_flags = SLIDE_ICE | GALOSHES_DONT_HELP + if(TURF_WET_SUPERLUBE) + intensity = 120 + lube_flags = SLIDE | GALOSHES_DONT_HELP | SLIP_WHEN_CRAWLING else qdel(parent.GetComponent(/datum/component/slippery)) return @@ -159,7 +162,7 @@ //NB it's possible we get deleted after this, due to inherit /datum/component/wet_floor/proc/add_wet(type, duration_minimum = 0, duration_add = 0, duration_maximum = MAXIMUM_WET_TIME, _permanent = FALSE) - var/static/list/allowed_types = list(TURF_WET_WATER, TURF_WET_LUBE, TURF_WET_ICE, TURF_WET_PERMAFROST) + var/static/list/allowed_types = list(TURF_WET_WATER, TURF_WET_LUBE, TURF_WET_ICE, TURF_WET_PERMAFROST, TURF_WET_SUPERLUBE) if(duration_minimum <= 0 || !type) return FALSE if(type in allowed_types) diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 54b82d8e07..2da47d481e 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -10,7 +10,7 @@ /obj/item/pda/clown/Initialize() . = ..() - AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, .proc/AfterSlip)) + AddComponent(/datum/component/slippery, 120, NO_SLIP_WHEN_WALKING|SLIP_WHEN_JOGGING, CALLBACK(src, .proc/AfterSlip)) /obj/item/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) if (istype(M) && (M.real_name != owner)) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index bd24e0ff93..f992e27e9a 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -267,14 +267,15 @@ if(!(lube&GALOSHES_DONT_HELP)) //can't slip while buckled unless it's lube. return 0 else - if(C.lying || !(C.status_flags & CANKNOCKDOWN)) // can't slip unbuckled mob if they're lying or can't fall. + if((lube&SLIP_WHEN_CRAWLING) && (!(C.lying || !(C.status_flags & CANKNOCKDOWN))) // can't slip unbuckled mob if they're lying or can't fall. return 0 - if(C.m_intent == MOVE_INTENT_WALK && (lube&NO_SLIP_WHEN_WALKING)) - return 0 - if(ishuman(C) && (lube&NO_SLIP_WHEN_WALKING)) - var/mob/living/carbon/human/H = C - if(!H.sprinting && H.getStaminaLoss() <= 20) + if(lube & NO_SLIP_WHEN_WALKING) + if(C.m_intent == MOVE_INTENT_WALK) return 0 + if(ishuman(C) && !(lube & SLIP_WHEN_JOGGING)) + var/mob/living/carbon/human/H = C + if(!H.sprinting && H.getStaminaLoss() <= 20) + return 0 if(!(lube&SLIDE_ICE)) to_chat(C, "You slipped[ O ? " on the [O.name]" : ""]!") playsound(C.loc, 'sound/misc/slip.ogg', 50, 1, -3) From 19a511929d7e610ae496eb547f390622fd95247e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 11 Nov 2019 23:39:03 +0100 Subject: [PATCH 03/15] and "Replaces the slime extract in the clown biodome with a superlube sprayer." --- .../lavaland_biodome_clown_planet.dmm | 2 +- code/game/turfs/open.dm | 2 +- .../chemistry/reagents/other_reagents.dm | 9 ++++++++- icons/obj/chemical.dmi | Bin 53744 -> 54207 bytes 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm index 226098bfa1..639d63772c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm @@ -970,8 +970,8 @@ /turf/open/floor/carpet, /area/ruin/powered/clownplanet) "bT" = ( -/obj/item/slime_extract/rainbow, /obj/structure/table/glass, +/obj/item/reagent_containers/spray/waterflower/superlube, /turf/open/floor/carpet, /area/ruin/powered/clownplanet) "bU" = ( diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index f992e27e9a..96c43c4106 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -267,7 +267,7 @@ if(!(lube&GALOSHES_DONT_HELP)) //can't slip while buckled unless it's lube. return 0 else - if((lube&SLIP_WHEN_CRAWLING) && (!(C.lying || !(C.status_flags & CANKNOCKDOWN))) // can't slip unbuckled mob if they're lying or can't fall. + if(!(lube&SLIP_WHEN_CRAWLING) && (C.lying || !(C.status_flags & CANKNOCKDOWN))) // can't slip unbuckled mob if they're lying or can't fall. return 0 if(lube & NO_SLIP_WHEN_WALKING) if(C.m_intent == MOVE_INTENT_WALK) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index af6a65ebe1..ecd200f639 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -503,12 +503,19 @@ description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." color = "#009CA8" // rgb: 0, 156, 168 taste_description = "cherry" // by popular demand + var/lube_kind = TURF_WET_LUBE ///What kind of slipperiness gets added to turfs. /datum/reagent/lube/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) return if(reac_volume >= 1) - T.MakeSlippery(TURF_WET_LUBE, 15 SECONDS, min(reac_volume * 2 SECONDS, 120)) + T.MakeSlippery(lube_kind, 15 SECONDS, min(reac_volume * 2 SECONDS, 120)) + +///Stronger kind of lube. Applies TURF_WET_SUPERLUBE. +/datum/reagent/lube/superlube + name = "Super Duper Lube" + description = "This \[REDACTED\] has been outlawed after the incident on \[DATA EXPUNGED\]." + lube_kind = TURF_WET_SUPERLUBE /datum/reagent/spraytan name = "Spray Tan" diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 89acf0645e74a75c1628735182668903ff5b0628..701c3a2467e2a494bae61cd4a54851852f2a0e86 100644 GIT binary patch delta 15170 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 Date: Tue, 12 Nov 2019 00:47:36 +0100 Subject: [PATCH 04/15] The actual waterflower, am I funny yet? --- code/modules/reagents/reagent_containers/spray.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 424d7b9ed0..b3f9ef8202 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -223,6 +223,15 @@ /obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays return +///Subtype used for the lavaland clown ruin. +/obj/item/reagent_containers/spray/waterflower/superlube + name = "clown flower" + desc = "A delightly devilish flower... you got a feeling where this is going." + icon = 'icons/obj/chemical.dmi' + icon_state = "clownflower" + volume = 30 + list_reagents = list(/datum/reagent/lube/superlube = 30) + /obj/item/reagent_containers/spray/waterflower/cyborg reagent_flags = NONE volume = 100 From c784cab060d33a5d7dda35368046d531ac3c8c86 Mon Sep 17 00:00:00 2001 From: Persi Date: Tue, 12 Nov 2019 05:37:30 -0500 Subject: [PATCH 05/15] Corrects the descriptions of meth and ephedrine to reflect that their movespeed buffs were previously removed. --- code/modules/reagents/chemistry/reagents/drug_reagents.dm | 2 +- code/modules/reagents/chemistry/reagents/medicine_reagents.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 15d517a0f5..5b6c798daf 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -162,7 +162,7 @@ /datum/reagent/drug/methamphetamine name = "Methamphetamine" id = "methamphetamine" - description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, laugh randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will constantly jitter and drool, before becoming dizzy and losing motor control and eventually suffer heavy toxin damage." + description = "Reduces stun times by about 300%, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, laugh randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will constantly jitter and drool, before becoming dizzy and losing motor control and eventually suffer heavy toxin damage." reagent_state = LIQUID color = "#FAFAFA" overdose_threshold = 20 diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 592f7bc592..005cf4268f 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -629,7 +629,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) /datum/reagent/medicine/ephedrine name = "Ephedrine" id = "ephedrine" - description = "Increases stun resistance and movement speed. Overdose deals toxin damage and inhibits breathing." + description = "Increases stun resistance. Overdose deals toxin damage and inhibits breathing." reagent_state = LIQUID color = "#D2FFFA" metabolization_rate = 0.5 * REAGENTS_METABOLISM From f0930249676136a63f8105f44521b4accf9f8a27 Mon Sep 17 00:00:00 2001 From: kappa-sama Date: Tue, 12 Nov 2019 17:04:36 -0500 Subject: [PATCH 06/15] better guns --- .../projectiles/guns/ballistic/revolver.dm | 1 + icons/obj/guns/projectile.dmi | Bin 35860 -> 36449 bytes 2 files changed, 1 insertion(+) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index a5fb8a85aa..25a50f3e03 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -167,6 +167,7 @@ /obj/item/gun/ballistic/revolver/russian name = "\improper Russian revolver" desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism requiring you to spin the chamber before each trigger pull." + icon_state = "russianrevolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 var/spun = FALSE diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 6b2d9e5c0619ff730357bb7fa76c598e3efd98cd..e4d8460417f4f19ca6622075f06ff932116a70c0 100644 GIT binary patch literal 36449 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 z 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 From 1aa1d91b6153e119ec1bd8284ff30938d2f68841 Mon Sep 17 00:00:00 2001 From: kappa-sama Date: Tue, 12 Nov 2019 17:15:45 -0500 Subject: [PATCH 07/15] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 280740688e..16a5346503 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -302,7 +302,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/revolver name = "Syndicate Revolver" desc = "A brutally simple syndicate revolver that fires .357 Magnum rounds and has 7 chambers." - item = /obj/item/gun/ballistic/revolver/syndie + item = /obj/item/gun/ballistic/revolver cost = 13 surplus = 50 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) From c9c7d3e64e90c89a48890946c5a47b8173510dd5 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 13 Nov 2019 16:46:13 -0500 Subject: [PATCH 08/15] begone --- .../modules/projectiles/guns/ballistic/revolver.dm | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 modular_citadel/code/modules/projectiles/guns/ballistic/revolver.dm diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/revolver.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/revolver.dm deleted file mode 100644 index 6fa18be0e7..0000000000 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/revolver.dm +++ /dev/null @@ -1,11 +0,0 @@ -/* -// REVOLVER THINGS GO HERE -*/ - -/obj/item/gun/ballistic/revolver //regular, classic sprite - name = "\improper .357 revolver" - desc = "A typical revolver. Uses .357 ammo." - -/obj/item/gun/ballistic/revolver/syndie //New and improved 100% syndicate technology! - desc = "A suspicious revolver. Uses .357 ammo." - icon = 'modular_citadel/icons/obj/guns/revolver.dmi' \ No newline at end of file From 26281fbc572674e25db29d59c5a7f85861533838 Mon Sep 17 00:00:00 2001 From: kappa-sama Date: Wed, 13 Nov 2019 16:56:23 -0500 Subject: [PATCH 09/15] bye bye modcit --- icons/obj/guns/projectile.dmi | Bin 36449 -> 37418 bytes modular_citadel/icons/obj/guns/revolver.dmi | Bin 418 -> 0 bytes tgstation.dme | 1 - 3 files changed, 1 deletion(-) delete mode 100644 modular_citadel/icons/obj/guns/revolver.dmi diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index e4d8460417f4f19ca6622075f06ff932116a70c0..6d5365f7fa8d84d875c66754693d471d0c0dcc02 100644 GIT binary patch literal 37418 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 literal 36449 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 M07*qoM6N<$g1D8Q#sB~S diff --git a/tgstation.dme b/tgstation.dme index 9e52889df7..4f3551a098 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3116,7 +3116,6 @@ #include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon_energy.dm" -#include "modular_citadel\code\modules\projectiles\guns\ballistic\revolver.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\rifles.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm" #include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm" From 17d8998fef74b7190433e859765b50db53e87012 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 13 Nov 2019 16:58:51 -0500 Subject: [PATCH 10/15] emergent gameplay --- code/controllers/subsystem/traumas.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index ee1f5b8c3d..a525eea0b2 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -166,7 +166,7 @@ SUBSYSTEM_DEF(traumas) "syndicate" = typecacheof(list(/obj/item/stack/tile/mineral/plastitanium, /obj/machinery/computer/shuttle/syndicate, /obj/machinery/computer/shuttle/syndicate/recall, /obj/machinery/computer/shuttle/syndicate/drop_pod, /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate, /obj/machinery/recharge_station, /obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate, - /obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver/syndie, + /obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow, /obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate, From 6ad9c7fef0818b4b01fba81df017ca39a51f5d41 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Wed, 13 Nov 2019 17:01:30 -0500 Subject: [PATCH 11/15] no shotgun i guess shit guess i gotta add this to traumas too --- code/modules/cargo/exports/weapons.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index 97dd9c10aa..1904be4f53 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -211,7 +211,8 @@ /datum/export/weapon/revolver cost = 200 unit_name = "large handgun" - export_types = list(/obj/item/gun/ballistic/revolver/syndie) + export_types = list(/obj/item/gun/ballistic/revolver) + exclude_types = list(/obj/item/gun/ballistic/revolver/russian, /obj/item/gun/ballistic/revolver/doublebarrel) /datum/export/weapon/rocketlauncher cost = 1000 @@ -353,4 +354,4 @@ cost = 30 unit_name = "unlisted weapon" export_types = list(/obj/item/gun) - include_subtypes = TRUE \ No newline at end of file + include_subtypes = TRUE From af9c6279bc7cc47fc29f6c13ef1f4c0fe8409895 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Thu, 14 Nov 2019 19:03:34 +1300 Subject: [PATCH 12/15] Fucking locker ghosts --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 9e52889df7..1e1374c892 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1744,7 +1744,6 @@ #include "code\modules\holiday\easter.dm" #include "code\modules\holiday\holidays.dm" #include "code\modules\holiday\halloween\bartholomew.dm" -#include "code\modules\holiday\halloween\halloween.dm" #include "code\modules\holiday\halloween\jacqueen.dm" #include "code\modules\holodeck\area_copy.dm" #include "code\modules\holodeck\computer.dm" From 3e4d6cb30cfc94f7069096ef3f9df8bc0899b638 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 14 Nov 2019 02:37:44 -0600 Subject: [PATCH 13/15] Automatic changelog generation for PR #9764 [ci skip] --- html/changelogs/AutoChangeLog-pr-9764.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9764.yml diff --git a/html/changelogs/AutoChangeLog-pr-9764.yml b/html/changelogs/AutoChangeLog-pr-9764.yml new file mode 100644 index 0000000000..a3ad009e81 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9764.yml @@ -0,0 +1,4 @@ +author: "AffectedArc07" +delete-after: True +changes: + - code_imp: "Fixes a LOT of code edge cases" From 106753c0695e92feb0361f6f051a2006cdb86752 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 14 Nov 2019 02:39:24 -0600 Subject: [PATCH 14/15] Automatic changelog generation for PR #9791 [ci skip] --- html/changelogs/AutoChangeLog-pr-9791.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9791.yml diff --git a/html/changelogs/AutoChangeLog-pr-9791.yml b/html/changelogs/AutoChangeLog-pr-9791.yml new file mode 100644 index 0000000000..587fbce481 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9791.yml @@ -0,0 +1,4 @@ +author: "kappa-sama" +delete-after: True +changes: + - imageadd: "added TG's icons for traitor, russian, and golden revolver" From 3d8ebe42199cefd1b94376cbea9d0fd0372f310e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 14 Nov 2019 02:40:19 -0600 Subject: [PATCH 15/15] Automatic changelog generation for PR #9775 [ci skip] --- html/changelogs/AutoChangeLog-pr-9775.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9775.yml diff --git a/html/changelogs/AutoChangeLog-pr-9775.yml b/html/changelogs/AutoChangeLog-pr-9775.yml new file mode 100644 index 0000000000..07ed8efdbe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9775.yml @@ -0,0 +1,7 @@ +author: "nemvar" +delete-after: True +changes: + - tweak: "The lavaland clown ruin has some new pranks ready." + - rscadd: "Added a new loot item to the lavaland clown ruin." + - rscdel: "Removed the slime core from said ruin." + - balance: "The clown PDA now properly slips people on jogging move intent regardless of fatigue. Honkmother's will."