mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Merge pull request #5251 from Fox-McCloud/fire-system
Implements Fire System
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/obj/item/clothing
|
||||
name = "clothing"
|
||||
burn_state = FLAMMABLE
|
||||
var/list/species_restricted = null //Only these species can wear this kit.
|
||||
var/rig_restrict_helmet = 0 // Stops the user from equipping a rig helmet without attaching it to the suit first.
|
||||
var/scan_reagents = 0 //Can the wearer see reagents while it's equipped?
|
||||
@@ -82,6 +83,7 @@
|
||||
w_class = 1
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_EARS
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/ears/attack_hand(mob/user as mob)
|
||||
if(!user) return
|
||||
@@ -139,6 +141,7 @@
|
||||
flags = EARBANGPROTECT
|
||||
strip_delay = 15
|
||||
put_on_delay = 25
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
//Glasses
|
||||
/obj/item/clothing/glasses
|
||||
@@ -155,6 +158,7 @@
|
||||
var/color_view = null//overrides client.color while worn
|
||||
strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets
|
||||
put_on_delay = 25
|
||||
burn_state = FIRE_PROOF
|
||||
species_restricted = list("exclude","Kidan")
|
||||
/*
|
||||
SEE_SELF // can see self, no matter what
|
||||
@@ -526,6 +530,7 @@ BLIND // can't see anything
|
||||
flash_protect = 2
|
||||
strip_delay = 50
|
||||
put_on_delay = 50
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/space
|
||||
name = "Space suit"
|
||||
@@ -547,6 +552,7 @@ BLIND // can't see anything
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
strip_delay = 80
|
||||
put_on_delay = 80
|
||||
burn_state = FIRE_PROOF
|
||||
species_restricted = list("exclude","Diona","Vox","Wryn")
|
||||
|
||||
//Under clothing
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
item_color="yellow"
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/gloves/color/yellow/power
|
||||
description_antag = "These are a pair of power gloves, and can be used to fire bolts of electricity while standing over powered power cables."
|
||||
@@ -45,6 +46,7 @@
|
||||
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
|
||||
permeability_coefficient = 0.05
|
||||
item_color="yellow"
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
New()
|
||||
siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5)
|
||||
@@ -59,6 +61,7 @@
|
||||
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
|
||||
heat_protection = HANDS
|
||||
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
|
||||
burn_state = FIRE_PROOF
|
||||
var/can_be_cut = 1
|
||||
|
||||
|
||||
@@ -102,6 +105,7 @@
|
||||
desc = "These gloves will protect the wearer from electric shock."
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/gloves/color/rainbow
|
||||
name = "rainbow gloves"
|
||||
@@ -172,6 +176,7 @@
|
||||
permeability_coefficient = 0.01
|
||||
item_color="white"
|
||||
transfer_prints = TRUE
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/gloves/color/latex/nitrile
|
||||
name = "nitrile gloves"
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
|
||||
heat_protection = HANDS
|
||||
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/gloves/botanic_leather
|
||||
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
|
||||
@@ -40,6 +41,7 @@
|
||||
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
|
||||
heat_protection = HANDS
|
||||
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/gloves/batmangloves
|
||||
desc = "Used for handling all things bat related."
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!"
|
||||
icon_state = "welding"
|
||||
item_state = "welding"
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox", "Unathi", "Tajaran", "Vulpkanin")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
@@ -117,12 +118,14 @@
|
||||
desc = "Go Red! I mean Green! I mean Red! No Green!"
|
||||
icon_state = "thunderdome"
|
||||
item_state = "thunderdome"
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/collectable/swat
|
||||
name = "collectable SWAT helmet"
|
||||
desc = "Now you can be in the Deathsquad too!"
|
||||
icon_state = "swat"
|
||||
item_state = "swat"
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi'
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
armor = list(melee = 15, bullet = 5, laser = 20, energy = 10, bomb = 20, bio = 10, rad = 20)
|
||||
flags_inv = 0
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light)
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/hardhat/attack_self(mob/user)
|
||||
on = !on
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT
|
||||
strip_delay = 60
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
|
||||
@@ -342,6 +342,7 @@
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
attack_verb = list("warned", "cautioned", "smashed")
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/griffin
|
||||
name = "griffon head"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox", "Unathi", "Tajaran", "Vulpkanin")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
gas_transfer_coefficient = 0.10
|
||||
permeability_coefficient = 0.50
|
||||
actions_types = list(/datum/action/item_action/adjust)
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox", "Vox Armalis", "Unathi", "Tajaran", "Vulpkanin")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
item_state = "gas_alt"
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox", "Unathi", "Tajaran", "Vulpkanin")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
||||
@@ -95,6 +96,7 @@
|
||||
icon_state = "clown"
|
||||
item_state = "clown_hat"
|
||||
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/clown_hat/attack_self(mob/user)
|
||||
|
||||
@@ -130,24 +132,28 @@
|
||||
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
|
||||
icon_state = "sexyclown"
|
||||
item_state = "sexyclown"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/mime
|
||||
name = "mime mask"
|
||||
desc = "The traditional mime's mask. It has an eerie facial posture."
|
||||
icon_state = "mime"
|
||||
item_state = "mime"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/monkeymask
|
||||
name = "monkey mask"
|
||||
desc = "A mask used when acting as a monkey."
|
||||
icon_state = "monkeymask"
|
||||
item_state = "monkeymask"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/sexymime
|
||||
name = "sexy mime mask"
|
||||
desc = "A traditional female mime's mask."
|
||||
icon_state = "sexymime"
|
||||
item_state = "sexymime"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/death_commando
|
||||
name = "Death Commando Mask"
|
||||
@@ -158,12 +164,14 @@
|
||||
name = "cyborg visor"
|
||||
desc = "Beep boop"
|
||||
icon_state = "death"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/mask/gas/owl_mask
|
||||
name = "owl mask"
|
||||
desc = "Twoooo!"
|
||||
icon_state = "owl"
|
||||
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | NODROP
|
||||
burn_state = FLAMMABLE
|
||||
actions_types = list(/datum/action/item_action/hoot)
|
||||
|
||||
/obj/item/clothing/mask/gas/owl_mask/attack_self()
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
// desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics."
|
||||
var/obj/item/voice_changer/changer
|
||||
origin_tech = "syndicate=4"
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/mask/gas/voice/verb/Toggle_Voice_Changer()
|
||||
set category = "Object"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
strip_delay = 70
|
||||
put_on_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
|
||||
if(magpulse)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
permeability_coefficient = 0.05
|
||||
flags = NOSLIP
|
||||
origin_tech = "syndicate=3"
|
||||
burn_state = FIRE_PROOF
|
||||
var/list/clothing_choices = list()
|
||||
silence_steps = 1
|
||||
|
||||
@@ -22,6 +23,7 @@
|
||||
item_state = "jackboots"
|
||||
armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
strip_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/shoes/combat/swat //overpowered boots for death squads
|
||||
name = "\improper SWAT shoes"
|
||||
@@ -51,6 +53,7 @@
|
||||
slowdown = SHOES_SLOWDOWN+1
|
||||
strip_delay = 50
|
||||
put_on_delay = 50
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/shoes/galoshes/dry
|
||||
name = "absorbent galoshes"
|
||||
@@ -82,6 +85,7 @@
|
||||
item_color = "hosred"
|
||||
strip_delay = 50
|
||||
put_on_delay = 50
|
||||
burn_state = FIRE_PROOF
|
||||
var/footstep = 1
|
||||
silence_steps = 1
|
||||
shoe_sound = "jackboot"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
|
||||
strip_delay = 60
|
||||
put_on_delay = 40
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
@@ -148,6 +149,7 @@
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|HANDS
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|HANDS
|
||||
strip_delay = 70
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/warden/alt
|
||||
name = "warden's jacket"
|
||||
@@ -235,7 +237,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
flags_size = ONESIZEFITSALL
|
||||
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
|
||||
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
//Reactive armor
|
||||
/obj/item/clothing/suit/armor/reactive
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR | THICKMATERIAL
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/bio_suit
|
||||
name = "bio suit"
|
||||
@@ -25,6 +26,7 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
|
||||
strip_delay = 70
|
||||
put_on_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
|
||||
@@ -189,6 +189,7 @@
|
||||
item_state = "hazard"
|
||||
blood_overlay_type = "armor"
|
||||
allowed = list (/obj/item/device/flashlight, /obj/item/device/t_scanner, /obj/item/weapon/tank/emergency_oxygen)
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
allowed = list (/obj/item/weapon/gun/energy/laser/bluetag)
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
@@ -30,6 +31,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
allowed = list (/obj/item/weapon/gun/energy/laser/redtag)
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
@@ -136,6 +138,7 @@
|
||||
w_class = 3
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
|
||||
/obj/item/clothing/suit/hastur
|
||||
@@ -515,6 +518,7 @@
|
||||
desc = "A long, thick black leather coat."
|
||||
icon_state = "leathercoat"
|
||||
item_state = "leathercoat"
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/browncoat
|
||||
name = "brown leather coat"
|
||||
@@ -748,6 +752,7 @@
|
||||
ignore_suitadjust = 1
|
||||
actions_types = list()
|
||||
adjust_flavour = null
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/officercoat
|
||||
name = "Clown Officer's Coat"
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
strip_delay = 60
|
||||
put_on_delay = 60
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/fire/firefighter
|
||||
icon_state = "firesuit"
|
||||
@@ -72,6 +73,7 @@
|
||||
max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT
|
||||
strip_delay = 70
|
||||
put_on_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/bomb_suit
|
||||
name = "bomb suit"
|
||||
@@ -92,6 +94,7 @@
|
||||
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
|
||||
strip_delay = 70
|
||||
put_on_delay = 70
|
||||
burn_state = FIRE_PROOF
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
@@ -119,6 +122,7 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 60, rad = 100)
|
||||
strip_delay = 60
|
||||
put_on_delay = 60
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/radiation
|
||||
name = "Radiation suit"
|
||||
@@ -135,4 +139,5 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 60, rad = 100)
|
||||
flags_inv = HIDEJUMPSUIT|HIDETAIL
|
||||
strip_delay = 60
|
||||
put_on_delay = 60
|
||||
put_on_delay = 60
|
||||
burn_state = FIRE_PROOF
|
||||
@@ -6,6 +6,7 @@
|
||||
permeability_coefficient = 0.01
|
||||
armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20)
|
||||
unacidable = 1
|
||||
burn_state = FIRE_PROOF
|
||||
//Not given any special protective value since the magic robes are full-body protection --NEO
|
||||
strip_delay = 50
|
||||
put_on_delay = 50
|
||||
@@ -65,6 +66,7 @@
|
||||
unacidable = 1
|
||||
strip_delay = 50
|
||||
put_on_delay = 50
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/red
|
||||
name = "red wizard robe"
|
||||
@@ -117,6 +119,7 @@
|
||||
permeability_coefficient = 1
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
unacidable = 0
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/head/wizard/marisa/fake
|
||||
name = "Witch Hat"
|
||||
@@ -126,6 +129,7 @@
|
||||
permeability_coefficient = 1
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
unacidable = 0
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/marisa/fake
|
||||
name = "Witch Robe"
|
||||
@@ -135,4 +139,5 @@
|
||||
gas_transfer_coefficient = 1
|
||||
permeability_coefficient = 1
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
unacidable = 0
|
||||
unacidable = 0
|
||||
burn_state = FLAMMABLE
|
||||
@@ -166,6 +166,7 @@
|
||||
icon_state = "bronze"
|
||||
item_color = "bronze"
|
||||
materials = list(MAT_METAL=1000)
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/accessory/medal/conduct
|
||||
name = "distinguished conduct medal"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
||||
origin_tech = "syndicate=3"
|
||||
var/list/clothing_choices = list()
|
||||
burn_state = FIRE_PROOF
|
||||
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
New()
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
item_state = "bl_suit"
|
||||
item_color = "black"
|
||||
flags_size = ONESIZEFITSALL
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/under/color/blackf
|
||||
name = "feminine black jumpsuit"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
item_color = "chief"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
flags_size = ONESIZEFITSALL
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/under/rank/chief_engineer/skirt
|
||||
desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding."
|
||||
@@ -23,6 +24,7 @@
|
||||
item_state = "atmos_suit"
|
||||
item_color = "atmos"
|
||||
flags_size = ONESIZEFITSALL
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/under/rank/atmospheric_technician/skirt
|
||||
desc = "It's a jumpskirt worn by atmospheric technicians."
|
||||
@@ -40,6 +42,7 @@
|
||||
item_color = "engine"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
|
||||
flags_size = ONESIZEFITSALL
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
|
||||
/obj/item/clothing/under/rank/engineer/skirt
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
heat_protection = UPPER_TORSO | LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/under/acj
|
||||
name = "administrative cybernetic jumpsuit"
|
||||
@@ -163,6 +164,7 @@
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
slowdown = -10
|
||||
siemens_coefficient = 0
|
||||
burn_state = LAVA_PROOF
|
||||
|
||||
/obj/item/clothing/under/johnny
|
||||
name = "johnny~~ jumpsuit"
|
||||
@@ -334,6 +336,7 @@
|
||||
item_state = "gladiator"
|
||||
item_color = "gladiator"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
//dress
|
||||
|
||||
@@ -467,6 +470,7 @@
|
||||
item_color = "roman"
|
||||
item_state = "armor"
|
||||
strip_delay = 100
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/under/maid
|
||||
name = "maid costume"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
consume_sound = 'sound/items/drink.ogg'
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50)
|
||||
volume = 50
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/New()
|
||||
..()
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
lefthand_file = 'icons/goonstation/mob/inhands/items_lefthand.dmi'
|
||||
righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi'
|
||||
materials = list(MAT_GLASS=500)
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/egg)) //breaking eggs
|
||||
@@ -25,6 +27,15 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fire_act()
|
||||
if(!reagents.total_volume)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/burn()
|
||||
reagents.clear_reagents()
|
||||
extinguish()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change() // *scream
|
||||
if(reagents.reagent_list.len > 0)
|
||||
switch(reagents.get_master_reagent_id())
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
var/apply_method = "swallow"
|
||||
var/transfer_efficiency = 1.0
|
||||
var/instant_application = 0 //if we want to bypass the forcedfeed delay
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/New()
|
||||
..()
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
|
||||
// Burns the food with a chance of starting a fire - for if you try cooking something that's already been cooked that way
|
||||
// if burns = 0 then it'll just tell you that the item is already that foodtype and it would do nothing
|
||||
// if you wanted a different side effect set burns to 1 and override burn()
|
||||
/obj/machinery/cooker/proc/burn(mob/user, obj/item/weapon/reagent_containers/props)
|
||||
// if you wanted a different side effect set burns to 1 and override burn_food()
|
||||
/obj/machinery/cooker/proc/burn_food(mob/user, obj/item/weapon/reagent_containers/props)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/burnt = new(get_turf(src))
|
||||
setRegents(props, burnt)
|
||||
to_chat(user, "<span class='warning'>You smell burning coming from the [src]!</span>")
|
||||
@@ -130,7 +130,7 @@
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(checkCooked(I))
|
||||
burn(user, I)
|
||||
burn_food(user, I)
|
||||
turnoff(I)
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/newfood = gettype()
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
var/datum/seed/seed
|
||||
var/potency = -1
|
||||
var/awakening = 0
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc,planttype)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
var/plantname
|
||||
var/potency = 1
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/grown/New(newloc,planttype)
|
||||
|
||||
@@ -170,8 +171,11 @@
|
||||
to_chat(M, "<font color='green'>[user] smacks you with a [name]!</font><font color='yellow'><b>FLOWER POWER</b></font>")
|
||||
to_chat(user, "<font color='green'> Your [name]'s </font><font color='yellow'><b>FLOWER POWER</b></font><font color='green'> strikes [M]</font>")
|
||||
if(istype(M, /mob/living))
|
||||
to_chat(M, "<span class='warning'>You are heated by the warmth of the of the [name]!</span>")
|
||||
M.bodytemperature += potency/2 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
to_chat(M, "<span class='danger'>You are lit on fire from the intense heat of the [name]!</span>")
|
||||
M.adjust_fire_stacks(potency / 20)
|
||||
if(M.IgniteMob())
|
||||
message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire")
|
||||
log_game("[key_name(user)] set [key_name(M)] on fire")
|
||||
|
||||
/obj/item/weapon/grown/novaflower/pickup(mob/living/carbon/human/user as mob)
|
||||
if(!user.gloves)
|
||||
|
||||
@@ -6,7 +6,7 @@ var/global/list/plant_seed_sprites = list()
|
||||
icon = 'icons/obj/seeds.dmi'
|
||||
icon_state = "blank"
|
||||
w_class = 2
|
||||
|
||||
burn_state = FLAMMABLE
|
||||
var/seed_type
|
||||
var/datum/seed/seed
|
||||
var/modified = 0
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
anchored = 1
|
||||
density = 1
|
||||
opacity = 1
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 30
|
||||
var/health = 50
|
||||
var/tmp/busy = 0
|
||||
var/list/allowed_books = list(/obj/item/weapon/book, /obj/item/weapon/spellbook, /obj/item/weapon/storage/bible, /obj/item/weapon/tome) //Things allowed in the bookcase
|
||||
@@ -167,6 +169,7 @@
|
||||
throw_range = 5
|
||||
w_class = 3 //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever)
|
||||
attack_verb = list("bashed", "whacked", "educated")
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
var/dat // Actual page content
|
||||
var/due_date = 0 // Game time in 1/10th seconds
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
flags = CONDUCT
|
||||
force = 10.0
|
||||
throwforce = 0
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 20
|
||||
w_class = 4
|
||||
|
||||
/obj/item/weapon/moneybag/attack_hand(user as mob)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#define HEAT_DAMAGE_LEVEL_1 2 //Amount of damage applied when your body temperature just passes the 360.15k safety point
|
||||
#define HEAT_DAMAGE_LEVEL_2 3 //Amount of damage applied when your body temperature passes the 400K point
|
||||
#define HEAT_DAMAGE_LEVEL_3 8 //Amount of damage applied when your body temperature passes the 1000K point
|
||||
#define HEAT_DAMAGE_LEVEL_3 10 //Amount of damage applied when your body temperature passes the 1000K point
|
||||
|
||||
#define COLD_DAMAGE_LEVEL_1 0.5 //Amount of damage applied when your body temperature just passes the 260.15k safety point
|
||||
#define COLD_DAMAGE_LEVEL_2 1.5 //Amount of damage applied when your body temperature passes the 200K point
|
||||
|
||||
@@ -551,12 +551,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
visible_message("<span class='danger'>[src] has thrown [thrown_thing].</span>")
|
||||
newtonian_move(get_dir(target, src))
|
||||
thrown_thing.throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed, src)
|
||||
/*
|
||||
/mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
src.IgniteMob()
|
||||
bodytemperature = max(bodytemperature, BODYTEMP_HEAT_DAMAGE_LIMIT+10)
|
||||
*/
|
||||
|
||||
/mob/living/carbon/can_use_hands()
|
||||
if(handcuffed)
|
||||
return 0
|
||||
|
||||
@@ -487,14 +487,15 @@
|
||||
return
|
||||
if(RESIST_HEAT in mutations)
|
||||
return
|
||||
var/thermal_protection = get_thermal_protection()
|
||||
if(on_fire)
|
||||
var/thermal_protection = get_thermal_protection()
|
||||
|
||||
if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
|
||||
return
|
||||
if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT)
|
||||
bodytemperature += 11
|
||||
else
|
||||
bodytemperature += BODYTEMP_HEATING_MAX
|
||||
if(thermal_protection >= FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
|
||||
return
|
||||
if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT)
|
||||
bodytemperature += 11
|
||||
else
|
||||
bodytemperature += (BODYTEMP_HEATING_MAX + (fire_stacks * 12))
|
||||
|
||||
/mob/living/carbon/human/proc/get_thermal_protection()
|
||||
var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures
|
||||
|
||||
@@ -151,9 +151,13 @@
|
||||
/mob/living/proc/IgniteMob()
|
||||
if(fire_stacks > 0 && !on_fire)
|
||||
on_fire = 1
|
||||
visible_message("<span class='warning'>[src] catches fire!</span>", \
|
||||
"<span class='userdanger'>You're set on fire!</span>")
|
||||
set_light(light_range + 3,l_color = "#ED9200")
|
||||
throw_alert("fire", /obj/screen/alert/fire)
|
||||
update_fire()
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/mob/living/proc/ExtinguishMob()
|
||||
if(on_fire)
|
||||
@@ -167,14 +171,20 @@
|
||||
return
|
||||
|
||||
/mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person
|
||||
fire_stacks = Clamp(fire_stacks + add_fire_stacks, -20, 20)
|
||||
fire_stacks = Clamp(fire_stacks + add_fire_stacks, -20, 20)
|
||||
if(on_fire && fire_stacks <= 0)
|
||||
ExtinguishMob()
|
||||
|
||||
/mob/living/proc/handle_fire()
|
||||
if(fire_stacks < 0)
|
||||
fire_stacks++ //If we've doused ourselves in water to avoid fire, dry off slowly
|
||||
fire_stacks = min(0, fire_stacks)//So we dry ourselves back to default, nonflammable.
|
||||
if(fire_stacks < 0) //If we've doused ourselves in water to avoid fire, dry off slowly
|
||||
fire_stacks = min(0, fire_stacks + 1)//So we dry ourselves back to default, nonflammable.
|
||||
if(!on_fire)
|
||||
return 1
|
||||
if(fire_stacks > 0)
|
||||
adjust_fire_stacks(-0.1) //the fire is slowly consumed
|
||||
else
|
||||
ExtinguishMob()
|
||||
return
|
||||
var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment
|
||||
if(G.oxygen < 1)
|
||||
ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire
|
||||
@@ -183,7 +193,7 @@
|
||||
location.hotspot_expose(700, 50, 1)
|
||||
|
||||
/mob/living/fire_act()
|
||||
adjust_fire_stacks(0.5)
|
||||
adjust_fire_stacks(3)
|
||||
IgniteMob()
|
||||
|
||||
//Mobs on Fire end
|
||||
|
||||
@@ -560,16 +560,24 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/mob/living/simple_animal/handle_fire()
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/update_fire()
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/IgniteMob()
|
||||
return 0
|
||||
|
||||
/mob/living/simple_animal/ExtinguishMob()
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE)
|
||||
if(damage <= force_threshold || !damage_coeff[damagetype])
|
||||
visible_message("<span class='warning'>[src] looks unharmed from the damage.</span>")
|
||||
else
|
||||
apply_damage(damage, damagetype)
|
||||
|
||||
|
||||
/mob/living/simple_animal/update_fire()
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/update_transform()
|
||||
var/matrix/ntransform = matrix(transform) //aka transform.Copy()
|
||||
var/changed = 0
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
var/obj/item/weapon/pen/haspen //The stored pen.
|
||||
var/obj/item/weapon/toppaper //The topmost piece of paper.
|
||||
slot_flags = SLOT_BELT
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/clipboard/New()
|
||||
update_icon()
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "folder"
|
||||
w_class = 2
|
||||
pressure_resistance = 2
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/folder/blue
|
||||
desc = "A blue folder."
|
||||
@@ -39,7 +40,7 @@
|
||||
if(!n_name)
|
||||
return
|
||||
n_name = sanitize(copytext(n_name, 1, MAX_NAME_LEN))
|
||||
|
||||
|
||||
if((loc == usr || Adjacent(usr)) && usr.stat == 0)
|
||||
name = "folder[(n_name ? text("- '[n_name]'") : null)]"
|
||||
return
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
pressure_resistance = 0
|
||||
slot_flags = SLOT_HEAD
|
||||
body_parts_covered = HEAD
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 5
|
||||
attack_verb = list("bapped")
|
||||
|
||||
var/info //What's actually written on the paper.
|
||||
@@ -289,30 +291,6 @@
|
||||
\[hr\] : Adds a horizontal rule.
|
||||
</BODY></HTML>"}, "window=paper_help")
|
||||
|
||||
/obj/item/weapon/paper/proc/burnpaper(obj/item/weapon/lighter/P, mob/user)
|
||||
var/class = "<span class='warning'>"
|
||||
|
||||
if(P.lit && !user.restrained())
|
||||
if(istype(P, /obj/item/weapon/lighter/zippo))
|
||||
class = "<span class='rose'>"
|
||||
|
||||
user.visible_message("[class][user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
|
||||
"[class]You hold \the [P] up to \the [src], burning it slowly.")
|
||||
|
||||
spawn(20)
|
||||
if(get_dist(src, user) < 2 && user.get_active_hand() == P && P.lit)
|
||||
user.visible_message("[class][user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \
|
||||
"[class]You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.")
|
||||
|
||||
if(user.get_inactive_hand() == src)
|
||||
user.unEquip(src)
|
||||
|
||||
new /obj/effect/decal/cleanable/ash(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
else
|
||||
to_chat(user, "\red You must hold \the [P] steady to burn \the [src].")
|
||||
|
||||
/obj/item/weapon/paper/Topic(href, href_list)
|
||||
..()
|
||||
if(!usr || (usr.stat || usr.restrained()))
|
||||
@@ -361,8 +339,12 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob, params)
|
||||
/obj/item/weapon/paper/attackby(obj/item/weapon/P, mob/living/user, params)
|
||||
..()
|
||||
|
||||
if(burn_state == ON_FIRE)
|
||||
return
|
||||
|
||||
var/clown = 0
|
||||
if(user.mind && (user.mind.assigned_role == "Clown"))
|
||||
clown = 1
|
||||
@@ -443,11 +425,27 @@
|
||||
|
||||
to_chat(user, "<span class='notice'>You stamp the paper with your rubber stamp.</span>")
|
||||
|
||||
else if(istype(P, /obj/item/weapon/lighter))
|
||||
burnpaper(P, user)
|
||||
if(is_hot(P))
|
||||
if((CLUMSY in user.mutations) && prob(10))
|
||||
user.visible_message("<span class='warning'>[user] accidentally ignites themselves!</span>", \
|
||||
"<span class='userdanger'>You miss the paper and accidentally light yourself on fire!</span>")
|
||||
user.unEquip(P)
|
||||
user.adjust_fire_stacks(1)
|
||||
user.IgniteMob()
|
||||
return
|
||||
|
||||
if(!Adjacent(user)) //to prevent issues as a result of telepathically lighting a paper
|
||||
return
|
||||
|
||||
user.unEquip(src)
|
||||
user.visible_message("<span class='danger'>[user] lights [src] ablaze with [P]!</span>", "<span class='danger'>You light [src] on fire!</span>")
|
||||
fire_act()
|
||||
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/item/weapon/paper/fire_act()
|
||||
..()
|
||||
info = "[stars(info)]"
|
||||
|
||||
/obj/item/weapon/paper/proc/stamp(var/obj/item/weapon/stamp/S)
|
||||
stamps += (!stamps || stamps == "" ? "<HR>" : "") + "<img src=large_[S.icon_state].png>"
|
||||
|
||||
@@ -8,23 +8,27 @@
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
pressure_resistance = 8
|
||||
burn_state = FLAMMABLE
|
||||
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
|
||||
var/list/papers = list() //List of papers put in the bin for reference.
|
||||
|
||||
/obj/item/weapon/paper_bin/fire_act()
|
||||
if(!amount)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/paper_bin/Destroy()
|
||||
if(papers)
|
||||
for(var/i in papers)
|
||||
qdel(i)
|
||||
papers.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/paper_bin/burn()
|
||||
amount = 0
|
||||
extinguish()
|
||||
update_icon()
|
||||
|
||||
/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()
|
||||
*///LINDA shit figure out later
|
||||
/obj/item/weapon/paper_bin/MouseDrop(atom/over_object)
|
||||
var/mob/M = usr
|
||||
if(M.restrained() || M.stat || !Adjacent(M))
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
icon_state = "film"
|
||||
item_state = "electropack"
|
||||
w_class = 1
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
|
||||
/********
|
||||
@@ -27,6 +28,8 @@
|
||||
icon_state = "photo"
|
||||
item_state = "paper"
|
||||
w_class = 2
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 5
|
||||
var/icon/img //Big photo image
|
||||
var/scribble //Scribble on the back.
|
||||
var/icon/tiny
|
||||
@@ -106,7 +109,8 @@
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "album"
|
||||
item_state = "briefcase"
|
||||
can_hold = list("/obj/item/weapon/photo",)
|
||||
can_hold = list("/obj/item/weapon/photo")
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj)
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
var/last_warning
|
||||
var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six
|
||||
allow_spin = 0
|
||||
burn_state = LAVA_PROOF
|
||||
|
||||
/obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
//CARN: admin-alert for chuckle-fuckery.
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
hitsound = 'sound/weapons/pierce.ogg'
|
||||
var/hitsound_wall = ""
|
||||
pressure_resistance = INFINITY
|
||||
burn_state = LAVA_PROOF
|
||||
var/def_zone = "" //Aiming at
|
||||
var/mob/firer = null//Who shot it
|
||||
var/obj/item/ammo_casing/ammo_casing = null
|
||||
|
||||
@@ -56,8 +56,8 @@
|
||||
/obj/item/projectile/bullet/incendiary
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/on_hit(var/atom/target, var/blocked = 0)
|
||||
..()
|
||||
if(istype(target, /mob/living/carbon))
|
||||
. = ..()
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/M = target
|
||||
M.adjust_fire_stacks(4)
|
||||
M.IgniteMob()
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
/datum/reagent/blob/boiling_oil/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(round(volume/12))
|
||||
M.adjust_fire_stacks(round(volume/10))
|
||||
volume = ..()
|
||||
M.apply_damage(0.6*volume, BURN)
|
||||
M.IgniteMob()
|
||||
|
||||
@@ -37,8 +37,9 @@
|
||||
min_temp = 424
|
||||
|
||||
/datum/reagent/clf3/on_mob_life(mob/living/M)
|
||||
M.adjust_fire_stacks(4)
|
||||
M.adjustFireLoss(0.35*M.fire_stacks)
|
||||
M.adjust_fire_stacks(2)
|
||||
var/burndmg = max(0.3*M.fire_stacks, 0.3)
|
||||
M.adjustFireLoss(burndmg)
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -66,7 +67,7 @@
|
||||
|
||||
/datum/reagent/clf3/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(5)
|
||||
M.adjust_fire_stacks(min(volume/5, 10))
|
||||
M.IgniteMob()
|
||||
M.bodytemperature += 30
|
||||
|
||||
@@ -416,10 +417,14 @@
|
||||
for(var/turf/simulated/turf in range(min(created_volume/10,4),T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
|
||||
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
M.IgniteMob()
|
||||
..()
|
||||
|
||||
/datum/reagent/phlogiston/on_mob_life(mob/living/M)
|
||||
M.adjust_fire_stacks(1)
|
||||
M.IgniteMob()
|
||||
M.adjustFireLoss(0.2*M.fire_stacks)
|
||||
var/burndmg = max(0.3*M.fire_stacks, 0.3)
|
||||
M.adjustFireLoss(burndmg)
|
||||
..()
|
||||
|
||||
/datum/reagent/napalm
|
||||
@@ -436,7 +441,7 @@
|
||||
|
||||
/datum/reagent/napalm/reaction_mob(mob/living/M, method=TOUCH, volume)
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(7)
|
||||
M.adjust_fire_stacks(min(volume/4, 20))
|
||||
|
||||
/datum/chemical_reaction/napalm
|
||||
name = "Napalm"
|
||||
@@ -539,8 +544,11 @@
|
||||
// Put out fire
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(-(volume / 5)) // more effective than water
|
||||
if(M.fire_stacks <= 0)
|
||||
M.ExtinguishMob()
|
||||
M.ExtinguishMob()
|
||||
|
||||
/datum/reagent/firefighting_foam/reaction_obj(obj/O, volume)
|
||||
if(istype(O))
|
||||
O.extinguish()
|
||||
|
||||
/datum/reagent/firefighting_foam/reaction_turf(turf/simulated/T, volume)
|
||||
if(!istype(T))
|
||||
@@ -555,18 +563,6 @@
|
||||
T.assume_air(lowertemp)
|
||||
qdel(hotspot)
|
||||
|
||||
/datum/reagent/firefighting_foam/reaction_obj(obj/O, volume)
|
||||
var/turf/simulated/T = get_turf(O)
|
||||
if(!istype(T))
|
||||
return
|
||||
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
||||
if(hotspot)
|
||||
var/datum/gas_mixture/lowertemp = T.remove_air(T.air.total_moles())
|
||||
lowertemp.temperature = max(min(lowertemp.temperature-2000,lowertemp.temperature / 2), 0)
|
||||
lowertemp.react()
|
||||
T.assume_air(lowertemp)
|
||||
qdel(hotspot)
|
||||
|
||||
/datum/chemical_reaction/clf3_firefighting
|
||||
name = "clf3_firefighting"
|
||||
id = "clf3_firefighting"
|
||||
|
||||
@@ -20,9 +20,7 @@
|
||||
// Put out fire
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(-(volume / 10))
|
||||
if(M.fire_stacks <= 0)
|
||||
M.ExtinguishMob()
|
||||
return
|
||||
M.ExtinguishMob()
|
||||
|
||||
/datum/reagent/water/reaction_turf(turf/simulated/T, volume)
|
||||
if(!istype(T))
|
||||
@@ -42,15 +40,9 @@
|
||||
qdel(hotspot)
|
||||
|
||||
/datum/reagent/water/reaction_obj(obj/O, volume)
|
||||
var/turf/simulated/T = get_turf(O)
|
||||
if(istype(T))
|
||||
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
||||
if(hotspot)
|
||||
var/datum/gas_mixture/lowertemp = T.remove_air( T.air.total_moles() )
|
||||
lowertemp.temperature = max(min(lowertemp.temperature-2000,lowertemp.temperature / 2), 0)
|
||||
lowertemp.react()
|
||||
T.assume_air(lowertemp)
|
||||
qdel(hotspot)
|
||||
if(istype(O))
|
||||
O.extinguish()
|
||||
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
if(!cube.wrapped)
|
||||
|
||||
@@ -117,6 +117,7 @@
|
||||
flags = NOBLUDGEON
|
||||
amount = 25
|
||||
max_amount = 25
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
|
||||
/obj/item/stack/packageWrap/afterattack(var/obj/target as obj, mob/user as mob, proximity)
|
||||
|
||||
@@ -342,6 +342,7 @@
|
||||
C.color = "#000080"
|
||||
C.max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
C.heat_protection = C.body_parts_covered
|
||||
C.burn_state = FIRE_PROOF
|
||||
uses --
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user