diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 44f9b0ba044..ec733786c1a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -11,7 +11,7 @@ var/datum/reagents/reagents = null //This atom's HUD (med/sec, etc) images. Associative list. - var/list/image/hud_list = list() + var/list/image/hud_list = null //HUD images that this atom can provide. var/list/hud_possible diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 8d6d5705654..8472929b222 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -74,7 +74,7 @@ if(loc == newloc) //Remove this check and people can accelerate. Not opening that can of worms just yet. newtonian_move(last_move) - if(. && buckled_mobs.len && !handle_buckled_mob_movement(loc,direct)) //movement failed due to buckled mob(s) + if(. && has_buckled_mobs() && !handle_buckled_mob_movement(loc,direct)) //movement failed due to buckled mob(s) . = 0 //Called after a successful Move(). By this point, we've already moved @@ -137,7 +137,7 @@ stop_pulling() if(buckled) buckled.unbuckle_mob(src,force=1) - if(buckled_mobs.len) + if(has_buckled_mobs()) unbuckle_all_mobs(force=1) . = ..() if(client) diff --git a/code/game/gamemodes/clock_cult/clock_structures.dm b/code/game/gamemodes/clock_cult/clock_structures.dm index e6092eae7a2..2b91c1cbb67 100644 --- a/code/game/gamemodes/clock_cult/clock_structures.dm +++ b/code/game/gamemodes/clock_cult/clock_structures.dm @@ -461,7 +461,7 @@ /obj/effect/clockwork/spatial_gateway/attack_hand(mob/living/user) if(user.pulling && user.a_intent == "grab" && isliving(user.pulling)) var/mob/living/L = user.pulling - if(L.buckled || L.anchored || L.buckled_mobs.len) + if(L.buckled || L.anchored || L.has_buckled_mobs()) return 0 user.visible_message("[user] shoves [L] into [src]!", "You shove [L] into [src]!") user.stop_pulling() diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index 41f37f98540..430cfb3552d 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -136,7 +136,7 @@ if(user.pulledby) user.pulledby.stop_pulling() user.stop_pulling() - if(user.buckled_mobs.len) + if(user.has_buckled_mobs()) user.unbuckle_all_mobs(force=1) sleep(40) //4 seconds if(!qdeleted(user)) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 7207a48eca0..fae51da8c58 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -177,11 +177,11 @@ Class Procs: density = 1 if(!target) for(var/mob/living/carbon/C in loc) - if(C.buckled || C.buckled_mobs.len) + if(C.buckled || C.has_buckled_mobs()) continue else target = C - if(target && !target.buckled && !target.buckled_mobs.len) + if(target && !target.buckled && !target.has_buckled_mobs()) occupant = target target.forceMove(src) updateUsrDialog() diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index f43d5b07698..1acadfa6173 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -226,7 +226,7 @@ if(user.pulling && user.a_intent == "grab" && isliving(user.pulling)) var/mob/living/L = user.pulling - if(L.buckled || L.buckled_mobs.len) + if(L.buckled || L.has_buckled_mobs()) return if(state_open) if(iscorgi(L)) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 732fdc85a09..4da9c5feb8e 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -77,7 +77,7 @@ if(target.buckled) occupant_message("[target] will not fit into the sleeper because they are buckled to [target.buckled]!") return - if(target.buckled_mobs.len) + if(target.has_buckled_mobs()) occupant_message("[target] will not fit into the sleeper because of the creatures attached to it!") return if(patient) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 5ab9bfc6618..5952e4bdca2 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -806,7 +806,7 @@ user << "You are currently buckled and cannot move." log_append_to_last("Permission denied.") return - if(user.buckled_mobs.len) //mob attached to us + if(user.has_buckled_mobs()) //mob attached to us user << "You can't enter the exosuit with other creatures attached to you!" return @@ -819,7 +819,7 @@ user << "[occupant] was faster! Try better next time, loser." else if(user.buckled) user << "You can't enter the exosuit while buckled." - else if(user.buckled_mobs.len) + else if(user.has_buckled_mobs()) user << "You can't enter the exosuit with other creatures attached to you!" else moved_inside(user) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 5e16e3f3bc7..46e675245a3 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -4,15 +4,13 @@ var/can_buckle = 0 var/buckle_lying = -1 //bed-like behaviour, forces mob.lying = buckle_lying if != -1 var/buckle_requires_restraints = 0 //require people to be handcuffed before being able to buckle. eg: pipes - var/list/mob/living/buckled_mobs = list() + var/list/mob/living/buckled_mobs = null //list() var/max_buckled_mobs = 1 - - //Interaction /atom/movable/attack_hand(mob/living/user) . = ..() - if(can_buckle && buckled_mobs.len) + if(can_buckle && has_buckled_mobs()) if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs if(user_unbuckle_mob(unbuckled,user)) @@ -27,14 +25,23 @@ if(user_buckle_mob(M, user)) return 1 - //Cleanup /atom/movable/Destroy() . = ..() unbuckle_all_mobs(force=1) +/atom/movable/proc/has_buckled_mobs() + if(!buckled_mobs) + return FALSE + if(buckled_mobs.len) + return TRUE + //procs that handle the actual buckling and unbuckling /atom/movable/proc/buckle_mob(mob/living/M, force = 0) + if(!buckled_mobs) + buckled_mobs = list() + if(!M.buckled_mobs) + M.buckled_mobs = list() if((!can_buckle && !force) || !istype(M) || (M.loc != loc) || M.buckled || (M.buckled_mobs.len >= max_buckled_mobs) || (buckle_requires_restraints && !M.restrained()) || M == src) return 0 if(!M.can_buckle() && !force) @@ -72,6 +79,8 @@ post_buckle_mob(.) /atom/movable/proc/unbuckle_all_mobs(force=0) + if(!has_buckled_mobs()) + return for(var/m in buckled_mobs) unbuckle_mob(m, force) diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm index b23e2d8ffaf..5d93623fa06 100644 --- a/code/game/objects/items/weapons/airlock_painter.dm +++ b/code/game/objects/items/weapons/airlock_painter.dm @@ -16,6 +16,7 @@ var/obj/item/device/toner/ink = null /obj/item/weapon/airlock_painter/New() + ..() ink = new /obj/item/device/toner(src) //This proc doesn't just check if the painter can be used, but also uses it. diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 899709fffa0..8e371776775 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -104,6 +104,7 @@ return(BRUTELOSS) /obj/item/weapon/screwdriver/New(loc, var/param_color = null) + ..() if(!icon_state) if(!param_color) param_color = pick("red","blue","pink","brown","green","cyan","yellow") diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index afa7633b420..397db4429ab 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -18,7 +18,7 @@ return ..() /obj/structure/bed/nest/user_unbuckle_mob(mob/living/buckled_mob, mob/living/user) - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/buck in buckled_mobs) //breaking a nest releases all the buckled mobs, because the nest isn't holding them down anymore var/mob/living/M = buck @@ -60,7 +60,7 @@ if(!user.getorgan(/obj/item/organ/alien/plasmavessel)) return - if(buckled_mobs.len) + if(has_buckled_mobs()) unbuckle_all_mobs() if(buckle_mob(M)) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index c9ef9d23e8d..f9e96c10e71 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -134,7 +134,7 @@ return var/obj/structure/bed/roller/R = target - if(R.buckled_mobs.len) + if(R.has_buckled_mobs()) if(R.buckled_mobs.len > 1) R.unbuckle_all_mobs() user.visible_message("[user] unbuckles all creatures from [R].") diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 5e0d0478354..c713a6abfbf 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -71,14 +71,14 @@ return ..() /obj/structure/chair/attack_tk(mob/user) - if(buckled_mobs.len) + if(has_buckled_mobs()) ..() else rotate() return /obj/structure/chair/proc/handle_rotation(direction) - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.buckled = null //Temporary, so Move() succeeds. @@ -99,7 +99,7 @@ /obj/structure/chair/proc/spin() dir = turn(dir, 90) handle_layer() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.dir = dir @@ -167,7 +167,7 @@ return ..() /obj/structure/chair/comfy/post_buckle_mob(mob/living/M) - if(buckled_mobs.len) + if(has_buckled_mobs()) overlays += armrest else overlays -= armrest @@ -215,7 +215,7 @@ /obj/structure/chair/MouseDrop(over_object, src_location, over_location) . = ..() if(over_object == usr && Adjacent(usr)) - if(!item_chair || !ishuman(usr) || buckled_mobs.len || src.flags & NODECONSTRUCT) + if(!item_chair || !ishuman(usr) || has_buckled_mobs() || src.flags & NODECONSTRUCT) return if(usr.incapacitated()) usr << "You can't do that right now!" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index ee5705a79d3..f7bad9cee77 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -141,7 +141,7 @@ if(!isliving(AM)) //let's not put ghosts or camera mobs inside closets... return var/mob/living/L = AM - if(L.anchored || L.buckled || L.incorporeal_move || L.buckled_mobs.len) + if(L.anchored || L.buckled || L.incorporeal_move || L.has_buckled_mobs()) return if(L.mob_size > MOB_SIZE_TINY) // Tiny mobs are treated as items. if(horizontal && L.density) @@ -160,7 +160,7 @@ return if(!allow_dense && AM.density) return - if(AM.anchored || AM.buckled_mobs.len || (AM.flags & NODROP)) + if(AM.anchored || AM.has_buckled_mobs() || (AM.flags & NODROP)) return else return diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index fbb7b66b47f..7d9b35adf16 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -37,7 +37,7 @@ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(12, 1, src) s.start() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.electrocute_act(85, src, 1) diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index ddfd102d863..41c23a4748f 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -40,7 +40,7 @@ /obj/structure/kitchenspike/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/crowbar)) - if(!buckled_mobs.len) + if(!has_buckled_mobs()) playsound(loc, 'sound/items/Crowbar.ogg', 100, 1) if(do_after(user, 20/I.toolspeed, target = src)) user << "You pry the spikes out of the frame." @@ -57,7 +57,7 @@ if(user.pulling && isliving(user.pulling) && user.a_intent == "grab" && !buckled_mobs.len) var/mob/living/L = user.pulling if(do_mob(user, src, 120)) - if(buckled_mobs.len) //to prevent spam/queing up attacks + if(has_buckled_mobs()) //to prevent spam/queing up attacks return if(L.buckled) return diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 69603d9c9ed..2580ac0a3d1 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -23,7 +23,7 @@ return prob(60) var/obj/structure/bed/B = A - if (istype(A, /obj/structure/bed) && (B.buckled_mobs.len || B.density))//if it's a bed/chair and is dense or someone is buckled, it will not pass + if (istype(A, /obj/structure/bed) && (B.has_buckled_mobs() || B.density))//if it's a bed/chair and is dense or someone is buckled, it will not pass return 0 if (istype(A, /obj/structure/closet/cardboard)) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 0f4e8e3f431..b6f79c129e2 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -64,13 +64,13 @@ if(icon_state == "open") var/mob/living/GM = user.pulling if(user.grab_state >= GRAB_AGGRESSIVE) - if(GM.buckled || GM.buckled_mobs.len) + if(GM.buckled || GM.has_buckled_mobs()) user << "[GM] is attached to something!" return for(var/obj/structure/transit_tube_pod/pod in loc) pod.visible_message("[user] starts putting [GM] into the [pod]!") if(do_after(user, 15, target = src)) - if(GM && user.grab_state >= GRAB_AGGRESSIVE && user.pulling == GM && !GM.buckled && !GM.buckled_mobs.len) + if(GM && user.grab_state >= GRAB_AGGRESSIVE && user.pulling == GM && !GM.buckled && !GM.has_buckled_mobs()) GM.Weaken(5) src.Bumped(GM) break diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm index 8b3c53864e2..d538c0bad44 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm @@ -46,7 +46,7 @@ //heatup/cooldown any mobs buckled to ourselves based on our temperature - if(buckled_mobs.len) + if(has_buckled_mobs()) var/hc = pipe_air.heat_capacity() var/mob/living/heat_source = buckled_mobs[1] //Best guess-estimate of the total bodytemperature of all the mobs, since they share the same environment it's ~ok~ to guess like this @@ -82,7 +82,7 @@ animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) //burn any mobs buckled based on temperature - if(buckled_mobs.len) + if(has_buckled_mobs()) var/heat_limit = 1000 if(pipe_air.temperature > heat_limit + 1) for(var/m in buckled_mobs) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 7ffd3afefd5..8a61348e70a 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -19,6 +19,7 @@ burn_state = FIRE_PROOF /obj/item/clothing/gloves/color/fyellow/New() + ..() siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5) /obj/item/clothing/gloves/color/black @@ -182,6 +183,7 @@ item_color = "mime" /obj/item/clothing/gloves/color/random/New() + ..() var/list/gloves = list( /obj/item/clothing/gloves/color/orange = 1, /obj/item/clothing/gloves/color/red = 1, diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 2b8ae2a3455..3794875dd68 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -363,7 +363,7 @@ KZ.production = (master.spread_cap / initial(master.spread_cap)) * 50 mutations = list() SetOpacity(0) - if(buckled_mobs.len) + if(has_buckled_mobs()) unbuckle_all_mobs(force=1) return ..() @@ -540,7 +540,7 @@ SM.on_grow(src) /obj/effect/spacevine/proc/entangle_mob() - if(!buckled_mobs.len && prob(25)) + if(!has_buckled_mobs() && prob(25)) for(var/mob/living/V in src.loc) entangle(V) if(buckled_mobs.len) diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 60ce3eda30f..8fe2aebbbde 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -102,7 +102,7 @@ user << "This item is not suitable for the gibber!" return var/mob/living/carbon/C = L - if(C.buckled ||C.buckled_mobs.len) + if(C.buckled ||C.has_buckled_mobs()) user << "[C] is attached to something!" return if(C.abiotic(1) && !ignore_clothing) @@ -112,7 +112,7 @@ user.visible_message("[user] starts to put [C] into the gibber!") src.add_fingerprint(user) if(do_after(user, gibtime, target = src)) - if(C && user.pulling == C && !C.buckled && !C.buckled_mobs.len && !occupant) + if(C && user.pulling == C && !C.buckled && !C.has_buckled_mobs() && !occupant) user.visible_message("[user] stuffs [C] into the gibber!") C.forceMove(src) occupant = C diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 6b2c96d505d..a0e86524ca9 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -72,7 +72,7 @@ if(target.stat == 0) user << "The monkey is struggling far too much to put it in the recycler." return - if(target.buckled || target.buckled_mobs.len) + if(target.buckled || target.has_buckled_mobs()) user << "The monkey is attached to something." return qdel(target) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index ae534acaf49..72e285a0a13 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -233,6 +233,7 @@ qdel(src) /obj/item/weapon/ore/New() + ..() pixel_x = rand(0,16)-8 pixel_y = rand(0,8)-8 @@ -259,6 +260,7 @@ var/value = 1 /obj/item/weapon/coin/New() + ..() pixel_x = rand(0,16)-8 pixel_y = rand(0,8)-8 diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2b03918b96d..5efb5c2032e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -121,7 +121,7 @@ Sorry Giacom. Please don't be mad :( if(moving_diagonally)//no mob swap during diagonal moves. return 1 - if(!M.buckled && !M.buckled_mobs.len) + if(!M.buckled && !M.has_buckled_mobs()) var/mob_swap //the puller can always swap with its victim if on grab intent if(M.pulledby == src && a_intent == "grab") diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 857f93b8a63..26ae1fe74d8 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -357,7 +357,7 @@ var/global/mulebot_count = 0 if(isobj(AM)) var/obj/O = AM - if(O.buckled_mobs.len || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it. + if(O.has_buckled_mobs() || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it. buzz(SIGH) return diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 4cde8ce5c32..dc9793ae3ab 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -811,7 +811,7 @@ if(icon_state == "parrot_fly") for(var/mob/living/carbon/human/H in view(src,1)) - if(H.buckled_mobs.len >= H.max_buckled_mobs) //Already has a parrot, or is being eaten by a slime + if(H.has_buckled_mobs() && H.buckled_mobs.len >= H.max_buckled_mobs) //Already has a parrot, or is being eaten by a slime continue perch_on_human(H) return diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index c32a82c7865..d7daf9e2da3 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -15,7 +15,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/components/unary if(restrained()) src << "You can't vent crawl while you're restrained!" return - if(buckled_mobs.len) + if(has_buckled_mobs()) src << "You can't vent crawl with others creatures on you!" return if(buckled) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f9b5b4b161d..626b8b19c78 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -25,6 +25,7 @@ var/next_mob_id = 0 ..() /atom/proc/prepare_huds() + hud_list = list() for(var/hud in hud_possible) var/image/I = image('icons/mob/hud.dmi', src, "") I.appearance_flags = RESET_COLOR diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm index df8325fea57..41402531b7c 100644 --- a/code/modules/recycling/disposal-unit.dm +++ b/code/modules/recycling/disposal-unit.dm @@ -120,7 +120,7 @@ return if(!istype(user.loc, /turf/)) //No magically doing it from inside closets return - if(target.buckled || target.buckled_mobs.len) + if(target.buckled || target.has_buckled_mobs()) return if(target.mob_size > MOB_SIZE_HUMAN) user << "[target] doesn't fit inside [src]!" diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 8422a2c96f1..39ad3fba504 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -588,6 +588,7 @@ var/cooldown /obj/item/weapon/relic/New() + ..() icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank") realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","illegal tech","weapon")]" diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index 9f8e6a580b5..9d79c5f1ced 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -71,6 +71,7 @@ var/rating = 1 /obj/item/weapon/stock_parts/New() + ..() src.pixel_x = rand(-5, 5) src.pixel_y = rand(-5, 5) diff --git a/code/modules/spells/spell_types/demon.dm b/code/modules/spells/spell_types/demon.dm index 12671cfffba..a4a258a9b40 100644 --- a/code/modules/spells/spell_types/demon.dm +++ b/code/modules/spells/spell_types/demon.dm @@ -145,7 +145,7 @@ src.ExtinguishMob() if(buckled) buckled.unbuckle_mob(src,force=1) - if(buckled_mobs.len) + if(has_buckled_mobs()) unbuckle_all_mobs(force=1) if(pulledby) pulledby.stop_pulling() diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 9afa9929390..71b58883ddb 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -35,7 +35,7 @@ if(target.pulledby) target.pulledby.stop_pulling() target.stop_pulling() - if(target.buckled_mobs.len) + if(target.has_buckled_mobs()) target.unbuckle_all_mobs(force=1) jaunt_disappear(animation, target) target.loc = holder diff --git a/code/modules/spells/spell_types/turf_teleport.dm b/code/modules/spells/spell_types/turf_teleport.dm index d649c488967..0c473f67297 100644 --- a/code/modules/spells/spell_types/turf_teleport.dm +++ b/code/modules/spells/spell_types/turf_teleport.dm @@ -40,7 +40,7 @@ if(!target.Move(picked)) if(target.buckled) target.buckled.unbuckle_mob(target,force=1) - if(target.buckled_mobs.len) + if(target.has_buckled_mobs()) target.unbuckle_all_mobs(force=1) target.loc = picked playsound(get_turf(user), sound2, 50,1) diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index bf77878eae0..fbe44181235 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -18,7 +18,7 @@ obj/vehicle/atv/post_buckle_mob(mob/living/M) - if(buckled_mobs.len) + if(has_buckled_mobs()) overlays += atvcover else overlays -= atvcover diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index e0792514af8..b00bc315680 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -10,7 +10,7 @@ /obj/vehicle/janicart/handle_vehicle_offsets() ..() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m switch(buckled_mob.dir) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index e894e3c1c4a..49a36bf69e0 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -21,7 +21,7 @@ /obj/vehicle/scooter/handle_vehicle_offsets() ..() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m switch(buckled_mob.dir) @@ -46,14 +46,14 @@ density = 0 /obj/vehicle/scooter/skateboard/post_buckle_mob(mob/living/M)//allows skateboards to be non-dense but still allows 2 skateboarders to collide with each other - if(buckled_mobs.len) + if(has_buckled_mobs()) density = 1 else density = 0 /obj/vehicle/scooter/skateboard/Bump(atom/A) ..() - if(A.density && buckled_mobs.len) + if(A.density && has_buckled_mobs()) var/mob/living/carbon/H = buckled_mobs[1] var/atom/throw_target = get_edge_target_turf(H, pick(cardinal)) unbuckle_mob(H) diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index 7602f9f4356..e9fa351f398 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -26,7 +26,7 @@ dir = move_dir /obj/vehicle/space/speedbike/Move(newloc,move_dir) - if(buckled_mobs.len) + if(has_buckled_mobs()) PoolOrNew(/obj/effect/overlay/temp/speedbike_trail,list(loc,move_dir)) . = ..() @@ -40,7 +40,7 @@ pixel_y = 0 /obj/vehicle/space/speedbike/handle_vehicle_offsets() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.dir = dir diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 96582344dfc..32f0c0f886b 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -36,7 +36,7 @@ //if they differ between directions, otherwise use the //generic variables /obj/vehicle/proc/handle_vehicle_offsets() - if(buckled_mobs.len) + if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.dir = dir @@ -123,7 +123,7 @@ /obj/vehicle/Bump(atom/movable/M) . = ..() if(auto_door_open) - if(istype(M, /obj/machinery/door) && buckled_mobs.len) + if(istype(M, /obj/machinery/door) && has_buckled_mobs()) for(var/m in buckled_mobs) M.Bumped(m)