mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
SAY HELO TO DNA2, N3X15'S AWFUL FUCKING RECODE OF DNA
This commit is contained in:
@@ -1357,9 +1357,14 @@ mob/living/carbon/human/yank_out_object()
|
||||
else
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
|
||||
//testing("Mutations = "+english_list(mutations))
|
||||
mutations+=species.default_mutations
|
||||
//testing("SpeciesMut + Mutations = "+english_list(mutations))
|
||||
if(species.default_mutations.len>0)
|
||||
var/needs_update=0
|
||||
for(var/mutation in species.default_mutations)
|
||||
if(!(mutation in mutations))
|
||||
mutations.Add(mutation)
|
||||
needs_update=1
|
||||
if(needs_update)
|
||||
check_mutations=1 // Can't check here or shit will happen. Bad shit.
|
||||
|
||||
spawn(0)
|
||||
update_icons()
|
||||
|
||||
@@ -57,4 +57,6 @@
|
||||
|
||||
var/mob/remoteview_target = null
|
||||
|
||||
var/meatleft = 3 //For chef item
|
||||
var/meatleft = 3 //For chef item
|
||||
|
||||
var/check_mutations=0 // Check mutations on next life tick
|
||||
@@ -65,6 +65,12 @@
|
||||
var/obj/location_as_object = loc
|
||||
location_as_object.handle_internal_lifeform(src, 0)
|
||||
|
||||
if(check_mutations)
|
||||
testing("Updating [src.real_name]'s mutations: "+english_list(mutations))
|
||||
domutcheck(src,null)
|
||||
update_mutations()
|
||||
check_mutations=0
|
||||
|
||||
//Updates the number of stored chemicals for powers
|
||||
handle_changeling()
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
// For grays
|
||||
var/max_hurt_damage = 5 // Max melee damage dealt + 5 if hulk
|
||||
var/default_mutations = list()
|
||||
var/list/default_mutations = list()
|
||||
|
||||
var/flags = 0 // Various specific features.
|
||||
|
||||
|
||||
@@ -392,7 +392,7 @@ Round Duration: [round(hours)]h [round(mins)]m<br>"}
|
||||
new_character.dna.b_type = client.prefs.b_type
|
||||
|
||||
if(client.prefs.disabilities & DISABILITY_FLAG_NEARSIGHTED)
|
||||
new_character.dna.struc_enzymes = setblock(new_character.dna.struc_enzymes,GLASSESBLOCK,toggledblock(getblock(new_character.dna.struc_enzymes,GLASSESBLOCK,3)),3)
|
||||
new_character.dna.SetSEState(GLASSESBLOCK,1,1)
|
||||
new_character.disabilities |= NEARSIGHTED
|
||||
|
||||
if(client.prefs.disabilities & DISABILITY_FLAG_FAT)
|
||||
@@ -400,13 +400,15 @@ Round Duration: [round(hours)]h [round(mins)]m<br>"}
|
||||
new_character.overeatduration = 600 // Max overeat
|
||||
|
||||
if(client.prefs.disabilities & DISABILITY_FLAG_EPILEPTIC)
|
||||
new_character.dna.struc_enzymes = setblock(new_character.dna.struc_enzymes,EPILEPSYBLOCK,toggledblock(getblock(new_character.dna.struc_enzymes,EPILEPSYBLOCK,3)),3)
|
||||
new_character.dna.SetSEState(EPILEPSYBLOCK,1,1)
|
||||
new_character.disabilities |= EPILEPSY
|
||||
|
||||
if(client.prefs.disabilities & DISABILITY_FLAG_DEAF)
|
||||
new_character.dna.struc_enzymes = setblock(new_character.dna.struc_enzymes,DEAFBLOCK,toggledblock(getblock(new_character.dna.struc_enzymes,DEAFBLOCK,3)),3)
|
||||
new_character.dna.SetSEState(DEAFBLOCK,1,1)
|
||||
new_character.sdisabilities |= DEAF
|
||||
|
||||
new_character.dna.UpdateSE()
|
||||
|
||||
new_character.key = key //Manually transfer the key to log them in
|
||||
|
||||
return new_character
|
||||
|
||||
@@ -218,8 +218,7 @@
|
||||
stage = 3
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
mob.dna.check_integrity()
|
||||
var/newdna = setblock(mob.dna.struc_enzymes,REMOTETALKBLOCK,toggledblock(getblock(mob.dna.struc_enzymes,REMOTETALKBLOCK,3)),3)
|
||||
mob.dna.struc_enzymes = newdna
|
||||
mob.dna.SetSEState(REMOTETALKBLOCK,1)
|
||||
domutcheck(mob, null)
|
||||
|
||||
/datum/disease2/effect/mind
|
||||
|
||||
Reference in New Issue
Block a user