mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Adds Chemical flamethrowers (#25091)
* Initial work * Good enough to open a PR out of draft * Make these use the vars on the flamethrower * Moar fixes * Undefines define * Update code/game/objects/items/weapons/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> * This won't compile * GDN review * Fixes CI * Fixes CI even more * 5 ammo per tile now * Heavily nerfs adding multiple fires * Adds phlogiston as a burnable reagent * Fixes the fire name * Placeholder sprite + ammo use fix * Now in cargo partially * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Lewc Review * Adds nuclear variant * Adds the chem flamethrower to the nukie uplink, alongside ammo * More fire armor tweaks * GDN review * Update code/modules/reagents/chemistry/reagents/pyrotechnic.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * TEMPORARY PUSH * Adds inhands * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Fixes inhands * Makes air hot again * Lewc review * Audible messages and canister refilling * Update code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
co-authored by
GDN
Henri215
1080pCat
Luc
Burzah
parent
6ae5bfef8a
commit
e3c73110db
@@ -105,6 +105,12 @@
|
||||
origin_tech = "combat=6;magnets=6;syndicate=2"
|
||||
outcome = /obj/item/gun/energy/disabler/silencer
|
||||
|
||||
/obj/item/weaponcrafting/gunkit/chemical_flamethrower
|
||||
name = "extended chemical flamethrower parts kit"
|
||||
desc = "A suitcase containing the necessary gun parts to transform a standard chemical flamethrower into a version that can accept two cartridges instead of one."
|
||||
origin_tech = "combat=5;engineering=6;plasmatech=4"
|
||||
outcome = /obj/item/chemical_flamethrower/extended
|
||||
|
||||
/obj/item/weaponcrafting/gunkit/universal_gun_kit
|
||||
name = "universal self assembling gun parts kit"
|
||||
desc = "A suitcase containing the necessary gun parts to build a full gun, when combined with a gun kit. Use it directly on a gunkit to rapidly assemble it."
|
||||
|
||||
@@ -296,6 +296,14 @@
|
||||
..()
|
||||
blacklist += subtypesof(/obj/item/gun/energy/disabler)
|
||||
|
||||
/datum/crafting_recipe/flamethrower_extended
|
||||
name = "Extended Chemical Flamethrower"
|
||||
tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER)
|
||||
result = list(/obj/item/chemical_flamethrower/extended)
|
||||
reqs = list(/obj/item/chemical_flamethrower = 1,
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
/obj/item/weaponcrafting/gunkit/chemical_flamethrower = 1)
|
||||
|
||||
/datum/crafting_recipe/ed209
|
||||
name = "ED209"
|
||||
result = list(/mob/living/simple_animal/bot/ed209)
|
||||
|
||||
@@ -304,10 +304,10 @@
|
||||
var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures
|
||||
if(wear_suit)
|
||||
if(wear_suit.max_heat_protection_temperature >= FIRE_SUIT_MAX_TEMP_PROTECT)
|
||||
thermal_protection += (wear_suit.max_heat_protection_temperature*0.7)
|
||||
thermal_protection += (wear_suit.max_heat_protection_temperature * 0.7)
|
||||
if(head)
|
||||
if(head.max_heat_protection_temperature >= FIRE_HELM_MAX_TEMP_PROTECT)
|
||||
thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD)
|
||||
thermal_protection += (head.max_heat_protection_temperature * THERMAL_PROTECTION_HEAD)
|
||||
thermal_protection = round(thermal_protection)
|
||||
return thermal_protection
|
||||
|
||||
|
||||
@@ -196,7 +196,6 @@
|
||||
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/sniper/riot
|
||||
materials = list(MAT_METAL = 90000)
|
||||
|
||||
|
||||
/obj/item/ammo_box/caps
|
||||
name = "speed loader (caps)"
|
||||
desc = "A revolver speedloader for a cap gun. Cannot chamber live ammunition."
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
color = "#FFAF00"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
taste_description = "burning"
|
||||
burn_temperature = T0C + 500
|
||||
burn_duration = 20 SECONDS
|
||||
var/temp_fire = 4000
|
||||
var/temp_deviance = 1000
|
||||
var/size_divisor = 40
|
||||
@@ -43,6 +45,7 @@
|
||||
temp_deviance = 500
|
||||
size_divisor = 80
|
||||
mob_burning = 3 // 15
|
||||
burn_temperature = T0C + 700
|
||||
|
||||
/datum/reagent/napalm
|
||||
name = "Napalm"
|
||||
@@ -52,6 +55,9 @@
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
color = "#C86432"
|
||||
taste_description = "burning"
|
||||
burn_temperature = T0C + 500
|
||||
burn_duration = 40 SECONDS
|
||||
fire_stack_applications = 4 // BURN BABY BURN
|
||||
|
||||
/datum/reagent/napalm/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > T0C + 100)
|
||||
@@ -91,6 +97,9 @@
|
||||
drink_desc = "Unless you are an industrial tool, this is probably not safe for consumption."
|
||||
taste_description = "mistakes"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
burn_temperature = T0C + 400
|
||||
burn_duration = 15 SECONDS // Barely better than default
|
||||
|
||||
var/max_radius = 7
|
||||
var/min_radius = 0
|
||||
var/volume_radius_modifier = -0.15
|
||||
@@ -139,7 +148,7 @@
|
||||
T.create_reagents(50)
|
||||
T.reagents.add_reagent("fuel", volume)
|
||||
|
||||
/datum/reagent/fuel/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume)//Splashing people with welding fuel to make them easy to ignite!
|
||||
/datum/reagent/fuel/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume) // Splashing people with welding fuel to make them easy to ignite!
|
||||
if(method == REAGENT_TOUCH)
|
||||
if(M.on_fire)
|
||||
M.adjust_fire_stacks(6)
|
||||
@@ -152,6 +161,8 @@
|
||||
color = "#7A2B94"
|
||||
taste_description = "corporate assets going to waste"
|
||||
taste_mult = 1.5
|
||||
burn_temperature = T0C + 400
|
||||
burn_duration = 20 SECONDS
|
||||
|
||||
/datum/reagent/plasma/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature >= T0C + 100)
|
||||
@@ -185,6 +196,8 @@
|
||||
color = "#673910" // rgb: 103, 57, 16
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
taste_description = "rust"
|
||||
burn_temperature = T0C + 1500 // hahahahHAHAHAHAH LET IT BURN
|
||||
burn_duration = 5 SECONDS // Not for long though
|
||||
|
||||
/datum/reagent/thermite/reaction_mob(mob/living/M, method= REAGENT_TOUCH, volume)
|
||||
if(method == REAGENT_TOUCH)
|
||||
@@ -237,6 +250,9 @@
|
||||
metabolization_rate = 4
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
taste_mult = 0
|
||||
burn_temperature = T0C + 700
|
||||
burn_duration = 15 SECONDS
|
||||
fire_stack_applications = 3
|
||||
|
||||
/datum/reagent/clf3/on_mob_life(mob/living/M)
|
||||
if(M.on_fire)
|
||||
|
||||
@@ -45,6 +45,13 @@
|
||||
// Affects the quantity of the reagent that is requested by CC.
|
||||
var/goal_difficulty = REAGENT_GOAL_SKIP
|
||||
|
||||
/// At what temperature does this reagent burn? Currently only used for chemical flamethrowers
|
||||
var/burn_temperature = T0C
|
||||
/// How long would a fire burn using this reagent? Currently only used for chemical flamethrowers
|
||||
var/burn_duration = 30 SECONDS
|
||||
/// How many firestacks will the reagent apply when it is burning? Currently only used for chemical flamethrowers
|
||||
var/fire_stack_applications = 1
|
||||
|
||||
/datum/reagent/Destroy()
|
||||
. = ..()
|
||||
holder = null
|
||||
|
||||
@@ -354,3 +354,46 @@
|
||||
materials = list(MAT_GOLD = 5000, MAT_METAL = 10000, MAT_TITANIUM = 3000, MAT_BLUESPACE = 2000)
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/muscle
|
||||
category = list("Weapons")
|
||||
|
||||
/datum/design/upgraded_chemical_flamethrower
|
||||
name = "Extended Capacity Chemical Flamethrower Parts"
|
||||
desc = "Parts for a flamethrower that accepts two chemical cartridges to create lasting fires."
|
||||
id = "chem_flamethrower_extended"
|
||||
req_tech = list("combat" = 6, "engineering" = 7, "plasmatech" = 5)
|
||||
materials = list(MAT_TITANIUM = 7000, MAT_METAL = 13000, MAT_GOLD = 1000)
|
||||
build_path = /obj/item/weaponcrafting/gunkit/chemical_flamethrower
|
||||
category = list("Weapons")
|
||||
|
||||
// The normal and extended canisters can be obtained from cargo aswell, pyrotechnical ones are RnD exclusive
|
||||
/datum/design/chemical_canister
|
||||
name = "Chemical Canister"
|
||||
desc = "A plain chemical canister, designed for use with a chemical flamethrower."
|
||||
id = "chemical_canister"
|
||||
req_tech = list("materials" = 3, "plasmatech" = 4)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000)
|
||||
reagents_list = list("fuel" = 20)
|
||||
build_path = /obj/item/chemical_canister
|
||||
category = list("Weapons")
|
||||
|
||||
/datum/design/chemical_canister/extended
|
||||
name = "Extended Capacity Chemical Canister"
|
||||
desc = "A large chemical canister, designed for use with a chemical flamethrower."
|
||||
id = "chemical_canister_extended"
|
||||
req_tech = list("materials" = 5, "plasmatech" = 4)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000)
|
||||
reagents_list = list("fuel" = 40)
|
||||
build_path = /obj/item/chemical_canister/extended
|
||||
category = list("Weapons")
|
||||
|
||||
/datum/design/chemical_canister/pyrotechnics
|
||||
name = "Chemical Canister (Pyrotechnics)"
|
||||
desc = "A chemical canister designed to accept pyrotechnics."
|
||||
id = "chemical_canister_pyro"
|
||||
req_tech = list("materials" = 4, "plasmatech" = 6)
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 7500)
|
||||
reagents_list = list("fuel" = 30)
|
||||
build_path = /obj/item/chemical_canister/pyrotechnics
|
||||
category = list("Weapons")
|
||||
|
||||
@@ -264,3 +264,17 @@
|
||||
cost = 250
|
||||
containertype = /obj/structure/largecrate
|
||||
containername = "Plasma canister crate"
|
||||
|
||||
/datum/supply_packs/engineering/chemical_flamethrower
|
||||
name = "Chemical Flamethrower Starter Pack"
|
||||
contains = list(/obj/item/chemical_flamethrower, /obj/item/chemical_canister, /obj/item/chemical_canister)
|
||||
cost = 750
|
||||
containertype = /obj/structure/closet/crate // Just a normal open crate, you can get a gas flamethrower from an autolathe
|
||||
containername = "chemical flamethrower crate"
|
||||
|
||||
/datum/supply_packs/engineering/chemical_canister
|
||||
name = "Chemical Flamethrower Canister Pack"
|
||||
contains = list(/obj/item/chemical_canister, /obj/item/chemical_canister, /obj/item/chemical_canister, /obj/item/chemical_canister, /obj/item/chemical_canister/extended) // One extended canister, as a treat
|
||||
cost = 500
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "chemical flamethrower canister crate"
|
||||
|
||||
Reference in New Issue
Block a user