Slime Catalyst

Modifies the gold slime reaction to provide a catalyst instead of random
xenos.
This commit is contained in:
skull132
2014-09-08 18:46:51 +03:00
parent 934b4b4a3f
commit 3057cccda8
3 changed files with 88 additions and 37 deletions
+46 -36
View File
@@ -340,7 +340,51 @@
if(istype(src, /mob/living/carbon/slime/adult))
if(!client)
for(var/i=1,i<=4,i++)
if(prob(70))
if(catalyst == 0)
if(prob(70))
var/mob/living/carbon/slime/M = new primarytype(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
else
var/mutations = pick("one","two","three","four")
switch(mutations)
if("one")
var/mob/living/carbon/slime/M = new mutationone(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("two")
var/mob/living/carbon/slime/M = new mutationtwo(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("three")
var/mob/living/carbon/slime/M = new mutationthree(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("four")
var/mob/living/carbon/slime/M = new mutationfour(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
else
var/mob/living/carbon/slime/M = new primarytype(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
@@ -348,41 +392,6 @@
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
else
var/mutations = pick("one","two","three","four")
switch(mutations)
if("one")
var/mob/living/carbon/slime/M = new mutationone(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("two")
var/mob/living/carbon/slime/M = new mutationtwo(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("three")
var/mob/living/carbon/slime/M = new mutationthree(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
if("four")
var/mob/living/carbon/slime/M = new mutationfour(loc)
M.powerlevel = round(powerlevel/4)
M.Friends = Friends
M.tame = tame
M.rabid = rabid
M.Discipline = Discipline
if(i != 1) step_away(M,src)
del(src)
@@ -395,6 +404,7 @@
A.Friends = Friends
A.tame = tame
A.rabid = rabid
A.catalyst = catalyst
del(src)
@@ -51,6 +51,9 @@
var/adulttype = /mob/living/carbon/slime/adult
var/coretype = /obj/item/slime_extract/grey
///////////GOLD SLIME CATALYST VAR
var/catalyst = 0
/mob/living/carbon/slime/adult
name = "adult slime"
icon = 'icons/mob/slimes.dmi'
@@ -810,6 +813,32 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
M.cores = 3
del (src)
////////Slime Catalyst. Makes it halve into slimes of the same type.
/obj/item/weapon/slimecatalyst
name = "slime catalyst"
desc = "A potent chemical mixture that will influence a slime's splitting behaviour."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
attack(mob/living/carbon/slime/M as mob, mob/user as mob)
if(!istype(M, /mob/living/carbon/slime))//If target is not a slime.
user << "\red The steroid only works on baby slimes!"
return ..()
if(istype(M, /mob/living/carbon/slime/adult)) //Can't tame adults
user << "\red Only baby slimes can use the steroid!"
return..()
if(M.stat)
user << "\red The slime is dead!"
return..()
if(M.catalyst == 1)
user <<"\red The slime has already been fed a catalyst!"
return..()
user <<"You feed the slime the catalyst. It's core now glows golden."
M.catalyst = 1
del (src)
////////Adamantine Golem stuff I dunno where else to put it
+13 -1
View File
@@ -1067,7 +1067,7 @@ datum
name = "Slime Crit"
id = "m_tele"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("water" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
@@ -1106,6 +1106,18 @@ datum
step(C, pick(NORTH,SOUTH,EAST,WEST))
// for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
// O.show_message(text("\red The slime core fizzles disappointingly,"), 1)
slimecatalyst
name = "slime catalyst"
id = "m_catalyst"
result = null
required_reagents = list("plasma" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/gold
required_other = 1
on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/slimecatalyst/P = new /obj/item/weapon/slimecatalyst
P.loc = get_turf_loc(holder.my_atom)
/*
slimecritlesser
name = "Slime Crit Lesser"