User:Thalpy: Difference between revisions

From /tg/station 13 Wiki
Jump to navigation Jump to search
Thalpy (talk | contribs)
Catalyst
Thalpy (talk | contribs)
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
If you have feedback/concerns, I'm happy to hear them! Link to PR: https://github.com/tgstation/tgstation/pull/56019
<!--
Invisible comment for wiki editors:


'''There was a master controller bug that caused reactions to be low prio - heavily contributing to the issue of slow reactions. This should be fixed when the testmerge is updated. Apologies for any frustration caused. In addition to this fix, plumbing should be 20-33% faster (regardless of the bugfix improvments mentioned before.) Please keep giving me feedback!!'''
How to make a recipe recursive (giving it multi-level mouseover tooltips):
1. Create a new template page. Example: https://tgstation13.org/wiki/Template:RecursiveChem/Modafinil
2. Edit that page with the recipe. Again, see Modafinil for an example of what it should look like.  
3. Replace the recipe on this Guide to Chemistry page with {{RecursiveChem/Modafinil}} <- Replace modafinil with the actual chem name.  


= Recipe changes=
Finished.


{| class="wikitable sortable" style="width:100%; text-align:left; border: 3px solid #FFDD66; cellspacing=0; cellpadding=2; background-color:white;"
ShadowQuill, who originally added this feature May 2019, made another guide here:
! scope="col" style='width:150px; background-color:#FFDD66;'|Name
https://tgstation13.org/wiki/Template:RecursiveChem
! scope="col" class="unsortable" style='width:150px; background-color:#FFDD66;'|Recipe
! scope="col" class="unsortable" style='width:200px; style='background-color:#FFDD66;'|Reaction vars
! scope="col" class="unsortable" style='background-color:#FFDD66;'|Description
! scope="col" class="unsortable" style='background-color:#FFDD66;'|Chemical properties
! scope="col" style='background-color:#FFDD66;'|pH
|-
!style='background-color:#ff8a88;'|{{anchor|ALL reactions (unless specified)}}ALL reactions (unless specified)<span style="color:#3853a4;background-color:white">?</span>
|See https://tgstation13.org/wiki/Guide_to_chemistry
|<br><b>Min react temp:</b> 100K <br><b>Overheat temp:</b> 900K <br><b>Optimal pH range:</b> 5 to 9 <br><b>Min purity:</b> 0.15 <br>Mildly exothermic<br>Mildly H+ consuming
|This is a catch all default reaction. In most cases it'll easily resolve to a purity 1 product.
|n/a 
|n/a
|-
!style='background-color:#7edef7;'|Medicine reactions (unless specified)<span style="color:#3853a4;background-color:white">?</span>
|See https://tgstation13.org/wiki/Guide_to_chemistry
|<b>Required temp:</b> 100K <br><br><b>Optimal temp:</b> 700K <br><b>Overheat temp:</b> 900K <br><b>Optimal pH range:</b> 5 to 10 <br><b>Min purity:</b> 0.15 <br>Mildly exothermic<br>Mildly H+ consuming
|This is a catch all default reaction. In most cases it'll easily resolve to a purity 1 product.
|n/a 
|n/a
|-
!style='background-color:#a3e070;'|Palladium synthate catalyst<span style="color:#3853a4;background-color:white">?</span>
|3u Libital<br>4u Probital<br>2u Plasma
|<b>Required temp:</b> 320K <br><b>Overheat temp:</b> 800K <br><b>Optimal pH range:</b> 5 to 6 <br><b>Min purity:</b> 0 <br>H+ producing<br>Very exothermic
|This will cause all medicines reacted in the same beaker to react faster, with it's speed equal to the purity of the catalyst (up to 2x, though it is still limited by it's maximum rate). An impure catalyst can be purposely made to slow down reactions, if desired. At least 10u is required in a beaker for it to have any effect on the reactions contained within.
|n/a 
|n/a
|-
!style='background-color:#ff8a88;'|{{anchor|Drink reactions}}Drink reactions<span style="color:#3853a4;background-color:white">?</span>
|See https://tgstation13.org/wiki/Drinks
|<br><b>Min react temp:</b> 100K <br><b>Overheat temp:</b> 900K <br><b>Optimal pH range:</b> 2 to 10 <br><b>Min purity:</b> 0.15 <br>Mildly exothermic
|This is a catch all default reaction. In most cases it'll easily resolve to a purity 1 product.
|n/a 
|n/a
|-
!style='background-color:#FFEE88;'|{{anchor|Acidic buffer}}Acidic buffer<span style="color:#fbc314;background-color:white">?</span>
|1 parts [[#Saline-Glucose Solution|Saline-Glucose Solution]]<br>3 parts [[#Ethanol|Ethanol]]<br>3 parts [[#Oxygen|Oxygen]]<br>3 parts [[#Water|Water]]<br>
|<br><b>Min react temp:</b> 250K <br><b>Overheat temp:</b> 9999K <br><b>pH range:</b> 0 to 14 <br><b>Min purity:</b> 0.15 <br>Mildly H+ producing
|This reagent will consume itself and move the pH of a beaker towards acidity when added to another.
|Metabolism rate: 0.2u/s 
|0
|-
!style='background-color:#FFEE88;'|{{anchor|Basic buffer}}Basic buffer<span style="color:#3853a4;background-color:white">?</span>
|1 parts [[#Lye|Lye]]<br>2 parts [[#Ethanol|Ethanol]]<br>2 parts [[#Water|Water]]<br>Catalyst: 1u [[#Sulphuric acid|Sulphuric acid]]<br>
|<br><b>Min react temp:</b> 250K <br><b>Overheat temp:</b> 9999K <br><b>pH range:</b> 0 to 14 <br><b>Min purity:</b> 0.15 <br>Mildly H+ consuming
|This reagent will consume itself and move the pH of a beaker towards alkalinity when added to another.
|Metabolism rate: 0.2u/s 
|14
|-
!style='background-color:#7edef7;'|Purity Tester<span style="color:#3853a4;background-color:white">?</span>
|1u prefactor a<br>1u stable plasma
|<b>Required temp:</b> 800K <br><b>Overheat temp:</b> none <br><b>Optimal pH range:</b> 2 to 12 <br><b>Min purity:</b> 0.25 <br>minorly H+ producing
|When added to a beaker, this reagent will either fizzle if a reagent in there is impure, or will do nothing if all of the reagents are above their purity threshold.
|n/a 
|n/a
|-
!style='background-color:#7edef7;'|Prefactor a<span style="color:#3853a4;background-color:white">?</span>
|1u phenol<br>3u ethanol<br>1u plasma
|<b>Required temp:</b> 800K <br><b>Overheat temp:</b> none <br><b>Optimal pH range:</b> 2 to 12 <br><b>Min purity:</b> 0.25 <br>Very Endothermic
|This is part of a competitive reaction between Purity Tester and Tempomyocin. This outcompetes when the reaction is cold.
|n/a 
|n/a
|-
!style='background-color:#7edef7;'|Tempomyocin<span style="color:#3853a4;background-color:white">?</span>
|1u prefactor b<br>1u stable plasma
|<b>Required temp:</b> 50K <br><b>Overheat temp:</b> 500K <br><b>Optimal pH range:</b> 5 to 8 <br><b>Min purity:</b> 0.35 <br>H+ producing
|This will instantly speed up any reaction added it is added to, giving it a short burst of speed. Adding this reagent to a reaction will give it a suddent speed boost up to 3x times - with the output purity of the boost modified by the Tempomyocin's purity.5u per 100u will give you 2x, 10 u per 100u will give you 3x. IIt caps at 3x for a single addition, but there is nothing preventing you from adding multiple doses for multiple boosts.
|n/a 
|n/a
|-
!style='background-color:#7edef7;'|Prefactor b<span style="color:#3853a4;background-color:white">?</span>
|1u phenol<br>3u ethanol<br>1u plasma
|<b>Required temp:</b> 50K <br><b>Overheat temp:</b> 500K <br><b>Optimal pH range:</b> 5 to 8 <br><b>Min purity:</b> 0.35 <br>Extremely Endothermic<br>minor H+ producing<br>Dangerously volitile
|This is part of a competitive reaction between Purity Tester and Tempomyocin. This outcompetes when the reaction is hot.
|n/a 
|n/a
|-
!style='background-color:#FFEE88;'|{{anchor|Ammonia}}Ammonia <span style="color:#404030;background-color:white">?</span>
|{{RecursiveChem/Ammonia}}
|<br><b>Min react temp:</b> 100K <br><b>Overheat temp:</b> 900K <br><b>Optimal pH range:</b> 1 to 12 <br><b>Min purity:</b> 0.15 <br>Mildly exothermic<br>Mildly H+ consuming
|An effective [[Guide_to_hydroponics#Ammonia|fertilizer]]. Ingredient in many recipes. (Results in 3 units instead of 4)
<div class="toccolours mw-collapsible mw-collapsed">
Used in:
<div class="mw-collapsible-content">
[[#Diethylamine|Diethylamine]], [[#Aiuri|Aiuri]], [[#Salbutamol|Salbutamol]], [[#Pentetic Acid|Pentetic Acid]], [[#Crank|Crank]], [[#Modafinil|Modafinil]], [[#Nitrous Oxide|Nitrous Oxide]], [[#Space Cleaner|Space Cleaner]], [[#Cyanide|Cyanide]], [[#Itching Powder|Itching Powder]] and [[#Weed Killer|Weed Killer]].
</div>
</div>
|-
!style='background-color:#FFEE88;'|{{anchor|Rhigoxane}}{{anchor|Hercuri}}Hercuri<span style="color:#F7FFA5;background-color:white">?</span>
|{{RecursiveChem/Hercuri}}
|<b>Cold reaction</b><br><b>Min react temp:</b> 47K <br><b>Overheat temp:</b> 5K <br><b>pH range:</b> 5 to 9 <br><b>Min purity:</b> 0.15 <br>Endothermic<br>Mildly H+ consuming
|Heals burn damage and can cool you to unsafe levels. If applied with [[#Vapor|vapor]] such as with a [[General_items#Space_Cleaner|spray bottle]] [[File:Cleaner.png]] it also removes some firestacks (extinguishes you).
* If burn is over 50: Heals 2 burn.
* If burn is under 50: Heals 1.25 burn.
Overdose cools you down even more. Was originally named  '''Rhigoxane'''.
|Metabolism rate: 0.2 u/s<br>OD: 25 Units
|-
!style='background-color:#7edef7;'|Methamphetamine<span style="color:#3853a4;background-color:white">?</span>
|{{RecursiveChem/Methamphetamine}}
|<b>Required temp:</b> 372K <br><b>Overheat temp:</b> 380K <br><b>Optimal pH range:</b> 6.5 to 7.5 <br><b>Min purity:</b> 0.5 <br>Exothermic nature is tied to purity<br>H+ producing
|The lower the impurty is, the higher the heat produced will be. Keep some basic buffer handy and keep your pH between the tight window and you should have no problems.
|n/a 
|n/a
|-
!style='background-color:#FFEE88;'|{{anchor|Firefighting Foam}}Firefighting Foam<span style="color:#A6FAFF55;background-color:white">?</span>
|{{RecursiveChem/Firefighting Foam}}
|<b>Cold reaction</b><br><b>Min react temp:</b> 200K <br><b>Overheat temp:</b> 5K <br><b>pH range:</b> 5 to 9 <br><b>Min purity:</b> 0.15 <br>Very endothermic<br>Mildly H+ consuming
|When used in a spray or with [[#Smoke|smoke]] it creates a non-slippery [[#Fluorosurfactant|foam]] which extinguishes fires and burning creatures, and removes burning plasma from the air, dumping it on the floor upon dissipation.
|Metabolism rate: 0.4u/s
|-
!style='background-color:#FFEE88;'|{{anchor|Chocolate milk}}Chocolate milk<span style="color:#A6FAFF55;background-color:white">?</span>
|3 parts [[#Dutch_Hot_Coco|Hot Coco]], 2 parts Coco Powder, under 300K temperature.
|<b>Cold reaction</b><br><b>Min react temp:</b> 300K <br><b>Overheat temp:</b> 5K <br><b>pH range:</b> 5 to 9 <br><b>Min purity:</b> 0.15 <br>mildly endothermic
|20% chance per tick to heal 1 brute damage in a random body part and purges capsaicin oil.<br>Tasty!
|Metabolism rate: 0.4u/s
|-
|}


= Handiling reactions =
- Angust Nov 16 2019
-->
# Welcome to my chemistry wiki testbed!


It's important to note that the basic reaction is a one size fits all, so it's unlikely that they'll cause too much trouble for you. Keep your pH within 5-9 and bare in mind all reactions are exothermic now.


=== Temperature ===
<svg width="850" height="500" viewBox="-70.5 -70.5 800 500">
 
<defs>
All reactions that are non-instant have a reaction rate tied to the temperature of a beaker. If a chemical is reacting too slowly, simply heat the beaker up to speed it up. As a reaction occurs, it is either Exothermic (heat producing) or Endothermic (heat consuming). Care should be taken for the Exothermic reactions, as they are liable to overheat. An overheated reaction will reduce the yield of your reaction by default, and other reactions can have specialise effects when they get too hot (not in yet, but soon!). The rate in which a reaction heats up is faster the hotter it is, be careful to not lose control, and run if you do.  
<pattern id="grid" patternUnits="userSpaceOnUse" width="100" height="50">
 
<rect x="0" y="0" width="100" height="1" fill="#000" opacity="1.0"/>
=== Reaction rates ===
<rect x="0" y="0" width="1" height="50" fill="#000" opacity="1.0"/>
The easiest way to speed a reaction up is to heat the reaction up, but if you're looking for other ways, such as for plumbing, having an optional catalyst (such as Palladium synthate catalyst for medicines) at it's required volume will also speed it up. Finally, one other alternative is to use Tempomyocin on a reaction to suddenly give it a boost.
</pattern>
 
    <linearGradient id="grad1" x1="0%" y1="100%" x2="100%" y2="0%">
=== Potential of Hydrogen (pH) ===
      <stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
 
      <stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1" />
Every chemical has an innate pH, which can be seen by pressing the cog on the dispenser. The pH of the beaker is the sum of the pHes in the mix. The pH of a beaker determines how pure a product is, for the recipes with a given pH, you want to have your pH at the centre of the limits when the reaction starts. As a reaction progresses, it's likely the pH will begin to drift, and must be compensated for either with buffer reagents or acidic/alkaline compounds. The pH range is something chemists often have to learn over several reactions, and the ChemMaster 3000 analyse function can give an insight into what pH you should be aiming for (Not in yet). Highly impure compounds are liable to affect your reaction too thus it is prudent to set your pH before reacting, as an overly impure reaction will drag the purity down of all other reagents with it.
    </linearGradient>
 
</defs>
Presently the pH meter on the machines have a higher accuracy than normal to help players accumulate.
<rect fill="#fff" stroke="#000" x="-70" y="-70" width="600" height="400"/>
 
<rect fill="url(#grid)" stroke-width="2" stroke="#000" x="0" y="0" width="500" height="250"/>
=== Purity ===
<text x="0" y="250" text-anchor="middle" font-size="16" font-family="Granada,Times New Roman,serif">
 
<tspan x="250" y="290" font-weight="bold" font-size="1.2em">Temperature (K)</tspan>
Purity of a reagent is determined by how pure your reactants were, and how optimal the pH was during the reaction. If the product is slightly impure, it'll split into the impure chem, if it is highly impure, it will invert all of the product into the inverse chem. By default an impure chem will reduce your total effective volume when administered, and cause slight liver damage. If your purity is too pure, but you still complete the reaction, it will 100% covnert into the inverse chem, which wil lcause slight toxin damage. If you fail the reaction from purity, the reaction will crash out into a foul sludge, which causes nutritional damage. the impure, inverse and failed chems are all given above (not in yet) and differ on a reagent basis, and in the case of drinks, their impure and inverse chem is water.
<tspan x="0" y="270">0</tspan>
 
<tspan x="100" y="270">200</tspan>
=== Do like an otter, add acid to water. ===
<tspan x="200" y="270">400</tspan>
 
<tspan x="300" y="270">600</tspan>
Not in yet
<tspan x="400" y="270">800</tspan>
 
<tspan x="500" y="270">1000</tspan>
=== General tips ===
</text>
 
<text x="0" y="0" text-anchor="middle" font-size="16" font-family="Granada,Times New Roman,serif">
* Make sure your pH is correct before heating up the reaction, If it's not reacting, this is usually the problem, after the reaction has started however, it will keep going past the limits, <b>producing 0% purity product</b>.
<tspan x="-50" y="125" rotate=90 font-weight="bold" font-size="1.2em">Pressure(kPa)</tspan>
* Keeping your reaction in the heater to cool it can be a way to deal with exothermic reactions.
<tspan x="-20" y="0" dy="6">500</tspan>
* You can adjust the pH of a reaction easily by using a dropper with buffer. Using a dropper on a heater will adjust the pH of the beaker within.
<tspan x="-20" y="50" dy="6">400</tspan>
* Take a note of how your pH changes across the reaction and adjust beforehand accordingly, or have some buffer handy to inject into the reaction in the middle of it.
<tspan x="-20" y="100" dy="6">300</tspan>
* You can abort reactions by crashing the temperature and hoping it's not exothermic enough to overcome that anyways. Alternatively, you could throw the beaker in a panic.
<tspan x="-20" y="150" dy="6">200</tspan>
* Upgrading the heater and the dispenser will improve their ability to detect pH. (soon)
<tspan x="-20" y="200" dy="6">100</tspan>
* For some reactions, it can be useful to keep reagents away from each other until both of them have optimal conditions.
<tspan x="-20" y="250" dy="6">0</tspan>
* Temperature of buffers will change the temperature of whatever you're adding it to! Make sure to not pour hot buffer into a temperature sensitive reaction!
</text>
 
<g>
= Tools =
  <polygon points="0,0 0,250 500,250 500,0" opacity="0.5" style="fill:yellow" />
 
<line x1="0" y1=205 x2="500" y2="110" stroke="black" stroke-width="1"/>
=== pH paper ===
  <polygon points="0,205 500,110 500,0, 0,0" opacity="0.5" style="fill:red" />
 
  <line x1="0" y1=205 x2="500" y2="110" opacity="0.5" stroke="red" stroke-width="20"/>
pH paper can tell you the rough pH by putting it into the beaker. The colour of the strip will indicate what the pH is.
  <line x1="60" y1=250 x2="212" y2="0"  stroke="black" stroke-width="1"/>
 
  <polygon points="0,0 0,250 60,250 212,0" opacity="0.5" style="fill:blue" />
=== Buffer reagents ===
  <line x1="60" y1=250 x2="212" y2="0" opacity="0.5" stroke="blue" stroke-width="20"/>
 
</g>
Buffers are reagents that alter the pH of a mixture towards acidity (0) or alkalinity (14). These liquids dissiplate into a mixture, unless stabilizing agent is added.
</svg>
 
=== pH meter ===
 
A handy meter that can tell you all about the reagents found in a beaker. Resarchable and printable by the lathe. Currently the only way to detect purity of a reagent, other than taking it yourself.
 
= Full list of changes =
 
* Added pH booklets to the chemists chemdrobe - these can tell you the pH of a beaker by ripping a sheet out of them and using it on a beaker or reagent holder
* Adds a pH meter than can be researched and printed from the med lathe. When used on a reagent holder it will tell you a detailed breakdown of the reagents in the beaker, including pH, volume and purity. It will also detect ongoing reactions.
* Adds pH to all reagents * the pH of a beaker/holder will be the sum of all reagents with respect to volume. pH is an abstracted potential of hydrogen that affects reactions.
* Adds a new reaction mechanic that allows reaction to occur in an incremental fashion.
* Adds reaction rates to reactions, by default the maximum reaction rate of a chem will be 20u/tick at optimal temperature.
* Adds purity to reagents. Purity is defined by how optimal pH remains during a reaction. For all reactions the range is 5*9 for optimal except for buffers.
* Adds exothermic and endothermic reactions ? reactions that produce heat across a reaction.
* Adds the ability for reactions to consume or generate pH as it reacts
* Adds purity mechanics for reactions * if a purity is too low at the end of a reaction then it will convert into viscous sludge or a failed chem. At the moment you have to go out of your way to cause this, but the code is there to expand upon.
* Adds purity handling mechanics when a reagent is consumed; If a reagent is very impure it will inverse into another chem. This inversion will remove all of the original chem and take its place instead.
* Adds further purity handling mechanics when a reagent is consumed, If it's slightly impure then it will split into an impure chem with respect to purity. The ratio of original to impure is determined by the purity of the original when consumed.
* Adds impure reagents to accommodate the changes above:
* Chemical Isomers * Causes slight liver damage, or toxin damage if there's no liver.
* Toxic sludge * Causes slight toxin damage
* Viscous sludge * Tastes terrible and causes nutrition damage
* Acidic and basic buffers. These will self-consume when added to a reagent holder will other reagents in it, and alter the pH towards their respective extreme. Thereby altering the pH without affecting the volume.
* Adds an overheat mechanic to reactions - overheating your reaction past it's overheat point will reduce the yield of your product by 2% per tick.
* Adds an overly impure mechanic to reactions * if you're reacting a chemical that is too impure it will reduce the purity of all reagents present in the beaker.
* Adds 2 pH booklets, 1 dropper and 1 bottle of acidic buffer (you can make this) to the chemist's locker.
* edited chem master, chem dispenser and heater’s UI to show pH
* Impurity reduces the yield you get from instant reactions.
* Tweaks most reagents to use a default handler. The ones omitted are ones that rely on being instant. This default has a minimum reaction temperature of 100, an optimal temperature of 500 and an overheat temperature of 900+. Their optimal pH range is 5-9; which will result in a purity 1 reagent when kept within this window. If the reaction is within a pH window of 1-4 or 9-13 the resulting purity will be dependent on the deviation from 5 or 9. <1 or >14 will create impure chems for every step. If your final purity on the end of a reaction is less than 0.15, then it will collapse into Viscous sludge. The reaction is mildly exothermic and H+ consuming.
* tweaks chocolate milk, firefighting foam and hercuri reactions to work better with the new mechanics. These inherit the same pH windows as above.
* Chocolate milk now has an minimum reaction temp of below 300, an optimal reaction temperature between 200 * 5, and an overheat (or rather underheat) temperature of below 5. It is also midly endothermic.
* Hercuri now has an minimum reaction temp of below 47, an optimal reaction temperature between 10 * 5, and an overheat (or rather underheat) temperature of below 5.
* Firefighting foam now has an minimum reaction temp of below 200, an optimal reaction temperature between 50 * 5, and an overheat (or rather underheat) temperature of below 5. It is also mildly endothermic and shifts towards acidic conditions during reaction slightly.
* acidspit and triple_citrus's optimal pH was set to 0 - 7
* Ammonia's pH window has been widened to 1-12
* weedkiller is H+ producing
* You can now use droppers and syringes directly on heaters to affect the beaker inside of it (provided there’s a beaker in there)
* added several sound effects for chemistry
* added melting beaker icons
* changed reagents code, created equilibrium.dm
* refactored main chemistry mechanics to use reaction rates, pH and purity mechanics

Latest revision as of 05:56, 20 March 2021

  1. Welcome to my chemistry wiki testbed!


<svg width="850" height="500" viewBox="-70.5 -70.5 800 500"> <defs> <pattern id="grid" patternUnits="userSpaceOnUse" width="100" height="50"> <rect x="0" y="0" width="100" height="1" fill="#000" opacity="1.0"/> <rect x="0" y="0" width="1" height="50" fill="#000" opacity="1.0"/> </pattern>

   <linearGradient id="grad1" x1="0%" y1="100%" x2="100%" y2="0%">
     <stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
     <stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1" />
   </linearGradient>

</defs> <rect fill="#fff" stroke="#000" x="-70" y="-70" width="600" height="400"/> <rect fill="url(#grid)" stroke-width="2" stroke="#000" x="0" y="0" width="500" height="250"/> <text x="0" y="250" text-anchor="middle" font-size="16" font-family="Granada,Times New Roman,serif"> <tspan x="250" y="290" font-weight="bold" font-size="1.2em">Temperature (K)</tspan> <tspan x="0" y="270">0</tspan> <tspan x="100" y="270">200</tspan> <tspan x="200" y="270">400</tspan> <tspan x="300" y="270">600</tspan> <tspan x="400" y="270">800</tspan> <tspan x="500" y="270">1000</tspan> </text> <text x="0" y="0" text-anchor="middle" font-size="16" font-family="Granada,Times New Roman,serif"> <tspan x="-50" y="125" rotate=90 font-weight="bold" font-size="1.2em">Pressure(kPa)</tspan> <tspan x="-20" y="0" dy="6">500</tspan> <tspan x="-20" y="50" dy="6">400</tspan> <tspan x="-20" y="100" dy="6">300</tspan> <tspan x="-20" y="150" dy="6">200</tspan> <tspan x="-20" y="200" dy="6">100</tspan> <tspan x="-20" y="250" dy="6">0</tspan> </text> <g>

 <polygon points="0,0 0,250 500,250 500,0" opacity="0.5" style="fill:yellow" />

<line x1="0" y1=205 x2="500" y2="110" stroke="black" stroke-width="1"/>

 <polygon points="0,205 500,110 500,0, 0,0" opacity="0.5" style="fill:red" />
 <line x1="0" y1=205 x2="500" y2="110" opacity="0.5" stroke="red" stroke-width="20"/>
 <line x1="60" y1=250 x2="212" y2="0"  stroke="black" stroke-width="1"/>
 <polygon points="0,0 0,250 60,250 212,0" opacity="0.5" style="fill:blue" />
 <line x1="60" y1=250 x2="212" y2="0" opacity="0.5" stroke="blue" stroke-width="20"/>

</g> </svg>