diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 1a22a89eddc..9f724531990 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -955,20 +955,6 @@ new /obj/item/weapon/glass( src ) */ -/obj/item/weapon/storage/cupbox - name = "Paper-cup Box" - icon_state = "box" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - New() - ..() - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) /obj/structure/falsewall name = "wall" diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 3af3362be9b..694f9ed4ca1 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -56,6 +56,21 @@ /obj/item/weapon/storage/box/syndicate +/obj/item/weapon/storage/cupbox + name = "Paper-cup Box" + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + New() + ..() + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + /obj/item/weapon/storage/pillbottlebox name = "pill bottles" desc = "A box of pill bottles." diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 6932c7c71e7..06061dad58b 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -239,12 +239,16 @@ user.Weaken(5) return -/obj/item/toy/crayonbox +/obj/item/weapon/storage/crayonbox name = "box of crayons" desc = "A box of crayons for all your rune drawing needs." icon = 'crayons.dmi' icon_state = "crayonbox" w_class = 2.0 + storage_slots = 6 + can_hold = list( + "/obj/item/toy/crayon" + ) /obj/item/toy/crayon name = "crayon" diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 171eda2bb4a..31a5fd0e691 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -169,7 +169,7 @@ H.equip_if_possible(new /obj/item/weapon/bikehorn(H), H.slot_in_backpack) H.equip_if_possible(new /obj/item/weapon/stamp/clown(H), H.slot_in_backpack) H.equip_if_possible(new /obj/item/toy/crayon/rainbow(H), H.slot_in_backpack) - H.equip_if_possible(new /obj/item/toy/crayonbox(H), H.slot_in_backpack) + H.equip_if_possible(new /obj/item/weapon/storage/crayonbox(H), H.slot_in_backpack) H.mutations |= CLOWN return 1 diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 4df049b2a99..d3f0924cee3 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -158,7 +158,7 @@ new /obj/item/clothing/suit/syndicatefake(src.loc) new /obj/item/clothing/head/syndicatefake(src.loc) if(8) - new /obj/item/toy/crayonbox(src.loc) + new /obj/item/weapon/storage/crayonbox(src.loc) if(9) new /obj/item/toy/spinningtoy(src.loc) if(10) diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index d40972ec5fd..129411b89c4 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -97,7 +97,7 @@ return //This proc is called when you want to place an item into the storage item. -/obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob) ..() if(isrobot(user)) user << "\blue You're a robot. No." diff --git a/code/game/objects/toys.dm b/code/game/objects/toys.dm index 1b54d5fd175..37fbd0e6fc6 100644 --- a/code/game/objects/toys.dm +++ b/code/game/objects/toys.dm @@ -2,7 +2,7 @@ //CONTAINS CRAYONS --------*/ -/obj/item/toy/crayonbox/New() +/obj/item/weapon/storage/crayonbox/New() ..() new /obj/item/toy/crayon/red(src) new /obj/item/toy/crayon/orange(src) @@ -12,13 +12,13 @@ CRAYONS new /obj/item/toy/crayon/purple(src) updateIcon() -/obj/item/toy/crayonbox/proc/updateIcon() +/obj/item/weapon/storage/crayonbox/proc/updateIcon() overlays = list() //resets list overlays += image('crayons.dmi',"crayonbox") for(var/obj/item/toy/crayon/crayon in contents) overlays += image('crayons.dmi',crayon.colourName) -/obj/item/toy/crayonbox/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/weapon/storage/crayonbox/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/toy/crayon)) switch(W:colourName) if("mime") @@ -27,38 +27,12 @@ CRAYONS if("rainbow") usr << "This crayon is too powerful to be contained in this box." return - else - usr << "You add the crayon to the box." - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - W.dropped(user) - add_fingerprint(user) - updateIcon() - return - else - ..() + ..() + updateIcon() -/obj/item/toy/crayonbox/attack_hand(mob/user as mob) - if(user.r_hand == src || user.l_hand == src) - if(!contents.len) - user << "\red You're out of crayons!" - return - else - var/crayon = pick(contents) - user.contents += crayon - if(user.hand) - user.l_hand = crayon - else - user.r_hand = crayon - crayon:layer = 20 - user << "You take the [crayon:colourName] crayon out of the box." - updateIcon() - else - return ..() - icon_state = "crayonbox[contents.len]" - return +/obj/item/weapon/storage/crayonbox/attack_hand(mob/user as mob) + updateIcon() + ..() /obj/item/toy/crayon/red icon_state = "crayonred" @@ -160,6 +134,14 @@ CRAYONS else ..() +/obj/item/toy/crayon/attack_hand(mob/user as mob) + var/obj/item/weapon/storage/crayonbox/CB + if(istype(src.loc, /obj/item/weapon/storage/crayonbox)) + CB = src.loc + ..() + if(CB) + CB.updateIcon() + /obj/effect/decal/cleanable/crayon name = "rune" desc = "A rune drawn in crayon." diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 2dd1ad31520..86aa062de9c 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -1438,7 +1438,7 @@ "aBH" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27;12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/chapel/office) "aBI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aBJ" = (/obj/structure/stool/chair,/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aBK" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/toy/crayonbox,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) +"aBK" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/crayonbox,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aBL" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "aBM" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) "aBN" = (/obj/machinery/driver_button{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) @@ -6345,7 +6345,7 @@ "csa" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "csb" = (/obj{anchored = 1; icon = 'shuttle.dmi'; icon_state = "floor"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/escape/centcom) "csc" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"csd" = (/obj/structure/rack,/obj/item/toy/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) +"csd" = (/obj/structure/rack,/obj/item/weapon/storage/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "cse" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "csf" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "crab"; name = "crab"},/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding) "csg" = (/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding) diff --git a/maps/uterus.dmm b/maps/uterus.dmm index ef05e96b582..da47a65ea35 100644 --- a/maps/uterus.dmm +++ b/maps/uterus.dmm @@ -1233,7 +1233,7 @@ "axK" = (/obj/machinery/alarm{frequency = 1437; pixel_y = 23},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "axL" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "axM" = (/obj/structure/stool/chair,/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"axN" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/toy/crayonbox,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) +"axN" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/crayonbox,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "axO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "axP" = (/obj/structure/closet/wardrobe/chaplain_black,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) "axQ" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry) @@ -3149,7 +3149,7 @@ "biC" = (/turf/simulated/wall/r_wall,/area/maintenance/asmaint2) "biD" = (/obj/machinery/atmospherics/pipe/simple,/obj/effect/sign/vacuum,/turf/simulated/wall/r_wall,/area/maintenance/asmaint2) "biE" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"biF" = (/obj/structure/table/woodentable,/obj/item/toy/crayonbox,/turf/simulated/floor{dir = 10; icon_state = "carpetside"},/area/crew_quarters) +"biF" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/crayonbox,/turf/simulated/floor{dir = 10; icon_state = "carpetside"},/area/crew_quarters) "biG" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "carpetside"},/area/crew_quarters) "biH" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "carpetside"},/area/crew_quarters) "biI" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "carpetside"},/area/crew_quarters) @@ -5408,7 +5408,7 @@ "bZZ" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "NTrasen"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) "caa" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) "cab" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"cac" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'icons/obj/assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) +"cac" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) "cad" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) "cae" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) "caf" = (/obj/effect/landmark{name = "Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) @@ -5584,7 +5584,7 @@ "cdt" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) "cdu" = (/obj{anchored = 1; icon = 'shuttle.dmi'; icon_state = "floor"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/escape/centcom) "cdv" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"cdw" = (/obj/structure/rack,/obj/item/toy/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) +"cdw" = (/obj/structure/rack,/obj/item/weapon/storage/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "cdx" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) "cdy" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "crab"; name = "crab"},/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding) "cdz" = (/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding)