Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research Nerfs, Fixes #8077

Closed
wants to merge 22 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions code/__DEFINES/chemistry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,8 @@
#define PROPERTY_TYPE_COMBUSTIBLE 512

// Defines for pain applied pr tick by chems
#define PROPERTY_PAINING_PAIN 0.5
#define PROPERTY_PAINING_PAIN_OD 1
#define PROPERTY_PAINING_PAIN 3
#define PROPERTY_PAINING_PAIN_OD 6
#define PROPERTY_DEFIBRILLATING_PAIN_OD 1
#define PROPERTY_CARDIOPEUTIC_PAIN_CRITICAL 3

Expand Down Expand Up @@ -298,7 +298,7 @@
#define POTENCY_MULTIPLIER_EXTREME 10

//used in speed_modifier component
#define HUMAN_STAMINA_MULTIPLIER 5
#define HUMAN_STAMINA_MULTIPLIER 3

/*
Chemical explosions/fires
Expand Down
3 changes: 1 addition & 2 deletions code/_globalvars/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ GLOBAL_LIST_INIT_TYPED(conflicting_properties, /list, list( PROPERTY_NUTRITIOUS
PROPERTY_HYPOMETABOLIC = PROPERTY_HYPERMETABOLIC, PROPERTY_HYPERTHROTTLING = PROPERTY_NEUROINHIBITING,
PROPERTY_FOCUSING = PROPERTY_NERVESTIMULATING, PROPERTY_THERMOSTABILIZING = PROPERTY_HYPERTHERMIC, PROPERTY_THERMOSTABILIZING = PROPERTY_HYPOTHERMIC,
PROPERTY_AIDING = PROPERTY_NEUROINHIBITING, PROPERTY_OXYGENATING = PROPERTY_HYPOXEMIC, PROPERTY_ANTICARCINOGENIC = PROPERTY_CARCINOGENIC, \
PROPERTY_CIPHERING = PROPERTY_CIPHERING_PREDATOR, PROPERTY_TRANSFORMATIVE = PROPERTY_ANTITOXIC, PROPERTY_MUSCLESTIMULATING = PROPERTY_NERVESTIMULATING))
PROPERTY_CIPHERING = PROPERTY_CIPHERING_PREDATOR, PROPERTY_HEMOSITIC = PROPERTY_HEMOGENIC, PROPERTY_HEMOSITIC = PROPERTY_YAUTJA_HEMOGENIC, PROPERTY_TRANSFORMATIVE = PROPERTY_ANTITOXIC, PROPERTY_MUSCLESTIMULATING = PROPERTY_NERVESTIMULATING))
//list of all properties that combine into something else, now featured in global list
GLOBAL_LIST_INIT_TYPED(combining_properties, /list, list( PROPERTY_DEFIBRILLATING = list(PROPERTY_MUSCLESTIMULATING, PROPERTY_CARDIOPEUTIC),\
PROPERTY_THANATOMETABOL = list(PROPERTY_HYPOXEMIC, PROPERTY_CRYOMETABOLIZING, PROPERTY_NEUROCRYOGENIC),\
Expand All @@ -145,7 +145,6 @@ GLOBAL_LIST_INIT_TYPED(combining_properties, /list, list( PROPERTY_DEFIBRILLATIN
PROPERTY_CIPHERING_PREDATOR = list(PROPERTY_CIPHERING, PROPERTY_CROSSMETABOLIZING),\
PROPERTY_FIRE_PENETRATING = list(PROPERTY_OXYGENATING, PROPERTY_VISCOUS),\
PROPERTY_BONEMENDING = list(PROPERTY_HYPERDENSIFICATING, PROPERTY_NUTRITIOUS),\
PROPERTY_BONEMENDING = list(PROPERTY_HYPERDENSIFICATING, PROPERTY_NUTRITIOUS),\
PROPERTY_ENCEPHALOPHRASIVE = list(PROPERTY_NERVESTIMULATING, PROPERTY_PSYCHOSTIMULATING)))
//List of all id's from classed /datum/reagent datums indexed by class or tier. Used by chemistry generator and chem spawners.
GLOBAL_LIST_INIT_TYPED(chemical_gen_classes_list, /list, list("C" = list(),"C1" = list(),"C2" = list(),"C3" = list(),"C4" = list(),"C5" = list(),"C6" = list(),"T1" = list(),"T2" = list(),"T3" = list(),"T4" = list(),"tau", list()))
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/speed_modifier.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
return
if(!increase_speed)
speeds["speed"] += speed_modifier * 0.075
else //increasing speed is more effective than decreasing speed
speeds["speed"] -= speed_modifier * 0.1
else //increasing speed is less effective than decreasing speed
speeds["speed"] -= speed_modifier * 0.05

#undef MAX_ALPHA
#undef GLOW_COLOR
20 changes: 9 additions & 11 deletions code/datums/research_upgrade_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -134,24 +134,22 @@

/datum/research_upgrades/item/flamer_tank
name = "Upgraded Incinerator Tank"
desc = "An upgraded incinerator tank, with larger capacity and able to handle stronger fuels."
value_upgrade = 300
clearance_req = 1
change_purchase = 100
minimum_price = 100
maximum_price = 1000
desc = "An upgraded incinerator tank, able to handle stronger fuels at the cost of fuel efficiency."
value_upgrade = 2000
clearance_req = 4
change_purchase = -200
mainimum_price = 1000

Check failure on line 141 in code/datums/research_upgrade_datum.dm

View workflow job for this annotation

GitHub Actions / Run Linters

undefined var 'mainimum_price' on type '/datum/research_upgrades/item/flamer_tank'
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE
item_reference = /obj/item/ammo_magazine/flamer_tank/custom/upgraded

/datum/research_upgrades/item/flamer_tank/smoke
name = "Upgraded Incinerator Smoke Tank"
desc = "An upgraded incinerator smoke tank with a larger capacity."
value_upgrade = 100 //not useful enough to be expensive
clearance_req = 1
change_purchase = 50
minimum_price = 100
maximum_price = 500
value_upgrade = 500 //not useful enough to be expensive
clearance_req = 2
change_purchase = -50
mainimum_price = 200

Check failure on line 152 in code/datums/research_upgrade_datum.dm

View workflow job for this annotation

GitHub Actions / Run Linters

undefined var 'mainimum_price' on type '/datum/research_upgrades/item/flamer_tank/smoke'
item_reference = /obj/item/ammo_magazine/flamer_tank/smoke/upgraded

/datum/research_upgrades/armor
Expand Down
9 changes: 3 additions & 6 deletions code/modules/hydroponics/hydro_tray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@
if(draw_warnings) update_icon() //Harvesting would fail to set alert icons properly.
return

// Advance plant age.
if(prob(30)) age += 1 * HYDRO_SPEED_MULTIPLIER
// Advance plant age, as long as it is not lacking food or water
if(prob(30) && nutrilevel > 0 && waterlevel > 0) age += 1 * HYDRO_SPEED_MULTIPLIER

//Highly mutable plants have a chance of mutating every tick.
if(seed.immutable == -1)
Expand All @@ -211,14 +211,11 @@

// Make sure the plant is not starving or thirsty. Adequate
// water and nutrients will cause a plant to become healthier.
// Checks if there are sufficient enough nutrients, if not the plant dies.
var/healthmod = rand(1,3) * HYDRO_SPEED_MULTIPLIER
if(seed.requires_nutrients && prob(35))
plant_health += (nutrilevel < 2 ? -healthmod : healthmod)
if(seed.requires_water && prob(35))
plant_health += (waterlevel < 10 ? -healthmod : healthmod)
if(nutrilevel < 1)
plant_health = 0

// Check that pressure, heat are all within bounds.
// First, handle an open system or an unconnected closed system.
Expand Down Expand Up @@ -704,7 +701,7 @@
toxins = 0
yield_mod = 0
mutation_mod = 0
waterlevel = 0
waterlevel = 100
nutrilevel = 0
pestlevel = 0
weedlevel = 0
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/xenomorph/castes/Warrior.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
icon = 'icons/mob/xenos/castes/tier_2/warrior.dmi'
icon_size = 64
icon_state = "Warrior Walking"
plasma_types = list(PLASMA_CATECHOLAMINE)
plasma_types = list(PLASMA_CHITIN)
pixel_x = -16
old_x = -16
tier = 2
Expand Down
6 changes: 3 additions & 3 deletions code/modules/projectiles/magazines/flamer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -257,12 +257,12 @@
//tanks printable by the research biomass machine
/obj/item/ammo_magazine/flamer_tank/custom/upgraded
name = "upgraded custom incinerator tank"
desc = "A fuel tank used to store fuel for use in the M240 incinerator unit. This one has been modified with a larger and more sophisticated internal propellant tank, allowing for bigger capacity and stronger fuels."
desc = "A fuel tank used to store fuel for use in the M240 incinerator unit. This one has been modified with a larger and more sophisticated internal propellant tank, allowing for stronger fuels at the cost of fuel efficiency."
matter = list("metal" = 50) // no free metal
flamer_chem = null
max_rounds = 200
max_range = 7
fuel_pressure = 1
max_range = 5
fuel_pressure = 2
max_duration = 50
max_intensity = 60
custom = TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@
reference_property = reference_prop
if(!reference_property)
to_chat(usr, SPAN_WARNING("The [src] makes a suspicious wail."))
update_costs()

Check failure on line 276 in code/modules/reagents/chemistry_machinery/chem_simulator.dm

View workflow job for this annotation

GitHub Actions / Run Linters

got '{', expected one of: operator, field access, ';'
return
if("simulate")
if(!ready)
Expand Down
64 changes: 62 additions & 2 deletions code/modules/reagents/chemistry_properties/prop_negative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,66 @@
/datum/chem_property/negative/addictive/process_critical(mob/living/M, potency = 1, delta_time)
M.disabilities |= NERVOUS


//properties with combat uses
/datum/chem_property/positive/disrupting
name = PROPERTY_DISRUPTING
code = "DSR"
description = "Disrupts certain neurological processes related to communication in animals."
rarity = PROPERTY_UNCOMMON
cost_penalty = FALSE

/datum/chem_property/positive/disrupting/process(mob/living/M, potency = 1)
to_chat(M, SPAN_NOTICE("Your mind feels oddly... quiet."))

/datum/chem_property/positive/disrupting/process_overdose(mob/living/M, potency = 1)
M.apply_internal_damage(potency, "brain")

/datum/chem_property/positive/disrupting/process_critical(mob/living/M, potency = 1)
M.apply_effect(potency, PARALYZE)

/datum/chem_property/positive/disrupting/reaction_mob(mob/M, method=TOUCH, volume, potency)
if(!isxeno(M))
return
var/mob/living/carbon/xenomorph/xeno = M
xeno.AddComponent(/datum/component/status_effect/interference, volume * potency, 90)

/datum/chem_property/positive/neutralizing
name = PROPERTY_NEUTRALIZING
code = "NEU"
description = "Neutralizes certain reactive chemicals and plasmas on contact. Unsafe to administer intravenously."
rarity = PROPERTY_UNCOMMON
category = PROPERTY_TYPE_IRRITANT
cost_penalty = FALSE

/datum/chem_property/positive/neutralizing/process(mob/living/M, potency = 1)
M.apply_damages(0, potency, potency * POTENCY_MULTIPLIER_LOW)

/datum/chem_property/positive/neutralizing/process_overdose(mob/living/M, potency = 1)
M.apply_damages(0, POTENCY_MULTIPLIER_MEDIUM * potency, potency)

/datum/chem_property/positive/neutralizing/process_critical(mob/living/M, potency = 1)
M.apply_internal_damage(potency, "liver")

/datum/chem_property/positive/neutralizing/reaction_mob(mob/M, method=TOUCH, volume, potency)
if(!isliving(M))
return
var/mob/living/L = M
L.ExtinguishMob() //Extinguishes mobs on contact
if(isxeno(L))
var/mob/living/carbon/xenomorph/xeno = M
xeno.plasma_stored = max(xeno.plasma_stored - POTENCY_MULTIPLIER_HIGH * volume * potency, 0)
to_chat(xeno, SPAN_WARNING("You feel your plasma reserves being drained!"))

/datum/chem_property/positive/neutralizing/reaction_turf(turf/T, volume, potency)
if(!istype(T))
return
for(var/obj/flamer_fire/F in T) //Extinguishes fires and acid
qdel(F)
for(var/obj/effect/xenomorph/acid/A in T)
qdel(A)


//PROPERTY_DISABLED (in generation)
/datum/chem_property/negative/hemositic
name = PROPERTY_HEMOSITIC
Expand All @@ -495,14 +555,14 @@
return
..()
var/mob/living/carbon/C = M
C.blood_volume = max(C.blood_volume - POTENCY_MULTIPLIER_VHIGH * potency, 0)
C.blood_volume = max(C.blood_volume - POTENCY_MULTIPLIER_HIGH * potency, 0)
holder.volume++

/datum/chem_property/negative/hemositic/process_overdose(mob/living/M, potency = 1, delta_time)
if(!iscarbon(M))
return
var/mob/living/carbon/C = M
C.blood_volume = max(C.blood_volume-10*potency,0)
C.blood_volume = max(C.blood_volume - POTENCY_MULTIPLIER_VHIGH * potency, 0)
holder.volume += potency * POTENCY_MULTIPLIER_MEDIUM

/datum/chem_property/negative/hemositic/process_critical(mob/living/M, potency = 1, delta_time)
Expand Down
2 changes: 0 additions & 2 deletions code/modules/reagents/chemistry_properties/prop_neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -555,12 +555,10 @@
category = PROPERTY_TYPE_REACTANT|PROPERTY_TYPE_COMBUSTIBLE

/datum/chem_property/neutral/viscous/reset_reagent()
holder.chemfiresupp = initial(holder.chemfiresupp)
holder.radiusmod = initial(holder.radiusmod)
..()

/datum/chem_property/neutral/viscous/update_reagent()
holder.chemfiresupp = TRUE
holder.radiusmod -= 0.025 * level
..()

Expand Down
Loading
Loading