Adds beesplosion chemical reaction (#39110)

A reagent reaction which creates short lived bees that take on the other reagents in the container
This commit is contained in:
Tlaltecuhtli
2018-07-23 04:05:02 -04:00
committed by Emmett Gaines
parent 4e023fbd88
commit 4ee88b2a55
3 changed files with 32 additions and 0 deletions
@@ -295,3 +295,10 @@
forceMove(beehome.drop_location())
else
..()
/mob/living/simple_animal/hostile/poison/bees/short
desc = "These bees seem unstable and won't survive for long."
/mob/living/simple_animal/hostile/poison/bees/short/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/death), 50 SECONDS)
@@ -116,6 +116,31 @@
empulse(location, round(created_volume / 12), round(created_volume / 7), 1)
holder.clear_reagents()
/datum/chemical_reaction/beesplosion
name = "Bee Explosion"
id = "beesplosion"
required_reagents = list("honey" = 1, "strange_reagent" = 1, "radium" = 1)
/datum/chemical_reaction/beesplosion/on_reaction(datum/reagents/holder, created_volume)
var/location = holder.my_atom.drop_location()
if(created_volume < 5)
playsound(location,'sound/effects/sparks1.ogg', 100, TRUE)
else
playsound(location,'sound/creatures/bee.ogg', 100, TRUE)
var/list/beeagents = list()
for(var/X in holder.reagent_list)
var/datum/reagent/R = X
if(required_reagents[R.id])
continue
beeagents += R
var/bee_amount = round(created_volume * 0.2)
for(var/i in 1 to bee_amount)
var/mob/living/simple_animal/hostile/poison/bees/short/new_bee = new(location)
if(LAZYLEN(beeagents))
new_bee.assign_reagent(pick(beeagents))
/datum/chemical_reaction/stabilizing_agent
name = "stabilizing_agent"
id = "stabilizing_agent"
Binary file not shown.