Freon fixes, tweaks and balancing (#50153)

* balancing, fixes, tweaks

* freon specific_heat increase

* fix an issue with negative temperature

* changed HyperNob canister color

* done change request and tweaked more the hardcap limit
This commit is contained in:
Ghilker
2020-03-28 21:31:35 +01:00
committed by GitHub
parent 34c93e55ab
commit 22cf0dc785
10 changed files with 15 additions and 14 deletions
+1 -1
View File
@@ -93,7 +93,7 @@
#define COLD_FIRE_SPREAD_RADIOSITY_SCALE 0.95
#define COLD_FIRE_GROWTH_RATE 40000
#define FREON_MAXIMUM_BURN_TEMPERATURE 293
#define FREON_LOWER_TEMPERATURE 30 //minimum temperature allowed for the burn to go, we would have negative pressure otherwise
#define FREON_LOWER_TEMPERATURE 60 //minimum temperature allowed for the burn to go, we would have negative pressure otherwise
#define FREON_OXYGEN_FULLBURN 10
//GASES
+1 -1
View File
@@ -12,7 +12,7 @@
#define WATER_VAPOR_FREEZE 200
//freon reaction
#define FREON_BURN_RATE_DELTA 4
#define FIRE_FREON_ENERGY_RELEASED -200000 //amount of heat absorbed per mole of burnt freon in the tile
#define FIRE_FREON_ENERGY_RELEASED -300000 //amount of heat absorbed per mole of burnt freon in the tile
#define N2O_DECOMPOSITION_MIN_ENERGY 1400
#define N2O_DECOMPOSITION_ENERGY_RELEASED 200000
+4 -4
View File
@@ -259,13 +259,13 @@ Unless you know what you're doing, only use the first three numbers. They're in
alpha = 150
categories = list(MAT_CATEGORY_RIGID = TRUE)
sheet_type = /obj/item/stack/sheet/hot_ice
value_per_unit = 0.5
beauty_modifier = 0.5
value_per_unit = 0.75
beauty_modifier = 0.75
/datum/material/hot_ice/on_applied(atom/source, amount, material_flags)
. = ..()
source.AddComponent(/datum/component/hot_ice, "plasma", amount*50, amount*20+300)
source.AddComponent(/datum/component/hot_ice, "plasma", amount*150, amount*20+300)
/datum/material/hot_ice/on_removed(atom/source, amount, material_flags)
qdel(source.GetComponent(/datum/component/hot_ice, "plasma", amount*50, amount*20+300))
qdel(source.GetComponent(/datum/component/hot_ice, "plasma", amount*150, amount*20+300))
return ..()
@@ -5,7 +5,7 @@
singular_name = "hot ice"
icon = 'icons/obj/stack_objects.dmi'
custom_materials = list(/datum/material/hot_ice=MINERAL_MATERIAL_AMOUNT)
grind_results = list(/datum/reagent/toxin/plasma = 200)
grind_results = list(/datum/reagent/toxin/plasma = 300)
material_type = /datum/material/hot_ice
/obj/item/stack/sheet/hot_ice/suicide_act(mob/living/carbon/user)
@@ -156,7 +156,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
/datum/gas/freon
id = "freon"
specific_heat = 300
specific_heat = 600
name = "Freon"
gas_overlay = "freon"
moles_visible = MOLES_GAS_VISIBLE *30
@@ -267,7 +267,7 @@ datum/gas_reaction/freonfire/react(datum/gas_mixture/air, datum/holder)
temperature_scale = 0
else
temperature_scale = (FREON_MAXIMUM_BURN_TEMPERATURE - temperature)/(FREON_MAXIMUM_BURN_TEMPERATURE - FREON_LOWER_TEMPERATURE) //calculate the scale based on the temperature
if(temperature_scale > 0)
if(temperature_scale >= 0)
oxygen_burn_rate = OXYGEN_BURN_RATE_BASE - temperature_scale
if(cached_gases[/datum/gas/oxygen][MOLES] > cached_gases[/datum/gas/freon][MOLES]*FREON_OXYGEN_FULLBURN)
freon_burn_rate = (cached_gases[/datum/gas/freon][MOLES]*temperature_scale)/FREON_BURN_RATE_DELTA
@@ -281,7 +281,7 @@ datum/gas_reaction/freonfire/react(datum/gas_mixture/air, datum/holder)
ASSERT_GAS(/datum/gas/carbon_dioxide,air)
cached_gases[/datum/gas/carbon_dioxide][MOLES] += freon_burn_rate
if(temperature < 150 && temperature > 130 && prob(2))
if(temperature < 160 && temperature > 120 && prob(2))
new /obj/item/stack/sheet/hot_ice(location)
energy_released += FIRE_FREON_ENERGY_RELEASED * (freon_burn_rate)
@@ -458,7 +458,7 @@ datum/gas_reaction/freonfire/react(datum/gas_mixture/air, datum/holder)
/datum/gas/plasma = 40,
/datum/gas/carbon_dioxide = 20,
/datum/gas/bz = 20,
"TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
"TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + 100
)
/datum/gas_reaction/freonformation/react(datum/gas_mixture/air)
@@ -472,7 +472,7 @@ datum/gas_reaction/freonfire/react(datum/gas_mixture/air, datum/holder)
return NO_REACTION
cached_gases[/datum/gas/plasma][MOLES] -= heat_efficency * 5
cached_gases[/datum/gas/carbon_dioxide][MOLES] -= heat_efficency
cached_gases[/datum/gas/bz][MOLES] -= heat_efficency * 0.5
cached_gases[/datum/gas/bz][MOLES] -= heat_efficency * 0.25
cached_gases[/datum/gas/freon][MOLES] += heat_efficency * 2
if(energy_used > 0)
@@ -113,7 +113,7 @@
/obj/machinery/portable_atmospherics/canister/nob
name = "hyper-noblium canister"
desc = "Hyper-Noblium. More noble than all other gases."
icon_state = "freon"
icon_state = "nob"
gas_type = /datum/gas/hypernoblium
/obj/machinery/portable_atmospherics/canister/nitryl
+2 -1
View File
@@ -130,7 +130,7 @@
var/obj/machinery/portable_atmospherics/canister/C = O
var/worth = 10
var/gases = C.air_contents.gases
C.air_contents.assert_gases(/datum/gas/bz,/datum/gas/stimulum,/datum/gas/hypernoblium,/datum/gas/miasma,/datum/gas/tritium,/datum/gas/pluoxium)
C.air_contents.assert_gases(/datum/gas/bz,/datum/gas/stimulum,/datum/gas/hypernoblium,/datum/gas/miasma,/datum/gas/tritium,/datum/gas/pluoxium,/datum/gas/freon)
worth += gases[/datum/gas/bz][MOLES]*4
worth += gases[/datum/gas/stimulum][MOLES]*100
@@ -138,4 +138,5 @@
worth += gases[/datum/gas/miasma][MOLES]*10
worth += gases[/datum/gas/tritium][MOLES]*5
worth += gases[/datum/gas/pluoxium][MOLES]*5
worth += gases[/datum/gas/freon][MOLES]*15
return worth
Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB