diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index d73aa208a36..a558dfbd084 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -123,8 +123,6 @@ var/slime_delay = 0 var/animal_delay = 0 - var/use_recursive_explosions //Defines whether the server uses recursive or circular explosions. - var/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour. var/ghost_interaction = 0 @@ -387,8 +385,6 @@ config.allow_random_events = 1 if("jobs_have_minimal_access") config.jobs_have_minimal_access = 1 - if("use_recursive_explosions") - use_recursive_explosions = 1 if("humans_need_surnames") humans_need_surnames = 1 if("force_random_names") diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index ebcb6b269f8..7ce8a2bdb6a 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -42,15 +42,6 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa flame_range = min (MAX_EX_FLAME_RANGE, flame_range) spawn(0) - if(config.use_recursive_explosions) - devastation_range += 1 //Original code uses -1 as no explosion, this code uses 0 as no explosion and -1 would ruin everything - heavy_impact_range += 1 - light_impact_range += 1 - var/power = devastation_range * 3 + heavy_impact_range * 1.5 + light_impact_range * 0.75 - //So max power is (3 * 4) + (1.5 * 8) + (0.75 * 15) = 36,25 - explosion_rec(epicenter, power) - return - var/start = world.timeofday if(!epicenter) return diff --git a/code/game/objects/explosion_recursive.dm b/code/game/objects/explosion_recursive.dm deleted file mode 100644 index 55c76e74eec..00000000000 --- a/code/game/objects/explosion_recursive.dm +++ /dev/null @@ -1,133 +0,0 @@ -/client/proc/kaboom() - - set category = "Debug" - - var/power = input(src, "power?", "power?") as num - var/turf/T = get_turf(src.mob) - explosion_rec(T, power) - -/obj - var/explosion_resistance - - - -var/list/explosion_turfs = list() - -var/explosion_in_progress = 0 - - -proc/explosion_rec(turf/epicenter, power) - - var/loopbreak = 0 - while(explosion_in_progress) - if(loopbreak >= 15) return - sleep(10) - loopbreak++ - - if(power <= 0) return - epicenter = get_turf(epicenter) - if(!epicenter) return - - message_admins("Explosion with size ([power]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])") - log_game("Explosion with size ([power]) in area [epicenter.loc.name] ") - - playsound(epicenter, 'sound/effects/explosionfar.ogg', 100, 1, round(power*2,1) ) - playsound(epicenter, "explosion", 100, 1, round(power,1) ) - - explosion_in_progress = 1 - explosion_turfs = list() - - explosion_turfs[epicenter] = power - - //This steap handles the gathering of turfs which will be ex_act() -ed in the next step. It also ensures each turf gets the maximum possible amount of power dealt to it. - for(var/direction in cardinal) - var/turf/T = get_step(epicenter, direction) - T.explosion_spread(power - epicenter.explosion_resistance, direction) - - //This step applies the ex_act effects for the explosion, as planned in the previous step. - for(var/turf/T in explosion_turfs) - if(explosion_turfs[T] <= 0) continue - if(!T) continue - - //Wow severity looks confusing to calculate... Fret not, I didn't leave you with any additional instructions or help. (just kidding, see the line under the calculation) - var/severity = 4 - round(max(min( 3, ((explosion_turfs[T] - T.explosion_resistance) / (max(3,(power/3)))) ) ,1), 1) //sanity effective power on tile divided by either 3 or one third the total explosion power - // One third because there are three power levels and I - // want each one to take up a third of the crater - var/x = T.x - var/y = T.y - var/z = T.z - T.ex_act(severity) - if(!T) - T = locate(x,y,z) - for(var/atom/A in T) - A.ex_act(severity) - - explosion_in_progress = 0 - -/turf - var/explosion_resistance - -/turf/space - explosion_resistance = 10 - -/turf/simulated/floor - explosion_resistance = 1 - -/turf/simulated/mineral - explosion_resistance = 2 - -/turf/simulated/shuttle/floor - explosion_resistance = 1 - -/turf/simulated/shuttle/floor4 - explosion_resistance = 1 - -/turf/simulated/shuttle/plating - explosion_resistance = 1 - -/turf/simulated/shuttle/wall - explosion_resistance = 5 - -/turf/simulated/wall - explosion_resistance = 5 - -/turf/simulated/wall/r_wall - explosion_resistance = 15 - -//Code-wise, a safe value for power is something up to ~25 or ~30.. This does quite a bit of damage to the station. -//direction is the direction that the spread took to come to this tile. So it is pointing in the main blast direction - meaning where this tile should spread most of it's force. -/turf/proc/explosion_spread(power, direction) - if(power <= 0) - return - - /* - sleep(2) - new/obj/effect/debugging/marker(src) - */ - - if(explosion_turfs[src] >= power) - return //The turf already sustained and spread a power greated than what we are dealing with. No point spreading again. - explosion_turfs[src] = power - - var/spread_power = power - src.explosion_resistance //This is the amount of power that will be spread to the tile in the direction of the blast - var/side_spread_power = power - 2 * src.explosion_resistance //This is the amount of power that will be spread to the side tiles - for(var/obj/O in src) - if(O.explosion_resistance) - spread_power -= O.explosion_resistance - side_spread_power -= O.explosion_resistance - - var/turf/T = get_step(src, direction) - T.explosion_spread(spread_power, direction) - T = get_step(src, turn(direction,90)) - T.explosion_spread(side_spread_power, turn(direction,90)) - T = get_step(src, turn(direction,-90)) - T.explosion_spread(side_spread_power, turn(direction,90)) - - /* - for(var/direction in cardinal) - var/turf/T = get_step(src, direction) - T.explosion_spread(spread_power) - */ - -/turf/unsimulated/explosion_spread(power) - return //So it doesn't get to the parent proc, which simulates explosions \ No newline at end of file diff --git a/config/game_options.txt b/config/game_options.txt index 4d3c6c5419b..7f469d35001 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -66,15 +66,6 @@ ALERT_RED_DOWNTO The self-destruct mechanism has been deactivated, there is stil ALERT_DELTA The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill. -### EXPLOSIONS ### - -## Unhash this to use recursive explosions, keep it hashed to use normal style explosions. -## Recursive explosions react to walls, airlocks and blast doors, making them look a lot cooler -## than the boring old circular explosions. They require more CPU and are (as of March 2013) experimental. -## The default map is generally designed for the old style explosions in terms of security. - -#USE_RECURSIVE_EXPLOSIONS - ### GAME MODES ### diff --git a/tgstation.dme b/tgstation.dme index 44b9239176e..17ef9c54309 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -468,7 +468,6 @@ #include "code\game\mecha\working\working.dm" #include "code\game\objects\empulse.dm" #include "code\game\objects\explosion.dm" -#include "code\game\objects\explosion_recursive.dm" #include "code\game\objects\items.dm" #include "code\game\objects\objs.dm" #include "code\game\objects\structures.dm"