mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
that's a lot of fire
This commit is contained in:
@@ -1126,7 +1126,7 @@
|
||||
/datum/reagent/consumable/ethanol/dragons_breath/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == INGEST && prob(20))
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(3)
|
||||
M.adjust_fire_stacks(6)
|
||||
|
||||
/datum/reagent/consumable/ethanol/dragons_breath/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
@@ -1148,7 +1148,7 @@
|
||||
if(prob(2 * volume))
|
||||
to_chat(M, "<span class='userdanger'>OH GOD OH GOD PLEASE NO!!</b></span>")
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(5)
|
||||
M.adjust_fire_stacks(20)
|
||||
if(prob(50))
|
||||
to_chat(M, "<span class='userdanger'>IT BURNS!!!!</span>")
|
||||
M.visible_message("<span class='danger'>[M] is consumed in flames!</span>")
|
||||
|
||||
@@ -1,3 +1,80 @@
|
||||
/datum/reagent/phlogiston
|
||||
name = "phlogiston"
|
||||
id = "phlogiston"
|
||||
description = "It appears to be liquid fire."
|
||||
reagent_state = LIQUID
|
||||
color = "#FFAF00"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
var/temp_fire = 4000
|
||||
var/temp_deviance = 1000
|
||||
var/size_divisor = 40
|
||||
var/mob_burning = 6.6 // 33
|
||||
|
||||
/datum/reagent/phlogiston/reaction_turf(turf/T, volume)
|
||||
if(holder.chem_temp <= T0C - 50)
|
||||
return
|
||||
var/radius = min(max(0, volume / size_divisor), 8)
|
||||
fireflash_sm(T, radius, rand(temp_fire - temp_deviance, temp_fire + temp_deviance), 500)
|
||||
|
||||
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method = TOUCH, volume)
|
||||
if(holder.chem_temp <= T0C - 50)
|
||||
return
|
||||
M.adjust_fire_stacks(mob_burning)
|
||||
M.IgniteMob()
|
||||
if(method == INGEST)
|
||||
M.adjustFireLoss(min(max(15, volume * 3), 45))
|
||||
to_chat(M, "<span class='warning'>It burns!</span>")
|
||||
M.emote("scream")
|
||||
|
||||
/datum/reagent/phlogiston/on_mob_life(mob/living/M)
|
||||
if(holder.chem_temp <= T0C - 50)
|
||||
return
|
||||
M.adjust_fire_stacks(0.4)
|
||||
M.IgniteMob()
|
||||
return ..()
|
||||
|
||||
/datum/reagent/phlogiston/firedust
|
||||
name = "phlogiston dust"
|
||||
id = "phlogiston_dust"
|
||||
description = "And this is solid fire. However that works."
|
||||
temp_fire = 1500
|
||||
temp_deviance = 500
|
||||
size_divisor = 80
|
||||
mob_burning = 3 // 15
|
||||
|
||||
/datum/reagent/napalm
|
||||
name = "napalm"
|
||||
id = "napalm"
|
||||
description = "A highly flammable jellied fuel."
|
||||
reagent_state = LIQUID
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
color = "#C86432"
|
||||
|
||||
/datum/reagent/napalm/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > T0C + 100)
|
||||
var/radius = min(max(0, volume * 0.15), 8)
|
||||
fireflash_sm(get_turf(holder.my_atom), radius, rand(3000, 6000), 500)
|
||||
if(holder)
|
||||
holder.del_reagent(id)
|
||||
|
||||
/datum/reagent/napalm/reaction_turf(turf/T, volume)
|
||||
if(isspaceturf(T))
|
||||
return
|
||||
if(!T.reagents)
|
||||
T.create_reagents(volume)
|
||||
T.reagents.add_reagent("napalm", volume)
|
||||
|
||||
/datum/reagent/napalm/reaction_mob(mob/living/M, method = TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(14)
|
||||
M.emote("scream")
|
||||
|
||||
/datum/reagent/napalm/on_mob_life(mob/living/M)
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(2)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/fuel
|
||||
name = "Welding fuel"
|
||||
id = "fuel"
|
||||
@@ -8,6 +85,7 @@
|
||||
drink_name = "Glass of welder fuel"
|
||||
drink_desc = "Unless you are an industrial tool, this is probably not safe for consumption."
|
||||
taste_message = "mistakes"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
var/max_radius = 7
|
||||
var/min_radius = 0
|
||||
var/volume_radius_modifier = -0.15
|
||||
@@ -19,6 +97,11 @@
|
||||
var/volume_explosion_radius_modifier = 0
|
||||
var/combustion_temp = T0C + 200
|
||||
|
||||
/datum/reagent/fuel/on_mob_life(mob/living/M)
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(0.4)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/fuel/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > combustion_temp)
|
||||
if(volume < 1)
|
||||
@@ -48,9 +131,8 @@
|
||||
|
||||
/datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with welding fuel to make them easy to ignite!
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(volume / 10)
|
||||
return
|
||||
..()
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(6)
|
||||
|
||||
/datum/reagent/plasma
|
||||
name = "Plasma"
|
||||
@@ -76,10 +158,10 @@
|
||||
C.adjustPlasma(10)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/plasma/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with plasma is stronger than fuel!
|
||||
/datum/reagent/plasma/reaction_mob(mob/living/M, method = TOUCH, volume)//Splashing people with plasma is stronger than fuel!
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(volume / 5)
|
||||
..()
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(6)
|
||||
|
||||
|
||||
/datum/reagent/thermite
|
||||
@@ -91,6 +173,11 @@
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
taste_message = "rust"
|
||||
|
||||
/datum/reagent/thermite/reaction_mob(mob/living/M, method= TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(20)
|
||||
|
||||
/datum/reagent/thermite/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
var/turf/simulated/S = holder.my_atom
|
||||
if(!istype(S))
|
||||
@@ -140,11 +227,9 @@
|
||||
taste_message = null
|
||||
|
||||
/datum/reagent/clf3/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
M.adjust_fire_stacks(2)
|
||||
var/burndmg = max(0.3*M.fire_stacks, 0.3)
|
||||
update_flags |= M.adjustFireLoss(burndmg, FALSE)
|
||||
return ..() | update_flags
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(1)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/clf3/reaction_turf(turf/T, volume)
|
||||
if(volume < 3)
|
||||
@@ -152,11 +237,14 @@
|
||||
var/radius = min((volume - 3) * 0.15, 3)
|
||||
fireflash_sm(T, radius, 4500 + volume * 500, 350)
|
||||
|
||||
/datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(min(volume/5, 10))
|
||||
/datum/reagent/clf3/reaction_mob(mob/living/M, method = TOUCH, volume)
|
||||
if(method == TOUCH || method == INGEST)
|
||||
M.adjust_fire_stacks(10)
|
||||
M.IgniteMob()
|
||||
M.bodytemperature += 30
|
||||
if(method == INGEST)
|
||||
M.adjustFireLoss(min(max(30, volume * 6), 90))
|
||||
to_chat(M, "<span class='warning'>It burns!</span>")
|
||||
M.emote("scream")
|
||||
|
||||
/datum/reagent/sorium
|
||||
name = "Sorium"
|
||||
@@ -224,6 +312,7 @@
|
||||
description = "Makes a very bright flash."
|
||||
reagent_state = LIQUID
|
||||
color = "#FFFF00"
|
||||
penetrates_skin = TRUE
|
||||
|
||||
/datum/reagent/smoke_powder
|
||||
name = "Smoke Powder"
|
||||
@@ -238,42 +327,7 @@
|
||||
description = "Makes a deafening noise."
|
||||
reagent_state = LIQUID
|
||||
color = "#0000FF"
|
||||
|
||||
/datum/reagent/phlogiston
|
||||
name = "Phlogiston"
|
||||
id = "phlogiston"
|
||||
description = "Catches you on fire and makes you ignite."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF9999"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/reagent/phlogiston/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
M.adjust_fire_stacks(1)
|
||||
var/burndmg = max(0.3*M.fire_stacks, 0.3)
|
||||
update_flags |= M.adjustFireLoss(burndmg, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
M.adjust_fire_stacks(1)
|
||||
M.IgniteMob()
|
||||
..()
|
||||
|
||||
/datum/reagent/napalm
|
||||
name = "Napalm"
|
||||
id = "napalm"
|
||||
description = "Very flammable."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF9999"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/reagent/napalm/on_mob_life(mob/living/M)
|
||||
M.adjust_fire_stacks(1)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/napalm/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(min(volume/4, 20))
|
||||
penetrates_skin = TRUE
|
||||
|
||||
/datum/reagent/cryostylane
|
||||
name = "Cryostylane"
|
||||
@@ -296,6 +350,10 @@
|
||||
holder.temperature_reagents(holder.chem_temp - 200)
|
||||
..()
|
||||
|
||||
/datum/reagent/cryostylane/reaction_mob(mob/living/M, method = TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.ExtinguishMob()
|
||||
|
||||
/datum/reagent/cryostylane/reaction_turf(turf/T, volume)
|
||||
if(volume >= 5)
|
||||
for(var/mob/living/carbon/slime/M in T)
|
||||
@@ -333,8 +391,7 @@
|
||||
/datum/reagent/firefighting_foam/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
// Put out fire
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(-(volume / 5)) // more effective than water
|
||||
M.ExtinguishMob()
|
||||
M.adjust_fire_stacks(-10) // more effective than water
|
||||
|
||||
/datum/reagent/firefighting_foam/reaction_obj(obj/O, volume)
|
||||
O.extinguish()
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
// Put out fire
|
||||
M.adjust_fire_stacks(-(volume / 10))
|
||||
M.ExtinguishMob()
|
||||
M.adjust_fire_stacks(-(volume * 0.2))
|
||||
if(ishuman(M))
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -212,6 +212,40 @@ datum/chemical_reaction/flash_powder
|
||||
continue
|
||||
C.Stun(5)
|
||||
|
||||
/datum/chemical_reaction/phlogiston
|
||||
name = "Phlogiston"
|
||||
id = "phlogiston"
|
||||
result = "phlogiston"
|
||||
required_reagents = list("phosphorus" = 1, "plasma" = 1, "sacid" = 1, "stabilizing_agent" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "The substance becomes sticky and extremely warm."
|
||||
|
||||
/datum/chemical_reaction/phlogiston_dust
|
||||
name = "Phlogiston Dust"
|
||||
id = "phlogiston_dust"
|
||||
result = "phlogiston_dust"
|
||||
required_reagents = list("phlogiston" = 1, "charcoal" = 1, "phosphorus" = 1, "sulfur" = 1)
|
||||
result_amount = 2
|
||||
mix_message = "The substance becomes a pile of burning dust."
|
||||
|
||||
/datum/chemical_reaction/phlogiston_fire //This MUST be above the smoke recipe.
|
||||
name = "Phlogiston Fire"
|
||||
id = "phlogiston_fire"
|
||||
result = "phlogiston"
|
||||
required_reagents = list("phosphorus" = 1, "plasma" = 1, "sacid" = 1)
|
||||
mix_message = "The substance erupts into wild flames."
|
||||
|
||||
/datum/chemical_reaction/phlogiston_fire/on_reaction(datum/reagents/holder, created_volume)
|
||||
fireflash(get_turf(holder.my_atom), min(max(2, round(created_volume / 10)), 8))
|
||||
|
||||
/datum/chemical_reaction/napalm
|
||||
name = "Napalm"
|
||||
id = "napalm"
|
||||
result = "napalm"
|
||||
required_reagents = list("fuel" = 1, "sugar" = 1, "ethanol" = 1)
|
||||
result_amount = 3
|
||||
mix_message = "The mixture congeals into a sticky gel."
|
||||
|
||||
/datum/chemical_reaction/smoke_powder
|
||||
name = "smoke_powder"
|
||||
id = "smoke_powder"
|
||||
@@ -337,28 +371,6 @@ datum/chemical_reaction/flash_powder
|
||||
if(ears.ear_damage >= 5)
|
||||
to_chat(M, "<span class='warning'>Your ears start to ring!</span>")
|
||||
|
||||
|
||||
/datum/chemical_reaction/phlogiston
|
||||
name = "phlogiston"
|
||||
id = "phlogiston"
|
||||
result = "phlogiston"
|
||||
required_reagents = list("phosphorus" = 1, "sacid" = 1, "plasma" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
var/turf/simulated/T = get_turf(holder.my_atom)
|
||||
for(var/turf/simulated/turf in range(min(created_volume/10,4),T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
|
||||
/datum/chemical_reaction/napalm
|
||||
name = "Napalm"
|
||||
id = "napalm"
|
||||
result = "napalm"
|
||||
required_reagents = list("sugar" = 1, "fuel" = 1, "ethanol" = 1 )
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/cryostylane
|
||||
name = "cryostylane"
|
||||
id = "cryostylane"
|
||||
|
||||
Reference in New Issue
Block a user