Adds a laser level for engineers to use (#13012)
* adds laser level * adds a period
@@ -143,6 +143,14 @@
|
|||||||
screen_loc = "WEST,SOUTH to EAST,NORTH"
|
screen_loc = "WEST,SOUTH to EAST,NORTH"
|
||||||
icon_state = "noise"
|
icon_state = "noise"
|
||||||
|
|
||||||
|
/obj/screen/fullscreen/laser
|
||||||
|
icon = 'icons/mob/screen_gen.dmi'
|
||||||
|
icon_state = "laser"
|
||||||
|
screen_loc = "WEST,SOUTH to EAST,NORTH"
|
||||||
|
blend_mode = BLEND_ADD
|
||||||
|
color = "#00ff00"
|
||||||
|
alpha = 127
|
||||||
|
|
||||||
/obj/screen/fullscreen/high
|
/obj/screen/fullscreen/high
|
||||||
icon = 'icons/mob/screen_gen.dmi'
|
icon = 'icons/mob/screen_gen.dmi'
|
||||||
screen_loc = "WEST,SOUTH to EAST,NORTH"
|
screen_loc = "WEST,SOUTH to EAST,NORTH"
|
||||||
|
|||||||
51
code/game/objects/items/laser_level.dm
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/obj/item/laserlevel
|
||||||
|
name = "laser level"
|
||||||
|
desc = "Emits a light grid for easy construction."
|
||||||
|
icon = 'icons/obj/tools.dmi'
|
||||||
|
icon_state = "laser-level"
|
||||||
|
item_state = "laserlevel"
|
||||||
|
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||||
|
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||||
|
w_class = WEIGHT_CLASS_SMALL
|
||||||
|
flags_1 = CONDUCT_1
|
||||||
|
slot_flags = ITEM_SLOT_BELT
|
||||||
|
var/lightlevel = 0;
|
||||||
|
var/brightness_on = 4 //range of light when on
|
||||||
|
var/flashlight_power = 1 //strength of the light when on
|
||||||
|
|
||||||
|
/obj/item/laserlevel/Initialize()
|
||||||
|
. = ..()
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
/obj/item/laserlevel/attack_self(mob/user)
|
||||||
|
lightlevel--;
|
||||||
|
if(lightlevel < 0)
|
||||||
|
lightlevel = 3
|
||||||
|
playsound(user, lightlevel ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, 1)
|
||||||
|
if(lightlevel)
|
||||||
|
set_light(l_range = lightlevel / 2, l_power = (lightlevel / 4), l_color = "#00ff00")
|
||||||
|
else
|
||||||
|
set_light(0)
|
||||||
|
update_icon()
|
||||||
|
update_overlay(user)
|
||||||
|
|
||||||
|
/obj/item/laserlevel/update_icon()
|
||||||
|
cut_overlays()
|
||||||
|
add_overlay("[initial(icon_state)][lightlevel]")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
/obj/item/laserlevel/proc/update_overlay(mob/user)
|
||||||
|
user.clear_fullscreen("laser",0)
|
||||||
|
if(lightlevel)
|
||||||
|
var/obj/screen/fullscreen/laser/laserscreen = user.overlay_fullscreen("laser", /obj/screen/fullscreen/laser)
|
||||||
|
laserscreen.alpha = 42 * lightlevel
|
||||||
|
|
||||||
|
/obj/item/laserlevel/dropped(mob/user, silent)
|
||||||
|
. = ..()
|
||||||
|
user.clear_fullscreen("laser",0)
|
||||||
|
|
||||||
|
/obj/item/laserlevel/pickup(mob/user)
|
||||||
|
. = ..()
|
||||||
|
update_overlay(user)
|
||||||
|
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
/obj/item/assembly/signaler = 4,
|
/obj/item/assembly/signaler = 4,
|
||||||
/obj/item/wirecutters = 1,
|
/obj/item/wirecutters = 1,
|
||||||
/obj/item/cartridge/signal = 4)
|
/obj/item/cartridge/signal = 4)
|
||||||
|
premium = list(/obj/item/laserlevel = 1)
|
||||||
contraband = list(/obj/item/assembly/timer = 2,
|
contraband = list(/obj/item/assembly/timer = 2,
|
||||||
/obj/item/assembly/voice = 2,
|
/obj/item/assembly/voice = 2,
|
||||||
/obj/item/assembly/health = 2)
|
/obj/item/assembly/health = 2)
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
/obj/item/electronics/advanced_airlock_controller = 10,
|
/obj/item/electronics/advanced_airlock_controller = 10,
|
||||||
/obj/item/electronics/firealarm = 10,
|
/obj/item/electronics/firealarm = 10,
|
||||||
/obj/item/electronics/firelock = 10,
|
/obj/item/electronics/firelock = 10,
|
||||||
/obj/item/storage/bag/construction = 6)
|
/obj/item/storage/bag/construction = 6,
|
||||||
|
/obj/item/laserlevel = 3)
|
||||||
contraband = list(/obj/item/stock_parts/cell/potato = 3)
|
contraband = list(/obj/item/stock_parts/cell/potato = 3)
|
||||||
premium = list(/obj/item/storage/belt/utility = 3,
|
premium = list(/obj/item/storage/belt/utility = 3,
|
||||||
/obj/item/storage/box/smart_metal_foam = 1)
|
/obj/item/storage/box/smart_metal_foam = 1)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -966,6 +966,7 @@
|
|||||||
#include "code\game\objects\items\hourglass.dm"
|
#include "code\game\objects\items\hourglass.dm"
|
||||||
#include "code\game\objects\items\inducer.dm"
|
#include "code\game\objects\items\inducer.dm"
|
||||||
#include "code\game\objects\items\kitchen.dm"
|
#include "code\game\objects\items\kitchen.dm"
|
||||||
|
#include "code\game\objects\items\laser_level.dm"
|
||||||
#include "code\game\objects\items\latexballoon.dm"
|
#include "code\game\objects\items\latexballoon.dm"
|
||||||
#include "code\game\objects\items\mantis.dm"
|
#include "code\game\objects\items\mantis.dm"
|
||||||
#include "code\game\objects\items\manuals.dm"
|
#include "code\game\objects\items\manuals.dm"
|
||||||
|
|||||||