Skip to content

Commit

Permalink
[MIRROR] Adds UPSIDE_DOWN movetype for negative gravity / makes Atr…
Browse files Browse the repository at this point in the history
…ocinator affected by less things [MDB IGNORE] (#749)

* Adds `UPSIDE_DOWN` movetype for negative gravity / makes Atrocinator affected by less things (#79785)

---------

Co-authored-by: SkyratBot <[email protected]>
Co-authored-by: MrMelbert <[email protected]>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
  • Loading branch information
4 people authored Nov 21, 2023
1 parent 4cdc29a commit 024e26b
Show file tree
Hide file tree
Showing 34 changed files with 71 additions and 41 deletions.
5 changes: 5 additions & 0 deletions code/__DEFINES/_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,11 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define FLOATING (1<<3)
/// When moving, will Cross() everything, but won't stop or Bump() anything.
#define PHASING (1<<4)
/// The mob is walking on the ceiling. Or is generally just, upside down.
#define UPSIDE_DOWN (1<<5)

/// Combination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground
#define MOVETYPES_NOT_TOUCHING_GROUND (FLYING|FLOATING|UPSIDE_DOWN)

//Fire and Acid stuff, for resistance_flags
#define LAVA_PROOF (1<<0)
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_MOVE_VENTCRAWLING "move_ventcrawling"
#define TRAIT_MOVE_FLOATING "move_floating"
#define TRAIT_MOVE_PHASING "move_phasing"
#define TRAIT_MOVE_UPSIDE_DOWN "move_upside_down"
/// Disables the floating animation. See above.
#define TRAIT_NO_FLOATING_ANIM "no-floating-animation"

Expand Down Expand Up @@ -841,7 +842,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// changelings with this trait can no longer talk over the hivemind
#define TRAIT_CHANGELING_HIVEMIND_MUTE "ling_mute"
#define TRAIT_HULK "hulk"

/// Isn't attacked harmfully by blob structures
#define TRAIT_BLOB_ALLY "blob_ally"

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/traits/sources.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@
#define SPECIES_FLIGHT_TRAIT "species-flight"
#define FROSTMINER_ENRAGE_TRAIT "frostminer-enrage"
#define NO_GRAVITY_TRAIT "no-gravity"
#define NEGATIVE_GRAVITY_TRAIT "negative-gravity"

/// A trait gained from a mob's leap action, like the leaper
#define LEAPING_TRAIT "leaping"
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ DEFINE_BITFIELD(movement_type, list(
"GROUND" = GROUND,
"PHASING" = PHASING,
"VENTCRAWLING" = VENTCRAWLING,
"UPSIDE_DOWN" = UPSIDE_DOWN,
))

DEFINE_BITFIELD(obj_flags, list(
Expand Down
2 changes: 2 additions & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_MOVE_GROUND" = TRAIT_MOVE_GROUND,
"TRAIT_MOVE_PHASING" = TRAIT_MOVE_PHASING,
"TRAIT_MOVE_VENTCRAWLING" = TRAIT_MOVE_VENTCRAWLING,
"TRAIT_MOVE_UPSIDE_DOWN" = TRAIT_MOVE_UPSIDE_DOWN,
"TRAIT_NO_FLOATING_ANIM" = TRAIT_NO_FLOATING_ANIM,
"TRAIT_NO_MANIFEST_CONTENTS_ERROR" = TRAIT_NO_MANIFEST_CONTENTS_ERROR,
"TRAIT_NO_MISSING_ITEM_ERROR" = TRAIT_NO_MISSING_ITEM_ERROR,
Expand Down Expand Up @@ -569,6 +570,7 @@ GLOBAL_LIST_INIT(movement_type_trait_to_flag, list(
TRAIT_MOVE_VENTCRAWLING = VENTCRAWLING,
TRAIT_MOVE_FLOATING = FLOATING,
TRAIT_MOVE_PHASING = PHASING,
TRAIT_MOVE_UPSIDE_DOWN = UPSIDE_DOWN,
))

GLOBAL_LIST_INIT(movement_type_addtrait_signals, set_movement_type_addtrait_signals())
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
"TRAIT_MOVE_GROUND" = TRAIT_MOVE_GROUND,
"TRAIT_MOVE_PHASING" = TRAIT_MOVE_PHASING,
"TRAIT_MOVE_VENTCRAWLING" = TRAIT_MOVE_VENTCRAWLING,
"TRAIT_MOVE_UPSIDE_DOWN" = TRAIT_MOVE_UPSIDE_DOWN,
"TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN,
"TRAIT_SNOWSTORM_IMMUNE" = TRAIT_SNOWSTORM_IMMUNE,
"TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE,
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/acid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
if(!isliving(arrived))
return
var/mob/living/crosser = arrived
if(crosser.movement_type & FLYING)
if(crosser.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return
if(crosser.move_intent == MOVE_INTENT_WALK)
return
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/caltrop.dm
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
if((flags & CALTROP_IGNORE_WALKERS) && H.move_intent == MOVE_INTENT_WALK)
return

if(H.movement_type & (FLOATING|FLYING)) //check if they are able to pass over us
if(H.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) //check if they are able to pass over us
//gravity checking only our parent would prevent us from triggering they're using magboots / other gravity assisting items that would cause them to still touch us.
return

Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/chasm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
return CHASM_NOT_DROPPING
if(is_type_in_typecache(dropped_thing, forbidden_types) || (!isliving(dropped_thing) && !isobj(dropped_thing)))
return CHASM_NOT_DROPPING
if(dropped_thing.throwing || (dropped_thing.movement_type & (FLOATING|FLYING)))
if(dropped_thing.throwing || (dropped_thing.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
return CHASM_REGISTER_SIGNALS

//Flies right over the chasm
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/conveyor_movement.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
source.delay = speed //We use the default delay
if(living_parent)
var/mob/living/moving_mob = parent
if((moving_mob.movement_type & FLYING) && !moving_mob.stat)
if((moving_mob.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && !moving_mob.stat)
return MOVELOOP_SKIP_STEP
var/atom/movable/moving_parent = parent
if(moving_parent.anchored || !moving_parent.has_gravity())
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/slippery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@
if(HAS_TRAIT(turf, TRAIT_TURF_IGNORE_SLIPPERY))
return
var/mob/living/victim = arrived
if((victim.movement_type & (FLYING | FLOATING)))
if(victim.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return
if(can_slip_callback && !can_slip_callback.Invoke(holder, victim))
return
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/squashable.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
return //Everything worked, we're done!
if(isliving(crossing_movable))
var/mob/living/crossing_mob = crossing_movable
if(crossing_mob.mob_size > MOB_SIZE_SMALL && !(crossing_mob.movement_type & FLYING))
if(crossing_mob.mob_size > MOB_SIZE_SMALL && !(crossing_mob.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
if(HAS_TRAIT(crossing_mob, TRAIT_PACIFISM))
crossing_mob.visible_message(span_notice("[crossing_mob] carefully steps over [parent_as_living]."), span_notice("You carefully step over [parent_as_living] to avoid hurting it."))
return
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/squeak.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
var/obj/item/I = arrived
if(I.item_flags & ABSTRACT)
return
if(arrived.movement_type & (FLYING|FLOATING) || !arrived.has_gravity())
if((arrived.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || !arrived.has_gravity())
return
if(ismob(arrived) && !arrived.density) // Prevents 10 overlapping mice from making an unholy sound while moving
return
Expand Down
12 changes: 6 additions & 6 deletions code/datums/elements/immerse.dm
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@
*/
/datum/element/immerse/proc/try_immerse(atom/movable/movable, atom/movable/buckled)
var/atom/movable/to_check = buckled || movable
if(!(to_check.movement_type & (FLYING|FLOATING)) && !movable.throwing)
if(!(to_check.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && !movable.throwing)
add_immerse_overlay(movable)
if(!buckled)
RegisterSignal(movable, COMSIG_MOVETYPE_FLAG_ENABLED, PROC_REF(on_move_flag_enabled))
Expand All @@ -243,7 +243,7 @@
*/
/datum/element/immerse/proc/try_unimmerse(atom/movable/movable, atom/movable/buckled)
var/atom/movable/to_check = buckled || movable
if(!(to_check.movement_type & (FLYING|FLOATING)) && !movable.throwing)
if(!(to_check.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && !movable.throwing)
remove_immerse_overlay(movable)
if(!buckled)
UnregisterSignal(movable, list(COMSIG_MOVETYPE_FLAG_ENABLED, COMSIG_MOVETYPE_FLAG_DISABLED, COMSIG_MOVABLE_POST_THROW, COMSIG_MOVABLE_THROW_LANDED))
Expand All @@ -256,7 +256,7 @@
///Removes the overlay from mob and bucklees is flying.
/datum/element/immerse/proc/on_move_flag_enabled(atom/movable/source, flag, old_movement_type)
SIGNAL_HANDLER
if(!(flag & (FLYING|FLOATING)) || old_movement_type & (FLYING|FLOATING) || source.throwing)
if(!(flag & MOVETYPES_NOT_TOUCHING_GROUND) || (old_movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || source.throwing)
return
remove_immerse_overlay(source)
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
Expand All @@ -265,7 +265,7 @@
///Works just like on_move_flag_enabled, except it only has to check that movable isn't flying
/datum/element/immerse/proc/on_throw(atom/movable/source)
SIGNAL_HANDLER
if(source.movement_type & (FLYING|FLOATING))
if(source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return
remove_immerse_overlay(source)
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
Expand All @@ -274,7 +274,7 @@
///Readds the overlay to the mob and bucklees if no longer flying.
/datum/element/immerse/proc/on_move_flag_disabled(atom/movable/source, flag, old_movement_type)
SIGNAL_HANDLER
if(!(flag & (FLYING|FLOATING)) || source.movement_type & (FLYING|FLOATING) || source.throwing)
if(!(flag & MOVETYPES_NOT_TOUCHING_GROUND) || (source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || source.throwing)
return
add_immerse_overlay(source)
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
Expand All @@ -283,7 +283,7 @@
///Works just like on_move_flag_disabled, except it only has to check that movable isn't flying
/datum/element/immerse/proc/on_throw_landed(atom/movable/source)
SIGNAL_HANDLER
if(source.movement_type & (FLYING|FLOATING))
if(source.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return
add_immerse_overlay(source)
for(var/mob/living/buckled_mob as anything in source.buckled_mobs)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/status_effects/wound_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
/datum/status_effect/limp/proc/check_step(mob/whocares, OldLoc, Dir, forced)
SIGNAL_HANDLER

if(!owner.client || owner.body_position == LYING_DOWN || !owner.has_gravity() || (owner.movement_type & FLYING) || forced || owner.buckled)
if(!owner.client || owner.body_position == LYING_DOWN || !owner.has_gravity() || (owner.movement_type & (FLYING|FLOATING)) || forced || owner.buckled)
return

// less limping while we have determination still
Expand Down
2 changes: 1 addition & 1 deletion code/datums/weather/weather_types/floor_is_lava.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
for(var/obj/structure/structure_to_check in mob_turf)
if(structure_to_check.density)
return FALSE
if(mob_to_check.movement_type & (FLYING|FLOATING))
if(mob_to_check.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return FALSE

/datum/weather/floor_is_lava/weather_act(mob/living/victim)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/effects/mines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
return FALSE
living_mob = on_who

if(living_mob?.incorporeal_move || on_who.movement_type & FLYING)
if(living_mob?.incorporeal_move || (on_who.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
return foot_on_mine ? IS_WEAKREF_OF(on_who, foot_on_mine) : FALSE //Only go boom if their foot was on the mine PRIOR to flying/phasing. You fucked up, you live with the consequences.

return TRUE
Expand Down
29 changes: 22 additions & 7 deletions code/game/objects/items/handcuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@
. = ..()
update_appearance()
var/static/list/loc_connections = list(
COMSIG_ATOM_ENTERED = PROC_REF(spring_trap),
COMSIG_ATOM_ENTERED = PROC_REF(trap_stepped_on),
)
AddElement(/datum/element/connect_loc, loc_connections)

Expand Down Expand Up @@ -412,10 +412,23 @@
update_appearance()
playsound(src, 'sound/effects/snap.ogg', 50, TRUE)

/obj/item/restraints/legcuffs/beartrap/proc/spring_trap(datum/source, atom/movable/target, thrown_at = FALSE)
/obj/item/restraints/legcuffs/beartrap/proc/trap_stepped_on(datum/source, atom/movable/entering, ...)
SIGNAL_HANDLER

spring_trap(entering)

/**
* Tries to spring the trap on the target movable.
*
* This proc is safe to call without knowing if the target is valid or if the trap is armed.
*
* Does not trigger on tiny mobs.
* If ignore_movetypes is FALSE, does not trigger on floating / flying / etc. mobs.
*/
/obj/item/restraints/legcuffs/beartrap/proc/spring_trap(atom/movable/target, ignore_movetypes = FALSE)
if(!armed || !isturf(loc) || !isliving(target))
return

var/mob/living/victim = target
if(istype(victim.buckled, /obj/vehicle))
var/obj/vehicle/ridden_vehicle = victim.buckled
Expand All @@ -424,12 +437,14 @@
ridden_vehicle.visible_message(span_danger("[ridden_vehicle] triggers \the [src]."))
return

//don't close the trap if they're as small as a mouse, or not touching the ground
if(victim.mob_size <= MOB_SIZE_TINY || (!thrown_at && victim.movement_type & (FLYING|FLOATING)))
//don't close the trap if they're as small as a mouse
if(victim.mob_size <= MOB_SIZE_TINY)
return
if(!ignore_movetypes && (victim.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
return

close_trap()
if(thrown_at)
if(ignore_movetypes)
victim.visible_message(span_danger("\The [src] ensnares [victim]!"), \
span_userdanger("\The [src] ensnares you!"))
else
Expand Down Expand Up @@ -477,7 +492,7 @@
qdel(src)

/obj/item/restraints/legcuffs/beartrap/energy/attack_hand(mob/user, list/modifiers)
spring_trap(null, user)
spring_trap(user)
return ..()

/obj/item/restraints/legcuffs/beartrap/energy/cyborg
Expand Down Expand Up @@ -554,7 +569,7 @@

/obj/item/restraints/legcuffs/bola/energy/ensnare(atom/hit_atom)
var/obj/item/restraints/legcuffs/beartrap/energy/cyborg/B = new (get_turf(hit_atom))
B.spring_trap(null, hit_atom, TRUE)
B.spring_trap(hit_atom, ignore_movetypes = TRUE)
qdel(src)

/**
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/stacks/sheets/glass.dm
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
SIGNAL_HANDLER
if(isliving(AM))
var/mob/living/L = AM
if(!(L.movement_type & (FLYING|FLOATING)) || L.buckled)
if(!(L.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || L.buckled)
playsound(src, 'sound/effects/footstep/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE)

/obj/item/shard/plasma
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/syndie_spraycan.dm
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
* * victim - whoever just slipped, point and laugh at them
*/
/obj/effect/decal/cleanable/traitor_rune/proc/slip(mob/living/victim)
if(victim.movement_type & FLYING)
if(victim.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return
if (!victim.slip(slip_time, src, slip_flags))
return
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/structures/kitchen_spike.dm
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@
m180.Turn(180)
animate(target, transform = m180, time = 3)
target.pixel_y = target.base_pixel_y + PIXEL_Y_OFFSET_LYING
ADD_TRAIT(target, TRAIT_MOVE_UPSIDE_DOWN, REF(src))

/obj/structure/kitchenspike/user_unbuckle_mob(mob/living/buckled_mob, mob/user)
if(buckled_mob != user)
Expand Down Expand Up @@ -156,6 +157,7 @@
m180.Turn(180)
animate(buckled_mob, transform = m180, time = 3)
buckled_mob.pixel_y = buckled_mob.base_pixel_y + PIXEL_Y_OFFSET_LYING
REMOVE_TRAIT(buckled_mob, TRAIT_MOVE_UPSIDE_DOWN, REF(src))

/obj/structure/kitchenspike/deconstruct(disassembled = TRUE)
if(disassembled)
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/structures/railings.dm
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
/obj/structure/railing/CanPass(atom/movable/mover, border_dir)
. = ..()
if(border_dir & dir)
return . || mover.throwing || mover.movement_type & (FLYING | FLOATING)
return . || mover.throwing || (mover.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return TRUE

/obj/structure/railing/CanAStarPass(to_dir, datum/can_pass_info/pass_info)
Expand All @@ -144,7 +144,7 @@
if (leaving.throwing)
return

if (leaving.movement_type & (PHASING | FLYING | FLOATING))
if (leaving.movement_type & (PHASING|MOVETYPES_NOT_TOUCHING_GROUND))
return

if (leaving.move_force >= MOVE_FORCE_EXTREMELY_STRONG)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/tables_racks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@
check_break(M)

/obj/structure/table/glass/proc/check_break(mob/living/M)
if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & FLYING))
if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
table_shatter(M)

/obj/structure/table/glass/proc/table_shatter(mob/living/victim)
Expand Down
3 changes: 1 addition & 2 deletions code/game/turfs/open/_open.dm
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@
return TRUE

/turf/open/handle_slip(mob/living/carbon/slipper, knockdown_amount, obj/slippable, lube, paralyze_amount, force_drop)
if(slipper.movement_type & (FLYING | FLOATING))
if(slipper.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return FALSE
if(!has_gravity(src))
return FALSE
Expand Down Expand Up @@ -446,4 +446,3 @@

playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE)
new /obj/structure/girder/tram(src)

4 changes: 2 additions & 2 deletions code/game/turfs/open/lava.dm
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@
. = TRUE

/turf/open/lava/proc/can_burn_stuff(atom/movable/burn_target)
if(burn_target.movement_type & (FLYING|FLOATING)) //you're flying over it.
if(burn_target.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) //you're flying over it.
return LAVA_BE_IGNORING

if(isobj(burn_target))
Expand All @@ -265,7 +265,7 @@
var/mob/living/burn_living = burn_target
var/atom/movable/burn_buckled = burn_living.buckled
if(burn_buckled)
if(burn_buckled.movement_type & (FLYING|FLOATING))
if(burn_buckled.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)
return LAVA_BE_PROCESSING
if(isobj(burn_buckled))
var/obj/burn_buckled_obj = burn_buckled
Expand Down
2 changes: 1 addition & 1 deletion code/modules/assembly/mousetrap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@
if(armed)
if(ismob(AM))
var/mob/MM = AM
if(!(MM.movement_type & FLYING))
if(!(MM.movement_type & MOVETYPES_NOT_TOUCHING_GROUND))
if(ishuman(AM))
var/mob/living/carbon/H = AM
if(H.move_intent == MOVE_INTENT_RUN)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/glasses/_glasses.dm
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@
return
if(isliving(movable))
var/mob/living/crusher = movable
if(crusher.move_intent != MOVE_INTENT_WALK && (!(crusher.movement_type & (FLYING|FLOATING)) || crusher.buckled))
if(crusher.move_intent != MOVE_INTENT_WALK && (!(crusher.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) || crusher.buckled))
playsound(src, 'sound/effects/footstep/glass_step.ogg', 30, TRUE)
visible_message(span_warning("[crusher] steps on [src], damaging it!"))
take_damage(100, sound_effect = FALSE)
Expand Down
Loading

0 comments on commit 024e26b

Please sign in to comment.