mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-20 18:47:53 +01:00
@@ -86,23 +86,31 @@ var/list/marker_beacon_colors = list(
|
||||
light_power = 0.8
|
||||
var/remove_speed = 15
|
||||
var/picked_color
|
||||
var/perma = FALSE
|
||||
var/mapped_in_color
|
||||
|
||||
/obj/structure/marker_beacon/New(newloc, set_color)
|
||||
. = ..()
|
||||
picked_color = set_color
|
||||
if(set_color)
|
||||
picked_color = set_color
|
||||
else if(mapped_in_color)
|
||||
picked_color = mapped_in_color
|
||||
update_icon()
|
||||
|
||||
/obj/structure/marker_beacon/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
|
||||
if(!perma)
|
||||
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
|
||||
|
||||
/obj/structure/marker_beacon/update_icon()
|
||||
while(!picked_color || !marker_beacon_colors[picked_color])
|
||||
if(!picked_color || !marker_beacon_colors[picked_color])
|
||||
picked_color = pick(marker_beacon_colors)
|
||||
icon_state = "[initial(icon_state)][lowertext(picked_color)]-on"
|
||||
set_light(light_range, light_power, marker_beacon_colors[picked_color])
|
||||
|
||||
/obj/structure/marker_beacon/attack_hand(mob/living/user)
|
||||
if(perma)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start picking [src] up...</span>")
|
||||
if(do_after(user, remove_speed, target = src))
|
||||
var/obj/item/stack/marker_beacon/M = new(loc)
|
||||
@@ -114,6 +122,8 @@ var/list/marker_beacon_colors = list(
|
||||
qdel(src) //otherwise delete us
|
||||
|
||||
/obj/structure/marker_beacon/attackby(obj/item/I, mob/user, params)
|
||||
if(perma)
|
||||
return
|
||||
if(istype(I, /obj/item/stack/marker_beacon))
|
||||
var/obj/item/stack/marker_beacon/M = I
|
||||
to_chat(user, "<span class='notice'>You start picking [src] up...</span>")
|
||||
@@ -126,6 +136,8 @@ var/list/marker_beacon_colors = list(
|
||||
|
||||
/obj/structure/marker_beacon/AltClick(mob/living/user)
|
||||
..()
|
||||
if(perma)
|
||||
return
|
||||
if(user.incapacitated() || !istype(user))
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/decl/closet_appearance/wall/autolok
|
||||
/decl/closet_appearance/wall_double/autolok
|
||||
color = COLOR_GRAY20
|
||||
decals = null
|
||||
extra_decals = list(
|
||||
|
||||
@@ -207,8 +207,8 @@
|
||||
/obj/structure/closet/autolok_wall
|
||||
name = "autolok suit storage"
|
||||
desc = "It's wall-mounted storage unit for an AutoLok suit."
|
||||
icon = 'icons/obj/closets/bases/wall.dmi'
|
||||
closet_appearance = /decl/closet_appearance/wall/autolok
|
||||
icon = 'icons/obj/closets/bases/wall_double.dmi'
|
||||
closet_appearance = /decl/closet_appearance/wall_double/autolok
|
||||
anchored = 1
|
||||
density = 0
|
||||
wall_mounted = 1
|
||||
|
||||
@@ -132,4 +132,7 @@
|
||||
icon_state = "talon_center"
|
||||
|
||||
/obj/effect/floor_decal/emblem/itgdauntless
|
||||
icon_state = "itgdauntless"
|
||||
icon_state = "itgdauntless"
|
||||
|
||||
/obj/effect/floor_decal/emblem/aronai
|
||||
icon_state = "aronai"
|
||||
@@ -113,6 +113,18 @@
|
||||
if(can_join_with(W))
|
||||
dirs += get_dir(src, W)
|
||||
|
||||
if(material.icon_base == "hull") // Could be improved...
|
||||
var/additional_dirs = 0
|
||||
for(var/direction in alldirs)
|
||||
var/turf/T = get_step(src,direction)
|
||||
if(T && (locate(/obj/structure/hull_corner) in T))
|
||||
dirs += direction
|
||||
additional_dirs |= direction
|
||||
if(additional_dirs)
|
||||
for(var/diag_dir in cornerdirs)
|
||||
if ((additional_dirs & diag_dir) == diag_dir)
|
||||
dirs += diag_dir
|
||||
|
||||
wall_connections = dirs_to_corner_states(dirs)
|
||||
|
||||
/turf/simulated/wall/proc/can_join_with(var/turf/simulated/wall/W)
|
||||
|
||||
@@ -262,3 +262,50 @@
|
||||
var/image/I = image(icon = src.icon, icon_state = "o_[icon_state]")
|
||||
I.color = stripe_color
|
||||
add_overlay(I)
|
||||
|
||||
// Fake corners for making hulls look pretty
|
||||
/obj/structure/hull_corner
|
||||
name = "hull corner"
|
||||
|
||||
icon = 'icons/turf/wall_masks.dmi'
|
||||
icon_state = "hull_corner"
|
||||
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
breakable = TRUE
|
||||
|
||||
/obj/structure/hull_corner/Initialize()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/structure/hull_corner/LateInitialize()
|
||||
. = ..()
|
||||
update_look()
|
||||
|
||||
/obj/structure/hull_corner/proc/update_look()
|
||||
cut_overlays()
|
||||
|
||||
var/turf/simulated/wall/T = get_step(src, dir)
|
||||
if(!istype(T))
|
||||
log_error("[src] at [x],[y] not placed facing a hull")
|
||||
return
|
||||
|
||||
name = T.name
|
||||
desc = T.desc
|
||||
|
||||
var/datum/material/B = T.material
|
||||
var/datum/material/R = T.reinf_material
|
||||
|
||||
if(B?.icon_colour)
|
||||
color = B.icon_colour
|
||||
if(R?.icon_colour)
|
||||
var/image/I = image(icon, icon_state+"_reinf", dir=dir)
|
||||
I.color = R.icon_colour
|
||||
add_overlay(I)
|
||||
|
||||
/obj/structure/hull_corner/long_vert
|
||||
icon = 'icons/turf/wall_masks32x64.dmi'
|
||||
bound_height = 64
|
||||
|
||||
/obj/structure/hull_corner/long_horiz
|
||||
icon = 'icons/turf/wall_masks64x32.dmi'
|
||||
bound_width = 64
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
..(newloc)
|
||||
if(!isnull(_age))
|
||||
graffiti_age = _age
|
||||
message = _message
|
||||
if(!isnull(_message))
|
||||
message = _message
|
||||
if(!isnull(author))
|
||||
author = _author
|
||||
|
||||
|
||||
Reference in New Issue
Block a user