diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index c7acc705150..58160cf9fb4 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -26,6 +26,31 @@ empulse(location, round(created_volume / 24), round(created_volume / 14), 1) holder.clear_reagents() +/datum/chemical_reaction/beesplosion + name = "Bee Explosion" + id = "beesplosion" + result = null + required_reagents = list("honey" = 1, "strange_reagent" = 1, "radium" = 1) + result_amount = 1 + +/datum/chemical_reaction/beesplosion/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + if(created_volume < 5) + playsound(location,'sound/effects/sparks1.ogg', 100, 1) + else + playsound(location,'sound/creatures/bee.ogg', 100, 1) + var/list/beeagents = list() + for(var/X in holder.reagent_list) + var/datum/reagent/R = X + if(R.id in required_reagents) + 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/new_bee = new(location) + if(LAZYLEN(beeagents)) + new_bee.assign_reagent(pick(beeagents)) + /datum/chemical_reaction/nitroglycerin name = "Nitroglycerin" id = "nitroglycerin" diff --git a/sound/creatures/bee.ogg b/sound/creatures/bee.ogg new file mode 100644 index 00000000000..ea8dcc2b369 Binary files /dev/null and b/sound/creatures/bee.ogg differ