Optmizes handle_mutations_and_radiation

Saving about 90% CPU power on blank humanoids
This commit is contained in:
joep van der velden
2021-05-06 22:36:51 +02:00
parent d4a6a4bcc8
commit dbb153339f
7 changed files with 25 additions and 27 deletions
+7 -4
View File
@@ -114,18 +114,21 @@
if(G.block)
if(G.block in blocks_assigned)
warning("DNA2: Gene [G.name] trying to use already-assigned block [G.block] (used by [english_list(blocks_assigned[G.block])])")
GLOB.dna_mutations.Add(G)
GLOB.dna_mutations[mutation_type] = G
var/list/assignedToBlock[0]
if(blocks_assigned[G.block])
assignedToBlock=blocks_assigned[G.block]
assignedToBlock = blocks_assigned[G.block]
assignedToBlock.Add(G.name)
blocks_assigned[G.block]=assignedToBlock
blocks_assigned[G.block] = assignedToBlock
//testing("DNA2: Gene [G.name] assigned to block [G.block].")
else
qdel(G)
// I WILL HAVE A LIST OF MUTATIONS THAT MATCHES THE RANDOMIZED BLOCKS GODDAMNIT!
for(var/block in 1 to DNA_SE_LENGTH)
var/name = GLOB.assigned_blocks[block]
for(var/datum/mutation/mutation in GLOB.dna_mutations)
for(var/mutation_type in GLOB.dna_mutations)
var/datum/mutation/mutation = GLOB.dna_mutations[mutation_type]
if(mutation.name == name || mutation.block == block)
if(mutation.block in GLOB.assigned_mutation_blocks)
warning("DNA2: Mutation [mutation.name] trying to add to already assigned gene block list (used by [english_list(GLOB.assigned_mutation_blocks[block])])")