mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
Merge pull request #9611 from SamHPurp/damaged-tile-overlays
Tiles now overlay damage & scorch
This commit is contained in:
@@ -268,3 +268,20 @@
|
||||
ruin_landmarks -= src
|
||||
ruin_template = null
|
||||
. = ..()
|
||||
|
||||
// Damage tiles
|
||||
/obj/effect/landmark/damageturf
|
||||
icon_state = "damaged"
|
||||
|
||||
/obj/effect/landmark/damageturf/New()
|
||||
..()
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
T.break_tile()
|
||||
|
||||
/obj/effect/landmark/burnturf
|
||||
icon_state = "burned"
|
||||
|
||||
/obj/effect/landmark/burnturf/New()
|
||||
..()
|
||||
var/turf/simulated/T = get_turf(src)
|
||||
T.burn_tile()
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
levelupdate()
|
||||
visibilityChanged()
|
||||
|
||||
/turf/simulated/proc/break_tile()
|
||||
|
||||
/turf/simulated/proc/burn_tile()
|
||||
|
||||
/turf/simulated/proc/MakeSlippery(wet_setting = TURF_WET_WATER) // 1 = Water, 2 = Lube, 3 = Ice
|
||||
|
||||
@@ -25,10 +25,11 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
var/lava = 0
|
||||
var/broken = 0
|
||||
var/burnt = 0
|
||||
var/current_overlay = null
|
||||
var/floor_tile = null //tile that this floor drops
|
||||
var/obj/item/stack/tile/builtin_tile = null //needed for performance reasons when the singularity rips off floor tiles
|
||||
var/list/broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5")
|
||||
var/list/burnt_states = list()
|
||||
var/list/burnt_states = list("floorscorched1", "floorscorched2")
|
||||
|
||||
|
||||
/turf/simulated/floor/New()
|
||||
@@ -89,6 +90,9 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
/turf/simulated/floor/proc/update_icon()
|
||||
if(air)
|
||||
update_visuals()
|
||||
overlays -= current_overlay
|
||||
if(current_overlay)
|
||||
overlays.Add(current_overlay)
|
||||
return 1
|
||||
|
||||
/turf/simulated/floor/proc/gets_drilled()
|
||||
@@ -98,20 +102,19 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
var/turf/simulated/floor/plating/T = make_plating()
|
||||
T.break_tile()
|
||||
|
||||
/turf/simulated/floor/proc/break_tile()
|
||||
/turf/simulated/floor/break_tile()
|
||||
if(broken)
|
||||
return
|
||||
icon_state = pick(broken_states)
|
||||
broken = 1
|
||||
current_overlay = pick(broken_states)
|
||||
broken = TRUE
|
||||
update_icon()
|
||||
|
||||
/turf/simulated/floor/burn_tile()
|
||||
if(broken || burnt)
|
||||
if(burnt)
|
||||
return
|
||||
if(burnt_states.len)
|
||||
icon_state = pick(burnt_states)
|
||||
else
|
||||
icon_state = pick(broken_states)
|
||||
burnt = 1
|
||||
current_overlay = pick(burnt_states)
|
||||
burnt = TRUE
|
||||
update_icon()
|
||||
|
||||
/turf/simulated/floor/proc/make_plating()
|
||||
return ChangeTurf(/turf/simulated/floor/plating)
|
||||
@@ -187,6 +190,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
if(broken || burnt)
|
||||
broken = 0
|
||||
burnt = 0
|
||||
current_overlay = null
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You remove the broken plating.</span>")
|
||||
else
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
icon_state = "plating"
|
||||
intact = 0
|
||||
floor_tile = null
|
||||
broken_states = list("platingdmg1", "platingdmg2", "platingdmg3")
|
||||
burnt_states = list("panelscorched")
|
||||
broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5")
|
||||
burnt_states = list("floorscorched1", "floorscorched2")
|
||||
|
||||
footstep_sounds = list(
|
||||
"human" = list('sound/effects/footstep/plating_human.ogg'),
|
||||
@@ -60,9 +60,10 @@
|
||||
if(welder.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='danger'>You fix some dents on the broken plating.</span>")
|
||||
playsound(src, welder.usesound, 80, 1)
|
||||
icon_state = icon_plating
|
||||
current_overlay = null
|
||||
burnt = 0
|
||||
broken = 0
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
/turf/simulated/floor/plating/airless
|
||||
|
||||
Reference in New Issue
Block a user