Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)

## About The Pull Request

it's - conjunction of "it" and "is"
its - possessive form of "it"

grammar is hard, and there were a lot of places where "it's" was used
where it shouldn't have been. i went and painstakingly searched the
entire repository for these instances, spending a few hours on it. i
completely ignored the changelog archive, and i may have missed some
outliers. most player-facing ones should be corrected, though
## Why It's Good For The Game
proper grammar is good

## Changelog
🆑
spellcheck: Numerous instances of "it's" have been properly replaced
with "its"
/🆑
This commit is contained in:
norsvenska
2024-07-21 13:41:37 -06:00
committed by GitHub
parent a8b65dec0c
commit 5f80128fa9
211 changed files with 304 additions and 304 deletions
@@ -9,7 +9,7 @@ ADMIN_VERB(generate_wikichem_list, R_DEBUG, "Parse Wikichems", "Parse and genera
|-
"}
var/input_text = tgui_input_text(user, "Input a name of a reagent, or a series of reagents split with a comma (no spaces) to get it's wiki table entry", "Recipe") //95% of the time, the reagent type is a lowercase, no spaces / underscored version of the name
var/input_text = tgui_input_text(user, "Input a name of a reagent, or a series of reagents split with a comma (no spaces) to get its wiki table entry", "Recipe") //95% of the time, the reagent type is a lowercase, no spaces / underscored version of the name
if(!input_text)
to_chat(user, "Input was blank!")
return
@@ -87,10 +87,10 @@
PRIVATE_PROC(TRUE)
if(QDELETED(holder))
stack_trace("an equilibrium is missing it's holder.")
stack_trace("an equilibrium is missing its holder.")
return FALSE
if(QDELETED(reaction))
stack_trace("an equilibrium is missing it's reaction.")
stack_trace("an equilibrium is missing its reaction.")
return FALSE
if(!length(reaction.required_reagents))
stack_trace("an equilibrium is missing required reagents.")
+18 -18
View File
@@ -82,11 +82,11 @@ Reaction rates are determined by the current temperature of the reagents holder.
The amount added is based off the recipies required_temp, optimal_temp, overheat_temp and temp_exponent_factor. See below:
![image](https://user-images.githubusercontent.com/33956696/104081088-5e571e00-5224-11eb-8834-87aa36b3e45f.png)
the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list).
the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list).
### How pH ranges are set and what pH mechanics do
Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game.
Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game.
As for how you define the reaction variables for a reaction, there are a few new variables for the chemical_recipe datum. I'll go over specifically how pH works for the default reaction.
```dm
@@ -106,7 +106,7 @@ The y axis is the purity of the product made for that time step. This is recalcu
If you're designing a reaction you can define an optimal range between the OptimalpHMin to OptimalpHMax (5 - 7 in this case) and a deterministic region set by the ReactpHLim (5 - 4, 9 + 4 aka between 1 to 5 and 9 to 13). This deterministic region is exponential, so if you set it to 2 then itll exponentially grow, but since our CurveSharpph = 1, its linear (basically normalise the range in the determinsitic region, then put that to the power of CurveSharppH). Finally values outside of these ranges will prevent reactions from starting, but if a reaction drifts out during a reaction, the purity of volume created for each step will be 0 (It does not stop ongoing reactions). Its entirely possible to design a reaction without a deterministic or optimal phase if you wanted.
Though to note; if your purity dips below the PurityMin of a reaction itll call the overly_impure() function which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, itll convert into the failed chem defined by the products failed_chem defined in it's reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just dont call the parent proc when using methods.
Though to note; if your purity dips below the PurityMin of a reaction itll call the overly_impure() function which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, itll convert into the failed chem defined by the products failed_chem defined in its reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just dont call the parent proc when using methods.
### Conditional changes in reagents datum per timestep
@@ -118,7 +118,7 @@ Though to note; if your purity dips below the PurityMin of a reaction itll ca
var/H_ion_release = 0.01 // pH change per 1u reaction
```
The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction.
The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction.
### Reaction flags
@@ -127,11 +127,11 @@ Reaction_flags can be used to set these defines:
```dm
#define REACTION_CLEAR_IMPURE //Convert into impure/pure on reaction completion in the datum/reagents holder instead of on consumption
#define REACTION_CLEAR_INVERSE //Convert into inverse on reaction completion when purity is low enough in the datum/reagents holder instead of on consumption
#define REACTION_CLEAR_RETAIN //Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has it's own impure_chem/inverse_chem and you want it to split again on consumption).
#define REACTION_CLEAR_RETAIN //Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has its own impure_chem/inverse_chem and you want it to split again on consumption).
#define REACTION_INSTANT //Used to create instant reactions
/datum/chemical_reaction
var/reaction_flags
var/reaction_flags
```
For REACTION_CLEAR this causes the purity mechanics to resolve in the beaker at the end of the reaction, instead of when added to a mob.
@@ -145,7 +145,7 @@ Eg:
...
var/required_temp = 300
var/optimal_temp = 200
var/overheat_temp = 50
var/overheat_temp = 50
```
# Reagents
@@ -156,45 +156,45 @@ The new vars that are introduced are below:
var/ph = 7
///Purity of the reagent
var/purity = 1
///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
var/creation_purity = 1
///the purity of the reagent on creation (i.e. when it's added to a mob and its purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
var/creation_purity = 1
//impure chem values (see fermi_readme.dm for more details):
var/impure_chem = /datum/reagent/impurity // What chemical path is made when metabolised as a function of purity
var/inverse_chem_val = 0.2 // If the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising
var/inverse_chem = /datum/reagent/impurity/toxic // What chem is metabolised when purity is below inverse_chem_val
var/failed_chem = /datum/reagent/consumable/failed_reaction //what chem is made at the end of a reaction IF the purity is below the recipies purity_min
var/chemical_flags
var/chemical_flags
```
- `pH` is the innate pH of the reagent and is used to calculate the pH of a reagents datum on addition/removal. This does not change and is a reference value. The reagents datum pH changes.
- `purity` is the INTERNAL value for splitting. This is set to 1 after splitting so that it doesn't infinite split
- `creation_purity` is the purity of the reagent on creation. This won't change. If you want to write code that checks the purity in any of the methods, use this.
- `impure_chem` is the datum type that is created provided that it's `creation_purity` is above the `inverse_chem_val`. When the reagent is consumed it will split into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the `datum/reagents` holder
- `impure_chem` is the datum type that is created provided that its `creation_purity` is above the `inverse_chem_val`. When the reagent is consumed it will split into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the `datum/reagents` holder
- `inverse_chem_val` if a reagent's purity is below this value it will 100% convert into `inverse_chem`. If above it will split into `impure_chem`. See the note on purity effects above
- `inverse_chem` is the datum type that is created provided that it's `creation_purity` is below the `inverse_chem_val`. When the reagent is consumed it will 100% convert into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the `datum/reagents` holder
- `failed_chem` is the chem that the product is 100% converted into if the purity is below the associated `datum/chemical_recipies`' `PurityMin` AT THE END OF A REACTION.
- `inverse_chem` is the datum type that is created provided that its `creation_purity` is below the `inverse_chem_val`. When the reagent is consumed it will 100% convert into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the `datum/reagents` holder
- `failed_chem` is the chem that the product is 100% converted into if the purity is below the associated `datum/chemical_recipies`' `PurityMin` AT THE END OF A REACTION.
When writing any reagent code ALWAYS use creation_purity. Purity is kept for internal mechanics only and wont reflect the purity on creation.
See above for purity mechanics, but this is where you set the reagents that are created. If youre making an impure reagent I recommend looking at impure_reagents.dm to see how theyre set up and consider using the `datum/reagents/impure` as a parent.
The flags you can set for `var/chemical_flags` are:
```dm
```dm
#define REAGENT_DEAD_PROCESS (1<<0) //allows on_mob_dead() if present in a dead body
#define REAGENT_DONOTSPLIT (1<<1) //Do not split the chem at all during processing - ignores all purity effects
#define REAGENT_INVISIBLE (1<<2) //Doesn't appear on handheld health analyzers.
#define REAGENT_SNEAKYNAME (1<<3) //When inverted, the inverted chem uses the name of the original chem
#define REAGENT_SPLITRETAINVOL (1<<4) //Retains initial volume of chem when splitting for purity effects
#define REAGENT_SPLITRETAINVOL (1<<4) //Retains initial volume of chem when splitting for purity effects
/datum/reagent
var/chemical_flags
var/chemical_flags
```
While you might think reagent_flags is a more sensible name - it is already used for beakers. Hopefully this doesn't trip anyone up.
# Relivant vars from the holder.dm / reagents datum
There are a few variables that are useful to know about
There are a few variables that are useful to know about
```dm
/datum/reagents
/// Current temp of the holder volume
@@ -209,4 +209,4 @@ There are a few variables that are useful to know about
- chem_temp is the temperature used in the `datum/chemical_recipe`
- pH is a result of the sum of all reagents, as well as any changes from buffers and reactions. This is the pH used in `datum/chemical_recipe`.
- isReacting is a bool that can be used outside to ensure that you don't touch a reagents that is reacting.
- previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls.
- previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls.
@@ -609,7 +609,7 @@
. = 0
//responsible for removing reagents and computing total ph & volume
//all it's code was taken out of del_reagent() initially for efficiency purposes
//all its code was taken out of del_reagent() initially for efficiency purposes
while(chem_index <= num_reagents)
var/datum/reagent/reagent = cached_reagents[chem_index]
chem_index += 1
+1 -1
View File
@@ -109,7 +109,7 @@
to_chat(user, span_notice("You switch the chemical analyzer to provide a detailed description of each reagent."))
scanmode = DETAILED_CHEM_OUTPUT
else
to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in it's report."))
to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in its report."))
scanmode = SHORTENED_CHEM_OUTPUT
/obj/item/ph_meter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
@@ -203,7 +203,7 @@
ui.send_update()
/**
* Decodes the ui reaction var into it's original name
* Decodes the ui reaction var into its original name
* Arguments
*
* * variable - the name of the variable as seen in the UI
+2 -2
View File
@@ -24,7 +24,7 @@
var/ph = 7
///Purity of the reagent - for use with internal reaction mechanics only. Use below (creation_purity) if you're writing purity effects into a reagent's use mechanics.
var/purity = 1
///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
///the purity of the reagent on creation (i.e. when it's added to a mob and its purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
var/creation_purity = 1
///The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.
var/mass
@@ -270,7 +270,7 @@ Primarily used in reagents/reaction_agents
return creation_purity / normalise_num_to
/**
* Gets the inverse purity of this reagent. Mostly used when converting from a normal reagent to it's inverse one.
* Gets the inverse purity of this reagent. Mostly used when converting from a normal reagent to its inverse one.
*
* Arguments
* * purity - Overrides the purity used for determining the inverse purity.
@@ -536,7 +536,7 @@
/*
*How this medicine works:
*Penthrite if you are not in crit only stabilizes your heart.
*As soon as you pass crit threshold it's special effects kick in. Penthrite forces your heart to beat preventing you from entering
*As soon as you pass crit threshold its special effects kick in. Penthrite forces your heart to beat preventing you from entering
*soft and hard crit, but there is a catch. During this you will be healed and you will sustain
*heart damage that will not imapct you as long as penthrite is in your system.
*If you reach the threshold of -60 HP penthrite stops working and you get a heart attack, penthrite is flushed from your system in that very moment,
@@ -10,7 +10,7 @@
metabolization_rate = 0.5 * REAGENTS_METABOLISM
creation_purity = 1 // impure base reagents are a big no-no
ph = 7.33
burning_temperature = 2193//ethanol burns at 1970C (at it's peak)
burning_temperature = 2193//ethanol burns at 1970C (at its peak)
burning_volume = 0.1
default_container = /obj/item/reagent_containers/cup/glass/bottle/beer
fallback_icon = 'icons/obj/drinks/bottles.dmi'
@@ -227,7 +227,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
///Prevents message spam
var/spammer = 0
//Just the removed itching mechanism - omage to it's origins.
//Just the removed itching mechanism - omage to its origins.
/datum/reagent/inverse/ichiyuri/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
. = ..()
if(prob(resetting_probability) && !(HAS_TRAIT(affected_mob, TRAIT_RESTRAINED) || affected_mob.incapacitated()))
@@ -928,7 +928,7 @@
reagent_state = GAS
color = COLOR_GRAY
taste_mult = 0 // oderless and tasteless
ph = 9.2//It's acutally a huge range and very dependant on the chemistry but ph is basically a made up var in it's implementation anyways
ph = 9.2//It's acutally a huge range and very dependant on the chemistry but ph is basically a made up var in its implementation anyways
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
@@ -2685,7 +2685,7 @@
/datum/reagent/metalgen
name = "Metalgen"
data = list("material"=null)
description = "A purple metal morphic liquid, said to impose it's metallic properties on whatever it touches."
description = "A purple metal morphic liquid, said to impose its metallic properties on whatever it touches."
color = "#b000aa"
taste_mult = 0 // oderless and tasteless
chemical_flags = REAGENT_NO_RANDOM_RECIPE
@@ -110,7 +110,7 @@
/datum/reagent/reaction_agent/speed_agent
name = "Tempomyocin"
description = "This reagent will consume itself and speed up an ongoing reaction, modifying the current reaction's purity by it's own."
description = "This reagent will consume itself and speed up an ongoing reaction, modifying the current reaction's purity by its own."
ph = 10
color = "#e61f82"
+1 -1
View File
@@ -151,7 +151,7 @@
return
/**
* Occurs when a reation is overheated (i.e. past it's overheatTemp)
* Occurs when a reation is overheated (i.e. past its overheatTemp)
* Will be called every tick in the reaction that it is overheated
* If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE
* The above is useful if you're writing an explosion
@@ -155,7 +155,7 @@
if(off_cooldown(holder, equilibrium, 2, "hercuri_freeze"))
return
playsound(holder.my_atom, 'sound/magic/ethereal_exit.ogg', 50, 1)
holder.my_atom.visible_message("The reaction frosts over, releasing it's chilly contents!")
holder.my_atom.visible_message("The reaction frosts over, releasing its chilly contents!")
var/radius = max((equilibrium.step_target_vol/50), 1)
freeze_radius(holder, equilibrium, 200, radius, 60 SECONDS) //drying agent exists
explode_shockwave(holder, equilibrium, sound_and_text = FALSE)
@@ -499,7 +499,7 @@
return ..()
var/turf/local_turf = get_turf(holder.my_atom)
playsound(local_turf, 'sound/magic/ethereal_exit.ogg', 50, 1)
local_turf.visible_message("The reaction frosts over, releasing it's chilly contents!")
local_turf.visible_message("The reaction frosts over, releasing its chilly contents!")
freeze_radius(holder, null, holder.chem_temp*2, clamp(cryostylane.volume/30, 2, 6), 120 SECONDS, 2)
clear_reactants(holder, 15)
holder.chem_temp += 100
@@ -345,9 +345,9 @@ GLOBAL_LIST_INIT(medicine_reagents, build_medicine_reagents())
dat += " <li>heating it above [recipe.required_temp] degrees"
dat += " but not above [recipe.overheat_temp] degrees"
if(recipe.thermic_constant > 0)
dat += "<li> taking care of it's exothermic nature</li>"
dat += "<li> taking care of its exothermic nature</li>"
else if(recipe.thermic_constant < 0)
dat += "<li> taking care of it's endothermic nature</li>"
dat += "<li> taking care of its endothermic nature</li>"
var/datum/chemical_reaction/randomized/random_recipe = recipe
if(random_recipe)
if(random_recipe.randomize_req_ph)
@@ -316,7 +316,7 @@
var/mob/living/thrower = throwingdatum?.get_thrower()
if(thrower)
thrower.add_mood_event("bottle_flip", /datum/mood_event/bottle_flip)
else // landed on it's side
else // landed on its side
animate(src, transform = matrix(prob(50)? 90 : -90, MATRIX_ROTATE), time = 3, loop = 0)
/obj/item/reagent_containers/cup/glass/waterbottle/pickup(mob/user)