From 0d454cff77cf8dc446d0b6c52ddb6214c22aa155 Mon Sep 17 00:00:00 2001 From: CHOMPStation2 <58959929+CHOMPStation2@users.noreply.github.com> Date: Thu, 9 May 2024 12:33:26 -0700 Subject: [PATCH] [MIRROR] Fluff Licenses! (#8365) Co-authored-by: Killian <49700375+KillianKirilenko@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- .../objects/items/weapons/id cards/cards.dm | 108 +++++++++++++++++- .../loadout/loadout_general_vr.dm | 7 +- icons/obj/card_fluff.dmi | Bin 0 -> 1175 bytes 3 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 icons/obj/card_fluff.dmi diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index c02213078b..7b038025b6 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -161,4 +161,110 @@ user.visible_message("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.") burnt_out = TRUE - return 1 \ No newline at end of file + return 1 + +/// FLUFF PERMIT + +/obj/item/weapon/card_fluff + name = "fluff card" + desc = "A tiny plaque of plastic. Purely decorative?" + description_fluff = "This permit was not issued by any branch of NanoTrasen, and as such it is not formally recognized at any NanoTrasen-operated installations. The bearer is not - under any circumstances - entitled to ownership of any items or allowed to perform any acts that would normally be restricted or illegal for their current position, regardless of what they or this permit may claim." + icon = 'icons/obj/card_fluff.dmi' + w_class = ITEMSIZE_TINY + slot_flags = SLOT_EARS + + var/list/initial_sprite_stack = list("") + var/base_icon = 'icons/obj/card_fluff.dmi' + var/list/sprite_stack = list("") + + drop_sound = 'sound/items/drop/card.ogg' + pickup_sound = 'sound/items/pickup/card.ogg' + +/obj/item/weapon/card_fluff/proc/reset_icon() + sprite_stack = list("") + update_icon() + +/obj/item/weapon/card_fluff/update_icon() + if(!sprite_stack || !istype(sprite_stack) || sprite_stack == list("")) + icon = base_icon + icon_state = initial(icon_state) + + var/icon/I = null + for(var/iconstate in sprite_stack) + if(!iconstate) + iconstate = icon_state + if(I) + var/icon/IC = new(base_icon, iconstate) + I.Blend(IC, ICON_OVERLAY) + else + I = new/icon(base_icon, iconstate) + if(I) + icon = I + +/obj/item/weapon/card_fluff/attack_self() + + var/choice = tgui_input_list(usr, "What element would you like to customize?", "Customize Card", list("Band","Stamp","Reset")) + if(!choice) return + + if(choice == "Band") + var/bandchoice = tgui_input_list(usr, "Select colour", "Band colour", list("red","orange","green","dark green","medical blue","dark blue","purple","tan","pink","gold","white","black")) + if(!bandchoice) return + + if(bandchoice == "red") + sprite_stack.Add("bar-red") + else if(bandchoice == "orange") + sprite_stack.Add("bar-orange") + else if(bandchoice == "green") + sprite_stack.Add("bar-green") + else if(bandchoice == "dark green") + sprite_stack.Add("bar-darkgreen") + else if(bandchoice == "medical blue") + sprite_stack.Add("bar-medblue") + else if(bandchoice == "dark blue") + sprite_stack.Add("bar-blue") + else if(bandchoice == "purple") + sprite_stack.Add("bar-purple") + else if(bandchoice == "ran") + sprite_stack.Add("bar-tan") + else if(bandchoice == "pink") + sprite_stack.Add("bar-pink") + else if(bandchoice == "gold") + sprite_stack.Add("bar-gold") + else if(bandchoice == "white") + sprite_stack.Add("bar-white") + else if(bandchoice == "black") + sprite_stack.Add("bar-black") + + update_icon() + return + else if(choice == "Stamp") + var/stampchoice = tgui_input_list(usr, "Select image", "Stamp image", list("ship","cross","big ears","shield","circle-cross","target","smile","frown","peace","exclamation")) + if(!stampchoice) return + + if(stampchoice == "ship") + sprite_stack.Add("stamp-starship") + else if(stampchoice == "cross") + sprite_stack.Add("stamp-cross") + else if(stampchoice == "big ears") + sprite_stack.Add("stamp-bigears") //get 'em outta the caption, wiseguy!! + else if(stampchoice == "shield") + sprite_stack.Add("stamp-shield") + else if(stampchoice == "circle-cross") + sprite_stack.Add("stamp-circlecross") + else if(stampchoice == "target") + sprite_stack.Add("stamp-target") + else if(stampchoice == "smile") + sprite_stack.Add("stamp-smile") + else if(stampchoice == "frown") + sprite_stack.Add("stamp-frown") + else if(stampchoice == "peace") + sprite_stack.Add("stamp-peace") + else if(stampchoice == "exclamation") + sprite_stack.Add("stamp-exclaim") + + update_icon() + return + else if(choice == "Reset") + reset_icon() + return + return diff --git a/code/modules/client/preference_setup/loadout/loadout_general_vr.dm b/code/modules/client/preference_setup/loadout/loadout_general_vr.dm index 9ff65b848d..1eb2e49830 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general_vr.dm @@ -100,4 +100,9 @@ /datum/gear/egy_game display_name = "EGY playing cards" description = "A deck of cards for playing EGY! Be the first to lose all cards!" - path = /obj/item/weapon/deck/egy \ No newline at end of file + path = /obj/item/weapon/deck/egy + +/datum/gear/fluff_permit + display_name = "Customizable Permit" + description = "A customizable permit you can use for... just about anything! Be sure to customize the name and description. It is meant to represent generic driver's or pilot's licenses, and similar fluff items. It includes an irremovable disclaimer and may be freely confiscated or revoked at the discretion of Security and/or Command if you attempt to abuse it!" + path = /obj/item/weapon/card_fluff diff --git a/icons/obj/card_fluff.dmi b/icons/obj/card_fluff.dmi new file mode 100644 index 0000000000000000000000000000000000000000..93c2282db6b2baad9437b01eb493a11136e50ca0 GIT binary patch literal 1175 zcmeAS@N?(olHy`uVBq!ia0vp^2Y`412Q!e&{WdutNVNy}gt#6!aKOdIB`Ygy^5n^D z*RBN$pFe*-Iy$;mTjg*Lt8%8SlCIor6P-(LHvc;q{;yy#Tcqo9#!@>}#pOV&Mr;=-*Wx`=I0N0$^O5r z`2Vsp&{7o@6$1kUdwcs^w{HFa|6hOYbWNb$j3q&S!3+-1ZlnR(3{@c!B`&GO$wiq3 zC7Jno3=9=>rcT+L#cU|h^7?Wx$L=zZH(N5BdJ6^jH~U3-cYi(ZHU0Es_vg&zj~XFKXLehJoH z5?J#5GUJ&S>hsvmW~iU)`5kp(RfV1LG3)g!j#NCzmRee=o!V z5i;gH7Xld=m^OL3IEGZrc{}@c&?^UlmPn5#ahD_3N=k<`1@8a<$>+J@jL+n|Eh>2$ zzbF5^ny_p0-h|x5<<1<6EpzPHG?)H9R#Lrpom8;X_ddt^SO}%n5DVh1aw@xPt>)mv z`B$9d@Q;b@oQpJg4r_4rc*=eB=iGbw=Ifu={lC<(ue*Ny(>u;-3@?R?!Vj#o)(^Ov z@R8wfoxO*AJG0ES$=ohx%qRbDFIljS!F|2M7UPW77yNppcsIPSC@L>!W?WO%X!{_F zG5qM8U7Uxe+!5XI`s()s|Gvww{x9(-Z^u36vb_i73ifb^@?H3Ko{@d|zv~)`EdowJ z*8>U5NgAr*`9EszSJqCCdr)Fw7rX7%LSO#LucQ5!uXUfScUMy3Yr5s`p2v};$GObp z52Rj@JW$0fwSGc1tIYEAes|*xufHs9^u6&$u0U?RbzJ?g_f9agJLJy^ES#_GwBMnn zuJg+4`hrr^fXTiEc6;{8tvac;L*nk8o+~NBF@5>@$Fs703)=p%D>3|%?_zjSufnw8 zf8kli1N*rc{)IApSkKh(e-`tC`cTC;6V?cnd4zFThrCz&(EmH-Ox>qvbB`pnzPGDh z{%ZR6y`R~cw)`pi@g;o0t@;3%7ZsPEl2!Ur?ec=Zxpc4gW%0H#l!{x}g{ecl4jr z46vX9g?$lEw#y6KBa<&5USmFgzO?C0mc4JUUk~$LEwtw1e>b2dx2Hi2%#URFvR