Files
CHOMPStation2/code/modules/client/preference_setup/loadout/loadout_utility.dm
PrismaticGynoid eabfa03891 Laser pointers (#5257)
* Laser pointers

Adds laser pointers, ported from tg/oldaurora (but heavily modified). They can be found in the loadout, as well as made by science. Science can also upgrade them, which makes them occasionally useful for blinding people, too.

The bugfixes which make several of the features work properly will come in a separate commit.

* Three fixes

Cats now have resting sprites for all 4 directions, instead of just east. This was needed to make cats look like they're pouncing on the laser dot.

Cameras can now be EMPed more than once, and EMPs actually are able to disable them now. This was needed for the shining lasers into cameras feature.

Flash_eyes() now actually displays a flashing animation on your screen when you get flashed (except for silicons, who for some reason are excluded from this unless EMPed). This was needed for laser pointers to have a temporary "blinding" effect when shone into someone's eyes.

(removes errant debug message too, whoops)

* Nerf

Reduced chances of laser pointers doing anything useful on silicons.

Also, fixes a duplicated proc, oops.

* Requested changes

Minor changes as requested - 'cell' to 'diode', view() to viewers(), range() to viewers().

Stops buckled or dead cats from reacting to laser pointers. Zombie cats are fun, but no.

Also, does another small nerf to the effects on silicons.
2018-05-14 15:22:19 -07:00

154 lines
4.1 KiB
Plaintext

// "Useful" items - I'm guessing things that might be used at work?
/datum/gear/utility
display_name = "briefcase"
path = /obj/item/weapon/storage/briefcase
sort_category = "Utility"
/datum/gear/utility/clipboard
display_name = "clipboard"
path = /obj/item/weapon/clipboard
/datum/gear/utility/tts_device
display_name = "text to speech device"
path = /obj/item/device/text_to_speech
cost = 3 //Not extremely expensive, but it's useful for mute chracters.
/datum/gear/utility/communicator
display_name = "communicator selection"
path = /obj/item/device/communicator
cost = 0
/datum/gear/utility/communicator/New()
..()
var/list/communicators = list()
for(var/communicator in typesof(/obj/item/device/communicator) - list(/obj/item/device/communicator/integrated))
var/obj/item/device/communicator_type = communicator
communicators[initial(communicator_type.name)] = communicator_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(communicators))
/datum/gear/utility/camera
display_name = "camera"
path = /obj/item/device/camera
/datum/gear/utility/codex
display_name = "the traveler's guide to vir"
path = /obj/item/weapon/book/codex/lore/vir
cost = 0
/datum/gear/utility/news
display_name = "daedalus pocket newscaster"
path = /obj/item/weapon/book/codex/lore/news
cost = 0
/datum/gear/utility/corp_regs
display_name = "corporate regulations and legal code"
path = /obj/item/weapon/book/codex/corp_regs
cost = 0
/datum/gear/utility/robutt
display_name = "a buyer's guide to artificial bodies"
path = /obj/item/weapon/book/codex/lore/robutt
cost = 0
/datum/gear/utility/folder_blue
display_name = "folder, blue"
path = /obj/item/weapon/folder/blue
/datum/gear/utility/folder_grey
display_name = "folder, grey"
path = /obj/item/weapon/folder
/datum/gear/utility/folder_red
display_name = "folder, red"
path = /obj/item/weapon/folder/red
/datum/gear/utility/folder_white
display_name = "folder, white"
path = /obj/item/weapon/folder/white
/datum/gear/utility/folder_yellow
display_name = "folder, yellow"
path = /obj/item/weapon/folder/yellow
/datum/gear/utility/paicard
display_name = "personal AI device"
path = /obj/item/device/paicard
/datum/gear/utility/securecase
display_name = "secure briefcase"
path =/obj/item/weapon/storage/secure/briefcase
cost = 2
/datum/gear/utility/laserpointer
display_name = "laser pointer"
path =/obj/item/device/laser_pointer
cost = 2
/datum/gear/utility/flashlight
display_name = "flashlight"
path = /obj/item/device/flashlight
/datum/gear/utility/flashlight_blue
display_name = "flashlight, blue"
path = /obj/item/device/flashlight/color
/datum/gear/utility/flashlight_orange
display_name = "flashlight, orange"
path = /obj/item/device/flashlight/color/orange
/datum/gear/utility/flashlight_red
display_name = "flashlight, red"
path = /obj/item/device/flashlight/color/red
/datum/gear/utility/flashlight_yellow
display_name = "flashlight, yellow"
path = /obj/item/device/flashlight/color/yellow
/datum/gear/utility/maglight
display_name = "flashlight, maglight"
path = /obj/item/device/flashlight/maglight
cost = 2
/datum/gear/utility/battery
display_name = "cell, device"
path = /obj/item/weapon/cell/device
/datum/gear/utility/implant
exploitable = 1
/datum/gear/utility/implant/eal //This does nothing if you don't actually know EAL.
display_name = "implant, language, EAL"
path = /obj/item/weapon/implant/language/eal
cost = 2
slot = "implant"
exploitable = 1
/datum/gear/utility/implant/tracking
display_name = "implant, tracking"
path = /obj/item/weapon/implant/tracking/weak
cost = 10
slot = "implant"
exploitable = 1
/datum/gear/utility/pen
display_name = "Fountain Pen"
path = /obj/item/weapon/pen/fountain
/datum/gear/utility/wheelchair/color
display_name = "wheelchair"
path = /obj/item/wheelchair
cost = 4
/datum/gear/utility/wheelchair/color/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/utility/umbrella
display_name = "Umbrella"
path = /obj/item/weapon/melee/umbrella
cost = 3
/datum/gear/utility/umbrella/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)