Added three new slime reactions.

Made slimes emote less often.

Found a better way to fix the runtimes I'd been getting, most cores delete on being used again.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5474 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Kortgstation@gmail.com
2013-01-05 18:20:10 +00:00
parent 14643c9517
commit 49b6e1c64f
3 changed files with 110 additions and 25 deletions

View File

@@ -912,9 +912,11 @@ datum
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red Infused with plasma, the core begins to quiver and grow. Soon after, a new baby slime emerges from the extract!"), 1)
O.show_message(text("\red Infused with plasma, the core begins to quiver and grow, turning into a new baby slime!"), 1)
var/mob/living/carbon/slime/S = new /mob/living/carbon/slime
S.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
slimemonkey
name = "Slime Monkey"
@@ -928,6 +930,8 @@ datum
for(var/i = 1, i <= 3, i++)
var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube
M.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
//Green
slimemutate
name = "Mutation Toxin"
@@ -954,6 +958,8 @@ datum
var/obj/item/stack/sheet/plasteel/P = new /obj/item/stack/sheet/plasteel
P.amount = 5
P.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
//Gold
slimecrit
name = "Slime Crit"
@@ -993,6 +999,8 @@ datum
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
holder.clear_reagents()
del (holder)
//Silver
slimebork
name = "Slime Bork"
@@ -1021,6 +1029,8 @@ datum
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(B, pick(NORTH,SOUTH,EAST,WEST))
holder.clear_reagents()
del (holder)
//Blue
slimefrost
@@ -1043,32 +1053,91 @@ datum
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The slime extract begins to vibrate violently !"), 1)
sleep(5)
sleep(50)
playsound(get_turf_loc(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in range (get_turf_loc(holder.my_atom), 7))
M.bodytemperature -= 140
M << "\blue You feel a chill!"
holder.clear_reagents()
del (holder)
//Orange
slimecasp
name = "Slime Capsaicin Oil"
id = "m_capsaicinoil"
result = "capsaicin"
required_reagents = list("plasma" = 5)
required_reagents = list("blood" = 5)
result_amount = 10
required_container = /obj/item/slime_extract/orange
required_other = 1
slimefire
name = "Slime fire"
id = "m_fire"
result = null
required_reagents = list("plasma" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/orange
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The slime extract begins to vibrate violently !"), 1)
sleep(50)
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
if(target_tile.parent && target_tile.parent.group_processing)
target_tile.parent.suspend_group_processing()
var/datum/gas_mixture/napalm = new
napalm.toxins = 25
napalm.temperature = 1400
target_tile.assume_air(napalm)
spawn (0) target_tile.hotspot_expose(700, 400)
holder.clear_reagents()
del (holder)
//Yellow
slimeoverload
name = "Slime EMP"
id = "m_emp"
result = null
required_reagents = list("plasma" = 5)
required_reagents = list("blood" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
on_reaction(var/datum/reagents/holder, var/created_volume)
empulse(get_turf_loc(holder.my_atom), 3, 7)
holder.clear_reagents()
del (holder)
slimecell
name = "Slime Powercell"
id = "m_cell"
result = null
required_reagents = list("plasma" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
on_reaction(var/datum/reagents/holder, var/created_volume)
var/obj/item/weapon/cell/slime/P = new /obj/item/weapon/cell/slime
P.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
slimeglow
name = "Slime Glow"
id = "m_glow"
result = null
required_reagents = list("water" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/yellow
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The slime begins to emit a soft light."), 1)
var/obj/item/slime_extract/yellow/Y = holder
Y.luminosity = 6
//Purple
slimepsteroid
@@ -1082,6 +1151,8 @@ datum
on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/slimesteroid/P = new /obj/item/weapon/slimesteroid
P.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
@@ -1108,32 +1179,34 @@ datum
var/obj/item/stack/sheet/mineral/plasma/P = new /obj/item/stack/sheet/mineral/plasma
P.amount = 10
P.loc = get_turf_loc(holder.my_atom)
holder.clear_reagents()
del (holder)
//Red
slimefire
name = "Slime fire"
id = "m_fire"
result = null
slimeglycerol
name = "Slime Glycerol"
id = "m_glycerol"
result = "glycerol"
required_reagents = list("plasma" = 5)
result_amount = 8
required_container = /obj/item/slime_extract/red
required_other = 1
slimebloodlust
name = "Bloodlust"
id = "m_bloodlust"
result = null
required_reagents = list("blood" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/red
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The slime extract begins to vibrate violently !"), 1)
sleep(5)
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
if(target_tile.parent && target_tile.parent.group_processing)
target_tile.parent.suspend_group_processing()
var/datum/gas_mixture/napalm = new
napalm.toxins = 25
napalm.temperature = 1400
target_tile.assume_air(napalm)
spawn (0) target_tile.hotspot_expose(700, 400)
for(var/mob/living/carbon/slime/slime in viewers(get_turf_loc(holder.my_atom), null))
slime.tame = 0
slime.rabid = 1
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The [slime] is driven into a frenzy!."), 1)
//Pink
slimeppotion