mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
Add constructable floor lights + mapping subtypes (#93537)
## About The Pull Request Features: - Floor lights can be constructed using a small light fixture on the turf you are standing on - Floor light construction sprites - `/burned` subtypes for lights - Convert `/build` subtypes to `/empty` subtypes with `UpdatePaths` script ## Why It's Good For The Game Floor lights can now be constructed in game using the same mechanics as other lights. The `/burned` and `/empty` subtypes might be useful for mapping. ## Changelog 🆑 add: Add constructable floor lights by using a small light fixture on the floor. They are constructed the same way as other lights. qol: Add `/burned` subtype to `/obj/machinery/light` for mapping shenanigans image: Add floor light construction sprites map: Converted the `/built` subtype for `/obj/machinery/light` to be `/empty` and added an UpdatePaths script. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
This commit is contained in:
@@ -20,3 +20,35 @@
|
||||
to_chat(user, span_warning("You cannot place [src] in this area!"))
|
||||
return
|
||||
return TRUE
|
||||
|
||||
/obj/item/wallframe/light_fixture/small/attack_self(mob/user)
|
||||
var/turf/local_turf = get_turf(user)
|
||||
var/area/local_area = get_area(user)
|
||||
if(!isturf(user.loc) || !isfloorturf(local_turf))
|
||||
balloon_alert(user, "cannot place here!")
|
||||
return
|
||||
if(local_area.always_unpowered || !local_area.static_lighting)
|
||||
balloon_alert(user, "cannot place in this area!")
|
||||
return
|
||||
for(var/obj/object in local_turf)
|
||||
if(object.density && !(object.obj_flags & IGNORE_DENSITY) || object.obj_flags & BLOCKS_CONSTRUCTION)
|
||||
balloon_alert(user, "something is in the way!")
|
||||
return
|
||||
if(local_turf.underfloor_accessibility < UNDERFLOOR_INTERACTABLE)
|
||||
balloon_alert(user, "remove the floor plating!")
|
||||
return
|
||||
if(locate(/obj/structure/light_construct/floor) in local_turf)
|
||||
balloon_alert(user, "already has a light!")
|
||||
return
|
||||
if(locate(/obj/machinery/light/floor) in local_turf)
|
||||
balloon_alert(user, "already has a light!")
|
||||
return
|
||||
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE)
|
||||
user.visible_message(span_notice("[user.name] attaches [src] to the floor."),
|
||||
span_notice("You attach [src] to the floor."),
|
||||
span_hear("You hear clicking."))
|
||||
|
||||
new /obj/structure/light_construct/floor(local_turf)
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user