Buffs devastation and heavy damage ranges when supermatter is energised (up to 2x at very high power levels).

- Intentionally leaving light damage range lower as at high power levels to somewhat concentrate the damage in engineering.
This commit is contained in:
Atlantiscze
2020-05-03 22:56:50 +02:00
parent 3ee4747502
commit 2d50c71553

View File

@@ -37,6 +37,9 @@
#define DETONATION_SHUTDOWN_RNG_FACTOR 20 // RNG factor. Above shutdown times can be +- X%, where this setting is the percent. Do not set to 100 or more. #define DETONATION_SHUTDOWN_RNG_FACTOR 20 // RNG factor. Above shutdown times can be +- X%, where this setting is the percent. Do not set to 100 or more.
#define DETONATION_SOLAR_BREAK_CHANCE 60 // prob() of breaking solar arrays (this is per-panel, and only affects the Z level SM is on) #define DETONATION_SOLAR_BREAK_CHANCE 60 // prob() of breaking solar arrays (this is per-panel, and only affects the Z level SM is on)
// If power level is between these two, explosion strength will be scaled accordingly between min_explosion_power and max_explosion_power
#define DETONATION_EXPLODE_MIN_POWER 200 // If power level is this or lower, minimal detonation strength will be used
#define DETONATION_EXPLODE_MAX_POWER 2000 // If power level is this or higher maximal detonation strength will be used
#define WARNING_DELAY 20 //seconds between warnings. #define WARNING_DELAY 20 //seconds between warnings.
@@ -72,7 +75,8 @@
var/pull_radius = 14 var/pull_radius = 14
// Time in ticks between delamination ('exploding') and exploding (as in the actual boom) // Time in ticks between delamination ('exploding') and exploding (as in the actual boom)
var/pull_time = 100 var/pull_time = 100
var/explosion_power = 8 var/min_explosion_power = 8
var/max_explosion_power = 16
var/emergency_issued = 0 var/emergency_issued = 0
@@ -203,7 +207,13 @@
// Effect 4: Medium scale explosion // Effect 4: Medium scale explosion
spawn(0) spawn(0)
explosion(TS, explosion_power/2, explosion_power, explosion_power * 2, explosion_power * 4, 1) var/explosion_power = min_explosion_power
if(power > 0)
// 0-100% where 0% is at DETONATION_EXPLODE_MIN_POWER or lower and 100% is at DETONATION_EXPLODE_MAX_POWER or higher
var/strength_percentage = between(0, (power - DETONATION_EXPLODE_MIN_POWER) / ((DETONATION_EXPLODE_MAX_POWER - DETONATION_EXPLODE_MIN_POWER) / 100), 100)
explosion_power = between(min_explosion_power, (((max_explosion_power - min_explosion_power) * (strength_percentage / 100)) + min_explosion_power), max_explosion_power)
explosion(TS, explosion_power/2, explosion_power, max_explosion_power, explosion_power * 4, 1)
qdel(src) qdel(src)
// Allow the explosion to finish // Allow the explosion to finish
spawn(5) spawn(5)
@@ -494,7 +504,8 @@
pull_radius = 5 pull_radius = 5
pull_time = 45 pull_time = 45
explosion_power = 3 min_explosion_power = 3
max_explosion_power = 6
/obj/machinery/power/supermatter/shard/announce_warning() //Shards don't get announcements /obj/machinery/power/supermatter/shard/announce_warning() //Shards don't get announcements
return return