diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 4689863245..988c11df10 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -39,6 +39,7 @@ alert.icon_state = "itembased" var/image/I = image(icon = new_master.icon, icon_state = new_master.icon_state, dir = SOUTH) I.plane = PLANE_PLAYER_HUD_ABOVE + I.color = new_master.color alert.add_overlay(I) alert.master = new_master else diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm index dc89132971..37887dcb16 100644 --- a/code/game/area/Space Station 13 areas_vr.dm +++ b/code/game/area/Space Station 13 areas_vr.dm @@ -188,3 +188,6 @@ /area/holodeck/source_patient_ward name = "\improper Holodeck - Patient Ward" + +/area/holodeck/the_uwu_zone + name = "\improper Holodeck - Inside" diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index f948459970..c0c23f9420 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -185,6 +185,7 @@ icon_state = "cryo_rear" anchored = TRUE dir = WEST + density = TRUE //Cryopods themselves. /obj/machinery/cryopod @@ -522,13 +523,13 @@ control_computer.frozen_crew += "[to_despawn.real_name], [to_despawn.mind.role_alt_title] - [stationtime2text()]" control_computer._admin_logs += "[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) at [stationtime2text()]" log_and_message_admins("[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) entered cryostorage.") - + //VOREStation Edit Start var/depart_announce = TRUE if(istype(to_despawn, /mob/living/dominated_brain)) depart_announce = FALSE - + if(depart_announce) announce.autosay("[to_despawn.real_name], [to_despawn.mind.role_alt_title], [on_store_message]", "[on_store_name]", announce_channel, using_map.get_map_levels(z, TRUE, om_range = DEFAULT_OVERMAP_RANGE)) visible_message("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2]", 3) diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index 84f228c6ab..e68ce7aa4e 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -128,3 +128,17 @@ icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") + +/obj/effect/decal/cleanable/confetti + name = "confetti" + desc = "Tiny bits of colored paper thrown about for the janitor to enjoy!" + gender = PLURAL + density = FALSE + anchored = TRUE + icon = 'icons/effects/effects.dmi' + icon_state = "confetti" + +/obj/effect/decal/cleanable/confetti/attack_hand(mob/user) + to_chat(user, "You start to meticulously pick up the confetti.") + if(do_after(user, 60)) + qdel(src) diff --git a/code/game/objects/items/toys/toys_vr.dm b/code/game/objects/items/toys/toys_vr.dm index a13046dc63..8a3f59feae 100644 --- a/code/game/objects/items/toys/toys_vr.dm +++ b/code/game/objects/items/toys/toys_vr.dm @@ -22,6 +22,7 @@ * Professor Who universal ID * Professor Who sonic driver * Action figures + * Desk toys */ @@ -962,3 +963,114 @@ icon = 'icons/obj/toy_vr.dmi' icon_state = "prisoner" toysay = "I did not hit her! I did not!" + +/obj/item/toy/figure/error + name = "completely glitched action figure" + desc = "A \"Space Life\" brand... wait, what the hell is this thing? It seems to be requesting the sweet release of death." + icon = 'icons/obj/toy_vr.dmi' + icon_state = "glitched" + toysay = "AaAAaAAAaAaaaAAA!!!!!" + +/* + * Desk toys + */ +/obj/item/weapon/toy/desk + icon = 'icons/obj/toy_vr.dmi' + var/on = FALSE + var/activation_sound = 'sound/machines/click.ogg' + +/obj/item/weapon/toy/desk/update_icon() + if(on) + icon_state = "[initial(icon_state)]-on" + else + icon_state = "[initial(icon_state)]" + +/obj/item/weapon/toy/desk/proc/activate(mob/user as mob) + on = !on + playsound(src.loc, activation_sound, 75, 1) + update_icon() + return 1 + +/obj/item/weapon/toy/desk/attack_self(mob/user) + activate(user) + +/obj/item/weapon/toy/desk/AltClick(mob/user) + activate(user) + +/obj/item/weapon/toy/desk/MouseDrop(mob/user as mob) // Code from Paper bin, so you can still pick up the deck + if((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr)))))) + if(!istype(usr, /mob/living/simple_mob)) + if( !usr.get_active_hand() ) //if active hand is empty + var/mob/living/carbon/human/H = user + var/obj/item/organ/external/temp = H.organs_by_name["r_hand"] + + if (H.hand) + temp = H.organs_by_name["l_hand"] + if(temp && !temp.is_usable()) + to_chat(user,"You try to move your [temp.name], but cannot!") + return + + to_chat(user,"You pick up [src].") + user.put_in_hands(src) + + return + +/obj/item/weapon/toy/desk/newtoncradle + name = "\improper Newton's cradle" + desc = "A ancient 21th century super-weapon model demonstrating that Sir Isaac Newton is the deadliest sonuvabitch in space." + description_fluff = "Aside from car radios, Eridanian Dregs are reportedly notorious for stealing these things. It is often \ + theorized that the very same ball bearings are used in black-market cybernetics." + icon_state = "newtoncradle" + +/obj/item/weapon/toy/desk/fan + name = "office fan" + desc = "Your greatest fan." + description_fluff = "For weeks, the atmospherics department faced a conundrum on how to lower temperatures in a localized \ + area through complicated pipe channels and ventilation systems. The problem was promptly solved by ordering several desk fans." + icon_state = "fan" + +/obj/item/weapon/toy/desk/officetoy + name = "office toy" + desc = "A generic microfusion powered office desk toy. Only generates magnetism and ennui." + description_fluff = "The mechanism inside is a Hephasteus trade secret. No peeking!" + icon_state = "desktoy" + +/obj/item/weapon/toy/desk/dippingbird + name = "dipping bird toy" + desc = "Engineers marvel at this scale model of a primitive thermal engine. It's highly debated why the majority of owners \ + were in low-level bureaucratic jobs." + description_fluff = "One of the key essentials for every Eridanian suit - it's practically a rite of passage to own one \ + of these things." + icon_state = "dippybird" + +/obj/item/weapon/toy/desk/stellardelight + name = "\improper Stellar Delight model" + desc = "A scale model of the Stellar Delight. Includes flashing lights!" + icon_state = "stellar_delight" + +/* + * Party popper + */ +/obj/item/weapon/toy/partypopper + name = "party popper" + desc = "Instructions : Aim away from face. Wait for appropriate timing. Pull cord, enjoy confetti." + icon = 'icons/obj/toy_vr.dmi' + icon_state = "partypopper" + w_class = ITEMSIZE_TINY + drop_sound = 'sound/items/drop/cardboardbox.ogg' + pickup_sound = 'sound/items/pickup/cardboardbox.ogg' + +/obj/item/weapon/toy/partypopper/attack_self(mob/user as mob) + if(icon_state == "partypopper") + user.visible_message("[user] pulls on the string, releasing a burst of confetti!", "You pull on the string, releasing a burst of confetti!") + playsound(src, 'sound/effects/snap.ogg', 50, TRUE) + var/datum/effect/effect/system/confetti_spread/s = new /datum/effect/effect/system/confetti_spread + s.set_up(5, 1, src) + s.start() + icon_state = "partypopper_e" + var/turf/T = get_step(src, user.dir) + if(!turf_clear(T)) + T = get_turf(src) + new /obj/effect/decal/cleanable/confetti(T) + else + to_chat(user, "The [src] is already spent!") \ No newline at end of file diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 04a8b9b2c5..7f7bdbca03 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -471,6 +471,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "cobpipe" chem_volume = 35 +/obj/item/clothing/mask/smokable/pipe/bonepipe + name = "Europan bone pipe" + desc = "A smoking pipe made out of the bones of the Europan bone whale." + description_fluff = "While most commonly associated with bone charms, bones from various sea creatures on Europa are used in a \ + variety of goods, such as this smoking pipe. While smoking in submarines is often an uncommon occurrence, due to a lack of \ + available air or space, these pipes are a common sight in the many stations of Europa. Higher-quality pipes typically have \ + scenes etched into their bones, and can tell the story of their owner's time on Europa." + icon_state = "bonepipe" + item_state = "bonepipe" + chem_volume = 30 + /////////////// //CUSTOM CIGS// /////////////// diff --git a/code/game/objects/items/weapons/manuals_vr.dm b/code/game/objects/items/weapons/manuals_vr.dm index 9eaaa56265..1325a0e1ca 100644 --- a/code/game/objects/items/weapons/manuals_vr.dm +++ b/code/game/objects/items/weapons/manuals_vr.dm @@ -342,3 +342,395 @@
This all may seem daunting at a glance; so many recipes to learn, and a "lot" to keep in mind. But really it's not - tending the Bar is mostly about going with the flow of things and providing a good times, and drinks just provide liquid courage to make a good time easier. Take a deep breath if you ever feel overwhelmed, and handle one order at a time. You can do it! Don't feel the need to know every recipe, just learn your favorites and go from there; the rest is here or online if someone asks for it! If somebody asks you to give them anything without a specific request, don't panic: evalulate their likes and tolerance level, and try your best to give them something nice!