TPT Script Server

This page is used for previewing and submitting scripts for use with the Script Manager

Available Scripts

(2) TPTMulti by LBPHacker
(3) set wifi v2 by jacob1
(4) Script Paste by jacob1
(5) Random Element by jacob1
(6) Magical Merge Master 3000 by nucular
(7) More Fuel Mod-heavy by jward212
(9) Breakpoints (BRPT) by boxmein
(10) Cockroaches! by boxmein
(11) Random tree by ssccsscc
(12) Element with random properties by ssccsscc
(15) Minimalistic Element Dehider by nucular
(16) FPS Gauge by mniip
(17) TPT Radio by jward212
(18) Print Debugger by FeynmanLogomaker
(19) Powered BHOL by jacob1
(20) Light and lamps by electronic_steve
(21) Extremely Durable TTAN by QuentinADay
(22) New Buttons by QuentinADay
(23) Pure Energy by QuentinADay
(25) RCA's HUD XV Update I by RCAProduction
(27) 123456787654 vols by mjpowder
(28) Singularity Bomb by QuentinADay
(29) ES wifi set by electronic_steve
(30) Lua Elements Pack by FeynmanLogomaker
(31) stkm gun by jward212
(32) space building materials by kjack1111
(34) Rust bomb by Damian97
(35) Simple command block by ssccsscc
(36) Everlasting Fusion by QuentinADay
(37) Screenshot Organiser by mecha-man
(38) Napalm mod by cccp3
(39) Rocket fuel mod v0.15 by cccp3
(41) Useful web links by jward212
(42) TPT Logic Gates Mod by iamdumb
(43) ESTools by electronic_steve
(44) Head Crabs-HL2 by jward212
(45) Procedural Save Generator by boxmein
(46) smooth colours for nametag by jward212
(47) ZAKPACK by zak03
(49) Performance Monitor by FeynmanLogomaker
(51) Texter by byzod
(52) Texter default fonts by byzod
(53) Schicko's Font Pack for Texter by Schicko
(54) Realistic Element Names by Atomic10
(55) TPT's Mod V.3 Update 1 by Amy
(56) Temporaryaccount-Decorator by Temporaryaccount
(57) random save loader by jward212
(58) Tmp gradient display by ssccsscc
(59) particle re-orderer by mniip
(60) Electric Glow by jacob1
(61) More Fuel Mod-lite by jward212
(63) Rythidium by janekbe04
(64) Simple FPS GUI by Sfsjunior
(65) Enhanced Element Dehider by ChargedCreeper
(66) Graph of average temp by ssccsscc
(67) Template save loader by jacob1
(68) Lua Text Generator by jBot-42
(70) Pixel's Freezer by Pixelguru26
(71) Thingy | Fusion For Ever by TheChosenEvilOne
(72) op explosions by zolly_bro
(73) Scar by DorkyBobster
(74) ScreenShotMod by lill74
(77) Useful Things by TheEvilChosenOne
(78) Alchemy Mod by _MrN_
(79) Nuke v2 by Fnaf65
(80) Compressor mod by TheChosenEvilOne
(81) Custom Render Mode Loader by jacob1
(82) Spacewars by JosephMA
(83) MOAR - Alpha 0.1 by TheChosenEvilOne
(86) Element Creator by cxi
(88) Soapworm by LBPHacker
(90) Pressure Bomb by God_Kra
(91) SMFB by wntjq69
(92) Potato by cxi
(93) Subatomic Pack (BDS) by TPT_PL
(94) Acidic Pack (BDS) by TPT_PL
(95) Starbound Building Materials by Sanpypr
(96) Factory problems by TPT_PL
(97) Gamma Ray-diation by Kostia4381
(98) Magic by livingfossil
(99) Cross-window Copy/Cut/Paste by LBPHacker
(100) Langton's Ant with variations by LBPHacker
(101) Remote particle creator/deleter by TPT_PL
(102) Force fields by electronic_steve
(103) Reinforced Concrete by 12Me21
(105) TPT_PL's Lua Mod by TPT_PL
(106) Nuke v4 by Fnaf65
(107) CHEMMOD V1 by KevAK
(108) Chemicals by Ligan
(109) VonDaniel's Template by VonDaniel
(110) The Inaccurate Radioactivity Toy Mod by TuDoR2007
(112) textmonsterPack by textmonster404
(113) Meteor by TheScienceKid
(114) Tgpm by TuDoR2007
(115) Civilizations by TPT_PL
(116) RAD-MOD 1.2.1B by Kev_AK
(117) MicroLua by RamiLego4Game
(118) Extra customizable HUD by djy0212
(119) Ingame brush editor by ssccsscc
(120) Window Maker by Paul_31415
(121) CHEM-MOD V1.2B by Kev_AK
(122) Rainbow PHOT by Mrprocom
(123) stronger stickmanv by yuval
(124) 3D Pressure Visualizer by mniip
(125) Arkadian Liquid by JanKaszanka
(126) Fuel by nukers473
(127) Immersive Radioactivity v2.1 by Potbelly
(128) ElementLaunchingTool by juh9870
(129) CHEM-MOD_v1.2.2b by KevAK
(130) Slingshot by Mrprocom
(131) Perlin Noise Generator by DoubleF
(132) Element Replace by TomW1605
(133) Flooder V2 by TheAwesomeMutant
(134) Link Sign GUI by QuanTech
(135) Element dehider by 4e616d65
(136) Subphoton ROM Builder by mad-cow
(137) Hardened Dust by Liftski
(138) Bio-Vir by TheAwesomeMutant
(140) Orbit Simulator by Mrprocom
(141) johnnyou's Font for Texter by johnnyou (49796346)
(142) auto_wifi by phisically
(143) Layering helper by ssccsscc
(144) Layering Helper Extended by LuaMaster
(145) TPT Remade by TuDoR2007
(146) All-seeing sampler by djy0212
(147) Layering helper remastered by ssccsscc
(148) Eraser by thepowdertoy12
(149) EXPLOSIONS by olix3001
(150) Simple rocket fuel mod by ArseniyPlotnikov2006
(151) Pure Fission by Fnaf65
(154) Graph by ssccsscc
(155) Little's Pack! by LittleProgramming
(156) Lead by LoftisGaming
(157) WIFI Tuner by ssccsscc
(158) Previous Brush by TomW1605
(159) HUD Auto-Hider by Tim
(161) Stack tool by thepowdertoy12
(162) Oil and plastic by ArseniyPlotnikov2006
(163) Colored Ember by DUC
(164) Timer by ssccsscc
(165) Bacteria Mod by TuDoR2007
(166) Noise filter by LBPHacker
(167) Future-proof element dehider by LBPHacker
(168) RadioactiveNuke by DreamingWarlord
(169) Only Hot Element by DreamingWarlord
(170) Philosopher's Stone by Godhydra
(171) Conic section generator by LBPHacker
(172) Interface API by ssccsscc
(173) Metals&Materials by Ferrous26
(174) tpt.all by LBPHacker
(175) The Visual Elements Pack by Goblin01, vvv331
(176) Layering Helper Reforged by PowderNotSolid
(177) SNOWified SING by LBPHacker
(178) FPS Chart by Goblin01
(179) TPT font writer by Goblin01
(180) Simple Ruler by PowderNotSolid
(181) Heat Modifier by DreamingWarlord
(182) TPT Remade II by TuDoR2007
(183) Gravity simulator by ArseniyPlotnikov2k6
(184) Unobtainium by christheboss894
(185) TPTMIDI noteblock in tpt by djy0212
(186) DreamingWarlord's Lua Tool by DreamingWarlord
(187) Elements Tooltip by Goblin01
(189) Explodium script by 0d15ea5ebe57c0debadc0ffee0ddf00d
(190) more powered force elements by 6nop6nop
(191) Yzaak1Scifire Modpack by Yzaak1Scifire
(194) Fluor and more modpack! by galaktor
(195) Hot Powder by lieve_blendi
(196) Star by TUANMINHVIETNAM
(197) Heat Powders by lieve_blendi
(200) Tangeriinium (thx 2 cxi 4 code) by LostEditor
(201) Freezer by lieve_blendi
(202) Powder Power! by TPTSortaGuy
(203) PowderPlus v1.4 by PowderPlus Team
(204) fire by ME
(205) Stacked Goo Animations by Maticzpl
(206) Stickman Control for Android Version by PhauloRiquelme
(207) Spark Removal Button by Xyz
(208) More HEAC's! by Maxhd1234
(209) Immersive Radioactivity v3.0 by Potbelly
(210) Subframe Chipmaker Script by Maticzpl
(211) Realistic Propellants by ArseniyPlotnikov2k6
(212) Mass Equals Gravity by Maticzpl
(213) PhiMod v1 by ArolaunTech
(214) PC Controls for Android by Cracker1000
(217) Single-pixel pipe configurator by LBPHacker
(218) Omega Death Laser Gun by Dogeoum
(219) Notifications by Maticzpl
(221) Powderizer by ArolaunTech
(222) ElemDehider 1.2 by Inventor70
(223) Unobtainum V2 by DoomKittyAttack
(224) Organics Mod v0.2B by PowderPlus Team
(225) Gravity distortion by Avolte55
(226) tmp Wifi by PhauloRiquelme
(227) Alchemagica Mod v1.0 by RebMiami
(228) Fan Elements Mod by RebMiami
(229) Impossibilities by ArolaunTech
(230) Realistic Explosives by ArseniyPlotnikov2k6
(231) libactivation by anamorphic
(232) Alloy Brushes by Maticzpl
(233) Gravity bender by pres
(234) Slow Tick by Pixel
(235) Paste ID by Maticzpl
(236) many things by jadenflp2
(237) Territect by Rebmiami
(238) Better Descriptions v1.0.5 by ashyboi2022
(239) LIGHTNING SPRK by GOLmaster10101
(240) Small Bombs by juh9870
(241) Save Shop by aaccbb
(242) Moving solids v1.3.0 Beta by ArolaunTech
(244) Alchemistry by rdococ
(245) ETRD (Formerly PowderIM) by aaccbb
(246) RadonX by Justadirtblock
(248) Water-X by deuterium_oxide
(250) Indestructible INSL by CheekyRand0m
(252) Console's Mod by Console/Compec
(255) Slow motion by LBPHacker
(256) Powered Repeller by Hythonia
(257) Zeta's Electric Tools. by Zetalasis
(258) Azure serum (AZSR) by ALumpOfPowderToy
(259) COLORFULSAND by xert
(260) Lightning Circle by defaultuser0
(261) Powder Future Tech by JonaHungary
(262) TPTGlowingSolids by DestinyDyson
(263) Volcano Bomb by I_am_the_NugsWorld
(264) Neon Lights by Rebmiami
(265) Radioactive Materials by xyz
(266) Eater mod by VIPERGAMEZ
(267) the biology mod by someone
(268) Atomic Physics by qe
(269) Pure Radiation by ronansb
(270) Fake Elements by That_PowderToy_Guy
(271) Tachyons and MISC by RamenNoods
(272) Exotic Particles by rdococ
(273) FPS Slider by aaccbb
(274) Enphosian's Radioactive mod pack by Enphosian
(276) ROM Builder by QnpfvTPz

+ Submit new script!

Title: Author:
Script:
---Made by: KevAK---

---CHEMMOD V1.2.2B Made in July, 2017.---

---Please report any bug or error.---



print(" CHEM-MOD V 1.2.2B By Kev AK        ")
print(" Organic and Inorganic Chemistry!  ")
print(" I wish you have fun.              ")
print("-----------------------------------")


-----GASES-------------------------------------------------------------------------------------------------------------------
local nitrogen = elem.allocate("KEV", "N2")
local nitrogenoxide = elem.allocate("KEV", "N2O")
local ozone = elem.allocate("KEV", "O3")
local ammonia = elem.allocate("KEV", "NH3")
local nitromethane = elem.allocate("KEV", "CH3NO")
local methane = elem.allocate("KEV", "CH4")
local carbonmonoxide = elem.allocate("KEV", "CO")
local hydrazine = elem.allocate("KEV", "N2H4")
local tetracloromethane = elem.allocate("KEV", "R32")
local sulfuroxide = elem.allocate("KEV", "S2O")
local chlorine = elem.allocate("KEV", "CL")
local iodinevapor = elem.allocate("KEV", "IODV")
elem.element(elements.KEV_PT_N2, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_N2O, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_O3, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_NH3, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_CH3NO, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_CH4, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_CO, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_N2H4, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_R32, elem.element(elem.DEFAULT_PT_BOYL))
elem.element(elements.KEV_PT_S2O, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(elements.KEV_PT_CL, elem.element(elem.DEFAULT_PT_WTRV))
elem.element(iodinevapor, elem.element(elem.DEFAULT_PT_BOYL))
elem.property(elements.KEV_PT_N2, "Name", "N2")
elem.property(elements.KEV_PT_N2O, "Name", "N2O")
elem.property(elements.KEV_PT_O3, "Name", "O3")
elem.property(elements.KEV_PT_NH3, "Name", "NH3")
elem.property(elements.KEV_PT_CH3NO, "Name", "CH3NO")
elem.property(elements.KEV_PT_CH4, "Name", "CH4")
elem.property(elements.KEV_PT_CO, "Name", "CO")
elem.property(elements.KEV_PT_N2H4, "Name", "N2H4")
elem.property(elements.KEV_PT_R32, "Name", "R-32")
elem.property(elements.KEV_PT_S2O, "Name", "S2O")
elem.property(elements.KEV_PT_CL, "Name", "CL")
elem.property(iodinevapor, "Name", "IODV")
elem.property(elements.KEV_PT_N2, "Description", "Nitrogen. Basic for life.")
elem.property(elements.KEV_PT_N2O, "Description", "Nitrous Oxide. Explosive, try to mix it with WATR.")
elem.property(elements.KEV_PT_O3, "Description", "Ozone. An comburent oxygen isotope.")
elem.property(elements.KEV_PT_NH3, "Description", "Amoniac. Caustic but useful.")
elem.property(elements.KEV_PT_CH3NO, "Description", "Nitromethane. Highly sensitive explosive, hard to be synthetized.")
elem.property(elements.KEV_PT_CH4, "Description", "Methane. Burns easily. Explodes in contact with other gases.")
elem.property(elements.KEV_PT_CO, "Description", "Carbon Monoxide. Flammable and low reactive.")
elem.property(elements.KEV_PT_N2H4, "Description", "Hydrazine. Very reactive combustible, slowly descomposes into HYGN.")
elem.property(elements.KEV_PT_R32, "Description", "Difluoromethane. Freon 32. Refrigerant.")
elem.property(elements.KEV_PT_S2O, "Description", "Sulfur Monoxide. Smells bad but useful.")
elem.property(elements.KEV_PT_CL, "Description", "Chlorine. Corrosive and toxic.")
elem.property(iodinevapor, "Description", "Iodine Vapor. As a tip it´s the best way to make NI3.")
elem.property(elements.KEV_PT_N2, "Color", 0x2DCB99)
elem.property(elements.KEV_PT_N2O, "Color", 0x29CED0)
elem.property(elements.KEV_PT_O3, "Color", 0xAEEEEE)
elem.property(elements.KEV_PT_NH3, "Color", 0xB4EEB4)
elem.property(elements.KEV_PT_CH3NO, "Color", 0xD1D1D1)
elem.property(elements.KEV_PT_CH4, "Color", 0xE6E6FA)
elem.property(elements.KEV_PT_CO, "Color", 0x808080)
elem.property(elements.KEV_PT_N2H4, "Color", 0x8DB6CD)
elem.property(elements.KEV_PT_R32, "Color", 0xFFC125)
elem.property(elements.KEV_PT_S2O, "Color", 0xFA8073)
elem.property(elements.KEV_PT_CL, "Color", 0xA0FA9B)
elem.property(iodinevapor, "Color", 0xC40470)
elem.property(elements.KEV_PT_N2, "Flammable", 0)
elem.property(elements.KEV_PT_N2O, "Flammable", 350)
elem.property(elements.KEV_PT_O3, "Flammable", 0)
elem.property(elements.KEV_PT_NH3, "Flammable", 750)
elem.property(elements.KEV_PT_CH3NO, "Flammable", 790)
elem.property(elements.KEV_PT_CH4, "Flammable", 780)
elem.property(elements.KEV_PT_CO, "Flammable", 125)
elem.property(elements.KEV_PT_N2H4, "Flammable", 1450)
elem.property(elements.KEV_PT_R32, "Flammable", 0)
elem.property(elements.KEV_PT_S2O, "Flammable", 0)
elem.property(elements.KEV_PT_CL, "Flammable", 0)
elem.property(iodinevapor, "Flammable", 0)
elem.property(elements.KEV_PT_N2, "Explosive", 0)
elem.property(elements.KEV_PT_N2O, "Explosive", 300)
elem.property(elements.KEV_PT_O3, "Explosive", 0)
elem.property(elements.KEV_PT_NH3, "Explosive", 750)
elem.property(elements.KEV_PT_CH3NO, "Explosive", 950)
elem.property(elements.KEV_PT_CH4, "Explosive", 900)
elem.property(elements.KEV_PT_CO, "Explosive", 125)
elem.property(elements.KEV_PT_N2H4, "Explosive", 1550)
elem.property(elements.KEV_PT_R32, "Explosive", 0)
elem.property(elements.KEV_PT_S2O, "Explosive", 200)
elem.property(elements.KEV_PT_CL, "Explosive", 0)
elem.property(iodinevapor, "Explosive", 120)
elem.property(elements.KEV_PT_N2, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_N2O, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_O3, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_NH3, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_CH3NO, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_CH4, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_CO, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_N2H4, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_R32, "Properties", elem.TYPE_GAS+elem.PROP_NOAMBHEAT+elem.PROP_DEADLY+elem.PROP_NEUTPASS)
elem.property(elements.KEV_PT_S2O, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_CL, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(iodinevapor, "Properties", elem.TYPE_GAS+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_N2O, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_O3, "HighTemperatureTransition", elem.DEFAULT_PT_OXYG)
elem.property(elements.KEV_PT_NH3, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_CH3NO, "HighTemperatureTransition", elem.DEFAULT_PT_PLSM)
elem.property(elements.KEV_PT_CH4, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_CO, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_N2H4, "HighTemperatureTransition", elem.DEFAULT_PT_PLSM)
elem.property(elements.KEV_PT_R32, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_S2O, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(iodinevapor, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_N2O, "HighTemperature", 800.15)
elem.property(elements.KEV_PT_O3, "HighTemperature", 493.15)
elem.property(elements.KEV_PT_NH3, "HighTemperature", 934.15)
elem.property(elements.KEV_PT_CH3NO, "HighTemperature", 790.15)
elem.property(elements.KEV_PT_CH4, "HighTemperature", 810.15)
elem.property(elements.KEV_PT_CO, "HighTemperature", 1837.15)
elem.property(elements.KEV_PT_N2H4, "HighTemperature", 856.15)
elem.property(elements.KEV_PT_R32, "HighTemperature", 2630.15)
elem.property(elements.KEV_PT_S2O, "HighTemperature", 765.15)
elem.property(iodinevapor, "HighTemperature", 750.15)
elem.property(elements.KEV_PT_R32, "Temperature", 0.15)
elem.property(elements.KEV_PT_N2, "LowTemperature", 180.15)
elem.property(elements.KEV_PT_N2, "LowTemperatureTransition", elem.DEFAULT_PT_LN2)
elem.property(elements.KEV_PT_N2O, "LowTemperature", 180.15)
elem.property(elements.KEV_PT_N2O, "LowTemperatureTransition", elem.DEFAULT_PT_LN2)
elem.property(elements.KEV_PT_N2, "HighPressureTransition", elem.DEFAULT_PT_LN2)
elem.property(elements.KEV_PT_N2O, "HighPressureTransition", elem.DEFAULT_PT_LN2)
elem.property(elements.KEV_PT_O3, "HighPressureTransition", elem.DEFAULT_PT_OXYG)
elem.property(elements.KEV_PT_NH3, "HighPressureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_CH3NO, "HighPressureTransition", elem.DEFAULT_PT_PLSM)
elem.property(elements.KEV_PT_CH4, "HighPressureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_CO, "HighPressureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_N2H4, "HighPressureTransition", elem.DEFAULT_PT_PLSM)
elem.property(elements.KEV_PT_R32, "HighPressureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_S2O, "HighPressureTransition", elem.DEFAULT_PT_FIRE)
elem.property(iodinevapor, "HighPressureTransition", iodine)
elem.property(elements.KEV_PT_N2, "HighPressure", 90)
elem.property(elements.KEV_PT_N2O, "HighPressure", 140)
elem.property(elements.KEV_PT_O3, "HighPressure", 30)
elem.property(elements.KEV_PT_NH3, "HighPressure", 225)
elem.property(elements.KEV_PT_CH3NO, "HighPressure", 125)
elem.property(elements.KEV_PT_CH4, "HighPressure", 78)
elem.property(elements.KEV_PT_CO, "HighPressure", 110)
elem.property(elements.KEV_PT_N2H4, "HighPressure", 90)
elem.property(elements.KEV_PT_R32, "HighPressure", 160)
elem.property(elements.KEV_PT_S2O, "HighPressure", 190)
elem.property(iodinevapor, "HighPressure", 10)
elem.property(elements.KEV_PT_N2, "Weight", 7)
elem.property(elements.KEV_PT_N2O, "Weight", 22)
elem.property(elements.KEV_PT_O3, "Weight", 24)
elem.property(elements.KEV_PT_NH3, "Weight", 10)
elem.property(elements.KEV_PT_CH3NO, "Weight", 20)
elem.property(elements.KEV_PT_CH4, "Weight", 10)
elem.property(elements.KEV_PT_CO, "Weight", 14)
elem.property(elements.KEV_PT_N2H4, "Weight", 18)
elem.property(elements.KEV_PT_R32, "Weight", 48)
elem.property(elements.KEV_PT_S2O, "Weight", 40)
elem.property(elements.KEV_PT_CL, "Weight", 17)
elem.property(iodinevapor, "Weight", 53)
elem.property(elements.KEV_PT_N2, "Diffusion", 1.9)
elem.property(elements.KEV_PT_N2O, "Diffusion", 1.1)
elem.property(elements.KEV_PT_O3, "Diffusion", 0.9)
elem.property(elements.KEV_PT_NH3, "Diffusion", 0.8)
elem.property(elements.KEV_PT_CH3NO, "Diffusion", 0.8)
elem.property(elements.KEV_PT_CH4, "Diffusion", 0.6)
elem.property(elements.KEV_PT_CO, "Diffusion", 0.2)
elem.property(elements.KEV_PT_N2H4, "Diffusion", 0.9)
elem.property(elements.KEV_PT_R32, "Diffusion", 1.2)
elem.property(elements.KEV_PT_S2O, "Diffusion", 0.9)
elem.property(elements.KEV_PT_CL, "Diffusion", 0.7)
elem.property(iodinevapor, "Diffusion", 0.7)
elem.property(elements.KEV_PT_N2, "Advection", 0)
elem.property(elements.KEV_PT_N2O, "Advection", 0.9)
elem.property(elements.KEV_PT_NH3, "Advection", 0.2)
elem.property(elements.KEV_PT_CH4, "Advection",0.1)
elem.property(elements.KEV_PT_CO, "Advection", 0.9)
elem.property(elements.KEV_PT_R32, "Advection", 1.1)
elem.property(elements.KEV_PT_S2O, "Advection", 1)
elem.property(elements.KEV_PT_CL, "Advection", 0.7)
elem.property(iodinevapor, "Advection", 1)
elem.property(elements.KEV_PT_N2, "Gravity", -0.3)
elem.property(elements.KEV_PT_N2O, "Gravity", -0.2)
elem.property(elements.KEV_PT_NH3, "Gravity", 0.02)
elem.property(elements.KEV_PT_CH4, "Gravity", 0.1)
elem.property(elements.KEV_PT_CO, "Gravity", -0.1)
elem.property(elements.KEV_PT_R32, "Gravity", -0.2)
elem.property(elements.KEV_PT_S2O, "Gravity", -0.1)
elem.property(elements.KEV_PT_CL, "Gravity", -0.1)
elem.property(iodinevapor, "Gravity", -0.07)
elem.property(elements.KEV_PT_R32, "HeatConduct", 16)
elem.property(elements.KEV_PT_N2H4, "Hardness", 255)

--LIQUIDS--------------------------------------------

local hydrogenperoxide = elem.allocate("KEV", "H2O2")
local sulfuricacid = elem.allocate("KEV", "H2SO4")
local nitricacid = elem.allocate("KEV", "HNO3")
local hydrocloric = elem.allocate("KEV", "HCL")
local sodiumhidroxide = elem.allocate("KEV", "NAOH")
local iodine = elem.allocate("KEV", "I")
local toluene = elem.allocate("KEV", "C7H8")
local mud = elem.allocate("KEV", "MUD")
elem.element(elements.KEV_PT_H2O2, elem.element(elem.DEFAULT_PT_WATR))
elem.element(elements.KEV_PT_H2SO4, elem.element(elem.DEFAULT_PT_SOAP))
elem.element(elements.KEV_PT_HCL, elem.element(elem.DEFAULT_PT_SOAP))
elem.element(elements.KEV_PT_HNO3, elem.element(elem.DEFAULT_PT_SOAP))
elem.element(elements.KEV_PT_C7H8, elem.element(elem.DEFAULT_PT_OIL))
elem.element(elements.KEV_PT_NAOH, elem.element(elem.DEFAULT_PT_WATR))
elem.element(iodine, elem.element(elem.DEFAULT_PT_SOAP))
elem.element(elements.KEV_PT_MUD, elem.element(elem.DEFAULT_PT_GEL))
elem.property(elements.KEV_PT_H2O2, "Name", "H2O2")
elem.property(elements.KEV_PT_H2SO4, "Name", "H2SO4")
elem.property(elements.KEV_PT_HCL, "Name", "HCL")
elem.property(elements.KEV_PT_HNO3, "Name", "HNO3")
elem.property(elements.KEV_PT_C7H8, "Name", "C7H8")
elem.property(elements.KEV_PT_NAOH, "Name", "NAOH")
elem.property(iodine, "Name", "I")
elem.property(elements.KEV_PT_MUD, "Name", "MUD")
elem.property(elements.KEV_PT_H2O2, "Description", "Hydrogen Peroxide. Descomposes when touches some metals.")
elem.property(elements.KEV_PT_H2SO4, "Description", "Sulfuric Acid. Strong acid, very reactive and useful.")
elem.property(elements.KEV_PT_HCL, "Description", "Chlorhydric Acid. Strong Acid, disolves almost all metals.")
elem.property(elements.KEV_PT_HNO3, "Description", "Nitric Acid. Soft but useful as an explosives precursor.")
elem.property(elements.KEV_PT_C7H8, "Description", "Toluene. Some explosives precursor.")
elem.property(elements.KEV_PT_NAOH, "Description", "Sodium Hydroxide. Alkali, reacts with acids.")
elem.property(iodine, "Description", "Iodine. Volatile, purifies WATR in only one touch.")
elem.property(elements.KEV_PT_MUD, "Description", "Mud. Get Dirty.")
elem.property(elements.KEV_PT_H2O2, "Color", 0x33A1C9)
elem.property(elements.KEV_PT_H2SO4, "Color", 0xFFE4E1)
elem.property(elements.KEV_PT_HCL, "Color", 0x7FFFD4)
elem.property(elements.KEV_PT_HNO3, "Color", 0xFAFF57)
elem.property(elements.KEV_PT_C7H8, "Color", 0x8F8F8F)
elem.property(elements.KEV_PT_NAOH, "Color", 0xF5FFFA)
elem.property(iodine, "Color", 0x610238)
elem.property(elements.KEV_PT_MUD, "Color", 0x5E2612)
elem.property(elements.KEV_PT_H2O2, "Flammable", 140)
elem.property(elements.KEV_PT_H2SO4, "Flammable", 0)
elem.property(elements.KEV_PT_HCL, "Flammable", 0)
elem.property(elements.KEV_PT_HNO3, "Flammable", 0)
elem.property(elements.KEV_PT_C7H8, "Flammable", 750)
elem.property(elements.KEV_PT_NAOH, "Flammable", 0)
elem.property(iodine, "Flammable", 0)
elem.property(elements.KEV_PT_MUD, "Flammable", 0)
elem.property(elements.KEV_PT_H2O2, "Explosive", 125)
elem.property(elements.KEV_PT_H2SO4, "Explosive", 625)
elem.property(elements.KEV_PT_HCL, "Explosive", 0)
elem.property(elements.KEV_PT_HNO3, "Explosive", 790)
elem.property(elements.KEV_PT_C7H8, "Explosive", 1150)
elem.property(elements.KEV_PT_NAOH, "Explosive", 750)
elem.property(iodine, "Explosive", 60)
elem.property(elements.KEV_PT_MUD, "Explosive", 0)
elem.property(elements.KEV_PT_H2O2, "Properties", elem.TYPE_LIQUID)
elem.property(elements.KEV_PT_H2SO4, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_HCL, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_HNO3, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
elem.property(elements.KEV_PT_C7H8, "Properties", elem.TYPE_LIQUID)
elem.property(elements.KEV_PT_NAOH, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
elem.property(iodine, "Properties", elem.TYPE_LIQUID)
elem.property(elements.KEV_PT_MUD, "Properties", elem.TYPE_LIQUID)
elem.property(elements.KEV_PT_H2O2, "HighTemperatureTransition", elem.DEFAULT_PT_WTRV)
elem.property(elements.KEV_PT_H2SO4, "HighTemperatureTransition", elem.KEV_PT_S2O)
elem.property(elements.KEV_PT_HNO3, "HighTemperatureTransition", elem.KEV_PT_N2O)
elem.property(elements.KEV_PT_C7H8, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_NAOH, "HighTemperatureTransition", elem.DEFAULT_PT_WTRV)
elem.property(iodine, "HighTemperatureTransition", iodinevapor)
elem.property(iodinevapor, "LowTemperature", 253.15)
elem.property(iodinevapor, "LowTemperatureTransition", iodine)
elem.property(elements.KEV_PT_MUD, "HighTemperatureTransition", elem.KEV_PT_DIRT)
elem.property(elements.KEV_PT_H2O2, "HighTemperature", 1832.15)
elem.property(elements.KEV_PT_H2SO4, "HighTemperature", 613.15)
elem.property(elements.KEV_PT_HNO3, "HighTemperature", 673.15)
elem.property(elements.KEV_PT_C7H8, "HighTemperature", 873.15)
elem.property(elements.KEV_PT_NAOH, "HighTemperature", 880.15)
elem.property(iodine, "HighTemperature", 574.15)
elem.property(elements.KEV_PT_MUD, "HighTemperature", 333.15)
elem.property(elements.KEV_PT_H2SO4, "Weight", 48)
elem.property(elements.KEV_PT_H2O2, "Weight", 18)
elem.property(elements.KEV_PT_HCL, "Weight", 18)
elem.property(elements.KEV_PT_HNO3, "Weight", 32)
elem.property(elements.KEV_PT_C7H8, "Weight", 50)
elem.property(elements.KEV_PT_NAOH, "Weight", 20)
elem.property(iodine, "Weight", 58)
elem.property(elements.KEV_PT_MUD, "Weight", 70)
elem.property(elements.KEV_PT_H2O2, "Advection", 0)
elem.property(elements.KEV_PT_H2SO4, "Advection", 0.4)
elem.property(elements.KEV_PT_HCL, "Advection", 0.5)
elem.property(elements.KEV_PT_HNO3, "Advection",0.3)
elem.property(elements.KEV_PT_C7H8, "Advection", 0.9)
elem.property(elements.KEV_PT_NAOH, "Advection", 0.9)
elem.property(iodine, "Advection", 1)
elem.property(elements.KEV_PT_MUD, "Advection", 0.1)


--EXPLOSIVES--------------------------------------------

local nitrogeniodide = elem.allocate("KEV", "NI3")
local blackgunpowder = elem.allocate("KEV", "BGUN")
local nitrogentrichloride = elem.allocate("KEV", "NCL3")
local amoniumnitrate = elem.allocate("KEV", "NH4O3")
local acetilene = elem.allocate("KEV", "C2H2")
local anfo = elem.allocate("KEV", "ANFO")
local sulfur = elem.allocate("KEV", "S")
local potassiumnitrate = elem.allocate("KEV", "KNO3")
local alumina = elem.allocate("KEV", "AL2O3")
elem.element(elements.KEV_PT_KNO3, elem.element(elem.DEFAULT_PT_THRM))
elem.element(elements.KEV_PT_AL2O3, elem.element(elem.DEFAULT_PT_THRM))
elem.element(elements.KEV_PT_NCL3, elem.element(elem.DEFAULT_PT_NITR))
elem.element(elements.KEV_PT_S, elem.element(elem.DEFAULT_PT_GUN))
elem.element(elements.KEV_PT_ANFO, elem.element(elem.DEFAULT_PT_DEST))
elem.element(elements.KEV_PT_NI3, elem.element(elem.DEFAULT_PT_DEST))
elem.element(elements.KEV_PT_BGUN, elem.element(elem.DEFAULT_PT_DEST))
elem.element(elements.KEV_PT_NH4O3, elem.element(elem.DEFAULT_PT_GUN))
elem.element(elements.KEV_PT_C2H2, elem.element(elem.DEFAULT_PT_FIRE))
elem.property(elements.KEV_PT_KNO3, "Name", "KNO3")
elem.property(elements.KEV_PT_AL2O3, "Name", "AL2O3")
elem.property(elements.KEV_PT_NCL3, "Name", "NCL3")
elem.property(elements.KEV_PT_S, "Name", "S")
elem.property(elements.KEV_PT_ANFO, "Name", "ANFO")
elem.property(elements.KEV_PT_NI3, "Name", "NI3")
elem.property(elements.KEV_PT_BGUN, "Name", "BGUN")
elem.property(elements.KEV_PT_NH4O3, "Name", "NH4O3")
elem.property(elements.KEV_PT_C2H2, "Name", "C2H2")
elem.property(elements.KEV_PT_KNO3, "Description", "Potassium Nitrate. Deflagrant Explosive.")
elem.property(elements.KEV_PT_AL2O3, "Description", "Alumina. Explodes only in presense of FIRE and under pressure.")
elem.property(elements.KEV_PT_NCL3, "Description", "Nitrogen Trichloride. Corrosive highly sensitive explosive.")
elem.property(elements.KEV_PT_S, "Description", "Sulfur. Made in the hell.")
elem.property(elements.KEV_PT_ANFO, "Description", "Amonium Nitrate-Fuel Oil. Explodes with a big power.")
elem.property(elements.KEV_PT_NI3, "Description", "Nitrogen Iodide. Highly sensitive explosive. Releases a purple gas cloud.")
elem.property(elements.KEV_PT_BGUN, "Description", "Black Gunpowder. Make it boom!.")
elem.property(elements.KEV_PT_NH4O3, "Description", "Amonium Nitrate. When is mixed with explosives or combustibles slowly release OXYG.")
elem.property(elements.KEV_PT_C2H2, "Description", "Acetilene. Burns hot! Explodes in contact with some metals.")
elem.property(elements.KEV_PT_KNO3, "Color", 0xD1EDE4)
elem.property(elements.KEV_PT_AL2O3, "Color", 0x44677C)
elem.property(elements.KEV_PT_NCL3, "Color", 0xEEC900)
elem.property(elements.KEV_PT_S, "Color", 0xE6FF1D)
elem.property(elements.KEV_PT_NI3, "Color", 0xAF123F)
elem.property(elements.KEV_PT_ANFO, "Color", 0xFFFFF0)
elem.property(elements.KEV_PT_BGUN, "Color", 0x2F4F4F)
elem.property(elements.KEV_PT_NH4O3, "Color", 0x8FBC8F)
elem.property(elements.KEV_PT_C2H2, "Color", 0xE0EEEE)
elem.property(elements.KEV_PT_KNO3, "Flammable", 0)
elem.property(elements.KEV_PT_AL2O3, "Flammable", 0)
elem.property(elements.KEV_PT_NCL3, "Flammable", 1230)
elem.property(elements.KEV_PT_S, "Flammable", 450)
elem.property(elements.KEV_PT_ANFO, "Flammable",9550)
elem.property(elements.KEV_PT_NI3, "Flammable", 0)
elem.property(elements.KEV_PT_BGUN, "Flammable", 1750)
elem.property(elements.KEV_PT_NH4O3, "Flammable", 0)
elem.property(elements.KEV_PT_C2H2, "Flammable", 250)
elem.property(elements.KEV_PT_KNO3, "Explosive", 0)
elem.property(elements.KEV_PT_AL2O3, "Explosive", 1)
elem.property(elements.KEV_PT_NCL3, "Explosive", 125)
elem.property(elements.KEV_PT_S, "Explosive", 0)
elem.property(elements.KEV_PT_ANFO, "Explosive", 7995)
elem.property(elements.KEV_PT_NI3, "Explosive", 0)
elem.property(elements.KEV_PT_BGUN, "Explosive", 175)
elem.property(elements.KEV_PT_NH4O3, "Explosive", 0)
elem.property(elements.KEV_PT_C2H2, "Explosive", 0)
elem.property(elements.KEV_PT_NI3, "HighTemperatureTransition", iodine)
elem.property(elements.KEV_PT_NI3, "HighTemperature", 323.15)
elem.property(elements.KEV_PT_AL2O3, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_AL2O3, "HighTemperature", 2345.15)
elem.property(elements.KEV_PT_S, "HighTemperatureTransition", elem.KEV_PT_S2O)
elem.property(elements.KEV_PT_S, "HighTemperature", 883.15)
elem.property(elements.KEV_PT_NI3, "LowPressureTransition", iodinevapor)
elem.property(elements.KEV_PT_NI3, "LowPressure", -75)
elem.property(elements.KEV_PT_KNO3, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_AL2O3, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_NCL3, "Properties", elem.TYPE_LIQUID)
elem.property(elements.KEV_PT_S, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_ANFO, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_NI3, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_BGUN, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_NH4O3, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_C2H2, "Properties", elem.TYPE_GAS)
elem.property(elements.KEV_PT_KNO3, "Weight", 50)
elem.property(elements.KEV_PT_AL2O3, "Weight", 68)
elem.property(elements.KEV_PT_NCL3, "Weight", 58)
elem.property(elements.KEV_PT_S, "Weight", 48)
elem.property(elements.KEV_PT_ANFO, "Weight", 120)
elem.property(elements.KEV_PT_NI3, "Weight", 60)
elem.property(elements.KEV_PT_BGUN, "Weight", 30)
elem.property(elements.KEV_PT_NH4O3, "Weight", 65)
elem.property(elements.KEV_PT_C2H2, "Weight", 14)
elem.property(elements.KEV_PT_KNO3, "Advection", 0.1)
elem.property(elements.KEV_PT_AL2O3, "Advection", 0.4)
elem.property(elements.KEV_PT_NCL3, "Advection", 0.1)
elem.property(elements.KEV_PT_S, "Advection",0.7)
elem.property(elements.KEV_PT_ANFO, "Advection", 0)
elem.property(elements.KEV_PT_NI3, "Advection", 0.1)
elem.property(elements.KEV_PT_BGUN, "Advection", 0.5)
elem.property(elements.KEV_PT_NH4O3, "Advection", 0.4)
elem.property(elements.KEV_PT_C2H2, "Diffusion", 0.9)
elem.property(elements.KEV_PT_C2H2, "Advection", 0.2)
elem.property(elements.KEV_PT_C2H2, "AirDrag", 0.5)
elem.property(elements.KEV_PT_C2H2, "AirLoss", 0.3)
elem.property(elements.KEV_PT_C2H2, "MenuSection", SC_EXPLOSIVE)
elem.property(elements.KEV_PT_I, "Hardness", 255)

--POWDERS--------------------------------------------------------------------------------------
local dirt = elem.allocate("KEV", "DIRT")
local seed = elem.allocate("KEV", "SEED")
local cement = elem.allocate("KEV", "CMNT")
local rock = elem.allocate("KEV", "ROCK")
local brokengraphite = elem.allocate("KEV", "BGPH")
local brokencarbono = elem.allocate("KEV", "BCAR")
local calciumcarbide= elem.allocate("KEV", "CAC2")
local siliconoxide = elem.allocate("KEV", "SIO2")
local copperoxide = elem.allocate("KEV", "CUO")
local titanoxide = elem.allocate("KEV", "TIO2")
local coppersulfate = elem.allocate("KEV", "CUSO4")
elem.element(elements.KEV_PT_DIRT, elem.element(elem.DEFAULT_PT_STNE))
elem.element(elements.KEV_PT_SEED, elem.element(elem.DEFAULT_PT_DUST))
elem.element(elements.KEV_PT_CMNT, elem.element(elem.DEFAULT_PT_CNCT))
elem.element(elements.KEV_PT_BGPH, elem.element(elem.DEFAULT_PT_SAND))
elem.element(elements.KEV_PT_BCAR, elem.element(elem.DEFAULT_PT_DUST))
elem.element(elements.KEV_PT_CAC2, elem.element(elem.DEFAULT_PT_STNE))
elem.element(elements.KEV_PT_SIO2, elem.element(elem.DEFAULT_PT_SAND))
elem.element(elements.KEV_PT_CUO, elem.element(elem.DEFAULT_PT_CNCT))
elem.element(elements.KEV_PT_TIO2, elem.element(elem.DEFAULT_PT_BRMT))
elem.element(elements.KEV_PT_CUSO4, elem.element(elem.DEFAULT_PT_BRMT))
elem.element(elements.KEV_PT_ROCK, elem.element(elem.DEFAULT_PT_BRCK))
elem.property(elements.KEV_PT_DIRT, "Name", "DIRT")
elem.property(elements.KEV_PT_SEED, "Name", "SEED")
elem.property(elements.KEV_PT_CMNT, "Name", "CMNT")
elem.property(elements.KEV_PT_BGPH, "Name", "BGPH")
elem.property(elements.KEV_PT_BCAR, "Name", "BCAR")
elem.property(elements.KEV_PT_CAC2, "Name", "CAC2")
elem.property(elements.KEV_PT_SIO2, "Name", "SIO2")
elem.property(elements.KEV_PT_CUO, "Name", "CUO")
elem.property(elements.KEV_PT_TIO2, "Name", "TIO2")
elem.property(elements.KEV_PT_CUSO4, "Name", "CUSO4")
elem.property(elements.KEV_PT_ROCK, "Name", "ROCK")
elem.property(elements.KEV_PT_DIRT, "Description", "Dirt. Mother of life.")
elem.property(elements.KEV_PT_SEED, "Description", "Seed. Make it grow.")
elem.property(elements.KEV_PT_CMNT, "Description", "Portland Cement. Forge and get hard in contact with WATR.")
elem.property(elements.KEV_PT_BGPH, "Description", "Broken Graphite. Absorbs neutrons and photons. Used in nuclear reactors.")
elem.property(elements.KEV_PT_BCAR, "Description", "Broken Carbono. Useful as black.")
elem.property(elements.KEV_PT_CAC2, "Description", "Calcium Carbide. Used to produce C2H2, extracted from LIME.")
elem.property(elements.KEV_PT_SIO2, "Description", "Silice. A SAND, CMNT and GLASS component.")
elem.property(elements.KEV_PT_CUO, "Description", "Copper Oxide. Semiconductor Type P.")
elem.property(elements.KEV_PT_TIO2, "Description", "Titanium Oxide. Heavy, used in batteries.")
elem.property(elements.KEV_PT_CUSO4, "Description", "Copper Sulfate. Purifies WATR and intensifies explosives reactions.")
elem.property(elements.KEV_PT_ROCK, "Description", "Rock. Descomposes into various metal oxides and gases.")
elem.property(elements.KEV_PT_DIRT, "Color", 0x6D4D16)
elem.property(elements.KEV_PT_SEED, "Color", 0xCDAD00)
elem.property(elements.KEV_PT_CMNT, "Color", 0xD9D9D9)
elem.property(elements.KEV_PT_BGPH, "Color", 0x515151)
elem.property(elements.KEV_PT_BCAR, "Color", 0x1E1E1E)
elem.property(elements.KEV_PT_CAC2, "Color", 0x7A8B8B)
elem.property(elements.KEV_PT_SIO2, "Color", 0xEED5B7)
elem.property(elements.KEV_PT_CUO, "Color", 0x8CD3700)
elem.property(elements.KEV_PT_TIO2, "Color", 0xEEE9E9)
elem.property(elements.KEV_PT_CUSO4, "Color", 0x00C78C)
elem.property(elements.KEV_PT_ROCK, "Color", 0xCDB7B5)
elem.property(elements.KEV_PT_DIRT, "Flammable", 0)
elem.property(elements.KEV_PT_SEED, "Flammable", 50)
elem.property(elements.KEV_PT_CMNT, "Flammable", 0)
elem.property(elements.KEV_PT_BGPH, "Flammable", 0)
elem.property(elements.KEV_PT_BCAR, "Flammable", 115)
elem.property(elements.KEV_PT_CAC2, "Flammable", 0)
elem.property(elements.KEV_PT_SIO2, "Flammable", 3)
elem.property(elements.KEV_PT_CUO, "Flammable", 0)
elem.property(elements.KEV_PT_TIO2, "Flammable", 0)
elem.property(elements.KEV_PT_CUSO4, "Flammable", 0)
elem.property(elements.KEV_PT_DIRT, "Explosive", 0)
elem.property(elements.KEV_PT_SEED, "Explosive", 0)
elem.property(elements.KEV_PT_CMNT, "Explosive", 0)
elem.property(elements.KEV_PT_BGPH, "Explosive", 0)
elem.property(elements.KEV_PT_BCAR, "Explosive", 0)
elem.property(elements.KEV_PT_CAC2, "Explosive", 0)
elem.property(elements.KEV_PT_SIO2, "Explosive", 0)
elem.property(elements.KEV_PT_CUO, "Explosive", 0)
elem.property(elements.KEV_PT_TIO2, "Explosive", 0)
elem.property(elements.KEV_PT_CUSO4, "Explosive", 0)
elem.property(elements.KEV_PT_DIRT, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_SEED, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_CMNT, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_BGPH, "Properties", elem.TYPE_PART+elem.PROP_NEUTPENETRATE+elem.PROP_NEUTABSORB+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS)
elem.property(elements.KEV_PT_BCAR, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_CAC2, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_SIO2, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_CUO, "Properties", elem.TYPE_PART)
elem.property(elements.KEV_PT_TIO2, "Properties", elem.TYPE_PART+elem.PROP_NEUTPASS+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_CUSO4, "Properties", elem.TYPE_PART+elem.PROP_DEADLY+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_ROCK, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTPASS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_SEED, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.DEFAULT_PT_STNE, "HighTemperatureTransition", elem.KEV_PT_ROCK)
elem.property(elements.KEV_PT_CMNT, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_BGPH, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_BCAR, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_CAC2, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_SIO2, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_CUO, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_TIO2, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_ROCK, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_SEED, "HighTemperature", 383.15)
elem.property(elements.DEFAULT_PT_STNE, "HighTemperature", 1233.15) --STNE molts into ROCK--
elem.property(elements.KEV_PT_CMNT, "HighTemperature", 593.15)
elem.property(elements.KEV_PT_BGPH, "HighTemperature", 934.15)
elem.property(elements.KEV_PT_BCAR, "HighTemperature", 990.15)
elem.property(elements.KEV_PT_CAC2, "HighTemperature", 2133.15)
elem.property(elements.KEV_PT_SIO2, "HighTemperature", 1986.15)
elem.property(elements.KEV_PT_CUO, "HighTemperature", 1599.15)
elem.property(elements.KEV_PT_TIO2, "HighTemperature", 2103.15)
elem.property(elements.KEV_PT_ROCK, "HighTemperature", 4293.15)
elem.property(elements.KEV_PT_DIRT, "HighPressureTransition", elem.DEFAULT_PT_STNE)
elem.property(elements.KEV_PT_SEED, "HighPressureTransition", elem.KEV_PT_DIRT)
elem.property(elements.KEV_PT_ROCK, "HighPressureTransition", elem.DEFAULT_PT_STNE)
elem.property(elements.KEV_PT_DIRT, "HighPressure", 90)
elem.property(elements.KEV_PT_SEED, "HighPressure", 140)
elem.property(elements.KEV_PT_ROCK, "HighPressure", 90)
elem.property(elements.KEV_PT_DIRT, "Weight", 80.98)
elem.property(elements.KEV_PT_SEED, "Weight", 12)
elem.property(elements.KEV_PT_CMNT, "Weight", 80)
elem.property(elements.KEV_PT_BGPH, "Weight", 45)
elem.property(elements.KEV_PT_BCAR, "Weight", 44)
elem.property(elements.KEV_PT_CAC2, "Weight", 64)
elem.property(elements.KEV_PT_SIO2, "Weight", 60)
elem.property(elements.KEV_PT_CUO, "Weight", 65)
elem.property(elements.KEV_PT_TIO2, "Weight", 79.87)
elem.property(elements.KEV_PT_CUSO4, "Weight", 79)
elem.property(elements.KEV_PT_DIRT, "Advection", 0.1)
elem.property(elements.KEV_PT_SEED, "Advection", 0.9)
elem.property(elements.KEV_PT_BGPH, "Advection", 0.2)
elem.property(elements.KEV_PT_CAC2, "Advection",0.1)
elem.property(elements.KEV_PT_SIO2, "Advection", 0.9)
elem.property(elements.KEV_PT_TIO2, "Advection", 1.1)
elem.property(elements.KEV_PT_CUSO4, "Advection", 0.7)

--SOLIDS--------------------------------------------------------------------------------------

local silver = elem.allocate("KEV", "AG")
local aluminium = elem.allocate("KEV", "AL")
local copper= elem.allocate("KEV", "COPR")
local constructionsteel = elem.allocate("KEV", "STEL")
local graphite = elem.allocate("KEV", "GPHT")
local titaniumcarbide = elem.allocate("KEV", "TIC")
local turbine = elem.allocate("KEV", "TURB")
local fotovoltaicsilicon = elem.allocate("KEV", "SIV")
elem.element(elements.KEV_PT_AG, elem.element(elem.DEFAULT_PT_TTAN))
elem.element(elements.KEV_PT_AL, elem.element(elem.DEFAULT_PT_TTAN))
elem.element(elements.KEV_PT_COPR, elem.element(elem.DEFAULT_PT_PSCN))
elem.element(elements.KEV_PT_STEL, elem.element(elem.DEFAULT_PT_IRON))
elem.element(elements.KEV_PT_GPHT, elem.element(elem.DEFAULT_PT_IRON))
elem.element(elements.KEV_PT_TIC, elem.element(elem.DEFAULT_PT_TTAN))
elem.element(elements.KEV_PT_TURB, elem.element(elem.DEFAULT_PT_TTAN))
elem.element(elements.KEV_PT_SIV, elem.element(elem.DEFAULT_PT_PSCN))
elem.property(elements.KEV_PT_AG, "Name", "AG")
elem.property(elements.KEV_PT_AL, "Name", "AL")
elem.property(elements.KEV_PT_COPR, "Name", "COPR")
elem.property(elements.KEV_PT_STEL, "Name", "STEL")
elem.property(elements.KEV_PT_GPHT, "Name", "GPHT")
elem.property(elements.KEV_PT_TIC, "Name", "TIC")
elem.property(elements.KEV_PT_TURB, "Name", "TURB")
elem.property(elements.KEV_PT_SIV, "Name", "SIV")
elem.property(elements.KEV_PT_AG, "Description", "Silver. Conductive. Turns into IRON when touches PHOT.")
elem.property(elements.KEV_PT_AL, "Description", "Aluminium. Oxide Resistant. Conducts heat very well.")
elem.property(elements.KEV_PT_COPR, "Description", "Copper. Conducts SPRK and heat very well.")
elem.property(elements.KEV_PT_STEL, "Description", "Construction Steel. Strong. Corrodes with the time.")
elem.property(elements.KEV_PT_GPHT, "Description", "Graphite. Absorbs neutrons and photons. Used in nuclear reactors.")
elem.property(elements.KEV_PT_TIC, "Description", "Titanium Carbide. Used to produce C2H2, extracted from LIME.")
elem.property(elements.KEV_PT_TURB, "Description", "Turbine. Products energy when touches a gas under pressure -BETA- (It doesnt works by now).")
elem.property(elements.KEV_PT_SIV, "Description", "Photovoltaic Silicon. Creates SPRK when touches a PHOT.")
elem.property(elements.KEV_PT_AG, "Color", 0xC0C0C0)
elem.property(elements.KEV_PT_AL, "Color", 0xFFFAF0)
elem.property(elements.KEV_PT_COPR, "Color", 0xCD950C)
elem.property(elements.KEV_PT_STEL, "Color", 0xD9E3E3)
elem.property(elements.KEV_PT_GPHT, "Color", 0x838B8B)
elem.property(elements.KEV_PT_TIC, "Color", 0x3C3C3C)
elem.property(elements.KEV_PT_TURB, "Color", 0x00FF00)
elem.property(elements.KEV_PT_SIV, "Color", 0x808A87)
elem.property(elements.KEV_PT_AG, "Flammable", 0)
elem.property(elements.KEV_PT_AL, "Flammable", 0)
elem.property(elements.KEV_PT_COPR, "Flammable", 0)
elem.property(elements.KEV_PT_STEL, "Flammable", 0)
elem.property(elements.KEV_PT_GPHT, "Flammable", 0)
elem.property(elements.KEV_PT_TIC, "Flammable", 0)
elem.property(elements.KEV_PT_TURB, "Flammable", 0)
elem.property(elements.KEV_PT_SIV, "Flammable", 0)
elem.property(elements.KEV_PT_AG, "Explosive", 0)
elem.property(elements.KEV_PT_AL, "Explosive", 0)
elem.property(elements.KEV_PT_COPR, "Explosive", 0)
elem.property(elements.KEV_PT_STEL, "Explosive", 0)
elem.property(elements.KEV_PT_GPHT, "Explosive", 0)
elem.property(elements.KEV_PT_TIC, "Explosive", 0)
elem.property(elements.KEV_PT_TURB, "Explosive", 0)
elem.property(elements.KEV_PT_SIV, "Explosive", 0)
elem.property(elements.KEV_PT_AL, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_AG, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_COPR, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTPASS+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_STEL, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_GPHT, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTABSORB+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_TIC, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTPASS+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_TURB, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTPASS+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_SIV, "Properties", elem.TYPE_SOLID+elem.PROP_NEUTPASS+elem.PROP_LIFE_DEC+elem.PROP_CONDUCTS+elem.PROP_HOT_GLOW)
elem.property(elements.KEV_PT_AL, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_AG, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_COPR, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_STEL, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_GPHT, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_TIC, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_TURB, "HighTemperatureTransition", elem.DEFAULT_PT_FIRE)
elem.property(elements.KEV_PT_SIV, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elem.property(elements.KEV_PT_AL, "HighTemperature", 1133.15)
elem.property(elements.KEV_PT_AG, "HighTemperature", 1234.93)
elem.property(elements.KEV_PT_COPR, "HighTemperature", 2460.73)
elem.property(elements.KEV_PT_STEL, "HighTemperature", 2373.15)
elem.property(elements.KEV_PT_GPHT, "HighTemperature", 2133.15)
elem.property(elements.KEV_PT_TIC, "HighTemperature", 8745.15)
elem.property(elements.KEV_PT_TURB, "HighTemperature", 1799.15)
elem.property(elements.KEV_PT_SIV, "HighTemperature", 2853.15)
elem.property(elements.KEV_PT_GPHT, "HighPressure", 90)
elem.property(elements.KEV_PT_GPHT, "HighPressureTransition", elements.KEV_PT_BGPH)
elem.property(elements.KEV_PT_AL, "Weight", 180.98)
elem.property(elements.KEV_PT_AG, "Weight", 194.00)
elem.property(elements.KEV_PT_COPR, "Weight", 190)
elem.property(elements.KEV_PT_STEL, "Weight", 185)
elem.property(elements.KEV_PT_GPHT, "Weight", 190)
elem.property(elements.KEV_PT_TIC, "Weight", 190)
elem.property(elements.KEV_PT_TURB, "Weight", 190)
elem.property(elements.KEV_PT_SIV, "Weight", 189)
elem.property(elements.KEV_PT_TURB, "MenuVisible", 0)




--------------------------------------------------------FUNCTIONS-PART-----------------------------------------------------------------

--NITROGEN--
    local function nUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) Nitrogen react with OXYG to form N2O--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and sim.pressure(x/4, y/4) >= 25.30 then
                sim.partProperty(i, "type", elem.KEV_PT_N2O)
                sim.partProperty(r, "type", elem.KEV_PT_N2O)
                end   --2) Nitrogen react with WATR to form HNO3--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and sim.pressure(x/4, y/4) >= 5.30 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O)
                end --3) Nitrogen react with DSTW to form HNO3--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW and sim.pressure(x/4, y/4) >= 5.30 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O)
                end --4) Nitrogen react with PLNT to make grow VINE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLNT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_VINE)
                sim.partProperty(r, "type", elem.KEV_PT_SEED)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wood")
                end  --5) Nitrogen react with HYGN to form NH3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and sim.pressure(x/4, y/4) >= 15.30 then
                sim.partProperty(i, "type", elem.KEV_PT_NH3)
                sim.partProperty(r, "type", elem.KEV_PT_NH3)
                end 
     end
    end

--NITROGEN OXIDE--
    local function n2oUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) Increse explosion force--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
	        tpt.set_pressure(x/4, y/4,1,6,115)
                tpt.set_property("type", "plsm", r)
                tpt.set_property("life", 85, r)
                tpt.set_property("type", "plsm", i)             
                end  --2) Nitrogen residue create after explotion--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                sim.partProperty(i, "type", nitg)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                end  --3) Nitrogen Oxide react with HYGN to form HNO3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and sim.pressure(x/4, y/4) >= 2.30 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.KEV_PT_HNO3)
                end  --4) Nitrogen Oxide react with WATR to form HNO3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1, 50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.KEV_PT_HNO3)
                end  --5) Nitrogen Oxide react with DSTW to form HNO3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW and math.random(1, 70) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.KEV_PT_HNO3)
                end
     end
    end

--OZONE--
    local function o3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Ozone rusts IRON into FE2O3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BRMT)
                end --2) Ozone rusts TTAN into TIO2-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN then
                sim.partProperty(i, "type", elem.KEV_PT_TIO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --3) Ozone rusts STEEL into FE2O3-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_STEL then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BRMT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --4) Ozone rusts SI into SIO2-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_NTCT then
                sim.partProperty(i, "type", elem.KEV_PT_SIO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --5) Ozone rusts TUNG into BREL-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TUNG then
                sim.partProperty(i, "type", elem.KEV_PT_BREL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --6) Ozone rusts BTRY into BREL-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BTRY then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BREL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --7) Ozone purifies WATR of SALT-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW then
                sim.partProperty(i, "type", elem.DEFAULT_PT_WATR)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end  --8) Ozone turns into OXYG when a PHOT touches it-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --9) Ozone Inestability-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG then
                sim.partProperty(i, "type", elem.DEFAULT_PT_LOXY)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end --10) Ozone Toxicity-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLNT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WOOD)
                end --11) Ozone as detonating of sensitive explosives-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLEX then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_CH3NO and sim.pressure(x/4, y/4) >= 3.30 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_NI3 and sim.pressure(x/4, y/4) >= 2.30 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                end
     end
    end

--AMONIAC--
    local function nh3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Amoniac reaction to form HNO3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and sim.pressure(x/4, y/4) >= 7.30 then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                end --2) FE2O3 catalyses reaction to form HNO3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT then
                sim.partProperty(i, "type", elem.KEV_PT_HNO3)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HNO3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                end --3) Fertilizant function--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLNT then
                sim.partProperty(i, "type", elem.KEV_PT_WOOD)
                sim.partProperty(r, "type", elem.DEFAULT_PT_VINE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "seed")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_DIRT then
                sim.partProperty(i, "type", elem.KEV_PT_WOOD)
                sim.partProperty(r, "type", elem.DEFAULT_PT_VINE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "seed")
                end  --4) NH3 reacts with H2O2 to form N2H4-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_H2O2 and sim.pressure(x/4, y/4) >= 9.10 then
                sim.partProperty(i, "type", elem.KEV_PT_N2H4)
                sim.partProperty(r, "type", elem.DEFAULT_PT_N2H4)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end  --5) NH3 reacts with I to form NI3-- 
             if sim.partProperty(r, "type") == iodine then
                sim.partProperty(i, "type", elem.KEV_PT_NI3)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                end --6) NH3 reacts with CH4 to form CH3NO-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_CH4 then
                sim.partProperty(i, "type", elem.KEV_PT_CH3NO)
                sim.partProperty(r, "type", elem.KEV_PT_CH3NO)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end 
     end
    end

--NITROMETHANE--
    local function ch3noUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CH3NO reacts wth I or IODV to form NI3-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_I then
                sim.partProperty(i, "type", elem.KEV_PT_NI3)
                sim.partProperty(r, "type", elem.KEV_PT_NI3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                end  
             if sim.partProperty(r, "type") == elem.KEV_PT_IODV then
                sim.partProperty(i, "type", elem.KEV_PT_NI3)
                sim.partProperty(r, "type", elem.KEV_PT_NI3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                end
     end
    end

--METHANE--
    local function ch4Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) CH4 reacts with OXYG to explode-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG then
                sim.partProperty(i, "type", elem.DEFAULT_PT_WTRV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
                end  --2) CH4 descomposes with WATR into CO2 and HYGN-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and sim.pressure(x/4, y/4) >= 9.10 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
                end  --3) CH4 reacts with NITR to make CH3NO-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_NITR and sim.pressure(x/4, y/4) >= 9.10 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
                end --5) CH4 reacts with HNO3 to form CH3NO-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_HNO3 then
                sim.partProperty(i, "type", elem.KEV_PT_CH3NO)
                sim.partProperty(r, "type", elem.KEV_PT_CH3NO)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end --6) CH4 reacts with F-18 from RADMOD to form R.32-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_F18 and sim.pressure(x/4, y/4) <= -2.10 then
                sim.partProperty(i, "type", elem.KEV_PT_R32)
                sim.partProperty(r, "type", elem.KEV_PT_R32)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                end 
     end
    end

--CARBON MONOXIDE--
    local function coUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CO reacts with WATR to form BUBW-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BUBW)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                end --2) CO reacts with OXYG to form CO2-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
                end --3) CO reacts with CH4 to form C3H8 and C3H8L-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_CH4 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GAS)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OIL)
                end 
     end
    end

--HYDRAZINE--
    local function n2h4Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) N2H4 reacts with F to explode-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_F then
                sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                end
     end
    end

--FREON TYPE 32 or DIFLUORMETHANE--
    local function r32Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) R32 reacts with pressure to decrease its temperature-- 
             if sim.pressure(x/4, y/4) >= 25.10 then
                tpt.set_property("temp", -math.huge, x, y)
                end --2) R32 reacts with WATR to form ICE and LOXY-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
                sim.partProperty(i, "type", elem.DEFAULT_PT_ICE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_LOXY)
                end --3) R32 reacts with DSTW to form ICE and LOXY-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW then
                sim.partProperty(i, "type", elem.DEFAULT_PT_ICE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_LOXY)
                end --4) R32 gets cold with pressure-- 
             if sim.pressure(x/4, y/4) >= 10.00 then
                tpt.set_property("temp", 9, x, y)
                end 
     end
    end

--SULFUR OXIDE--
    local function s2oUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) S2O reacts with DSTW to H2SO4-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW then
                sim.partProperty(i, "type", elem.KEV_PT_H2SO4)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                end  --2) S2O reacts with WATR to H2SO4-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1, 45) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_H2SO4)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                sim.pressure(x/4,y/4,2)
                end  --3) S2O reacts with HYGN to H2SO4-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and sim.pressure(x/4, y/4) >= 5.90 then
                sim.partProperty(i, "type", elem.KEV_PT_H2SO4)
                sim.partProperty(r, "type", elem.KEV_PT_H2SO4)
                end 
     end
    end

--CHLORINE--
    local function clUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CL reacts with HYGN to HCL-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN then
                sim.partProperty(i, "type", elem.KEV_PT_HCL)
                sim.partProperty(r, "type", elem.KEV_PT_HCL)
                end --2) CL reacts with HYGN to HCL-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN then
                sim.partProperty(i, "type", elem.KEV_PT_HCL)
                sim.partProperty(r, "type", elem.KEV_PT_HCL)
                end --3) CL corrodes IRON-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end --4) CL corrodes TTAN-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end --5) CL corrodes SI-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BREL)
                return 1
                end --6) CL corrodes SI5FE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end --7) CL corrodes COPR--
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end --8) CL corrodes CNCW--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end
     end
    end

--IODINE VAPOR--
    local function iodvUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) IODV purifies WATR-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
                sim.partProperty(i, "type", elem.DEFAULT_PT_DSTW)
                sim.partProperty(r, "type", iodine)
                end
     end
    end

--GAS TO PROPANE---
elements.property(elements.DEFAULT_PT_GAS, "Name", "C3H8")
elements.property(elements.DEFAULT_PT_GAS, "Description", "Propane. Diffusses quickly and is flammable. Liquefies into OIL under pressure.")
elements.property(elements.DEFAULT_PT_GAS, "Color", 0xE0EEEE)
elements.property(elements.DEFAULT_PT_GAS, "Flammable", 3870)


------------------------------------------------------------------------------------------------LIQUIDS----------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--HYDROGEN PEROXIDE--
    local function h2o2Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) H2O2 descomposes into OXYG and HYGN with FE2O3-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                sim.pressure(x/4,y/4,5)
                end  --2) H2O2 could ignite in contact with some metals-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,440) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                sim.pressure(x/4,y/4,12)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_AG and math.random(1,460) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                sim.pressure(x/4,y/4,5)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,110) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                sim.pressure(x/4,y/4,5)
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,100) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                sim.pressure(x/4,y/4,10)
                end 
  
     end
    end

--IODHYDRIC ACID--
elem.property(elements.DEFAULT_PT_ACID, "Description", "Iodhydric Acid. Ultracorrosive.")
elem.property(elements.DEFAULT_PT_ACID, "Name", "HI3")
elem.property(elements.DEFAULT_PT_ACID, "Color", 0xCD00CD)

    local function hi3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) HI3 corrodes IRON-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,5) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --2) HI3 corrodes TTAN-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,10) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --3) HI3 corrodes SI-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,20) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BREL)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --4) HI3 corrodes SI5FE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,10) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --5) HI3 corrodes COPR--
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,10) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --6) HI3 corrodes CNCW--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --7) HCL corrodes ALUM--
             if sim.partProperty(r, "type") == elem.KEV_PT_ALUM and math.random(1,30) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_ALUM and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end  --8) HI3 doesnt react with N2-- 
             if sim.partProperty(r, "type") == elem.KEV_PT_N2 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_ACID)
                sim.partProperty(r, "type", elem.KEV_PT_N2)
                end
     end
    end

--CHLORHYDRIC ACID--
    local function hclUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) HCL corrodes IRON-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,60) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --2) HCL corrodes TTAN-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --3) HCL corrodes SI-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BREL)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --4) HCL corrodes SI5FE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,10) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --5) HCL corrodes COPR--
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --6) HCL corrodes CNCW--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --7) HCL corrodes ALUM--
             if sim.partProperty(r, "type") == elem.KEV_PT_ALUM and math.random(1,110) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_CL)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_ALUM and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end
     end
    end


--SULFURIC ACID--
    local function h2so4Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) H2SO4 corrodes IRON-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,45) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end  --2) H2SO4 corrodes TTAN-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_S2O)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_TTAN and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --3) H2SO4 corrodes SI-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BREL)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PTCT and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --4) H2SO4 corrodes SI5FE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,20) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fe2o3")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --5) H2SO4 corrodes COPR--
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,25) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cuo")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cuo")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cuo")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_COPR and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --6) H2SO4 corrodes CNCW--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,950) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRCK and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --7) H2SO4 corrodes FILT--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FILT and math.random(1,150) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                return 1
                end --8) H2SO4 corrodes BRMT--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT and math.random(1,80) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end--9) H2SO4 corrodes STNE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_STNE and math.random(1,150) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_STNE and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end--10) H2SO4 corrodes LIME--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CNCT and math.random(1,120) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CNCT and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end --11) H2SO4 corrodes PSCN--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PSCN and math.random(1,150) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PSCN and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end  --12) H2SO4 Corrodes BE--
             if sim.partProperty(r, "type") == elem.KEV_PT_BE and math.random(1,45) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.KEV_PT_S2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "brel")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "brel")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "brel")
                return 1
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_BE and math.random(1,15) == 1 then
                tpt.set_property("temp", 793, x, y)
                end
     end
    end

--NITRIC ACID--
    local function hno3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) HNO3 corrodes IRON--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,180) == 1 then
                tpt.set_property("temp", 999, x, y)
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,45) == 1 then
                tpt.set_property("temp", 863, x, y)
                end --2) HNO3 corrodes COPR--
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,215) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_COPR and math.random(1,45) == 1 then
                tpt.set_property("temp", 863, x, y)
                end  --3) HNO3 corrodes STEL--
             if sim.partProperty(r, "type") == elem.KEV_PT_STEL and math.random(1,243) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                end --4) HNO3 disolves WAX--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WAX then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --5) HNO3 disolves WAX--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WAX then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --6) HNO3 disolves GOO--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_GOO then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --7) HNO3 disolves NSCN--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_NSCN then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --8) HNO3 disolves PSCN--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PSCN then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --9) HNO3 disolves WOOD--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WOOD then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --10) HNO3 disolves PLNT--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLNT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_WOOD)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                return 1
                end --11) HNO3 mix with SPNG to make IGNC--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SPNG then
                sim.partProperty(r, "type", elem.DEFAULT_PT_IGNC)
                sim.partKill(i)
                end --12) HNO3 mix with MWAX to make NITR --
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_MWAX then
                sim.partProperty(i, "type", elem.DEFAULT_PT_NITR)
                sim.partProperty(r, "type", elem.DEFAULT_PT_NITR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --13) HNO3 mix with LIME to make KNO3 --
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_LIME then
                sim.partProperty(i, "type", elem.KEV_PT_KNO3)
                sim.partProperty(r, "type", elem.KEV_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                end --14) HNO3 mix with NAOH to make NANO3 --
             if sim.partProperty(r, "type") == elem.KEV_PT_NAOH then
                sim.partProperty(i, "type", elem.KEV_PT_NANO3)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WATR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                end  --15) HNO3 mix with NH4O3 to make NCL3 --
             if sim.partProperty(r, "type") == elem.KEV_PT_NH4O3 and sim.pressure(x/4, y/4) >= 20.90  then
                sim.partProperty(i, "type", elem.KEV_PT_NCL3)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.set_property("temp", 999, x, y)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                end --16) HNO3 mix with NH3 to make NH4O3 --
             if sim.partProperty(r, "type") == elem.KEV_PT_NH3 then
                sim.partProperty(i, "type", elem.KEV_PT_NH4O3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                end
     end
    end

--TOLUENE--
    local function c7h8Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) C7H8 reacts with CH3NO to form TNT--
             if sim.partProperty(r, "type") == elem.KEV_PT_CH3NO and math.random(1,80) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_TNT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_TNT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nitr")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nitr")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end  --2) C7H8 reacts with NH3 to form TNT--
             if sim.partProperty(r, "type") == elem.KEV_PT_NH3 and math.random(1,8) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_TNT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_TNT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nitr")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                return 1
                end  --3) C7H8 descomposes with PD to form C3H8--
             if sim.partProperty(r, "type") == elem.KEV_PT_PD and math.random(1,340) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GAS)
                sim.partProperty(r, "type", elem.KEV_PT_PD)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                return 1
                end   --4) C7H8 descomposes with IRON to form C3H8--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,29) >= 1.00 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GAS)
                sim.partProperty(r, "type", elem.DEFAULT_PT_IRON)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                return 1
                end
     end
    end

--SODIUM HYDROXIDE--
    local function naohUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) NAOH neutralizes HI to form NAI--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_ACID then
                sim.partProperty(i, "type", elem.KEV_PT_NAI)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WATR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                return 1
                end  --2) NAOH neutralizes HCL to form NACL--
             if sim.partProperty(r, "type") == elem.KEV_PT_HCL then
                sim.partProperty(i, "type", elem.DEFAULT_PT_SALT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WATR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.set_pressure(x/4, y/4,2,2,1)
                return 1
                end  --3) NAOH neutralizes H2SO4 to form <NASO2> replaced by LIME--
             if sim.partProperty(r, "type") == elem.KEV_PT_H2SO4 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.set_pressure(x/4, y/4,2,2,1)
                return 1
                end
     end
    end


--IODINE--
    local function iodineUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) IOD purifies WATR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
               sim.partProperty(i, "type", iodine)
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW and math.random(1,95) == 1 then
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               sim.partKill(i)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW then
               sim.partProperty(i, "type", iodine)
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_BUBW then
               sim.partProperty(i, "type", iodine)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               end  --2) HI formation
            if sim.partProperty(r, "type") == elem.KEV_PT_N2H4 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_ACID)
               sim.partProperty(r, "type", elem.DEFAULT_PT_ACID)
               end
     end
    end

--MUD--
    local function mudUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) MUD converts into LIME and STONE in contact with FIRE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "sand")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "sand")
                return 1
                end   --2) MUD converts into CLST and CNCT in contact with FIRE--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and sim.pressure(x/4, y/4) >= 30.90 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wtrv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "bgla")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "bgla")
                return 1
                end
     end
    end

--OIL TO PROPANE---
elements.property(elements.DEFAULT_PT_OIL, "Name", "C3H8L")
elements.property(elements.DEFAULT_PT_OIL, "Description", "Liquid Propane. Flammable. Gassifies into CH3H8 at low pressure.")
elements.property(elements.DEFAULT_PT_OIL, "Color", 0xCDC5BF)
elements.property(elements.DEFAULT_PT_OIL, "Flammable", 3870)

--WATR RENAME---
elements.property(elements.DEFAULT_PT_WATR, "Name", "H2O")

------------------------------------------------------------------------------------------------EXPLOSIVES----------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--POTASSIUM NITRATE--
    local function kno3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Deflagrant explosion parameters--
             if sim.pressure(x/4, y/4) >= 6.90 then
	        tpt.set_pressure(x/4, y/4,2,2,65)
                tpt.set_property("type", "n2o", r)
                tpt.set_property("life", 85, r)
                tpt.set_property("type", "n2", i)            
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
	        tpt.set_pressure(x/4, y/4,2,2,65)
                tpt.set_property("type", "n2o", r)
                tpt.set_property("life", 85, r)
                tpt.set_property("type", "n2", i)            
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
	        tpt.set_pressure(x/4, y/4,2,2,75)
                tpt.set_property("type", "plsm", r)
                tpt.set_property("life", 900, r)
                tpt.set_property("type", "plsm", i)             
                tpt.set_property("life", 1000, r)
                tpt.set_property("type", "n2o", i)              
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_N2O then
                sim.partProperty(i, "type", elem.KEV_PT_N2O)
                sim.partProperty(r, "type", elem.DEFAULT_PT_N2O)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire") 
                end --2) KNO3 mix with S create GUN--
             if sim.partProperty(r, "type") == elem.KEV_PT_S then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GUN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_GUN) 
                end --3) KNO3 fertilizes DIRT--
             if sim.partProperty(r, "type") == elem.KEV_PT_DIRT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_VINE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_NEUT) 
                end --4) KNO3 reacts with HCL to form KCL and WATR--
             if sim.partProperty(r, "type") == elem.KEV_PT_HCL then
                sim.partProperty(i, "type", elem.KEV_PT_KCL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn") 
                tpt.set_pressure(x/4, y/4,5,10,1)
                end
     end
    end

--ALUMINIUM OXIDE--
    local function al2o3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Special explosion parameters--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and sim.pressure(x/4, y/4) >= 1.90 then
                sim.partProperty(i, "type", elem.KEV_PT_AL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "thrm") 
                tpt.set_pressure(x/4, y/4,-1,1,35)    
                end               
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM and sim.pressure(x/4, y/4) >= 2.90 then
                sim.partProperty(i, "type", elem.KEV_PT_AL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_EMBR) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "thrm") 
                tpt.set_pressure(x/4, y/4,-1,1,35)    
                end              
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_EMBR and sim.pressure(x/4, y/4) >= 5.90 then
                sim.partProperty(i, "type", elem.KEV_PT_AL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "thrm") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "thrm") 
                tpt.set_pressure(x/4, y/4,-1,1,35)    
                end--2) AL2O3 Absorbs OXYG--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and sim.pressure(x/4, y/4) >= 10.90 then
                sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
                sim.partProperty(r, "type", elem.KEV_PT_AL203)    
                end  --2) AL2O3 Absorbs OXYG--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and sim.pressure(x/4, y/4) >= 10.90 then
                sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
                sim.partProperty(r, "type", elem.KEV_PT_AL203)    
                end  --3) AL2O3 reverts corrotion of TTAN--
             if sim.partProperty(r, "type") == elem.KEV_PT_TIO2 then
                sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
                sim.partProperty(r, "type", elem.DEFAULT_PT_TTAN) 
                tpt.set_pressure(x/4, y/4,1,2,-1.5)   
                end  --4) AL2O3 under pressure with SIO2 forms CLST--
             if sim.partProperty(r, "type") == elem.KEV_PT_SIO2	and sim.pressure(x/4, y/4) >= 12.00 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CLST)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CLST)   
                end  --5) AL2O3 mixed with FE3O2 forms THRM--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT then
                sim.partProperty(i, "type", elem.DEFAULT_PT_THRM)
                sim.partProperty(r, "type", elem.DEFAULT_PT_THRM)    
                end
     end
    end

--NITROGEN TRICHLORIDE--
    local function ncl3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --1) NCL3 explosivity and flammability paramethers--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.KEV_PT_NH3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hcl") 
                tpt.set_pressure(x/4, y/4,-1,1,155)      
                end  
             if sim.pressure(x/4, y/4) >= 2.90 then
                sim.partProperty(i, "type", elem.KEV_PT_NH3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn") 
                tpt.set_pressure(x/4, y/4,-1,1,155)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                sim.partProperty(i, "type", elem.KEV_PT_NH3)
                sim.partProperty(r, "type", elem.KEV_PT_N2O) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn") 
                tpt.set_pressure(x/4, y/4,-1,1,155)
                end  --2) NCL3 corrodes IRON--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and math.random(1,655) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                return 1
                end  --3) NCL3 corrodes METL--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_METL and math.random(1,695) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                return 1
                end
     end
    end

--SULFUR--
    local function sUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Special explosion parameters--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.KEV_PT_S2O)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o") 
                tpt.set_pressure(x/4, y/4,-1,1,35)    
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                sim.partProperty(i, "type", elem.KEV_PT_S2O)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE) 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o") 
                tpt.set_pressure(x/4, y/4,-1,1,35)    
                end  --2) S oxides with OXYG--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and math.random(1,15) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_S2O)
                sim.partProperty(r, "type", elem.DEFAULT_PT_S2O)
                end  --3) S forms H2SO4 in contact with HCL--
             if sim.partProperty(r, "type") == elem.KEV_PT_HCL and math.random(1,15) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_HCL)
                sim.partProperty(r, "type", elem.KEV_PT_H2SO4)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cl") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o") 
                end
     end
    end

--NITROCELLULOSE--
    ----No functions by now, wait for next version please--- 

--ANFO--
    local function anfoUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Special explosive and flammability paramethers--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                sim.pressure(x/4,y/4,195)
                tpt.set_property("temp", math.huge, x, y)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                sim.partProperty(i, "type", elem.DEFAULT_PT_PLSM)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.set_pressure(x/4, y/4,5,10,196)
                tpt.set_property("temp", math.huge, x, y)
                end
             if sim.pressure(x/4, y/4) >= 3.00 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.set_pressure(x/4, y/4,5,10,196)
                end
     end
    end
    

--NITROGEN IODIDE--
    local function ni3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Special explosive and flammability paramethers--
             if sim.partProperty(r, "type") == elem.KEV_PT_I then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                sim.pressure(x/4,y/4,85)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.set_property("temp", 403, x, y)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_IODV then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                sim.pressure(x/4,y/4,85)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")  
                sim.pressure(x/4,y/4,85)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.set_property("temp", 403, x, y)
                end
             if sim.pressure(x/4, y/4) >= 2.00 then
                sim.partProperty(i, "type", elem.KEV_PT_IODV)
                sim.partProperty(r, "type", elem.KEV_PT_IODV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "iodv") 
                sim.pressure(x/4,y/4,85)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o") 
                tpt.set_property("temp", 403, x, y)
                end
     end
    end

--BLACK GUNPOWDER--
    local function bgunUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                sim.partProperty(i, "type", elem.DEFAULT_PT_EMBR)
                sim.partProperty(r, "type", elem.DEFAULT_PT_EMBR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")  
                sim.pressure(x/4,y/4,85)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                sim.partProperty(i, "type", elem.DEFAULT_PT_EMBR)
                sim.partProperty(r, "type", elem.DEFAULT_PT_EMBR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")  
                sim.pressure(x/4,y/4,85)
                end
     end
    end

--AMONIUM NITRATE--
    local function nh4o3Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) NH4O2 Comburent properties-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and math.random(1,29) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and math.random(1,29) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OIL and math.random(1,25) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.KEV_PT_ANFO)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "anfo")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_GAS and math.random(1,34) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_NITR and math.random(1,30) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_NITR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_NCL3 and math.random(1,34) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.KEV_PT_NCL3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_C2H2 and math.random(1,26) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_CH4 and math.random(1,28) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
                end --2) NH4O2 special flammability paramethers-- 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and math.random(1,745) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                end              
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and sim.pressure(x/4, y/4) >= 2.00 and math.random(1,5) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OXYG)
                sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
                sim.pressure(x/4,y/4,35)
                end
     end
    end

--ACETILENE--
    local function c2h2Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Special explosive and flammability paramethers--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
                tpt.set_property("temp", math.huge, x, y)
                sim.partProperty(i, "type", elem.DEFAULT_PT_PLSM)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                tpt.set_property("temp", math.huge, x, y)
                sim.pressure(x/4,y/4,15)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLSM then
                tpt.set_property("temp", math.huge, x, y)
                sim.partProperty(i, "type", elem.DEFAULT_PT_PLSM)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.set_property("temp", math.huge, x, y)
                tpt.set_pressure(x/4, y/4,5,10,19)
                end
             if sim.pressure(x/4, y/4) >= 153.00 then
                tpt.set_property("temp", math.huge, x, y)
                sim.partProperty(i, "type", elem.DEFAULT_PT_PLSM)
                sim.partProperty(r, "type", elem.DEFAULT_PT_PLSM)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "plsm")
                tpt.set_property("temp", math.huge, x, y)
                tpt.set_pressure(x/4, y/4,5,10,19)
                end
     end
    end

------------------------------------------------------------------------------------------------POWDERS----------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--DIRT--
    local function dirtUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) LIME formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SALT and math.random(1,7250) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_CAC2 and math.random(1,9650) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if math.random(1,33650) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --2) FE2O3 formation--
             if math.random(1,952745) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BRMT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BRMT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --3) STNE formation--
             if math.random(1,38745) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_STNE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --4) KNO3 formation--            
             if sim.partProperty(r, "type") == elem.KEV_PT_N2 and math.random(1,7190) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_KNO3)
                sim.partProperty(r, "type", elem.KEV_PT_NH3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --4) DIRT fertility--            
             if sim.partProperty(r, "type") == elem.KEV_PT_SEED and math.random(1,7) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_VINE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_NEUT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
     end
    end

--ROCK FORMATION FROM STNE--
   local function stonetorockUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then   --1) N2 helps formation--
             if sim.partProperty(r, "type") == elem.KEV_PT_N2 and math.random(1,7750) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --2) Pressure helps formation--
             if sim.pressure(x/4,y/4) >= 36.00 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --3) SLTW helps formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW and math.random(1,2550) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --4) WATR helps formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1,3850) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --5) SALT helps formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SALT and math.random(1,100000) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --6) AL2O3 helps formation--
             if sim.partProperty(r, "type") == elem.KEV_PT_AL2O3 and math.random(1,100000) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
     end
    end

--LIMESTONE--

elem.property(elements.DEFAULT_PT_CNCT, "Name", "LIME")
elem.property(elements.DEFAULT_PT_CNCT, "Description", "Limestone. Raw Material for CMNT. OIL and C3H8 can be extracted from it.")
elem.property(elements.DEFAULT_PT_CNCT, "HighTemperatureTransition", DEFAULT_PT_LAVA)
elem.property(elements.DEFAULT_PT_CNCT, "HighTemperature", 1783.15)
elem.property(elements.DEFAULT_PT_CNCT, "Color", 0xFFFFE0)
elem.property(elements.DEFAULT_PT_CNCT, "Weight", 96.00)

   local function limestoneUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then   --1) LIME converts into CAC2 when its burned with BCOL--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_LAVA and sim.partProperty(r, "ctype") == elem.KEV_PT_BGPH then
                sim.partProperty(i, "type", elem.KEV_PT_CAC2)
                sim.partProperty(r, "type", elem.KEV_PT_CAC2)
                end   
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_LAVA and sim.partProperty(i, "ctype") == elem.KEV_PT_BGPH then
                sim.partProperty(i, "type", elem.KEV_PT_CAC2)
                sim.partProperty(r, "type", elem.KEV_PT_CAC2)
                end  --2) BUBW helps formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BUBW and math.random(1,19550) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_QRTZ)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --4) CO2 helps formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CO2 and math.random(1,13850) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --5) LIME Porosity--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OIL and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OIL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_GAS and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GAS)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CH4 and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CH4)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CO2 and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_OIL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WATR)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WTRV and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CMNT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.pressure(x/4, y/4) <= -12.00 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_GAS)
                sim.partProperty(r, "type", elem.DEFAULT_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "qrtz")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "ch4")
                end --5) CMNT formation--
             if sim.partProperty(r, "type") == elem.KEV_PT_SIO2 and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CMNT)
                sim.partProperty(r, "type", elem.KEV_PT_CMNT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_AL2O3 and math.random(1,100) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CMNT)
                sim.partProperty(r, "type", elem.KEV_PT_CMNT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT and math.random(1,10) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CMNT)
                sim.partProperty(r, "type", elem.KEV_PT_CMNT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
     end
    end


--ROCK--
   local function rockUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) LIME formation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SALT and math.random(1,250) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW and math.random(1,50) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_CAC2 and math.random(1,650) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end
             if math.random(1,13650) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CNCT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --2) FE2O3 formation--
             if math.random(1,32745) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BRMT)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BRMT)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end --3) STNE formation--
             if math.random(1,21745) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_STNE)
                sim.partProperty(r, "type", elem.DEFAULT_PT_STNE)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2")
                end --4) ROCK formation--
             if math.random(1,18945) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --5) AL2O3 formation--
             if math.random(1,30590) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
                sim.partProperty(r, "type", elem.KEV_PT_AL2O3)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                end  --6) CLST formation--
             if math.random(1,97590) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_CLST)
                sim.partProperty(r, "type", elem.DEFAULT_PT_CLST)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end  --10) SIO2 formation--
             if math.random(1,70250) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_SIO2)
                sim.partProperty(r, "type", elem.KEV_PT_SIO2)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end   --11) CUO formation--
             if math.random(1,80560) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CUO)
                sim.partProperty(r, "type", elem.KEV_PT_CUO)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end --12) BREL formation--
             if math.random(1,85650) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_BREL)
                sim.partProperty(r, "type", elem.DEFAULT_PT_BREL)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end  --13) ROCK reformation--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_STNE and math.random(1,10260) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partKill(r)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "stne")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "stne")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_CNCT and math.random(1,58320) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "stne")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "rock")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_BRMT and math.random(1,59400) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_ROCK)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "stne")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "rock")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "c3h8")
                end  --14) ROCK GAS and WATR porosity--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1,3600) == 1 then
                sim.partProperty(i, "type", elem.DEFAULT_PT_WATR)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                end 
             if sim.partProperty(r, "type") == elem.KEV_PT_CH4 and math.random(1,2350) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CH4)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                end 
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_GAS and math.random(1,6880) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_CH4)
                sim.partProperty(r, "type", elem.KEV_PT_ROCK)
                end 
     end
    end

--SEED--
    --No functions by now, check again in the next actualization.--

--CEMENT--
   local function cementUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CMNT consolides well into CNCW---
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
            sim.partProperty(i, "type", elem.DEFAULT_PT_BRCK)
            sim.partProperty(r, "type", elem.DEFAULT_PT_PSTE)
            tpt.set_property("temp", 363, x, y)
            end
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_PSTE then
            sim.partProperty(i, "type", elem.DEFAULT_PT_BRCK)
            sim.partProperty(r, "type", elem.KEV_PT_CMNT)
            end  --2) CMNT consolides bad into CNCW and SALT---
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW then
            sim.partProperty(i, "type", elem.DEFAULT_PT_SALT)
            sim.partProperty(r, "type", elem.DEFAULT_PT_PSTE)
            tpt.set_property("temp", 393, x, y)
            end
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_SALT then
            sim.partProperty(i, "type", elem.DEFAULT_PT_STNE)
            sim.partProperty(r, "type", elem.DEFAULT_PT_SALT)
            end
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_STNE and math.random(1,60) == 1 then
            sim.partProperty(i, "type", elem.DEFAULT_PT_CNCT)
            sim.partProperty(r, "type", elem.DEFAULT_PT_BRMT)
            end --2) CMNT consolides  bad into CNCW and CO2---
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_BUBW then
            sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
            sim.partProperty(r, "type", elem.DEFAULT_PT_PSTE)
            tpt.set_property("temp", 323, x, y)
            end
     end
    end

--BROKENGRAPHITE--
    local function bgraphiteUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) BGPH oxides in contc with OXYG--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and math.random(1,1620) == 1 then
            sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
            sim.partProperty(r, "type", elem.KEV_PT_BCAR)
            end      --2) BGPH produces HYGN when touches NEUT--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_NEUT and math.random(1,2) == 1 then
            sim.partProperty(i, "type", elem.KEV_PT_BGPH)
            sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
            end     --2) BGPH absorbs PHOT--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
            sim.partKill(r)
            end
            
     end
    end

--BROKENCARBONO--
    local function bcarbonoUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then  --2) BCAR converts into C3H8 in presense of HYGN (rare) --
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and math.random(1,16590) == 2 then
               sim.partProperty(r, "type", elem.DEFAULT_PT_GAS)
               sim.partKill(i)
               end --3) BCAR ignition--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
               sim.partProperty(r, "type", elem.DEFAULT_PT_COAL)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               end --4) STEL aleation--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_IRON and sim.partProperty(r, "ctype") == elem.DEFAULT_PT_LAVA then
               sim.partProperty(r, "type", elem.KEV_PT_STEL)
               sim.partKill(i)
               end
     end
    end

--CALCIUM CARBIDE--
    local function cac2Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then   --1) CAC2 converts into C2H2 with WATR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1,3) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_C2H2)
               sim.partProperty(r, "type", elem.KEV_PT_C2H2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
               end   --2) CAC2 converts into C2H2 with SLTW--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW and math.random(1,9) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_C2H2)
               sim.partProperty(r, "type", elem.KEV_PT_C2H2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "salt")
               end  --3) CAC2 fertilizes DIRT with N2--
            if sim.partProperty(r, "type") == elem.KEV_PT_DIRT and math.random(1,93) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_PLNT)
               sim.partProperty(r, "type", elem.KEV_PT_C2H2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "nh3")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "n2o")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
               end 
     end
    end

--SILICON DIOXIDE--
    local function sio2Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) SIO2 in contact with FIRE forms BGLA--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and math.random(1,3) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_BGLA)
               sim.partProperty(r, "type", elem.DEFAULT_PT_PQRT)
               end  --3) SIO2 in contact with DUST forms SAND--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_DUST and math.random(1,3) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_SAND)
               sim.partProperty(r, "type", elem.DEFAULT_PT_SAND)
               end --4) SIO2 in contact with SLTW forms QRTZ--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW and math.random(1,300) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_QRTZ)
               sim.partProperty(r, "type", elem.DEFAULT_PT_WATR)
               end --5) SIO2 in contact with FIRE forms BGLA--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and math.random(1,3) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_BGLA)
               sim.partProperty(r, "type", elem.DEFAULT_PT_PQRT)
               end 
     end
    end

--COPPER OXIDE--
    local function cuoUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CUO in contact with HYGN forms COPR and WATR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_HYGN and math.random(1,60) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_COPR)
               sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
               end  --2) CUO in contact with H2SO4 forms CUSO4 and WATR--
            if sim.partProperty(r, "type") == elem.KEV_PT_H2SO4 and math.random(1,160) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CUSO4)
               sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
               end  --3) CUO in contact with NAOH forms ELEC --
            if sim.partProperty(r, "type") == elem.KEV_PT_NAOH and math.random(1,6530) == 1 then
               sim.partProperty(i, "type", elem.KEV_PT_NAOH)
               sim.partProperty(r, "type", elem.DEFAULT_PT_ELEC)
               end  --4) CUO in contact with CO forms COPR and WATR--
            if sim.partProperty(r, "type") == elem.KEV_PT_CO and math.random(1,120) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_COPR)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               end --5) CUO reacts with FIRE forms EMBR and COPR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
               sim.partProperty(i, "type", elem.KEV_PT_COPR)
               sim.partProperty(r, "type", elem.DEFAULT_PT_EMBR)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "smke")
               end 
     end
    end

--TITANIUM OXIDE--
    local function tio2Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) TIO2 in contact with NAOH gets sparked--
            if sim.partProperty(r, "type") == elem.KEV_PT_NAOH and math.random(1,4) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_SPRK)
               sim.partProperty(i, "ctype", elem.KEV_PT_TIO2)
               end
     end
    end 

--TITANIUM FORMS OXIDE--

--TITANIUM TO TITANIUM CARBIDE AND OXIDES--
    local function titoticUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then
             if sim.partProperty(r, "type") == elem.KEV_PT_CH4 and math.random(1,240) == 1 then
                sim.partProperty(i, "type", elem.KEV_PT_TIC)
                sim.partProperty(r, "type", elem.DEFAULT_PT_HYGN)
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "hygn")
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and math.random(1,6790) == 2 then
                sim.partProperty(r, "type", elem.KEV_PT_TIO2)
                sim.partKill(i)
                end   
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW and math.random(1,3415) == 2 then
                sim.partProperty(r, "type", elem.KEV_PT_TIO2)
                sim.partKill(i)
                end
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR and math.random(1,4880) == 2 then
                sim.partProperty(r, "type", elem.KEV_PT_TIO2)
                sim.partKill(i)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_O3 and math.random(1,790) == 2 then
                sim.partProperty(r, "type", elem.KEV_PT_TIO2)
                sim.partKill(i)
                end 
     end
    end

--COPPER SULFATE--
    local function cuso4Update(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) CUSO4 purifies WATR, SLTW and BUBW--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_SLTW then
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               sim.partKill(i)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_BUBW then
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               sim.partKill(i)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WATR then
               sim.partProperty(r, "type", elem.DEFAULT_PT_DSTW)
               sim.partKill(i)
               end  --2) CUSO4 slowly kills PLNT
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_PLNT and math.random(1,2) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CO)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wood")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wood")
               end  --3) CUSO4 slowly kills VINE
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_VINE and math.random(1,2) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CUSO4)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wood")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "wood")
               end  --4) CUSO4 slowly turns WOOD into DIRT
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WOOD and math.random(1,5) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CUSO4)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "stne")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "dirt")
               end  --5) Special explosive and flammability paramethers--
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE and math.random(1,50) == 1 then
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "s2o")
                tpt.create(x+math.random(-1,1), y+math.random(-1,1), "cuo")
                sim.pressure(x/4,y/4,75)
                end
     end
    end 


--HEMATITE AN IRON OXIDE--
elements.property(elements.DEFAULT_PT_BRMT, "Name", "FE2O3")
elements.property(elements.DEFAULT_PT_BRMT, "Description", "Hematite, an IRON oxide, an adsorbent of WTRV. Absorbs microwaves like PHOT and ELEC.")
elements.property(elements.DEFAULT_PT_BRMT, "Color", 0x882D17)
elements.property(elements.DEFAULT_PT_BRMT, "Flammable", 0)

--SALT RENAME---
elements.property(elements.DEFAULT_PT_SALT, "Name", "NACL")



------------------------------------------------------------------------------------------------SOLIDS----------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--ALUMINIUM--  
    local function alUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) AL reflects ELEC in form of EMBR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_ELEC and math.random(1,2) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_EMBR)
               sim.partProperty(r, "type", elem.KEV_PT_AL)
               end  --2) AL reflects PHOT in form of EMBR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT and math.random(1,2) == 2 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_EMBR)
               sim.partProperty(r, "type", elem.KEV_PT_AL)
               end --3) AL oxides with WTRV--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WTRV and math.random(1,5) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
               sim.partProperty(r, "type", elem.DEFAULT_PT_WTRV)
               end --4) AL oxides with O3--
            if sim.partProperty(r, "type") == elem.KEV_PT_O3 and math.random(1,5) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_AL2O3)
               sim.partProperty(r, "type", elem.KEV_PT_AL2O3)
               end 
     end
    end 

--SILVER--  
    local function agUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) AG reflects ELEC in form of EMBR--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_ELEC then
               sim.partProperty(i, "type", elem.DEFAULT_PT_EMBR)
               sim.partProperty(r, "type", elem.KEV_PT_AG)
	       tpt.set_property("life", 3000, i)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "embr")
               end  --2) AG in presence of PHOT transform in IRON--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
               sim.partProperty(i, "type", elem.DEFAULT_PT_IRON)
               sim.partProperty(r, "type", elem.DEFAULT_PT_PHOT)
               end --3) Molten AG forms SIv with molten SI--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_LAVA and sim.partProperty(r, "ctype") == elem.DEFAULT_PT_NTCT then
               sim.partProperty(i, "type", elem.KEV_PT_SIV)
               sim.partProperty(r, "type", elem.KEV_PT_SIV)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "co2")
               end --4) AG forms RAZR with pressure--
            if sim.pressure(x/4, y/4) == 75.00 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_RAZR)
               sim.partProperty(r, "type", elem.DEFAULT_PT_RAZR)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
               end --5) AG forms RAZR with OXYG--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and math.random(1,485) == 1 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_RAZR)
               sim.partProperty(r, "type", elem.DEFAULT_PT_RAZR)
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
               tpt.create(x+math.random(-1,1), y+math.random(-1,1), "oxyg")
               end 
     end
    end 

--SILICON NITRIDE--  
--No functions by now, check again in the next update.--


--TURBINE--
--In BETA by now, it doesnt have any function. It doesnt do anything.--
    local function turbineUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then
            print("No functional by now, please wait :) ")
       
     end
    end

--GRAPHITE--
    local function graphiteUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) GPHT oxides in contc with OXYG--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and math.random(1,1620) == 1 then
            sim.partProperty(i, "type", elem.DEFAULT_PT_CO2)
            sim.partProperty(r, "type", elem.KEV_PT_BCAR)
            end      --2) GPHT produces HYGN when touches NEUT--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_NEUT and math.random(1,2) == 1 then
            sim.partProperty(i, "type", elem.KEV_PT_GPHT)
            sim.partProperty(r, "type", elem.DEFAULT_PT_PHOT)
            end     --2) GPHT absorbs PHOT--
         if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
            sim.partKill(r)
            end
            
     end
    end

--TITANIUM CARBIDE--
    local function ticUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) TIC converts OXYG into CO2--
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG and sim.pressure(x/4, y/4) >= 75.30 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_TTAN)
               sim.partProperty(r, "type", elem.DEFAULT_PT_CO2)
               end  
     end
    end

--PHOTOVOLTAIC SILICON ---
    local function sivUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) Photovoltaic Properties of SIV             
             if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
	        tpt.create(x+math.random(-1,1), y+math.random(-1,1), "elec")
	        sim.partProperty(i, "type", elem.KEV_PT_SIV)
                sim.partProperty(i, "ctype", elem.DEFAULT_PT_SPRK)
                sim.partProperty(i, "tmp", sim.partProperty(i, "tmp")+1)
                sim.pressure(x/4,y/4,4)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_O3 then
	        tpt.create(x+math.random(-1,1), y+math.random(-1,1), "brel")
                sim.partProperty(i, "type", elem.KEV_PT_SIO2)
                sim.partProperty(r, "type", elem.DEFAULT_PT_NTCT)
                end
             if sim.partProperty(r, "type") == elem.KEV_PT_F18 then
	        tpt.create(x+math.random(-1,1), y+math.random(-1,1), "fire")
	        tpt.create(x+math.random(-1,1), y+math.random(-1,1), "brel")
                sim.pressure(x/4,y/4,4)
                end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_LAVA and sim.partProperty(r, "ctype") == elem.DEFAULT_PT_IRON then
               sim.partProperty(i, "type", elem.DEFAULT_PT_METL)
               sim.partProperty(r, "type", elem.DEFAULT_PT_METL)
               end
     end
    end            







--BMTL TO BRAS
elements.property(elements.DEFAULT_PT_BMTL, "Name", "BRAS")
elements.property(elements.DEFAULT_PT_BMTL, "Description", "Brass. Breakeable semiconductor.")
elements.property(elements.DEFAULT_PT_BMTL, "Color", 0xCDAD00)
elements.property(elements.DEFAULT_PT_BMTL, "Flammable", 0)
elements.property(elements.DEFAULT_PT_BMTL, "HighPressure", 9.90)
elements.property(elements.DEFAULT_PT_BMTL, "HighPressureTransition", elem.KEV_PT_CUO)
elements.property(elements.DEFAULT_PT_BMTL, "MenuSection", SC_ELECTRONICS)

    local function brassUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) BRASS breaks into CUO under pressure--
            if sim.pressure(x/4, y/4) >= 9.20 then
               sim.partProperty(i, "type", elem.KEV_PT_CUO)
               end 
            if sim.pressure(x/4, y/4) <= 9.20 then
               sim.partProperty(i, "type", elem.DEFAULT_PT_BMTL)
               end 
     end
    end 

--NTCT TO SILICON
elements.property(elements.DEFAULT_PT_NTCT, "Name", "SI")
elements.property(elements.DEFAULT_PT_NTCT, "Description", "Silicon. Semiconductor, only conducts when it's over 100 °C.")
elements.property(elements.DEFAULT_PT_NTCT, "Color", 0x2F4F4F)
elements.property(elements.DEFAULT_PT_NTCT, "Flammable", 0)

--PTCT TO GERMANIUM
elements.property(elements.DEFAULT_PT_PTCT, "Name", "GE")
elements.property(elements.DEFAULT_PT_PTCT, "Description", "Germanium. Semiconductor, only conducts when it's under 100 °C.")
elements.property(elements.DEFAULT_PT_PTCT, "Color", 0xEEE9BF)
elements.property(elements.DEFAULT_PT_PTCT, "Flammable", 0)

--METL TO ELECTRIC USE STEEL--
elements.property(elements.DEFAULT_PT_METL, "Name", "SI5FE")
elements.property(elements.DEFAULT_PT_METL, "Description", "Electric Steel. Conducts SPRK and heat very well.")
elements.property(elements.DEFAULT_PT_METL, "Color", 0x708090)
elements.property(elements.DEFAULT_PT_METL, "HighTemperature", 3100)
elements.property(elements.DEFAULT_PT_METL, "HighTemperatureTransition", elem.DEFAULT_PT_LAVA)
elements.property(elements.DEFAULT_PT_METL, "HeatConduct", 0.4)

--RUBIDIUM WELL NAMED--
elements.property(elements.DEFAULT_PT_RBDM, "Name", "RB")
elements.property(elements.DEFAULT_PT_RBDM, "Description", "Rubidium. Explosive when is exposed to humidity. Photosensible when it´s cold, absorbs OXYG.")
elements.property(elements.DEFAULT_PT_RBDM, "Flammable", 0)
elements.property(elements.DEFAULT_PT_RBDM, "Explosive", 2400)

    local function rbextrafeaturesUpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WTRV then
               sim.partProperty(i, "type", elem.DEFAULT_PT_HYGN)
               sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_WTRV then
               sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
               sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW then
               sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
               sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_DSTW then
               sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
               sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_BUBW then
               sim.partProperty(i, "type", methane)
               sim.partProperty(r, "type", elem.DEFAULT_PT_FIRE)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_PHOT then
               sim.partProperty(i, "type", elem.DEFAULT_PT_ELEC)
               sim.partProperty(r, "type", elem.DEFAULT_PT_RBDM)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_OXYG then
               sim.partProperty(i, "type", elem.DEFAULT_PT_ELEC)
               sim.partProperty(r, "type", elem.DEFAULT_PT_RBDM)
               end
            if sim.partProperty(r, "type") == elem.DEFAULT_PT_FIRE then
               sim.partProperty(i, "type", elem.DEFAULT_PT_FIRE)
               sim.partProperty(r, "type", elem.DEFAULT_PT_OXYG)
               tpt.set_pressure(x/4, y/4,5,10,19)
               end
     end
    end 

--TUNGSTEN CARBIDE--
elem.property(elements.DEFAULT_PT_ETRD, "Name", "W6C")
elem.property(elements.DEFAULT_PT_ETRD, "Description", "Tungsten Carbide. Used as electrode, hard as DMND.")

--TUNGSTEN FORMS TUNGSTEN CARBIDE--
    local function wtow6cpdate(i, x, y, s, nt)
    r = sim.partID(x+math.random(-1,1),y+math.random(-1,1))
     if r~= nil then --1) TUNG in contact with C2H2 forms W6C--
            if sim.partProperty(r, "type") == elem.KEV_PT_C2H2 and math.random(1,10) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CO)
               sim.partProperty(r, "type", elem.DEFAULT_PT_ETRD)
               end  --2) TUNG in contact with BCAR forms W6C--
            if sim.partProperty(r, "type") == elem.KEV_PT_BCAR and math.random(1,50) == 2 then
               sim.partProperty(i, "type", elem.KEV_PT_CO)
               sim.partProperty(r, "type", elem.DEFAULT_PT_ETRD)
               end
     end
    end


elem.property(elem.KEV_PT_N2, "Update", nUpdate)
elem.property(elem.KEV_PT_N2O, "Update", n2oUpdate)
elem.property(elem.KEV_PT_O3, "Update", o3Update)
elem.property(elem.KEV_PT_NH3, "Update", nh3Update)
elem.property(elem.KEV_PT_CH3NO, "Update", ch3noUpdate)
elem.property(elem.KEV_PT_CH4, "Update", ch4Update)
elem.property(elem.KEV_PT_CO, "Update", coUpdate)
elem.property(elem.KEV_PT_N2H4, "Update", n2h4Update)
elem.property(elem.KEV_PT_R32, "Update", r32Update)
elem.property(elem.KEV_PT_S2O, "Update", s2oUpdate)
elem.property(elem.KEV_PT_CL, "Update", clUpdate)
elem.property(iodinevapor, "Update", iodvUpdate)
elem.property(elem.KEV_PT_H2O2, "Update", h2o2Update)
elem.property(elem.DEFAULT_PT_ACID, "Update", hi3Update)
elem.property(elem.KEV_PT_H2SO4, "Update", h2so4Update)
elem.property(elem.KEV_PT_HCL, "Update", hclUpdate)
elem.property(elem.KEV_PT_HNO3, "Update", hno3Update)
elem.property(elem.KEV_PT_C7H8, "Update", c7h8Update)
elem.property(elem.KEV_PT_NAOH, "Update", naohUpdate)
elem.property(iodine, "Update", iodineUpdate)
elem.property(elem.KEV_PT_MUD, "Update", mudUpdate)
elem.property(elem.KEV_PT_KNO3, "Update", kno3Update)
elem.property(elem.KEV_PT_AL2O3, "Update", al2o3Update)
elem.property(elem.KEV_PT_NCL3, "Update", ncl3Update)
elem.property(elem.KEV_PT_S, "Update", sUpdate)
elem.property(elem.KEV_PT_ANFO, "Update", anfoUpdate)
elem.property(elem.KEV_PT_NI3, "Update", ni3Update)
elem.property(elem.KEV_PT_BGUN, "Update", bgunUpdate)
elem.property(elem.KEV_PT_NH4O3, "Update", nh4o3Update)
elem.property(elem.KEV_PT_C2H2, "Update", c2h2Update)
elem.property(elem.KEV_PT_DIRT, "Update", dirtUpdate)
elem.property(elem.DEFAULT_PT_STNE, "Update", stonetorockUpdate)
elem.property(elem.KEV_PT_ROCK, "Update", rockUpdate)
elem.property(elem.KEV_PT_CMNT, "Update", cementUpdate)
elem.property(elem.KEV_PT_BGPH, "Update", bgraphiteUpdate)
elem.property(elem.KEV_PT_BCAR, "Update", bcarbonoUpdate)
elem.property(elem.KEV_PT_CAC2, "Update", cac2Update)
elem.property(elem.DEFAULT_PT_CNCT, "Update", limestoneUpdate)
elem.property(elem.KEV_PT_SIO2, "Update", sio2Update)
elem.property(elem.KEV_PT_TIO2, "Update", tio2Update)
elem.property(elem.KEV_PT_CUO, "Update", cuoUpdate)
elem.property(elem.KEV_PT_CUSO4, "Update", cuso4Update)
elem.property(elem.KEV_PT_AL, "Update", alUpdate)
elem.property(elem.KEV_PT_AG, "Update", agUpdate)
elem.property(elem.KEV_PT_TURB, "Update", turbineUpdate)
elem.property(elem.DEFAULT_PT_BMTL, "Update", brassUpdate)
elem.property(elem.DEFAULT_PT_RBDM, "Update", rbextrafeaturesUpdate)
elem.property(elem.DEFAULT_PT_TTAN, "Update", titoticUpdate)
elem.property(elem.KEV_PT_GPHT, "Update", graphiteUpdate)
elem.property(elem.KEV_PT_TIC, "Update", ticUpdate)
elem.property(elem.KEV_PT_SIV, "Update", sivUpdate)
elem.property(elem.DEFAULT_PT_TUNG, "Update", wtow6cUpdate)

Description:

Changelog: