SAY HELO TO DNA2, N3X15'S AWFUL FUCKING RECODE OF DNA

This commit is contained in:
Rob Nelson
2013-11-29 03:19:32 -08:00
parent 2a6807a447
commit 43144dbad0
13 changed files with 851 additions and 133 deletions

View File

@@ -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()

View File

@@ -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

View File

@@ -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()

View File

@@ -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.

View File

@@ -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

View File

@@ -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