diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 62a2500603b..722ad8975da 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1386,6 +1386,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /mob/dview/New() //For whatever reason, if this isn't called, then BYOND will throw a type mismatch runtime when attempting to add this to the mobs list. -Fox SHOULD_CALL_PARENT(FALSE) + return /mob/dview/Destroy() SHOULD_CALL_PARENT(FALSE) diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index bc8a6879ecc..5e44bf77cab 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -2,17 +2,22 @@ var/name /datum/controller/proc/Initialize() + return //cleanup actions /datum/controller/proc/Shutdown() + return //when we enter dmm_suite.load_map /datum/controller/proc/StartLoadingMap() + return //when we exit dmm_suite.load_map /datum/controller/proc/StopLoadingMap() + return /datum/controller/proc/Recover() + return /datum/controller/proc/stat_entry(msg) SHOULD_CALL_PARENT(TRUE) diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index 3c1ba0b0c5d..e69962965c5 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -323,6 +323,7 @@ //usually called via datum/controller/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) //should attempt to salvage what it can from the old instance of subsystem /datum/controller/subsystem/Recover() + return /datum/controller/subsystem/vv_edit_var(var_name, var_value) switch(var_name) diff --git a/code/datums/ai_laws_datums.dm b/code/datums/ai_laws_datums.dm index 3eb3a4fd5ad..c844b72657d 100644 --- a/code/datums/ai_laws_datums.dm +++ b/code/datums/ai_laws_datums.dm @@ -182,6 +182,7 @@ law.delete_law(src) /datum/ai_law/proc/delete_law(datum/ai_laws/laws) + return /datum/ai_law/zero/delete_law(datum/ai_laws/laws) laws.clear_zeroth_laws() @@ -245,6 +246,7 @@ return law.get_state_law(src) /datum/ai_law/proc/get_state_law(datum/ai_laws/laws) + return /datum/ai_law/zero/get_state_law(datum/ai_laws/laws) if(src == laws.zeroth_law) @@ -271,7 +273,8 @@ /datum/ai_laws/proc/set_state_law(datum/ai_law/law, state) law.set_state_law(src, state) -/datum/ai_law/proc/set_state_law(datum/ai_law/law, state) +/datum/ai_law/proc/set_state_law(datum/ai_laws/laws, state) + return /datum/ai_law/zero/set_state_law(datum/ai_laws/laws, state) if(src == laws.zeroth_law) diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm index 65017ada48b..92d46237964 100644 --- a/code/datums/status_effects/status_effect.dm +++ b/code/datums/status_effects/status_effect.dm @@ -60,9 +60,16 @@ /datum/status_effect/proc/on_apply() //Called whenever the buff is applied; returning FALSE will cause it to autoremove itself. return TRUE + /datum/status_effect/proc/tick() //Called every tick. + return + /datum/status_effect/proc/on_remove() //Called whenever the buff expires or is removed; do note that at the point this is called, it is out of the owner's status_effects but owner is not yet null + return + /datum/status_effect/proc/on_timeout() // Called specifically whenever the status effect expires. + return + /datum/status_effect/proc/be_replaced() //Called instead of on_remove when a status effect is replaced by itself or when a status effect with on_remove_on_mob_delete = FALSE has its mob deleted owner.clear_alert(id) LAZYREMOVE(owner.status_effects, src) @@ -182,12 +189,16 @@ var/reset_ticks_on_stack = FALSE //resets the current tick timer if a stack is gained /datum/status_effect/stacking/proc/threshold_cross_effect() //what happens when threshold is crossed + return /datum/status_effect/stacking/proc/stacks_consumed_effect() //runs if status is deleted due to threshold being crossed + return /datum/status_effect/stacking/proc/fadeout_effect() //runs if status is deleted due to being under one stack + return /datum/status_effect/stacking/proc/stack_decay_effect() //runs every time tick() causes stacks to decay + return /datum/status_effect/stacking/proc/on_threshold_cross() threshold_cross_effect() @@ -196,6 +207,7 @@ qdel(src) /datum/status_effect/stacking/proc/on_threshold_drop() + return /datum/status_effect/stacking/proc/can_have_status() return owner.stat != DEAD diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 705a4c0be29..305d5f1d379 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -77,6 +77,7 @@ /datum/job/proc/announce(mob/living/carbon/human/H) + return /datum/job/proc/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE) if(!H) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 54ca83df732..7b8b9d83519 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -344,6 +344,7 @@ qdel(src) /obj/item/bombcore/proc/defuse() + return //Note: Because of how var/defused is used you shouldn't override this UNLESS you intend to set the var to 0 or // otherwise remove the core/reset the wires before the end of defuse(). It will repeatedly be called otherwise. diff --git a/code/game/objects/!objs.dm b/code/game/objects/!objs.dm index 5947d66a801..e4e4745c4d2 100644 --- a/code/game/objects/!objs.dm +++ b/code/game/objects/!objs.dm @@ -80,7 +80,7 @@ host.add_fingerprint(user) /obj/proc/CouldNotUseTopic(mob/user) - // Nada + return /obj/Destroy() if(!ismachinery(src)) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 14a3daf131d..490ee42151d 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -13,9 +13,6 @@ var/change_voice = FALSE var/list/channels = list() - -/obj/item/encryptionkey/attackby(obj/item/W as obj, mob/user as mob, params) - /obj/item/encryptionkey/syndicate name = "syndicate encryption key" icon_state = "syn_cypherkey" diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 244d9cd9555..a1b8c5ea69f 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -104,6 +104,7 @@ AI MODULES log_and_message_admins("used [src.name] on [target.name]([target.key])") /obj/item/aiModule/proc/addAdditionalLaws(mob/living/silicon/ai/target, mob/sender) + return /******************** Safeguard ********************/ diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index bbb2eac75f4..37350f866cc 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -82,6 +82,7 @@ /obj/item/grenade/proc/prime() + return /obj/item/grenade/proc/update_mob() if(ismob(loc)) diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 503f92cafc2..f085fafaae1 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -82,8 +82,10 @@ return /obj/item/storage/lockbox/hear_talk(mob/living/M as mob, list/message_pieces) + return /obj/item/storage/lockbox/hear_message(mob/living/M as mob, msg) + return /obj/item/storage/lockbox/mindshield name = "Lockbox (Mindshield Implants)" diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 32ad5312a51..8ff12079448 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -142,5 +142,6 @@ QUEUE_SMOOTH_NEIGHBORS(src) /turf/simulated/proc/is_shielded() + return #undef WATER_WEAKEN_TIME diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm index fa4a608c1e1..b0e22bc8874 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm @@ -44,3 +44,4 @@ return connected_device.portableConnectorReturnAir() /obj/proc/portableConnectorReturnAir() + return diff --git a/code/modules/holiday/holiday.dm b/code/modules/holiday/holiday.dm index 628b1f01828..0f712f6b1e8 100644 --- a/code/modules/holiday/holiday.dm +++ b/code/modules/holiday/holiday.dm @@ -10,6 +10,7 @@ // This proc gets run before the game starts when the holiday is activated. Do festive shit here. /datum/holiday/proc/celebrate() + return // When the round starts, this proc is ran to get a text message to display to everyone to wish them a happy holiday /datum/holiday/proc/greet() diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index c77dab0c9fa..dc43a12ccca 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -269,12 +269,16 @@ return ..() /obj/item/crusher_trophy/proc/on_melee_hit(mob/living/target, mob/living/user) //the target and the user + return /obj/item/crusher_trophy/proc/on_projectile_fire(obj/item/projectile/destabilizer/marker, mob/living/user) //the projectile fired and the user + return /obj/item/crusher_trophy/proc/on_mark_application(mob/living/target, datum/status_effect/crusher_mark/mark, had_mark) //the target, the mark applied, and if the target had a mark before + return /obj/item/crusher_trophy/proc/on_mark_detonation(mob/living/target, mob/living/user) //the target and the user + return //goliath /obj/item/crusher_trophy/goliath_tentacle diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 151706fe030..4fc6391cee5 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -393,6 +393,7 @@ /mob/proc/get_contents() + return //Recursive function to find everything a mob is holding. @@ -846,6 +847,7 @@ return 0 /mob/living/proc/check_ear_prot() + return /** * Returns the name override, if any, for the slot somebody is trying to strip diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index 05f9705640f..0d8bed91960 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -796,9 +796,6 @@ if(DEAD) return "dead" -/mob/proc/attempt_listen_to_deadsay() - - /mob/proc/is_roundstart_observer() return (ckey in GLOB.roundstart_observer_keys) diff --git a/code/modules/pda/messenger_plugins.dm b/code/modules/pda/messenger_plugins.dm index 74b1aabdb57..74f4f3a51ca 100644 --- a/code/modules/pda/messenger_plugins.dm +++ b/code/modules/pda/messenger_plugins.dm @@ -2,6 +2,7 @@ var/datum/data/pda/app/messenger/messenger /datum/data/pda/messenger_plugin/proc/user_act(mob/user as mob, obj/item/pda/P) + return /datum/data/pda/messenger_plugin/virus diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 5562950fb09..607f01ab514 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -332,13 +332,19 @@ return ..() /obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K) + return //use this one for effects you want to trigger before any damage is done at all and before damage is decreased by pressure /obj/item/borg/upgrade/modkit/proc/projectile_prehit(obj/item/projectile/kinetic/K, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) + return + //use this one for effects you want to trigger before mods that do damage /obj/item/borg/upgrade/modkit/proc/projectile_strike_predamage(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) + return + //and this one for things that don't need to trigger before other damage-dealing mods /obj/item/borg/upgrade/modkit/proc/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target, obj/item/gun/energy/kinetic_accelerator/KA) + return //Range /obj/item/borg/upgrade/modkit/range diff --git a/code/modules/redis/callbacks/server_messages_callback.dm b/code/modules/redis/callbacks/server_messages_callback.dm index ea263a223f0..59a28536938 100644 --- a/code/modules/redis/callbacks/server_messages_callback.dm +++ b/code/modules/redis/callbacks/server_messages_callback.dm @@ -8,3 +8,4 @@ // And fire SSinstancing.execute_command(data["src"], data["cmd"], data["args"]) #endif + return // we need this so that the proc isnt empty when on non-multi-instance diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm index a1c03c154a4..53937b57bb6 100644 --- a/code/modules/tgui/external.dm +++ b/code/modules/tgui/external.dm @@ -149,6 +149,7 @@ * client/verb/uiclose(), which closes the ui window */ /datum/proc/ui_close(mob/user) + return /** * verb diff --git a/tools/ci/lints.dm b/tools/ci/lints.dm index 39c14e1bbc9..8f7bdc1f68d 100644 --- a/tools/ci/lints.dm +++ b/tools/ci/lints.dm @@ -16,12 +16,19 @@ #pragma PointlessParentCall error #pragma PointlessBuiltinCall error #pragma SuspiciousMatrixCall error +#pragma FallbackBuiltinArgument error +#pragma PointlessScopeOperator error #pragma MalformedRange error #pragma InvalidRange error #pragma InvalidSetStatement error #pragma InvalidOverride error #pragma DanglingVarType error #pragma MissingInterpolatedExpression error +#pragma AmbiguousResourcePath error +#pragma SuspiciousSwitchCase error //3000-3999 #pragma EmptyBlock error +#pragma EmptyProc error +#pragma UnsafeClientAccess disabled +#pragma AssignmentInConditional error