diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 6fbea29b582..59b114df828 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -343,35 +343,27 @@
/turf/simulated/wall/proc/thermitemelt(mob/user as mob)
if(mineral == "diamond")
return
+ overlays = list()
var/obj/effect/overlay/O = new/obj/effect/overlay( src )
- O.name = "Thermite"
+ O.name = "thermite"
O.desc = "Looks hot."
O.icon = 'icons/effects/fire.dmi'
O.icon_state = "2"
O.anchored = 1
+ O.opacity = 1
O.density = 1
O.layer = 5
- src.ChangeTurf(/turf/simulated/floor/plating)
-
- var/turf/simulated/floor/F = src
- if(!F)
- if(O)
- message_admins("[user.real_name] ([formatPlayerPanel(user,user.ckey)]) thermited a wall into space at [formatJumpTo(loc)]!")
- del(O)
- user << "The thermite melts through the wall."
- return
- F.burn_tile()
- F.icon_state = "wall_thermite"
- user << "The thermite melts through the wall."
-
- var/pdiff=performWallPressureCheck(src.loc)
- if(pdiff)
- message_admins("[user.real_name] ([formatPlayerPanel(user,user.ckey)]) thermited a wall with a pdiff of [pdiff] at [formatJumpTo(loc)]!")
-
- spawn(100)
- if(O) del(O)
-// F.sd_LumReset() //TODO: ~Carn
+ if(thermite >= 50)
+ var/turf/simulated/floor/F = ChangeTurf(/turf/simulated/floor/plating)
+ F.burn_tile()
+ F.icon_state = "wall_thermite"
+ spawn(max(100,300-thermite))
+ if(O) qdel(O)
+ else
+ thermite = 0
+ spawn(50)
+ if(O) qdel(O)
return
/turf/simulated/wall/meteorhit(obj/M as obj)
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 866aa1c7221..f45407d5c53 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -1122,11 +1122,14 @@ datum
reaction_turf(var/turf/T, var/volume)
src = null
- if(volume >= 5)
- if(istype(T, /turf/simulated/wall))
- T:thermite = 1
- T.overlays.Cut()
- T.overlays = image('icons/effects/effects.dmi',icon_state = "thermite")
+ if(volume >= 1 && istype(T, /turf/simulated/wall))
+ var/turf/simulated/wall/Wall = T
+ if(istype(Wall, /turf/simulated/wall/r_wall))
+ Wall.thermite = Wall.thermite+(volume*2.5)
+ else
+ Wall.thermite = Wall.thermite+(volume*10)
+ Wall.overlays = list()
+ Wall.overlays += image('icons/effects/effects.dmi',"thermite")
return
on_mob_life(var/mob/living/M as mob)
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index 9bb27fef02c..25fb9fb5a39 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ