From 2ea2b9c9afa6fd13539399ae142025e54bd56473 Mon Sep 17 00:00:00 2001 From: L <105110468+kittysmooch@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:37:28 -0700 Subject: [PATCH] waow --- .../loadout_categories/categories/inhands.dm | 4 ++ .../GAGS/greyscale_configs_objects.dm | 17 +++++++++ .../GAGS/icons/obj/devices.dmi | Bin 0 -> 655 bytes .../GAGS/json_configs/objects/aac_device.json | 16 ++++++++ modular_doppler/modular_items/aac_device.dm | 30 +++++++++++++++ .../modular_items/icons/devices.dmi | Bin 367 -> 545 bytes .../modular_items/sounds/aac_started_type.ogg | Bin 0 -> 17416 bytes .../modular_items/sounds/aac_stopped_type.ogg | Bin 0 -> 15996 bytes modular_doppler/modular_items/tts_device.dm | 36 ------------------ .../code/tg_vendors/medical.dm | 4 ++ tgstation.dme | 3 ++ 11 files changed, 74 insertions(+), 36 deletions(-) create mode 100644 modular_doppler/modular_cosmetics/GAGS/greyscale_configs_objects.dm create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/objects/aac_device.json create mode 100644 modular_doppler/modular_items/aac_device.dm create mode 100644 modular_doppler/modular_items/sounds/aac_started_type.ogg create mode 100644 modular_doppler/modular_items/sounds/aac_stopped_type.ogg delete mode 100644 modular_doppler/modular_items/tts_device.dm create mode 100644 modular_doppler/modular_vending/code/tg_vendors/medical.dm diff --git a/modular_doppler/loadout_categories/categories/inhands.dm b/modular_doppler/loadout_categories/categories/inhands.dm index e6bb65a69c4f1..071c98ebc907d 100644 --- a/modular_doppler/loadout_categories/categories/inhands.dm +++ b/modular_doppler/loadout_categories/categories/inhands.dm @@ -30,3 +30,7 @@ /datum/loadout_item/inhand/slimpack name = "Custom Flatpack" item_path = /obj/item/storage/backpack/satchel/flat/empty/custom + +/datum/loadout_item/inhand/aac_device + name = "AAC Device" + item_path = /obj/item/aac_device diff --git a/modular_doppler/modular_cosmetics/GAGS/greyscale_configs_objects.dm b/modular_doppler/modular_cosmetics/GAGS/greyscale_configs_objects.dm new file mode 100644 index 0000000000000..34fb49ffb5aa5 --- /dev/null +++ b/modular_doppler/modular_cosmetics/GAGS/greyscale_configs_objects.dm @@ -0,0 +1,17 @@ +/* + + />  フ meow! this dm file contains greyscale configs for non-clothing items. + |  _ _| / + /` ミ_xノ + /     | + /  ヽ   ノ + │  | | | +/ ̄|   | | | +( ̄ヽ__ヽ_)__)_) +\二) +*/ + +/datum/greyscale_config/aac_device + name = "AAC Device" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi' + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/objects/aac_device.json' diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d081c92b2a50450a4a6f29d47992a2648283ade7 GIT binary patch literal 655 zcmV;A0&x9_P)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pSoZ^zil2jm5DKRlQJ|(p*GdWd>i!&v&s2C_{$i(Dq3tJV}&PFRSVCfHNDYlX_FfXujN4Ct&Y%Ab*%&Xq&l6w32%DsO7{HneFmiM@5{W;%`B0jvjH}|${ ze}CIQs|i5stE0ogC}h8B(YHP-ukW9wlUZL|F8n&wp`Y6*;_^Q2?ratozqxxfk8TkY z>e6@q2go2us@8WJaB_TLu2B@JG)>KYmStXpUtHdn2<@LTGm6X{u0CF~z&Lr|#GAyd zt3#WU7n}yPIeEcpK-+N|(B@xXsO$;QT30o6P%1H?Dai}L4QNvGf^!}4^!$?BCQDUW zYTDY%Vyg#2=;sT^Q`9RL~{fDQl+4L}Egh6bPmKtlu20ifx;0nTmlIF8M} zT#@quT5EW%;ezJ_Tpik+yukAT=m600d_YwLH{~la&j*Aaut~`a@P!IDMZwSjbO2~* p06G9PGyoj{8XABO08Qr&_yaI+_wT%by=?#h002ovPDHLkV1g8QB=rCQ literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/GAGS/json_configs/objects/aac_device.json b/modular_doppler/modular_cosmetics/GAGS/json_configs/objects/aac_device.json new file mode 100644 index 0000000000000..293bf1c36aa37 --- /dev/null +++ b/modular_doppler/modular_cosmetics/GAGS/json_configs/objects/aac_device.json @@ -0,0 +1,16 @@ +{ + "aac_device": [ + { + "type": "icon_state", + "icon_state": "aac_device_body", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "aac_device_screen", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ] +} diff --git a/modular_doppler/modular_items/aac_device.dm b/modular_doppler/modular_items/aac_device.dm new file mode 100644 index 0000000000000..1f069d852f383 --- /dev/null +++ b/modular_doppler/modular_items/aac_device.dm @@ -0,0 +1,30 @@ +/obj/item/aac_device + name = "AAC Device" + desc = "An Augmented and Alternative Communication device designed to facilitate oral communication \ + for people with communicative disabilities." + icon = 'modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi' + icon_state = "aac_device" + w_class = WEIGHT_CLASS_SMALL + obj_flags = UNIQUE_RENAME + slot_flags = ITEM_SLOT_BELT + flags_1 = IS_PLAYER_COLORABLE_1 + greyscale_config = /datum/greyscale_config/aac_device + greyscale_colors = "#FFFFFF#FFFFFF" + +/obj/item/aac_device/attack_self(mob/user) + user.balloon_alert_to_viewers("typing...", "started typing...") + playsound(src, 'modular_doppler/modular_items/sounds/aac_started_type.ogg', 50, TRUE) + var/str = tgui_input_text(user, "What would you like the device to say?", "Say Text", "", MAX_MESSAGE_LEN, encode = FALSE) + if(!str) + user.balloon_alert_to_viewers("stops typing", "stopped typing") + playsound(src, 'modular_doppler/modular_items/sounds/aac_stopped_type.ogg', 50, TRUE) + return + src.say(str) + str = null + +/obj/item/aac_device/item_ctrl_click(mob/user) + var/new_name = reject_bad_name(tgui_input_text(user, "Name your Text-to-Speech device. This matters for displaying it in the chat bar.", "Set TTS Device Name", "", MAX_NAME_LEN)) + if(new_name) + name = "[new_name]'s [initial(name)]" + else + name = initial(name) diff --git a/modular_doppler/modular_items/icons/devices.dmi b/modular_doppler/modular_items/icons/devices.dmi index 07146ded925ed63dce0285308a9e1eb8269dbc4a..fde2c9e311e391a69157582e3b6e1a5e603fed23 100644 GIT binary patch delta 413 zcmV;O0b>5|0-*$u7zqdl0001UdV2JcXL^4Da7jc#RCt_YJaFIu!$1P20kwV90izBW z3=Uu+M$wrgNB)yzxQUGoBgGB?S#F@O&+z8$Taqjn5f%pPCFFl^p0C`zivJAg)@gj8`uyM;4vK&ARAeaW;y?@UjBq#{RAOI>8U^vjr3yhJ)KmdQH z9;BBLAUX}aJekcPB`(15`<66Z?8u>~aJHBPL|pXaQ-)`^J}`)zPbJD+q8$LTT+C@X zoUf#$#E|Uh2enoD#xg!vE#K$h*_zaP$b1Ud%fC~Ru+ z0ir_y9e^xzL<#|zBZ{)J7_>QwH-~?$f(YGmkfr1Tk{y7}a&2Q{Fb!jq0*H=+S1+DI z5*QLdwh-B3kXi->;>=|v)Gt^#d-i{AO-*3-s{!W(5P0_T1DJ;K(E&)FRjq~L>h0OC$D^{R000R9NkvXX Hu0mjfB8{!A delta 233 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�nqszFPS} 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νuB1@m0aGL{beNZ5vbLNmbdPvK zPV=}yzPqAFX8EMYz_qg#*7wA5_vR>t^lQ|C#}tnb`Xf6z#m723(n(~aFB_}YdDJk} zgfP0Vey-vqi;YtsVb!j4K9!Q2!es^j?=6J%r|KoiZ+e??&xgo*!~DKLckyfD5YDtI zOgjvM?& zYNn!R!nj%AzQx3}{*<@hll(o-h+ki%7F>GZaIx{R!}x_SjQ{r(FQulh4V`M4Yg%GO zUf7LZd=+XZuu(|d!q+h_UY6>m`|P*a6nrcsGQv5Gg(QYiI!pJ##JINzKPQI0;@FC4 zEdnkHY7*fWA+W))Ol+En>7d!zqe|{E4p6~k*-1%=2j-@^v*_8xJry>8?9FO&_kI@C zXXbZS!E^b9%=FGKhY@k$MFm+@T$9Hp~N^ZEUu11aT55SzNj1f)L_QccwFkDQXr3nY1q`O%qC&t1# zZ$Ir+Gi{r&Ik z4R1wtk^}wPuT_0{#8G2_~oFf*ZF7CS7Y z@d97g%qz@(QXXc~x_Hm#T*3b}aWIq&b>yY8Y;%D>#pB?*rcDw@`FaxpBg1VpPAAls zgALP)OMKu~FwNM}BzTC@EroVVM6MA+GrFgwBdo5FOG)R^wt(3}v}zuMAe zIeeCzSS{{Z@EQ44>nBF_Cwm^EIn&W`df-psQHilpu}mf&^Iogg^Eq!zXB|pE{!*}u zbo^-ttsD;%|Iud7Aogu(BC0?(<{F#!x2u}SRO1kU7A2Y+OS84k$gGGN%=1=P* zm4ZBxbd_N%2wK;osMiR;+2f<0m z{3T1JC+QJA{2Nu(l8Uy+vCAUl7!5)j}&Y{CT#XYB(RFeJeIsR28)I7l&O)I z3}P6?>u~C+H86WbFn!hC=WR?h(FOCev7gF7WSvN4CpU>c!Slf8I6PK@=wfbrcUp*i zvs~3=bbj>?9cZ;(99G_hq2XE&3-GKGX;=yMYZ5a^Lqhi&>yOKxn4a&RlrBGg_3MuF zRYKh>cLYBkjV^pg_V~8&=)?E6Ow<>@w8>DTzrSyMg7ijs;7I|63ckVGPXpi=qt3=< zM8d$RCMwW=*`yI*ilfqprJRcNrO)KGDou39BQcA}3ca7oTz_zH7IC q$fx;(1el9PA^z;}ksD$GEU*0EO!aZ3QM7wXFfJP*EmDl*0{;(FYz5>1 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_items/tts_device.dm b/modular_doppler/modular_items/tts_device.dm deleted file mode 100644 index b2fbbca04edb0..0000000000000 --- a/modular_doppler/modular_items/tts_device.dm +++ /dev/null @@ -1,36 +0,0 @@ -/obj/item/ttsdevice - name = "TTS Device" - desc = "A small device with a keyboard attached. Anything entered on the keyboard is played out the speaker. \nAlt-click the device to make it beep. \nCtrl-click to name the device." - icon = 'icons/obj/device.dmi' - icon_state = "gangtool-purple" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - w_class = WEIGHT_CLASS_SMALL - obj_flags = UNIQUE_RENAME - slot_flags = ITEM_SLOT_BELT - -/obj/item/ttsdevice/attack_self(mob/user) - var/input = stripped_input(user,"What would you like the device to say?", ,"", 500) - if(QDELETED(src) || !user.canUseTopic(src, BE_CLOSE)) - return - if(input) - src.say(input) - input = null - -/obj/item/ttsdevice/AltClick(mob/living/user) - var/noisechoice = input(user, "What noise would you like to make?", "Robot Noises") as null|anything in list("Beep","Buzz","Ping") - if(noisechoice == "Beep") - user.visible_message("[user] has made their TTS beep!", "You make your TTS beep!") - playsound(user, 'sound/machines/twobeep.ogg', 50, 1, -1) - if(noisechoice == "Buzz") - user.visible_message("[user] has made their TTS buzz!", "You make your TTS buzz!") - playsound(user, 'sound/machines/buzz-sigh.ogg', 50, 1, -1) - if(noisechoice == "Ping") - user.visible_message("[user] has made their TTS ping!", "You make your TTS ping!") - playsound(user, 'sound/machines/ping.ogg', 50, 1, -1) - -/obj/item/ttsdevice/CtrlClick(mob/living/user) - var/new_name = input(user, "Name your Text-to-Speech device: \nThis matters for displaying it in the chat bar:", "TTS Device") as text|null - if(new_name) - new_name = reject_bad_name(new_name) - name = "[new_name]'s [initial(name)]" diff --git a/modular_doppler/modular_vending/code/tg_vendors/medical.dm b/modular_doppler/modular_vending/code/tg_vendors/medical.dm new file mode 100644 index 0000000000000..24fd85e015aff --- /dev/null +++ b/modular_doppler/modular_vending/code/tg_vendors/medical.dm @@ -0,0 +1,4 @@ +/obj/machinery/vending/medical + products_doppler = list( + /obj/item/aac_device = 5, + ) diff --git a/tgstation.dme b/tgstation.dme index be2a2635135e8..440850f647d56 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6753,6 +6753,7 @@ #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_face.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_head.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_neck.dm" +#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_objects.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_sets.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_storage.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_suit.dm" @@ -6868,6 +6869,7 @@ #include "modular_doppler\modular_food_drinks_and_chems\food_and_drinks\datums\crafting\hemophage_recipes.dm" #include "modular_doppler\modular_hydroponics\code\honeysuckle.dm" #include "modular_doppler\modular_hydroponics\code\tea_coffee.dm" +#include "modular_doppler\modular_items\aac_device.dm" #include "modular_doppler\modular_items\bettermed_overrides.dm" #include "modular_doppler\modular_items\conversion_kits.dm" #include "modular_doppler\modular_items\invisible_gear.dm" @@ -6990,6 +6992,7 @@ #include "modular_doppler\modular_vending\code\tg_vendors\clothesmate.dm" #include "modular_doppler\modular_vending\code\tg_vendors\engivend.dm" #include "modular_doppler\modular_vending\code\tg_vendors\games.dm" +#include "modular_doppler\modular_vending\code\tg_vendors\medical.dm" #include "modular_doppler\modular_vending\code\tg_vendors\megaseed.dm" #include "modular_doppler\modular_vending\code\tg_vendors\wardrobes.dm" #include "modular_doppler\modular_weapons\code\gunsets.dm"