diff --git a/code/game/objects/grille.dm b/code/game/objects/grille.dm index 6c89401cdcc..23a05cf7be3 100644 --- a/code/game/objects/grille.dm +++ b/code/game/objects/grille.dm @@ -81,6 +81,15 @@ healthcheck() return + attack_animal(var/mob/living/simple_animal/M as mob) + if(M.melee_damage_upper == 0) return + playsound(src.loc, 'grillehit.ogg', 80, 1) + M.visible_message("[M.name] smashes against the [src.name].", \ + "You smash against the [src.name].", \ + "You hear a noise") + src.health -= rand(4) + healthcheck() + return CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 diff --git a/code/game/objects/window.dm b/code/game/objects/window.dm index 77e66074c93..6a33b30ef52 100644 --- a/code/game/objects/window.dm +++ b/code/game/objects/window.dm @@ -138,6 +138,30 @@ return return + +/obj/structure/window/attack_animal(mob/living/simple_animal/M as mob) + if (M.melee_damage_upper == 0) + return + M << text("\green You smash against the window.") + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O << text("\red [] smashes against the window.", M) + playsound(src.loc, 'Glasshit.ogg', 100, 1) + src.health -= M.melee_damage_upper + if(src.health <= 0) + M << text("\green You smash through the window.") + for(var/mob/O in viewers(src, null)) + if ((O.client && !( O.blinded ))) + O << text("\red [] smashes through the window!", M) + src.health = 0 + new /obj/item/weapon/shard(src.loc) + if(reinf) + new /obj/item/stack/rods(src.loc) + src.density = 0 + del(src) + return + return + /obj/structure/window/attack_metroid() if(!istype(usr, /mob/living/carbon/metroid/adult)) return diff --git a/code/game/turf.dm b/code/game/turf.dm index 611c62b5af1..441e6a44c1e 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -353,7 +353,8 @@ M << text("\blue You smash against the wall.") return - return src.attack_animal(M) + M << "\blue You push the wall but nothing happens!" + return /turf/simulated/wall/attack_hand(mob/user as mob) if ((user.mutations & HULK)) diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index 137622e8fcb..f085aa8af8d 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -327,6 +327,16 @@ reagents.add_reagent("nutriment", 6) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/ghostburger + name = "Ghost Burger" + desc = "Spooky! It doesn't look very filling." + icon_state = "ghostburger" + New() + ..() + reagents.add_reagent("nutriment", 2) + bitesize = 2 + + /obj/item/weapon/reagent_containers/food/snacks/human var/hname = "" var/job = null diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 076890065eb..545855b544c 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -141,6 +141,13 @@ ) result = /obj/item/weapon/reagent_containers/food/snacks/tofuburger +/datum/recipe/ghostburger + items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/ectoplasm + ) + result = /obj/item/weapon/reagent_containers/food/snacks/ghostburger + /datum/recipe/clownburger items = list( /obj/item/weapon/reagent_containers/food/snacks/flour, diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 5087df579df..03a5cdf61da 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ