From ae22a1876a2f19a1872408a683b11fceda298c89 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 30 May 2017 14:36:11 -0500 Subject: [PATCH] 41 files changed, original only had 4. SPACES. --- code/datums/explosion.dm | 16 +++-- code/datums/explosion.dm.rej | 53 --------------- code/game/atoms.dm | 64 +++++++++---------- code/game/atoms.dm.rej | 9 --- .../weapons/implants/implant_explosive.dm.rej | 10 --- code/modules/admin/admin_verbs.dm.rej | 24 ------- code/modules/admin/secrets.dm.rej | 29 --------- code/modules/admin/verbs/randomverbs.dm.rej | 10 --- .../carbon/human/species_types/golems.dm.rej | 10 --- .../hostile/megafauna/dragon.dm.rej | 10 --- .../power/supermatter/supermatter.dm.rej | 10 --- code/modules/research/experimentor.dm.rej | 10 --- tgstation.dme | 1 + tgstation.dme.rej | 9 --- 14 files changed, 43 insertions(+), 222 deletions(-) delete mode 100644 code/datums/explosion.dm.rej delete mode 100644 code/game/atoms.dm.rej delete mode 100644 code/game/objects/items/weapons/implants/implant_explosive.dm.rej delete mode 100644 code/modules/admin/admin_verbs.dm.rej delete mode 100644 code/modules/admin/secrets.dm.rej delete mode 100644 code/modules/admin/verbs/randomverbs.dm.rej delete mode 100644 code/modules/mob/living/carbon/human/species_types/golems.dm.rej delete mode 100644 code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej delete mode 100644 code/modules/power/supermatter/supermatter.dm.rej delete mode 100644 code/modules/research/experimentor.dm.rej delete mode 100644 tgstation.dme.rej diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 3f8d45448f..86ab021191 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -43,6 +43,10 @@ GLOBAL_LIST_EMPTY(explosions) return GLOB.explosions += src + if(isnull(flame_range)) + flame_range = light_impact_range + if(isnull(flash_range)) + flash_range = devastation_range // Archive the uncapped explosion for the doppler array var/orig_dev_range = devastation_range @@ -121,7 +125,7 @@ GLOBAL_LIST_EMPTY(explosions) E = new E.set_up(epicenter) E.start() - + EX_PREPROCESS_CHECK_TICK //flash mobs @@ -188,7 +192,7 @@ GLOBAL_LIST_EMPTY(explosions) var/throw_range = rand(throw_dist, max_range) var/turf/throw_at = get_ranged_target_turf(I, throw_dir, throw_range) I.throw_speed = EXPLOSION_THROW_SPEED //Temporarily change their throw_speed for embedding purposes (Reset when it finishes throwing, regardless of hitting anything) - I.throw_at(throw_at, throw_range, EXPLOSION_THROW_SPEED) + I.throw_at(throw_at, throw_range, EXPLOSION_THROW_SPEED) //wait for the lists to repop var/break_condition @@ -204,7 +208,7 @@ GLOBAL_LIST_EMPTY(explosions) if(!running) break - + //update the trackers affTurfLen = affected_turfs.len expBlockLen = cached_exp_block.len @@ -270,7 +274,7 @@ GLOBAL_LIST_EMPTY(explosions) . = list() var/processed = 0 while(!stopped && running) - var/I + var/I for(I in (processed + 1) to affected_turfs.len) // we cache the explosion block rating of every turf in the explosion area var/turf/T = affected_turfs[I] var/current_exp_block = T.density ? T.explosion_block : 0 @@ -285,12 +289,12 @@ GLOBAL_LIST_EMPTY(explosions) for(var/obj/structure/blob/B in T) current_exp_block += B.explosion_block - + .[T] = current_exp_block if(TICK_CHECK) break - + processed = I stoplag() diff --git a/code/datums/explosion.dm.rej b/code/datums/explosion.dm.rej deleted file mode 100644 index ce5c5ddcfc..0000000000 --- a/code/datums/explosion.dm.rej +++ /dev/null @@ -1,53 +0,0 @@ -diff a/code/datums/explosion.dm b/code/datums/explosion.dm (rejected hunks) -@@ -1,10 +1,48 @@ --/proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1, ignorecap = 0, flame_range = 0 ,silent = 0, smoke = 1) -- set waitfor = 0 -- src = null //so we don't abort once src is deleted -+GLOBAL_LIST_EMPTY(explosions) -+//Against my better judgement, I will return the explosion datum -+//If I see any GC errors for it I will find you -+//and I will gib you -+// --Cyberboss -+/proc/explosion(atom/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = TRUE, ignorecap = FALSE, flame_range = 0 , silent = FALSE, smoke = FALSE) -+ return new /datum/explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog, ignorecap, flame_range, silent, smoke) -+ -+//This datum creates 3 threads -+//1 GatherSpiralTurfsProc runs spiral_range_turfs(tick_checked = TRUE) to populate the affected_turfs list -+//2 CaculateExplosionBlock adds the blockings to the cached_exp_block list -+//3 The main thread explodes the prepared turfs -+ -+/datum/explosion -+ var/explosion_id -+ var/started_at -+ var/running = TRUE -+ var/stopped = 0 //This is the number of threads stopped !DOESN'T COUNT THREAD 2! -+ var/static/id_counter = 0 -+ -+#define EX_PREPROCESS_EXIT_CHECK \ -+ if(!running) {\ -+ stopped = 2;\ -+ qdel(src);\ -+ return;\ -+ } -+ -+#define EX_PREPROCESS_CHECK_TICK \ -+ if(TICK_CHECK) {\ -+ stoplag();\ -+ EX_PREPROCESS_EXIT_CHECK\ -+ } -+ -+/datum/explosion/New(atom/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog, ignorecap, flame_range, silent, smoke) -+ set waitfor = FALSE -+ -+ var/id = ++id_counter -+ explosion_id = id -+ - epicenter = get_turf(epicenter) - if(!epicenter) - return - -+ GLOB.explosions += src -+ - // Archive the uncapped explosion for the doppler array - var/orig_dev_range = devastation_range - var/orig_heavy_range = heavy_impact_range diff --git a/code/game/atoms.dm b/code/game/atoms.dm index cc9ea86682..47e1d9eafe 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -28,8 +28,8 @@ var/list/our_overlays //our local copy of (non-priority) overlays without byond magic. Use procs in SSoverlays to manipulate var/list/priority_overlays //overlays that should remain on top and not normally removed when using cut_overlay functions, like c4. - var/datum/proximity_monitor/proximity_monitor - + var/datum/proximity_monitor/proximity_monitor + /atom/New(loc, ...) //atom creation method that preloads variables at creation if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New() @@ -39,21 +39,21 @@ var/do_initialize = SSatoms.initialized if(do_initialize > INITIALIZATION_INSSATOMS) - args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD - if(SSatoms.InitAtom(src, args)) - //we were deleted - return - - var/list/created = SSatoms.created_atoms - if(created) - created += src + args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD + if(SSatoms.InitAtom(src, args)) + //we were deleted + return + + var/list/created = SSatoms.created_atoms + if(created) + created += src //Called after New if the map is being loaded. mapload = TRUE //Called from base of New if the map is being loaded. mapload = FALSE -//This base must be called or derivatives must set initialized to TRUE -//must not sleep +//This base must be called or derivatives must set initialized to TRUE +//must not sleep //Other parameters are passed from New (excluding loc), this does not happen if mapload is TRUE -//Must return an Initialize hint. Defined in __DEFINES/subsystems.dm +//Must return an Initialize hint. Defined in __DEFINES/subsystems.dm //Note: the following functions don't call the base for optimization and must copypasta: // /turf/Initialize @@ -76,23 +76,23 @@ if (opacity && isturf(loc)) var/turf/T = loc T.has_opaque_atom = TRUE // No need to recalculate it in this case, it's guaranteed to be on afterwards anyways. - return INITIALIZE_HINT_NORMAL + return INITIALIZE_HINT_NORMAL -//called if Initialize returns INITIALIZE_HINT_LATELOAD -//This version shouldn't be called -/atom/proc/LateInitialize() - var/static/list/warned_types = list() - if(!warned_types[type]) - WARNING("Old style LateInitialize behaviour detected in [type]!") - warned_types[type] = TRUE - Initialize(FALSE) +//called if Initialize returns INITIALIZE_HINT_LATELOAD +//This version shouldn't be called +/atom/proc/LateInitialize() + var/static/list/warned_types = list() + if(!warned_types[type]) + WARNING("Old style LateInitialize behaviour detected in [type]!") + warned_types[type] = TRUE + Initialize(FALSE) /atom/Destroy() if(alternate_appearances) - for(var/K in alternate_appearances) - var/datum/atom_hud/alternate_appearance/AA = alternate_appearances[K] - AA.remove_from_hud(src) - + for(var/K in alternate_appearances) + var/datum/atom_hud/alternate_appearance/AA = alternate_appearances[K] + AA.remove_from_hud(src) + if(reagents) qdel(reagents) @@ -100,8 +100,8 @@ LAZYCLEARLIST(priority_overlays) //SSoverlays.processing -= src //we COULD do this, but it's better to just let it fall out of the processing queue - QDEL_NULL(light) - + QDEL_NULL(light) + return ..() /atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5) @@ -505,10 +505,10 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) /atom/proc/mech_melee_attack(obj/mecha/M) return -//If a mob logouts/logins in side of an object you can use this proc -/atom/proc/on_log(login) - if(loc) - loc.on_log(login) +//If a mob logouts/logins in side of an object you can use this proc +/atom/proc/on_log(login) + if(loc) + loc.on_log(login) /* diff --git a/code/game/atoms.dm.rej b/code/game/atoms.dm.rej deleted file mode 100644 index d90cdba73e..0000000000 --- a/code/game/atoms.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/game/atoms.dm b/code/game/atoms.dm (rejected hunks) -@@ -267,6 +267,7 @@ - return - - /atom/proc/ex_act(severity, target) -+ set waitfor = FALSE - contents_explosion(severity, target) - - /atom/proc/blob_act(obj/structure/blob/B) diff --git a/code/game/objects/items/weapons/implants/implant_explosive.dm.rej b/code/game/objects/items/weapons/implants/implant_explosive.dm.rej deleted file mode 100644 index 20a7e3ef42..0000000000 --- a/code/game/objects/items/weapons/implants/implant_explosive.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/items/weapons/implants/implant_explosive.dm b/code/game/objects/items/weapons/implants/implant_explosive.dm (rejected hunks) -@@ -47,7 +47,7 @@ - message_admins("[key_name_admin(imp_in)]? (FLW) has activated their [name] at [A.name] (JMP).") - //If the delay is short, just blow up already jeez - if(delay <= 7) -- SSexplosion.Create(src,heavy,medium,weak,weak, flame_range = weak) -+ explosion(src,heavy,medium,weak,weak, flame_range = weak) - if(imp_in) - imp_in.gib(1) - qdel(src) diff --git a/code/modules/admin/admin_verbs.dm.rej b/code/modules/admin/admin_verbs.dm.rej deleted file mode 100644 index 0f2208d091..0000000000 --- a/code/modules/admin/admin_verbs.dm.rej +++ /dev/null @@ -1,24 +0,0 @@ -diff a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm (rejected hunks) -@@ -515,11 +515,11 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) - var/flash_range = input("Flash range (in tiles):") as null|num - if(flash_range == null) - return -- if(devastation_range > SSexplosion.devastation_cap || heavy_impact_range > SSexplosion.heavy_cap || light_impact_range > SSexplosion.light_cap || flash_range > SSexplosion.flash_cap) -+ if(devastation_range > GLOB.MAX_EX_DEVESTATION_RANGE || heavy_impact_range > GLOB.MAX_EX_HEAVY_RANGE || light_impact_range > GLOB.MAX_EX_LIGHT_RANGE || flash_range > GLOB.MAX_EX_FLASH_RANGE) - if(alert("Bomb is bigger than the maxcap. Continue?",,"Yes","No") != "Yes") - return - epicenter = mob.loc //We need to reupdate as they may have moved again -- SSexplosion.Create(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, TRUE, TRUE) -+ explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, TRUE, TRUE) - message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") - log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") - feedback_add_details("admin_verb","Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -@@ -532,7 +532,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, AVerbsHideable()) - var/ex_power = input("Explosive Power:") as null|num - var/turf/epicenter = mob.loc - if(ex_power && epicenter) -- SSexplosion.CreateDynamic(epicenter, ex_power) -+ dyn_explosion(epicenter, ex_power) - message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") - log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") - feedback_add_details("admin_verb","Drop Dynamic Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/secrets.dm.rej b/code/modules/admin/secrets.dm.rej deleted file mode 100644 index de958c8ab0..0000000000 --- a/code/modules/admin/secrets.dm.rej +++ /dev/null @@ -1,29 +0,0 @@ -diff a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm (rejected hunks) -@@ -386,19 +386,19 @@ - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","BC") - -- var/newBombCap = input(usr,"What would you like the new bomb cap to be. (entered as the light damage range (the 3rd number in common (1,2,3) notation)) Must be above 4)", "New Bomb Cap", SSexplosion.light_cap) as num|null -+ var/newBombCap = input(usr,"What would you like the new bomb cap to be. (entered as the light damage range (the 3rd number in common (1,2,3) notation)) Must be above 4)", "New Bomb Cap", GLOB.MAX_EX_LIGHT_RANGE) as num|null - if (newBombCap < 4) - return - -- SSexplosion.devastation_cap = round(newBombCap/4) -- SSexplosion.heavy_cap = round(newBombCap/2) -- SSexplosion.light_cap = newBombCap -+ GLOB.MAX_EX_DEVESTATION_RANGE = round(newBombCap/4) -+ GLOB.MAX_EX_HEAVY_RANGE = round(newBombCap/2) -+ GLOB.MAX_EX_LIGHT_RANGE = newBombCap - //I don't know why these are their own variables, but fuck it, they are. -- SSexplosion.flash_cap = newBombCap -- SSexplosion.flame_cap = newBombCap -+ GLOB.MAX_EX_FLASH_RANGE = newBombCap -+ GLOB.MAX_EX_FLAME_RANGE = newBombCap - -- message_admins("[key_name_admin(usr)] changed the bomb cap to [SSexplosion.devastation_cap], [SSexplosion.heavy_cap], [SSexplosion.light_cap]") -- log_admin("[key_name(usr)] changed the bomb cap to [SSexplosion.devastation_cap], [SSexplosion.heavy_cap], [SSexplosion.light_cap]") -+ message_admins("[key_name_admin(usr)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") -+ log_admin("[key_name(usr)] changed the bomb cap to [GLOB.MAX_EX_DEVESTATION_RANGE], [GLOB.MAX_EX_HEAVY_RANGE], [GLOB.MAX_EX_LIGHT_RANGE]") - - - if("lightsout") diff --git a/code/modules/admin/verbs/randomverbs.dm.rej b/code/modules/admin/verbs/randomverbs.dm.rej deleted file mode 100644 index c1defb8299..0000000000 --- a/code/modules/admin/verbs/randomverbs.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm (rejected hunks) -@@ -557,7 +557,7 @@ Traitors and the like can also be revived with the previous role mostly intact. - if (alert(src, "Are you sure you want to do this? It will laaag.", "Confirmation", "Yes", "No") == "No") - return - -- SSexplosion.Create(O, devastation, heavy, light, flash, null, null,flames) -+ explosion(O, devastation, heavy, light, flash, null, null,flames) - log_admin("[key_name(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") - message_admins("[key_name_admin(usr)] created an explosion ([devastation],[heavy],[light],[flames]) at ([O.x],[O.y],[O.z])") - feedback_add_details("admin_verb","Explosion") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm.rej b/code/modules/mob/living/carbon/human/species_types/golems.dm.rej deleted file mode 100644 index daa843bd29..0000000000 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm (rejected hunks) -@@ -72,7 +72,7 @@ - special_names = list("Flood","Fire","Bar","Man") - - /datum/species/golem/plasma/spec_death(gibbed, mob/living/carbon/human/H) -- SSexplosion.Create(get_turf(H),0,1,2,flame_range = 5) -+ explosion(get_turf(H),0,1,2,flame_range = 5) - if(H) - H.gib() - diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej deleted file mode 100644 index e3e4d69862..0000000000 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm (rejected hunks) -@@ -130,7 +130,7 @@ Difficulty: Medium - playsound(T,'sound/magic/Fireball.ogg', 200, 1) - new /obj/effect/overlay/temp/fireball(T) - sleep(12) -- SSexplosion.Create(T, 0, 0, 1, 0, 0, 0, 1) -+ explosion(T, 0, 0, 1, 0, 0, 0, 1) - - /mob/living/simple_animal/hostile/megafauna/dragon/OpenFire() - anger_modifier = Clamp(((maxHealth - health)/50),0,20) diff --git a/code/modules/power/supermatter/supermatter.dm.rej b/code/modules/power/supermatter/supermatter.dm.rej deleted file mode 100644 index 498697c4d7..0000000000 --- a/code/modules/power/supermatter/supermatter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm (rejected hunks) -@@ -174,7 +174,7 @@ - S.consume(src) - else - investigate_log("has exploded.", "supermatter") -- SSexplosion.Create(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1) -+ explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1) - if(power > CRITICAL_POWER_PENALTY_THRESHOLD) - investigate_log("has spawned additional energy balls.", "supermatter") - var/obj/singularity/energy_ball/E = new(T) diff --git a/code/modules/research/experimentor.dm.rej b/code/modules/research/experimentor.dm.rej deleted file mode 100644 index 9912e8e956..0000000000 --- a/code/modules/research/experimentor.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm (rejected hunks) -@@ -352,7 +352,7 @@ - FB.fire() - else if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!") -- SSexplosion.Create(src.loc, -1, 0, 0, 0, 0, flame_range = 2) -+ explosion(src.loc, -1, 0, 0, 0, 0, flame_range = 2) - investigate_log("Experimentor started a fire.", "experimentor") - ejectItem(TRUE) - else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) diff --git a/tgstation.dme b/tgstation.dme index b4d861adfb..61e3f83f56 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -246,6 +246,7 @@ #include "code\datums\dna.dm" #include "code\datums\dog_fashion.dm" #include "code\datums\emotes.dm" +#include "code\datums\explosion.dm" #include "code\datums\forced_movement.dm" #include "code\datums\holocall.dm" #include "code\datums\hud.dm" diff --git a/tgstation.dme.rej b/tgstation.dme.rej deleted file mode 100644 index 1c776c32bd..0000000000 --- a/tgstation.dme.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/tgstation.dme b/tgstation.dme (rejected hunks) -@@ -212,6 +211,7 @@ - #include "code\datums\dna.dm" - #include "code\datums\dog_fashion.dm" - #include "code\datums\emotes.dm" -+#include "code\datums\explosion.dm" - #include "code\datums\forced_movement.dm" - #include "code\datums\hud.dm" - #include "code\datums\map_config.dm"