From c2bae17f16a54ee86b44e7d4cb4f4d0e0a495d81 Mon Sep 17 00:00:00 2001 From: Sylphet <58074918+Sylphet@users.noreply.github.com> Date: Sat, 2 Mar 2024 09:44:55 +0000 Subject: [PATCH] Lunchboxes (#1020) ## About The Pull Request This PR adds lunchboxes, available in your loadout under "other". It can only hold food and drinks, and it's limited to 4 slots so you can't stuff it with 12 big bite burgers and never visit the kitchen again. There's seve- ...uh, _**six**_ options to pick from, those being - - Nanotrasen - Medical - Safety Moth - Hearts - Corgi - Rabbit - the other one ## Why It's Good For The Game It adds cute RP stuff, you can pack lunches for your friends, you can take your food to go if you're in a hurry - but not so much food that you don't need to go to the kitchen anymore. ## Proof Of Testing ![lunchbox](https://github.com/Bubberstation/Bubberstation/assets/58074918/289866b7-dab4-4618-b218-dcfe93016a5b) ## Changelog :cl: add: adds lunchboxes that hold food and drinks to the loadout image: added lunchbox sprites /:cl: --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> --- .../loadout_items/loadout_datum_pocket.dm | 32 +++++++++ .../modules/lunchbox/code/lunchbox.dm | 62 ++++++++++++++++++ .../modules/lunchbox/icons/lunchbox.dmi | Bin 0 -> 1548 bytes .../lunchbox/icons/lunchbox_lefthand.dmi | Bin 0 -> 849 bytes .../lunchbox/icons/lunchbox_righthand.dmi | Bin 0 -> 860 bytes tgstation.dme | 1 + 6 files changed, 95 insertions(+) create mode 100644 modular_zubbers/modules/lunchbox/code/lunchbox.dm create mode 100644 modular_zubbers/modules/lunchbox/icons/lunchbox.dmi create mode 100644 modular_zubbers/modules/lunchbox/icons/lunchbox_lefthand.dmi create mode 100644 modular_zubbers/modules/lunchbox/icons/lunchbox_righthand.dmi diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_pocket.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_pocket.dm index da283f05b73..116fd7a9b1a 100644 --- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_pocket.dm +++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_pocket.dm @@ -49,6 +49,38 @@ GLOBAL_LIST_INIT(loadout_pocket_items, generate_loadout_items(/datum/loadout_ite if(!equipper.equip_to_slot_if_possible(wallet, slot = ITEM_SLOT_BACKPACK, initial = TRUE)) wallet.forceMove(equipper.drop_location()) +/* +* LUNCHBOX +*/ + +/datum/loadout_item/pocket_items/lunchbox_nanotrasen + name = "Nanotrasen Lunchbox" + item_path = /obj/item/storage/lunchbox/nanotrasen + +/datum/loadout_item/pocket_items/lunchbox_medical + name = "Medical Lunchbox" + item_path = /obj/item/storage/lunchbox/medical + +/datum/loadout_item/pocket_items/lunchbox_bunny + name = "Bunny Lunchbox" + item_path = /obj/item/storage/lunchbox/bunny + +/datum/loadout_item/pocket_items/lunchbox_corgi + name = "Corgi Lunchbox" + item_path = /obj/item/storage/lunchbox/corgi + +/datum/loadout_item/pocket_items/lunchbox_heart + name = "Heart Lunchbox" + item_path = /obj/item/storage/lunchbox/heart + +/datum/loadout_item/pocket_items/lunchbox_safetymoth + name = "Safety Moth Lunchbox" + item_path = /obj/item/storage/lunchbox/safetymoth + +/datum/loadout_item/pocket_items/lunchbox_amongus + name = "Suspicious Red Lunchbox" + item_path = /obj/item/storage/lunchbox/amongus + /* * GUM */ diff --git a/modular_zubbers/modules/lunchbox/code/lunchbox.dm b/modular_zubbers/modules/lunchbox/code/lunchbox.dm new file mode 100644 index 00000000000..87ffe49b9c9 --- /dev/null +++ b/modular_zubbers/modules/lunchbox/code/lunchbox.dm @@ -0,0 +1,62 @@ +/obj/item/storage/lunchbox + name = "lunchbox" + icon = 'modular_zubbers/modules/lunchbox/icons/lunchbox.dmi' + icon_state = "lunchbox" + desc = "It's fucked, yell at coders." + inhand_icon_state = "lunchbox" + lefthand_file = 'modular_zubbers/modules/lunchbox/icons/lunchbox_lefthand.dmi' + righthand_file = 'modular_zubbers/modules/lunchbox/icons/lunchbox_righthand.dmi' + drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' + pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + throw_speed = 3 + throw_range = 7 + +/obj/item/storage/lunchbox/Initialize(mapload) + . = ..() + atom_storage.max_slots = 4 + atom_storage.set_holdable(list( + /obj/item/food, + /obj/item/reagent_containers/cup, + )) + +/obj/item/storage/lunchbox/nanotrasen + name = "nanotrasen lunchbox" + icon_state = "lunchbox_nanotrasen" + inhand_icon_state = "lunchbox_nanotrasen" + desc = "A refined blue lunchbox to show your support for everyone's favourite megacorporation." + +/obj/item/storage/lunchbox/medical + name = "medical lunchbox" + icon_state = "lunchbox_medical" + inhand_icon_state = "lunchbox_medical" + desc = "A green lunchbox, designed for hungry doctors." + +/obj/item/storage/lunchbox/bunny + name = "rabbit lunchbox" + icon_state = "lunchbox_bunny" + inhand_icon_state = "lunchbox" + desc = "An adorable lunchbox with a rabbit printed on it." + +/obj/item/storage/lunchbox/corgi + name = "corgi lunchbox" + icon_state = "lunchbox_corgi" + inhand_icon_state = "lunchbox" + desc = "An adorable lunchbox with a corgi printed on it." + +/obj/item/storage/lunchbox/heart + name = "heart lunchbox" + icon_state = "lunchbox_heart" + inhand_icon_state = "lunchbox_heart" + desc = "A pink lunchbox with a heart pattern printed on it." + +/obj/item/storage/lunchbox/safetymoth + name = "safety moth lunchbox" + icon_state = "lunchbox_safetymoth" + inhand_icon_state = "lunchbox_safetymoth" + desc = "An orange, lead lined lunchbox with everyone's favourite moth printed on it." + +/obj/item/storage/lunchbox/amongus + name = "suspicious lunchbox" + icon_state = "lunchbox_suspicious" + inhand_icon_state = "lunchbox_suspicious" + desc = "A plain red lunchbox... right?" \ No newline at end of file diff --git a/modular_zubbers/modules/lunchbox/icons/lunchbox.dmi b/modular_zubbers/modules/lunchbox/icons/lunchbox.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e6dc7b9da30a551e3dd0d65090c586180b703192 GIT binary patch literal 1548 zcmV+n2J`ueP)0GV-+Z%blATc##8fY6gd-nKo+ox{?m&UBs3mBHn&hGNR5h~Zdmu&}WD zv`hd0|LW@M{Lp@*qod{J<&~9{0002%)W-Jq_9P`Kn|oi(W;57{W7*l+*=mN<4zS{d z1^S#H`K?I#qAS?g*z)r7=;r1DOe8M=0004WQchCV=-0C=2@kvk5;Fc3s*`xI8vBYrIn3PLH!6_Dd>;+2v$@~(m0o`{qP$=!_Ry=qEx zzFh0ZRJU3`Au^w$9#cp4>C_de7@tsM#;z9L^S8)F2n(|@qb`xE=~3Q z>;r3nhy_BUDbxS}1RY64K~!jg?U!qF+By)1G1vq!glk;3mpZ(PMHfG0oaD~+A+A$*+RT(!j8#>t}4W97VKDD=xVfrhSLz`G!hlGoR%o3 zm8hWObVNCwUpO^_Gn2Dnx5Ab zvPVmL(DuBxkUd(`0~=F5<3dZD3@JCc(9$MD%55&R`vKiV5XKvxZb!#z(0fc!664GO@|dn5%ggdA{*Iu6iO0(2Fey#T;keP|B=aHa(O zlnS8v7X9AeLE=%70wf+4DL~>;K>#`1_ia&NNxbU&RZ(C`yyp8gQDAeKGG)qim;yH6 z2hw=R;-NGiv3MjuzsKhLo{SLoS-dYJL<1Hd>>~t0FdPQG0OosmhmQfJj7FpJIP8xg zKI(_#F?bT6OeWK5G?+kqGKi*A@QK`K^;s{N2lF|sXD6QDU(^@i3g*sSlrv9MuymH9oMobdwX+uGtdqAWEec4B0@9*@z;y#rXhlHix}hkr1Q5Ay zBnm9;!OZh!LiT7$4;G%c5VA*0da&}mm5@DJ(t{zUJmW%3n+z#0xX{ujL&_^Iw0i(= zHth7x8wubFE;Zo#c}W03xOsa6=gR4KHCs}^?B?$7?nZu#@O)N=1n}jCQdUOWHmq?_-x^S{0V^?a|L|MdX% ze6OAVwE)e0ubuyO(#`kU`CkhV=KC*jCC3gH|2O{sN{=Nk0&G|C`hwaE;OEDO0k&Va z@R9?Lu3-Chw^IR*uV4pa_vknEU>omt@fN$hA8>pH-{Sb&cJIH$UsS=<_wP>%z|j?~ yemp(>*#AHG*HoaG@AdP)mY|vMv-v;MpVWUYv2`e->>Pyv0000Pwo?^I7KfjnR`afv_Z+&v%I?5&?C(wYnpzj3zMDFBp4P}%{(#p zaK3laK2_BV!NH9Z5}}-&ng{E*0u5y>3GxeOaCmkj4aiwo6%tY6l3JWxlvz-cnV-kN zP%&rfh0|Pz3o${yC)=qWbRq<0qOh6|2;`4;RmUdigWmMEF6JC25mpv7CKk*1^%gdEI8?p;l!U_(~_RWFEc5P-n;)7)4ZkG z;-Wu1vKSbc7(HDaLn`LHy%U&!+kl59L3h&D(#|^-A19gq|KEPjgh%4j8Rb@1-^M%a zSNPeV9r`hmpSQ6C1YUIi-1cYT5uFcV+xcZ5DYlr{Ust)xSrXtL>l*uJ+57qPz3Ttz zePUFZVE0Pv)hGUmS6S~r@)x}C(9{qZe(}q@mVazJA3PSf(K~r@|AT)kR=?PyQxT+o zDo|twL&lZR5Whn|b6p@n|G~}g_K%Ze-w5qFk$dcFV0fVXZ-GmHVkU>E-;R5&6n+_K zV{M)IPWF@AuJ2O6dimFi)frX6i|U$Zw{Y84IQ~}pe!l7V;&qEYZ#pNb674H)Y4S=- zD?Kp532OeT^ZWk)++Tlf^>VAv6V%%*S|&VuK5L0pBU^Te{neT6dv@CY7pi37OzCZM zo?O{B>w0JNiu(`L8s~3!+xfs*?2i4_o9%l}rba$z5-N5y>GCUG=Nz}QgGqQn;uLT= zb-Xxg^ZQ@A$WFe>WEp3V&&9q$a~&32Wr=|V{^@?=5b}^W?T$%b@shpk7jK@>kILFB zI**$E?_ThFLV0Y|It4@VJMvq*W7_u=iL$CONaboNK|q!7`G5bL+oJchLL7XM^;Jgl z#B1~achoR*F6lQD)3kf!dxU?2Lc*4{9o%*In!c;<{0%fKS379xZVdy*3mL(J7pH#^ Zzr4XATA}nCKQQGoc)I$ztaD0e0sy=YfZPB8 literal 0 HcmV?d00001 diff --git a/modular_zubbers/modules/lunchbox/icons/lunchbox_righthand.dmi b/modular_zubbers/modules/lunchbox/icons/lunchbox_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d5134ed51e42efb30ade1401f30661629340a035 GIT binary patch literal 860 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I8A$FCoGuTfLIQk3T>t<7A8lw6P_}u|%8iAN z*7|wr$If0}ck`3`#3@eE%Sz^+Q8R5&^7SmQZZ`Bt^T?W}VBj*-n*YLNr!)zMg;g_8 z%srg%odh&wpQ`GG;NV6HiBL|?^D>9afaWun1o;IsI6S+N2IMTP3W+FjNi9w;$}A|! z%+F(BsF*YL!fCEU1_G=XN@_o`@IYe+|a}OmsPXke$(WGwx0Lu!_KSw zwKoO-e3p}RCg|@LYrn$K%wXl;b`aYR6c>O0``&1K)ays0=R>xxJ#%``XXDWGcVi!f zWykJ$v~$(GHSgVg#d3CDy(W?$uvcrIPOA@2;$U*Pk`x{p&eZo9ZM?BLj9k770JxWOuhi{q!xc z;TB87HGlN7hC3cSE3ns7G~}H{>Se7P>x;c^OT7H+4^lo^A7Va(jrjiq|HL=y-adDJ z&u;6|)xQ_dI&J^``LE;9kgv);7<*GHwR|!t%(?!Fvwm-`p1fx* literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index cfb7bb38aef..30c337edf5a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8585,6 +8585,7 @@ #include "modular_zubbers\modules\jobs\code\trims\jobs.dm" #include "modular_zubbers\modules\loadouts\loadout_items\loadout_datum_pocket.dm" #include "modular_zubbers\modules\loadouts\overrides\loadout_items\loadout_datum.dm" +#include "modular_zubbers\modules\lunchbox\code\lunchbox.dm" #include "modular_zubbers\modules\mapping\modules\ss13_construct\areas.dm" #include "modular_zubbers\modules\mod_suits\modules.dm" #include "modular_zubbers\modules\modular_items\code\cake_light.dm"