From 74507cae05e9fd43e615130402553371f1f587ac Mon Sep 17 00:00:00 2001 From: Alberyk Date: Thu, 10 Jan 2019 20:21:38 -0200 Subject: [PATCH] Custom items 07/01 (#5924) This pr adds the following items: Mira's alchemist attire Ameline's Dominian Culinary Dress Qrqil Qrrzix's Cane Krin's outfit Aavs' mask Paul's glasses It also make the code better, by using to_chat and other minor changes. --- code/modules/customitems/item_defines.dm | 263 ++++++++++++++++++--- icons/obj/custom_items/aavs_mask.dmi | Bin 0 -> 3224 bytes icons/obj/custom_items/ameline_dress.dmi | Bin 0 -> 1329 bytes icons/obj/custom_items/grunnus_glasses.dmi | Bin 0 -> 687 bytes icons/obj/custom_items/krin_clothing.dmi | Bin 0 -> 2966 bytes icons/obj/custom_items/mira_clothing.dmi | Bin 0 -> 13003 bytes icons/obj/custom_items/qrqil_cane.dmi | Bin 0 -> 2118 bytes 7 files changed, 231 insertions(+), 32 deletions(-) create mode 100644 icons/obj/custom_items/aavs_mask.dmi create mode 100644 icons/obj/custom_items/ameline_dress.dmi create mode 100644 icons/obj/custom_items/grunnus_glasses.dmi create mode 100644 icons/obj/custom_items/krin_clothing.dmi create mode 100644 icons/obj/custom_items/mira_clothing.dmi create mode 100644 icons/obj/custom_items/qrqil_cane.dmi diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 7a3872fdfa5..98b380867fc 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -17,11 +17,11 @@ All custom items with worn sprites must follow the contained sprite system: http switch(icon_state) if("pocket_watch_open") icon_state = "pocket_watch_close" - usr << "You close \the [src]." + to_chat(user, "You close \the [src].") desc = "The design of this pocket watch signals its age, however it seems to retain its pristine quality. The cover is gold, and there appears to be an elegant crest on the outside of the lid." if("pocket_watch_close") icon_state = "pocket_watch_open" - usr << "You open \the [src]." + to_chat(user, "You open \the [src].") desc = "Inside the pocket watch, there is a collection of numbers, displaying '[worldtime2text()]'. On the inside of the lid, there is another sequence of numbers etched into the lid itself." @@ -73,7 +73,7 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/glasses/fluff/nebula_glasses/attack_self(mob/user as mob) if(chip) user.put_in_hands(chip) - user << "You eject a small, concealed data chip from a small slot in the frames of \the [src]." + to_chat(user, "You eject a small, concealed data chip from a small slot in the frames of \the [src].") chip = null /obj/item/clothing/glasses/fluff/nebula_glasses/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -83,7 +83,7 @@ All custom items with worn sprites must follow the contained sprite system: http chip = W W.add_fingerprint(user) add_fingerprint(user) - user << "You slot the [W] back into its place in the frames of \the [src]." + to_chat(user, "You slot \the [W] back into its place in the frames of \the [src].") /obj/item/weapon/disk/fluff/nebula_chip //data chip - Roxy Wallace - nebulaflare name = "data chip" @@ -120,11 +120,11 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/weapon/fluff/kiara_altar/attack_self(mob/user as mob) if(src.icon_state == "kiara_altar1") src.icon_state = "kiara_altar2" - user << "You open the pocket altar, revealing its contents." + to_chat(user, "You open \the [src], revealing its contents.") desc = "A black tin box, you can see inside; a vial of herbs, a little bag of salt, some epoxy clay runes, a candle with match, a permanent marker and a tiny besom." else src.icon_state = "kiara_altar1" - user << "You close the pocket altar." + to_chat(user, "You close \the [src].") desc = "A black tin box with a symbol painted over it. It shimmers in the light." @@ -176,9 +176,9 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/weapon/cane/fluff/usiki_cane/attack_self(mob/user as mob) if(all_languages[LANGUAGE_UNATHI] in user.languages) - user << "This cane has the words \"A new and better life\" carved into one side in basic, and on the other side in Sinta'Unathi." + to_chat(user, "This cane has the words \"A new and better life\" carved into one side in basic, and on the other side in Sinta'Unathi.") else - user << "This cane has the words \"A new and better life\" carved into the side, the other side has some unreadable carvings." + to_chat(user, "This cane has the words \"A new and better life\" carved into the side, the other side has some unreadable carvings.") /obj/item/clothing/gloves/black/fluff/kathleen_glove //Black Left Glove - Kathleen Mistral - valkywalky2 @@ -332,14 +332,14 @@ All custom items with worn sprites must follow the contained sprite system: http active= !active if(active) playsound(user, 'sound/weapons/saberon.ogg', 50, 1) - user << "\The [src] is now energised." + to_chat(user, "\The [src] is now energised.") icon_state = "tigerclaw_active" item_state = icon_state slot_flags = null attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") else playsound(user, 'sound/weapons/saberoff.ogg', 50, 1) - user << "\The [src] is now de-energised." + to_chat(user, "\The [src] is now de-energised.") icon_state = initial(icon_state) item_state = icon_state slot_flags = initial(slot_flags) @@ -369,13 +369,13 @@ All custom items with worn sprites must follow the contained sprite system: http if("fabian_coat_open") icon_state = "fabian_coat_closed" item_state = icon_state - usr << "You zip up \the [src]." + to_chat(usr, "You zip up \the [src].") if("fabian_coat_closed") icon_state = "fabian_coat_open" item_state = icon_state - usr << "You unzip \the [src]." + to_chat(usr, "You unzip \the [src].") else - usr << "You attempt to button-up the velcro on \the [src], before promptly realising how silly you are." + to_chat(usr, "You attempt to button-up the velcro on \the [src], before promptly realising how silly you are.") return usr.update_inv_wear_suit() @@ -541,7 +541,7 @@ All custom items with worn sprites must follow the contained sprite system: http set desc = "HNNNNG." if(last_special > world.time) - src << "Your chest still hurts badly!" + to_chat(src, "Your chest still hurts badly!") return last_special = world.time + 500 @@ -552,8 +552,8 @@ All custom items with worn sprites must follow the contained sprite system: http return F.take_damage(5) - src << "You feel a stabbing pain in your chest!" - playsound(src, 'sound/effects/Heart Beat.ogg', 20, 1) // shouldn't this be only to src? + to_chat(src, "You feel a stabbing pain in your chest!") + sound_to(src, 'sound/effects/Heart Beat.ogg') /obj/item/clothing/accessory/badge/fluff/caleb_badge //Worn Badge - Caleb Greene - notmegatron @@ -613,7 +613,7 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/mask/fluff/rur_collar/emag_act(var/remaining_charges, var/mob/user) if (!emagged) - user << "You short out \the [src]'s locking mechanism." + to_chat(user, "You short out \the [src]'s locking mechanism.") src.icon_state = "rur_collar_broken" src.canremove = TRUE src.emagged = TRUE @@ -814,7 +814,7 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/head/beret/engineering/fluff/ikrad_beret/attack_self(var/mob/user) if(letter) - user << "You remove \the [letter] from inside the [src]'s flap." + to_chat(user, "You remove \the [letter] from inside the [src]'s flap.") user.put_in_hands(letter) letter = null else @@ -822,7 +822,7 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/head/beret/engineering/fluff/ikrad_beret/attackby(var/obj/item/fluff/ikrad_letter/W, var/mob/user) if(!src.letter && istype(W)) - user << "You place \the [W] back inside the [src]'s flap." + to_chat(user, "You place \the [W] back inside the [src]'s flap.") user.drop_from_inventory(W,src) src.letter = W else @@ -882,13 +882,13 @@ All custom items with worn sprites must follow the contained sprite system: http set category = "Object" set src in usr - usr << "\icon[] []: The detective's credentials show:" - usr << "The investigator registered to the credentials is [investigator]." - usr << "The assignment registered on the card is [occupation]." - usr << "The birth date on the card displays [birth_year]." - usr << "The citizenship registered on the card is [citizenship]." - usr << "The systems that the credentials show the user is licensed to investigate in are [licensed_systems]." - usr << "Additional endorsements registered on the card show: [supplementary_endorsements]." + to_chat(usr, "\icon[] []: The detective's credentials show:") + to_chat(usr, "The investigator registered to the credentials is [investigator].") + to_chat(usr, "The assignment registered on the card is [occupation].") + to_chat(usr, "The birth date on the card displays [birth_year].") + to_chat(usr, "The citizenship registered on the card is [citizenship].") + to_chat(usr, "The systems that the credentials show the user is licensed to investigate in are [licensed_systems].") + to_chat(usr, "Additional endorsements registered on the card show: [supplementary_endorsements].") return @@ -1090,9 +1090,9 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/mask/fluff/corvo_cigarette/attack_self(mob/user) active= !active if(active) - user << "You turn \the [src] on." + to_chat(user, "You turn \the [src] on.") else - user << "You turn \the [src] off." + to_chat(user, "You turn \the [src] off.") update_icon() user.update_inv_l_hand(FALSE) @@ -1108,7 +1108,7 @@ All custom items with worn sprites must follow the contained sprite system: http /obj/item/clothing/mask/fluff/corvo_cigarette/examine(mob/user) if(..(user, 1)) - user << "It is [active ? "on" : "off"]." + to_chat(user, "It is [active ? "on" : "off"].") /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/fluff/leonce_cognac //Old Earth Luxury Cognac - Francois Leonce - driecg36 @@ -1230,10 +1230,10 @@ All custom items with worn sprites must follow the contained sprite system: http if(src.icon_state == "leland_badge") src.icon_state = "leland_badge-info" - usr << "You open \the [src]." + to_chat(usr, "You open \the [src].") else src.icon_state = "leland_badge" - usr << "You close \the [src]." + to_chat(usr, "You close \the [src].") /obj/item/clothing/suit/storage/fluff/azala_coat //Azala's Gentleman's Coat - Azala Huz'kai - tomiixstarslasher @@ -2471,4 +2471,203 @@ All custom items with worn sprites must follow the contained sprite system: http H.UpdateDamageIcon() H.drop_from_inventory(src) - qdel(src) \ No newline at end of file + qdel(src) + + +/obj/item/clothing/glasses/threedglasses/fluff/grunnus_glasses //3D glasses - Paul Grunnus - moom241 + desc = "A pair of old, beat up looking glasses, with red and blue lenses. Pretty archaic, but some might call it fashionable." + icon = 'icons/obj/custom_items/grunnus_glasses.dmi' + icon_state = "grunnus_glasses" + item_state = "grunnus_glasses" + contained_sprite = TRUE + + +/obj/item/clothing/under/dress/fluff/ameline_dress //Dominian Culinary Dress - Ameline Hemory - dasfox + name = "traditional jumper dress" + desc = " The latest in Dominian dresses, this piece of clothing is similar to those worn by chefs on the planet of Moroz. With a pleated skirt and detachable sleeves, \ + it is on the less modest end of Morozi fashion." + icon = 'icons/obj/custom_items/ameline_dress.dmi' + icon_state = "ameline_dress" + item_state = "ameline_dress" + contained_sprite = TRUE + + +/obj/item/clothing/head/fluff/aavs_mask //Reflective Mask - Aavs Guwan - dronzthewolf + name = "reflective mask" + desc = "This odd mask and hood combination covers the wearer, and seems to be made of a one-way dome mirror and some old cloth or rope." + icon = 'icons/obj/custom_items/aavs_mask.dmi' + icon_state = "aavs_mask" + item_state = "aavs_mask" + contained_sprite = TRUE + flags_inv = HIDEEARS|HIDEFACE + body_parts_covered = HEAD|FACE|EYES + + +/obj/item/clothing/accessory/fluff/krin_shirt //Skull Shirt - Krin Volqux - paradoxspace + name = "skull shirt" + desc = "A shirt carrying the familiar skeletal logo of the Skrellian punk band \"GLORSH YOU ASSHOLE\" This appears to be for their 2461 \"Tri-Qyu Express\" tour." + icon = 'icons/obj/custom_items/krin_clothing.dmi' + icon_state = "krin_shirt" + item_state = "krin_shirt" + +/obj/item/clothing/suit/storage/fluff/krin_jacket //Polychromatic Jacket - Krin Volqux - paradoxspace + name = "polychromatic jacket" + desc = "What appears to be a modified canvas jacket, covered in small polychromatic patches and aftermarket spikes in holo colors, changing often. The keen eye can spot a \"Fourth Incident\" patch on the chest." + icon = 'icons/obj/custom_items/krin_clothing.dmi' + icon_state = "krin_jacket" + item_state = "krin_jacket" + contained_sprite = TRUE + +/obj/item/clothing/shoes/fluff/krin_shoes //Knee-high High-tops - Krin Volqux - paradoxspace + name = "knee-high high-tops" + desc = "These highest-tops stretch all the way up to the knees and then some. Drawn on the side in small Skrellian print is \"High tech, low life.\"" + icon = 'icons/obj/custom_items/krin_clothing.dmi' + item_state = "krin_shoes" + icon_state = "krin_shoes" + contained_sprite = TRUE + +/obj/item/weapon/storage/backpack/fluff/krin_bag //Broken Pack - Krin Volqux - paradoxspace + name = "broken pack" + desc = "What appears to be a technologically-advanced backpack, the electronics are fried from a distant malfunction. It smells like a disposals track. \ + A small \"Original Conglomerate\" patch has been applied to the strap, a popular moisturewave Idol group. It reads \"Not Dead Yet.\" next to a Neaera in a spacesuit." + icon = 'icons/obj/custom_items/krin_clothing.dmi' + item_state = "krin_bag" + icon_state = "krin_bag" + contained_sprite = TRUE + + +/obj/item/clothing/under/fluff/rollsuit() + set name = "Roll Down Jumpsuit" + set category = "Object" + + set src in usr + if (use_check(usr, USE_DISALLOW_SILICONS)) + return + + if(("[item_state]_d") in icon_states(src)) + to_chat(usr, "You cannot roll down \the [src]!") + return + + if(rolled_sleeves) + to_chat(usr, "You must roll up your [src]'s sleeves first!") + return + + rolled_down = !rolled_down + if(rolled_down) + body_parts_covered &= LOWER_TORSO|LEGS|FEET + item_state = "[item_state]_d" + else + body_parts_covered = initial(body_parts_covered) + item_state = initial(item_state) + update_clothing_icon() + +/obj/item/clothing/under/fluff/rollsleeves() + set name = "Roll Up Sleeves" + set category = "Object" + set src in usr + + if (use_check(usr, USE_DISALLOW_SILICONS)) + return + + if(("[item_state]_r") in icon_states(src)) + to_chat(usr, "You cannot roll up your [src]'s sleeves!") + return + + if(rolled_down) + to_chat(usr, "You must roll up your [src] first!") + return + + rolled_sleeves = !rolled_sleeves + if(rolled_sleeves) + body_parts_covered &= ~(ARMS|HANDS) + item_state = "[item_state]_r" + else + body_parts_covered = initial(body_parts_covered) + item_state = initial(item_state) + update_clothing_icon() + + +/obj/item/clothing/under/fluff/mira_uniform //Mira's Cloth Undersuit - Mira Akhandi - queenofyugoslavia + name = "dark clothes" + desc = "A set of dark under clothing, loosely fitting. The initials /M.A./ are stitched into the collar." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_uniform" + item_state = "mira_uniform" + contained_sprite = TRUE + +/obj/item/clothing/suit/storage/toggle/labcoat/fluff/mira_robes //Junior Alchemist Robes - Mira Akhandi - queenofyugoslavia + name = "junior alchemist robes" + desc = "A robe with a light silky gold colored belt around the waist. Placed upon the print is two red jewels pinned to it neatly." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_robes" + item_state = "mira_robes" + icon_open = "mira_robes_open" + icon_closed = "mira_robes" + contained_sprite = TRUE + +/obj/item/clothing/shoes/fluff/mira_boots //Mira Boots - Mira Akhandi - queenofyugoslavia + name = "dark boots" + desc = "A pair of black boots with tall laces." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_boots" + item_state = "mira_boots" + contained_sprite = TRUE + +/obj/item/clothing/under/fluff/mira_skirt //Mira's Skirt - Mira Akhandi - queenofyugoslavia + name = "suspended skirt" + desc = "A plaid skirt with suspenders, sewed into the side is the initials \"M.A.\"." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_skirt" + item_state = "mira_skirt" + contained_sprite = TRUE + +/obj/item/weapon/reagent_containers/glass/beaker/fluff/mira_beaker //Alchemist Flask - Mira Akhandi - queenofyugoslavia + name = "alchemist flask" + desc = "A large bottle used to mix chemicals inside." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_beaker" + +/obj/item/weapon/storage/backpack/fluff/mira_bag //Burlap Alchemist Bag - Mira Akhandi - queenofyugoslavia + name = "burlap bag" + desc = "A smallish burlup sack, modified to lug around belongings. Stiched into it is the letters '\"M.A.\"." //Alchemist Flask - Mira Akhandi - queenofyugoslavia + icon_state = "giftbag0" + item_state = "giftbag0" + +/obj/item/clothing/suit/fluff/mira_vest //Cut-off Vest - Mira Akhandi - queenofyugoslavia + name = "cut-off vest" + desc = "A short grey puffer vest." + icon = 'icons/obj/custom_items/mira_clothing.dmi' + icon_state = "mira_vest" + item_state = "mira_vest" + contained_sprite = TRUE + +/obj/item/weapon/cane/fluff/qrqil_cane //Energy Cane - Qrqil Qrrzix - yonnimer + name = "energy cane" + desc = "This silver-handled cane has letters carved into the sides." + icon = 'icons/obj/custom_items/qrqil_cane.dmi' + icon_state = "qrqil_cane" + item_state = "qrqil_cane" + contained_sprite = TRUE + var/active = FALSE + +/obj/item/weapon/cane/fluff/qrqil_cane/attack_self(mob/user) + active= !active + if(active) + playsound(user, 'sound/weapons/saberon.ogg', 50, 1) + to_chat(user, "\The [src] is now energised.") + item_state = icon_state + else + playsound(user, 'sound/weapons/saberoff.ogg', 50, 1) + to_chat(user, "\The [src] is now de-energised..") + + update_icon() + user.update_inv_l_hand(FALSE) + user.update_inv_r_hand() + +/obj/item/weapon/cane/fluff/qrqil_cane/update_icon() + if(active) + icon_state = "[icon_state]_active" + item_state = icon_state + else + icon_state = initial(icon_state) + item_state = icon_state \ No newline at end of file diff --git a/icons/obj/custom_items/aavs_mask.dmi b/icons/obj/custom_items/aavs_mask.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e35b4102712559dc66ec7b57768344aaac273418 GIT binary patch literal 3224 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 KMNUMnLSTXc;S%Wp literal 0 HcmV?d00001 diff --git a/icons/obj/custom_items/ameline_dress.dmi b/icons/obj/custom_items/ameline_dress.dmi new file mode 100644 index 0000000000000000000000000000000000000000..08a1e7cff246538d3e8ab8232c066a2919639fe5 GIT binary patch literal 1329 zcmV-11V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex7wuvIWN;^NFm z%}mcIfpCgT5=&AQY!#Feb5nCN^HSqeic*VQ}%1Zqh{K~#90?VGV~>PQrZf19~Y&Kc3ScKsyuu0LbNXiK}HpDuMlCb_-1JaFewORmxe@!!SZM9lbI^mG?0Yp2_7ZyJzx9{{G)DQ2@-)aWn_F`LaWolX;< z%VHEBqCVG5m*?~OR{9%fK)>JD9LLeZFa%@C|H~Ld7=~~hN9*_dQdS{@!C)hOS*svf z`fnOgtJP4gR#B~10RWv&hv~WwO-pKMng(6h(dl#;faq^(wVFsQA5#C#=YU?Xx6;jD zCKHrnlar`?cXyY`DEtWe!cW2%KYpMLps*|#0F;;Y`{2Fl3mNdM??>W6>RMjj zm&tq7SMP#|5jNn{!-G(L)==yJ>AFJo>)0v-KBdIcW!bzZeNALvP_%( z@pvrlZ6vk+>FFus+FUOlPY?u{OeS*PhH|)QoYy)<2GsglBV<5&bge6A4YmGcGSRsC zJll2|{ea*Uq{tq%3?)VxK#Veg7-ax4Lc1c~Berdm>Z=SOMj1eiGJqIm05Qq{Vw3^I zC5cDpyX=c;CbWS?=X;)K$=1&rVFOk*G<{-ZAEY(o1LK(3 zDFY6P51j%0ki=`diL<2F>uK==8k|EN80!#P1uc&VMV)^V+mcO5>}Zq)0FL9(1tW-% z0gmIm7~z+fm!zwXo12@XT6U%pnu7MR%Gs4;h%t^(2K@Z|{G#r+Z{IKjAa`f}%Q%Vv zj92a*6T)A@*Rcn#Tia$c0JBU(+6=CH8;j?9j}L=cA(R1Eu8TivHC)>^E8zc5pn_}P z+BOTYIIVK!x)_hggi(nhoB{uQ|Be8QgK0h%jphyC7gw$u>H5o9f@N&S##Z}+u3R^< zH$J^xd>H#B~gy*ED{$Eq0OF&+!TQ_!I_@KEB| n74?f4G0Fg9lmWyj1Bm$#gSD$_so0ZZ00000NkvXXu0mjfKgDAQ literal 0 HcmV?d00001 diff --git a/icons/obj/custom_items/grunnus_glasses.dmi b/icons/obj/custom_items/grunnus_glasses.dmi new file mode 100644 index 0000000000000000000000000000000000000000..0b36d283d4e8a24829f61a6a0bb04a85ae27996c GIT binary patch literal 687 zcmeAS@N?(olHy`uVBq!ia0vp^2|(dGrwS=(4x>KhyTTB>HWl}>6Znch~`+1l9B)>c$lFuAF?vpT=AIDJ}c zS#xDUd3kncT~Sq4L1}4vb#-n@Ns6(F6_-i-6jm->J+r2!lCq}8@}{Qj+%zur;`yws zhmPjm1%?P?NswPKgTu2MX+TbGRY*jMOKNd)QD#9&W_}(6L&conu!5q}?_YuoK7M_o z<*loA?#%h%4WR}XjUPPHIq#!+lA)-lcZY>>knv?>FNHaeCLNg+q7baPcZG@m`YjfA zw(1*qSZs~x>^4^2yh1`F`NYwgVN+(z=1P1VBtJi@^FmV7BG<@+SI@J)QDa#BUT^)? z)ti`r4msxO;usRqnw%iPx|o5}V9~`Z>^^67*5tgAv3P1Z(c=??xH&VwKI<>{gCE#x z{`~pl;N=kD5z!*{th=kz+r!JyDtBVxyh#!*hMxiU&qVW=XcJ*>(S!u8&i8xJ18el9Q2;ccd2p<<#lN9glG1q-I>J}CxA+xo#O4{AWPMKCa&RTFgG TR_`+r=pzPCS3j3^P6P)t-sz`(#; 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 M07*qoM6N<$f-sGWRf5ZR2 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 literal 0 HcmV?d00001 diff --git a/icons/obj/custom_items/qrqil_cane.dmi b/icons/obj/custom_items/qrqil_cane.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2906c5a7e3546c46635ce2202d1a0da4e3664f43 GIT binary patch literal 2118 zcmb7GeKga38~=GJy@~r)_sy0l+~h;2bA7IJuGFLM zht$`>)&T&Zjy~*kTwz0CrWIN?$xfp`%BqVr2xwHp&H zHYI;(le(>GQuwln)p^9p_zj3v(mi|#qcy~Ebv%Ky? z*ADKXXK{k7_gX%5j(8P~n$O=P{sPf@#S4-b*;dY6^s9y<+vC<`G9|V7DgdaRMLQih z8J$1Ntqq2s*JduT-HOsoindx_#;;2Vd|kZlR_ofVD%C9WWO!5H4xN$@kctTQu`Q3S zvTKz(?D?kG_*b+II(?3`gpFHm46ltD=@f5#-FRdB)C679EO`&cqE28&V%$ZbG}3sR z9S4?v@a0oObkJ}MD1+{a69=k2Wi}w^a)RQFK=qMEZDIalx;J4ZZidbEGAHgw-x>Zi zbwZ0-n|tK9Aj{kwD>oF$DI6<*BwFd$3!F)59oEq&O%Ry1!(8s3l$4ZTQLg<1%Ld0z zp*~|-&xdx<0JlWf!!)<6 zMM z(!4G*H~1osC8~hhmPX#9G(?%mX2CP8{B61|_p!#@95IIFA>QS+vO$qx36z<6rHLN= z6`IMz>Y5GW-bou~P)%VELGd%*$6b$GDwnZOD3cAHj9*PiST1{frMz&}7_SAg>ZO41 zv;$0IpBk@k^^f(LZG7IRbaXdQ+Crwxj>|zjw5<3LqKCJEZJ5TQe1cqz!Q4!NC=S0= zSNK-?r)IpmSukWuwg01XnXs~$&w$tOz(a!Vz&<<_WB>%ek+PT(@tXyCat`aPU~&mg zWKm`XX8o~XkE?jEjDI&@>E7uOsKsutT(mV01zMle%HwG(&#$7k>_aY38Y|`eE|wFA zGK#I-SPKianTw@{XiHl=yZfbt3)g2&FcP}zm=;y;8n(p?D%uWTkwJsL78YS!gpj#M zqB^Uk^Zk6sP0Wby?y8U-mBTt7w)e$ejl@s4Q7UhwoCy`*n+OJ#QX9vmQU*AmW7m|1 zgi9B*9k|)OFV)z@s2*I)qY3rUv<#p9`=TTH83-b8;W|=7@$SeT(S&!(OG%2W{$T^) z)h@4O&Oi>Y<;16buopUE-;C#LbAs8W?nWO4{Hx83J%^}eO{ zD+8gg$kHcWmGyp=r zl79OChxjXFfCFYuqGF*(X)Nnz@=7j#7X3CS=j;Z=3tqvUWU1Q>^0FKryS9T&4$Z4% za{wzpdq(gunVe0YO?m-U>!#f?GU@2Yc`|*Rb#WlAM&7+DvHl=R4OrCtd%C|R|KS34 z$>QQYPYU?BQ~kmzVsS-tUF~3UFR)I$kX9a!ovxTJFwttDnI{auOglh02a&zeAxp^5 zzFpN-qwDMp#eI|S)YR0@`Z7}zPaGH=@W9w5^AK^7EVZl)c(0Hp%8kkIf@F$#iqq_E zgddj}(8-hRN3zT2v&N2W&eOuEXp6(dw!&%`yXPO(J-W-EauFwH>?ZD}g9Xe%j_T4D zpe7x#wz?2Xl939%_2^Y2#@}@LpSqAeEK0&w|F|gsi>1;-2Il_uai_%#p^y29ssP!B zR zQH+%)CE(elw$_d?@98V!*2ttb+NpI|=xd zli2|kn8ToG;w#Wg0zO@{4?3$6KV3%G9LHS0((T>@AcNY4e)e&($@Oygm&Ji_!D3&@ x4cNIMYeo}~>FLO!2$T=Nb|pFf521b5yXbCFKvOpgPz(kD+S%RdiKB1gzW~2A@#g>l literal 0 HcmV?d00001