Ports Turf Fires (#21659)

Adds turf fires (ported from Baystation, which ported them from
Shiptest), which are now used instead of ZAS fires for fuel decals and
flamethrowers. They also supplement ZAS fires in especially bad atmos
fires.

This makes flamethrowers and related objects more suitable for AOE
denial, rather than cooking the room (including yourself). They still do
the latter, but less so than a gaseous fire.

To make flamethrowers actually useful against them, simple mobs now take
brute damage when on fire.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| sound/weapons/flamethrower/flamethrower1.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower2.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower3.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower_empty.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| icons/effects/particles/smoke.dmi |
[rye-rice](https://github.com/shiptest-ss13/Shiptest/commits?author=rye-rice)
(Shiptest) | CC-BY-SA 3.0 |
| icons/effects/turf_fire.dmi | CM Dev (cmss13) | CC-BY-SA 3.0 |
This commit is contained in:
Cody Brittain
2026-01-31 01:41:11 +00:00
committed by GitHub
parent 7a22fe7067
commit 9b5f89a717
39 changed files with 654 additions and 256 deletions
+4 -2
View File
@@ -1,7 +1,7 @@
/client/proc/clear_toxins()
set category = "Special Verbs"
set name = "Clear Toxin/Fire in Zone"
set desc = "Remove fires from your current zone and reset the atmosphere to human-perfect gas mix, pressure, and temp."
set desc = "Remove hotspots & fires from your current zone and reset the atmosphere to human-perfect gas mix, pressure, and temp."
if (!check_rights(R_ADMIN) && !isstoryteller(usr))
return
@@ -23,7 +23,9 @@
if (location.zone)
for (var/turf/T in location.zone.contents)
for (var/obj/fire/F in T.contents)
for (var/obj/hotspot/H in T.contents)
qdel(H)
for (var/obj/turf_fire/F in T.contents)
qdel(F)
log_and_message_admins("cleared air and fire in area [get_area(usr)].")
+1 -1
View File
@@ -10,7 +10,7 @@
var/inactive_groups = SSair.zones.len - active_groups
var/hotspots = 0
for(var/obj/fire/hotspot in world)
for(var/obj/hotspot/hotspot in world)
hotspots++
var/active_on_main_station = 0