From 82981339edadbef1fbfedb6ff63fb693180e3eed Mon Sep 17 00:00:00 2001 From: bawhoppen Date: Sun, 1 Oct 2017 15:07:10 -0500 Subject: [PATCH] Adds desc to things lacking them. --- code/game/machinery/_machinery.dm | 1 + .../embedded_controller/access_controller.dm | 2 + code/game/machinery/lightswitch.dm | 1 + code/game/machinery/pipe/pipe_dispenser.dm | 3 + .../machinery/porta_turret/portable_turret.dm | 3 + .../porta_turret/portable_turret_construct.dm | 1 + .../telecomms/computers/logbrowser.dm | 1 + .../telecomms/computers/telemonitor.dm | 1 + .../game/objects/items/devices/radio/radio.dm | 1 + code/game/objects/items/shooting_range.dm | 2 +- code/game/objects/items/signs.dm | 2 +- code/game/objects/items/storage/fancy.dm | 1 + code/game/objects/items/storage/secure.dm | 2 + code/game/objects/items/vending_items.dm | 1 + code/game/objects/structures/ai_core.dm | 1 + code/game/objects/structures/door_assembly.dm | 1 + code/game/objects/structures/flora.dm | 10 + code/game/objects/structures/girders.dm | 1 + .../structures/transit_tubes/station.dm | 1 + .../structures/transit_tubes/transit_tube.dm | 1 + .../transit_tube_construction.dm | 11 + .../objects/structures/windoor_assembly.dm | 20 ++ code/game/shuttle_engines.dm | 16 +- .../components/binary_devices/valve.dm | 2 +- .../components/trinary_devices/filter.dm | 1 + .../components/trinary_devices/mixer.dm | 1 + .../atmospherics/machinery/other/zvent.dm | 1 + code/modules/clothing/head/misc.dm | 2 +- code/modules/library/lib_items.dm | 328 +++++++++++++++++- code/modules/library/lib_machines.dm | 4 + code/modules/mining/machine_stacking.dm | 4 +- code/modules/research/message_server.dm | 1 + code/modules/shuttle/computer.dm | 1 + code/modules/shuttle/ferry.dm | 1 + code/modules/shuttle/syndicate.dm | 3 + 35 files changed, 423 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 054bf07f70..23b398605c 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -95,6 +95,7 @@ Class Procs: /obj/machinery name = "machinery" icon = 'icons/obj/stationobjs.dmi' + desc = "Some kind of machine." verb_say = "beeps" verb_yell = "blares" pressure_resistance = 15 diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index c23f4d0ba8..5e0d018554 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -42,6 +42,7 @@ icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_button_standby" name = "access button" + desc = "A button used for the explicit purpose of opening an airlock." var/idDoor var/obj/machinery/door/airlock/door var/obj/machinery/doorButtons/airlock_controller/controller @@ -107,6 +108,7 @@ icon = 'icons/obj/airlock_machines.dmi' icon_state = "access_control_standby" name = "access console" + desc = "A small console that can cycle opening between two airlocks." var/obj/machinery/door/airlock/interiorAirlock var/obj/machinery/door/airlock/exteriorAirlock var/idInterior diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index a979ba6398..102be57f9b 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/power.dmi' icon_state = "light1" anchored = TRUE + desc = "Make dark." var/on = TRUE var/area/area = null var/otherarea = null diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 39b3760f7e..cedb94b7b3 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -2,6 +2,7 @@ name = "pipe dispenser" icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" + desc = "Dispenses countless types of pipes. Very useful if you need pipes." density = TRUE anchored = TRUE var/wait = 0 @@ -108,6 +109,7 @@ name = "disposal pipe dispenser" icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" + desc = "Dispenses pipes that will ultimately be used to move trash around." density = TRUE anchored = TRUE @@ -183,6 +185,7 @@ Nah icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" density = TRUE + desc = "Dispenses pipes that will move beings around." anchored = TRUE /obj/machinery/pipedispenser/disposal/transit_tube/attack_hand(mob/user) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index b84de7cf18..e9f0f76bc9 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -12,6 +12,7 @@ layer = OBJ_LAYER invisibility = INVISIBILITY_OBSERVER //the turret is invisible if it's inside its cover density = TRUE + desc = "A covered turret that shoots at its enemies." use_power = IDLE_POWER_USE //this turret uses and requires power idle_power_usage = 50 //when inactive, this turret takes up constant 50 Equipment power active_power_usage = 300 //when active, this turret takes up constant 300 Equipment power @@ -552,6 +553,7 @@ base_icon_state = "syndie" faction = "syndicate" emp_vunerable = 0 + desc = "A ballistic machine gun auto-turret." /obj/machinery/porta_turret/syndicate/energy icon_state = "standard_stun" @@ -560,6 +562,7 @@ stun_projectile_sound = 'sound/weapons/taser.ogg' lethal_projectile = /obj/item/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + desc = "An energy blaster auto-turret." /obj/machinery/porta_turret/syndicate/setup() return diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index 1dbdc52b1e..7eace08636 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -12,6 +12,7 @@ name = "turret frame" icon = 'icons/obj/turrets.dmi' icon_state = "turret_frame" + desc = "An unfinished covered turret frame." density = TRUE var/build_step = PTURRET_UNSECURED //the current step in the building process var/finish_name = "turret" //the name applied to the product turret diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index 92a4edfcd2..590c8d03a5 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -3,6 +3,7 @@ /obj/machinery/computer/telecomms/server name = "telecommunications server monitoring console" icon_screen = "comm_logs" + desc = "Has full access to all details and record of the telecommunications network it's monitoring." var/screen = 0 // the screen number: var/list/servers = list() // the servers located by the computer diff --git a/code/game/machinery/telecomms/computers/telemonitor.dm b/code/game/machinery/telecomms/computers/telemonitor.dm index bccbfd96fd..cb3ae78e72 100644 --- a/code/game/machinery/telecomms/computers/telemonitor.dm +++ b/code/game/machinery/telecomms/computers/telemonitor.dm @@ -8,6 +8,7 @@ /obj/machinery/computer/telecomms/monitor name = "telecommunications monitoring console" icon_screen = "comm_monitor" + desc = "Monitors the details of the telecommunications network it's synced with." var/screen = 0 // the screen number: var/list/machinelist = list() // the machines located by the computer diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 0f59d00ab8..83d29457f6 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -4,6 +4,7 @@ suffix = "\[3\]" icon_state = "walkietalkie" item_state = "walkietalkie" + desc = "A basic handheld radio that communicates with local telecommunication networks." dog_fashion = /datum/dog_fashion/back var/on = TRUE // 0 for off var/last_transmission diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 28d4d13967..c8249024f8 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -41,7 +41,7 @@ /obj/item/target/syndicate icon_state = "target_s" - desc = "A shooting target that looks like a syndicate scum." + desc = "A shooting target that looks like syndicate scum." hp = 2600 /obj/item/target/alien diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index c492b752f0..350daa0fc3 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -1,7 +1,7 @@ /obj/item/picket_sign icon_state = "picket" name = "blank picket sign" - desc = "It's blank" + desc = "It's blank." force = 5 w_class = WEIGHT_CLASS_BULKY attack_verb = list("bashed","smacked") diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index b5417e8f8e..435bc64c41 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -17,6 +17,7 @@ icon = 'icons/obj/food/containers.dmi' icon_state = "donutbox6" name = "donut box" + desc = "Mmm. Donuts." resistance_flags = FLAMMABLE var/icon_type = "donut" var/spawn_type = null diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index ef65f2dac3..4d56b6a8e8 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -25,6 +25,7 @@ w_class = WEIGHT_CLASS_NORMAL max_w_class = WEIGHT_CLASS_SMALL max_combined_w_class = 14 + desc = "This shouldn't exist. If it does, create an issue report." /obj/item/storage/secure/examine(mob/user) ..() @@ -177,6 +178,7 @@ icon_opened = "safe0" icon_locking = "safeb" icon_sparking = "safespark" + desc = "Excellent for securing things away from grubby hands." force = 8 w_class = WEIGHT_CLASS_GIGANTIC max_w_class = 8 diff --git a/code/game/objects/items/vending_items.dm b/code/game/objects/items/vending_items.dm index b062c39ee5..e84295f8ed 100644 --- a/code/game/objects/items/vending_items.dm +++ b/code/game/objects/items/vending_items.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/vending_restock.dmi' icon_state = "refill_snack" item_state = "restock_unit" + desc = "A vending machine restock cart." lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' flags_1 = CONDUCT_1 diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 709d86d4d7..d01cd5a191 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -4,6 +4,7 @@ name = "\improper AI core" icon = 'icons/mob/ai.dmi' icon_state = "0" + desc = "The framework for an artificial intelligence core." max_integrity = 500 var/state = 0 var/datum/ai_laws/laws = new() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 1183618d5a..0dee3b2191 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -6,6 +6,7 @@ anchored = FALSE density = TRUE max_integrity = 200 + desc = "The mechanical framework for an airlock." var/state = 0 var/mineral = null var/typetext = "" diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 6aa338f047..c1b6c56bf5 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -6,6 +6,7 @@ //trees /obj/structure/flora/tree name = "tree" + desc = "A large tree." density = TRUE pixel_x = -16 layer = FLY_LAYER @@ -40,6 +41,7 @@ /obj/structure/flora/tree/pine name = "pine tree" + desc = "A coniferous pine tree." icon = 'icons/obj/flora/pinetrees.dmi' icon_state = "pine_1" @@ -49,6 +51,7 @@ /obj/structure/flora/tree/pine/xmas name = "xmas tree" + desc = "A wondrous decorated Christmas tree." icon_state = "pine_c" /obj/structure/flora/tree/pine/xmas/Initialize() @@ -57,10 +60,12 @@ /obj/structure/flora/tree/dead icon = 'icons/obj/flora/deadtrees.dmi' + desc = "A dead tree. How it died, you know not." icon_state = "tree_1" /obj/structure/flora/tree/palm icon = 'icons/misc/beach2.dmi' + desc = "A tree straight from the tropics." icon_state = "palm1" /obj/structure/flora/tree/palm/Initialize() @@ -98,6 +103,7 @@ //grass /obj/structure/flora/grass name = "grass" + desc = "A patch of overgrown grass." icon = 'icons/obj/flora/snowflora.dmi' gender = PLURAL //"this is grass" not "this is a grass" @@ -127,6 +133,7 @@ //bushes /obj/structure/flora/bush name = "bush" + desc = "Some type of shrub." icon = 'icons/obj/flora/snowflora.dmi' icon_state = "snowbush1" anchored = TRUE @@ -139,6 +146,7 @@ /obj/structure/flora/ausbushes name = "bush" + desc = "Some kind of plant." icon = 'icons/obj/flora/ausflora.dmi' icon_state = "firstbush_1" @@ -256,6 +264,7 @@ name = "potted plant" icon = 'icons/obj/flora/plants.dmi' icon_state = "plant-01" + desc = "A little bit of nature contained in a pot." layer = ABOVE_MOB_LAYER w_class = WEIGHT_CLASS_HUGE force = 10 @@ -365,6 +374,7 @@ /obj/structure/flora/junglebush name = "bush" + desc = "A wild plant that is found in jungles." icon = 'icons/obj/flora/jungleflora.dmi' icon_state = "busha" diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 02f6d784df..3d7e9be21a 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -1,6 +1,7 @@ /obj/structure/girder name = "girder" icon_state = "girder" + desc = "A large structural assembly made out of metal; It requires a layer of metal before it can be considered a wall." anchored = TRUE density = TRUE layer = BELOW_OBJ_LAYER diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index ffc62ac127..1c2c0c326e 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -7,6 +7,7 @@ /obj/structure/transit_tube/station name = "station tube station" icon_state = "closed_station0" + desc = "The lynchpin of the transit system." exit_delay = 1 enter_delay = 2 tube_construction = /obj/structure/c_transit_tube/station diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index 10d883d392..e409eb533b 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -3,6 +3,7 @@ name = "transit tube" icon = 'icons/obj/atmospherics/pipes/transit_tube.dmi' icon_state = "straight" + desc = "A transit tube for moving things around." density = TRUE layer = LOW_ITEM_LAYER anchored = TRUE diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index a1f7bcc8de..746790a20f 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD // transit tube construction // normal transit tubes @@ -5,6 +6,16 @@ name = "unattached transit tube" icon = 'icons/obj/atmospherics/pipes/transit_tube.dmi' icon_state = "straight" +======= +// transit tube construction + +// normal transit tubes +/obj/structure/c_transit_tube + name = "unattached transit tube" + icon = 'icons/obj/atmospherics/pipes/transit_tube.dmi' + icon_state = "straight" + desc = "An unattached segment of transit tube." +>>>>>>> 3e4d747... Adds desc to things lacking them. (#31086) density = FALSE layer = LOW_ITEM_LAYER //same as the built tube anchored = FALSE diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 6503acf6d3..2dbc8f38a6 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /* Windoor (window door) assembly -Nodrak * Step 1: Create a windoor out of rglass * Step 2: Add r-glass to the assembly to make a secure windoor (Optional) @@ -14,6 +15,25 @@ name = "windoor Assembly" icon_state = "l_windoor_assembly01" +======= +/* Windoor (window door) assembly -Nodrak + * Step 1: Create a windoor out of rglass + * Step 2: Add r-glass to the assembly to make a secure windoor (Optional) + * Step 3: Rotate or Flip the assembly to face and open the way you want + * Step 4: Wrench the assembly in place + * Step 5: Add cables to the assembly + * Step 6: Set access for the door. + * Step 7: Screwdriver the door to complete + */ + + +/obj/structure/windoor_assembly + icon = 'icons/obj/doors/windoor.dmi' + + name = "windoor Assembly" + icon_state = "l_windoor_assembly01" + desc = "A small glass and wire assembly for windoors." +>>>>>>> 3e4d747... Adds desc to things lacking them. (#31086) anchored = FALSE density = FALSE dir = NORTH diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 4722991309..80329f20a1 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -12,6 +12,7 @@ /obj/structure/shuttle/engine name = "engine" + desc = "A bluespace engine used to make shuttles move." density = TRUE anchored = TRUE var/engine_power = 1 @@ -81,18 +82,21 @@ M.alter_engines(mod) /obj/structure/shuttle/engine/heater - name = "heater" + name = "engine heater" icon_state = "heater" + desc = "Directs energy into compressed particles in order to power engines." engine_power = 0 // todo make these into 2x1 parts /obj/structure/shuttle/engine/platform - name = "platform" + name = "engine platform" icon_state = "platform" + desc = "A platform for engine components." engine_power = 0 /obj/structure/shuttle/engine/propulsion name = "propulsion engine" icon_state = "propulsion" + desc = "A standard reliable bluespace engine used by many forms of shuttles." opacity = 1 /obj/structure/shuttle/engine/propulsion/left @@ -105,6 +109,7 @@ /obj/structure/shuttle/engine/propulsion/burst name = "burst engine" + desc = "An engine that releases a large bluespace burst to propel it." /obj/structure/shuttle/engine/propulsion/burst/cargo state = ENGINE_UNWRENCHED @@ -119,14 +124,16 @@ icon_state = "burst_r" /obj/structure/shuttle/engine/router - name = "router" + name = "engine router" icon_state = "router" + desc = "Redirects around energized particles in engine structures." /obj/structure/shuttle/engine/large name = "engine" opacity = 1 icon = 'icons/obj/2x2.dmi' icon_state = "large_engine" + desc = "A very large bluespace engine used to propel very large ships." bound_width = 64 bound_height = 64 appearance_flags = 0 @@ -136,6 +143,7 @@ opacity = 1 icon = 'icons/obj/3x3.dmi' icon_state = "huge_engine" + desc = "An extremely large bluespace engine used to propel extremely large ships." bound_width = 96 bound_height = 96 - appearance_flags = 0 \ No newline at end of file + appearance_flags = 0 diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 7ef6cf2142..dbe1343667 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -5,7 +5,7 @@ It's like a regular ol' straight pipe, but you can turn it on and off. /obj/machinery/atmospherics/components/binary/valve icon_state = "mvalve_map" name = "manual valve" - desc = "A pipe valve" + desc = "A pipe with a valve that can be used to disable flow of gas through it." can_unwrench = TRUE diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index c777e5fe17..2b5a94ef64 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -1,6 +1,7 @@ /obj/machinery/atmospherics/components/trinary/filter name = "gas filter" icon_state = "filter_off" + desc = "Very useful for filtering gasses." density = FALSE can_unwrench = TRUE var/on = FALSE diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index cb515ec75f..1fb8b072c6 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -4,6 +4,7 @@ name = "gas mixer" can_unwrench = TRUE + desc = "Very useful for mixing gasses." var/on = FALSE diff --git a/code/modules/atmospherics/machinery/other/zvent.dm b/code/modules/atmospherics/machinery/other/zvent.dm index 3490c972d9..d12c6196ec 100644 --- a/code/modules/atmospherics/machinery/other/zvent.dm +++ b/code/modules/atmospherics/machinery/other/zvent.dm @@ -5,6 +5,7 @@ icon_state = "vent_map" density = FALSE anchored=1 + desc = "This may be needed some day." var/on = FALSE var/volume_rate = 800 diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index db3bcd3538..87106d65b4 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -283,7 +283,7 @@ /obj/item/clothing/head/crown/fancy name = "magnificent crown" - desc = "A crown worn by only the highest emperors of the land." + desc = "A crown worn by only the highest emperors of the land space." icon_state = "fancycrown" /obj/item/clothing/head/scarecrow_hat diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 17d626b3a0..c55aa8d43f 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /* Library Items * * Contains: @@ -317,4 +318,329 @@ to_chat(user, "Computer has been associated with this unit.") else to_chat(user, "No associated computer found. Only local scans will function properly.") - to_chat(user, "\n") \ No newline at end of file + to_chat(user, "\n") +======= +/* Library Items + * + * Contains: + * Bookcase + * Book + * Barcode Scanner + */ + +/* + * Bookcase + */ + +/obj/structure/bookcase + name = "bookcase" + icon = 'icons/obj/library.dmi' + icon_state = "bookempty" + desc = "A great place for storing knowledge." + anchored = FALSE + density = TRUE + opacity = 0 + resistance_flags = FLAMMABLE + max_integrity = 200 + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0) + var/state = 0 + var/list/allowed_books = list(/obj/item/book, /obj/item/spellbook, /obj/item/storage/book) //Things allowed in the bookcase + + +/obj/structure/bookcase/Initialize(mapload) + . = ..() + if(!mapload) + return + state = 2 + icon_state = "book-0" + anchored = TRUE + for(var/obj/item/I in loc) + if(istype(I, /obj/item/book)) + I.loc = src + update_icon() + + +/obj/structure/bookcase/attackby(obj/item/I, mob/user, params) + switch(state) + if(0) + if(istype(I, /obj/item/wrench)) + playsound(loc, I.usesound, 100, 1) + if(do_after(user, 20*I.toolspeed, target = src)) + to_chat(user, "You wrench the frame into place.") + anchored = TRUE + state = 1 + if(istype(I, /obj/item/crowbar)) + playsound(loc, I.usesound, 100, 1) + if(do_after(user, 20*I.toolspeed, target = src)) + to_chat(user, "You pry the frame apart.") + deconstruct(TRUE) + + if(1) + if(istype(I, /obj/item/stack/sheet/mineral/wood)) + var/obj/item/stack/sheet/mineral/wood/W = I + if(W.get_amount() >= 2) + W.use(2) + to_chat(user, "You add a shelf.") + state = 2 + icon_state = "book-0" + if(istype(I, /obj/item/wrench)) + playsound(loc, I.usesound, 100, 1) + to_chat(user, "You unwrench the frame.") + anchored = FALSE + state = 0 + + if(2) + if(is_type_in_list(I, allowed_books)) + if(!user.drop_item()) + return + I.loc = src + update_icon() + else if(istype(I, /obj/item/storage/bag/books)) + var/obj/item/storage/bag/books/B = I + for(var/obj/item/T in B.contents) + if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook)) + B.remove_from_storage(T, src) + to_chat(user, "You empty \the [I] into \the [src].") + update_icon() + else if(istype(I, /obj/item/pen)) + var/newname = stripped_input(user, "What would you like to title this bookshelf?") + if(!newname) + return + else + name = ("bookcase ([sanitize(newname)])") + else if(istype(I, /obj/item/crowbar)) + if(contents.len) + to_chat(user, "You need to remove the books first!") + else + playsound(loc, I.usesound, 100, 1) + to_chat(user, "You pry the shelf out.") + new /obj/item/stack/sheet/mineral/wood(loc, 2) + state = 1 + icon_state = "bookempty" + else + return ..() + + +/obj/structure/bookcase/attack_hand(mob/user) + if(contents.len) + var/obj/item/book/choice = input("Which book would you like to remove from the shelf?") as null|obj in contents + if(choice) + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + return + if(ishuman(user)) + if(!user.get_active_held_item()) + user.put_in_hands(choice) + else + choice.loc = get_turf(src) + update_icon() + + +/obj/structure/bookcase/deconstruct(disassembled = TRUE) + new /obj/item/stack/sheet/mineral/wood(loc, 4) + for(var/obj/item/book/B in contents) + B.forceMove(get_turf(src)) + qdel(src) + + +/obj/structure/bookcase/update_icon() + if(contents.len < 5) + icon_state = "book-[contents.len]" + else + icon_state = "book-5" + + +/obj/structure/bookcase/manuals/medical + name = "medical manuals bookcase" + +/obj/structure/bookcase/manuals/medical/New() + ..() + new /obj/item/book/manual/medical_cloning(src) + update_icon() + + +/obj/structure/bookcase/manuals/engineering + name = "engineering manuals bookcase" + +/obj/structure/bookcase/manuals/engineering/New() + ..() + new /obj/item/book/manual/wiki/engineering_construction(src) + new /obj/item/book/manual/engineering_particle_accelerator(src) + new /obj/item/book/manual/wiki/engineering_hacking(src) + new /obj/item/book/manual/wiki/engineering_guide(src) + new /obj/item/book/manual/engineering_singularity_safety(src) + new /obj/item/book/manual/robotics_cyborgs(src) + update_icon() + + +/obj/structure/bookcase/manuals/research_and_development + name = "\improper R&D manuals bookcase" + +/obj/structure/bookcase/manuals/research_and_development/New() + ..() + new /obj/item/book/manual/research_and_development(src) + update_icon() + + +/* + * Book + */ +/obj/item/book + name = "book" + icon = 'icons/obj/library.dmi' + icon_state ="book" + desc = "Crack it open, inhale the musk of its pages, and learn something new." + throw_speed = 1 + throw_range = 5 + w_class = WEIGHT_CLASS_NORMAL //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) + attack_verb = list("bashed", "whacked", "educated") + resistance_flags = FLAMMABLE + var/dat //Actual page content + var/due_date = 0 //Game time in 1/10th seconds + var/author //Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + var/unique = 0 //0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified + var/title //The real name of the book. + var/window_size = null // Specific window size for the book, i.e: "1920x1080", Size x Width + +/obj/item/book/attack_self(mob/user) + if(is_blind(user)) + to_chat(user, "As you are trying to read, you suddenly feel very stupid!") + return + if(ismonkey(user)) + to_chat(user, "You skim through the book but can't comprehend any of it.") + return + if(dat) + user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") + user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") + onclose(user, "book") + else + to_chat(user, "This book is completely blank!") + + +/obj/item/book/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/pen)) + if(is_blind(user)) + to_chat(user, " As you are trying to write on the book, you suddenly feel very stupid!") + return + if(unique) + to_chat(user, "These pages don't seem to take the ink well! Looks like you can't modify it.") + return + var/choice = input("What would you like to change?") in list("Title", "Contents", "Author", "Cancel") + switch(choice) + if("Title") + var/newtitle = reject_bad_text(stripped_input(usr, "Write a new title:")) + if (length(newtitle) > 20) + to_chat(usr, "That title won't fit on the cover!") + return + if(!newtitle) + to_chat(usr, "That title is invalid.") + return + else + name = newtitle + title = newtitle + if("Contents") + var/content = stripped_input(usr, "Write your book's contents (HTML NOT allowed):","","",8192) + if(!content) + to_chat(usr, "The content is invalid.") + return + else + dat += content + if("Author") + var/newauthor = stripped_input(usr, "Write the author's name:") + if(!newauthor) + to_chat(usr, "The name is invalid.") + return + else + author = newauthor + else + return + + else if(istype(I, /obj/item/barcodescanner)) + var/obj/item/barcodescanner/scanner = I + if(!scanner.computer) + to_chat(user, "[I]'s screen flashes: 'No associated computer found!'") + else + switch(scanner.mode) + if(0) + scanner.book = src + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer.'") + if(1) + scanner.book = src + scanner.computer.buffer_book = name + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'") + if(2) + scanner.book = src + for(var/datum/borrowbook/b in scanner.computer.checkouts) + if(b.bookname == name) + scanner.computer.checkouts.Remove(b) + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'") + return + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'") + if(3) + scanner.book = src + for(var/obj/item/book in scanner.computer.inventory) + if(book == src) + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'") + return + scanner.computer.inventory.Add(src) + to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'") + + else if(istype(I, /obj/item/kitchen/knife) || istype(I, /obj/item/wirecutters)) + to_chat(user, "You begin to carve out [title]...") + if(do_after(user, 30, target = src)) + to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") + var/obj/item/storage/book/B = new + B.name = src.name + B.title = src.title + B.icon_state = src.icon_state + if(user.is_holding(src)) + qdel(src) + user.put_in_hands(B) + return + else + B.loc = src.loc + qdel(src) + return + return + else + ..() + + +/* + * Barcode Scanner + */ +/obj/item/barcodescanner + name = "barcode scanner" + icon = 'icons/obj/library.dmi' + icon_state ="scanner" + desc = "A fabulous tool if you need to scan a barcode." + throw_speed = 3 + throw_range = 5 + w_class = WEIGHT_CLASS_TINY + var/obj/machinery/computer/libraryconsole/bookmanagement/computer //Associated computer - Modes 1 to 3 use this + var/obj/item/book/book //Currently scanned book + var/mode = 0 //0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory + +/obj/item/barcodescanner/attack_self(mob/user) + mode += 1 + if(mode > 3) + mode = 0 + to_chat(user, "[src] Status Display:") + var/modedesc + switch(mode) + if(0) + modedesc = "Scan book to local buffer." + if(1) + modedesc = "Scan book to local buffer and set associated computer buffer to match." + if(2) + modedesc = "Scan book to local buffer, attempt to check in scanned book." + if(3) + modedesc = "Scan book to local buffer, attempt to add book to general inventory." + else + modedesc = "ERROR" + to_chat(user, " - Mode [mode] : [modedesc]") + if(computer) + to_chat(user, "Computer has been associated with this unit.") + else + to_chat(user, "No associated computer found. Only local scans will function properly.") + to_chat(user, "\n") +>>>>>>> 3e4d747... Adds desc to things lacking them. (#31086) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 99127cd595..dc48bbae2d 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -20,6 +20,7 @@ icon_screen = "library" icon_keyboard = null circuit = /obj/item/circuitboard/computer/libraryconsole + desc = "Checked out books MUST be returned on time." var/screenstate = 0 var/title var/category = "Any" @@ -161,6 +162,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums // It's December 25th, 2014, and this is STILL here, and it's STILL relevant. Kill me /obj/machinery/computer/libraryconsole/bookmanagement name = "book inventory management console" + desc = "Librarian's command station." var/arcanecheckout = 0 screenstate = 0 // 0 - Main Menu, 1 - Inventory, 2 - Checked Out, 3 - Check Out a Book verb_say = "beeps" @@ -498,6 +500,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums name = "scanner control interface" icon = 'icons/obj/library.dmi' icon_state = "bigscanner" + desc = "It servers the purpose of scanning stuff." anchored = TRUE density = TRUE var/obj/item/book/cache // Last scanned book @@ -554,6 +557,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums name = "book binder" icon = 'icons/obj/library.dmi' icon_state = "binder" + desc = "Only intended for binding paper products." anchored = TRUE density = TRUE var/busy = FALSE diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 96589fb575..0c9bcdc170 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -4,6 +4,7 @@ name = "stacking machine console" icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "console" + desc = "Controls a stacking machine... in theory." density = FALSE anchored = TRUE var/obj/machinery/mineral/stacking_machine/machine = null @@ -60,6 +61,7 @@ name = "stacking machine" icon = 'icons/obj/machines/mining_machines.dmi' icon_state = "stacker" + desc = "A machine that automatically stacks acquired materials. Controlled by a nearby console." density = TRUE anchored = TRUE var/obj/machinery/mineral/stacking_unit_console/CONSOLE @@ -90,4 +92,4 @@ var/obj/item/stack/sheet/out = new inp.type() out.amount = stack_amt unload_mineral(out) - storage.amount -= stack_amt \ No newline at end of file + storage.amount -= stack_amt diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 650eebba1a..0cef65c07c 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -67,6 +67,7 @@ GLOBAL_LIST_INIT(message_servers, list()) icon = 'icons/obj/machines/research.dmi' icon_state = "server" name = "Messaging Server" + desc = "A machine that attempts to gather the secret knowledge of the universe." density = TRUE anchored = TRUE use_power = IDLE_POWER_USE diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index 8384e978e5..47ceaef99e 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -1,5 +1,6 @@ /obj/machinery/computer/shuttle name = "shuttle console" + desc = "A shuttle control computer." icon_screen = "shuttle" icon_keyboard = "tech_key" light_color = LIGHT_COLOR_CYAN diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm index 5b27e562f3..07103088d1 100644 --- a/code/modules/shuttle/ferry.dm +++ b/code/modules/shuttle/ferry.dm @@ -1,5 +1,6 @@ /obj/machinery/computer/shuttle/ferry name = "transport ferry console" + desc = "A console that controls the transport ferry." circuit = /obj/item/circuitboard/computer/ferry shuttleId = "ferry" possible_destinations = "ferry_home;ferry_away" diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index ac1339d33e..4574e62bd1 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -2,6 +2,7 @@ /obj/machinery/computer/shuttle/syndicate name = "syndicate shuttle terminal" + desc = "The terminal used to control the syndicate transport shuttle." circuit = /obj/item/circuitboard/computer/syndicate_shuttle icon_screen = "syndishuttle" icon_keyboard = "syndie_key" @@ -13,6 +14,7 @@ /obj/machinery/computer/shuttle/syndicate/recall name = "syndicate shuttle recall terminal" + desc = "Use this if your friends left you behind." possible_destinations = "syndicate_away" @@ -27,6 +29,7 @@ /obj/machinery/computer/shuttle/syndicate/drop_pod name = "syndicate assault pod control" + desc = "Controls the drop pod's launch system." icon = 'icons/obj/terminals.dmi' icon_state = "dorm_available" light_color = LIGHT_COLOR_BLUE