Files
GS13NG/datum/wave_explosion.html
2025-02-05 06:19:18 +00:00

3 lines
15 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../"><link rel="stylesheet" href="dmdoc.css"><title>/datum/wave_explosion - /tg/ Station 13</title></head><body><header><a href="index.html">/tg/ Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a><a href="datum/wave_explosion.html#var">Var Details</a> - <a href="datum/wave_explosion.html#proc">Proc Details</a></header><main><h1>wave_explosion <aside>/<a href="datum.html">datum</a>/<a href="datum/wave_explosion.html">wave_explosion</a></aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L15"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 15"></a></h1><p>New force-blastwave explosion system</p><table class="summary" cellspacing="0"><tr><td colspan="2"><h2>Vars</h2></td></tr><tr><th><a href="datum/wave_explosion.html#var/block_resistance">block_resistance</a></th><td>block = block / this, if 0 any block is absolute</td></tr><tr><th><a href="datum/wave_explosion.html#var/cycle">cycle</a></th><td>What cycle are we on?</td></tr><tr><th><a href="datum/wave_explosion.html#var/cycle_speed">cycle_speed</a></th><td>Time to wait between cycles</td></tr><tr><th><a href="datum/wave_explosion.html#var/cycle_start">cycle_start</a></th><td>When we started the current cycle</td></tr><tr><th><a href="datum/wave_explosion.html#var/edges">edges</a></th><td>The &quot;edges&quot; + dirs that need to be processed this cycle. turf = dir flags</td></tr><tr><th><a href="datum/wave_explosion.html#var/exploded_last">exploded_last</a></th><td>The last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE</td></tr><tr><th><a href="datum/wave_explosion.html#var/finished">finished</a></th><td>Are we currently finished?</td></tr><tr><th><a href="datum/wave_explosion.html#var/fire_probability">fire_probability</a></th><td>Fire probability per tile</td></tr><tr><th><a href="datum/wave_explosion.html#var/flash_range">flash_range</a></th><td>Flash range</td></tr><tr><th><a href="datum/wave_explosion.html#var/hard_obstacle_mod">hard_obstacle_mod</a></th><td>Hard obstcales get this mod INSTEAD of object damage mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/id">id</a></th><td>Our unique nuumerical ID</td></tr><tr><th><a href="datum/wave_explosion.html#var/index">index</a></th><td>Current index for list</td></tr><tr><th><a href="datum/wave_explosion.html#var/mob_damage_mod">mob_damage_mod</a></th><td>Mob damage mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/mob_deafen_mod">mob_deafen_mod</a></th><td>Mob deafen mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/mob_gib_mod">mob_gib_mod</a></th><td>Mob gib mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/next_id">next_id</a></th><td>Next unique numerical ID</td></tr><tr><th><a href="datum/wave_explosion.html#var/object_damage_mod">object_damage_mod</a></th><td>Object damage mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/power_considered_dead">power_considered_dead</a></th><td>Explosion power at which point to consider to be a dead expansion</td></tr><tr><th><a href="datum/wave_explosion.html#var/power_falloff_constant">power_falloff_constant</a></th><td>Base explosion power falloff subtract (applied second)</td></tr><tr><th><a href="datum/wave_explosion.html#var/power_falloff_factor">power_falloff_factor</a></th><td>Base explosion power falloff multiplier (applied first)</td></tr><tr><th><a href="datum/wave_explosion.html#var/power_initial">power_initial</a></th><td>Explosion power we were initially at</td></tr><tr><th><a href="datum/wave_explosion.html#var/powers">powers</a></th><td>The powers of the current turf edges. turf = power</td></tr><tr><th><a href="datum/wave_explosion.html#var/running">running</a></th><td>Are we currently running?</td></tr><tr><th><a href="datum/wave_explosion.html#var/silent">silent</a></th><td>Are we silent/do we make the screenshake/sounds?</td></tr><tr><th><a href="datum/wave_explosion.html#var/source">source</a></th><td>What atom we originated from, if any</td></tr><tr><th><a href="datum/wave_explosion.html#var/start_time">start_time</a></th><td>world.time we started at</td></tr><tr><th><a href="datum/wave_explosion.html#var/wall_destroy_mod">wall_destroy_mod</a></th><td>Wall destruction mod</td></tr><tr><th><a href="datum/wave_explosion.html#var/window_shatter_mod">window_shatter_mod</a></th><td>Window shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]</td></tr><tr><td colspan="2"><h2>Procs</h2></td></tr><tr><th><a href="datum/wave_explosion.html#proc/tick">tick</a></th><td>Called by SSexplosions to propagate this.
Return TRUE if postponed</td></tr></table><h2 id="var">Var Details</h2><h3 id="var/block_resistance"><aside class="declaration">var </aside>block_resistance <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L60"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 60"></a></h3><p>block = block / this, if 0 any block is absolute</p><h3 id="var/cycle"><aside class="declaration">var </aside>cycle <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L86"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 86"></a></h3><p>What cycle are we on?</p><h3 id="var/cycle_speed"><aside class="declaration">var </aside>cycle_speed <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L90"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 90"></a></h3><p>Time to wait between cycles</p><h3 id="var/cycle_start"><aside class="declaration">var </aside>cycle_start <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L88"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 88"></a></h3><p>When we started the current cycle</p><h3 id="var/edges"><aside class="declaration">var </aside>edges <aside> /list/turf</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L81"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 81"></a></h3><p>The &quot;edges&quot; + dirs that need to be processed this cycle. turf = dir flags</p><h3 id="var/exploded_last"><aside class="declaration">var </aside>exploded_last <aside> /list/turf</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L79"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 79"></a></h3><p>The last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE</p><h3 id="var/finished"><aside class="declaration">var </aside>finished <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L25"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 25"></a></h3><p>Are we currently finished?</p><h3 id="var/fire_probability"><aside class="declaration">var </aside>fire_probability <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L40"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 40"></a></h3><p>Fire probability per tile</p><h3 id="var/flash_range"><aside class="declaration">var </aside>flash_range <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L38"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 38"></a></h3><p>Flash range</p><h3 id="var/hard_obstacle_mod"><aside class="declaration">var </aside>hard_obstacle_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L48"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 48"></a></h3><p>Hard obstcales get this mod INSTEAD of object damage mod</p><h3 id="var/id"><aside class="declaration">var </aside>id <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L19"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 19"></a></h3><p>Our unique nuumerical ID</p><h3 id="var/index"><aside class="declaration">var </aside>index <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L92"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 92"></a></h3><p>Current index for list</p><h3 id="var/mob_damage_mod"><aside class="declaration">var </aside>mob_damage_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L54"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 54"></a></h3><p>Mob damage mod</p><h3 id="var/mob_deafen_mod"><aside class="declaration">var </aside>mob_deafen_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L58"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 58"></a></h3><p>Mob deafen mod</p><h3 id="var/mob_gib_mod"><aside class="declaration">var </aside>mob_gib_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L56"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 56"></a></h3><p>Mob gib mod</p><h3 id="var/next_id"><aside class="declaration">var </aside>next_id <aside> /static</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L17"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 17"></a></h3><p>Next unique numerical ID</p><h3 id="var/object_damage_mod"><aside class="declaration">var </aside>object_damage_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L46"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 46"></a></h3><p>Object damage mod</p><h3 id="var/power_considered_dead"><aside class="declaration">var </aside>power_considered_dead <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L30"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 30"></a></h3><p>Explosion power at which point to consider to be a dead expansion</p><h3 id="var/power_falloff_constant"><aside class="declaration">var </aside>power_falloff_constant <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L36"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 36"></a></h3><p>Base explosion power falloff subtract (applied second)</p><h3 id="var/power_falloff_factor"><aside class="declaration">var </aside>power_falloff_factor <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L34"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 34"></a></h3><p>Base explosion power falloff multiplier (applied first)</p><h3 id="var/power_initial"><aside class="declaration">var </aside>power_initial <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L32"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 32"></a></h3><p>Explosion power we were initially at</p><h3 id="var/powers"><aside class="declaration">var </aside>powers <aside> /list/turf</aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L83"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 83"></a></h3><p>The powers of the current turf edges. turf = power</p><h3 id="var/running"><aside class="declaration">var </aside>running <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L23"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 23"></a></h3><p>Are we currently running?</p><h3 id="var/silent"><aside class="declaration">var </aside>silent <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L42"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 42"></a></h3><p>Are we silent/do we make the screenshake/sounds?</p><h3 id="var/source"><aside class="declaration">var </aside>source <aside> /<a href="atom.html">atom</a></aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L27"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 27"></a></h3><p>What atom we originated from, if any</p><h3 id="var/start_time"><aside class="declaration">var </aside>start_time <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L21"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 21"></a></h3><p>world.time we started at</p><h3 id="var/wall_destroy_mod"><aside class="declaration">var </aside>wall_destroy_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L52"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 52"></a></h3><p>Wall destruction mod</p><h3 id="var/window_shatter_mod"><aside class="declaration">var </aside>window_shatter_mod <aside> </aside> <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L50"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 50"></a></h3><p>Window shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]</p><h2 id="proc">Proc Details</h2><h3 id="proc/tick"><aside class="declaration">proc </aside>tick<aside>() <a href="https://github.com/evilew/GS13-Citadel/blob/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e/code/datums/explosion2.dm#L219"><img src="git.png" width="16" height="16" title="code/datums/explosion2.dm 219"></a></aside></h3><p>Called by SSexplosions to propagate this.
Return TRUE if postponed</p></main><footer>tgstation.dme <a href="https://github.com/evilew/GS13-Citadel/tree/e8e0068531dd988f9e65b33ae7866d4fbf1fdd9e">e8e0068</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.9.0</a></footer></body></html>