diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index b5dc159caf0..553b8d2f59e 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -188,6 +188,9 @@ M.regenerate_icons() M.update_body() + if(!the_bomb) + the_bomb = locate(/obj/machinery/nuclearbomb/syndicate) in GLOB.poi_list + if(the_bomb) synd_mind.store_memory("Syndicate [the_bomb.name] Code: [the_bomb.r_code]") to_chat(synd_mind.current, "The code for \the [the_bomb.name] is: [the_bomb.r_code]") diff --git a/code/game/objects/items/tools/tool_behaviour.dm b/code/game/objects/items/tools/tool_behaviour.dm index 136bea77e6a..8770c1d6383 100644 --- a/code/game/objects/items/tools/tool_behaviour.dm +++ b/code/game/objects/items/tools/tool_behaviour.dm @@ -57,4 +57,8 @@ // Used in a callback that is passed by use_tool into do_after call. Do not override, do not call manually. /obj/item/proc/tool_check_callback(mob/living/user, atom/target, amount, datum/callback/extra_checks) - return tool_use_check(user, amount) && (extra_checks && !extra_checks.Invoke()) + if(!tool_use_check(user, amount)) + return TRUE + if(extra_checks && !extra_checks.Invoke()) + return TRUE + return FALSE diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index 8ab4c12cf0f..6feb76fa8df 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -16,7 +16,7 @@ w_class = WEIGHT_CLASS_SMALL armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF - materials = list(MAT_METAL=70, MAT_GLASS=30) + materials = list(MAT_METAL = 70, MAT_GLASS = 20) origin_tech = "engineering=1;plasmatech=1" tool_behaviour = TOOL_WELDER toolspeed = 1 @@ -131,7 +131,7 @@ /obj/item/weldingtool/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) . = ..() - if(. && user) + if(!. && user) if(progress_flash_divisor == 0) user.flash_eyes(min(light_intensity, 1)) progress_flash_divisor = initial(progress_flash_divisor) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 8bf44346e72..2bf2b03b4a2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -69,6 +69,8 @@ togglelock(user) /obj/structure/closet/secure_closet/AltClick(mob/user) + if(opened) + return ..() if(Adjacent(user)) togglelock(user) @@ -78,7 +80,7 @@ locked = FALSE icon_state = icon_off flick(icon_broken, src) - to_chat(user, "You break the lock on \the [src].") + to_chat(user, "You break the lock on [src].") /obj/structure/closet/secure_closet/attack_hand(mob/user) add_fingerprint(user) diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 17112901b29..5a5a7c4696f 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -18,7 +18,8 @@ return FALSE bitesize = 0 if(M.eat(src, user)) - user.drop_item() + if(user.get_active_hand() == src) + user.drop_item() // Only drop if they're holding the patch directly forceMove(M) LAZYADD(M.processing_patches, src) return TRUE diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index 0220498df5e..2a3ae55bd4b 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -194,7 +194,7 @@ /obj/structure/puzzle_element name = "mysterious pillar" - desc = "puzzling..." + desc = "Puzzling..." icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "puzzle_pillar" anchored = FALSE diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index ee017cfa4e5..a0c2c10308e 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -64,8 +64,9 @@ /obj/item/organ/internal/heart/prepare_eat() var/obj/S = ..() - S.icon_state = dead_icon - return S + if(S) + S.icon_state = dead_icon + return S /obj/item/organ/internal/heart/cursed name = "cursed heart" diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 12cc87aeb3f..8250665d587 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -304,8 +304,9 @@ /obj/item/organ/internal/lungs/prepare_eat() var/obj/S = ..() - S.reagents.add_reagent("salbutamol", 5) - return S + if(S) + S.reagents.add_reagent("salbutamol", 5) + return S /obj/item/organ/internal/lungs/plasmaman name = "plasma filter" diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 0564a4b7c7b..9b9702e53c3 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ