Files
Aurora.3/code/game/turfs/simulated/floor.dm
Matt Atlas 2e5fdf970c Landmark Shuttles (#8512)
The lifeless live again. Or in this case, what never actually lived here.

Ports Baystation12/Baystation12#17460 probably for real this time. What this allows us to do is create shuttles on runtime and make shuttles easier by just making landmarks and a shuttle instead of areas and shuttles. Also allows runtime landmark creation via flares or whatever AND allows shuttles to use different landmarks at will.

I removed most of the overmap stuff, I think. It shouldn't be hard to slam it in whenever we need to.

Changes:

    "Shuttle code has been completely reworked."
    "Shuttles can now be modified to have more than one destination."
    "Shuttles now have a takeoff sound."
    "You can now throw mobs against walls to damage them. A lot."
    "You now need a neckgrab to throw mobs."
    "BEING UNBUCKLED DURING SHUTTLE LAUNCH IS DANGEROUS! Don't do it."
    "Adminghosts can now interact with all shuttles."
2020-04-05 21:15:31 +03:00

80 lines
1.8 KiB
Plaintext

/turf/simulated/floor
name = "plating"
icon = 'icons/turf/flooring/plating.dmi'
icon_state = "plating"
// Damage to flooring.
var/broken
var/burnt
// Flooring data.
var/flooring_override
var/initial_flooring
var/decl/flooring/flooring
var/mineral = DEFAULT_WALL_MATERIAL
thermal_conductivity = 0.040
heat_capacity = 10000
var/lava = 0
/turf/simulated/floor/is_plating()
return !flooring
/turf/simulated/floor/Initialize(mapload, var/floortype)
. = ..()
if(!floortype && initial_flooring)
floortype = initial_flooring
if(floortype)
set_flooring(get_flooring_data(floortype), mapload)
/turf/simulated/floor/proc/set_flooring(decl/flooring/newflooring, mapload)
if (!mapload)
make_plating(defer_icon_update = 1)
flooring = newflooring
//Set the initial strings
name = flooring.name
desc = flooring.desc
footstep_sound = flooring.footstep_sound
if (mapload)
queue_icon_update()
else
queue_icon_update(1)
levelupdate()
//This proc will set floor_type to null and the update_icon() proc will then change the icon_state of the turf
//This proc auto corrects the grass tiles' siding.
/turf/simulated/floor/proc/make_plating(var/place_product, var/defer_icon_update)
cut_overlays()
if(islist(decals))
decals.Cut()
decals = null
name = base_name
desc = base_desc
icon = base_icon
icon_state = base_icon_state
if(flooring)
if(flooring.build_type && place_product)
new flooring.build_type(src)
flooring = null
set_light(0)
broken = null
burnt = null
flooring_override = null
levelupdate()
if(!defer_icon_update)
update_icon(1)
/turf/simulated/floor/levelupdate()
for(var/obj/O in src)
O.hide(O.hides_under_flooring() && src.flooring)
/turf/simulated/floor/shuttle_ceiling
name = "hull plating"
icon = 'icons/turf/flooring/tiles.dmi'
icon_state = "reinforced_light"