Refactors DNA Mutations; Refactors Mutations to use Traits (#15483)

* Refactors Mutations

* traits

* more work

* styling fix

* yet even more work

* oh hush

* almost there

* it continues yet further

* and that's genetics done

* and that's it folks

* last bit and golem fixup

* oof

* oops

* tweaks and fixes

* styling
This commit is contained in:
Fox McCloud
2021-02-21 16:25:19 -05:00
committed by GitHub
parent 324af7454c
commit 02b9445b9b
223 changed files with 2908 additions and 3049 deletions
+1 -1
View File
@@ -222,7 +222,7 @@ GLOBAL_VAR_INIT(nologevent, 0)
body += "<br><br>"
body += "<b>DNA Blocks:</b><br><table border='0'><tr><th>&nbsp;</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th>"
var/bname
for(var/block=1;block<=DNA_SE_LENGTH;block++)
for(var/block in 1 to DNA_SE_LENGTH)
if(((block-1)%5)==0)
body += "</tr><tr><th>[block-1]</th>"
bname = GLOB.assigned_blocks[block]
+7 -7
View File
@@ -2087,15 +2087,15 @@
logmsg = "a heal over time."
if("Permanent Regeneration")
H.dna.SetSEState(GLOB.regenerateblock, 1)
genemutcheck(H, GLOB.regenerateblock, null, MUTCHK_FORCED)
singlemutcheck(H, GLOB.regenerateblock, MUTCHK_FORCED)
H.update_mutations()
H.gene_stability = 100
logmsg = "permanent regeneration."
if("Super Powers")
var/list/default_genes = list(GLOB.regenerateblock, GLOB.breathlessblock, GLOB.coldblock)
for(var/gene in default_genes)
H.dna.SetSEState(gene, 1)
genemutcheck(H, gene, null, MUTCHK_FORCED)
var/list/default_mutations = list(GLOB.regenerateblock, GLOB.breathlessblock, GLOB.coldblock)
for(var/mutation in default_mutations)
H.dna.SetSEState(mutation, 1)
singlemutcheck(H, mutation, MUTCHK_FORCED)
H.update_mutations()
H.gene_stability = 100
logmsg = "superpowers."
@@ -2234,7 +2234,7 @@
logmsg = "starvation."
if("Cluwne")
H.makeCluwne()
H.mutations |= NOCLONE
ADD_TRAIT(H, TRAIT_BADDNA, "smiting")
logmsg = "cluwned."
if("Mutagen Cookie")
var/obj/item/reagent_containers/food/snacks/cookie/evilcookie = new /obj/item/reagent_containers/food/snacks/cookie
@@ -2255,7 +2255,7 @@
H.equip_to_slot_or_del(evilcookie, slot_l_hand)
logmsg = "a hellwater cookie."
if("Hunter")
H.mutations |= NOCLONE
ADD_TRAIT(H, TRAIT_BADDNA, "smiting")
usr.client.create_eventmob_for(H, 1)
logmsg = "hunter."
if("Crew Traitor")
+4 -4
View File
@@ -852,12 +852,12 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
if(!SSticker)
alert("Wait until the game starts")
return
if(istype(M, /mob/living/carbon))
if(ishuman(M))
M.dna.SetSEState(block,!M.dna.GetSEState(block))
genemutcheck(M,block,null,MUTCHK_FORCED)
singlemutcheck(M, block, MUTCHK_FORCED)
M.update_mutations()
var/state="[M.dna.GetSEState(block)?"on":"off"]"
var/blockname=GLOB.assigned_blocks[block]
var/state = "[M.dna.GetSEState(block) ? "on" : "off"]"
var/blockname = GLOB.assigned_blocks[block]
message_admins("[key_name_admin(src)] has toggled [M.key]'s [blockname] block [state]!")
log_admin("[key_name(src)] has toggled [M.key]'s [blockname] block [state]!")
else
+2 -1
View File
@@ -126,7 +126,8 @@ GLOBAL_VAR_INIT(sent_honksquad, 0)
equip_to_slot_or_del(new /obj/item/gun/energy/clown(src), slot_in_backpack)
else
equip_to_slot_or_del(new /obj/item/gun/throw/piecannon(src), slot_in_backpack)
src.mutations.Add(CLUMSY)
dna.SetSEState(GLOB.clumsyblock, TRUE)
singlemutcheck(src, GLOB.clumsyblock, MUTCHK_FORCED)