mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 19:52:40 +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/face_hugger = 1,
|
||||||
/obj/item/toy/plushie/carp = 1,
|
/obj/item/toy/plushie/carp = 1,
|
||||||
/obj/item/toy/plushie/deer = 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,
|
premium = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/champagne = 1,
|
||||||
/obj/item/weapon/storage/trinketbox = 2)
|
/obj/item/weapon/storage/trinketbox = 2)
|
||||||
prices = list(/obj/item/weapon/storage/fancy/heartbox = 15,
|
prices = list(/obj/item/weapon/storage/fancy/heartbox = 15,
|
||||||
@@ -1156,7 +1157,8 @@
|
|||||||
/obj/item/toy/plushie/face_hugger = 50,
|
/obj/item/toy/plushie/face_hugger = 50,
|
||||||
/obj/item/toy/plushie/carp = 50,
|
/obj/item/toy/plushie/carp = 50,
|
||||||
/obj/item/toy/plushie/deer = 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
|
/obj/machinery/vending/fishing
|
||||||
name = "Loot Trawler"
|
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
|
anchored = 0
|
||||||
density = 1
|
density = 1
|
||||||
var/phrase = "I don't want to exist anymore!"
|
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)
|
/obj/structure/plushie/attack_hand(mob/user)
|
||||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
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)
|
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>")
|
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)
|
else if (user.a_intent == I_HURT)
|
||||||
@@ -894,6 +916,34 @@
|
|||||||
visible_message("[src] says, \"[phrase]\"")
|
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
|
/obj/structure/plushie/ian
|
||||||
name = "plush corgi"
|
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\"?"
|
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
|
w_class = ITEMSIZE_TINY
|
||||||
var/last_message = 0
|
var/last_message = 0
|
||||||
var/pokephrase = "Uww!"
|
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)
|
/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)
|
if(world.time - last_message <= 1 SECOND)
|
||||||
return
|
return
|
||||||
if(user.a_intent == I_HELP)
|
if(user.a_intent == I_HELP)
|
||||||
@@ -961,6 +1033,31 @@
|
|||||||
if(istype(I, /obj/item/toy/plushie) || istype(I, /obj/item/organ/external/head))
|
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>", \
|
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>")
|
"<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 ..()
|
return ..()
|
||||||
|
|
||||||
/obj/item/toy/plushie/nymph
|
/obj/item/toy/plushie/nymph
|
||||||
|
|||||||
@@ -222,6 +222,44 @@
|
|||||||
icon_state = "plant-01"
|
icon_state = "plant-01"
|
||||||
|
|
||||||
plane = OBJ_PLANE
|
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
|
/obj/structure/flora/pottedplant/large
|
||||||
name = "large potted plant"
|
name = "large potted plant"
|
||||||
|
|||||||
@@ -1021,6 +1021,7 @@
|
|||||||
#include "code\game\objects\items\poi_items.dm"
|
#include "code\game\objects\items\poi_items.dm"
|
||||||
#include "code\game\objects\items\robobag.dm"
|
#include "code\game\objects\items\robobag.dm"
|
||||||
#include "code\game\objects\items\shooting_range.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\toys.dm"
|
||||||
#include "code\game\objects\items\trash.dm"
|
#include "code\game\objects\items\trash.dm"
|
||||||
#include "code\game\objects\items\trash_vr.dm"
|
#include "code\game\objects\items\trash_vr.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user