Shit catches on fire now

This commit is contained in:
Rob Nelson
2014-07-18 02:03:51 -07:00
parent b6f03d16d1
commit 8d62fd1297
14 changed files with 66 additions and 17 deletions

View File

@@ -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)

View File

@@ -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))

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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"

View File

@@ -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

View File

@@ -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))))))

View File

@@ -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()

View File

@@ -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