Slime Mutation Changes +new reactions

Slime mutation chance starts at a flat 27%

Slime mutation chance is now hereditary, with the new baby slimes
inheriting the mutation chance of the parent (with a variation of -5 to
+5). This allows you to cultivate slimes that are more likely to mutate
over time rather than praying to the RNG forever.

Plasma no longer causes slimes to have a higher mutation chance, and
epinephrine no longer lowers mutation chance.

Red slime extract+plasma now gives a potion that increases mutation
chace

Blue slime extract+blood now gives a potion that lowers mutation chance.

The numbers might need tweaking if this makes xenobio too fast, but
right now it is often frustrating and slow. It is more reliable and
faster to build a mech than breed slimes given the current mutation
system.
This commit is contained in:
KorPhaeron
2015-05-03 19:52:05 -05:00
parent e5f034fc0d
commit e8d42244eb
5 changed files with 96 additions and 5 deletions
@@ -147,7 +147,7 @@
temp_change = (temperature - current)
return temp_change
/mob/living/simple_animal/slime/handle_chemicals_in_body()
/*/mob/living/simple_animal/slime/handle_chemicals_in_body()
if(reagents)
reagents.metabolize(src)
@@ -159,7 +159,7 @@
mutation_chance = max(mutation_chance - 5,0) //Prevents muation chance going <0%
reagents.remove_reagent("epinephrine", 5)
updatehealth()
*/
/mob/living/simple_animal/slime/handle_regular_status_updates()
if(..())
@@ -191,6 +191,7 @@
if(i != 1) step_away(M,src)
M.Friends = Friends.Copy()
babies += M
M.mutation_chance = mutation_chance+(rand(-5,5))
feedback_add_details("slime_babies_born","slimebirth_[replacetext(M.colour," ","_")]")
var/mob/living/simple_animal/slime/new_slime = pick(babies)
@@ -40,7 +40,7 @@
status_flags = CANPARALYSE|CANPUSH
var/cores = 1 // the number of /obj/item/slime_extract's the slime has left inside
var/mutation_chance = 30 // Chance of mutating, should be between 25 and 35
var/mutation_chance = 27 // Chance of mutating, should be between 25 and 35
var/powerlevel = 0 // 1-10 controls how much electricity they are generating
var/amount_grown = 0 // controls how long the slime has been overfed, if 10, grows or reproduces
@@ -61,6 +61,7 @@
var/list/speech_buffer = list() // Last phrase said near it and person who said it
var/mood = "" // To show its face
var/mutator_used = 0 //So you can't shove a dozen mutators into a single slime
///////////TIME FOR SUBSPECIES
@@ -80,7 +81,6 @@
icon_dead = "[icon_state] dead"
real_name = name
slime_mutation = mutation_table(colour)
mutation_chance = rand(25, 35)
var/sanitizedcolour = replacetext(colour, " ", "")
coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]")
..()