Files
Paradise/code/modules/mapping/mapping_helpers.dm
warriorstar-orion 0667f20681 move all EOL comments on typepath names to dmdoc (#23928)
* move all EOL comments on typepath names to dmdoc

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
2024-03-01 20:05:49 +00:00

172 lines
5.2 KiB
Plaintext

/// Set the baseturfs of every turf in the /area/ it is placed.
/obj/effect/baseturf_helper
name = "baseturf editor"
icon = 'icons/effects/mapping_helpers.dmi'
icon_state = ""
var/baseturf
layer = POINT_LAYER
/obj/effect/baseturf_helper/Initialize(mapload)
. = ..()
var/area/thearea = get_area(src)
for(var/turf/T in get_area_turfs(thearea, z))
replace_baseturf(T)
return INITIALIZE_HINT_QDEL
/obj/effect/baseturf_helper/proc/replace_baseturf(turf/thing)
if(thing.baseturf != thing.type)
thing.baseturf = baseturf
/obj/effect/baseturf_helper/space
name = "space baseturf editor"
baseturf = /turf/space
/obj/effect/baseturf_helper/asteroid
name = "asteroid baseturf editor"
baseturf = /turf/simulated/floor/plating/asteroid
/obj/effect/baseturf_helper/asteroid/airless
name = "asteroid airless baseturf editor"
baseturf = /turf/simulated/floor/plating/asteroid/airless
/obj/effect/baseturf_helper/asteroid/basalt
name = "asteroid basalt baseturf editor"
baseturf = /turf/simulated/floor/plating/asteroid/basalt
/obj/effect/baseturf_helper/asteroid/snow
name = "asteroid snow baseturf editor"
baseturf = /turf/simulated/floor/plating/asteroid/snow
/obj/effect/baseturf_helper/beach/sand
name = "beach sand baseturf editor"
baseturf = /turf/simulated/floor/beach/sand
/obj/effect/baseturf_helper/beach/water
name = "water baseturf editor"
baseturf = /turf/simulated/floor/beach/water
/obj/effect/baseturf_helper/lava
name = "lava baseturf editor"
baseturf = /turf/simulated/floor/lava
/obj/effect/baseturf_helper/lava_land/surface
name = "lavaland baseturf editor"
baseturf = /turf/simulated/floor/lava/mapping_lava
/obj/effect/mapping_helpers
icon = 'icons/effects/mapping_helpers.dmi'
icon_state = ""
var/late = FALSE
/obj/effect/mapping_helpers/Initialize(mapload)
..()
return late ? INITIALIZE_HINT_LATELOAD : qdel(src) // INITIALIZE_HINT_QDEL <-- Doesn't work
/obj/effect/mapping_helpers/no_lava
icon_state = "no_lava"
/obj/effect/mapping_helpers/no_lava/New()
var/turf/T = get_turf(src)
T.flags |= NO_LAVA_GEN
..()
/obj/effect/mapping_helpers/airlock
layer = DOOR_HELPER_LAYER
late = TRUE
var/list/blacklist = list(/obj/machinery/door/firedoor, /obj/machinery/door/poddoor, /obj/machinery/door/unpowered)
/obj/effect/mapping_helpers/airlock/Initialize(mapload)
. = ..()
if(!mapload)
log_world("[src] spawned outside of mapload!")
return
if(!(locate(/obj/machinery/door) in get_turf(src)))
log_world("[src] failed to find an airlock at [AREACOORD(src)]")
for(var/obj/machinery/door/D in get_turf(src))
if(!is_type_in_list(D, blacklist))
payload(D)
return INITIALIZE_HINT_QDEL
/obj/effect/mapping_helpers/airlock/proc/payload(obj/machinery/door/airlock/payload)
return
/obj/effect/mapping_helpers/airlock/polarized
name = "polarized door helper"
icon_state = "polarized_helper"
var/id
/obj/effect/mapping_helpers/airlock/polarized/payload(obj/machinery/door/door)
if(!door.glass)
log_world("[src] at [AREACOORD(src)] tried to make a non-glass door polarized!")
return
door.polarized_glass = TRUE
door.id = id
/obj/effect/mapping_helpers/airlock/locked
name = "airlock lock helper"
icon_state = "airlock_locked_helper"
/obj/effect/mapping_helpers/airlock/locked/payload(obj/machinery/door/airlock/airlock)
if(airlock.locked)
log_world("[src] at [AREACOORD(src)] tried to bolt [airlock] but it's already locked!")
else
airlock.locked = TRUE
airlock.update_icon()
/obj/effect/mapping_helpers/airlock/unres
name = "airlock unresctricted side helper"
icon_state = "airlock_unres_helper"
/obj/effect/mapping_helpers/airlock/unres/payload(obj/machinery/door/airlock)
airlock.unres_sides ^= dir
airlock.update_icon()
/obj/effect/mapping_helpers/airlock/autoname
name = "airlock autoname helper"
icon_state = "airlock_autoname"
/obj/effect/mapping_helpers/airlock/autoname/payload(obj/machinery/door/airlock)
airlock.name = get_area_name(airlock, TRUE)
//part responsible for windoors (thanks S34N)
/obj/effect/mapping_helpers/airlock/windoor
blacklist = list(/obj/machinery/door/firedoor, /obj/machinery/door/poddoor, /obj/machinery/door/unpowered, /obj/machinery/door/airlock)
/// Apply to a wall (or floor, technically) to ensure it is instantly destroyed by any explosion, even if usually invulnerable
/obj/effect/mapping_helpers/bombable_wall
name = "bombable wall helper"
icon_state = "explodable"
late = TRUE
/obj/effect/mapping_helpers/bombable_wall/Initialize(mapload)
. = ..()
if(!mapload)
log_debug("[src] spawned outside of mapload!")
return
var/turf/our_turf = get_turf(src) // In case a locker ate us or something
our_turf.AddElement(/datum/element/bombable_turf)
return INITIALIZE_HINT_QDEL
/obj/effect/mapping_helpers/airlock/windoor/autoname
name = "windoor autoname helper"
icon_state = "windoor_autoname"
/obj/effect/mapping_helpers/airlock/windoor/autoname/payload(obj/machinery/door/window/windoor)
if(windoor.dir == dir)
windoor.name = get_area_name(windoor, TRUE)
/obj/effect/mapping_helpers/airlock/windoor/autoname/desk
name = "windesk autoname helper"
icon_state = "windesk_autoname"
/obj/effect/mapping_helpers/airlock/windoor/autoname/desk/payload(obj/machinery/door/window/windoor)
if(windoor.dir == dir)
windoor.name = "[get_area_name(windoor, TRUE)] Desk"