mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Shit catches on fire now
This commit is contained in:
@@ -9,8 +9,26 @@ Fill rest with super hot gas from separated canisters, they should be about 125C
|
||||
Attach to transfer valve and open. BOOM.
|
||||
|
||||
*/
|
||||
/atom
|
||||
var/autoignition_temperature = 0 // In Kelvin. 0 = Not flammable
|
||||
var/on_fire=0
|
||||
var/fire_dmi = 'icons/effects/fire.dmi'
|
||||
var/fire_sprite = "fire"
|
||||
var/ashtype = /obj/effect/decal/cleanable/ash
|
||||
|
||||
/atom/proc/ignite(var/temperature)
|
||||
on_fire=1
|
||||
visible_message("\The [src] bursts into flame!")
|
||||
overlays += image(fire_dmi,fire_sprite)
|
||||
spawn(rand(3,10) SECONDS)
|
||||
if(!on_fire)
|
||||
return
|
||||
new ashtype(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/atom/proc/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(autoignition_temperature && !on_fire && exposed_temperature > autoignition_temperature)
|
||||
ignite(exposed_temperature)
|
||||
|
||||
turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
|
||||
|
||||
|
||||
@@ -225,13 +225,10 @@
|
||||
icon = 'icons/obj/doors/Doorplasma.dmi'
|
||||
mineral = "plasma"
|
||||
|
||||
/obj/machinery/door/airlock/plasma/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
autoignition_temperature = 300
|
||||
|
||||
/obj/machinery/door/airlock/plasma/proc/ignite(exposed_temperature)
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
/obj/machinery/door/airlock/plasma/ignite(temperature)
|
||||
PlasmaBurn(temperature)
|
||||
|
||||
/obj/machinery/door/airlock/plasma/proc/PlasmaBurn(temperature)
|
||||
for(var/turf/simulated/floor/target_tile in range(2,loc))
|
||||
|
||||
@@ -122,11 +122,11 @@
|
||||
|
||||
/obj/machinery/sparker/attack_ai()
|
||||
if (src.anchored)
|
||||
return src.ignite()
|
||||
return src.spark()
|
||||
else
|
||||
return
|
||||
|
||||
/obj/machinery/sparker/proc/ignite()
|
||||
/obj/machinery/sparker/proc/spark()
|
||||
if (!(powered()))
|
||||
return
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
..(severity)
|
||||
return
|
||||
ignite()
|
||||
spark()
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/ignition_switch/attack_ai(mob/user as mob)
|
||||
@@ -177,7 +177,7 @@
|
||||
for(var/obj/machinery/sparker/M in world)
|
||||
if (M.id_tag == src.id_tag)
|
||||
spawn( 0 )
|
||||
M.ignite()
|
||||
M.spark()
|
||||
|
||||
for(var/obj/machinery/igniter/M in world)
|
||||
if(M.id_tag == src.id_tag)
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
var/mob/affecting = null
|
||||
var/deity_name = "Christ"
|
||||
|
||||
autoignition_temperature = 522 // Kelvin
|
||||
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "\red <b>[user] is farting lightly on the [src.name]! It looks like \he's trying to commit suicide!</b>"
|
||||
return (user.death(1))
|
||||
@@ -19,6 +21,8 @@
|
||||
desc = "To be applied to the head repeatedly."
|
||||
icon_state ="bible"
|
||||
|
||||
autoignition_temperature = 0 // Not actually paper
|
||||
|
||||
/obj/item/weapon/storage/bible/booze/New()
|
||||
. = ..()
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer(src)
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
item_state = "syringe_kit"
|
||||
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||
|
||||
autoignition_temperature = 522 // Kelvin
|
||||
|
||||
/obj/item/weapon/storage/box/large
|
||||
name = "large box"
|
||||
desc = "You could build a fort with this."
|
||||
@@ -37,7 +39,9 @@
|
||||
storage_slots = 21
|
||||
max_combined_w_class = 42 // 21*2
|
||||
|
||||
/obj/item/weapon/storage/box/surveillance/
|
||||
autoignition_temperature = 530 // Kelvin
|
||||
|
||||
/obj/item/weapon/storage/box/surveillance
|
||||
name = "\improper DromedaryCo packet"
|
||||
desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\""
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
@@ -52,7 +56,7 @@
|
||||
for(var/i = 1 to 5)
|
||||
new /obj/item/device/camera_bug(src)
|
||||
|
||||
/obj/item/weapon/storage/box/survival/
|
||||
/obj/item/weapon/storage/box/survival
|
||||
New()
|
||||
..()
|
||||
contents = list()
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
/turf/simulated/wall/mineral/plasma/proc/ignite(exposed_temperature)
|
||||
/turf/simulated/wall/mineral/plasma/ignite(exposed_temperature)
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
if(!src)
|
||||
return
|
||||
if(status)
|
||||
bombtank.ignite() //if its not a dud, boom (or not boom if you made shitty mix) the ignite proc is below, in this file
|
||||
bombtank.detonate() //if its not a dud, boom (or not boom if you made shitty mix) the ignite proc is below, in this file
|
||||
else
|
||||
bombtank.release()
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
R.update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/proc/ignite() //This happens when a bomb is told to explode
|
||||
/obj/item/weapon/tank/proc/detonate() //This happens when a bomb is told to explode
|
||||
var/fuel_moles = air_contents.toxins + air_contents.oxygen/6
|
||||
var/strength = 1
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
opacity = 1
|
||||
var/health = 50
|
||||
|
||||
autoignition_temperature = AUTOIGNITION_WOOD
|
||||
|
||||
/obj/structure/bookcase/initialize()
|
||||
for(var/obj/item/I in loc)
|
||||
if(istype(I, /obj/item/weapon/book))
|
||||
@@ -149,6 +151,9 @@
|
||||
w_class = 3 //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
|
||||
flags = FPRINT | TABLEPASS
|
||||
attack_verb = list("bashed", "whacked", "educated")
|
||||
|
||||
autoignition_temperature = AUTOIGNITION_PAPER
|
||||
|
||||
var/dat // Actual page content
|
||||
var/due_date = 0 // Game time in 1/10th seconds
|
||||
var/author // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
var/tod = null // Time of death
|
||||
var/update_slimes = 1
|
||||
|
||||
var/on_fire = 0 //The "Are we on fire?" var
|
||||
on_fire = 0 //The "Are we on fire?" var
|
||||
var/fire_stacks = 0 //Tracks how many stacks of fire we have on, max is usually 20
|
||||
|
||||
var/specialsauce = 0 //Has this person consumed enough special sauce? IF so they're a ticking time bomb of death.
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
w_class = 2
|
||||
pressure_resistance = 2
|
||||
|
||||
autoignition_temperature = 522 // Kelvin
|
||||
|
||||
/obj/item/weapon/folder/blue
|
||||
desc = "A blue folder."
|
||||
icon_state = "folder_blue"
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
slot_flags = SLOT_HEAD
|
||||
body_parts_covered = HEAD
|
||||
attack_verb = list("slapped")
|
||||
autoignition_temperature = AUTOIGNITION_PAPER
|
||||
|
||||
var/info //What's actually written on the paper.
|
||||
var/info_links //A different version of the paper which includes html links at fields and EOF
|
||||
|
||||
@@ -11,6 +11,19 @@
|
||||
var/amount = 30 //How much paper is in the bin.
|
||||
var/list/papers = new/list() //List of papers put in the bin for reference.
|
||||
|
||||
autoignition_temperature = 519.15 // Kelvin
|
||||
|
||||
/obj/item/weapon/paper_bin/ignite(var/temperature)
|
||||
on_fire=1
|
||||
visible_message("\The [src]'s paper bursts into flame!")
|
||||
overlays += fire_sprite
|
||||
spawn(rand(3,10) SECONDS)
|
||||
if(!on_fire)
|
||||
return
|
||||
new ashtype(src.loc)
|
||||
papers=0
|
||||
amount=0
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/paper_bin/MouseDrop(mob/user as mob)
|
||||
if((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr))))))
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
var/scribble //Scribble on the back.
|
||||
var/blueprints = 0 //Does it include the blueprints?
|
||||
|
||||
autoignition_temperature = 530 // Kelvin
|
||||
|
||||
|
||||
/obj/item/weapon/photo/attack_self(mob/user)
|
||||
examine()
|
||||
|
||||
@@ -868,3 +868,6 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse
|
||||
#define MT_ERROR -1
|
||||
#define MT_UPDATE 1
|
||||
#define MT_REINIT 2
|
||||
|
||||
#define AUTOIGNITION_WOOD 573.15
|
||||
#define AUTOIGNITION_PAPER 519.15
|
||||
Reference in New Issue
Block a user