From 1dbd3eb2a0abb27f0266de709e61d2d9e10a6811 Mon Sep 17 00:00:00 2001 From: vincibrv Date: Sun, 24 Mar 2024 14:59:39 +0100 Subject: [PATCH 1/9] behavior works, numbers need tweeks --- code/game/turfs/snow.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index f7fb746cfbbc..6013928166ab 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -8,6 +8,7 @@ icon = 'icons/turf/floors/snow2.dmi' icon_state = "snow_0" is_groundmap_turf = TRUE + scorchable = TRUE //PLACING/REMOVING/BUILDING /turf/open/snow/attackby(obj/item/I, mob/user) @@ -132,6 +133,23 @@ bleed_layer = 0 update_icon(1, 0) +/turf/open/snow/scorch(heat_level) + if(bleed_layer == 0) + return + switch(heat_level) + if(1 to 19) + bleed_layer-- + update_icon(1, 0) + + if(20 to 39) + bleed_layer = max(bleed_layer - 2, 0) + update_icon(1, 0) + if(40 to INFINITY) + bleed_layer = 0 + + + + //SNOW LAYERS-----------------------------------// /turf/open/snow/layer0 icon_state = "snow_0" From bbfca70588f10036df18efd3585485a30c1c4cb6 Mon Sep 17 00:00:00 2001 From: vincibrv Date: Sun, 24 Mar 2024 15:05:41 +0100 Subject: [PATCH 2/9] description and removes extra whitespaces --- code/game/turfs/snow.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index 6013928166ab..a84b2fd7fa44 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -133,6 +133,7 @@ bleed_layer = 0 update_icon(1, 0) +//Flames act /turf/open/snow/scorch(heat_level) if(bleed_layer == 0) return @@ -148,8 +149,6 @@ bleed_layer = 0 - - //SNOW LAYERS-----------------------------------// /turf/open/snow/layer0 icon_state = "snow_0" From ad48b300aff83e7d35ebaf446a6ca67f2615216a Mon Sep 17 00:00:00 2001 From: vincibrv Date: Sun, 24 Mar 2024 15:37:44 +0100 Subject: [PATCH 3/9] removes the old intensity independent way it was done before --- code/modules/projectiles/guns/flamer/flamer.dm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm index 62e37e4f7c3b..5daef0bdff74 100644 --- a/code/modules/projectiles/guns/flamer/flamer.dm +++ b/code/modules/projectiles/guns/flamer/flamer.dm @@ -478,15 +478,7 @@ INVOKE_ASYNC(FS, TYPE_PROC_REF(/datum/flameshape, handle_fire_spread), src, fire_spread_amount, burn_dam, fuel_pressure) //Apply fire effects onto everyone in the fire - // Melt a single layer of snow - if (istype(loc, /turf/open/snow)) - var/turf/open/snow/S = loc - - if (S.bleed_layer > 0) - S.bleed_layer-- - S.update_icon(1, 0) - - //scorch mah grass HNNGGG + //scorch mah grass HNNGGG and muh SNOW hhhhGGG if (istype(loc, /turf/open)) var/turf/open/scorch_turf_target = loc if(scorch_turf_target.scorchable) From b5f1c16a6a53797b802e38e5ac9814b8f70d928e Mon Sep 17 00:00:00 2001 From: vincibrv Date: Sun, 24 Mar 2024 15:51:37 +0100 Subject: [PATCH 4/9] icon did not update after being burned by max intensity --- code/game/turfs/snow.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index a84b2fd7fa44..6e71fe7ba319 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -147,6 +147,7 @@ update_icon(1, 0) if(40 to INFINITY) bleed_layer = 0 + update_icon(1, 0) //SNOW LAYERS-----------------------------------// From adbd9e0bb232f9dce8ea80242a4a037ce7abab27 Mon Sep 17 00:00:00 2001 From: vincibrv Date: Wed, 3 Apr 2024 09:33:42 +0200 Subject: [PATCH 5/9] auto turf changes --- code/game/turfs/auto_turf.dm | 15 +++++++++++++++ code/game/turfs/snow.dm | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm index e07f7324bcc2..d44cd1f38932 100644 --- a/code/game/turfs/auto_turf.dm +++ b/code/game/turfs/auto_turf.dm @@ -75,6 +75,20 @@ if(bleed_layer) addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1) +/turf/open/auto_turf/scorch(heat_level) + if(bleed_layer == 0) + return + switch(heat_level) + if(1 to 19) + var/new_bleed_layer = min(0, bleed_layer - 1) + addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) + + if(20 to 39) + var/new_bleed_layer = max(bleed_layer - 2, 0) + addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) + if(40 to INFINITY) + addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1) + //Actual auto-turfs now @@ -146,6 +160,7 @@ //Ice colony snow /turf/open/auto_turf/snow + scorchable = TRUE name = "auto-snow" icon = 'icons/turf/floors/snow2.dmi' icon_state = "snow_0" diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index 6e71fe7ba319..aab2fdf97e75 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -140,14 +140,14 @@ switch(heat_level) if(1 to 19) bleed_layer-- - update_icon(1, 0) + update_icon(TRUE, FALSE) if(20 to 39) bleed_layer = max(bleed_layer - 2, 0) - update_icon(1, 0) + update_icon(TRUE, FALSE) if(40 to INFINITY) bleed_layer = 0 - update_icon(1, 0) + update_icon(TRUE, FALSE) //SNOW LAYERS-----------------------------------// From 34508bac0e00da70db35e8f4428597f848a53daf Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:40:21 +0200 Subject: [PATCH 6/9] Update code/game/turfs/auto_turf.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/turfs/auto_turf.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm index d44cd1f38932..178d8eb44698 100644 --- a/code/game/turfs/auto_turf.dm +++ b/code/game/turfs/auto_turf.dm @@ -82,7 +82,6 @@ if(1 to 19) var/new_bleed_layer = min(0, bleed_layer - 1) addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) - if(20 to 39) var/new_bleed_layer = max(bleed_layer - 2, 0) addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) From 72dc0de05a2f2889e912abdd1b94ce49bca0b8db Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:40:32 +0200 Subject: [PATCH 7/9] Update code/game/turfs/snow.dm Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> --- code/game/turfs/snow.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index aab2fdf97e75..5fc00b2e67be 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -135,7 +135,7 @@ //Flames act /turf/open/snow/scorch(heat_level) - if(bleed_layer == 0) + if(bleed_layer <= 0) return switch(heat_level) if(1 to 19) From 0df1419802d576d068fa0b772382dfea13a7212e Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:40:39 +0200 Subject: [PATCH 8/9] Update code/game/turfs/auto_turf.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/turfs/auto_turf.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm index 178d8eb44698..16550c05c013 100644 --- a/code/game/turfs/auto_turf.dm +++ b/code/game/turfs/auto_turf.dm @@ -76,7 +76,7 @@ addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1) /turf/open/auto_turf/scorch(heat_level) - if(bleed_layer == 0) + if(bleed_layer <= 0) return switch(heat_level) if(1 to 19) From ff40c3ceca4374dd094bb6ed65b612f1cbde3f7a Mon Sep 17 00:00:00 2001 From: cuberound <122645057+cuberound@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:40:44 +0200 Subject: [PATCH 9/9] Update code/game/turfs/snow.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/game/turfs/snow.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index 5fc00b2e67be..c8afd734e862 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -140,14 +140,13 @@ switch(heat_level) if(1 to 19) bleed_layer-- - update_icon(TRUE, FALSE) - + update_icon(update_full = TRUE, skip_sides = FALSE) if(20 to 39) bleed_layer = max(bleed_layer - 2, 0) - update_icon(TRUE, FALSE) + update_icon(update_full = TRUE, skip_sides = FALSE) if(40 to INFINITY) bleed_layer = 0 - update_icon(TRUE, FALSE) + update_icon(update_full = TRUE, skip_sides = FALSE) //SNOW LAYERS-----------------------------------//