diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index 552664c175f..15139a39e50 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -295,7 +295,7 @@ Class Procs:
user.set_machine(src)
. = ..()
-/obj/machinery/ui_act(action, params)
+/obj/machinery/ui_act(action, list/params)
add_fingerprint(usr)
return ..()
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index f7a48d9409a..0b3f600f7c6 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -103,10 +103,10 @@
if(target && !target.stat)
O.throw_at(target, 5, 10)
-/obj/effect/anomaly/grav/Crossed(mob/A)
- gravShock(A)
+/obj/effect/anomaly/grav/Crossed(atom/movable/AM)
+ gravShock(AM)
-/obj/effect/anomaly/grav/Bump(mob/A)
+/obj/effect/anomaly/grav/Bump(atom/A)
gravShock(A)
/obj/effect/anomaly/grav/Bumped(atom/movable/AM)
@@ -149,11 +149,11 @@
for(var/mob/living/M in range(0, src))
mobShock(M)
-/obj/effect/anomaly/flux/Crossed(mob/living/M)
- mobShock(M)
+/obj/effect/anomaly/flux/Crossed(atom/movable/AM)
+ mobShock(AM)
-/obj/effect/anomaly/flux/Bump(mob/living/M)
- mobShock(M)
+/obj/effect/anomaly/flux/Bump(atom/A)
+ mobShock(A)
/obj/effect/anomaly/flux/Bumped(atom/movable/AM)
mobShock(AM)
diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm
index 92aa0f0e20b..cc2a5180797 100644
--- a/code/game/objects/effects/decals/cleanable/humans.dm
+++ b/code/game/objects/effects/decals/cleanable/humans.dm
@@ -74,8 +74,8 @@
/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target)
return
-/obj/effect/decal/cleanable/blood/gibs/Crossed(mob/living/L)
- if(istype(L) && has_gravity(loc))
+/obj/effect/decal/cleanable/blood/gibs/Crossed(atom/movable/L)
+ if(isliving(L) && has_gravity(loc))
playsound(loc, 'sound/effects/gib_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 20 : 50, TRUE)
. = ..()
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 294fcb44012..9fe652ddbe3 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -263,7 +263,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
add_fingerprint(user)
ui_interact(user)
-/obj/item/ui_act(action, params)
+/obj/item/ui_act(action, list/params)
add_fingerprint(usr)
return ..()
diff --git a/code/game/objects/items/implants/implant_stealth.dm b/code/game/objects/items/implants/implant_stealth.dm
index c390301824c..74f04c67969 100644
--- a/code/game/objects/items/implants/implant_stealth.dm
+++ b/code/game/objects/items/implants/implant_stealth.dm
@@ -35,7 +35,7 @@
alpha = 255
addtimer(CALLBACK(src, .proc/go_invisible), 10, TIMER_OVERRIDE|TIMER_UNIQUE)
-/obj/structure/closet/cardboard/agent/Bump(atom/movable/A)
+/obj/structure/closet/cardboard/agent/Bump(atom/A)
. = ..()
if(isliving(A))
reveal()
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 3e1f2d53f1b..41171ba8575 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -330,9 +330,11 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
qdel(src)
return TRUE
-/obj/item/shard/Crossed(mob/living/L)
- if(istype(L) && !(L.is_flying() || L.is_floating() || L.buckled))
- playsound(src, 'sound/effects/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE)
+/obj/item/shard/Crossed(atom/movable/AM)
+ if(isliving(AM))
+ var/mob/living/L = AM
+ if(!(L.is_flying() || L.is_floating() || L.buckled))
+ playsound(src, 'sound/effects/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE)
return ..()
/obj/item/shard/plasma
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 4d024f1ee25..832a63fac8c 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -377,9 +377,9 @@
S.add(transfer)
return transfer
-/obj/item/stack/Crossed(obj/o)
- if(istype(o, merge_type) && !o.throwing)
- merge(o)
+/obj/item/stack/Crossed(atom/movable/AM)
+ if(istype(AM, merge_type) && !AM.throwing)
+ merge(AM)
. = ..()
/obj/item/stack/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm
index 4434e499b6f..f3bd1a18303 100644
--- a/code/game/objects/structures/stairs.dm
+++ b/code/game/objects/structures/stairs.dm
@@ -53,7 +53,7 @@
if(S)
S.update_icon()
-/obj/structure/stairs/Uncross(atom/movable/AM, turf/newloc)
+/obj/structure/stairs/Uncross(atom/movable/AM, atom/newloc)
if(!newloc || !AM)
return ..()
if(!isobserver(AM) && isTerminator() && (get_dir(src, newloc) == dir))
diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm
index b43bb025467..29d560d952f 100644
--- a/code/game/turfs/open/_open.dm
+++ b/code/game/turfs/open/_open.dm
@@ -60,9 +60,9 @@
heavyfootstep = null
var/sound
-/turf/open/indestructible/sound/Entered(var/mob/AM)
+/turf/open/indestructible/sound/Entered(atom/movable/AM)
..()
- if(istype(AM))
+ if(ismob(AM))
playsound(src,sound,50,TRUE)
/turf/open/indestructible/necropolis
diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm
index ba1728366c8..bbe3eaa29ff 100644
--- a/code/game/turfs/open/floor/mineral_floor.dm
+++ b/code/game/turfs/open/floor/mineral_floor.dm
@@ -138,10 +138,10 @@
icons = list("bananium","bananium_dam")
var/spam_flag = 0
-/turf/open/floor/mineral/bananium/Entered(mob/living/L)
+/turf/open/floor/mineral/bananium/Entered(atom/movable/AM)
.=..()
if(!.)
- if(istype(L))
+ if(isliving(AM))
squeak()
/turf/open/floor/mineral/bananium/attackby(obj/item/W, mob/user, params)
@@ -191,10 +191,10 @@
var/last_event = 0
var/active = null
-/turf/open/floor/mineral/uranium/Entered(mob/AM)
+/turf/open/floor/mineral/uranium/Entered(atom/movable/AM)
.=..()
if(!.)
- if(istype(AM))
+ if(ismob(AM))
radiate()
/turf/open/floor/mineral/uranium/attackby(obj/item/W, mob/user, params)
diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm
index 1eaa9bcf906..9d790dd7d75 100644
--- a/code/modules/awaymissions/capture_the_flag.dm
+++ b/code/modules/awaymissions/capture_the_flag.dm
@@ -611,8 +611,8 @@
/obj/effect/ctf/ammo/Crossed(atom/movable/AM)
reload(AM)
-/obj/effect/ctf/ammo/Bump(atom/movable/AM)
- reload(AM)
+/obj/effect/ctf/ammo/Bump(atom/A)
+ reload(A)
/obj/effect/ctf/ammo/Bumped(atom/movable/AM)
reload(AM)
diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm
index c0a5f4d4ce5..23fdc44310e 100644
--- a/code/modules/awaymissions/super_secret_room.dm
+++ b/code/modules/awaymissions/super_secret_room.dm
@@ -129,9 +129,10 @@
var/newcolor = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple"))
add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
-/obj/item/rupee/Crossed(mob/M)
- if(!istype(M))
+/obj/item/rupee/Crossed(atom/movable/AM)
+ if(!ismob(AM))
return
+ var/mob/M = AM
if(M.put_in_hands(src))
if(src != M.get_active_held_item())
M.swap_hand()
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index ec1860dbcd3..47e52a08fbf 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -350,10 +350,11 @@
if(BURN)
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
-/obj/structure/spacevine/Crossed(mob/crosser)
- if(isliving(crosser))
- for(var/datum/spacevine_mutation/SM in mutations)
- SM.on_cross(src, crosser)
+/obj/structure/spacevine/Crossed(atom/movable/AM)
+ if(!isliving(AM))
+ return
+ for(var/datum/spacevine_mutation/SM in mutations)
+ SM.on_cross(src, AM)
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/structure/spacevine/attack_hand(mob/user)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index e493dbe2571..9a8a0452ae7 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -425,10 +425,11 @@
return
O.applyOrganDamage(-repair_rate)
-/obj/machinery/smartfridge/organ/Exited(obj/item/organ/AM, atom/newLoc)
+/obj/machinery/smartfridge/organ/Exited(atom/movable/AM, atom/newLoc)
. = ..()
- if(istype(AM))
- AM.organ_flags &= ~ORGAN_FROZEN
+ if(isorgan(AM))
+ var/obj/item/organ/O = AM
+ O.organ_flags &= ~ORGAN_FROZEN
// -----------------------------
// Chemistry Medical Smartfridge
diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm
index 114f8296545..4853843213a 100644
--- a/code/modules/hydroponics/hydroitemdefines.dm
+++ b/code/modules/hydroponics/hydroitemdefines.dm
@@ -75,8 +75,11 @@
flags_1 = NONE
resistance_flags = FLAMMABLE
-/obj/item/cultivator/rake/Crossed(mob/living/carbon/human/H)
- if(istype(H) && has_gravity(loc) && HAS_TRAIT(H, TRAIT_CLUMSY) && !H.resting)
+/obj/item/cultivator/rake/Crossed(atom/movable/AM)
+ if(!ishuman(AM))
+ return
+ var/mob/living/carbon/human/H = AM
+ if(has_gravity(loc) && HAS_TRAIT(H, TRAIT_CLUMSY) && !H.resting)
H.confused = max(H.confused, 10)
H.Stun(20)
playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE)
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index 546082c4ffa..89d4725e254 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -773,10 +773,10 @@ Pass a positive integer as an argument to override a bot's default speed.
else // no path, so calculate new one
calc_summon_path()
-/mob/living/simple_animal/bot/Bump(M as mob|obj) //Leave no door unopened!
+/mob/living/simple_animal/bot/Bump(atom/A) //Leave no door unopened!
. = ..()
- if((istype(M, /obj/machinery/door/airlock) || istype(M, /obj/machinery/door/window)) && (!isnull(access_card)))
- var/obj/machinery/door/D = M
+ if((istype(A, /obj/machinery/door/airlock) || istype(A, /obj/machinery/door/window)) && (!isnull(access_card)))
+ var/obj/machinery/door/D = A
if(D.check_access(access_card))
D.open()
frustration = 0
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
index 53a9c289adb..4d1d07aba44 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
@@ -256,7 +256,7 @@
var/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/myowner = null
-/obj/structure/legionnaire_bonfire/Entered(atom/movable/mover, turf/target)
+/obj/structure/legionnaire_bonfire/Entered(atom/movable/mover, atom/target)
if(isliving(mover))
var/mob/living/L = mover
L.adjust_fire_stacks(3)
diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm
index 8d2aabfba36..8f2262244ac 100644
--- a/code/modules/modular_computers/file_system/program.dm
+++ b/code/modules/modular_computers/file_system/program.dm
@@ -157,7 +157,7 @@
// Calls beginning with "PRG_" are reserved for programs handling.
// Calls beginning with "PC_" are reserved for computer handling (by whatever runs the program)
// ALWAYS INCLUDE PARENT CALL ..() OR DIE IN FIRE.
-/datum/computer_file/program/ui_act(action,params,datum/tgui/ui)
+/datum/computer_file/program/ui_act(action,list/params,datum/tgui/ui)
if(..())
return 1
if(computer)
diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm
index a38df93d5c5..2bc34b1027c 100644
--- a/code/modules/modular_computers/file_system/programs/arcade.dm
+++ b/code/modules/modular_computers/file_system/programs/arcade.dm
@@ -90,7 +90,7 @@
data["BossID"] = "boss[boss_id].gif"
return data
-/datum/computer_file/program/arcade/ui_act(action, params, mob/user)
+/datum/computer_file/program/arcade/ui_act(action, list/params, mob/user)
if(..())
return TRUE
var/obj/item/computer_hardware/printer/printer
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index c0bb4c11034..07cf134589b 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -832,8 +832,11 @@
. = ..()
AddComponent(/datum/component/caltrop, force)
-/obj/item/light/Crossed(mob/living/L)
+/obj/item/light/Crossed(atom/movable/AM)
. = ..()
+ if(!isliving(AM))
+ return
+ var/mob/living/L = AM
if(istype(L) && !(L.is_flying() || L.is_floating() || L.buckled))
playsound(src, 'sound/effects/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE)
if(status == LIGHT_BURNED || status == LIGHT_OK)
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index a732edb3af2..05856c987fa 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -64,12 +64,12 @@
else
..()
-/obj/machinery/field/containment/Crossed(mob/mover)
- if(isliving(mover))
- shock(mover)
+/obj/machinery/field/containment/Crossed(atom/movable/AM)
+ if(isliving(AM))
+ shock(AM)
- if(ismachinery(mover) || isstructure(mover) || ismecha(mover))
- bump_field(mover)
+ if(ismachinery(AM) || isstructure(AM) || ismecha(AM))
+ bump_field(AM)
/obj/machinery/field/containment/proc/set_master(master1,master2)
if(!master1 || !master2)
diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm
index ff368e18783..fb484b92286 100644
--- a/code/modules/vehicles/_vehicle.dm
+++ b/code/modules/vehicles/_vehicle.dm
@@ -158,12 +158,12 @@
remove_controller_actions_by_flag(controller, i)
return TRUE
-/obj/vehicle/Bump(atom/movable/M)
+/obj/vehicle/Bump(atom/A)
. = ..()
if(emulate_door_bumps)
- if(istype(M, /obj/machinery/door))
+ if(istype(A, /obj/machinery/door))
for(var/m in occupants)
- M.Bumped(m)
+ A.Bumped(m)
/obj/vehicle/Move(newloc, dir)
. = ..()
diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm
index 72fea0faea2..4b9cb9b64bc 100644
--- a/code/modules/vehicles/cars/clowncar.dm
+++ b/code/modules/vehicles/cars/clowncar.dm
@@ -65,25 +65,25 @@
to_chat(user, "You use the [banana] to repair the [src]!")
qdel(banana)
-/obj/vehicle/sealed/car/clowncar/Bump(atom/movable/M)
+/obj/vehicle/sealed/car/clowncar/Bump(atom/A)
. = ..()
- if(isliving(M))
- if(ismegafauna(M))
+ if(isliving(A))
+ if(ismegafauna(A))
return
- var/mob/living/L = M
+ var/mob/living/L = A
if(iscarbon(L))
var/mob/living/carbon/C = L
C.Paralyze(40) //I play to make sprites go horizontal
L.visible_message("[src] rams into [L] and sucks [L.p_them()] up!") //fuck off shezza this isn't ERP.
mob_forced_enter(L)
playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75)
- log_combat(src, M, "sucked up")
- else if(istype(M, /turf/closed))
- visible_message("[src] rams into [M] and crashes!")
+ log_combat(src, A, "sucked up")
+ else if(istype(A, /turf/closed))
+ visible_message("[src] rams into [A] and crashes!")
playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75)
playsound(src, 'sound/vehicles/clowncar_crashpins.ogg', 75)
DumpMobs(TRUE)
- log_combat(src, M, "crashed into", null, "dumping all passengers")
+ log_combat(src, A, "crashed into", null, "dumping all passengers")
/obj/vehicle/sealed/car/clowncar/emag_act(mob/user)
if(obj_flags & EMAGGED)
diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm
index 60d8df1378f..0113abd0d00 100644
--- a/code/modules/vehicles/motorized_wheelchair.dm
+++ b/code/modules/vehicles/motorized_wheelchair.dm
@@ -135,32 +135,32 @@
. += "Energy efficiency: [power_efficiency]"
. += "Power: [power_cell.charge] out of [power_cell.maxcharge]"
-/obj/vehicle/ridden/wheelchair/motorized/Bump(atom/movable/M)
+/obj/vehicle/ridden/wheelchair/motorized/Bump(atom/A)
. = ..()
// Here is the shitty emag functionality.
- if(obj_flags & EMAGGED && (istype(M, /turf/closed) || isliving(M)))
+ if(obj_flags & EMAGGED && (istype(A, /turf/closed) || isliving(A)))
explosion(src, -1, 1, 3, 2, 0)
visible_message("[src] explodes!!")
return
// If the speed is higher than delay_multiplier throw the person on the wheelchair away
- if(M.density && speed > delay_multiplier && has_buckled_mobs())
+ if(A.density && speed > delay_multiplier && has_buckled_mobs())
var/mob/living/H = buckled_mobs[1]
var/atom/throw_target = get_edge_target_turf(H, pick(GLOB.cardinals))
unbuckle_mob(H)
H.throw_at(throw_target, 2, 3)
H.Knockdown(100)
H.adjustStaminaLoss(40)
- if(isliving(M))
- var/mob/living/D = M
+ if(isliving(A))
+ var/mob/living/D = A
throw_target = get_edge_target_turf(D, pick(GLOB.cardinals))
D.throw_at(throw_target, 2, 3)
D.Knockdown(80)
D.adjustStaminaLoss(35)
- visible_message("[src] crashes into [M], sending [H] and [D] flying!")
+ visible_message("[src] crashes into [A], sending [H] and [D] flying!")
else
- visible_message("[src] crashes into [M], sending [H] flying!")
+ visible_message("[src] crashes into [A], sending [H] flying!")
playsound(src, 'sound/effects/bang.ogg', 50, 1)
-
+
/obj/vehicle/ridden/wheelchair/motorized/emag_act(mob/user)
if((obj_flags & EMAGGED) || !panel_open)
return
diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm
index 6d2c3ca16ea..dd5a4b325dc 100644
--- a/code/modules/vehicles/speedbike.dm
+++ b/code/modules/vehicles/speedbike.dm
@@ -66,12 +66,14 @@
for(var/i in GLOB.cardinals)
D.set_vehicle_dir_layer(i, BELOW_MOB_LAYER)
-/obj/vehicle/ridden/space/speedwagon/Bump(atom/movable/A)
+/obj/vehicle/ridden/space/speedwagon/Bump(atom/A)
. = ..()
if(A.density && has_buckled_mobs())
var/atom/throw_target = get_edge_target_turf(A, dir)
if(crash_all)
- A.throw_at(throw_target, 4, 3)
+ if(ismovableatom(A))
+ var/atom/movable/AM = A
+ AM.throw_at(throw_target, 4, 3)
visible_message("[src] crashes into [A]!")
playsound(src, 'sound/effects/bang.ogg', 50, TRUE)
if(ishuman(A))