diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 353b5726ce..9d3b208acc 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -62,7 +62,7 @@ /atom/movable/Move(atom/newloc, direct = 0) if(!loc || !newloc) - return 0 + return FALSE var/atom/oldloc = loc if(loc != newloc) @@ -113,7 +113,7 @@ last_move = direct setDir(direct) if(. && has_buckled_mobs() && !handle_buckled_mob_movement(loc,direct)) //movement failed due to buckled mob(s) - . = 0 + return FALSE //Called after a successful Move(). By this point, we've already moved /atom/movable/proc/Moved(atom/OldLoc, Dir, Forced = FALSE) @@ -325,9 +325,6 @@ SSspacedrift.processing[src] = src return 1 -/atom/movable/proc/checkpass(passflag) - return pass_flags&passflag - /atom/movable/proc/throw_impact(atom/hit_atom, throwingdatum) set waitfor = 0 SendSignal(COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 2544e1f88a..44775ae976 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -84,14 +84,14 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(!T || !(T.z in GLOB.station_z_levels)) continue - if(L in GLOB.overminds || L.checkpass(PASSBLOB)) + if(L in GLOB.overminds || (L.pass_flags & PASSBLOB)) continue var/area/Ablob = get_area(T) if(!Ablob.blob_allowed) continue - + if(!("blob" in L.faction)) playsound(L, 'sound/effects/splat.ogg', 50, 1) L.death() diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 8570cf294c..0c642692f0 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -67,7 +67,7 @@ return atmosblock /obj/structure/blob/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSBLOB)) + if(istype(mover) && (mover.pass_flags & PASSBLOB)) return 1 return 0 @@ -78,7 +78,7 @@ . = 0 if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSBLOB) + . = . || (mover.pass_flags & PASSBLOB) /obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. if(overmind) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 2b46f1959c..ea808171cc 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -258,16 +258,12 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) AI.switchCamera(C) /mob/living/carbon/human/Move() + var/old_z = src.z + . = ..() if (src.w_uniform) - var/old_z = src.z - - . = ..() - if (old_z != src.z) GLOB.crewmonitor.queueUpdate(old_z) GLOB.crewmonitor.queueUpdate(src.z) - else - return ..() /datum/crewmonitor/proc/queueUpdate(z) addtimer(CALLBACK(src, .proc/update, z), 5, TIMER_UNIQUE) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 883cc3986f..fa6275809d 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -103,7 +103,7 @@ move_update_air(T) /obj/machinery/door/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return !opacity return !density diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 63da575fc1..ad746d089f 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -212,7 +212,7 @@ CanAtmosPass = ATMOS_PASS_PROC /obj/machinery/door/firedoor/border_only/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -220,7 +220,7 @@ return 1 /obj/machinery/door/firedoor/border_only/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 4809f3ff49..2313afec3b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -90,7 +90,7 @@ return /obj/machinery/door/window/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -118,7 +118,7 @@ return !density || (dir != to_dir) || (check_access(ID) && hasPower()) /obj/machinery/door/window/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index d9362033a6..9356314973 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -434,7 +434,7 @@ gen_secondary.use_stored_power(drain_amount*0.5) /obj/machinery/shieldwall/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return prob(20) else if(istype(mover, /obj/item/projectile)) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index cdba69b140..3459bfc954 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -295,7 +295,7 @@ Item.extinguish() /obj/structure/foamedmetal/resin/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return TRUE . = ..() diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index e3fb16ee81..42bd8908d1 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -95,7 +95,7 @@ return ..() /obj/structure/projected_forcefield/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 return !density diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d0a00b060e..3061a9d258 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -287,7 +287,7 @@ return TRUE /obj/structure/girder/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGRILLE)) + if(istype(mover) && (mover.pass_flags & PASSGRILLE)) return prob(girderpasschance) else if(istype(mover, /obj/item/projectile)) @@ -299,7 +299,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSGRILLE) + . = . || (mover.pass_flags & PASSGRILLE) /obj/structure/girder/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 308a759929..138851dd35 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -100,7 +100,7 @@ /obj/structure/grille/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGRILLE)) + if(istype(mover) && (mover.pass_flags & PASSGRILLE)) return TRUE else if(istype(mover, /obj/item/projectile) && density) @@ -112,7 +112,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSGRILLE) + . = . || (mover.pass_flags & PASSGRILLE) /obj/structure/grille/attackby(obj/item/W, mob/user, params) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index a5def04e0b..8b3d2981e2 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -323,7 +323,7 @@ GLOBAL_LIST_EMPTY(crematoriums) icon_state = "morguet" /obj/structure/tray/m_tray/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 if(locate(/obj/structure/table) in get_turf(mover)) return 1 @@ -334,4 +334,4 @@ GLOBAL_LIST_EMPTY(crematoriums) . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 16e77c1141..d0d8989e04 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -64,7 +64,7 @@ return 1 //diseases, stings, etc can pass /obj/structure/plasticflaps/CanPass(atom/movable/A, turf/T) - if(istype(A) && A.checkpass(PASSGLASS)) + if(istype(A) && (A.pass_flags & PASSGLASS)) return prob(60) var/obj/structure/bed/B = A diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 40edea8ff4..6a481ea3ef 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -74,7 +74,7 @@ ..() /obj/structure/table/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 if(mover.throwing) return 1 @@ -87,7 +87,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) /obj/structure/table/proc/tablepush(mob/living/user, mob/living/pushed_mob) pushed_mob.forceMove(src.loc) @@ -423,7 +423,7 @@ /obj/structure/rack/CanPass(atom/movable/mover, turf/target) if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!| return 1 - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return 1 else return 0 @@ -432,7 +432,7 @@ . = !density if(ismovableatom(caller)) var/atom/movable/mover = caller - . = . || mover.checkpass(PASSTABLE) + . = . || (mover.pass_flags & PASSTABLE) /obj/structure/rack/MouseDrop_T(obj/O, mob/user) if ((!( istype(O, /obj/item) ) || user.get_active_held_item() != O)) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index e409eb533b..f701d92360 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -14,7 +14,7 @@ var/enter_delay = 0 /obj/structure/transit_tube/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 return !density diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 520ba2ee69..b29df0aaf4 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -55,7 +55,7 @@ icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" /obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) //Make sure looking at appropriate border return !density @@ -78,7 +78,7 @@ return 1 /obj/structure/windoor_assembly/CheckExit(atom/movable/mover as mob|obj, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(get_dir(loc, target) == dir) return !density diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 18073a6f6b..2b9494c535 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -120,7 +120,7 @@ ..(FULLTILE_WINDOW_DIR) /obj/structure/window/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSGLASS)) + if(istype(mover) && (mover.pass_flags & PASSGLASS)) return 1 if(dir == FULLTILE_WINDOW_DIR) return 0 //full tile window, you can't move into it! @@ -139,7 +139,7 @@ return 1 /obj/structure/window/CheckExit(atom/movable/O as mob|obj, target) - if(istype(O) && O.checkpass(PASSGLASS)) + if(istype(O) && (O.pass_flags & PASSGLASS)) return 1 if(get_dir(O.loc, target) == dir) return 0 diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 66677c0877..1dc749dc70 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -16,7 +16,7 @@ return FALSE /turf/closed/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSCLOSEDTURF)) + if(istype(mover) && (mover.pass_flags & PASSCLOSEDTURF)) return TRUE else ..() diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 5dfd9ecd4b..dbbe6ea512 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -21,7 +21,6 @@ ///////// var/datum/preferences/prefs = null var/move_delay = 1 - var/moving = null var/area = null diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 0d35c7cb6e..168c929ed3 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -118,7 +118,7 @@ density = TRUE /obj/structure/bonfire/CanPass(atom/movable/mover, turf/target) - if(istype(mover) && mover.checkpass(PASSTABLE)) + if(istype(mover) && (mover.pass_flags & PASSTABLE)) return TRUE if(mover.throwing) return TRUE diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index ed731408d8..e2555d4a8b 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -56,8 +56,6 @@ nutrition -= HUNGER_FACTOR/10 if(m_intent == MOVE_INTENT_RUN) nutrition -= HUNGER_FACTOR/10 - if((disabilities & FAT) && m_intent == MOVE_INTENT_RUN && bodytemperature <= 360) - bodytemperature += 2 /mob/living/carbon/Moved(oldLoc, Dir) . = ..() diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 51de0c2d91..fc8fdac04c 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -56,8 +56,8 @@ FP.update_icon() update_inv_shoes() //End bloody footprints - S.step_action() + /mob/living/carbon/human/Moved() . = ..() if(buckled_mobs && buckled_mobs.len && riding_datum) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 66869aa66a..589ebb0385 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -471,7 +471,6 @@ s_active.close(src) if(lying && !buckled && prob(getBruteLoss()*200/maxHealth)) - makeTrail(newloc, T, old_direction) /mob/living/movement_delay(ignorewalk = 0) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 4a83f5df89..0e49c8f6d4 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -395,7 +395,6 @@ pulling = null grab_state = 0 update_pull_hud_icon() - if(isliving(ex_pulled)) var/mob/living/L = ex_pulled L.update_canmove()// mob gets up if it was lyng down in a chokehold @@ -676,8 +675,6 @@ /mob/proc/canface() if(!canmove) return 0 - if(client.moving) - return 0 if(world.time < client.move_delay) return 0 if(stat==2) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index ad38ba98ac..ee449b77a2 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -1,8 +1,8 @@ /mob/CanPass(atom/movable/mover, turf/target) + if((mover.pass_flags & PASSMOB)) + return TRUE if(istype(mover, /obj/item/projectile) || mover.throwing) return (!density || lying) - if(mover.checkpass(PASSMOB)) - return TRUE if(buckled == mover) return TRUE if(ismob(mover)) @@ -112,6 +112,7 @@ #define MOVEMENT_DELAY_BUFFER 0.75 #define MOVEMENT_DELAY_BUFFER_DELTA 1.25 + /client/Move(n, direct) if(world.time < move_delay) return FALSE @@ -129,15 +130,13 @@ if(mob.stat == DEAD) mob.ghostize() return FALSE - if(moving) - return FALSE if(mob.force_moving) return FALSE - if(isliving(mob)) - var/mob/living/L = mob - if(L.incorporeal_move) //Move though walls - Process_Incorpmove(direct) - return FALSE + + var/mob/living/L = mob //Already checked for isliving earlier + if(L.incorporeal_move) //Move though walls + Process_Incorpmove(direct) + return FALSE if(mob.remote_control) //we're controlling something, our movement is relayed to it return mob.remote_control.relaymove(mob, direct) @@ -162,7 +161,6 @@ return FALSE //We are now going to move - moving = 1 var/delay = mob.movement_delay() if (old_move_delay + (delay*MOVEMENT_DELAY_BUFFER_DELTA) + MOVEMENT_DELAY_BUFFER > world.time) move_delay = old_move_delay + delay @@ -181,8 +179,7 @@ else . = ..() - moving = 0 - if(mob && .) + if(.) // If mob is null here, we deserve the runtime if(mob.throwing) mob.throwing.finalize(FALSE) @@ -190,8 +187,6 @@ for(var/obj/O in mob.user_movement_hooks) O.intercept_user_move(direct, mob, n, oldloc) - return . - /mob/Moved(oldLoc, dir, Forced = FALSE) . = ..() for(var/obj/O in contents) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d89da3e37b..bb26694021 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -405,7 +405,7 @@ /obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a projectile is hit by it. ..() - if(isliving(AM) && (AM.density || AM == original) && !checkpass(PASSMOB)) + if(isliving(AM) && (AM.density || AM == original) && !(src.pass_flags & PASSMOB)) Collide(AM) /obj/item/projectile/Destroy()