diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index d9a6f70a0c..9a0cbcc805 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -149,15 +149,16 @@ beepsky_fashion = /datum/beepsky_fashion/cat /obj/item/clothing/head/kitty/equipped(mob/living/carbon/human/user, slot) - if(ishuman(user) && slot == ITEM_SLOT_HEAD) - update_icon(user) - user.update_inv_head() //Color might have been changed by update_icon. ..() + if(ishuman(user) && slot == ITEM_SLOT_HEAD) + update_icon() + user.update_inv_head() //Color might have been changed by update_icon. -/obj/item/clothing/head/kitty/update_icon(mob/living/carbon/human/user) +/obj/item/clothing/head/kitty/update_icon() . = ..() - if(ishuman(user)) - add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) + if(ishuman(loc)) + var/mob/living/carbon/human/wearer = loc + add_atom_colour("#[wearer.hair_color]", FIXED_COLOUR_PRIORITY) /obj/item/clothing/head/kitty/genuine desc = "A pair of kitty ears. A tag on the inside says \"Hand made from real cats.\"" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6e535e5f5f..02953e655e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -261,12 +261,18 @@ dir_to_target = dir var/push_anchored = FALSE - if((AM.move_resist * MOVE_FORCE_CRUSH_RATIO) <= force) - if(move_crush(AM, move_force, dir_to_target)) - push_anchored = TRUE - if((AM.move_resist * MOVE_FORCE_FORCEPUSH_RATIO) <= force) //trigger move_crush and/or force_push regardless of if we can push it normally - if(force_push(AM, move_force, dir_to_target, push_anchored)) - push_anchored = TRUE + + // Sandstorm change - stop breaking structures for no raisin!! + var/mob/living/simple_animal/hostile/angry_fella = src + if(client || (istype(angry_fella) && angry_fella.target)) + if((AM.move_resist * MOVE_FORCE_CRUSH_RATIO) <= force) + if(move_crush(AM, move_force, dir_to_target)) + push_anchored = TRUE + if((AM.move_resist * MOVE_FORCE_FORCEPUSH_RATIO) <= force) //trigger move_crush and/or force_push regardless of if we can push it normally + if(force_push(AM, move_force, dir_to_target, push_anchored)) + push_anchored = TRUE + // + if(ismob(AM)) var/mob/mob_to_push = AM var/atom/movable/mob_buckle = mob_to_push.buckled diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 05568415f9..80bb286b47 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -58,15 +58,15 @@ var/ascended = FALSE // if we have all the top titles, grant achievements to living mobs that gaze upon our cleanbot god -/mob/living/simple_animal/bot/cleanbot/proc/deputize(obj/item/W, mob/user) +/mob/living/simple_animal/bot/cleanbot/proc/deputize(obj/item/stab_tool, mob/user) if(in_range(src, user)) - to_chat(user, "You attach \the [W] to \the [src].") - user.transferItemToLoc(W, src) - weapon = W + to_chat(user, "You attach \the [stab_tool] to \the [src].") + user.transferItemToLoc(stab_tool, src) + weapon = stab_tool weapon_orig_force = weapon.force if(!emagged) weapon.force = weapon.force / 2 - add_overlay(image(icon=weapon.lefthand_file,icon_state=weapon.item_state)) + add_overlay(weapon.build_worn_icon(default_layer = layer + 1, default_icon_file = weapon.lefthand_file, isinhands = TRUE)) /mob/living/simple_animal/bot/cleanbot/proc/update_titles() var/working_title = "" diff --git a/html/changelogs/archive/2024-05.yml b/html/changelogs/archive/2024-05.yml new file mode 100644 index 0000000000..7b3e73fdf5 --- /dev/null +++ b/html/changelogs/archive/2024-05.yml @@ -0,0 +1,4 @@ +2024-05-06: + SandPoot: + - tweak: Mobs that can push structures off the floor will no longer do so unless + it blocks path to a target.