View difference between Paste ID: mJuy5ADg and N7RCqret
SHOW: | | - or go back to the newest paste.
1
colourRGB = {255,255,255}
2-
FuelMod = {["version"] = 1.8}
2+
FuelMod = {["version"] = 1.9}
3-
SLTWUpdate = function(i, x, y, s, n)
3+
4-
	chance = math.random(-1,1)
4+
5-
	electrocy = tpt.get_property('ctype', x, y)
5+
6-
	electro = tpt.get_property('type', x + math.random(-1,1), y + chance)
6+
7-
	if buttonable == 1 then
7+
8-
		if electrocy == tpt.el.sltw.id then
8+
9
elements.property(elements.JWARD_PT_PTRL, "Name", "PTRL")
10-
			if electro == tpt.el.sprk.id and buttonable == 1 then
10+
11-
				if chance == -1 then
11+
12-
					sim.partChangeType(i, tpt.element('plye'))
12+
13
elements.property(elements.JWARD_PT_PTRL, "Gravity", 0.6)
14-
				if chance == 0 then
14+
elements.property(elements.JWARD_PT_PTRL, "Flammable", 0)
15-
					sim.partChangeType(i, tpt.element('hygn'))
15+
16
elements.property(elements.JWARD_PT_PTRL, "Loss", 0.8)
17-
				if chance == 1 then
17+
18-
					sim.partChangeType(i, tpt.element('caus'))
18+
19
elements.property(elements.JWARD_PT_PTRL, "Advection", 0.8)
20-
				tpt.set_property('life', 20 ,x, y)
20+
21
elements.property(elements.JWARD_PT_PTRL, "Diffusion", 0)
22
elements.property(elements.JWARD_PT_PTRL, "Meltable", 0)
23
elements.property(elements.JWARD_PT_PTRL, "Hardness", 0)
24
elements.property(elements.JWARD_PT_PTRL, "Falldown", 2)
25-
tpt.element_func(SLTWUpdate, tpt.element('SLTW'))
25+
26
elements.property(elements.JWARD_PT_PTRL, "State", ST_LIQUID)
27
elements.property(elements.JWARD_PT_PTRL, "Temperature", 295.15)
28
elements.property(elements.JWARD_PT_PTRL, "HeatConduct", 78)
29
elements.property(elements.JWARD_PT_PTRL, "HighTemperature", 333.15)
30
elements.property(elements.JWARD_PT_PTRL, "HighTemperatureTransition", elements.JWARD_PT_PTLV)
31
elements.property(elements.JWARD_PT_PTRL, "LowTemperature", 225.15)
32
elements.property(elements.JWARD_PT_PTRL, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
33
function PTRL(i,x,y,s,n)
34
reaction = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
35
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
36
	if cal == tpt.element('acel') then
37-
elements.property(elements.JWARD_PT_PTRL, "Flammable", 65)
37+
		if reaction == kerosene then
38
			sim.partChangeType(i, tpt.element('JETB'))
39
		end
40
	end
41
	if reaction == tpt.element('sprk') or reaction == tpt.element('ligh') then
42
		sim.partChangeType(i, tpt.element('fire'))
43
	end
44
end
45
tpt.element_func(PTRL,petrol)
46
47
elements.element(elements.JWARD_PT_PTLV, elements.element(elements.DEFAULT_PT_HYGN))
48
elements.property(elements.JWARD_PT_PTLV, "Name", "PTLV")
49
elements.property(elements.JWARD_PT_PTLV, "Description", "petrol gas")
50
elements.property(elements.JWARD_PT_PTLV, "Colour", 0x0A4A5C)
51
elements.property(elements.JWARD_PT_PTLV, "MenuVisible", 0)
52
elements.property(elements.JWARD_PT_PTLV, "Gravity", -0.02)
53
elements.property(elements.JWARD_PT_PTLV, "Flammable", 500)
54
elements.property(elements.JWARD_PT_PTLV, "Explosive", 1)
55
elements.property(elements.JWARD_PT_PTLV, "Loss", 0.75)
56
elements.property(elements.JWARD_PT_PTLV, "AirLoss", 0.97)
57
elements.property(elements.JWARD_PT_PTLV, "AirDrag", 0.01)
58
elements.property(elements.JWARD_PT_PTLV, "Advection", 1)
59
elements.property(elements.JWARD_PT_PTLV, "Weight", 0)
60
elements.property(elements.JWARD_PT_PTLV, "Diffusion", 0.7)
61
elements.property(elements.JWARD_PT_PTLV, "Meltable", 0)
62
elements.property(elements.JWARD_PT_PTLV, "Hardness", 0)
63-
elements.property(elements.JWARD_PT_PTLV, "Flammable", 100)
63+
64
elements.property(elements.JWARD_PT_PTLV, "Properties", TYPE_GAS)
65
elements.property(elements.JWARD_PT_PTLV, "State", ST_GAS)
66
elements.property(elements.JWARD_PT_PTLV, "Temperature", 343.15)
67
elements.property(elements.JWARD_PT_PTLV, "HeatConduct", 80)
68
elements.property(elements.JWARD_PT_PTLV, "LowTemperature", 333.14)
69
elements.property(elements.JWARD_PT_PTLV, "LowTemperatureTransition", elements.JWARD_PT_PTRL)
70
function PTLV(i,x,y,s,n)
71
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
72
	if cal == tpt.element('sprk') or cal == tpt.element('ligh') then
73
		sim.partChangeType(i, tpt.element('fire'))
74
	end
75
end
76
tpt.element_func(PTLV,petrolgas)
77
78
elements.element(elements.JWARD_PT_AFRZ, elements.element(elements.DEFAULT_PT_GEL))
79
elements.property(elements.JWARD_PT_AFRZ, "Name", "AFRZ")
80
elements.property(elements.JWARD_PT_AFRZ, "Description", "antifreeze, keeps your fuel nice and toasty. methnol")
81
elements.property(elements.JWARD_PT_AFRZ, "Colour", 0x0C3F5B)
82
elements.property(elements.JWARD_PT_AFRZ, "MenuSection", SC_LIQUID)
83
elements.property(elements.JWARD_PT_AFRZ, "Gravity", 0.6)
84
elements.property(elements.JWARD_PT_AFRZ, "Flammable", 65)
85
elements.property(elements.JWARD_PT_AFRZ, "Explosive", 0)
86
elements.property(elements.JWARD_PT_AFRZ, "Loss", 0.8)
87
elements.property(elements.JWARD_PT_AFRZ, "AirLoss", 0.94)
88
elements.property(elements.JWARD_PT_AFRZ, "AirDrag", 0.02)
89
elements.property(elements.JWARD_PT_AFRZ, "Advection", 0.8)
90
elements.property(elements.JWARD_PT_AFRZ, "Weight", 12)
91
elements.property(elements.JWARD_PT_AFRZ, "Diffusion", 0)
92
elements.property(elements.JWARD_PT_AFRZ, "Meltable", 0)
93
elements.property(elements.JWARD_PT_AFRZ, "Hardness", 0)
94
elements.property(elements.JWARD_PT_AFRZ, "Falldown", 2)
95
elements.property(elements.JWARD_PT_AFRZ, "State", ST_LIQUID)
96
elements.property(elements.JWARD_PT_AFRZ, "Temperature", 295.15)
97
elements.property(elements.JWARD_PT_AFRZ, "HeatConduct", 78)
98
elements.property(elements.JWARD_PT_AFRZ, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
99
function AFRZ(i,x,y,s,n)
100
	warm = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
101
	warm2 = tpt.get_property("temp",x,y)
102
	if warm == tpt.element('sprk') or warm == tpt.element('ligh') then
103
		sim.partChangeType(i, tpt.element('fire'))
104
	end
105
	if warm == petrol and warm2 < 276 then
106
		tpt.set_property('temp', 296 ,x, y)
107
	end
108
	if warm == tpt.el.desl.id and warm2 < 276 then
109
		tpt.set_property('temp', 296 ,x, y)
110
	end
111
	if warm == BioDiesel and warm2 < 276 then
112
		tpt.set_property('temp', 296 ,x, y)
113
	end
114
	if warm == jetfuel and warm2 < 276 then
115
		tpt.set_property('temp', 296 ,x, y)
116
	end
117
	if warm == tpt.el.ice.id and warm2 < 276 then
118
		tpt.set_property('temp', 296 ,x, y)
119
	end
120
	if warm == tpt.el.wtrv.id and warm2 > 1100 then
121
		sim.partChangeType(i, tpt.element('coke'))
122
	end
123
end
124
tpt.element_func(AFRZ, tpt.element('AFRZ'))
125
126
--diesel & bio diesel
127
local Dieselgas = elements.allocate("JWARD", "DSLV")
128
local potash_lye = elements.allocate("JWARD", "PLYE")
129
local cooking_oil = elements.allocate("JWARD", "COIL")
130
local BioDiesel = elements.allocate("JWARD", "BDSL")
131
132
elements.element(elements.JWARD_PT_DSLV, elements.element(elements.DEFAULT_PT_HYGN))
133
elements.property(elements.JWARD_PT_DSLV, "Name", "DSLV")
134
elements.property(elements.JWARD_PT_DSLV, "Description", "diesel gas")
135
elements.property(elements.JWARD_PT_DSLV, "Colour", 0x440000)
136
elements.property(elements.JWARD_PT_DSLV, "MenuVisible", 0)
137
elements.property(elements.JWARD_PT_DSLV, "Gravity", -0.02)
138-
elements.property(elements.JWARD_PT_DSLV, "Flammable", 100)
138+
elements.property(elements.JWARD_PT_DSLV, "Flammable", 550)
139
elements.property(elements.JWARD_PT_DSLV, "Explosive", 1)
140
elements.property(elements.JWARD_PT_DSLV, "Loss", 0.75)
141
elements.property(elements.JWARD_PT_DSLV, "AirLoss", 0.97)
142
elements.property(elements.JWARD_PT_DSLV, "AirDrag", 0.01)
143
elements.property(elements.JWARD_PT_DSLV, "Advection", 1)
144
elements.property(elements.JWARD_PT_DSLV, "Weight", 0)
145
elements.property(elements.JWARD_PT_DSLV, "Diffusion", 0.7)
146
elements.property(elements.JWARD_PT_DSLV, "Meltable", 0)
147
elements.property(elements.JWARD_PT_DSLV, "Hardness", 0)
148
elements.property(elements.JWARD_PT_DSLV, "Falldown", 0)
149
elements.property(elements.JWARD_PT_DSLV, "Properties", TYPE_GAS)
150
elements.property(elements.JWARD_PT_DSLV, "State", ST_GAS)
151
elements.property(elements.JWARD_PT_DSLV, "Temperature", 483.15)
152
elements.property(elements.JWARD_PT_DSLV, "HeatConduct", 80)
153
elements.property(elements.JWARD_PT_DSLV, "LowTemperature", 473.15)
154
elements.property(elements.JWARD_PT_DSLV, "LowTemperatureTransition", elements.DEFAULT_PT_DESL)
155
function DSLV(i,x,y,s,n)
156
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
157
	if cal == tpt.element('sprk') or cal == tpt.element('ligh') then
158
		sim.partChangeType(i, tpt.element('fire'))
159
	end
160
end
161
tpt.element_func(DSLV,Dieselgas)
162
163
164
elements.element(elements.JWARD_PT_COIL, elements.element(elements.DEFAULT_PT_GEL))
165
elements.property(elements.JWARD_PT_COIL, "Name", "COIL")
166
elements.property(elements.JWARD_PT_COIL, "Description", "Cooking oil")
167
elements.property(elements.JWARD_PT_COIL, "Colour", 0xA57214)
168
elements.property(elements.JWARD_PT_COIL, "MenuSection", 7)
169
elements.property(elements.JWARD_PT_COIL, "Gravity", 0.6)
170
elements.property(elements.JWARD_PT_COIL, "Flammable", 1)
171
elements.property(elements.JWARD_PT_COIL, "Explosive", 0)
172
elements.property(elements.JWARD_PT_COIL, "Loss", 0.7)
173
elements.property(elements.JWARD_PT_COIL, "AirLoss", 0.91)
174
elements.property(elements.JWARD_PT_COIL, "AirDrag", 0.02)
175
elements.property(elements.JWARD_PT_COIL, "Advection", 0.9)
176
elements.property(elements.JWARD_PT_COIL, "Weight", 10)
177
elements.property(elements.JWARD_PT_COIL, "Meltable", 0)
178
elements.property(elements.JWARD_PT_COIL, "Hardness", 86)
179
elements.property(elements.JWARD_PT_COIL, "Falldown", 2)
180
elements.property(elements.JWARD_PT_COIL, "Properties", TYPE_LIQUID)
181
elements.property(elements.JWARD_PT_COIL, "State", ST_LIQUID)
182
elements.property(elements.JWARD_PT_COIL, "Temperature", 295.15)
183
elements.property(elements.JWARD_PT_COIL, "HeatConduct", 100)
184
function COIL(i,x,y,s,n)
185
	cx = math.random(-3,3)
186
	cy = math.random(-5,1)
187
	reaction = tpt.get_property("temp",x,y)
188
	bio = tpt.get_property("type",x + math.random(-2,2), y + math.random(-2,2))
189
	bioo = tpt.get_property("type",x + math.random(-2,2), y + math.random(-2,2))
190
	biooo = tpt.get_property("type",x + cy, y + cx)
191
	local noncatalyst = tpt.get_property("life",x,y)
192
	if reaction > 363.15 and biooo ~= true then
193
		tpt.delete(x,y)
194
		tpt.create(x + cx, y + cy, 'COIL')
195
	end
196
	if bio == potash_lye and bioo == antifrzz then
197
		if cy == 1 then
198
			sim.partChangeType(i, tpt.element('GLCR'))
199
		else
200
			sim.partChangeType(i, tpt.element('BDSL'))
201
		end
202
	end
203
	if biooo == potash_lye and bioo == tpt.element('watr') and reaction > 290 and reaction < 330 then
204
		sim.partChangeType(i, tpt.element('SOAP'))
205
		tpt.delete(x + cx,y + cy)
206
	end
207
end
208-
elements.property(elements.JWARD_PT_BDSL, "Flammable", 35)
208+
209
210
elements.element(elements.JWARD_PT_BDSL, elements.element(elements.DEFAULT_PT_GEL))
211
elements.property(elements.JWARD_PT_BDSL, "Name", "BDSL")
212
elements.property(elements.JWARD_PT_BDSL, "Description", "Bio Diesel. Made from cooking oil.")
213
elements.property(elements.JWARD_PT_BDSL, "Colour", 0x331000)
214
elements.property(elements.JWARD_PT_BDSL, "MenuSection", SC_LIQUID)
215
elements.property(elements.JWARD_PT_BDSL, "Gravity", 0.6)
216
elements.property(elements.JWARD_PT_BDSL, "Flammable", 0)
217
elements.property(elements.JWARD_PT_BDSL, "Explosive", 0)
218
elements.property(elements.JWARD_PT_BDSL, "Loss", 0.8)
219
elements.property(elements.JWARD_PT_BDSL, "AirLoss", 0.94)
220
elements.property(elements.JWARD_PT_BDSL, "AirDrag", 0.02)
221
elements.property(elements.JWARD_PT_BDSL, "Advection", 0.8)
222
elements.property(elements.JWARD_PT_BDSL, "Weight", 12)
223
elements.property(elements.JWARD_PT_BDSL, "Diffusion", 0)
224
elements.property(elements.JWARD_PT_BDSL, "Meltable", 0)
225
elements.property(elements.JWARD_PT_BDSL, "Hardness", 0)
226
elements.property(elements.JWARD_PT_BDSL, "Falldown", 2)
227
elements.property(elements.JWARD_PT_BDSL, "Properties", TYPE_LIQUID)
228
elements.property(elements.JWARD_PT_BDSL, "State", ST_LIQUID)
229-
	if calstmp == 2 then
229+
230-
		if findcoil == tpt.el.desl.id then
230+
231
elements.property(elements.JWARD_PT_BDSL, "HighTemperature", 403.15)
232-
		reaction = nil
232+
elements.property(elements.JWARD_PT_BDSL, "HighTemperatureTransition", elements.JWARD_PT_DSLV)
233
function BDSL(i,x,y,s,n)
234
	findcoil = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
235
	otherfind = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
236
	if findcoil == cooking_oil then
237
		tpt.set_property('life', 2 ,x, y)
238
	end
239
	if findcoil == tpt.el.acel.id then
240
		if otherfind == tpt.el.desl.id then
241
		sim.partChangeType(i, tpt.element('desl'))
242
		end
243
	end
244
	if otherfind == tpt.element('sprk') or otherfind == tpt.element('ligh') then
245
		sim.partChangeType(i, tpt.element('fire'))
246
	end
247
end
248
tpt.element_func(BDSL, tpt.element('BDSL'))
249
250
function desl(i,x,y,s,n)
251
	crack = math.random(0,1)
252
    otherfind = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
253
	if buttonable == 1 and otherfind == tpt.el.brel.id then
254
		if crack == 0 then
255
			sim.partChangeType(i, petrol)
256
		end
257
		if crack == 1 then
258
			sim.partChangeType(i, tpt.element('PRPN'))
259
		end
260
	end
261
end
262
tpt.element_func(desl,tpt.el.desl.id)
263
264
elements.element(elements.JWARD_PT_PLYE, elements.element(elements.DEFAULT_PT_BCOL))
265
elements.property(elements.JWARD_PT_PLYE, "Name", "PLYE")
266
elements.property(elements.JWARD_PT_PLYE, "Description", "potash lye")
267
elements.property(elements.JWARD_PT_PLYE, "Colour", 0xCCCCCC)
268
elements.property(elements.JWARD_PT_PLYE, "MenuSection", 8)
269
elements.property(elements.JWARD_PT_PLYE, "Gravity", .35)
270
elements.property(elements.JWARD_PT_PLYE, "Flammable", 0)
271
elements.property(elements.JWARD_PT_PLYE, "Explosive", 0)
272
elements.property(elements.JWARD_PT_PLYE, "Loss", 0.15)
273
elements.property(elements.JWARD_PT_PLYE, "AirLoss", 0.96)
274
elements.property(elements.JWARD_PT_PLYE, "AirDrag", 0.03)
275
elements.property(elements.JWARD_PT_PLYE, "Advection", 0.4)
276
elements.property(elements.JWARD_PT_PLYE, "Weight", 60)
277
elements.property(elements.JWARD_PT_PLYE, "Diffusion", 0)
278
elements.property(elements.JWARD_PT_PLYE, "Falldown", 1)
279
elements.property(elements.JWARD_PT_PLYE, "Hardness", 0)
280
elements.property(elements.JWARD_PT_PLYE, "HeatConduct", 62)
281
elements.property(elements.JWARD_PT_PLYE, "Properties", elem.PROP_DEADLY)
282
elements.property(elements.JWARD_PT_PLYE, "HighTemperature", 679.15)
283
elements.property(elements.JWARD_PT_PLYE, "HighTemperatureTransition", elements.DEFAULT_PT_LAVA)
284
function PLYE(i,x,y,s,n)
285
	cy = math.random(-1,1)
286
	cx = math.random(-1,1)
287
	reaction = tpt.get_property("type",x+cx,y+cy)
288
	if reaction == tpt.el.acid.id then
289
		if cy == 1 then
290
			sim.partChangeType(i, tpt.element('hygn'))
291
		else
292
			sim.partChangeType(i, tpt.element('SLTW'))
293
		end
294
	end
295
end
296
tpt.element_func(PLYE, tpt.element('PLYE'))
297
298
function ACIDBASE(i,x,y,s,n)
299
	cy = math.random(-1,1)
300
	cx = math.random(-1,1)
301
	reaction = tpt.get_property("type",x+cx,y+cy)
302
	if reaction == tpt.element('PLYE') then
303
		if cy == 1 then
304
			sim.partChangeType(i, tpt.element('hygn'))
305
		else
306
			sim.partChangeType(i, tpt.element('SLTW'))
307
		end
308
	end
309
	if buttonable == 0 then
310
		if reaction == tpt.element('C4') or reaction == tpt.element('NITR') or reaction == tpt.element('GUN') or reaction == tpt.element('RBDM') or reaction == tpt.element('LRBD') then 
311
			sim.partChangeType(i, tpt.element('fire')) 
312
		end
313
		if reaction == tpt.element('WTRV') then 
314
			sim.partChangeType(i, tpt.element('CAUS')) 
315
		end
316
	else
317
	if reaction == tpt.element('GLCR') then
318
		sim.partChangeType(i, tpt.element('NITR')) 
319
	end
320
	end
321
end
322
tpt.element_func(ACIDBASE, tpt.element('acid'), 1)
323
324
--o0o NITROGEN o0o--
325
local nitrogen = elements.allocate("JWARD", "N2")
326
local Diazane = elements.allocate("JWARD", "N2H4")
327
local DinitrogenTetroxide = elements.allocate("JWARD", "N2O4")
328
local nitrous = elements.allocate("JWARD", "N2O")
329
local need4speed = elements.allocate("JWARD", "LN2O")
330
local anfoness = elements.allocate("JWARD", "ANFO")
331
local liquidTNT = elements.allocate("JWARD", "LTNT")
332
elements.element(elements.JWARD_PT_LN2O, elements.element(elements.DEFAULT_PT_GEL))
333
elements.property(elements.JWARD_PT_LN2O, "Name", "LN2O")
334
elements.property(elements.JWARD_PT_LN2O, "Description", "Liquid Nitrous Oxide. Burns very quickly and very hot.")
335
elements.property(elements.JWARD_PT_LN2O, "Colour", 0x33C1F5)
336
elements.property(elements.JWARD_PT_LN2O, "MenuSection", 7)
337
elements.property(elements.JWARD_PT_LN2O, "Gravity", 0.8)
338
elements.property(elements.JWARD_PT_LN2O, "Flammable", 6000)
339
elements.property(elements.JWARD_PT_LN2O, "Explosive", 0)
340
elements.property(elements.JWARD_PT_LN2O, "Loss", 0.5)
341
elements.property(elements.JWARD_PT_LN2O, "AirLoss", 0.94)
342
elements.property(elements.JWARD_PT_LN2O, "AirDrag", 0.03)
343
elements.property(elements.JWARD_PT_LN2O, "Advection", 0.7)
344
elements.property(elements.JWARD_PT_LN2O, "Weight", 43)
345
elements.property(elements.JWARD_PT_LN2O, "Diffusion", 0)
346
elements.property(elements.JWARD_PT_LN2O, "Meltable", 0)
347
elements.property(elements.JWARD_PT_LN2O, "Hardness", 0)
348
elements.property(elements.JWARD_PT_LN2O, "Falldown", 2)
349
elements.property(elements.JWARD_PT_LN2O, "Properties", TYPE_LIQUID)
350
elements.property(elements.JWARD_PT_LN2O, "State", ST_LIQUID)
351
elements.property(elements.JWARD_PT_LN2O, "Temperature", 174)
352
elements.property(elements.JWARD_PT_LN2O, "HeatConduct", 58)
353
elements.property(elements.JWARD_PT_LN2O, "HighTemperature", 185)
354
elements.property(elements.JWARD_PT_LN2O, "HighTemperatureTransition", elements.JWARD_PT_N2O)
355
elements.property(elements.JWARD_PT_LN2O, "LowTemperature", 160.15)
356
elements.property(elements.JWARD_PT_LN2O, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
357
358
elements.element(elements.JWARD_PT_N2O, elements.element(elements.DEFAULT_PT_CO2))
359
elements.property(elements.JWARD_PT_N2O, "Name", "N2O")
360
elements.property(elements.JWARD_PT_N2O, "Description", "Nitrous Oxide. Highly flammable RACE CAR oxidizer!!!.")
361
elements.property(elements.JWARD_PT_N2O, "Colour", 0x43DAFF)
362
elements.property(elements.JWARD_PT_N2O, "MenuSection", 6)
363
elements.property(elements.JWARD_PT_N2O, "Gravity", 0)
364
elements.property(elements.JWARD_PT_N2O, "Flammable", 5000)
365
elements.property(elements.JWARD_PT_N2O, "Explosive", 0)
366
elements.property(elements.JWARD_PT_N2O, "Loss", 0.7)
367
elements.property(elements.JWARD_PT_N2O, "AirLoss", 0.91)
368
elements.property(elements.JWARD_PT_N2O, "AirDrag", 0.02)
369
elements.property(elements.JWARD_PT_N2O, "Advection", 0.9)
370
elements.property(elements.JWARD_PT_N2O, "Weight", 0)
371
elements.property(elements.JWARD_PT_N2O, "Diffusion", 1.5)
372
elements.property(elements.JWARD_PT_N2O, "Meltable", 0)
373
elements.property(elements.JWARD_PT_N2O, "Hardness", 0)
374
elements.property(elements.JWARD_PT_N2O, "Falldown", 0)
375
elements.property(elements.JWARD_PT_N2O, "Properties", TYPE_GAS)
376
elements.property(elements.JWARD_PT_N2O, "State", ST_GAS)
377
elements.property(elements.JWARD_PT_N2O, "Temperature", 295.15)
378
elements.property(elements.JWARD_PT_N2O, "HeatConduct", 80)
379
elements.property(elements.JWARD_PT_N2O, "LowTemperature", 185.67)
380
elements.property(elements.JWARD_PT_N2O, "LowTemperatureTransition", elements.JWARD_PT_LN2O)
381
function N2O(i,x,y,s,n)
382
	reaction = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
383
	ol = math.random(-1,1)
384
	if reaction == tpt.el.fire.id or reaction == tpt.el.plsm.id then
385
		if ol == 0 then
386
			sim.partChangeType(i, tpt.element('N2'))
387
		end
388
		if ol == -1 then
389
			sim.partChangeType(i, tpt.element('thdr'))
390
		end
391
		if ol == 1 then
392
			sim.partChangeType(i, tpt.element('plsm'))
393
		end
394
	end
395
end
396
tpt.element_func(N2O,nitrous)
397
398
elements.element(elements.JWARD_PT_N2O4, elements.element(elements.DEFAULT_PT_GEL))
399
elements.property(elements.JWARD_PT_N2O4, "Name", "N2O4")
400
elements.property(elements.JWARD_PT_N2O4, "Description", "Dinitrogen Tetroxide rocket oxidizer")
401
elements.property(elements.JWARD_PT_N2O4, "Colour", 0x30CEC6)
402
elements.property(elements.JWARD_PT_N2O4, "MenuSection", 5)
403
elements.property(elements.JWARD_PT_N2O4, "Gravity", 0.8)
404
elements.property(elements.JWARD_PT_N2O4, "Flammable", 30)
405
elements.property(elements.JWARD_PT_N2O4, "Explosive", 0)
406
elements.property(elements.JWARD_PT_N2O4, "Loss", 0.7)
407
elements.property(elements.JWARD_PT_N2O4, "AirLoss", 0.91)
408
elements.property(elements.JWARD_PT_N2O4, "AirDrag", 0.03)
409
elements.property(elements.JWARD_PT_N2O4, "Advection", 0.6)
410
elements.property(elements.JWARD_PT_N2O4, "Weight", 46)
411
elements.property(elements.JWARD_PT_N2O4, "Diffusion", 1.5)
412
elements.property(elements.JWARD_PT_N2O4, "Meltable", 0)
413
elements.property(elements.JWARD_PT_N2O4, "Hardness", 0)
414
elements.property(elements.JWARD_PT_N2O4, "Falldown", 2)
415
elements.property(elements.JWARD_PT_N2O4, "Properties", TYPE_LIQUID)
416
elements.property(elements.JWARD_PT_N2O4, "State", ST_LIQUID)
417
elements.property(elements.JWARD_PT_N2O4, "Temperature", 295.15)
418
elements.property(elements.JWARD_PT_N2O4, "HeatConduct", 78)
419
elements.property(elements.JWARD_PT_N2O4, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
420
elements.property(elements.JWARD_PT_N2O4, "LowTemperature", 261.9)
421
function N2O4(i,x,y,s,n)
422
	ol = math.random(-1,1)
423
	rocket = tpt.get_property("type",x+math.random(-2,2),y+math.random(-2,2))
424
	if rocket == Diazane or rocket == tpt.element('plsm') or rocket == tpt.element('fire') or rocket == tpt.element('thdr') then
425
		if ol == -1 then
426
			sim.partChangeType(i, tpt.element('plsm'))
427
		end
428
		if ol == 0 then
429
			sim.partChangeType(i, tpt.element('thdr'))
430
		end
431
		if ol == 1 then
432
			sim.partChangeType(i, tpt.element('n2'))
433
		end
434
	end
435
end
436
tpt.element_func(N2O4,DinitrogenTetroxide)
437
438
elements.element(elements.JWARD_PT_LTNT, elements.element(elements.DEFAULT_PT_GEL))
439
elements.property(elements.JWARD_PT_LTNT, "Name", "LTNT")
440
elements.property(elements.JWARD_PT_LTNT, "Description", "liquid TNT")
441
elements.property(elements.JWARD_PT_LTNT, "Colour", 0xBF605A)
442
elements.property(elements.JWARD_PT_LTNT, "MenuSection", 5)
443
elements.property(elements.JWARD_PT_LTNT, "Gravity", 1)
444
elements.property(elements.JWARD_PT_LTNT, "Flammable", 20)
445
elements.property(elements.JWARD_PT_LTNT, "Explosive", 0)
446
elements.property(elements.JWARD_PT_LTNT, "Loss", 0.7)
447
elements.property(elements.JWARD_PT_LTNT, "AirLoss", 0.91)
448
elements.property(elements.JWARD_PT_LTNT, "AirDrag", 0.03)
449
elements.property(elements.JWARD_PT_LTNT, "Advection", 0.8)
450
elements.property(elements.JWARD_PT_LTNT, "Weight", 46)
451
elements.property(elements.JWARD_PT_LTNT, "Diffusion", 0)
452
elements.property(elements.JWARD_PT_LTNT, "Meltable", 0)
453
elements.property(elements.JWARD_PT_LTNT, "Hardness", 0)
454
elements.property(elements.JWARD_PT_LTNT, "Falldown", 2)
455
elements.property(elements.JWARD_PT_LTNT, "Properties", TYPE_LIQUID)
456
elements.property(elements.JWARD_PT_LTNT, "State", ST_LIQUID)
457
elements.property(elements.JWARD_PT_LTNT, "Temperature", 363.25)
458
elements.property(elements.JWARD_PT_LTNT, "HeatConduct", 83)
459
elements.property(elements.JWARD_PT_LTNT, "LowTemperatureTransition", elements.DEFAULT_PT_TNT)
460
elements.property(elements.JWARD_PT_LTNT, "LowTemperature", 353.25)
461
function LTNT(i,x,y,s,n)
462
	cy = math.random(-1,1)
463
	cx = math.random(-1,1)
464
	ol = math.random(-1,1)
465
	reaction = tpt.get_property("type",x+cx,y+cy)
466
	atemp = tpt.get_property("temp",x,y)
467
	if reaction == tpt.el.fire.id or reaction == tpt.el.embr.id or reaction == tpt.el.thdr.id or reaction == tpt.el.sprk.id then
468
		if ol == 1 then
469
			sim.partChangeType(i, tpt.element('coal'))
470
		end
471
		if ol == 0 then
472
			sim.partChangeType(i, tpt.element('coal'))
473
		end
474
		if ol == -1 then
475
			sim.partChangeType(i, tpt.element('thdr'))
476
		end
477
	end
478
	if atemp > 513.15 then
479
		sim.partChangeType(i, tpt.element('coal'))
480
	end
481
end
482
tpt.element_func(LTNT, tpt.element('LTNT'))
483
484
485
elements.element(elements.JWARD_PT_N2H4, elements.element(elements.DEFAULT_PT_GEL))
486
elements.property(elements.JWARD_PT_N2H4, "Name", "N2H4")
487
elements.property(elements.JWARD_PT_N2H4, "Description", "Hydrazine rocket fuel")
488
elements.property(elements.JWARD_PT_N2H4, "Colour", 0xB6F064)
489
elements.property(elements.JWARD_PT_N2H4, "MenuSection", 5)
490
elements.property(elements.JWARD_PT_N2H4, "Gravity", 1)
491
elements.property(elements.JWARD_PT_N2H4, "Flammable", 1)
492
elements.property(elements.JWARD_PT_N2H4, "Explosive", 1)
493
elements.property(elements.JWARD_PT_N2H4, "Loss", 0.7)
494
elements.property(elements.JWARD_PT_N2H4, "AirLoss", 0.91)
495
elements.property(elements.JWARD_PT_N2H4, "AirDrag", 0.03)
496
elements.property(elements.JWARD_PT_N2H4, "Advection", 0.8)
497
elements.property(elements.JWARD_PT_N2H4, "Weight", 46)
498
elements.property(elements.JWARD_PT_N2H4, "Diffusion", 1.5)
499
elements.property(elements.JWARD_PT_N2H4, "Meltable", 0)
500
elements.property(elements.JWARD_PT_N2H4, "Hardness", 0)
501
elements.property(elements.JWARD_PT_N2H4, "Falldown", 2)
502
elements.property(elements.JWARD_PT_N2H4, "Properties", TYPE_LIQUID)
503
elements.property(elements.JWARD_PT_N2H4, "State", ST_LIQUID)
504
elements.property(elements.JWARD_PT_N2H4, "Temperature", 295.15)
505
elements.property(elements.JWARD_PT_N2H4, "HeatConduct", 83)
506
elements.property(elements.JWARD_PT_N2H4, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
507
elements.property(elements.JWARD_PT_N2H4, "LowTemperature", 275.15)
508
N2H4Update = function(i, x, y, s, n)
509
	local randomi = math.random(-1,1)
510
	local clife = tpt.get_property('life', x, y)
511
	if clife > 1 then
512
		for cx = -1, 1, 2 do
513
			for cy = -1, 1, 2 do
514
				if randomi == 1 then
515
					tpt.create(x + cx, y + cy, 'fire')
516
				end 
517
				if randomi == 0 then
518-
elements.property(elements.JWARD_PT_N2, "Description", "Nitrogen Gas. Combines with WATR to make N2O + H2.")
518+
519
				end
520
				if randomi == -1 then
521
					tpt.create(x + cx, y + cy, 'HYGN')
522
		   		end
523
				tpt.set_property('temp', 3000, x, y)
524
			end
525
		end
526
		tpt.set_property('life', clife - 1, x, y)
527
	elseif clife == 1 then
528
		tpt.set_property('type', 0, x, y)
529
	elseif s > 0 then
530
		for cx = -1, 1, 2 do
531
			for cy = -1, 1, 2 do
532
				if tpt.get_property('type', x + cx, y + cy) == 4 or tpt.get_property('type', x + cx, y + cy) == 49 then
533
					tpt.set_property('life', 500, x, y)
534
					return true
535
				end
536
			end
537
		end
538
	end
539
end
540
tpt.element_func(N2H4Update, tpt.element('N2H4'))
541
542
elements.element(elements.JWARD_PT_N2, elements.element(elements.DEFAULT_PT_CO2))
543
elements.property(elements.JWARD_PT_N2, "Name", "N2")
544
elements.property(elements.JWARD_PT_N2, "Description", "Nitrogen Gas.")
545
elements.property(elements.JWARD_PT_N2, "Colour", 0x5E52FF)
546
elements.property(elements.JWARD_PT_N2, "MenuSection", SC_GAS)
547
elements.property(elements.JWARD_PT_N2, "Gravity", 0)
548
elements.property(elements.JWARD_PT_N2, "Flammable", 0)
549
elements.property(elements.JWARD_PT_N2, "Explosive", 1)
550
elements.property(elements.JWARD_PT_N2, "Loss", 0.3)
551
elements.property(elements.JWARD_PT_N2, "AirLoss", 0.99)
552
elements.property(elements.JWARD_PT_N2, "AirDrag", 0.01)
553
elements.property(elements.JWARD_PT_N2, "Advection", 2.0)
554
elements.property(elements.JWARD_PT_N2, "Weight", 0)
555
elements.property(elements.JWARD_PT_N2, "Diffusion", 2.75)
556
elements.property(elements.JWARD_PT_N2, "State", ST_GAS)
557
elements.property(elements.JWARD_PT_N2, "Properties", elem.TYPE_GAS)
558
elements.property(elements.JWARD_PT_N2, "LowTemperatureTransition", elements.DEFAULT_PT_LN2)
559
elements.property(elements.JWARD_PT_N2, "LowTemperature", 76)
560
elements.property(elements.JWARD_PT_N2, "HeatConduct", 80)
561
function N2(i,x,y,s,n)
562
	calstmp = tpt.get_property("tmp2",x,y)
563
	if calstmp == 1 then
564
		sim.partChangeType(i, tpt.element('N2O'))
565
	end
566
	if tpt.get_property("tmp", i) == 0 then
567
		tpt.set_property("tmp", 1, i)
568
    end
569
end
570
tpt.element_func(N2, tpt.element('N2'))
571
572
function LN2(i,x,y,s,nt)
573
if tpt.get_property("tmp", i) == 1 then
574
if tpt.get_property("temp", i) >= 77 then
575
tpt.set_property("type","N2",i)
576
end
577
end
578
if tpt.get_property("tmp", i) == 0 then
579
if tpt.get_property("temp", i) >= 77 then
580
tpt.set_property("type","none",i)
581
end
582
end
583
end
584
tpt.element_func(LN2, tpt.element('ln2'))
585
586
function HYGN(i,x,y,s,n)
587
	calstmp = tpt.get_property("tmp2",i)
588
	if calstmp == 1 then
589
		sim.partChangeType(i, tpt.element('DSTW'))
590
	end
591
end
592
tpt.element_func(HYGN, tpt.element('HYGN'))
593
594
elements.element(elements.JWARD_PT_ANFO, elements.element(elements.DEFAULT_PT_BCOL))
595
elements.property(elements.JWARD_PT_ANFO, "Name", "ANFO")
596
elements.property(elements.JWARD_PT_ANFO, "Description", "anfo explosive")
597
elements.property(elements.JWARD_PT_ANFO, "Colour", 0xFFCECA)
598
elements.property(elements.JWARD_PT_ANFO, "MenuSection", 5)
599
elements.property(elements.JWARD_PT_ANFO, "Gravity", 0.54)
600
elements.property(elements.JWARD_PT_ANFO, "Flammable", 0)
601
elements.property(elements.JWARD_PT_ANFO, "Explosive", 0)
602
elements.property(elements.JWARD_PT_ANFO, "Loss", 0)
603
elements.property(elements.JWARD_PT_ANFO, "AirLoss", 0.96)
604
elements.property(elements.JWARD_PT_ANFO, "AirDrag", 0.03)
605
elements.property(elements.JWARD_PT_ANFO, "Advection", 0)
606
elements.property(elements.JWARD_PT_ANFO, "Weight", 75)
607
elements.property(elements.JWARD_PT_ANFO, "Diffusion", 0)
608
elements.property(elements.JWARD_PT_ANFO, "Falldown", 1)
609
elements.property(elements.JWARD_PT_ANFO, "Hardness", 0)
610
elements.property(elements.JWARD_PT_ANFO, "HeatConduct", 62)
611
elements.property(elements.JWARD_PT_ANFO, "Properties", elem.TYPE_PART+elem.PROP_DEADLY)
612
elements.property(elements.JWARD_PT_ANFO, "State", ST_SOLID)
613
function ANFO(i,x,y,s,n)
614
	cy = math.random(-1,1)
615
	cx = math.random(-1,1)
616
	ol = math.random(0,1)
617
	reaction = tpt.get_property("type",x+cx,y+cy)
618
	atemp = tpt.get_property("temp",x,y)
619
	calstmp = tpt.get_property("tmp2",x,y)
620
	if reaction == tpt.el.acid.id then
621
		if ol == 1 then
622
			sim.partChangeType(i, tpt.element('salt'))
623
		else
624
			sim.partChangeType(i, tpt.element('acid'))
625
		end
626
	end
627
	if reaction == tpt.el.fire.id then
628
		if cx == 1 then
629
			sim.partChangeType(i, tpt.element('thdr'))
630
		end
631
		if cx == 0 then
632
			if ol == 1 then
633
				sim.partChangeType(i, tpt.element('hygn'))
634
			else
635
				sim.partChangeType(i, tpt.element('oxyg'))
636
			end
637
			if cx == -1 then
638
				sim.partChangeType(i, tpt.element('N2O'))
639
			end
640
		end
641
	end
642
	if atemp > 483.15 then
643
		if ol == 1 then
644
			sim.partChangeType(i, tpt.element('wtrv'))
645
		else
646
			sim.partChangeType(i, tpt.element('N2O'))
647
		end
648
	end
649
	if calstmp == 1 then
650
		sim.partChangeType(i, tpt.element('n2o4'))
651
	end
652
end
653
tpt.element_func(ANFO, tpt.element('ANFO'))
654
655
--extra
656
local solidhydrogen = elements.allocate("JWARD", "SHYG")
657
local liquidhydrogen = elements.allocate("JWARD", "LHYG")
658
local catalyst = elements.allocate("JWARD", "CALS")
659
local propane = elements.allocate("JWARD", "PRPN")
660
local Glycerol = elements.allocate("JWARD", "GLCR")
661
662
elements.element(elements.JWARD_PT_SHYG, elements.element(elements.DEFAULT_PT_DMND))
663
elements.property(elements.JWARD_PT_SHYG, "Colour", 0x7395FE)
664
elements.property(elements.JWARD_PT_SHYG, "Name", "SHYG")
665
elements.property(elements.JWARD_PT_SHYG, "Description", "solid hydrogen")
666
elements.property(elements.JWARD_PT_SHYG, "HeatConduct", 83)
667
elements.property(elements.JWARD_PT_SHYG, "Flammable", 0)
668
elements.property(elements.JWARD_PT_SHYG, "Temperature", 10.15)
669
elements.property(elements.JWARD_PT_SHYG, "HighTemperature", 13.15)
670
elements.property(elements.JWARD_PT_SHYG, "HighTemperatureTransition", elements.JWARD_PT_LHYG)
671
elements.property(elements.JWARD_PT_SHYG, "MenuSection", 9)
672
673
elements.element(elements.JWARD_PT_LHYG, elements.element(elements.DEFAULT_PT_GEL))
674
elements.property(elements.JWARD_PT_LHYG, "Colour", 0x5070FF)
675
elements.property(elements.JWARD_PT_LHYG, "Name", "LHYG")
676
elements.property(elements.JWARD_PT_LHYG, "Description", "liquid hydrogen")
677
elements.property(elements.JWARD_PT_LHYG, "HeatConduct", 83)
678
elements.property(elements.JWARD_PT_LHYG, "Flammable", 2)
679
elements.property(elements.JWARD_PT_LHYG, "Temperature", 15.15)
680
elements.property(elements.JWARD_PT_LHYG, "HighTemperature", 20.15)
681
elements.property(elements.JWARD_PT_LHYG, "HighTemperatureTransition", elements.DEFAULT_PT_HYGN)
682
elements.property(elements.JWARD_PT_LHYG, "LowTemperature", 13.15)
683
elements.property(elements.JWARD_PT_LHYG, "LowTemperatureTransition", elements.JWARD_PT_SHYG)
684
685
elements.element(elements.JWARD_PT_CALS, elements.element(elements.DEFAULT_PT_DMND))
686
elements.property(elements.JWARD_PT_CALS, "Colour", 0x90965F)
687
elements.property(elements.JWARD_PT_CALS, "Name", "CALS")
688
elements.property(elements.JWARD_PT_CALS, "Description", "catalyst, used to make multi element machines")
689
elements.property(elements.JWARD_PT_CALS, "HeatConduct", 0)
690
function CALS(i,x,y,s,n)
691
	calsd = tpt.get_property("type",x,y+1)
692
	calsu = tpt.get_property("type",x,y-1)
693
	calsr = tpt.get_property("type",x+1,y)
694
	calsl = tpt.get_property("type",x-1,y)
695
	calsdr = tpt.get_property("type",x+1,y+1)
696
	calsdl = tpt.get_property("type",x-1,y+1)
697
	calsur = tpt.get_property("type",x+1,y-1)
698
	calsul = tpt.get_property("type",x-1,y-1)
699
	if calsu == tpt.el.gold.id and calsd == tpt.el.gold.id then
700
		tpt.set_property('tmp2', 1, x+math.random(-1,1),y+math.random(-1,1))
701
	end
702
	if calsdr == tpt.el.metl.id and calsdl == tpt.el.metl.id and calsur == tpt.el.metl.id and calsul == tpt.el.metl.id then
703
		tpt.set_property('tmp2', 2, x+math.random(-2,2),y+math.random(-2,2))
704
	end
705
	if calsu == tpt.el.glas.id and calsdr == tpt.el.ttan.id and calsdl == tpt.el.ttan.id then
706
		tpt.set_property('ctype', tpt.element('ptrl'), x+math.random(-2,2),y+math.random(-2,2))
707
	end
708
	if calsu == tpt.el.glas.id and calsd == tpt.el.glas.id then
709
		tpt.set_property('tmp2', 1, x+math.random(-2,2),y+math.random(-2,2))
710
	end
711
end
712
tpt.element_func(CALS, tpt.element('CALS'))
713
714
elements.element(elements.JWARD_PT_GLCR, elements.element(elements.DEFAULT_PT_BCOL))
715
elements.property(elements.JWARD_PT_GLCR, "Name", "GLCR")
716
elements.property(elements.JWARD_PT_GLCR, "Description", "Glycerol, mix with acid to make nitr")
717
elements.property(elements.JWARD_PT_GLCR, "Colour", 0xE1E1E1)
718
elements.property(elements.JWARD_PT_GLCR, "MenuSection", 7)
719
elements.property(elements.JWARD_PT_GLCR, "Gravity", 0.94)
720
elements.property(elements.JWARD_PT_GLCR, "Flammable", 0)
721
elements.property(elements.JWARD_PT_GLCR, "Explosive", 0)
722
elements.property(elements.JWARD_PT_GLCR, "Loss", 0)
723
elements.property(elements.JWARD_PT_GLCR, "AirLoss", 0.96)
724
elements.property(elements.JWARD_PT_GLCR, "AirDrag", 0.04)
725
elements.property(elements.JWARD_PT_GLCR, "Advection", 0)
726
elements.property(elements.JWARD_PT_GLCR, "Weight", 75)
727
elements.property(elements.JWARD_PT_GLCR, "Diffusion", 0)
728
elements.property(elements.JWARD_PT_GLCR, "Falldown", 2)
729
elements.property(elements.JWARD_PT_GLCR, "Hardness", 0)
730
elements.property(elements.JWARD_PT_GLCR, "HeatConduct", 72)
731
elements.property(elements.JWARD_PT_GLCR, "Properties", elem.TYPE_LIQUID)
732
elements.property(elements.JWARD_PT_GLCR, "State", ST_LIQUID)
733
function GLCR(i,x,y,s,n)
734
	reaction = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
735
	dis = tpt.get_property('temp', x, y)
736
	if reaction == tpt.element('ACID') then
737
		sim.partChangeType(i, tpt.element('NITR'))
738
	end
739
	if reaction == tpt.element('fire') and dis > 373.15 then
740
		sim.partChangeType(i, tpt.element('fire'))
741
	end
742
	if reaction == tpt.element('GLCR') then
743
		tpt.set_property('vy', 0, x, y)
744
		tpt.set_property('vx', math.random(-1,1), x, y)
745
	end
746
end
747
tpt.element_func(GLCR,Glycerol)
748
749
elements.element(elements.JWARD_PT_PRPN, elements.element(elements.DEFAULT_PT_CO2))
750
elements.property(elements.JWARD_PT_PRPN, "Name", "PRPN")
751
elements.property(elements.JWARD_PT_PRPN, "Description", "Propane. Explodes very easily.")
752
elements.property(elements.JWARD_PT_PRPN, "Colour", 0xF4A26A)
753
elements.property(elements.JWARD_PT_PRPN, "MenuSection", 5)
754
elements.property(elements.JWARD_PT_PRPN, "Gravity", -0.02)
755
elements.property(elements.JWARD_PT_PRPN, "Flammable", 2500)
756
elements.property(elements.JWARD_PT_PRPN, "Explosive", 1)
757
elements.property(elements.JWARD_PT_PRPN, "Loss", 0.75)
758
elements.property(elements.JWARD_PT_PRPN, "AirLoss", 0.97)
759
elements.property(elements.JWARD_PT_PRPN, "AirDrag", 0.01)
760
elements.property(elements.JWARD_PT_PRPN, "Advection", 1)
761
elements.property(elements.JWARD_PT_PRPN, "Weight", 0)
762
elements.property(elements.JWARD_PT_PRPN, "Diffusion", 0.7)
763
elements.property(elements.JWARD_PT_PRPN, "Meltable", 0)
764
elements.property(elements.JWARD_PT_PRPN, "Hardness", 0)
765
elements.property(elements.JWARD_PT_PRPN, "Falldown", 0)
766
elements.property(elements.JWARD_PT_PRPN, "Properties", TYPE_GAS)
767
elements.property(elements.JWARD_PT_PRPN, "State", ST_GAS)
768
elements.property(elements.JWARD_PT_PRPN, "Temperature", 295.15)
769-
elements.property(elements.JWARD_PT_KERO, "Flammable", 4500)
769+
770-
elements.property(elements.JWARD_PT_KERO, "Explosive", 1)
770+
771
elements.property(elements.JWARD_PT_PRPN, "HighTemperatureTransition", tpt.el.fire.id)
772
elements.property(elements.JWARD_PT_PRPN, "LowTemperatureTransition", NT)
773
function PRPN(i,x,y,s,n)
774
	warm = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
775
	warm2 = tpt.get_property("temp",x,y)
776
	if warm == tpt.el.acid.id then
777
		sim.partChangeType(i, tpt.element('ptrl'))
778
		tpt.set_property('temp', (warm2 + 1), x, y)
779
	end
780
	if warm == tpt.el.wtrv.id and warm2 > 1100 then
781
		sim.partChangeType(i, tpt.element('co2'))
782
	end
783-
	if calstmp == 2 then
783+
	if warm == tpt.element('sprk') or warm == tpt.element('ligh') then
784
		sim.partChangeType(i, tpt.element('fire'))
785
	end
786-
			reaction = nil
786+
787
tpt.element_func(PRPN,propane)
788
789
--kerosene
790
local KEROSENEGAS = elements.allocate("JWARD", "KERV")
791
local KEROSENE = elements.allocate("JWARD", "KERO")
792
elements.element(elements.JWARD_PT_KERO, elements.element(elements.DEFAULT_PT_GEL))
793
elements.property(elements.JWARD_PT_KERO, "Name", "KERO")
794
elements.property(elements.JWARD_PT_KERO, "Description", "KERO BURNS HOT AND QUICK")
795
elements.property(elements.JWARD_PT_KERO, "Colour", 0x01B3D7)
796
elements.property(elements.JWARD_PT_KERO, "MenuSection", 5)
797
elements.property(elements.JWARD_PT_KERO, "Gravity", .04)
798-
elements.property(elements.JWARD_PT_KERV, "Flammable", 1500)
798+
elements.property(elements.JWARD_PT_KERO, "Flammable", 0)
799
elements.property(elements.JWARD_PT_KERO, "Explosive", 0)
800
elements.property(elements.JWARD_PT_KERO, "Loss", 1)
801
elements.property(elements.JWARD_PT_KERO, "AirLoss", .90)
802
elements.property(elements.JWARD_PT_KERO, "AirDrag", .01)
803
elements.property(elements.JWARD_PT_KERO, "Advection", .80)
804
elements.property(elements.JWARD_PT_KERO, "Weight", 5)
805
elements.property(elements.JWARD_PT_KERO, "State", ST_liquid)
806
elements.property(elements.JWARD_PT_KERO, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
807
elements.property(elements.JWARD_PT_KERO, "HighTemperature", 393.15)
808
elements.property(elements.JWARD_PT_KERO, "HighTemperatureTransition", elements.JWARD_PT_KERV)
809
function KERO(i,x,y,s,n)
810
reaction = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
811
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
812
	if cal == tpt.element('acel') then
813
		if reaction == petrol then
814
			sim.partChangeType(i, tpt.element('JETB'))
815
		end
816
	end
817
	if cal == tpt.element('sprk') or cal == tpt.element('ligh') then
818
		sim.partChangeType(i, tpt.element('fire'))
819
	end
820-
elements.property(elements.JWARD_PT_JETB, "Description", "Jet b type fuel-blend of Kero and Ptrl for jet engines")
820+
821
tpt.element_func(KERO,KEROSENE)
822
823
elements.element(elements.JWARD_PT_KERV, elements.element(elements.DEFAULT_PT_HYGN))
824
elements.property(elements.JWARD_PT_KERV, "Name", "KERV")
825
elements.property(elements.JWARD_PT_KERV, "Description", "kerosene gas")
826
elements.property(elements.JWARD_PT_KERV, "Colour", 0x01B3D7)
827
elements.property(elements.JWARD_PT_KERV, "MenuVisible", 0)
828
elements.property(elements.JWARD_PT_KERV, "Gravity", -0.02)
829
elements.property(elements.JWARD_PT_KERV, "Flammable", 4500)
830
elements.property(elements.JWARD_PT_KERV, "Explosive", 1)
831
elements.property(elements.JWARD_PT_KERV, "Loss", 0.75)
832
elements.property(elements.JWARD_PT_KERV, "AirLoss", 0.97)
833
elements.property(elements.JWARD_PT_KERV, "AirDrag", 0.01)
834
elements.property(elements.JWARD_PT_KERV, "Advection", 1)
835
elements.property(elements.JWARD_PT_KERV, "Weight", 0)
836
elements.property(elements.JWARD_PT_KERV, "Diffusion", 0.7)
837
elements.property(elements.JWARD_PT_KERV, "Meltable", 0)
838
elements.property(elements.JWARD_PT_KERV, "Hardness", 0)
839
elements.property(elements.JWARD_PT_KERV, "Falldown", 0)
840
elements.property(elements.JWARD_PT_KERV, "Properties", TYPE_GAS)
841
elements.property(elements.JWARD_PT_KERV, "State", ST_GAS)
842
elements.property(elements.JWARD_PT_KERV, "Temperature", 403.15)
843
elements.property(elements.JWARD_PT_KERV, "HeatConduct", 195)
844
elements.property(elements.JWARD_PT_KERV, "LowTemperature", 393.15)
845
elements.property(elements.JWARD_PT_KERV, "LowTemperatureTransition", elements.JWARD_PT_KERO)
846-
elements.property(elements.JWARD_PT_TAR, "Flammable", 2)
846+
function KERV(i,x,y,s,n)
847
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
848
	if cal == tpt.element('sprk') or cal == tpt.element('ligh') then
849
		sim.partChangeType(i, tpt.element('fire'))
850
	end
851
end
852
tpt.element_func(KERV,KEROSENEGAS)
853
854
--jetfuel
855
local JETFUEL = elements.allocate("JWARD", "JETB")
856
elements.element(elements.JWARD_PT_JETB, elements.element(elements.DEFAULT_PT_GEL))
857
elements.property(elements.JWARD_PT_JETB, "Name", "JETB")
858
elements.property(elements.JWARD_PT_JETB, "Description", "Jet type b, fuel-blend of Kero and Ptrl for jet engines")
859
elements.property(elements.JWARD_PT_JETB, "Colour", 0x676601)
860
elements.property(elements.JWARD_PT_JETB, "MenuSection", 5)
861
elements.property(elements.JWARD_PT_JETB, "Gravity", .04)
862
elements.property(elements.JWARD_PT_JETB, "Flammable", 5000)
863
elements.property(elements.JWARD_PT_JETB, "Explosive", 1)
864
elements.property(elements.JWARD_PT_JETB, "Loss", 0.8)
865-
elements.property(elements.JWARD_PT_TARV, "Flammable", 10)
865+
866
elements.property(elements.JWARD_PT_JETB, "AirDrag", 0.02)
867
elements.property(elements.JWARD_PT_JETB, "Advection", 0.8)
868
elements.property(elements.JWARD_PT_JETB, "HighTemperature", 353.15)
869
elements.property(elements.JWARD_PT_JETB, "Weight", 13)
870
elements.property(elements.JWARD_PT_JETB, "State", ST_liquid)
871
elements.property(elements.JWARD_PT_JETB, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
872
elements.property(elements.JWARD_PT_JETB, "LowTemperature", 225.15)
873
elements.property(elements.JWARD_PT_JETB, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
874
function JETB(i,x,y,s,n)
875
cal = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
876
	if cal == tpt.element('sprk') or cal == tpt.element('ligh') then
877
		sim.partChangeType(i, tpt.element('fire'))
878
	end
879
end
880
tpt.element_func(JETB,JETFUEL)
881
882
--tar
883
local TARGAS = elements.allocate("JWARD", "TARV")
884
local TAR = elements.allocate("JWARD", "TAR")
885
elements.element(elements.JWARD_PT_TAR, elements.element(elements.DEFAULT_PT_SOAP))
886
elements.property(elements.JWARD_PT_TAR, "Name", "TAR")
887
elements.property(elements.JWARD_PT_TAR, "Description", "tar hard to burn")
888
elements.property(elements.JWARD_PT_TAR, "Colour", 0x0D0D03)
889
elements.property(elements.JWARD_PT_TAR, "MenuSection", 5)
890
elements.property(elements.JWARD_PT_TAR, "Gravity", .1)
891
elements.property(elements.JWARD_PT_TAR, "Flammable", 1)
892
elements.property(elements.JWARD_PT_TAR, "Explosive", 0)
893
elements.property(elements.JWARD_PT_TAR, "Loss", 1)
894
elements.property(elements.JWARD_PT_TAR, "AirLoss", .5)
895
elements.property(elements.JWARD_PT_TAR, "AirDrag", .01)
896
elements.property(elements.JWARD_PT_TAR, "Advection", .01)
897
elements.property(elements.JWARD_PT_TAR, "Diffusion", 0.01)
898
elements.property(elements.JWARD_PT_TAR, "State", ST_liquid)
899
elements.property(elements.JWARD_PT_TAR, "Weight", 50)
900
elements.property(elements.JWARD_PT_TAR, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
901
elements.property(elements.JWARD_PT_TAR, "HighTemperature", 873.15)
902
elements.property(elements.JWARD_PT_TAR, "HighTemperatureTransition", elements.JWARD_PT_TARV)
903
function TAR(i,x,y,s,n)
904
	crack = math.random(-1,1)
905
    otherfind = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
906
	if buttonable == 1 and otherfind == tpt.el.brel.id then
907
		if crack == 0 then
908
			sim.partChangeType(i, petrol)
909
		end
910
		if crack == 1 then
911
			sim.partChangeType(i, tpt.element('PRPN'))
912
		end
913
		if crack == -1 then
914
			sim.partChangeType(i, tpt.element('CRST'))
915
		end
916
	end
917
end
918
tpt.element_func(TAR,tpt.element('TAR'))
919
920
elements.element(elements.JWARD_PT_TARV, elements.element(elements.DEFAULT_PT_HYGN))
921
elements.property(elements.JWARD_PT_TARV, "Name", "TARV")
922
elements.property(elements.JWARD_PT_TARV, "Description", "tar gas")
923
elements.property(elements.JWARD_PT_TARV, "Colour", 0x4C2D20)
924
elements.property(elements.JWARD_PT_TARV, "MenuVisible", 0)
925
elements.property(elements.JWARD_PT_TARV, "Gravity", -0.02)
926
elements.property(elements.JWARD_PT_TARV, "Flammable", 100)
927
elements.property(elements.JWARD_PT_TARV, "Explosive", 0)
928
elements.property(elements.JWARD_PT_TARV, "Loss", 0.75)
929
elements.property(elements.JWARD_PT_TARV, "AirLoss", 0.97)
930
elements.property(elements.JWARD_PT_TARV, "AirDrag", 0.01)
931
elements.property(elements.JWARD_PT_TARV, "Advection", 1)
932
elements.property(elements.JWARD_PT_TARV, "Weight", 0)
933
elements.property(elements.JWARD_PT_TARV, "Diffusion", 0.7)
934
elements.property(elements.JWARD_PT_TARV, "Meltable", 0)
935
elements.property(elements.JWARD_PT_TARV, "Hardness", 0)
936
elements.property(elements.JWARD_PT_TARV, "Falldown", 0)
937
elements.property(elements.JWARD_PT_TARV, "Properties", TYPE_GAS)
938
elements.property(elements.JWARD_PT_TARV, "State", ST_GAS)
939
elements.property(elements.JWARD_PT_TARV, "Temperature", 403.15)
940
elements.property(elements.JWARD_PT_TARV, "HeatConduct", 195)
941
elements.property(elements.JWARD_PT_TARV, "LowTemperature", 873.15)
942
elements.property(elements.JWARD_PT_TARV, "LowTemperatureTransition", elements.JWARD_PT_TAR)
943
944
--wax
945
local WAXGAS = elements.allocate("JWARD", "WAXV")
946
elements.element(elements.JWARD_PT_WAXV, elements.element(elements.DEFAULT_PT_HYGN))
947
elements.property(elements.JWARD_PT_WAXV, "Name", "WAXV")
948
elements.property(elements.JWARD_PT_WAXV, "Description", "wax gas")
949
elements.property(elements.JWARD_PT_WAXV, "Colour", 0xF0F0BB)
950
elements.property(elements.JWARD_PT_WAXV, "MenuSection", SC_GAS)
951
elements.property(elements.JWARD_PT_WAXV, "Gravity", -0.02)
952
elements.property(elements.JWARD_PT_WAXV, "Flammable", 500)
953
elements.property(elements.JWARD_PT_WAXV, "Explosive", 0)
954
elements.property(elements.JWARD_PT_WAXV, "Loss", 0.75)
955
elements.property(elements.JWARD_PT_WAXV, "AirLoss", 0.97)
956
elements.property(elements.JWARD_PT_WAXV, "AirDrag", 0.01)
957
elements.property(elements.JWARD_PT_WAXV, "Advection", 1)
958
elements.property(elements.JWARD_PT_WAXV, "Weight", 0)
959
elements.property(elements.JWARD_PT_WAXV, "Diffusion", 0.7)
960
elements.property(elements.JWARD_PT_WAXV, "Meltable", 0)
961
elements.property(elements.JWARD_PT_WAXV, "Hardness", 0)
962
elements.property(elements.JWARD_PT_WAXV, "Falldown", 0)
963
elements.property(elements.JWARD_PT_WAXV, "Properties", TYPE_GAS)
964
elements.property(elements.JWARD_PT_WAXV, "State", ST_GAS)
965
elements.property(elements.JWARD_PT_WAXV, "Temperature", 833.15)
966
elements.property(elements.JWARD_PT_WAXV, "HeatConduct", 195)
967
elements.property(elements.JWARD_PT_WAXV, "LowTemperature", 823.15)
968
elements.property(elements.JWARD_PT_WAXV, "LowTemperatureTransition", elements.DEFAULT_PT_WAX)
969
970
--coke
971
local CoalCoke = elements.allocate("JWARD", "COKE")
972
elements.element(elements.JWARD_PT_COKE, elements.element(elements.DEFAULT_PT_BCOL))
973
elements.property(elements.JWARD_PT_COKE, "Name", "COKE")
974
elements.property(elements.JWARD_PT_COKE, "Description", "COAL COKE. Burns for a long time and hot.")
975
elements.property(elements.JWARD_PT_COKE, "Colour", 0xAAAAAA)
976
elements.property(elements.JWARD_PT_COKE, "MenuSection", 5)
977
elements.property(elements.JWARD_PT_COKE, "Gravity", .35)
978
elements.property(elements.JWARD_PT_COKE, "Flammable", 0)
979
elements.property(elements.JWARD_PT_COKE, "Explosive", 0)
980
elements.property(elements.JWARD_PT_COKE, "Loss", 0.15)
981
elements.property(elements.JWARD_PT_COKE, "AirLoss", 0.96)
982
elements.property(elements.JWARD_PT_COKE, "AirDrag", 0.03)
983
elements.property(elements.JWARD_PT_COKE, "Advection", 0.4)
984
elements.property(elements.JWARD_PT_COKE, "Weight", 78)
985
elements.property(elements.JWARD_PT_COKE, "Falldown", 1)
986
COKEUpdate = function(i, x, y, s, n)
987
	local clife = tpt.get_property('life', x, y)
988
	if clife > 1 then
989
		for cx = -1, 1, 2 do
990
			for cy = -1, 1, 2 do
991
				tpt.create(x + cx, y + cy, 'fire')
992
				tpt.set_property('temp', 1700, x, y)
993
			end
994
		end
995
		tpt.set_property('life', clife - 1, x, y)
996
	elseif clife == 1 then
997
		tpt.set_property('type', 0, x, y)
998
	elseif s > 0 then
999
		for cx = -1, 1, 2 do
1000
			for cy = -1, 1, 2 do
1001
				if tpt.get_property('type', x + cx, y + cy) == 4 or tpt.get_property('type', x + cx, y + cy) == 49 then
1002
					tpt.set_property('life', 500, x, y)
1003
					return true
1004
				end
1005
			end
1006
		end
1007
	end
1008
end
1009
tpt.element_func(COKEUpdate, tpt.element('coke'))
1010-
elements.property(elements.JWARD_PT_CRST, "Flammable", 10)
1010+
1011
COALUpdate = function(i, x, y, s, n)
1012
	dis = tpt.get_property('temp', x, y)
1013
	if dis > 1273.15 then
1014
		if buttonable == 1 or buttonablest == 0 then
1015
			sim.partChangeType(i, tpt.element('coke'))
1016
			tpt.set_property('life', 0, x, y)
1017
			tpt.create(x, y + 1, 'CRST')
1018
			tpt.create(x, y - 1, 'TAR')
1019
		end
1020
	end
1021
end
1022
tpt.element_func(COALUpdate, tpt.element('coal'))
1023
1024-
	calsctype = tpt.get_property("ctype",x,y)
1024+
1025-
	calstype = tpt.get_property("type",x + math.random(-1,1),y + math.random(-1,1))
1025+
1026-
	if calsctype == tpt.element('ptrl') and calstmp == 2 and calstype == tpt.element('ptrl') then
1026+
1027
		if buttonable == 1 or buttonablest == 0 then
1028
			sim.partChangeType(i, tpt.element('coke'))
1029
			tpt.set_property('life', 0, x, y)
1030
			tpt.create(x, y + 1, 'CRST')
1031
			tpt.create(x, y - 1, 'TAR')
1032
		end
1033
	end
1034
end
1035
tpt.element_func(BCOLUpdate, tpt.element('bcol'))
1036
1037
local CreosoteGas = elements.allocate("JWARD", "CRTV")
1038
elements.element(elements.JWARD_PT_CRTV, elements.element(elements.DEFAULT_PT_BOYL))
1039
elements.property(elements.JWARD_PT_CRTV, "Name", "CRTV")
1040
elements.property(elements.JWARD_PT_CRTV, "Description", "creosote gas")
1041
elements.property(elements.JWARD_PT_CRTV, "Colour", 0x585117)
1042
elements.property(elements.JWARD_PT_CRTV, "MenuVisible", 0)
1043
elements.property(elements.JWARD_PT_CRTV, "Gravity", -0.02)
1044
elements.property(elements.JWARD_PT_CRTV, "Explosive", 0)
1045
elements.property(elements.JWARD_PT_CRTV, "Loss", 0.75)
1046
elements.property(elements.JWARD_PT_CRTV, "Flammable", 100)
1047
elements.property(elements.JWARD_PT_CRTV, "AirDrag", 0.01)
1048
elements.property(elements.JWARD_PT_CRTV, "Advection", 1)
1049
elements.property(elements.JWARD_PT_CRTV, "Weight", 0)
1050
elements.property(elements.JWARD_PT_CRTV, "Diffusion", 0.7)
1051
elements.property(elements.JWARD_PT_CRTV, "Hardness", 0)
1052
elements.property(elements.JWARD_PT_CRTV, "Falldown", 0)
1053
elements.property(elements.JWARD_PT_CRTV, "Properties", elem.TYPE_GAS)
1054
elements.property(elements.JWARD_PT_CRTV, "State", ST_GAS)
1055
elements.property(elements.JWARD_PT_CRTV, "Temperature", 883.15)
1056
elements.property(elements.JWARD_PT_CRTV, "HeatConduct", 81)
1057
function CRTV(i,x,y,s,n)
1058
	dis = tpt.get_property('temp', x, y)
1059
	if dis < 873.15 then
1060
		sim.partChangeType(i, tpt.element('CRST'))
1061
	end
1062
end
1063
tpt.element_func(CRTV,CreosoteGas)
1064
1065
local Creosote = elements.allocate("JWARD", "CRST")
1066
elements.element(elements.JWARD_PT_CRST, elements.element(elements.DEFAULT_PT_SOAP))
1067
elements.property(elements.JWARD_PT_CRST, "Name", "CRST")
1068
elements.property(elements.JWARD_PT_CRST, "Description", "creosote ")
1069
elements.property(elements.JWARD_PT_CRST, "Colour", 0x0F0E04)
1070
elements.property(elements.JWARD_PT_CRST, "MenuSection", SC_LIQUID)
1071
elements.property(elements.JWARD_PT_CRST, "Gravity", .04)
1072
elements.property(elements.JWARD_PT_CRST, "Flammable", 0)
1073
elements.property(elements.JWARD_PT_CRST, "Explosive", 0)
1074
elements.property(elements.JWARD_PT_CRST, "Loss", 1)
1075
elements.property(elements.JWARD_PT_CRST, "AirLoss", .5)
1076
elements.property(elements.JWARD_PT_CRST, "AirDrag", .01)
1077
elements.property(elements.JWARD_PT_CRST, "Advection", .01)
1078
elements.property(elements.JWARD_PT_CRST, "Weight", 35)
1079
elements.property(elements.JWARD_PT_CRST, "State", ST_liquid)
1080
elements.property(elements.JWARD_PT_CRST, "Properties", elem.TYPE_LIQUID)
1081
elements.property(elements.JWARD_PT_CRST, "HighTemperature", 873)
1082
elements.property(elements.JWARD_PT_CRST, "HighTemperatureTransition", elements.JWARD_PT_CRTV)
1083
1084
1085
--crude oil
1086
function OIL(i,x,y,s,n)
1087
	crack = math.random(0,1)
1088
    otherfind = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
1089
	if buttonable == 1 and otherfind == tpt.el.brel.id then
1090
		if crack == 0 then
1091
			sim.partChangeType(i, petrol)
1092
		end
1093
		if crack == 1 then
1094
			sim.partChangeType(i, tpt.element('PRPN'))
1095
		end
1096
	end
1097
end
1098
tpt.element_func(OIL,tpt.element('oil'))
1099
1100
local OILCRUDE = elements.allocate("JWARD", "OILC")
1101
elements.element(elements.JWARD_PT_OILC, elements.element(elements.DEFAULT_PT_GEL))
1102
elements.property(elements.JWARD_PT_OILC, "Name", "OILC")
1103
elements.property(elements.JWARD_PT_OILC, "Description", "Crude oil can be distilled, didn't name it coil for a reason")
1104
elements.property(elements.JWARD_PT_OILC, "Colour", 0x35350D)
1105
elements.property(elements.JWARD_PT_OILC, "MenuSection", 7)
1106
elements.property(elements.JWARD_PT_OILC, "Gravity", .04)
1107
elements.property(elements.JWARD_PT_OILC, "Flammable", 50)
1108
elements.property(elements.JWARD_PT_OILC, "Explosive", 0)
1109
elements.property(elements.JWARD_PT_OILC, "Loss", 1)
1110
elements.property(elements.JWARD_PT_OILC, "AirLoss", .5)
1111
elements.property(elements.JWARD_PT_OILC, "AirDrag", .01)
1112
elements.property(elements.JWARD_PT_OILC, "Advection", .01)
1113
elements.property(elements.JWARD_PT_OILC, "Weight", 5)
1114
elements.property(elements.JWARD_PT_OILC, "State", ST_liquid)
1115
elements.property(elements.JWARD_PT_OILC, "Properties", elem.TYPE_LIQUID+elem.PROP_DEADLY)
1116
function OILC(i,x,y,s,n)
1117
	dis = tpt.get_property('temp', x, y)
1118
	if dis > 973.15 then
1119
		tpt.set_property('tmp', math.random(1,9), x, y)
1120
	end
1121
	oillife = tpt.get_property('tmp', x, y)
1122
	if oillife == 9 then
1123
		sim.partChangeType(i, tpt.element('crtv'))
1124
		oillife = nil
1125
	end
1126
	if oillife == 8 then
1127
		sim.partChangeType(i, tpt.element('gas'))
1128
		oillife = nil
1129
	end
1130
	if oillife == 7 then
1131
		sim.partChangeType(i, tpt.element('kerv'))
1132
		oillife = nil
1133
	end
1134
	if oillife == 6 then
1135
		sim.partChangeType(i, tpt.element('ptlv'))
1136
		oillife = nil
1137
	end
1138
	if oillife == 5 then
1139
		sim.partChangeType(i, tpt.element('dslv'))
1140
		oillife = nil
1141
	end
1142
	if oillife == 4 then
1143
		sim.partChangeType(i, tpt.element('waxv'))
1144
		oillife = nil
1145
	end
1146
	if oillife == 3 then
1147
		sim.partChangeType(i, tpt.element('coke'))
1148
		oillife = nil
1149
	end
1150
	if oillife == 2 then
1151
		sim.partChangeType(i, tpt.element('tarv'))
1152
		oillife = nil
1153
	end
1154
	if oillife == 1 then
1155
		sim.partChangeType(i, tpt.element('PRPN'))
1156
		oillife = nil
1157
	end
1158
end
1159
tpt.element_func(OILC,OILCRUDE)
1160
1161
--better states of matter
1162
function BSM(i,x,y,s,n)
1163
	stctype = tpt.get_property('ctype', x, y)
1164
	sttemp = tpt.get_property('temp', x, y)
1165
	if stctype == tpt.element('hygn') and sttemp > 14 then
1166
		sim.partChangeType(i, tpt.el.hygn.id)
1167
	end
1168
	if stctype == tpt.element('nble') and sttemp > 1 then
1169
		sim.partChangeType(i, tpt.el.nble.id)
1170
	end
1171
	if stctype == tpt.element('desl') and sttemp > 255.15 then
1172
		sim.partChangeType(i, tpt.el.desl.id)
1173
	end
1174
	if stctype == tpt.element('ptrl') and sttemp > 225.15 then
1175
		sim.partChangeType(i, tpt.element('ptrl'))
1176
	end
1177
end
1178
tpt.element_func(BSM,tpt.el.ice.id)
1179
1180
function BSMp(i,x,y,s,n)
1181
	stctype = tpt.get_property('ctype', x, y)
1182
	sttemp = tpt.get_property('temp', x, y)
1183
	if stctype == tpt.element('hygn') and sttemp > 14 then
1184
		sim.partChangeType(i, tpt.el.hygn.id)
1185
	end
1186
	if stctype == tpt.element('nble') and sttemp > 1 then
1187
		sim.partChangeType(i, tpt.el.nble.id)
1188
	end
1189
	if stctype == tpt.element('desl') and sttemp > 255.15 then
1190
		sim.partChangeType(i, tpt.el.desl.id)
1191
	end
1192
	if stctype == tpt.element('ptrl') and sttemp > 225.15 then
1193
		sim.partChangeType(i, tpt.element('ptrl'))
1194
	end
1195
end
1196
tpt.element_func(BSMp,tpt.el.snow.id)
1197
1198
function BSMM(i,x,y,s,n)
1199
	stctype = tpt.get_property('ctype', x, y)
1200
	sttemp = tpt.get_property('temp', x, y)
1201
	if stctype == tpt.element('merc') and sttemp > 234 then
1202
		sim.partChangeType(i, tpt.el.merc.id)
1203
		tpt.set_property('tmp', 22, x, y)
1204
	end
1205
end
1206
tpt.element_func(BSMM,tpt.el.metl.id)
1207
1208
function BSMMY(i,x,y,s,n)
1209
sttemp = tpt.get_property('temp', x, y)
1210
	if buttonablest == 0 and sttemp < 234 then
1211
		sim.partChangeType(i, tpt.el.metl.id)
1212
		tpt.set_property('ctype', tpt.el.merc.id, x, y)
1213
	end
1214
end
1215
tpt.element_func(BSMMY,tpt.el.merc.id)
1216
1217
function BSMWT(i,x,y,s,n)
1218
	stctype = tpt.get_property('ctype', x, y)
1219
	sttemp = tpt.get_property('temp', x, y)
1220
	reaction = tpt.get_property("type",x+math.random(-1,1),y+math.random(-1,1))
1221
	cy = math.random(1,3)
1222
	if stctype == tpt.element('deut') and sttemp < 376 then
1223
		sim.partChangeType(i, tpt.el.deut.id)
1224
	end
1225
	if sttemp > 1100 then
1226
		if reaction == tpt.element('KERV') or reaction == tpt.element('WAXV') or reaction == tpt.element('DSLV') or reaction == tpt.element('PTLV') then
1227
			if cy == 1 then
1228
			sim.partChangeType(i, tpt.element('HYGN'))
1229
			else
1230
			sim.partChangeType(i, tpt.element('CO2'))
1231
			end
1232
		end
1233
		if reaction == tpt.element('PRPN') or reaction == tpt.element('AFRZ') then
1234
		sim.partChangeType(i, tpt.element('HYGN'))
1235
		end
1236
	end
1237
end
1238
tpt.element_func(BSMWT,tpt.el.wtrv.id)
1239
1240
function BSMDWT(i,x,y,s,n)
1241
	stctype = tpt.get_property('ctype', x, y)
1242
	if stctype == tpt.element('deut') then
1243
		sim.partChangeType(i, tpt.el.deut.id)
1244
	end
1245
end
1246
tpt.element_func(BSMDWT,tpt.el.dstw.id)
1247
1248
function BSMDT(i,x,y,s,n)
1249
	sttemp = tpt.get_property('temp', x, y)
1250
	if buttonablest == 0 and sttemp > 376 then
1251
		sim.partChangeType(i, tpt.el.wtrv.id)
1252
		tpt.set_property('ctype', tpt.el.deut.id, x, y)
1253
	end
1254
end
1255
tpt.element_func(BSMDT,tpt.el.deut.id)
1256
1257
function BSMP(i,x,y,s,n)
1258
	sttemp = tpt.get_property('temp', x, y)
1259
	if buttonablest == 0 and sttemp < 260 then
1260
		BSMchance = math.random(1,3)
1261
	else
1262
		BSMchance = 0
1263
	end
1264
	if BSMchance == 1 then
1265
		sim.partChangeType(i, tpt.el.clst.id)
1266
	end
1267
	if BSMchance == 2 then
1268
		sim.partChangeType(i, tpt.el.ice.id)
1269
		tpt.set_property('ctype', tpt.el.pste.id, x, y)
1270
	end
1271
	if BSMchance == 3 then
1272
		sim.partChangeType(i, tpt.el.ice.id)
1273
		tpt.set_property('ctype', tpt.el.watr.id, x, y)
1274
	end
1275
end
1276
tpt.element_func(BSMP,tpt.el.pste.id)
1277
1278
--button
1279
--http://powdertoy.co.uk/Wiki/W/Lua.html
1280
topress = 0
1281
thx = 0
1282
buttonable = 1
1283
1284
function tick()
1285
 if nil == HL2Mod then
1286
 if thx == 1 then
1287
 tpt.message_box("thanks "..tpt.get_name().." for your purchase, ","construction or theft of one or more of jward's mods")
1288
 thx = 0
1289
 end
1290
 if tpt.version.jacob1s_mod or elem.DEFAULT_PT_IRNX == 181 or nil ~= TPTMP then
1291
 if  tpt.hud() == 1 then
1292
 if  tpt.mousex >= 613 and tpt.mousey >= 1 and tpt.mousex <= 627 and tpt.mousey <= 14 then
1293
 else
1294
tpt.drawrect(597, 1, 14, 14, 204, 204, 204)
1295
tpt.fillrect(597, 1, 14, 14, 0, 0, 0, 255)
1296
tpt.drawtext(598, 5, "JW", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1297
topress = 1
1298
if tpt.mousex >= 597 and tpt.mousey >= 1 and tpt.mousex <= 611 and tpt.mousey <= 14 then
1299
tpt.drawrect(597, 1, 14, 14, 255, 255, 255)
1300
end
1301
end
1302
end
1303
else
1304
tpt.drawrect(613, 113, 14, 14, 204, 204, 204)
1305
tpt.fillrect(613, 113, 14, 14, 0, 0, 0, 255)
1306
tpt.drawtext(614, 117, "JW", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1307
topress = 2
1308
if tpt.mousex >= 613 and tpt.mousey >= 113 and tpt.mousex <= 627 and tpt.mousey <= 124 then
1309
tpt.drawrect(613, 113, 14, 14, 255, 255, 255)
1310
tpt.drawtext(500, 117, "JWARD's Mod options", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1311
end
1312
end
1313
if toopress == 1 then
1314
if topress == 1 then
1315
 tpt.fillrect(596, 0, 16, 16, 255, 255, 255, 255)
1316
 tpt.drawtext(598, 5, "JW", 0, 0, 0, 255)
1317
 end
1318
 if topress == 2 then
1319
 tpt.fillrect(612, 112, 16, 16, 255, 255, 255, 255)
1320
 tpt.drawtext(614, 117, "JW", 0, 0, 0, 255)
1321
 end
1322
 if items == 1 then
1323
 tpt.fillrect(150, 174, 16, 15, 255, 255, 255, 255)
1324
 tpt.drawline(153, 176, 158, 181, 0, 0, 0)
1325
 tpt.drawline(163, 176, 158, 181, 0, 0, 0)
1326
 tpt.drawline(153, 181, 158, 186, 0, 0, 0)
1327
 tpt.drawline(163, 181, 158, 186, 0, 0, 0)
1328
 tpt.drawrect(0, 205, 600, 175, 255, 255, 255)
1329
 tpt.fillrect(0, 205, 600, 175, 0, 0, 0, 255)
1330
 tpt.drawtext(25, 210, "JWARD's Mods' elements", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1331
 tpt.drawrect(5, 208, 14, 14, 255, 255, 255)
1332
 tpt.drawline(17, 215, 12, 210, 255, 255, 255)
1333
 tpt.drawline(7, 215, 12, 210, 255, 255, 255)
1334
 tpt.drawline(17, 220, 12, 215, 255, 255, 255)
1335
 tpt.drawline(7, 220, 12, 215, 255, 255, 255)
1336
 tpt.drawtext(6, 229, "Fuel mod:", 255, 255, 255, 255)
1337
 --anfo
1338
 tpt.fillrect(50, 225, 28, 15, 255, 206, 202, 255)
1339
 tpt.drawtext(51, 229, "ANFO", 0, 0, 0, 255)
1340
 if  tpt.mousex >= 50 and tpt.mousey >= 225 and tpt.mousex <= 78 and tpt.mousey <= 240 and items == 1 then
1341
 tpt.drawrect(49, 224, 30, 17, 255, 0, 0)
1342
 end
1343
 if redrect == 1 then
1344
 tpt.drawrect(49, 224, 30, 17, 255, 0, 0)
1345
 end
1346
--PRPN
1347
 tpt.fillrect(83, 225, 28, 15, 244, 162, 106, 255)
1348
 tpt.drawtext(85, 229, "PRPN", 0, 0, 0, 255)
1349
 if  tpt.mousex >= 83 and tpt.mousey >= 225 and tpt.mousex <= 111 and tpt.mousey <= 240 and items == 1 then
1350
 tpt.drawrect(82, 224, 30, 17, 255, 0, 0)
1351
 end
1352
 if redrect == 2 then
1353
 tpt.drawrect(82, 224, 30, 17, 255, 0, 0)
1354
 end
1355
 --COKE
1356
 tpt.fillrect(116, 225, 28, 15, 170, 170, 170, 255)
1357
 tpt.drawtext(118, 229, "COKE", 0, 0, 0, 255)
1358
 if  tpt.mousex >= 116 and tpt.mousey >= 225 and tpt.mousex <= 144 and tpt.mousey <= 240 and items == 1 then
1359
 tpt.drawrect(115, 224, 30, 17, 255, 0, 0)
1360
 end
1361
 if redrect == 3 then
1362
 tpt.drawrect(115, 224, 30, 17, 255, 0, 0)
1363
 end
1364
 --OILC
1365
 tpt.fillrect(149, 225, 28, 15, 53, 53, 13, 255)
1366
 tpt.drawtext(153, 229, "OILC", 255, 255, 255, 255)
1367
 if  tpt.mousex >= 149 and tpt.mousey >= 225 and tpt.mousex <= 177 and tpt.mousey <= 240 and items == 1 then
1368
 tpt.drawrect(148, 224, 30, 17, 255, 0, 0)
1369
 end
1370
 if redrect == 4 then
1371
 tpt.drawrect(148, 224, 30, 17, 255, 0, 0)
1372
 end
1373
--plye
1374
 tpt.fillrect(182, 225, 28, 15, 204, 204, 204, 255)
1375
 tpt.drawtext(186, 229, "PLYE", 0, 0, 0, 255)
1376
 if  tpt.mousex >= 182 and tpt.mousey >= 225 and tpt.mousex <= 210 and tpt.mousey <= 240 and items == 1 then
1377
 tpt.drawrect(181, 224, 30, 17, 255, 0, 0)
1378
 end
1379
 if redrect == 5 then
1380
 tpt.drawrect(181, 224, 30, 17, 255, 0, 0)
1381
 end
1382
 --JETB
1383
 tpt.fillrect(215, 225, 28, 15, 103, 102, 1, 255)
1384
 tpt.drawtext(217, 229, "JETB", 255, 255, 255, 255)
1385
 if  tpt.mousex >= 215 and tpt.mousey >= 225 and tpt.mousex <= 243 and tpt.mousey <= 240 and items == 1 then
1386
 tpt.drawrect(214, 224, 30, 17, 255, 0, 0)
1387
 end
1388
 if redrect == 6 then
1389
 tpt.drawrect(214, 224, 30, 17, 255, 0, 0)
1390
 end
1391
 --kerosene
1392
 tpt.fillrect(248, 225, 28, 15, 1, 179, 255, 255)
1393
 tpt.drawtext(250, 229, "KERO", 0, 0, 0, 255)
1394
 if  tpt.mousex >= 248 and tpt.mousey >= 225 and tpt.mousex <= 276 and tpt.mousey <= 240 and items == 1 then
1395
 tpt.drawrect(247, 224, 30, 17, 255, 0, 0)
1396
 end
1397
 if redrect == 7 then
1398
 tpt.drawrect(247, 224, 30, 17, 255, 0, 0)
1399
 end
1400
 --N2H4
1401
 tpt.fillrect(281, 225, 28, 15, 182, 240, 100, 255)
1402
 tpt.drawtext(283, 229, "N2H4", 0, 0, 0, 255)
1403
 if  tpt.mousex >= 281 and tpt.mousey >= 225 and tpt.mousex <= 309 and tpt.mousey <= 240 and items == 1 then
1404
 tpt.drawrect(280, 224, 30, 17, 255, 0, 0)
1405
 end
1406
 if redrect == 8 then
1407
 tpt.drawrect(280, 224, 30, 17, 255, 0, 0)
1408
 end
1409
  --N2O4
1410
 tpt.fillrect(314, 225, 28, 15, 48, 206, 198, 255)
1411
 tpt.drawtext(316, 229, "N2O4", 0, 0, 0, 255)
1412
 if  tpt.mousex >= 314 and tpt.mousey >= 225 and tpt.mousex <= 342 and tpt.mousey <= 240 and items == 1 then
1413
 tpt.drawrect(313, 224, 30, 17, 255, 0, 0)
1414
 end
1415
 if redrect == 9 then
1416
 tpt.drawrect(313, 224, 30, 17, 255, 0, 0)
1417
 end
1418
 --TAR
1419
 tpt.fillrect(347, 225, 28, 15, 13, 13, 3, 255)
1420
 tpt.drawtext(352, 229, "TAR", 255, 255, 255, 255)
1421
 if  tpt.mousex >= 347 and tpt.mousey >= 225 and tpt.mousex <= 375 and tpt.mousey <= 240 and items == 1 then
1422
 tpt.drawrect(346, 224, 30, 17, 255, 0, 0)
1423
 end
1424
 if redrect == 10 then
1425
 tpt.drawrect(346, 224, 30, 17, 255, 0, 0)
1426
 end
1427
 --AFRZ
1428
 tpt.fillrect(380, 225, 28, 15, 12, 63, 91, 255)
1429
 tpt.drawtext(382, 229, "AFRZ", 255, 255, 255, 255)
1430
 if  tpt.mousex >= 380 and tpt.mousey >= 225 and tpt.mousex <= 408 and tpt.mousey <= 240 and items == 1 then
1431
 tpt.drawrect(379, 224, 30, 17, 255, 0, 0)
1432
 end
1433
 if redrect == 11 then
1434
 tpt.drawrect(379, 224, 30, 17, 255, 0, 0)
1435
 end
1436
 --N2O
1437
 tpt.fillrect(413, 225, 28, 15, 67, 218, 255, 255)
1438
 tpt.drawtext(418, 229, "N2O", 0, 0, 0, 255)
1439
 if  tpt.mousex >= 413 and tpt.mousey >= 225 and tpt.mousex <= 441 and tpt.mousey <= 240 and items == 1 then
1440
 tpt.drawrect(412, 224, 30, 17, 255, 0, 0)
1441
 end
1442
 if redrect == 12 then
1443
 tpt.drawrect(412, 224, 30, 17, 255, 0, 0)
1444
 end
1445
 --N2
1446
 tpt.fillrect(446, 225, 28, 15, 94, 82, 255, 255)
1447
 tpt.drawtext(454, 229, "N2", 0, 0, 0, 255)
1448
 if  tpt.mousex >= 446 and tpt.mousey >= 225 and tpt.mousex <= 474 and tpt.mousey <= 240 and items == 1 then
1449
 tpt.drawrect(445, 224, 30, 17, 255, 0, 0)
1450
 end
1451
 if redrect == 13 then
1452
 tpt.drawrect(445, 224, 30, 17, 255, 0, 0)
1453
 end
1454
 --PTRL
1455
 tpt.fillrect(479, 225, 28, 15, 10, 74, 92, 255)
1456
 tpt.drawtext(482, 229, "PTRL", 255, 255, 255, 255)
1457
 if  tpt.mousex >= 479 and tpt.mousey >= 225 and tpt.mousex <= 507 and tpt.mousey <= 240 and items == 1 then
1458
 tpt.drawrect(478, 224, 30, 17, 255, 0, 0)
1459
 end
1460
 if redrect == 14 then
1461
 tpt.drawrect(478, 224, 30, 17, 255, 0, 0)
1462
 end
1463
 --COIL
1464
 tpt.fillrect(512, 225, 28, 15, 165, 114, 20, 255)
1465
 tpt.drawtext(515, 229, "COIL", 0, 0, 0, 255)
1466
 if  tpt.mousex >= 512 and tpt.mousey >= 225 and tpt.mousex <= 540 and tpt.mousey <= 240 and items == 1 then
1467
 tpt.drawrect(511, 224, 30, 17, 255, 0, 0)
1468
 end
1469
 if redrect == 15 then
1470
 tpt.drawrect(511, 224, 30, 17, 255, 0, 0)
1471
 end
1472
 --CALS
1473
 tpt.fillrect(545, 225, 28, 15, 144, 150, 95, 255)
1474
 tpt.drawtext(548, 229, "CALS", 0, 0, 0, 255)
1475
 if  tpt.mousex >= 545 and tpt.mousey >= 225 and tpt.mousex <= 573 and tpt.mousey <= 240 and items == 1 then
1476
 tpt.drawrect(544, 224, 30, 17, 255, 0, 0)
1477
 end
1478
 if redrect == 16 then
1479
 tpt.drawrect(544, 224, 30, 17, 255, 0, 0)
1480
 end
1481
 --BDSL
1482
 tpt.fillrect(6, 245, 28, 15, 51, 16, 0, 255)
1483
 tpt.drawtext(8, 249, "BDSL", 255, 255, 255, 255)
1484
 if  tpt.mousex >= 6 and tpt.mousey >= 245 and tpt.mousex <= 34 and tpt.mousey <= 260 and items == 1 then
1485
 tpt.drawrect(5, 244, 30, 17, 255, 0, 0)
1486
 end
1487
 if redrect == 17 then
1488
 tpt.drawrect(5, 244, 30, 17, 255, 0, 0)
1489
 end
1490
 --LN2O
1491
 tpt.fillrect(39, 245, 28, 15, 51, 193, 245, 255)
1492
 tpt.drawtext(41, 249, "LN2O", 0, 0, 0, 255)
1493
 if  tpt.mousex >= 39 and tpt.mousey >= 245 and tpt.mousex <= 67 and tpt.mousey <= 260 and items == 1 then
1494
 tpt.drawrect(38, 244, 30, 17, 255, 0, 0)
1495
 end
1496
 if redrect == 18 then
1497
 tpt.drawrect(38, 244, 30, 17, 255, 0, 0)
1498
 end
1499
 --CRST
1500
 tpt.fillrect(72, 245, 28, 15, 15, 14, 4, 255)
1501
 tpt.drawtext(74, 249, "CRST", 255, 255, 255, 255)
1502
 if  tpt.mousex >= 72 and tpt.mousey >= 245 and tpt.mousex <= 100 and tpt.mousey <= 260 and items == 1 then
1503
 tpt.drawrect(71, 244, 30, 17, 255, 0, 0)
1504
 end
1505
 if redrect == 19 then
1506
 tpt.drawrect(71, 244, 30, 17, 255, 0, 0)
1507
 end
1508
 end
1509
 tpt.drawrect(0, 0, 200, 200, 255, 255, 255)
1510
 tpt.fillrect(0, 0, 200, 200, 0, 0, 0, 255)
1511
 tpt.drawtext(10, 5, "JWARD's Mod options", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1512
 --close
1513
 tpt.drawrect(10, 174, 60, 16, 255, 255, 255)
1514
 tpt.drawtext(25, 178, "Close", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1515
 --antisave breaking
1516
 tpt.drawrect(10, 150, 15, 15, 255, 255, 255)
1517
 tpt.drawrect(35, 150, 15, 15, 255, 255, 255)
1518
 tpt.drawtext(13, 154, "on", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1519
 tpt.drawtext(37, 154, "off", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1520
 tpt.drawtext(10, 140, "antisave breaking", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1521
 --THanKs
1522
 tpt.drawrect(80, 174, 60, 16, 255, 255, 255)
1523
 tpt.drawtext(88, 178, ">THanKs<", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1524
 --better states of matter
1525
 tpt.drawtext(13, 127, "on", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1526
 tpt.drawtext(37, 127, "off", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1527
 tpt.drawrect(10, 123, 15, 15, 255, 255, 255)
1528
 tpt.drawrect(35, 123, 15, 15, 255, 255, 255)
1529
 tpt.drawtext(10, 114, "better states of matter", colourRGB[1], colourRGB[2], colourRGB[3], 255)
1530
  --elements
1531
 tpt.drawrect(150, 174, 16, 15, 255, 255, 255)
1532
 tpt.drawline(153, 176, 158, 181, 255, 255, 255)
1533
 tpt.drawline(163, 176, 158, 181, 255, 255, 255)
1534
 tpt.drawline(153, 181, 158, 186, 255, 255, 255)
1535
 tpt.drawline(163, 181, 158, 186, 255, 255, 255)
1536
end
1537
end
1538
end
1539
function pressthingy()
1540
if HL2Mod == nil then
1541
if topress == 1 then
1542
 if tpt.mousex >= 597 and tpt.mousey >= 1 and tpt.mousex <= 611 and tpt.mousey <= 14 and tpt.hud() == 1 then
1543
 open = 1
1544
 windowclick = 1
1545
 end
1546
 end
1547
 if topress == 2 then
1548
 if tpt.mousex >= 613 and tpt.mousey >= 113 and tpt.mousex <= 627 and tpt.mousey <= 124 then
1549
 open = 1
1550
 windowclick = 1
1551
 end
1552
 end
1553
 if  tpt.mousex >= 0 and tpt.mousey >= 0 and tpt.mousex <= 200 and tpt.mousey <= 200 and windowclick == 1 then
1554
 open = 1
1555
 end
1556
 if open == 1 then
1557
 if  tpt.mousex >= 10 and tpt.mousey >= 174 and tpt.mousex <= 70 and tpt.mousey <= 190 then
1558
 open = 0
1559
 toopress = 0
1560
 windowclick = 0
1561
 end
1562
 if  tpt.mousex >= 80 and tpt.mousey >= 174 and tpt.mousex <= 140 and tpt.mousey <= 190 then
1563
 thx = 1
1564
 end
1565
 if  tpt.mousex >= 150 and tpt.mousey >= 174 and tpt.mousex <= 166 and tpt.mousey <= 189 then
1566
 items = 1
1567
 end
1568
 if  tpt.mousex >= 5 and tpt.mousey >= 208 and tpt.mousex <= 19 and tpt.mousey <= 222 and items == 1 then
1569
 items = 0
1570
 end
1571
 if  tpt.mousex >= 50 and tpt.mousey >= 225 and tpt.mousex <= 78 and tpt.mousey <= 240 and items == 1 then
1572
 tpt.selectedl="JWARD_PT_ANFO"
1573
 redrect = 1
1574
 end
1575
 if  tpt.mousex >= 83 and tpt.mousey >= 225 and tpt.mousex <= 111 and tpt.mousey <= 240 and items == 1 then
1576
 tpt.selectedl="JWARD_PT_PRPN"
1577
 redrect = 2
1578
 end
1579
 if  tpt.mousex >= 116 and tpt.mousey >= 225 and tpt.mousex <= 144 and tpt.mousey <= 240 and items == 1 then
1580
 tpt.selectedl="JWARD_PT_COKE"
1581
 redrect = 3
1582
 end
1583
 if  tpt.mousex >= 149 and tpt.mousey >= 225 and tpt.mousex <= 177 and tpt.mousey <= 240 and items == 1 then
1584
 tpt.selectedl="JWARD_PT_OILC"
1585
 redrect = 4
1586
 end
1587
 if  tpt.mousex >= 182 and tpt.mousey >= 225 and tpt.mousex <= 210 and tpt.mousey <= 240 and items == 1 then
1588
 tpt.selectedl="JWARD_PT_PLYE"
1589
 redrect = 5
1590
 end
1591
 if  tpt.mousex >= 215 and tpt.mousey >= 225 and tpt.mousex <= 243 and tpt.mousey <= 240 and items == 1 then
1592
 tpt.selectedl="JWARD_PT_JETB"
1593
 redrect = 6
1594
 end
1595
 if  tpt.mousex >= 248 and tpt.mousey >= 225 and tpt.mousex <= 276 and tpt.mousey <= 240 and items == 1 then
1596
 tpt.selectedl="JWARD_PT_KERO"
1597
 redrect = 7
1598
 end
1599
 if  tpt.mousex >= 281 and tpt.mousey >= 225 and tpt.mousex <= 309 and tpt.mousey <= 240 and items == 1 then
1600
 tpt.selectedl="JWARD_PT_N2H4"
1601
 redrect = 8
1602
 end
1603
 if  tpt.mousex >= 314 and tpt.mousey >= 225 and tpt.mousex <= 342 and tpt.mousey <= 240 and items == 1 then
1604
 tpt.selectedl="JWARD_PT_N2O4"
1605
 redrect = 9
1606
 end
1607
 if  tpt.mousex >= 347 and tpt.mousey >= 225 and tpt.mousex <= 375 and tpt.mousey <= 240 and items == 1 then
1608
 tpt.selectedl="JWARD_PT_TAR"
1609
 redrect = 10
1610
 end
1611
 if  tpt.mousex >= 380 and tpt.mousey >= 225 and tpt.mousex <= 408 and tpt.mousey <= 240 and items == 1 then
1612
 tpt.selectedl="JWARD_PT_AFRZ"
1613
 redrect = 11
1614
 end
1615
 if  tpt.mousex >= 413 and tpt.mousey >= 225 and tpt.mousex <= 441 and tpt.mousey <= 240 and items == 1 then
1616
 tpt.selectedl="JWARD_PT_N2O"
1617
 redrect = 12
1618
 end
1619
 if  tpt.mousex >= 446 and tpt.mousey >= 225 and tpt.mousex <= 474 and tpt.mousey <= 240 and items == 1 then
1620
 tpt.selectedl="JWARD_PT_N2"
1621
 redrect = 13
1622
 end
1623
 if  tpt.mousex >= 479 and tpt.mousey >= 225 and tpt.mousex <= 507 and tpt.mousey <= 240 and items == 1 then
1624
 tpt.selectedl="JWARD_PT_PTRL"
1625
 redrect = 14
1626
 end
1627
 if  tpt.mousex >= 512 and tpt.mousey >= 225 and tpt.mousex <= 540 and tpt.mousey <= 240 and items == 1 then
1628
 tpt.selectedl="JWARD_PT_COIL"
1629
 redrect = 15
1630
 end
1631
 if  tpt.mousex >= 545 and tpt.mousey >= 225 and tpt.mousex <= 573 and tpt.mousey <= 240 and items == 1 then
1632
 tpt.selectedl="JWARD_PT_CALS"
1633
 redrect = 16
1634
 end
1635
 if  tpt.mousex >= 6 and tpt.mousey >= 245 and tpt.mousex <= 34 and tpt.mousey <= 260 and items == 1 then
1636
 tpt.selectedl="JWARD_PT_BDSL"
1637
 redrect = 17
1638
 end
1639
 if  tpt.mousex >= 39 and tpt.mousey >= 245 and tpt.mousex <= 67 and tpt.mousey <= 260 and items == 1 then
1640
 tpt.selectedl="JWARD_PT_LN2O"
1641
 redrect = 18
1642
 end
1643
 if  tpt.mousex >= 72 and tpt.mousey >= 245 and tpt.mousex <= 100 and tpt.mousey <= 260 and items == 1 then
1644
 tpt.selectedl="JWARD_PT_CRST"
1645
 redrect = 19
1646
 end
1647
 if  tpt.mousex >= 35 and tpt.mousey >= 123 and tpt.mousex <= 50 and tpt.mousey <= 138 then
1648
elements.property(elements.DEFAULT_PT_LN2, "HighTemperature", 77)
1649
elements.property(elements.DEFAULT_PT_LN2, "HighTemperatureTransition", elements.DEFAULT_PT_NONE)
1650
elements.property(elements.DEFAULT_PT_GAS, "HighPressureTransition", elements.DEFAULT_PT_OIL)
1651
elements.property(elements.DEFAULT_PT_GAS, "LowTemperature", 0)
1652
elements.property(elements.DEFAULT_PT_GAS, "HotAir", 0.001)
1653
elements.property(elements.DEFAULT_PT_GAS, "LowTemperatureTransition", DEFAULT_PT_GAS)
1654
elements.property(elements.DEFAULT_PT_GAS, "HighTemperatureTransition", elements.DEFAULT_PT_FIRE)
1655
elements.property(elements.DEFAULT_PT_GAS, "Temperature", 273.15)
1656
elements.property(elements.DEFAULT_PT_GAS, "HighTemperature", 573)
1657
elements.property(elements.DEFAULT_PT_GAS, "HighPressure", 6)
1658
elements.property(elements.DEFAULT_PT_OIL, "HighTemperature", 333)
1659
elements.property(elements.DEFAULT_PT_OIL, "HighTemperatureTransition", elements.DEFAULT_PT_GAS)
1660
elements.property(elements.DEFAULT_PT_DESL, "LowTemperature", NT)
1661
elements.property(elements.DEFAULT_PT_DESL, "LowTemperatureTransition", ITL)
1662
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperature", NT)
1663
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperatureTransition", ITL)
1664
elements.property(elements.DEFAULT_PT_NBLE, "LowTemperature", NT)
1665
elements.property(elements.DEFAULT_PT_NBLE, "LowTemperatureTransition", ITL)
1666
elements.property(elements.DEFAULT_PT_COAL, "HighPressure", 256)
1667
elements.property(elements.DEFAULT_PT_COAL, "HighPressureTransition", elements.DEFAULT_PT_COAL)
1668
elements.property(elements.DEFAULT_PT_BCOL, "HighPressure", 256)
1669
elements.property(elements.DEFAULT_PT_BCOL, "HighPressureTransition", elements.DEFAULT_PT_BCOL)
1670
elements.property(elements.JWARD_PT_COKE, "HighPressure", 256)
1671
elements.property(elements.JWARD_PT_COKE, "HighPressureTransition", elements.JWARD_PT_COKE)
1672
elements.property(elements.JWARD_PT_COKE, "HighTemperature", 10000)
1673
elements.property(elements.JWARD_PT_COKE, "HighTemperatureTransition", elements.JWARD_PT_COKE)
1674
elements.property(elements.DEFAULT_PT_URAN, "HighTemperature", 10000)
1675
elements.property(elements.DEFAULT_PT_URAN, "HighTemperatureTransition", elements.DEFAULT_PT_URAN)
1676
elements.property(elements.DEFAULT_PT_PLUT, "HighTemperature", 10000)
1677
elements.property(elements.DEFAULT_PT_PLUT, "HighTemperatureTransition", elements.DEFAULT_PT_PLUT)
1678
elements.property(elements.DEFAULT_PT_DEUT, "LowTemperature", 0)
1679
elements.property(elements.DEFAULT_PT_DEUT, "LowTemperatureTransition", elements.DEFAULT_PT_DEUT)
1680
buttonablest = 1
1681
 end
1682
if  tpt.mousex >= 10 and tpt.mousey >= 123 and tpt.mousex <= 25 and tpt.mousey <= 138 then
1683
elements.property(elements.DEFAULT_PT_LN2, "HighTemperature", 76)
1684
elements.property(elements.DEFAULT_PT_LN2, "HighTemperatureTransition", elements.JWARD_PT_N2)
1685
elements.property(elements.DEFAULT_PT_GAS, "HighPressureTransition", 256)
1686
elements.property(elements.DEFAULT_PT_GAS, "LowTemperature", 573.15)
1687
elements.property(elements.DEFAULT_PT_GAS, "HotAir", 0)
1688
elements.property(elements.DEFAULT_PT_GAS, "LowTemperatureTransition", elements.DEFAULT_PT_OIL)
1689
elements.property(elements.DEFAULT_PT_GAS, "HighTemperatureTransition", NT)
1690
elements.property(elements.DEFAULT_PT_GAS, "Temperature", 583.15)
1691
elements.property(elements.DEFAULT_PT_GAS, "HighTemperature", 10000)
1692
elements.property(elements.DEFAULT_PT_OIL, "HighTemperature", 573.15)
1693
elements.property(elements.DEFAULT_PT_OIL, "HighTemperatureTransition", elements.DEFAULT_PT_GAS)
1694
elements.property(elements.DEFAULT_PT_DESL, "HighTemperatureTransition", elements.JWARD_PT_DSLV)
1695
elements.property(elements.DEFAULT_PT_DESL, "HighTemperature", 473.15)
1696
elements.property(elements.DEFAULT_PT_DESL, "LowTemperature", 255.15)
1697
elements.property(elements.DEFAULT_PT_DESL, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1698
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperature", 14)
1699
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1700
elements.property(elements.DEFAULT_PT_NBLE, "LowTemperature", 1)
1701
elements.property(elements.DEFAULT_PT_NBLE, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1702
elements.property(elements.DEFAULT_PT_COAL, "HighPressure", 122)
1703
elements.property(elements.DEFAULT_PT_COAL, "HighPressureTransition", elements.DEFAULT_PT_DMND)
1704
elements.property(elements.DEFAULT_PT_BCOL, "HighPressure", 122)
1705
elements.property(elements.DEFAULT_PT_BCOL, "HighPressureTransition", elements.DEFAULT_PT_DMND)
1706
elements.property(elements.JWARD_PT_COKE, "HighPressure", 122)
1707
elements.property(elements.JWARD_PT_COKE, "HighPressureTransition", elements.DEFAULT_PT_DMND)
1708
elements.property(elements.JWARD_PT_COKE, "HighTemperature", 4373.15)
1709
elements.property(elements.JWARD_PT_COKE, "HighTemperatureTransition", elements.DEFAULT_PT_CO2)
1710
elements.property(elements.DEFAULT_PT_URAN, "HighTemperature", 1405)
1711
elements.property(elements.DEFAULT_PT_URAN, "HighTemperatureTransition", elements.DEFAULT_PT_LAVA)
1712
elements.property(elements.DEFAULT_PT_PLUT, "HighTemperature", 912)
1713
elements.property(elements.DEFAULT_PT_PLUT, "HighTemperatureTransition", elements.DEFAULT_PT_LAVA)
1714
elements.property(elements.DEFAULT_PT_DEUT, "LowTemperature", 276)
1715
elements.property(elements.DEFAULT_PT_DEUT, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1716
buttonablest = 0
1717
 end
1718
 if  tpt.mousex >= 10 and tpt.mousey >= 150 and tpt.mousex <= 25 and tpt.mousey <= 165 then
1719
elements.property(elements.DEFAULT_PT_ACID, "Diffusion", 0)
1720
elements.property(elements.DEFAULT_PT_ACID, "Gravity", 0.1)
1721
elements.property(elements.DEFAULT_PT_ACID, "Description", "Dissolves almost everything.")
1722
elements.property(elements.DEFAULT_PT_ACID, "Flammable", 40)
1723
elements.property(elements.DEFAULT_PT_INSL, "Hardness", 10)
1724
elements.property(elements.DEFAULT_PT_INSL, "Flammable", 7)
1725
elements.property(elements.DEFAULT_PT_LN2, "HighTemperature", 77)
1726
elements.property(elements.DEFAULT_PT_LN2, "HighTemperatureTransition", elements.DEFAULT_PT_NONE)
1727
elements.property(elements.DEFAULT_PT_WATR, "Hardness", 20)
1728
elements.property(elements.DEFAULT_PT_WATR, "Weight", 30)
1729
elements.property(elements.DEFAULT_PT_DSTW, "Hardness", 20)
1730
elements.property(elements.DEFAULT_PT_DSTW, "Weight", 30)
1731
elements.property(elements.DEFAULT_PT_SLTW, "Hardness", 20)
1732
elements.property(elements.DEFAULT_PT_SLTW, "Weight", 35)
1733
elements.property(elements.DEFAULT_PT_BUBW, "Hardness", 20)
1734
elements.property(elements.DEFAULT_PT_BUBW, "Weight", 30)
1735
elements.property(elements.DEFAULT_PT_GAS, "HighPressureTransition", elements.DEFAULT_PT_OIL)
1736
elements.property(elements.DEFAULT_PT_GAS, "LowTemperature", 0)
1737
elements.property(elements.DEFAULT_PT_GAS, "HotAir", 0.001)
1738
elements.property(elements.DEFAULT_PT_GAS, "LowTemperatureTransition", DEFAULT_PT_GAS)
1739
elements.property(elements.DEFAULT_PT_GAS, "HighTemperatureTransition", elements.DEFAULT_PT_FIRE)
1740
elements.property(elements.DEFAULT_PT_GAS, "Temperature", 273.15)
1741
elements.property(elements.DEFAULT_PT_GAS, "HighTemperature", 573)
1742
elements.property(elements.DEFAULT_PT_GAS, "HighPressure", 6)
1743
elements.property(elements.DEFAULT_PT_OIL, "HighTemperature", 333)
1744
elements.property(elements.DEFAULT_PT_OIL, "HighTemperatureTransition", elements.DEFAULT_PT_GAS)
1745
elements.property(elements.DEFAULT_PT_DESL, "LowTemperature", NT)
1746
elements.property(elements.DEFAULT_PT_DESL, "LowTemperatureTransition", ITL)
1747
elements.property(elements.DEFAULT_PT_DESL, "Weight", 15)
1748
elements.property(elements.DEFAULT_PT_DESL, "HighPressure", 2)
1749
elements.property(elements.DEFAULT_PT_NITR, "Hardness", 3)
1750
buttonable = 0
1751
 end
1752
 if  tpt.mousex >= 35 and tpt.mousey >= 150 and tpt.mousex <= 50 and tpt.mousey <= 165 then
1753
 elements.property(elements.DEFAULT_PT_ACID, "Diffusion", 1.2)
1754
elements.property(elements.DEFAULT_PT_ACID, "Gravity", 0.62)
1755
elements.property(elements.DEFAULT_PT_ACID, "Description", "Bubbling caustic liquid.")
1756
elements.property(elements.DEFAULT_PT_ACID, "Flammable", 0)
1757
elements.property(elements.DEFAULT_PT_INSL, "Hardness", 0)
1758
elements.property(elements.DEFAULT_PT_INSL, "Flammable", 0)
1759
elements.property(elements.DEFAULT_PT_LN2, "HighTemperature", 76)
1760
elements.property(elements.DEFAULT_PT_LN2, "HighTemperatureTransition", elements.JWARD_PT_N2)
1761
elements.property(elements.DEFAULT_PT_WATR, "Hardness", 0.25)
1762
elements.property(elements.DEFAULT_PT_WATR, "Weight", 32)
1763
elements.property(elements.DEFAULT_PT_DSTW, "Hardness", 0)
1764
elements.property(elements.DEFAULT_PT_DSTW, "Weight", 32)
1765
elements.property(elements.DEFAULT_PT_SLTW, "Hardness", 0)
1766
elements.property(elements.DEFAULT_PT_SLTW, "Weight", 32)
1767
elements.property(elements.DEFAULT_PT_BUBW, "Hardness", 0)
1768
elements.property(elements.DEFAULT_PT_BUBW, "Weight", 32)
1769
elements.property(elements.DEFAULT_PT_GAS, "HighPressureTransition", 256)
1770
elements.property(elements.DEFAULT_PT_GAS, "LowTemperature", 573.15)
1771
elements.property(elements.DEFAULT_PT_GAS, "HotAir", 0)
1772
elements.property(elements.DEFAULT_PT_GAS, "LowTemperatureTransition", elements.DEFAULT_PT_OIL)
1773
elements.property(elements.DEFAULT_PT_GAS, "HighTemperatureTransition", NT)
1774
elements.property(elements.DEFAULT_PT_GAS, "Temperature", 583.15)
1775
elements.property(elements.DEFAULT_PT_GAS, "HighTemperature", 10000)
1776
elements.property(elements.DEFAULT_PT_OIL, "HighTemperature", 573.15)
1777
elements.property(elements.DEFAULT_PT_OIL, "HighTemperatureTransition", elements.DEFAULT_PT_GAS)
1778
elements.property(elements.DEFAULT_PT_DESL, "HighTemperatureTransition", elements.JWARD_PT_DSLV)
1779
elements.property(elements.DEFAULT_PT_DESL, "HighTemperature", 473.15)
1780
elements.property(elements.DEFAULT_PT_DESL, "LowTemperature", 255.15)
1781
elements.property(elements.DEFAULT_PT_DESL, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1782
elements.property(elements.DEFAULT_PT_DESL, "Weight", 12)
1783
elements.property(elements.DEFAULT_PT_DESL, "HighPressure", 256)
1784
elements.property(elements.DEFAULT_PT_NITR, "Hardness", 0)
1785
buttonable = 1
1786
 end
1787
 tpt.set_pause(1)
1788
 toopress = 1
1789
 return false
1790
 else
1791
 toopress = 0
1792
 return true
1793
end
1794
end
1795
end
1796
1797
tpt.register_mouseclick(pressthingy)
1798
tpt.register_mouseclick(tick)
1799
tpt.register_step(tick)
1800
1801
--default editing
1802
elements.property(elements.DEFAULT_PT_TNT, "HighTemperatureTransition", elements.JWARD_PT_LTNT)
1803
elements.property(elements.DEFAULT_PT_TNT, "HighTemperature", 353.25)
1804
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperature", 20.15)
1805
elements.property(elements.DEFAULT_PT_HYGN, "LowTemperatureTransition", elements.JWARD_PT_LHYG)
1806
elements.property(elements.DEFAULT_PT_ACID, "Flammable", 0)
1807
elements.property(elements.DEFAULT_PT_DMND, "MenuSection", 9)
1808
elements.property(elements.DEFAULT_PT_MORT, "MenuVisible", 1)
1809
elements.property(elements.DEFAULT_PT_MORT, "MenuSection", 8)
1810
elements.property(elements.DEFAULT_PT_INSL, "Hardness", 0)
1811
elements.property(elements.DEFAULT_PT_NITR, "Hardness", 0)
1812
elements.property(elements.DEFAULT_PT_INSL, "Flammable", 0)
1813
elements.property(elements.DEFAULT_PT_WATR, "Hardness", 0.25)
1814
elements.property(elements.DEFAULT_PT_DSTW, "Hardness", 0)
1815
elements.property(elements.DEFAULT_PT_SLTW, "Hardness", 0)
1816
elements.property(elements.DEFAULT_PT_BUBW, "Hardness", 0)
1817
elements.property(elements.DEFAULT_PT_WATR, "Weight", 32)
1818
elements.property(elements.DEFAULT_PT_DSTW, "Weight", 32)
1819
elements.property(elements.DEFAULT_PT_SLTW, "Weight", 32)
1820
elements.property(elements.DEFAULT_PT_BUBW, "Weight", 32)
1821
elements.property(elements.DEFAULT_PT_ACID, "Weight", 32)
1822
elements.property(elements.DEFAULT_PT_ACID, "Diffusion", 1.2)
1823
elements.property(elements.DEFAULT_PT_ACID, "Description", "Bubbling caustic liquid.")
1824
elements.property(elements.DEFAULT_PT_ACID, "Gravity", 0.62)
1825
elements.property(elements.DEFAULT_PT_DESL, "HighPressure", 256)
1826
elements.property(elements.DEFAULT_PT_GAS, "HighPressureTransition", 256)
1827
elements.property(elements.DEFAULT_PT_GAS, "LowTemperature", 573.15)
1828
elements.property(elements.DEFAULT_PT_GAS, "HotAir", 0)
1829
elements.property(elements.DEFAULT_PT_GAS, "LowTemperatureTransition", elements.DEFAULT_PT_OIL)
1830
elements.property(elements.DEFAULT_PT_GAS, "Temperature", 583.15)
1831
elements.property(elements.DEFAULT_PT_GAS, "HighTemperature", 10000)
1832
elements.property(elements.DEFAULT_PT_OIL, "HighTemperature", 573.15)
1833
elements.property(elements.DEFAULT_PT_OIL, "HighTemperatureTransition", elements.DEFAULT_PT_GAS)
1834
elements.property(elements.DEFAULT_PT_DESL, "HighTemperatureTransition", elements.JWARD_PT_DSLV)
1835
elements.property(elements.DEFAULT_PT_DESL, "HighTemperature", 473.15)
1836
elements.property(elements.DEFAULT_PT_DESL, "LowTemperature", 255.15)
1837
elements.property(elements.DEFAULT_PT_DESL, "LowTemperatureTransition", elements.DEFAULT_PT_ICE)
1838
elements.property(elements.DEFAULT_PT_DESL, "Weight", 12)
1839
elements.property(elements.DEFAULT_PT_MWAX, "HighTemperatureTransition", elements.JWARD_PT_WAXV)
1840
elements.property(elements.DEFAULT_PT_MWAX, "HighTemperature", 643.15)
1841
elements.property(elements.DEFAULT_PT_WAX, "HeatConduct", 25)