diff --git a/code/game/objects/items/devices/lighting/lamp.dm b/code/game/objects/items/devices/lighting/lamp.dm index d82ebc82f1a..985cac54252 100644 --- a/code/game/objects/items/devices/lighting/lamp.dm +++ b/code/game/objects/items/devices/lighting/lamp.dm @@ -13,7 +13,6 @@ slot_flags = 0 //No wearing desklamps light_wedge = LIGHT_OMNI - // green-shaded desk lamp /obj/item/device/flashlight/lamp/green desc = "A classic green-shaded desk lamp." @@ -23,10 +22,44 @@ brightness_on = 5 light_color = "#FFC58F" -/obj/item/device/flashlight/lamp/verb/toggle_light() - set name = "Toggle light" - set category = "Object" - set src in oview(1) +//Lava Lamps: Because we're already stuck in the 70ies with those fax machines. +/obj/item/device/flashlight/lamp/lava + name = "data encryption lamp" + desc = "Random oil globules within were parsed in photos for your protection. Enjoy this kitschy memorabilia by sticking it on your desk." + icon_state = "lavalamp" + brightness_on = 3 + matter = list(DEFAULT_WALL_MATERIAL = 250, MATERIAL_GLASS = 200) - if(!usr.stat) - attack_self(usr) +/obj/item/device/flashlight/lamp/lava/update_icon() + if(on) + set_light(brightness_on) + else + set_light(0) + cut_overlays() + var/image/I = image(icon = icon, icon_state = "lavalamp-[on ? "on" : "off"]") + I.color = light_color + add_overlay(I) + +/obj/item/device/flashlight/lamp/lava/red + light_color = COLOR_RED + +/obj/item/device/flashlight/lamp/lava/blue + light_color = COLOR_BLUE + +/obj/item/device/flashlight/lamp/lava/cyan + light_color = COLOR_CYAN + +/obj/item/device/flashlight/lamp/lava/green + light_color = COLOR_GREEN + +/obj/item/device/flashlight/lamp/lava/orange + light_color = COLOR_ORANGE + +/obj/item/device/flashlight/lamp/lava/purple + light_color = COLOR_PURPLE + +/obj/item/device/flashlight/lamp/lava/pink + light_color = COLOR_PINK + +/obj/item/device/flashlight/lamp/lava/yellow + light_color = COLOR_YELLOW diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 57190703374..922c3af7a29 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -991,7 +991,6 @@ drop_sound = 'sound/items/drop/rubber.ogg' pickup_sound = 'sound/items/pickup/rubber.ogg' - /obj/item/toy/xmastree name = "miniature Christmas tree" desc = "Now with 99% less pine needles." @@ -1002,6 +1001,55 @@ drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' + +//baystation desk toys + +/obj/item/toy/desk + var/on = FALSE + var/activation_sound = /decl/sound_category/switch_sound + +/obj/item/toy/desk/update_icon() + if(on) + icon_state = "[initial(icon_state)]-on" + else + icon_state = initial(icon_state) + +/obj/item/toy/desk/attack_self(mob/user) + activate(user) + +/obj/item/toy/desk/AltClick(mob/user) + activate(user) + +/obj/item/toy/desk/proc/activate(mob/user) + on = !on + playsound(src.loc, activation_sound, 75, 1) + update_icon() + return 1 + +/obj/item/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." + desc_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/toy/desk/fan + name = "office fan" + desc = "Your greatest fan." + desc_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/toy/desk/officetoy + name = "office toy" + desc = "A generic microfusion powered office desk toy. Only generates magnetism and ennui." + desc_fluff = "The mechanism inside is a Hephasteus trade secret. No peeking!" + icon_state = "desktoy" + +/obj/item/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." + desc_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/toy/partypopper name = "party popper" desc = "Instructions : Aim away from face. Wait for appropriate timing. Pull cord, enjoy confetti." diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index 8ff5b77ac46..da41c535b69 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -363,6 +363,35 @@ /obj/item/toy/balloon/candycane = 1 ) +/obj/random/desktoy + name = "random desk toy" + desc = "This is a random desk toy." + icon = 'icons/obj/toy.dmi' + icon_state = "dippybird" + spawnlist = list( + /obj/item/toy/desk/newtoncradle, + /obj/item/toy/desk/fan, + /obj/item/toy/desk/officetoy, + /obj/item/toy/desk/dippingbird + ) + +/obj/random/lavalamp + name = "random lava lamp" + desc = "This is a random lava lamp." + icon = 'icons/obj/lighting.dmi' + icon_state = "lavalamp" + spawnlist = list( + /obj/item/device/flashlight/lamp/lava, + /obj/item/device/flashlight/lamp/lava/red, + /obj/item/device/flashlight/lamp/lava/orange, + /obj/item/device/flashlight/lamp/lava/yellow, + /obj/item/device/flashlight/lamp/lava/green, + /obj/item/device/flashlight/lamp/lava/cyan, + /obj/item/device/flashlight/lamp/lava/blue, + /obj/item/device/flashlight/lamp/lava/purple, + /obj/item/device/flashlight/lamp/lava/pink + ) + /obj/random/smalltank name = "random small tank" @@ -1701,4 +1730,4 @@ /obj/item/pizzabox/mushroom, /obj/item/pizzabox/meat, /obj/item/pizzabox/pineapple - ) \ No newline at end of file + ) diff --git a/html/changelogs/wezzy-desktoys.yml b/html/changelogs/wezzy-desktoys.yml new file mode 100644 index 00000000000..42c0bac596b --- /dev/null +++ b/html/changelogs/wezzy-desktoys.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds lava lamps and desk toys." \ No newline at end of file diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 9b54b396488..3f144f686e3 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 9a376ceaa61..10d40c3a69f 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ