From 738959a22ea88c7fe04047beda99551b2686a84c Mon Sep 17 00:00:00 2001 From: TimLV Date: Tue, 11 Jul 2023 09:05:20 +0200 Subject: [PATCH 01/10] =?UTF-8?q?=D1=81=D0=B8=D0=B3=D0=B0=D1=80=D0=B5?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B8=20=D0=B3=D0=BE=D0=BB=D0=BE=D0=BF=D0=B0?= =?UTF-8?q?=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- baystation12.dme | 4 + code/_helpers/icons.dm | 16 ++ .../objects/items/devices/holopad_hand.dm | 205 ++++++++++++++++++ .../items/weapons/storage/cigarettes.dm | 35 +++ code/bos/modules/clothing/mask/smokable.dm | 30 +++ code/bos/modules/reagents/tobacco.dm | 158 ++++++++++++++ .../preference_setup/loadout/lists/misc.dm | 5 + icons/bos/obj/cigarettes.dmi | Bin 0 -> 1661 bytes icons/bos/obj/holopad.dmi | Bin 0 -> 736 bytes icons/bos/obj/holopda.dmi | Bin 0 -> 2059 bytes 10 files changed, 453 insertions(+) create mode 100644 code/bos/game/objects/items/devices/holopad_hand.dm create mode 100644 code/bos/game/objects/items/weapons/storage/cigarettes.dm create mode 100644 code/bos/modules/clothing/mask/smokable.dm create mode 100644 code/bos/modules/reagents/tobacco.dm create mode 100644 icons/bos/obj/cigarettes.dmi create mode 100644 icons/bos/obj/holopad.dmi create mode 100644 icons/bos/obj/holopda.dmi diff --git a/baystation12.dme b/baystation12.dme index cd9c14c5606e0..c677e42a2e340 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -187,6 +187,7 @@ #include "code\bos\game\objects\items\shooting_range.dm" #include "code\bos\game\objects\items\toys.dm" #include "code\bos\game\objects\items\wallet.dm" +#include "code\bos\game\objects\items\devices\holopad_hand.dm" #include "code\bos\game\objects\items\devices\radio.dm" #include "code\bos\game\objects\items\devices\spy_sensor.dm" #include "code\bos\game\objects\items\devices\syndietele.dm" @@ -199,6 +200,7 @@ #include "code\bos\game\objects\items\weapons\implants\implants\fake_death.dm" #include "code\bos\game\objects\items\weapons\implants\implants\spying.dm" #include "code\bos\game\objects\items\weapons\storage\boxes.dm" +#include "code\bos\game\objects\items\weapons\storage\cigarettes.dm" #include "code\bos\game\objects\items\weapons\storage\mgsbox.dm" #include "code\bos\game\objects\items\weapons\storage\snb.dm" #include "code\bos\game\objects\items\weapons\storage\uplink_kits.dm" @@ -242,6 +244,7 @@ #include "code\bos\modules\clothing\hats\kgb_hat.dm" #include "code\bos\modules\clothing\hats\sombrero.dm" #include "code\bos\modules\clothing\mask\booker_face.dm" +#include "code\bos\modules\clothing\mask\smokable.dm" #include "code\bos\modules\clothing\suit\blazer.dm" #include "code\bos\modules\clothing\suit\booker.dm" #include "code\bos\modules\clothing\suit\cyberpunk_overcoat.dm" @@ -355,6 +358,7 @@ #include "code\bos\modules\projectiles\projectile\special.dm" #include "code\bos\modules\reagents\Chemistry-Reagents-Recipes.dm" #include "code\bos\modules\reagents\kvasok.dm" +#include "code\bos\modules\reagents\tobacco.dm" #include "code\bos\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks.dm" #include "code\bos\modules\species\mantid\mantid.dm" #include "code\bos\modules\species\station\prometheans.dm" diff --git a/code/_helpers/icons.dm b/code/_helpers/icons.dm index 013911a1cde55..78e22ec1b6820 100644 --- a/code/_helpers/icons.dm +++ b/code/_helpers/icons.dm @@ -924,3 +924,19 @@ lighting determines lighting capturing (optional), suppress_errors suppreses err cap.Blend(img, blendMode2iconMode(A.blend_mode), A.pixel_x + xoff, A.pixel_y + yoff) return cap + + +/proc/build_composite_icon_omnidir(atom/A) + var/icon/composite = icon('icons/effects/effects.dmi', "icon_state"="nothing") + for(var/O in A.underlays) + var/image/I = O + composite.Blend(new /icon(I.icon, I.icon_state), ICON_OVERLAY) + var/icon/ico_omnidir = new(A.icon) + if(A.icon_state in ico_omnidir.IconStates()) + composite.Blend(new /icon(ico_omnidir, A.icon_state), ICON_OVERLAY) + else + composite.Blend(new /icon(ico_omnidir, null), ICON_OVERLAY) + for(var/O in A.overlays) + var/image/I = O + composite.Blend(new /icon(I.icon, I.icon_state), ICON_OVERLAY) + return composite diff --git a/code/bos/game/objects/items/devices/holopad_hand.dm b/code/bos/game/objects/items/devices/holopad_hand.dm new file mode 100644 index 0000000000000..79cb0a11c88da --- /dev/null +++ b/code/bos/game/objects/items/devices/holopad_hand.dm @@ -0,0 +1,205 @@ +#define CALL_NONE 0 +#define CALL_CALLING 1 +#define CALL_RINGING 2 +#define CALL_IN_CALL 3 + +/obj/item/device/holopad + name = "Holopad" + desc = "Small handheld disk with controls." + icon = 'icons/bos/obj/holopad.dmi' + icon_state = "holopad" + item_state = "card-id" + w_class = ITEM_SIZE_TINY + var/voice + var/id + var/uniq_id + var/obj/item/device/holopad/abonent = null + var/call_state = CALL_NONE + var/obj/effect/hologram = null + var/updatingPos = 0 + origin_tech = list(TECH_DATA = 4, TECH_BLUESPACE = 2, TECH_MAGNET = 4) + +/obj/item/device/holopad/Initialize() + uniq_id = random_id("holopad_device", 00000, 99999) + id = rand(1000, 9999) + name = "[initial(name)] [id] #[uniq_id]" + voice = "Holopad [id]" + GLOB.listening_objects += src + . = ..() + +/obj/item/device/holopad/Destroy() + GLOB.listening_objects -= src + abonent = null + . = ..() + + +/obj/item/device/holopad/verb/setID() + set name="Set ID" + set category = "Object" + set src in usr + var/newid = sanitize(input(usr, "What would be new ID?") as null|text, MAX_NAME_LEN) + if(newid && CanPhysicallyInteract(usr)) + id = newid + name = "[initial(name)] [id] #[uniq_id]" + +/obj/item/device/holopad/proc/getName(override_busy = 0) + if(call_state!=CALL_NONE && !override_busy) + return "Holopad [id] #[uniq_id] - busy" + else + return "Holopad [id] #[uniq_id]" + +/obj/item/device/holopad/proc/incall(obj/item/device/holopad/caller) + if(call_state != CALL_NONE) + return FALSE + abonent = caller + call_state = CALL_RINGING + icon_state = "holopad_ringing" + desc = "[initial(desc)] Incoming call from [caller.getName()]." + INVOKE_ASYNC(src, .proc/ring) + return TRUE + +/obj/item/device/holopad/proc/ring() + if(call_state != CALL_RINGING) + return + audible_message(SPAN_WARNING("Something vibrates.."), hearing_distance = 4) + addtimer(CALLBACK(src, .proc/ring), 50) + +/obj/item/device/holopad/proc/placeCall(mob/user) + var/list/Targets = list() + for(var/obj/item/device/holopad/H in GLOB.listening_objects) + if(H == src) + continue + Targets[H.getName()] = H + var/selection = input("Who do you want to call?") as null|anything in Targets + if(!selection) + return + var/obj/item/device/holopad/target = Targets[selection] + if(!target) + return + if(target.incall(src)) + call_state = CALL_CALLING + abonent = target + icon_state = "holopad_calling" + to_chat(user, SPAN_NOTICE("Calling [sanitize(abonent.getName(1))]")) + else + to_chat(user, SPAN_WARNING("Remote device is busy")) + +/obj/item/device/holopad/proc/acceptCall() + if(call_state == CALL_RINGING) + if(abonent && abonent.call_state == CALL_CALLING) + abonent.acceptCall() + call_state = CALL_IN_CALL + icon_state = "holopad_in_call" + addtimer(CALLBACK(src, .proc/update_holo), 1) + + audible_message("[voice] transmits, \"Connection established\"", hearing_distance = 1) + else + call_state = CALL_NONE + icon_state = initial(icon_state) + desc = initial(desc) + abonent = null + + else if(call_state == CALL_CALLING) + call_state = CALL_IN_CALL + icon_state = "holopad_in_call" + addtimer(CALLBACK(src, .proc/update_holo), 1) + + audible_message("[voice] transmits, \"Connection established\"", hearing_distance = 1) + +/obj/item/device/holopad/proc/hangUp(remote = 0) + if(!remote && abonent) + abonent.hangUp(1) + + if(call_state==CALL_NONE) + return + + audible_message(SPAN_WARNING("Connection closed"), hearing_distance = 4) + call_state = CALL_NONE + icon_state = initial(icon_state) + desc = initial(desc) + abonent = null + qdel(hologram) + +/obj/item/device/holopad/dropped() + update_holo() + +/obj/item/device/holopad/proc/update_holo() + if(call_state == CALL_IN_CALL) + if(!abonent) + return + if(!abonent.hologram) + abonent.hologram = new() + abonent.hologram.name = "Hologram [sanitize(id)]" + abonent.hologram.layer = 5 + if(isliving(loc)) + abonent.hologram.icon = getHologramIcon(build_composite_icon_omnidir(loc)) + else + abonent.hologram.icon = icon('icons/effects/effects.dmi', "icon_state"="nothing") + if(!abonent.updatingPos) + abonent.update_holo_pos() + +/obj/item/device/holopad/proc/update_holo_pos() + if(call_state != CALL_IN_CALL) + updatingPos = 0 + return + updatingPos = 1 + if(isliving(loc)) + var/mob/living/L = loc + hologram.dir = turn(L.dir,180) + hologram.loc = L.loc + hologram.pixel_x = ((L.dir&4)?32:((L.dir&8)?-32:0)) + hologram.pixel_y = ((L.dir&1)?32:((L.dir&2)?-32:0)) + else if(isturf(loc)) + hologram.dir = 2 + hologram.loc = loc + hologram.pixel_x = 0 + hologram.pixel_y = 0 + else + hangUp() + addtimer(CALLBACK(src, .proc/update_holo_pos), 2) + + +/obj/item/device/holopad/attack_self(mob/user) + switch(call_state) + if(CALL_NONE) + placeCall() + if(CALL_CALLING) + hangUp() + if(CALL_RINGING) + acceptCall() + if(CALL_IN_CALL) + hangUp() + +/obj/item/device/holopad/hear_talk(mob/user, datum/language/speaking) + if(call_state == CALL_IN_CALL) + abonent.receive(speaking, user == loc) + +/obj/item/device/holopad/proc/receive(speaking, mob/user) + var/list/listening = get_mobs_or_objects_in_view(3, src) + + for(var/mob/observer/ghost/G in GLOB.ghost_mob_list) + if(get_dist(src, G) > world.view && G.get_preference_value(/datum/client_preference/ghost_ears) != GLOB.PREF_ALL_SPEECH) + continue + listening |= G + + if(!user) + voice = "Holopad Background Voice" + for(var/mob/M in listening) + to_chat(M, "[voice] transmits, \"[speaking]\" ") + + + +/obj/item/device/holopad/cheap + name = "Holopda" + desc = "New brand pda now with holo-link and built-in clock." + icon = 'icons/bos/obj/holopda.dmi' + w_class = ITEM_SIZE_SMALL + +/obj/item/device/holopad/cheap/examine(mob/user) + . = ..() + to_chat(user, "\the [src] displays [stationtime2text()].") + +#undef CALL_NONE +#undef CALL_CALLING +#undef CALL_RINGING +#undef CALL_IN_CALL diff --git a/code/bos/game/objects/items/weapons/storage/cigarettes.dm b/code/bos/game/objects/items/weapons/storage/cigarettes.dm new file mode 100644 index 0000000000000..95e6a267a5301 --- /dev/null +++ b/code/bos/game/objects/items/weapons/storage/cigarettes.dm @@ -0,0 +1,35 @@ +/obj/item/storage/fancy/cigarettes/bos/elpedros + name = "pack of El Pedro's" + desc = "One of the most popular brands of women's cigarettes in Lordania. \ + Every smoking girl is ready to give a lot of money for blocks of such cigarettes." + icon_state = "ppacket" + icon = 'icons/bos/obj/cigarettes.dmi' + startswith = list(/obj/item/clothing/mask/smokable/cigarette/elpedros = 4) + +/obj/item/storage/fancy/cigarettes/bos/nirvana + name = "pack of Nirvana Honeys" + desc = "The Manufacturer promises that these honey cigarettes will take you directly to Nirvana. \ + In fact, this is just a crappy brand of cigarettes. But with honey flavor!" + icon_state = "npacket" + startswith = list(/obj/item/clothing/mask/smokable/cigarette/nirvana = 6) + +/obj/item/storage/fancy/cigarettes/bos/mars + name = "pack of Marsian Coffee" + desc = "Popular coffee cigarettes produced by Marsian branch of SyndiBust. \ + Originally named «Gideon's Coffee», the name was changed due to a lawsuit filed by relatives of Jimmy Gideon." + icon_state = "mpacket" + startswith = list(/obj/item/clothing/mask/smokable/cigarette/mars = 6) + +/obj/item/storage/fancy/cigarettes/bos/pear + name = "pack of Green Pear" + desc = "Selenian brand of cigarettes with specific flavor and smiling pear on it's cover. \ + Sometimes it seems that time flies like a clock while smoking them." + icon_state = "pepacket" + startswith = list(/obj/item/clothing/mask/smokable/cigarette/pear = 6) + +/obj/item/storage/fancy/cigarettes/bos/chinese + name = "pack of Yao Yan" + desc = "Special brand of medical cigarettes produced in collaboration between Me-Vir and Euclidian government. \ + Shoddy taste, but less harmful than other cigarettes." + icon_state = "cpacket" + startswith = list(/obj/item/clothing/mask/smokable/cigarette/chinese = 6) diff --git a/code/bos/modules/clothing/mask/smokable.dm b/code/bos/modules/clothing/mask/smokable.dm new file mode 100644 index 0000000000000..8cdba4bc40e70 --- /dev/null +++ b/code/bos/modules/clothing/mask/smokable.dm @@ -0,0 +1,30 @@ +/obj/item/clothing/mask/smokable/cigarette/elpedros + name = "thin cigarette" + brand = "\improper El Pedro's" + icon_state = "cigpro" + type_butt = /obj/item/trash/cigbutt/professionals + filling = list(/datum/reagent/tobacco/female = 1) + +/obj/item/clothing/mask/smokable/cigarette/nirvana + name = "cigarette" + brand = "\improper Nirvana Honeys" + icon_state = "cigoff" + filling = list(/datum/reagent/tobacco/honey = 1) + +/obj/item/clothing/mask/smokable/cigarette/mars + name = "cigarette" + brand = "\improper Marsian Coffee" + icon_state = "cigjer" + filling = list(/datum/reagent/tobacco/coffee = 1) + +/obj/item/clothing/mask/smokable/cigarette/pear + name = "cigarette" + brand = "\improper Green Pear" + icon_state = "cigoff" + filling = list(/datum/reagent/tobacco/perception = 1) + +/obj/item/clothing/mask/smokable/cigarette/chinese + name = "cigarette" + brand = "\improper Yao Yan" + icon_state = "cigoff" + filling = list(/datum/reagent/tobacco/medical = 1) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm new file mode 100644 index 0000000000000..1a57038a4acd5 --- /dev/null +++ b/code/bos/modules/reagents/tobacco.dm @@ -0,0 +1,158 @@ +/datum/reagent/bicaridine/tobacco + taste_description = "speeding up time?" + +/datum/reagent/tobacco/perception + name = "Herbal drugs and tobacco" + description = "Cut and process tobacco leaves along with herbal preparations." + taste_description = "tobacco" + scent = "cigarette smoke and herbal drug?" + scent_range = 6 + +/datum/reagent/tobacco/perception/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + M.add_chemical_effect(CE_SLOWDOWN, 1) + +/datum/reagent/tobacco/medical + name = "Medical tobacco" + description = "medicinal tobacco used for relaxation and concentration." + taste_description = "relax, concetration and tobacco" + scent = "tobacco" + scent_range = 2 + +/datum/reagent/tobacco/strong + name = "Strong tobacco" + description = "Strong tobacco for strong men... or women, i don't know" + taste_description = "strong tobacco that hits the throat hard" + scent = "strong tobacco" + scent_range = 10 + +/datum/reagent/tobacco/strong/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + M.reagents.add_reagent(/datum/reagent/nicotine, 10) + +/datum/reagent/tobacco/female + name = "female tobacco" + description = "female tobacco for good lady's" + taste_description = "weak tobacco that gently caresses the throat." + scent = "weak tobacco" + +/datum/reagent/tobacco/honey + name = "tobacco with honey" + description = "tobacco that has been processed in honey" + taste_description = "the sweetness of honey and the strength of tobacco." + scent = "sweet tobacco" + +/datum/reagent/tobacco/coffee + name = "tobacco with coffee" + description = "tobacco leaves that have been mixed with coffee powder" + taste_description = "sweet tobacco and energetic coffee." + scent = "sweet tobacco and energy tobacco" + scent_descriptor = SCENT_DESC_ODOR + + + +//packet + +/obj/item/tobacco + name = "Peace of tobacco" + desc = "Tobacco who used in hookah's for make smoke" + w_class = ITEM_SIZE_TINY + + icon = 'icons/obj/hydroponics_products.dmi' + icon_state = "tobacco-product" + item_state = "tobacco-product" + var/volume = 5 + var/list/filling = list(/datum/reagent/tobacco = 1) + + +/obj/item/tobacco/New() + ..() + create_reagents(volume) + for(var/R in filling) + reagents.add_reagent(R, filling[R]) + +/obj/item/tobacco/perception + name = "perception tobacco" + desc = "Cut and process tobacco leaves along with herbal preparations." + + filling = list(/datum/reagent/tobacco/perception = 1, /datum/reagent/bicaridine/tobacco = 1) + +/obj/item/tobacco/medical + name = "medical tobacco" + desc = "Medicinal tobacco used for relaxation and concentration." + + filling = list(/datum/reagent/tobacco/medical = 1, /datum/reagent/paroxetine = 0.7) + +/obj/item/tobacco/strong + name = "strong tobacco" + desc = "Strong tobacco for strong men... or women, perhaps." + + filling = list(/datum/reagent/tobacco/strong = 1) + +/obj/item/tobacco/female + name = "female tobacco" + desc = "Female tobacco for good ladys." + + filling = list(/datum/reagent/tobacco/female = 1) + +/obj/item/tobacco/honey + name = "tobacco with honey" + desc = "Tobacco that has been processed in honey." + + filling = list(/datum/reagent/tobacco/honey = 1) + +/obj/item/tobacco/coffee + name = "tobacco with coffee" + desc = "Tobacco leaves that have been mixed with coffee powder." + + filling = list(/datum/reagent/tobacco/coffee = 1) + +/obj/item/tobacco/attackby(obj/item/I, mob/user) + if(is_type_in_list(I, list(/obj/item/paper/cig/, /obj/item/paper/, /obj/item/teleportation_scroll))) + if(user.unEquip(I)) + var/obj/item/clothing/mask/smokable/cigarette/rolled/R = new(get_turf(src)) + R.chem_volume = reagents.total_volume + R.brand = "[src] handrolled in \the [I]." + reagents.trans_to_holder(R.reagents, R.chem_volume) + to_chat(user, "You roll \the [src] into \the [I]") + user.put_in_active_hand(R) + qdel(I) + qdel(src) + return + ..() + +/obj/item/storage/chewables/rollable/perception + name = "bag of perception tobacco" + desc = "Cut and process tobacco leaves along with herbal preparations." + startswith = list(/obj/item/tobacco/perception = 8) + icon_state = "rollfine" + +/obj/item/storage/chewables/rollable/medical + name = "bag of medical tobacco" + desc = "Medicinal tobacco used for relaxation and concentration." + startswith = list(/obj/item/tobacco/medical = 8) + icon_state = "rollfine" + +/obj/item/storage/chewables/rollable/strong + name = "bag of strong tobacco" + desc = "Strong tobacco for strong men... or women, perhaps." + startswith = list(/obj/item/tobacco/strong = 8) + icon_state = "rollfine" + +/obj/item/storage/chewables/rollable/female + name = "bag of female tobacco" + desc = "Female tobacco for good ladys." + startswith = list(/obj/item/tobacco/female = 8) + icon_state = "rollfine" + +/obj/item/storage/chewables/rollable/honey + name = "bag of honey tobacco" + desc = "Tobacco that has been processed in honey." + startswith = list(/obj/item/tobacco/honey = 8) + icon_state = "rollfine" + +/obj/item/storage/chewables/rollable/coffee + name = "bag of coffee tobacco" + desc = "Tobacco leaves that have been mixed with coffee powder." + startswith = list(/obj/item/tobacco/coffee = 8) + icon_state = "rollfine" diff --git a/code/modules/client/preference_setup/loadout/lists/misc.dm b/code/modules/client/preference_setup/loadout/lists/misc.dm index 321857e6dedb2..46fba0d2ced02 100644 --- a/code/modules/client/preference_setup/loadout/lists/misc.dm +++ b/code/modules/client/preference_setup/loadout/lists/misc.dm @@ -310,3 +310,8 @@ cointype["coin, phoron"] = /obj/item/material/coin/phoron cointype["coin, platinum"] = /obj/item/material/coin/platinum gear_tweaks += new/datum/gear_tweak/path(cointype) + +/datum/gear/device/holopad/cheap + display_name = "holopda" + path = /obj/item/device/holopad/cheap + cost = 3 diff --git a/icons/bos/obj/cigarettes.dmi b/icons/bos/obj/cigarettes.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ed8fad0c3db1fd33964227796471c9545070dec9 GIT binary patch literal 1661 zcmV-@27>vCP)rJj$-iXbkebT^c4+uPeDfLi*EDA{`>+oe$?6$Kg(1Hiz*dV3im z00001bW%=J06^y0W&i*H;(AnAbVOxyV{&P5bZKvH004NLm6gj1!Y~j;*U49eb}xPD z&W*H47xo{@G}<7Jp$+=`7Hc*xoa-(V4kUBthNR}u9NW&+r&d4gG`l;Sy{R^tR!=vC zaVg3|tI@j47}jDAeXz?ix%r;1HdKjLgPZ1ME7$5g^*6h&zrhj(3lz*zaEF2!3T{Qv zTlA8Vl>3gPtTK}FbRvm&B-@OntdmelggPQr5ut_%6-20?4~TNIMh{OLjvAaauowSl zFZjDb->k?ndNQMO7)=DD8Dn&SjQVCYJN#Q?YMQQo|0FNtug-?>)Kqi;00f~)L_t(| zob8=!cj7h>hHVmKE;UK9p&RIONkVgJV*>yG$5pbuA7@?;DwVABK3P6JmNa84#@RWR zl7tXK2qBiVAzY7u{SO+%BYb-VY(KcWzq`+}f#x&aXS&aTH{;*miyqOom-|l!!+e-$ znRo`Q&vc*ZJ_Fv2pXXO!!M45Jf0B;Iqw!=SPa)$cx}WHN0{qziTt7vd_HzHpwB@%@ zJp#5jvM`@ns2%~^7cJr$@a++>z3(Y_^C?<1z7Q|5Z;ycO3wwk*h5UL1Y;Wf86#R~O z^$6I$o5R6+^O$L`k@%#7+6Rw$kS-pkv#YOg@TBQu^2c*aHgR0T4n6A%u`yF>mOvN0e>(sqCwVTu|PE}&7*+tKyHPdq7A+S zxfwsppHbgMO@_V$AcPP?2qA<-%4WOW>~@gdo{rq+g={v zRrfC!_!r&3LjNlJ?cuLo)CnFAJCmWD;O6=HO_>44zw7?(0{^D_cj(_`e>iMRhRPK@ zZ1;O}M6BM<;k`W~R^Ofhb40A(-e$oW>bGwX(B^p0efyvgu_uHOLI@#*5JCtcG4f&X z8UU)lp#XvZwC`{JeSLdpkLqtIK;#E^ciQr%$*0Ake|Q4B1jQ@Zyke>ZXcACfV6|^> z4)aV4@Sm#E5*(;6*mkezYA?XT1nn!PS^&dgrX}z-8jUBKHy7{=C8&OwauLuek>3+r#>ra{wQoV2T0nnjosLxdzxwA!U5zUB`#G2Iz|K@d+V>5JCtcgb>nC z>V|N=D|NfT=`mFQYl&HTSue0H&L#T`y6iuA!2+v#{i(F;dX=S^V4CWCP<9Kjif6D} zU{&>bo&&G8SI39zcc$Nm!}oV8Zb?$N3$V&ls9j)H_2vh7wY@q%T)%VLTt9j9w7Nc> zPIWB@;Mv3VJEzmMNR|ElZ2x8iIRMWduHT9F_cOgO&F37dhwFEu{ryhO@30bpXAjr! zMEm=lTEr>h+r#xc(f)qzgM@Yy@ay6FooIi*ZUAwL`1Wx9PPD&YH$_~%c)*2T?4J-q z2qAp5tH#N^oWKZf+*(ru7<{eQfMPTg*hs3myncY?0vN&wT%QXa=lWdeIM?TVV;(c>^H~niwf^TFbM_bJRv+)v^zpo0MxNkl zVV|~q$8j@`$5VZd`U=_v&k-k>oR9T6>Oa|&aKFL`A${dva=uXG00=lz00000NkvXX Hu0mjfW9m9j literal 0 HcmV?d00001 diff --git a/icons/bos/obj/holopad.dmi b/icons/bos/obj/holopad.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b83c53ea7a874fe44fc014bc9dc50de3d53a8c4c GIT binary patch literal 736 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 Date: Wed, 12 Jul 2023 14:24:39 +0300 Subject: [PATCH 02/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index 1a57038a4acd5..29fd674c2310d 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -21,7 +21,7 @@ /datum/reagent/tobacco/strong name = "Strong tobacco" - description = "Strong tobacco for strong men... or women, i don't know" + description = "Strong tobacco for strong men... or women, i don't know." taste_description = "strong tobacco that hits the throat hard" scent = "strong tobacco" scent_range = 10 From 3d5d23a0e8fa1538832a12ac24e0421e2d99da34 Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:24:47 +0300 Subject: [PATCH 03/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index 29fd674c2310d..f7fc5fcceb2b5 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -38,7 +38,7 @@ /datum/reagent/tobacco/honey name = "tobacco with honey" - description = "tobacco that has been processed in honey" + description = "tobacco that has been processed in honey." taste_description = "the sweetness of honey and the strength of tobacco." scent = "sweet tobacco" From a906566cb1dd989a544b658f4cb9e4820cab265b Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:24:55 +0300 Subject: [PATCH 04/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index f7fc5fcceb2b5..bda4f8633193d 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -44,7 +44,7 @@ /datum/reagent/tobacco/coffee name = "tobacco with coffee" - description = "tobacco leaves that have been mixed with coffee powder" + description = "tobacco leaves that have been mixed with coffee powder." taste_description = "sweet tobacco and energetic coffee." scent = "sweet tobacco and energy tobacco" scent_descriptor = SCENT_DESC_ODOR From 94a0781aa73e21583bae09dbe7d3ccd887ae0c6e Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:25:03 +0300 Subject: [PATCH 05/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index bda4f8633193d..2c8aceab5356c 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -55,7 +55,7 @@ /obj/item/tobacco name = "Peace of tobacco" - desc = "Tobacco who used in hookah's for make smoke" + desc = "Tobacco who used in hookah's for make smoke." w_class = ITEM_SIZE_TINY icon = 'icons/obj/hydroponics_products.dmi' From 30cb5e1448de719a323f00be99495f864efb35bd Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:25:09 +0300 Subject: [PATCH 06/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index 2c8aceab5356c..b29b5a6b248cf 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -141,7 +141,7 @@ /obj/item/storage/chewables/rollable/female name = "bag of female tobacco" - desc = "Female tobacco for good ladys." + desc = "Female tobacco for good ladies." startswith = list(/obj/item/tobacco/female = 8) icon_state = "rollfine" From 4b808b3ced6a0f24d0990cd8b72a94d5c5b96c83 Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:25:18 +0300 Subject: [PATCH 07/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index b29b5a6b248cf..d9b79facd4e3d 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -91,7 +91,7 @@ /obj/item/tobacco/female name = "female tobacco" - desc = "Female tobacco for good ladys." + desc = "Female tobacco for good ladies." filling = list(/datum/reagent/tobacco/female = 1) From 7e5fee83f158476bb8db9a318ca71630f2273889 Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:25:26 +0300 Subject: [PATCH 08/10] Update code/bos/modules/reagents/tobacco.dm Co-authored-by: ActuallyALovelyGrave <59647053+ActuallyALovelyGrave@users.noreply.github.com> --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index d9b79facd4e3d..d79ca44ebf8a6 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -32,7 +32,7 @@ /datum/reagent/tobacco/female name = "female tobacco" - description = "female tobacco for good lady's" + description = "female tobacco for good ladies." taste_description = "weak tobacco that gently caresses the throat." scent = "weak tobacco" From b8599534938a49607a92d3cb1702c9a6fec64cda Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:27:06 +0300 Subject: [PATCH 09/10] Update tobacco.dm --- code/bos/modules/reagents/tobacco.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/bos/modules/reagents/tobacco.dm b/code/bos/modules/reagents/tobacco.dm index d79ca44ebf8a6..1bdfd133b2fbb 100644 --- a/code/bos/modules/reagents/tobacco.dm +++ b/code/bos/modules/reagents/tobacco.dm @@ -47,7 +47,7 @@ description = "tobacco leaves that have been mixed with coffee powder." taste_description = "sweet tobacco and energetic coffee." scent = "sweet tobacco and energy tobacco" - scent_descriptor = SCENT_DESC_ODOR + scent_descriptor = "sweet tobacco" From 48c39e3489cb9ca8b71223db7ebc302c6b3d52c9 Mon Sep 17 00:00:00 2001 From: actuallynotajoke <103668394+actuallynotajoke@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:29:35 +0300 Subject: [PATCH 10/10] Update holopad_hand.dm --- code/bos/game/objects/items/devices/holopad_hand.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/bos/game/objects/items/devices/holopad_hand.dm b/code/bos/game/objects/items/devices/holopad_hand.dm index 79cb0a11c88da..58c8f406d6e9b 100644 --- a/code/bos/game/objects/items/devices/holopad_hand.dm +++ b/code/bos/game/objects/items/devices/holopad_hand.dm @@ -188,7 +188,7 @@ to_chat(M, "[voice] transmits, \"[speaking]\" ") - +/* /obj/item/device/holopad/cheap name = "Holopda" desc = "New brand pda now with holo-link and built-in clock." @@ -198,7 +198,7 @@ /obj/item/device/holopad/cheap/examine(mob/user) . = ..() to_chat(user, "\the [src] displays [stationtime2text()].") - +*/ #undef CALL_NONE #undef CALL_CALLING #undef CALL_RINGING