mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-03-22 11:43:12 +00:00
Merge pull request #12575 from GhostActual/tg-port-1
The Grand /TG Port - Part 1
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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, "<span class='notice'>Your mop is dry!</span>")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>[user] begins to clean \the [get_turf(A)].</span>")
|
||||
|
||||
if(do_after(user, 20))
|
||||
var/turf/T = get_turf(A)
|
||||
if(T)
|
||||
T.clean(src, user)
|
||||
to_chat(user, "<span class='notice'>You have finished mopping!</span>")
|
||||
@@ -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\
|
||||
<br><br>\
|
||||
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.")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
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"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 95 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Reference in New Issue
Block a user