Simplified update_mutations_overlay(), we no longer rebuild the entire mutation layer with all mutations every time we get or lose a mutation. I reintroduced in on_acquiring and on_losing some code similar to the old lose_indication gain_indication procs.

Fixed lesser form changeling, when humanized via dna injector, the ling no longer keeps its Human Form power.

Simplified the racemut trick in humanize() and monkeyize().

Dna now gets qdel'd, just like reagents, when the mob gets qdel'd.

Some tiny fixes here and there.

Added a changelog.
This commit is contained in:
phil235
2015-09-22 02:14:37 +02:00
parent 069e5cdbe5
commit 2fd2f96238
10 changed files with 58 additions and 31 deletions
+1 -2
View File
@@ -43,10 +43,9 @@
if(prob(25))
if(prob(75))
randmutb(H)
H.domutcheck()
else
randmutg(H)
H.domutcheck()
H.domutcheck()
else if(istype(C, /mob/living/carbon/monkey))
var/mob/living/carbon/monkey/M = C
+1
View File
@@ -21,6 +21,7 @@
I.real_name = I.dna.real_name
I.name = I.dna.real_name
I.updateappearance(mutcolor_update=1)
I.domutcheck()
if(W.ears) I.equip_to_slot_or_del(new W.ears.type, slot_ears)
if(W.w_uniform) I.equip_to_slot_or_del(new W.w_uniform.type , slot_w_uniform)
if(W.shoes) I.equip_to_slot_or_del(new W.shoes.type, slot_shoes)
+2
View File
@@ -22,6 +22,8 @@
for(var/atom/movable/food in stomach_contents)
qdel(food)
remove_from_all_data_huds()
if(dna)
qdel(dna)
return ..()
/mob/living/carbon/Move(NewLoc, direct)
+8 -4
View File
@@ -48,8 +48,8 @@
if(tr_flags & TR_KEEPSE)
O.dna.struc_enzymes = dna.struc_enzymes
var/datum/mutation/human/race/R = mutations_list[RACEMUT] //we don't want to keep the race block inactive
O.dna.struc_enzymes = setblock(O.dna.struc_enzymes, R.dna_block, random_string(DNA_BLOCK_SIZE, list("8","9","a","b","c","d","e", "f")))
var/datum/mutation/human/race/R = mutations_list[RACEMUT]
O.dna.struc_enzymes = R.set_se(O.dna.struc_enzymes, on=1)//we don't want to keep the race block inactive
if(suiciding)
O.suiciding = suiciding
@@ -166,8 +166,8 @@
if(tr_flags & TR_KEEPSE)
O.dna.struc_enzymes = dna.struc_enzymes
var/datum/mutation/human/race/R = mutations_list[RACEMUT] //we don't want to keep the race block active
O.dna.struc_enzymes = setblock(O.dna.struc_enzymes, R.dna_block, random_string(DNA_BLOCK_SIZE, list("0","1","2","3","4","5","6")))
var/datum/mutation/human/race/R = mutations_list[RACEMUT]
O.dna.struc_enzymes = R.set_se(O.dna.struc_enzymes, on=0)//we don't want to keep the race block active
O.domutcheck()
if(suiciding)
@@ -208,6 +208,10 @@
if(mind)
mind.transfer_to(O)
if(O.mind.changeling)
for(var/obj/effect/proc_holder/changeling/humanform/HF in O.mind.changeling.purchasedpowers)
mind.changeling.purchasedpowers -= HF
O.a_intent = "help"
if (tr_flags & TR_DEFAULTMSG)
O << "<B>You are now a human.</B>"