mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
Merge pull request #7377 from Tayyyyyyy/skrell_hair
Skrell can hold stuff in their tentacles
This commit is contained in:
@@ -444,6 +444,17 @@
|
||||
|
||||
dat += "<tr><td><B>Head:</B></td><td><A href='?src=[UID()];item=[slot_head]'>[(head && !(head.flags&ABSTRACT)) ? head : "<font color=grey>Empty</font>"]</A></td></tr>"
|
||||
|
||||
var/obj/item/organ/internal/headpocket/C = get_int_organ(/obj/item/organ/internal/headpocket)
|
||||
if(C)
|
||||
if(slot_wear_mask in obscured)
|
||||
dat += "<tr><td><font color=grey> ↳<B>Headpocket:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
var/list/items = C.get_contents()
|
||||
if(items.len)
|
||||
dat += "<tr><td> ↳<B>Headpocket:</B></td><td><A href='?src=[UID()];dislodge_headpocket=1'>Dislodge Items</A></td></tr>"
|
||||
else
|
||||
dat += "<tr><td> ↳<B>Headpocket:</B></td><td><font color=grey>Empty</font></td></tr>"
|
||||
|
||||
if(slot_wear_mask in obscured)
|
||||
dat += "<tr><td><font color=grey><B>Mask:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
|
||||
else
|
||||
@@ -739,6 +750,16 @@
|
||||
var/obj/item/clothing/under/U = w_uniform
|
||||
U.set_sensors(usr)
|
||||
|
||||
if(href_list["dislodge_headpocket"])
|
||||
usr.visible_message("<span class='danger'>[usr] is trying to remove something from [src]'s head!</span>",
|
||||
"<span class='danger'>You start to dislodge whatever's inside [src]'s headpocket!</span>")
|
||||
if(do_mob(usr, src, POCKET_STRIP_DELAY))
|
||||
usr.visible_message("<span class='danger'>[usr] has dislodged something from [src]'s head!</span>",
|
||||
"<span class='danger'>You have dislodged everything from [src]'s headpocket!</span>")
|
||||
var/obj/item/organ/internal/headpocket/C = get_int_organ(/obj/item/organ/internal/headpocket)
|
||||
C.empty_contents()
|
||||
add_logs(usr, src, "stripped", addition="of headpocket items", print_attack_log=isLivingSSD(src))
|
||||
|
||||
if(href_list["strip_accessory"])
|
||||
if(istype(w_uniform, /obj/item/clothing/under))
|
||||
var/obj/item/clothing/under/U = w_uniform
|
||||
|
||||
@@ -230,7 +230,8 @@
|
||||
"kidneys" = /obj/item/organ/internal/kidneys,
|
||||
"brain" = /obj/item/organ/internal/brain,
|
||||
"appendix" = /obj/item/organ/internal/appendix,
|
||||
"eyes" = /obj/item/organ/internal/eyes //Default darksight of 2.
|
||||
"eyes" = /obj/item/organ/internal/eyes, //Default darksight of 2.
|
||||
"headpocket" = /obj/item/organ/internal/headpocket
|
||||
)
|
||||
|
||||
suicide_messages = list(
|
||||
|
||||
@@ -1,3 +1,63 @@
|
||||
/obj/item/organ/internal/liver/skrell
|
||||
alcohol_intensity = 4
|
||||
species = "Skrell"
|
||||
|
||||
/obj/item/organ/internal/headpocket
|
||||
name = "headpocket"
|
||||
desc = "Allows Skrell to hide tiny objects within their head tentacles."
|
||||
icon_state = "skrell_headpocket"
|
||||
origin_tech = "biotech=2"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
parent_organ = "head"
|
||||
slot = "headpocket"
|
||||
species = "Skrell"
|
||||
actions_types = list(/datum/action/item_action/organ_action/toggle)
|
||||
var/obj/item/weapon/storage/internal/pocket
|
||||
|
||||
/obj/item/organ/internal/headpocket/New()
|
||||
..()
|
||||
pocket = new /obj/item/weapon/storage/internal(src)
|
||||
pocket.storage_slots = 1
|
||||
// Allow adjacency calculation to work properly
|
||||
loc = owner
|
||||
// Fit only pocket sized items
|
||||
pocket.max_w_class = 2
|
||||
pocket.max_combined_w_class = 2
|
||||
|
||||
/obj/item/organ/internal/headpocket/on_life()
|
||||
..()
|
||||
var/obj/item/organ/external/head/head = owner.get_organ("head")
|
||||
if(pocket.contents.len && (owner.stunned || !findtextEx(head.h_style, "Tentacles")))
|
||||
owner.visible_message("<span class='notice'>Something falls from [owner]'s head!</span>",
|
||||
"<span class='notice'>Something falls from your head!</span>")
|
||||
empty_contents()
|
||||
|
||||
/obj/item/organ/internal/headpocket/ui_action_click()
|
||||
if(!loc)
|
||||
loc = owner
|
||||
pocket.MouseDrop(owner)
|
||||
|
||||
/obj/item/organ/internal/headpocket/on_owner_death()
|
||||
empty_contents()
|
||||
|
||||
/obj/item/organ/internal/headpocket/remove()
|
||||
empty_contents()
|
||||
. = ..()
|
||||
|
||||
/obj/item/organ/internal/headpocket/proc/empty_contents()
|
||||
pocket.empty_object_contents(0, get_turf(owner))
|
||||
|
||||
/obj/item/organ/internal/headpocket/proc/get_contents()
|
||||
return pocket.contents
|
||||
|
||||
/obj/item/organ/internal/headpocket/emp_act(severity)
|
||||
pocket.emp_act(severity)
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/headpocket/hear_talk(mob/living/M as mob, msg)
|
||||
pocket.hear_talk(M, msg)
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/headpocket/hear_message(mob/living/M as mob, msg)
|
||||
pocket.hear_message(M, msg)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user