diff --git a/code/__defines/is_helpers.dm b/code/__defines/is_helpers.dm index 07c25a40ab..0fbcd3c719 100644 --- a/code/__defines/is_helpers.dm +++ b/code/__defines/is_helpers.dm @@ -13,7 +13,7 @@ #define isitem(D) istype(D, /obj/item) -#define isradio(A) istype(A, /obj/item/device/radio) +#define isradio(A) istype(A, /obj/item/device/radio) #define isairlock(A) istype(A, /obj/machinery/door/airlock) @@ -23,6 +23,8 @@ #define ismecha(A) istype(A, /obj/mecha) +#define isstructure(A) istype(A, /obj/structure) + //--------------- //#define isarea(D) istype(D, /area) //Built in diff --git a/code/datums/components/crafting/recipes/primitive.dm b/code/datums/components/crafting/recipes/primitive.dm index 97f6be5e39..ce268e893a 100644 --- a/code/datums/components/crafting/recipes/primitive.dm +++ b/code/datums/components/crafting/recipes/primitive.dm @@ -1,3 +1,6 @@ +/* + * Misc + */ /datum/crafting_recipe/cloth name = "Cloth bolt" result = /obj/item/stack/material/cloth @@ -13,9 +16,8 @@ category = CAT_PRIMAL /* - * Clothing + * Primitive Clothing */ - /datum/crafting_recipe/primitive_clothes name = "primitive clothes" result = /obj/item/clothing/under/primitive diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 96ce6d7356..efb84bbc85 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -702,7 +702,7 @@ desc = "Spooky!" gender = PLURAL icon = 'icons/obj/wizard.dmi' - icon_state = "ectoplasm" + icon_state = "ectoplasm2" /obj/item/weapon/research name = "research debugging device" diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index fc2e6c2534..9f505f903f 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -1,8 +1,11 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop) +/* + * Mop + */ /obj/item/weapon/mop - desc = "The world of janitalia wouldn't be complete without a mop." name = "mop" + desc = "The world of janitalia wouldn't be complete without a mop." icon = 'icons/obj/janitor.dmi' icon_state = "mop" force = 3.0 @@ -39,3 +42,38 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop) if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap)) return ..() + +/* + * Advanced Mop + */ +/obj/item/weapon/mop/advanced + name = "advanced mop" + desc = "No stain will go unclean." + icon = 'icons/obj/janitor.dmi' + icon_state = "adv_mop" + force = 3.5 + throwforce = 10.5 + throw_speed = 4 + throw_range = 10 + w_class = ITEMSIZE_NORMAL + flags = NOCONDUCT + attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") + +/obj/item/weapon/mop/advanced/New() + create_reagents(30) + ..() + +/obj/item/weapon/mop/advanced/afterattack(atom/A, mob/user, proximity) + if(!proximity) return + if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) + if(reagents.total_volume < 1) + to_chat(user, "Your mop is dry!") + return + + user.visible_message("[user] begins to clean \the [get_turf(A)].") + + if(do_after(user, 20)) + var/turf/T = get_turf(A) + if(T) + T.clean(src, user) + to_chat(user, "You have finished mopping!") \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm index 4e9f2f66e0..4f1e1efd9d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm @@ -1,7 +1,16 @@ /datum/category_item/catalogue/fauna/skeleton name = "Alien Wildlife - Space Skeleton" - desc = "A creature consisting primarily of what appears to be bones with no apparent connective tissue, muscle, or organs.\ - It is not clear at all how this creature even operates." + desc = "Classification: Sentientis osseous\ +

\ + No one, not scientist or wildlife expert can properly explain these spacial skeletons with any solid \ + certanty. They are not human, despite the clear simularites to a human's skeleton, nor are they made of \ + calcium like normal bones. Samples taken from the corpses of these strange creatures have yieled little \ + in the form of answers and have only raised more questions with regards to their general existence. \ + Scientist are still studying these beings, a difficult task as they are difficult to come by in the \ + vaccum of space. The only information that scientist are able to gather about these so-called 'Space \ + Skeletons' as people have come to call them is that their structure is comprised of a strange cell \ + structure that is similar to plants - likely because these creatures are known to feed of the UV \ + rays of nearby stars." value = CATALOGUER_REWARD_MEDIUM /mob/living/simple_mob/vore/alienanimals/skeleton @@ -67,6 +76,11 @@ vore_default_contamination_color = "grey" vore_default_item_mode = IM_DIGEST +/mob/living/simple_mob/vore/alienanimals/skeleton/alt + icon_state = "altskeleton" + icon_living = "altskeleton" + icon_dead = "altskeleton_dead" + /datum/say_list/skeleton speak = list("Nyeh heh heeeh","NYAAAAHHHH", "Books are the real treasures of the world!", "Why are skeletons so calm? Because nothing gets under their skin.","When does a skeleton laugh? When someone tickels their funny bone!","What is a skeleton’s favorite mode of transport? A scare-plane.", "What did the skeleton say to the vampire? 'You suck.'","What is a skeleton’s favorite thing to do with their cell phone? Take skelfies.", "How did the skeleton know the other skeleton was lying? He could see right through him.","What’s a skeleton’s least favorite room in the house? The living room.", "How much does an elephant skeleton weigh? Skele-tons.", "Why do skeletons drink so much milk? It’s good for the bones!", "Where do bad jokes about skeletons belong? In the skelebin.","What does a skeleton use to cut through objects? A shoulder blade.", "What kind of jokes do skeletons tell? Humerus ones.") emote_see = list("spins its head around", "shuffles","shambles","practices on the xylophone","drinks some milk","looks at you. Its hollow, bottomless sockets gaze into you greedily.") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm index b8de4885ba..0520bd5351 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm @@ -71,7 +71,7 @@ "rad" = 100 ) - loot_list = list(/obj/item/weapon/ore/diamond = 100) + loot_list = list(/obj/item/weapon/ore/diamond = 100, /obj/item/weapon/ectoplasm = 3) speak_emote = list("rumbles") @@ -101,14 +101,14 @@ /mob/living/simple_mob/vore/alienanimals/space_ghost/shoot(atom/A) //We're shooting ghosts at people and need them to have the same faction as their parent, okay? if(!projectiletype) - return + return if(A == get_turf(src)) return face_atom(A) if(reload_count >= reload_max) return var/mob/living/simple_mob/P = new projectiletype(loc, src) - + if(!P) return if(needs_reload) diff --git a/code/modules/research/designs/misc.dm b/code/modules/research/designs/misc.dm index 3e81be232e..c008eec25d 100644 --- a/code/modules/research/designs/misc.dm +++ b/code/modules/research/designs/misc.dm @@ -80,4 +80,13 @@ req_tech = list(TECH_ILLEGAL = 2, TECH_MATERIAL = 2) materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000) build_path = /obj/item/device/binoculars/scope - sort_string = "TBAAD" \ No newline at end of file + sort_string = "TBAAD" + +/datum/design/item/general/advmop + name = "advanced mop" + desc = "An advanced mop with pressured water jets that break away the toughest stains." + id = "advmop" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 5, TECH_BIO = 1) + materials = list(MAT_STEEL = 5000, MAT_GLASS = 2000, MAT_GOLD = 1000) + build_path = /obj/item/weapon/mop/advanced + sort_string = "TBAAE" \ No newline at end of file diff --git a/icons/mob/alienanimals_x32.dmi b/icons/mob/alienanimals_x32.dmi index ca61bbf9a0..d94f79a81e 100644 Binary files a/icons/mob/alienanimals_x32.dmi and b/icons/mob/alienanimals_x32.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 61920eb274..9f5fca36d8 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 0878311519..36235039b5 100644 Binary files a/icons/obj/wizard.dmi and b/icons/obj/wizard.dmi differ