mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Hide items in plant pots and plushies
This commit is contained in:
@@ -1128,7 +1128,8 @@
|
||||
/obj/item/toy/plushie/face_hugger = 1,
|
||||
/obj/item/toy/plushie/carp = 1,
|
||||
/obj/item/toy/plushie/deer = 1,
|
||||
/obj/item/toy/plushie/tabby_cat = 1)
|
||||
/obj/item/toy/plushie/tabby_cat = 1,
|
||||
/obj/item/device/threadneedle = 3)
|
||||
premium = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne = 1,
|
||||
/obj/item/weapon/storage/trinketbox = 2)
|
||||
prices = list(/obj/item/weapon/storage/fancy/heartbox = 15,
|
||||
@@ -1156,7 +1157,8 @@
|
||||
/obj/item/toy/plushie/face_hugger = 50,
|
||||
/obj/item/toy/plushie/carp = 50,
|
||||
/obj/item/toy/plushie/deer = 50,
|
||||
/obj/item/toy/plushie/tabby_cat = 50)
|
||||
/obj/item/toy/plushie/tabby_cat = 50,
|
||||
/obj/item/device/threadneedle = 2)
|
||||
|
||||
/obj/machinery/vending/fishing
|
||||
name = "Loot Trawler"
|
||||
|
||||
7
code/game/objects/items/tailoring.dm
Normal file
7
code/game/objects/items/tailoring.dm
Normal file
@@ -0,0 +1,7 @@
|
||||
// I like the idea of this item having more uses in future.
|
||||
|
||||
/obj/item/device/threadneedle
|
||||
name = "thread and needle"
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "needle_thread"
|
||||
desc = "Used for most sewing and tailoring applications."
|
||||
@@ -880,9 +880,31 @@
|
||||
anchored = 0
|
||||
density = 1
|
||||
var/phrase = "I don't want to exist anymore!"
|
||||
|
||||
var/searching = FALSE
|
||||
var/opened = FALSE // has this been slit open? this will allow you to store an object in a plushie.
|
||||
var/obj/item/stored_item // Note: Stored items can't be bigger than the plushie itself.
|
||||
|
||||
/obj/structure/plushie/examine(mob/user)
|
||||
..()
|
||||
if(opened)
|
||||
to_chat(user, "<i>You notice an incision has been made on [src].</i>")
|
||||
if(in_range(user, src) && stored_item)
|
||||
to_chat(user, "<i>You can see something in there...</i>")
|
||||
|
||||
/obj/structure/plushie/attack_hand(mob/user)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
|
||||
if(stored_item && !searching)
|
||||
searching = TRUE
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!")
|
||||
stored_item.forceMove(get_turf(src))
|
||||
stored_item = null
|
||||
searching = FALSE
|
||||
return
|
||||
else
|
||||
searching = FALSE
|
||||
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message("<span class='notice'><b>\The [user]</b> hugs [src]!</span>","<span class='notice'>You hug [src]!</span>")
|
||||
else if (user.a_intent == I_HURT)
|
||||
@@ -894,6 +916,34 @@
|
||||
visible_message("[src] says, \"[phrase]\"")
|
||||
|
||||
|
||||
/obj/structure/plushie/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/device/threadneedle) && opened)
|
||||
to_chat(user, "You sew the hole in [src].")
|
||||
opened = FALSE
|
||||
return
|
||||
|
||||
if(is_sharp(I) && !opened)
|
||||
to_chat(user, "You open a small incision in [src]. You can place tiny items inside.")
|
||||
opened = TRUE
|
||||
return
|
||||
|
||||
if(opened)
|
||||
if(stored_item)
|
||||
to_chat(user, "There is already something in here.")
|
||||
return
|
||||
|
||||
if(!(I.w_class > w_class))
|
||||
to_chat(user, "You place [I] inside [src].")
|
||||
user.drop_from_inventory(I, src)
|
||||
I.forceMove(src)
|
||||
stored_item = I
|
||||
return
|
||||
else
|
||||
to_chat(user, "You open a small incision in [src]. You can place tiny items inside.")
|
||||
|
||||
|
||||
..()
|
||||
|
||||
/obj/structure/plushie/ian
|
||||
name = "plush corgi"
|
||||
desc = "A plushie of an adorable corgi! Don't you just want to hug it and squeeze it and call it \"Ian\"?"
|
||||
@@ -927,8 +977,30 @@
|
||||
w_class = ITEMSIZE_TINY
|
||||
var/last_message = 0
|
||||
var/pokephrase = "Uww!"
|
||||
var/searching = FALSE
|
||||
var/opened = FALSE // has this been slit open? this will allow you to store an object in a plushie.
|
||||
var/obj/item/stored_item // Note: Stored items can't be bigger than the plushie itself.
|
||||
|
||||
|
||||
/obj/item/toy/plushie/examine(mob/user)
|
||||
..()
|
||||
if(opened)
|
||||
to_chat(user, "<i>You notice an incision has been made on [src].</i>")
|
||||
if(in_range(user, src) && stored_item)
|
||||
to_chat(user, "<i>You can see something in there...</i>")
|
||||
|
||||
/obj/item/toy/plushie/attack_self(mob/user as mob)
|
||||
if(stored_item && !searching)
|
||||
searching = TRUE
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!")
|
||||
stored_item.forceMove(get_turf(src))
|
||||
stored_item = null
|
||||
searching = FALSE
|
||||
return
|
||||
else
|
||||
searching = FALSE
|
||||
|
||||
if(world.time - last_message <= 1 SECOND)
|
||||
return
|
||||
if(user.a_intent == I_HELP)
|
||||
@@ -961,6 +1033,31 @@
|
||||
if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head))
|
||||
user.visible_message("<span class='notice'>[user] makes \the [I] kiss \the [src]!.</span>", \
|
||||
"<span class='notice'>You make \the [I] kiss \the [src]!.</span>")
|
||||
return
|
||||
|
||||
|
||||
if(istype(I, /obj/item/device/threadneedle) && opened)
|
||||
to_chat(user, "You sew the hole underneath [src].")
|
||||
opened = FALSE
|
||||
return
|
||||
|
||||
if(is_sharp(I) && !opened)
|
||||
to_chat(user, "You open a small incision in [src]. You can place tiny items inside.")
|
||||
opened = TRUE
|
||||
return
|
||||
|
||||
if( (!(I.w_class > w_class)) && opened)
|
||||
if(stored_item)
|
||||
to_chat(user, "There is already something in here.")
|
||||
return
|
||||
|
||||
to_chat(user, "You place [I] inside [src].")
|
||||
user.drop_from_inventory(I, src)
|
||||
I.forceMove(src)
|
||||
stored_item = I
|
||||
to_chat(user, "You placed [I] into [src].")
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/nymph
|
||||
|
||||
@@ -222,6 +222,44 @@
|
||||
icon_state = "plant-01"
|
||||
|
||||
plane = OBJ_PLANE
|
||||
var/obj/item/stored_item
|
||||
|
||||
/obj/structure/flora/pottedplant/examine(mob/user)
|
||||
..()
|
||||
if(in_range(user, src) && stored_item)
|
||||
to_chat(user, "<i>You can see something in there...</i>")
|
||||
|
||||
/obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user)
|
||||
if(stored_item)
|
||||
to_chat(user, "<span class='notice'>[I] won't fit in. There already appears to be something in here...</span>")
|
||||
return
|
||||
|
||||
if(I.w_class > ITEMSIZE_TINY)
|
||||
to_chat(user, "<span class='notice'>[I] is too big to fit inside [src].</span>")
|
||||
return
|
||||
|
||||
if(do_after(user, 10))
|
||||
user.drop_from_inventory(I, src)
|
||||
I.forceMove(src)
|
||||
stored_item = I
|
||||
src.visible_message("\icon[src] \icon[I] [user] places [I] into [src].")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You refrain from putting things into the plant pot.</span>")
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/obj/structure/flora/pottedplant/attack_hand(mob/user)
|
||||
if(!stored_item)
|
||||
to_chat(user, "<b>You see nothing of interest in [src]...</b>")
|
||||
else
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!")
|
||||
stored_item.forceMove(get_turf(src))
|
||||
stored_item = null
|
||||
..()
|
||||
|
||||
|
||||
/obj/structure/flora/pottedplant/large
|
||||
name = "large potted plant"
|
||||
|
||||
@@ -1021,6 +1021,7 @@
|
||||
#include "code\game\objects\items\poi_items.dm"
|
||||
#include "code\game\objects\items\robobag.dm"
|
||||
#include "code\game\objects\items\shooting_range.dm"
|
||||
#include "code\game\objects\items\tailoring.dm"
|
||||
#include "code\game\objects\items\toys.dm"
|
||||
#include "code\game\objects\items\trash.dm"
|
||||
#include "code\game\objects\items\trash_vr.dm"
|
||||
|
||||
Reference in New Issue
Block a user