mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Heated plasma and AN/FO bombs (#34165)
* Heated plasma and AN/FO bombs * Heated plasma and AN/FO bombs * Heated plasma and AN/FO bombs * Heated plasma and AN/FO bombs * Heated plasma and AN/FO bombs * nip in the bud --------- Co-authored-by: SECBATON GRIFFON <sage>
This commit is contained in:
@@ -79,6 +79,8 @@
|
||||
#define SILICON "silicon"
|
||||
#define FUEL "fuel"
|
||||
#define FUELBOMB "fuelbomb"
|
||||
#define PLASMABOMB "plasmabomb"
|
||||
#define ANFOBOMB "anfobomb"
|
||||
#define VOMIT "vomit"
|
||||
#define CLEANER "cleaner"
|
||||
#define BLEACH "bleach"
|
||||
@@ -144,6 +146,7 @@
|
||||
#define SALINE "saline"
|
||||
#define GLUE "glue"
|
||||
#define DIETHYLAMINE "diethylamine"
|
||||
#define AMMONIUMNITRATE "ammoniumnitrate"
|
||||
#define ETHYLREDOXRAZINE "ethylredoxrazine"
|
||||
#define CHLORALHYDRATE "chloralhydrate"
|
||||
#define SUX "suxameth"
|
||||
|
||||
@@ -4467,6 +4467,10 @@ var/procizine_tolerance = 0
|
||||
density = 0.65
|
||||
specheatcap = 35.37
|
||||
|
||||
/datum/reagent/diethylamine/ammoniumnitrate
|
||||
name = "Ammonium Nitrate"
|
||||
id = AMMONIUMNITRATE
|
||||
|
||||
/datum/reagent/diethylamine/on_plant_life(obj/machinery/portable_atmospherics/hydroponics/T)
|
||||
if(!holder)
|
||||
return
|
||||
|
||||
@@ -583,6 +583,8 @@
|
||||
required_reagents = list(FUEL = 1)
|
||||
required_temp = AUTOIGNITION_WELDERFUEL
|
||||
result_amount = 1
|
||||
var/fire_temp = AUTOIGNITION_WELDERFUEL
|
||||
var/power = 0
|
||||
|
||||
/datum/chemical_reaction/fuelbomb/on_reaction(var/datum/reagents/holder, var/created_volume)
|
||||
if(holder.my_atom.is_open_container())
|
||||
@@ -591,17 +593,18 @@
|
||||
|
||||
for(var/turf/simulated/floor/target_tile in range(0,location))
|
||||
spawn(0)
|
||||
target_tile.hotspot_expose(AUTOIGNITION_WELDERFUEL, created_volume, surfaces = 1)
|
||||
target_tile.hotspot_expose(fire_temp, created_volume, surfaces = 1)
|
||||
|
||||
holder.del_reagent(FUEL)
|
||||
for(var/reagent in required_reagents)
|
||||
holder.del_reagent(reagent)
|
||||
else
|
||||
var/datum/effect/system/reagents_explosion/e = new()
|
||||
if(created_volume > 500)
|
||||
e.set_up(15, holder.my_atom, 0, 0, null, 1, 2, 4)
|
||||
e.set_up(15, holder.my_atom, 0, 0, null, 1+power, 2+(power*2), 4+(power*2))
|
||||
else if(created_volume > 100)
|
||||
e.set_up(9, holder.my_atom, 0, 0, null, 0, 1, 3)
|
||||
e.set_up(9, holder.my_atom, 0, 0, null, 0+power, 1+power, 3+power)
|
||||
else
|
||||
e.set_up(9, holder.my_atom, 0, 0, null, -1, 1, 2)
|
||||
e.set_up(9, holder.my_atom, 0, 0, null, -1+power, 1, 2+power)
|
||||
e.holder_damage(holder.my_atom)
|
||||
if(isliving(holder.my_atom))
|
||||
e.amount *= 0.5
|
||||
@@ -611,6 +614,23 @@
|
||||
e.start()
|
||||
holder.clear_reagents()
|
||||
|
||||
|
||||
/datum/chemical_reaction/fuelbomb/plasma
|
||||
name = "Plasma bomb"
|
||||
id = PLASMABOMB
|
||||
required_reagents = list(PLASMA = 1)
|
||||
required_temp = AUTOIGNITION_WELDERFUEL
|
||||
fire_temp = AUTOIGNITION_WELDERFUEL
|
||||
power = 1
|
||||
|
||||
/datum/chemical_reaction/fuelbomb/anfo
|
||||
name = "AN/FO bomb"
|
||||
id = ANFOBOMB
|
||||
required_reagents = list(AMMONIUMNITRATE = 16, FUEL = 1) // rough approximation of the 94%-6% mix
|
||||
required_temp = AUTOIGNITION_WELDERFUEL-1 // just for priority and to stop recipe conflicts
|
||||
fire_temp = AUTOIGNITION_WELDERFUEL
|
||||
power = 1
|
||||
|
||||
/datum/chemical_reaction/sodiumchloride
|
||||
name = "Sodium Chloride"
|
||||
id = SODIUMCHLORIDE
|
||||
@@ -1206,6 +1226,13 @@
|
||||
required_reagents = list(HYDROGEN = 3, NITROGEN = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/ammoniumnitrate
|
||||
name = "Ammonium Nitrate"
|
||||
id = AMMONIUMNITRATE
|
||||
result = AMMONIUMNITRATE
|
||||
required_reagents = list(AMMONIA = 5, CLEANER = 3, NITROGEN = 2, OXYGEN = 5)
|
||||
result_amount = 18
|
||||
|
||||
/datum/chemical_reaction/diethylamine
|
||||
name = "Diethylamine"
|
||||
id = DIETHYLAMINE
|
||||
|
||||
Reference in New Issue
Block a user