From 79aa55f5a31dcdd92e26dc95b616e844dd371e94 Mon Sep 17 00:00:00 2001 From: Fyni Date: Thu, 6 Aug 2026 12:51:06 +0100 Subject: [PATCH] Add Dido's Custom Item (#22964) See title. Thread: https://forums.aurorastation.org/topic/23019-didos-sophonisa-cape/ --------- Signed-off-by: Fyni Signed-off-by: Matt Atlas Co-authored-by: Matt Atlas --- code/modules/customitems/item_defines.dm | 60 +++++++++++++++++++++++ html/changelogs/fyni-dido-cape.yml | 4 ++ icons/obj/custom_items/dido_cape.dmi | Bin 0 -> 2989 bytes 3 files changed, 64 insertions(+) create mode 100644 html/changelogs/fyni-dido-cape.yml create mode 100644 icons/obj/custom_items/dido_cape.dmi diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 40d5da75fca..221d7d461c3 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1444,3 +1444,63 @@ All custom items with worn sprites must follow the contained sprite system: http item_state = "zzzhao_painting" sign_state = "zzzhao_painting" w_class = WEIGHT_CLASS_NORMAL + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape // Sophonia Cape - Dido Sophonia - Fyni + name = "sophonisa cape" + desc = " This shoulder cap is the dark navy blue of the ancient Carian patrician family, Sophonisa. Two thin flowing strands of fabric hang off the back, one in Carian purple, the other in white showing the golden handed icon of the Sophonisa. Around the neck and hood is a white furred band." + desc_extended = "The Sophonisa family, represented by a sinister golden hand set in a purple moon on a field of silver, is an ancient Carian patrician house which predates the Dominian viceroyalty of the planet and is known for a long line of bankers who credit accurate readings of the \ + stars for their success. Even today, they hold a non-voting seat on the Adirim, where they support House Kaneko - and have long been rumoured to hold some discontent to House Caladius due to financial conflicts." + icon = 'icons/obj/custom_items/dido_cape.dmi' + icon_override = 'icons/obj/custom_items/dido_cape.dmi' + icon_state = "sophonisa_cape" + item_state = "sophonisa_cape" + + var/hoodtype = /obj/item/clothing/head/winterhood/fluff/sophonisa_hood + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/Initialize() + . = ..() + new hoodtype(src) + +/obj/item/clothing/head/winterhood/fluff/sophonisa_hood + name = "furred hood" + desc = "A furred hood attached to a cloak." + icon = 'icons/obj/custom_items/dido_cape.dmi' + icon_override = 'icons/obj/custom_items/dido_cape.dmi' + icon_state = "sophonisa_cape_hood" + contained_sprite = TRUE + flags_inv = HIDEEARS | BLOCKHAIR | HIDEEARS + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/update_icon(var/hooded = FALSE) + var/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/S = get_accessory(/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape) + SEND_SIGNAL(S, COMSIG_ITEM_STATE_CHECK, args) + . = ..() + S.item_state = "[S.icon_state][hooded ? "_up" : ""]" + S.accessory_mob_overlay = null + SEND_SIGNAL(S, COMSIG_ITEM_ICON_UPDATE) + if(usr) + usr.update_inv_w_uniform() + usr.update_inv_wear_suit() + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/verb/change_hood() + set name = "Toggle Hood" + set category = "Object" + set src in usr + + if(use_check_and_message(usr)) + return + + var/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/S = get_accessory(/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape) + if(!S) + return + + SEND_SIGNAL(S, COMSIG_ITEM_UPDATE_STATE, S) + S.update_icon() + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/on_attached(obj/item/clothing/S, mob/user as mob) + ..() + has_suit.verbs += /obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/verb/change_hood + +/obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/on_removed(mob/user as mob) + if(has_suit) + has_suit.verbs -= /obj/item/clothing/accessory/poncho/tajarancloak/fluff/sophonisa_cape/verb/change_hood + ..() diff --git a/html/changelogs/fyni-dido-cape.yml b/html/changelogs/fyni-dido-cape.yml new file mode 100644 index 00000000000..03bfd170def --- /dev/null +++ b/html/changelogs/fyni-dido-cape.yml @@ -0,0 +1,4 @@ +author: fyni +delete-after: True +changes: + - rscadd: "Adds a custom item for Dido Sophonisa." \ No newline at end of file diff --git a/icons/obj/custom_items/dido_cape.dmi b/icons/obj/custom_items/dido_cape.dmi new file mode 100644 index 0000000000000000000000000000000000000000..95cd2df70ed2535f25ab9a56c851f163119d35d0 GIT binary patch literal 2989 zcmai0c|6o>7ypfY$(1caD2j=(geZ)qu?(`8Tr^x2l97@u!{8cwBo)F~TEwN4%P0&H zlF8UI!dS*K8Yasa8b~H1h{)9F%ZIqf*6kr5wOcQ18xLgj|dJ!0zg!8$){JpBt%3KFqSU z$i}SYf=SaDrQ9XlQ98eUlyEY-Gvp{nw6J`@KAgDq^`OY7XBUP+m#DmjduhK#q_CZ~ znvKw&jgp2tRcE*tg4~x9I5`HI8vr0O0Ebz6L>1FZ5J57YNO(Rr>nS{vt{N&5n7_ftCz^ipy)=0TbO|>8t_CJX;|a}O18dXXxP=Ts;t4l? ztaH6TtsUZY{fj#k*~g?FPc8K3PE^@~`X3=R>Am|lFLT|GigZN(^ifxM)?9-wR!F{C zSU}Lye5TAd$Vo@(bTu^G_EyM)1MR7{Q#NtrW3dx+vt~`F$1#cPN`M6#@p0SP-#Zrf zz$YIzjF&gqqmfQ6I6Gd^jbsReN=k0Bzj9Qab`)t33|gWhzn6*JdtS?Bt#6A|J2fR)De zJe6JaXNdu?CQ8?E%^qW5kUADyVd}yfA8)Q5?fwO5|3K~w8uw(pW?Qp7_B_b!8sZW& zJYIRQS|r{WSJ~+?&{gh1RT1=KFnF3ZN2{-iE}9FK{m8Mx3()$?2%n zsmyjr@6)5}s!8%Vk=vyDG^JhJqd?%&FY|F{jvu!4V++|4{;{zCv)Z$oRmTsSs;v*O zCsBnB$WP)eygh=ZWHCm5wxy<7{>Am%Nxx{gdFi(Ic_h0Bz6AmP@K^qC`)Ipt2q`pv z@wIVq$ZDfg$=8dLZOw4BQ;&M2n71=i4`329`I##Rp^J-7{FIY9(2> z=^bs#jdype3F<(xvQXRLZrjh0)O_xtAr98YBGBN`J?D2QC?`Dz`k3mg%V2d>-iKa` z-$q;ZBoL^XM)6zdcT$6YSxod`KBa&t8&s^Zd zH(zS?jw~s)qcW`ZO7+4(%>7nCQ{-G?E5t-!6HCNxe|m-q1;HMA;An-#tA+!B~U2Pd!{Zn8(e2p88c*R(G7UQ2KeOD!;+~=kxj-ZpE_& zSmF}gVv*4+*@d#nP7sjbf=G~@YhU0zJS`ChF3nXf`$>{J1v)z^CX?CA%F30}%`Q;P zwFQawTw(!>ypsOLf0KwPaKFVQHb!*!MQ9t%Z{C1V3RUvi=;5$_UwiSpy-3|;{TqL1 zJ{@J@yRK2PaE( z*>tq7W;wOOZhmfQ0rG=f{-M%Ek`{U~NI^Q{fT@v&g10;Ne{#Md zPO(rj=N^daNq{fhzdP?>$y1Gj&Ma7>Ys5M5chYJzd9*piwLcHcEh1ZG0RX1=Pum)IYyEcv^`6c3HztgIBRz`Rwo5}K2`JwpqU73huy zlFh;Pgrhp3TdWZzbvS2Q5MY}Qr*rdfqOZG;MKKjWXn4LPEizAhpgyrrFCxMcKiZvb zalA@(&)V=kV&knO#k4bA;KuD+`+lvx1BoYv3h$Ucfr{VS*lge8*14+{uh+TuA9#~av~;|vc8Zq zQaA73Q%rMklcpI~q6w;Dps?wp)}2)pEt<+0Q~0F=DfykuX>pEDgO6gU!N){>O~SmC^;y9vBzh;S5xA=WhUR L?F4&a<(Kp?wlTWJ literal 0 HcmV?d00001