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