mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
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:
committed by
Emmett Gaines
parent
4e023fbd88
commit
4ee88b2a55
@@ -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.
Reference in New Issue
Block a user