mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
Procs it, un-more's it, sticks it in a stew
This commit is contained in:
@@ -97,6 +97,15 @@
|
||||
/datum/reagent/proc/on_mob_death(mob/living/M) //use this to have chems have a "death-triggered" effect
|
||||
return
|
||||
|
||||
/datum/reagent/proc/fire_flash_log(datum/reagents/holder) //Call this whenever a chemical makes a fire flash
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
|
||||
// Called when this reagent is first added to a mob
|
||||
/datum/reagent/proc/on_mob_add(mob/living/L)
|
||||
return
|
||||
|
||||
@@ -215,16 +215,7 @@
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
holder.my_atom.visible_message("<b>The oil burns!</b>")
|
||||
fireflash(T, min(max(0, volume / 40), 8))
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
var/datum/effect_system/smoke_spread/bad/BS = new
|
||||
BS.set_up(1, 0, T)
|
||||
BS.start()
|
||||
|
||||
@@ -16,15 +16,7 @@
|
||||
return
|
||||
var/radius = min(max(0, volume / size_divisor), 8)
|
||||
fireflash_sm(T, radius, rand(temp_fire - temp_deviance, temp_fire + temp_deviance), 500)
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
fire_flash_log(holder)
|
||||
|
||||
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume)
|
||||
if(holder.chem_temp <= T0C - 50)
|
||||
@@ -65,16 +57,7 @@
|
||||
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.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
if(holder)
|
||||
holder.del_reagent(id)
|
||||
|
||||
@@ -167,16 +150,7 @@
|
||||
/datum/reagent/plasma/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature >= T0C + 100)
|
||||
fireflash(get_turf(holder.my_atom), min(max(0, volume / 10), 8))
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
if(holder)
|
||||
holder.del_reagent(id)
|
||||
|
||||
@@ -219,16 +193,7 @@
|
||||
var/datum/reagents/Holder = holder
|
||||
var/Id = id
|
||||
var/Volume = volume
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
Holder.del_reagent(Id)
|
||||
fireflash_sm(S, 0, rand(20000, 25000) + Volume * 2500, 0, 0, 1)
|
||||
|
||||
@@ -279,15 +244,7 @@
|
||||
return
|
||||
var/radius = min((volume - 3) * 0.15, 3)
|
||||
fireflash_sm(T, radius, 4500 + volume * 500, 350)
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
fire_flash_log(holder)
|
||||
|
||||
/datum/reagent/clf3/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume)
|
||||
if(method == REAGENT_TOUCH || method == REAGENT_INGEST)
|
||||
@@ -485,16 +442,7 @@
|
||||
/datum/reagent/plasma_dust/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature >= T0C + 100)
|
||||
fireflash(get_turf(holder.my_atom), min(max(0, volume / 10), 8))
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
if(holder)
|
||||
holder.del_reagent(id)
|
||||
|
||||
|
||||
@@ -20,6 +20,16 @@
|
||||
/datum/chemical_reaction/proc/on_reaction(datum/reagents/holder, created_volume)
|
||||
return
|
||||
|
||||
/datum/chemical_reaction/proc/fire_flash_log(datum/reagents/holder) //Call this whenever a chemical makes a fire flash
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
|
||||
|
||||
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE)
|
||||
if(holder && holder.my_atom)
|
||||
var/atom/A = holder.my_atom
|
||||
|
||||
@@ -82,16 +82,7 @@
|
||||
min_temp = T0C + 150
|
||||
|
||||
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
fireflash(holder.my_atom, 1, 7000)
|
||||
|
||||
/datum/chemical_reaction/sorium
|
||||
@@ -240,16 +231,7 @@
|
||||
mix_message = "The substance erupts into wild flames."
|
||||
|
||||
/datum/chemical_reaction/phlogiston_fire/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.my_atom)
|
||||
if(holder.my_atom.fingerprintslast)
|
||||
var/mob/M = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/more = ""
|
||||
if(M)
|
||||
more = " "
|
||||
add_attack_logs(M, COORD(holder.my_atom.loc), "Caused a flashfire reaction of [id]. Last associated key is [holder.my_atom.fingerprintslast][more]", ATKLOG_FEW)
|
||||
log_game("Flashfire reaction ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].")
|
||||
holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB)
|
||||
|
||||
fire_flash_log(holder)
|
||||
fireflash(get_turf(holder.my_atom), min(max(2, round(created_volume / 10)), 8))
|
||||
|
||||
/datum/chemical_reaction/napalm
|
||||
|
||||
Reference in New Issue
Block a user