Advertisement
-Amy-

Untitled

Apr 13th, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 66.04 KB | None | 0 0
  1.  
  2.  
  3. --TPT's Mod
  4. --Please use cracker64's script manager
  5. --VER 1.3 UPDATE http://pastebin.com/raw.php?i=jQZ58x68
  6.  
  7. --Version 1.3
  8.  
  9. function DrawHUD()
  10. --graphics.drawText(6, 6, os.date("%a %b %d, %l:%M:%S %p"), 61, 200, 225, 200)
  11. graphics.drawText(6, 6, os.date(), 61, 200, 225, 200)
  12. graphics.drawText(150, 6, "Click CR Tab For Info/Credits", 61, 200, 225, 200)
  13. end
  14.  
  15. --Remove the -- in front of line 8 if you are using OSX or Linux. Then, place -- at start of line 9.
  16.  
  17. tpt.register_step(DrawHUD)
  18.  
  19. --Draws starting texts
  20.  
  21. print("TPT's Mod")
  22. print("Version 1")
  23. print("Update 3")
  24. print("Created by Amy. All elements were reprogrammed and compiled into a single file.")
  25. print("Contact via email or http://powdertoy.co.uk")
  26.  
  27. --TUNG Mod :D
  28.  
  29. function moo(i, x, y, surround_space, nt)
  30. if sim.pressure(x/4, y/4)<-7 and sim.partProperty(i, sim.FIELD_LIFE)~=0 and surround_space~=0 then
  31. sim.partCreate(-1, x+math.random(-3,3), y+math.random(-3,3), elem.DEFAULT_PT_ELEC) end
  32. end
  33. tpt.element_func(moo, tpt.el.tung.id, 0)
  34.  
  35. tpt.el.tung.description="Tungsten. Brittle metal with a very high melting point. When sparked under a pressure of -7, emits electrons."
  36.  
  37. --METR Element
  38.  
  39. local METR = elements.allocate("ELEMENT", "METR")
  40. elements.element(elements.ELEMENT_PT_METR, elements.element(elements.DEFAULT_PT_ELEC))
  41. elements.property(elements.ELEMENT_PT_METR, "Name", "METR")
  42. elements.property(elements.ELEMENT_PT_METR, "Description", "Meteors, Explode on impact. Use sparingly.")
  43. elements.property(elements.ELEMENT_PT_METR, "Colour", 0xFF7A0002)
  44. elements.property(elements.ELEMENT_PT_METR, "MenuSection", elem.SC_EXPLOSIVE)
  45. elements.property(elements.ELEMENT_PT_METR, "MenuVisible", 1)
  46. elements.property(elements.ELEMENT_PT_METR, "Weight", 100)
  47. elements.property(elements.ELEMENT_PT_METR, "Temperature", 9999)
  48. local function graphics1(i, colr, colg, colb)
  49. return 1,0x00010000,255,225,0,210,255,255,255,255
  50. end
  51. tpt.graphics_func(graphics1,METR)
  52.  
  53. local function get_property(prop, x, y)
  54. if x >= 0 and x < sim.XRES and y >=0 and y < sim.YRES then
  55. return tpt.get_property(prop, x, y)
  56. end
  57. return 0
  58. end
  59.  
  60. math.randomseed(os.time())
  61. function metr_update(i, x, y, s, n)
  62. if tpt.get_property("tmp",i)==0 then
  63. tpt.parts[i].tmp=1
  64. randvel=math.random(-20,20)/10
  65. tpt.parts[i].vx=randvel
  66. tpt.parts[i].vy=math.sqrt(8-(randvel^2))
  67. end
  68.  
  69. xvel=tpt.get_property("vx",i)/2
  70. yvel=tpt.get_property("vy",i)/2
  71. if yvel <= 0 or math.abs(xvel) > 1 then
  72. tpt.delete(i)
  73. end
  74.  
  75. xpos=x-xvel
  76. ypos=y-yvel
  77. elemtype=get_property("type",xpos,ypos)
  78.  
  79. if elemtype == 0 then
  80. tpt.create(xpos,ypos,"bray")
  81. tpt.set_property("temp",5000,xpos,ypos)
  82. end
  83. tpt.parts[i].temp=9999
  84.  
  85. elemtype25=get_property("type",x+xvel*5,y+yvel*5)
  86. elemtype24=get_property("type",x+xvel*4,y+yvel*4)
  87. elemtype23=get_property("type",x+xvel*3,y+yvel*3)
  88. elemtype22=get_property("type",x+xvel*2,y+yvel*2)
  89. elemtype21=get_property("type",x+xvel,y+yvel)
  90. if elemtype25 ~= 0 and elemtype25 ~= elements.ELEMENT_PT_METR and elemtype25 ~= tpt.el.bray.id and elemtype25 ~= tpt.el.dmnd.id and elemtype25 ~= tpt.el.void.id then
  91. tpt.set_property("type","bomb",i)
  92. tpt.set_property("life",0,i)
  93. tpt.set_property("tmp",0,i)
  94. elseif elemtype24 ~= 0 and elemtype24 ~= elements.ELEMENT_PT_METR and elemtype24 ~= tpt.el.bray.id and elemtype24 ~= tpt.el.dmnd.id and elemtype24 ~= tpt.el.void.id then
  95. tpt.set_property("type","bomb",i)
  96. tpt.set_property("life",0,i)
  97. tpt.set_property("tmp",0,i)
  98. elseif elemtype23 ~= 0 and elemtype23 ~= elements.ELEMENT_PT_METR and elemtype23 ~= tpt.el.bray.id and elemtype23 ~= tpt.el.dmnd.id and elemtype23 ~= tpt.el.void.id then
  99. tpt.set_property("type","bomb",i)
  100. tpt.set_property("life",0,i)
  101. tpt.set_property("tmp",0,i)
  102. elseif elemtype22 ~= 0 and elemtype22 ~= elements.ELEMENT_PT_METR and elemtype22 ~= tpt.el.bray.id and elemtype22 ~= tpt.el.dmnd.id and elemtype22 ~= tpt.el.void.id then
  103. tpt.set_property("type","bomb",i)
  104. tpt.set_property("life",0,i)
  105. tpt.set_property("tmp",0,i)
  106. elseif elemtype21 ~= 0 and elemtype21 ~= elements.ELEMENT_PT_METR and elemtype21 ~= tpt.el.bray.id and elemtype21 ~= tpt.el.dmnd.id and elemtype21 ~= tpt.el.void.id then
  107. tpt.set_property("type","bomb",i)
  108. tpt.set_property("life",0,i)
  109. tpt.set_property("tmp",0,i)
  110. end
  111. end
  112.  
  113. tpt.element_func(metr_update, elements.ELEMENT_PT_METR,1)
  114.  
  115. --BMBR Element {Amy}
  116.  
  117. local BMBR = elements.allocate("ELEMENT", "BMBR")
  118. elements.element(elements.ELEMENT_PT_BMBR, elements.element(elements.DEFAULT_PT_ELEC))
  119. elements.property(elements.ELEMENT_PT_BMBR, "Name", "BMBR")
  120. elements.property(elements.ELEMENT_PT_BMBR, "Description", "Right Shooting Bomb.")
  121. elements.property(elements.ELEMENT_PT_BMBR, "Colour", 0xFF31CBD9)
  122. elements.property(elements.ELEMENT_PT_BMBR, "MenuSection", elem.SC_EXPLOSIVE)
  123. elements.property(elements.ELEMENT_PT_BMBR, "MenuVisible", 1)
  124. elements.property(elements.ELEMENT_PT_BMBR, "Weight", 100)
  125. elements.property(elements.ELEMENT_PT_BMBR, "Temperature", 9999)
  126. local function graphics1(i, colr, colg, colb)
  127. return 1,0x00010000,255,225,0,210,255,255,255,255
  128. end
  129. tpt.graphics_func(graphics1,BMBR)
  130.  
  131. local function get_property(prop, x, y)
  132. if x >= 0 and x < sim.XRES and y >=0 and y < sim.YRES then
  133. return tpt.get_property(prop, x, y)
  134. end
  135. return 0
  136. end
  137.  
  138. math.randomseed(os.time())
  139. function BMBR_update(i, x, y, s, n)
  140. if tpt.get_property("tmp",i)==0 then
  141. tpt.parts[i].tmp=1
  142. --randvel=math.random(-20,20)/10
  143. tpt.parts[i].vx=3
  144. tpt.parts[i].vy=0
  145. end
  146.  
  147. xvel=3
  148. yvel=0
  149. if math.abs(xvel) < 1 then
  150. tpt.delete(i)
  151. end
  152.  
  153. xpos=x-xvel
  154. ypos=y-yvel
  155. elemtype=get_property("type",xpos,ypos)
  156.  
  157. if elemtype == 0 then
  158. tpt.create(xpos,ypos,"bray")
  159. tpt.set_property("temp",5000,xpos,ypos)
  160. end
  161. tpt.parts[i].temp=9999
  162.  
  163. elemtype25=get_property("type",x+xvel*5,y+yvel*5)
  164. elemtype24=get_property("type",x+xvel*4,y+yvel*4)
  165. elemtype23=get_property("type",x+xvel*3,y+yvel*3)
  166. elemtype22=get_property("type",x+xvel*2,y+yvel*2)
  167. elemtype21=get_property("type",x+xvel,y+yvel)
  168. if elemtype25 ~= 0 and elemtype25 ~= elements.ELEMENT_PT_BMBR and elemtype25 ~= tpt.el.bray.id and elemtype25 ~= tpt.el.dmnd.id and elemtype25 ~= tpt.el.void.id then
  169. tpt.set_property("type","bomb",i)
  170. tpt.set_property("life",0,i)
  171. tpt.set_property("tmp",0,i)
  172. elseif elemtype24 ~= 0 and elemtype24 ~= elements.ELEMENT_PT_BMBR and elemtype24 ~= tpt.el.bray.id and elemtype24 ~= tpt.el.dmnd.id and elemtype24 ~= tpt.el.void.id then
  173. tpt.set_property("type","bomb",i)
  174. tpt.set_property("life",0,i)
  175. tpt.set_property("tmp",0,i)
  176. elseif elemtype23 ~= 0 and elemtype23 ~= elements.ELEMENT_PT_BMBR and elemtype23 ~= tpt.el.bray.id and elemtype23 ~= tpt.el.dmnd.id and elemtype23 ~= tpt.el.void.id then
  177. tpt.set_property("type","bomb",i)
  178. tpt.set_property("life",0,i)
  179. tpt.set_property("tmp",0,i)
  180. elseif elemtype22 ~= 0 and elemtype22 ~= elements.ELEMENT_PT_BMBR and elemtype22 ~= tpt.el.bray.id and elemtype22 ~= tpt.el.dmnd.id and elemtype22 ~= tpt.el.void.id then
  181. tpt.set_property("type","bomb",i)
  182. tpt.set_property("life",0,i)
  183. tpt.set_property("tmp",0,i)
  184. elseif elemtype21 ~= 0 and elemtype21 ~= elements.ELEMENT_PT_BMBR and elemtype21 ~= tpt.el.bray.id and elemtype21 ~= tpt.el.dmnd.id and elemtype21 ~= tpt.el.void.id then
  185. tpt.set_property("type","bomb",i)
  186. tpt.set_property("life",0,i)
  187. tpt.set_property("tmp",0,i)
  188. end
  189. end
  190.  
  191. tpt.element_func(BMBR_update, elements.ELEMENT_PT_BMBR,1)
  192.  
  193. --BMBL Element {Amy}
  194.  
  195. local BMBL = elements.allocate("ELEMENT", "BMBL")
  196. elements.element(elements.ELEMENT_PT_BMBL, elements.element(elements.DEFAULT_PT_ELEC))
  197. elements.property(elements.ELEMENT_PT_BMBL, "Name", "BMBL")
  198. elements.property(elements.ELEMENT_PT_BMBL, "Description", "Left Shooting Bomb.")
  199. elements.property(elements.ELEMENT_PT_BMBL, "Colour", 0xFF20878E)
  200. elements.property(elements.ELEMENT_PT_BMBL, "MenuSection", elem.SC_EXPLOSIVE)
  201. elements.property(elements.ELEMENT_PT_BMBL, "MenuVisible", 1)
  202. elements.property(elements.ELEMENT_PT_BMBL, "Weight", 100)
  203. elements.property(elements.ELEMENT_PT_BMBL, "Temperature", 9999)
  204. local function graphics1(i, colr, colg, colb)
  205. return 1,0x00010000,255,225,0,210,255,255,255,255
  206. end
  207. tpt.graphics_func(graphics1,BMBL)
  208.  
  209. local function get_property(prop, x, y)
  210. if x >= 0 and x < sim.XRES and y >=0 and y < sim.YRES then
  211. return tpt.get_property(prop, x, y)
  212. end
  213. return 0
  214. end
  215.  
  216. math.randomseed(os.time())
  217. function BMBL_update(i, x, y, s, n)
  218. if tpt.get_property("tmp",i)==0 then
  219. tpt.parts[i].tmp=1
  220. --randvel=math.random(-20,20)/10
  221. tpt.parts[i].vx=-3
  222. tpt.parts[i].vy=0
  223. end
  224.  
  225. xvel=-3
  226. yvel=0
  227. if math.abs(xvel) < 1 then
  228. tpt.delete(i)
  229. end
  230.  
  231. xpos=x-xvel
  232. ypos=y-yvel
  233. elemtype=get_property("type",xpos,ypos)
  234.  
  235. if elemtype == 0 then
  236. tpt.create(xpos,ypos,"bray")
  237. tpt.set_property("temp",5000,xpos,ypos)
  238. end
  239. tpt.parts[i].temp=9999
  240.  
  241. elemtype25=get_property("type",x+xvel*5,y+yvel*5)
  242. elemtype24=get_property("type",x+xvel*4,y+yvel*4)
  243. elemtype23=get_property("type",x+xvel*3,y+yvel*3)
  244. elemtype22=get_property("type",x+xvel*2,y+yvel*2)
  245. elemtype21=get_property("type",x+xvel,y+yvel)
  246. if elemtype25 ~= 0 and elemtype25 ~= elements.ELEMENT_PT_BMBL and elemtype25 ~= tpt.el.bray.id and elemtype25 ~= tpt.el.dmnd.id and elemtype25 ~= tpt.el.void.id then
  247. tpt.set_property("type","bomb",i)
  248. tpt.set_property("life",0,i)
  249. tpt.set_property("tmp",0,i)
  250. elseif elemtype24 ~= 0 and elemtype24 ~= elements.ELEMENT_PT_BMBL and elemtype24 ~= tpt.el.bray.id and elemtype24 ~= tpt.el.dmnd.id and elemtype24 ~= tpt.el.void.id then
  251. tpt.set_property("type","bomb",i)
  252. tpt.set_property("life",0,i)
  253. tpt.set_property("tmp",0,i)
  254. elseif elemtype23 ~= 0 and elemtype23 ~= elements.ELEMENT_PT_BMBL and elemtype23 ~= tpt.el.bray.id and elemtype23 ~= tpt.el.dmnd.id and elemtype23 ~= tpt.el.void.id then
  255. tpt.set_property("type","bomb",i)
  256. tpt.set_property("life",0,i)
  257. tpt.set_property("tmp",0,i)
  258. elseif elemtype22 ~= 0 and elemtype22 ~= elements.ELEMENT_PT_BMBL and elemtype22 ~= tpt.el.bray.id and elemtype22 ~= tpt.el.dmnd.id and elemtype22 ~= tpt.el.void.id then
  259. tpt.set_property("type","bomb",i)
  260. tpt.set_property("life",0,i)
  261. tpt.set_property("tmp",0,i)
  262. elseif elemtype21 ~= 0 and elemtype21 ~= elements.ELEMENT_PT_BMBL and elemtype21 ~= tpt.el.bray.id and elemtype21 ~= tpt.el.dmnd.id and elemtype21 ~= tpt.el.void.id then
  263. tpt.set_property("type","bomb",i)
  264. tpt.set_property("life",0,i)
  265. tpt.set_property("tmp",0,i)
  266. end
  267. end
  268.  
  269. tpt.element_func(BMBL_update, elements.ELEMENT_PT_BMBL,1)
  270.  
  271. --MRTR {Amy}
  272.  
  273. local MRTR = elements.allocate("ELEMENT", "MRTR")
  274. elements.element(elements.ELEMENT_PT_MRTR, elements.element(elements.DEFAULT_PT_ELEC))
  275. elements.property(elements.ELEMENT_PT_MRTR, "Name", "MRTR")
  276. elements.property(elements.ELEMENT_PT_MRTR, "Description", "Mortar Right.")
  277. elements.property(elements.ELEMENT_PT_MRTR, "Colour", 0xFF2E01E3)
  278. elements.property(elements.ELEMENT_PT_MRTR, "MenuSection", elem.SC_EXPLOSIVE)
  279. elements.property(elements.ELEMENT_PT_MRTR, "MenuVisible", 1)
  280. elements.property(elements.ELEMENT_PT_MRTR, "Weight", 100)
  281. elements.property(elements.ELEMENT_PT_MRTR, "Temperature", 9999)
  282. local function graphics1(i, colr, colg, colb)
  283. return 1,0x00010000,255,225,0,210,255,255,255,255
  284. end
  285. tpt.graphics_func(graphics1,MRTR)
  286.  
  287. local function get_property(prop, x, y)
  288. if x >= 0 and x < sim.XRES and y >=0 and y < sim.YRES then
  289. return tpt.get_property(prop, x, y)
  290. end
  291. return 0
  292. end
  293.  
  294. math.randomseed(os.time())
  295. function MRTR_update(i, x, y, s, n)
  296. if tpt.get_property("tmp",i)==0 then
  297. tpt.parts[i].tmp=1
  298. --randvel=math.random(-20,20)/10
  299. tpt.parts[i].vx=3
  300. tpt.parts[i].vy=3
  301. end
  302.  
  303. xvel=3
  304. yvel=3
  305. if math.abs(xvel) < 1 then
  306. tpt.delete(i)
  307. end
  308.  
  309. xpos=x-xvel
  310. ypos=y-yvel
  311. elemtype=get_property("type",xpos,ypos)
  312.  
  313. if elemtype == 0 then
  314. tpt.create(xpos,ypos,"bray")
  315. tpt.set_property("temp",5000,xpos,ypos)
  316. end
  317. tpt.parts[i].temp=9999
  318.  
  319. elemtype25=get_property("type",x+xvel*5,y+yvel*5)
  320. elemtype24=get_property("type",x+xvel*4,y+yvel*4)
  321. elemtype23=get_property("type",x+xvel*3,y+yvel*3)
  322. elemtype22=get_property("type",x+xvel*2,y+yvel*2)
  323. elemtype21=get_property("type",x+xvel,y+yvel)
  324. if elemtype25 ~= 0 and elemtype25 ~= elements.ELEMENT_PT_MRTR and elemtype25 ~= tpt.el.bray.id and elemtype25 ~= tpt.el.dmnd.id and elemtype25 ~= tpt.el.void.id then
  325. tpt.set_property("type","bomb",i)
  326. tpt.set_property("life",0,i)
  327. tpt.set_property("tmp",0,i)
  328. elseif elemtype24 ~= 0 and elemtype24 ~= elements.ELEMENT_PT_MRTR and elemtype24 ~= tpt.el.bray.id and elemtype24 ~= tpt.el.dmnd.id and elemtype24 ~= tpt.el.void.id then
  329. tpt.set_property("type","bomb",i)
  330. tpt.set_property("life",0,i)
  331. tpt.set_property("tmp",0,i)
  332. elseif elemtype23 ~= 0 and elemtype23 ~= elements.ELEMENT_PT_MRTR and elemtype23 ~= tpt.el.bray.id and elemtype23 ~= tpt.el.dmnd.id and elemtype23 ~= tpt.el.void.id then
  333. tpt.set_property("type","bomb",i)
  334. tpt.set_property("life",0,i)
  335. tpt.set_property("tmp",0,i)
  336. elseif elemtype22 ~= 0 and elemtype22 ~= elements.ELEMENT_PT_MRTR and elemtype22 ~= tpt.el.bray.id and elemtype22 ~= tpt.el.dmnd.id and elemtype22 ~= tpt.el.void.id then
  337. tpt.set_property("type","bomb",i)
  338. tpt.set_property("life",0,i)
  339. tpt.set_property("tmp",0,i)
  340. elseif elemtype21 ~= 0 and elemtype21 ~= elements.ELEMENT_PT_MRTR and elemtype21 ~= tpt.el.bray.id and elemtype21 ~= tpt.el.dmnd.id and elemtype21 ~= tpt.el.void.id then
  341. tpt.set_property("type","bomb",i)
  342. tpt.set_property("life",0,i)
  343. tpt.set_property("tmp",0,i)
  344. end
  345. end
  346.  
  347. tpt.element_func(MRTR_update, elements.ELEMENT_PT_MRTR,1)
  348.  
  349. --MRTL {Amy}
  350.  
  351. local MRTL = elements.allocate("ELEMENT", "MRTL")
  352. elements.element(elements.ELEMENT_PT_MRTL, elements.element(elements.DEFAULT_PT_ELEC))
  353. elements.property(elements.ELEMENT_PT_MRTL, "Name", "MRTL")
  354. elements.property(elements.ELEMENT_PT_MRTL, "Description", "Motar Left.")
  355. elements.property(elements.ELEMENT_PT_MRTL, "Colour", 0xFF5068E4)
  356. elements.property(elements.ELEMENT_PT_MRTL, "MenuSection", elem.SC_EXPLOSIVE)
  357. elements.property(elements.ELEMENT_PT_MRTL, "MenuVisible", 1)
  358. elements.property(elements.ELEMENT_PT_MRTL, "Weight", 100)
  359. elements.property(elements.ELEMENT_PT_MRTL, "Temperature", 9999)
  360. local function graphics1(i, colr, colg, colb)
  361. return 1,0x00010000,255,225,0,210,255,255,255,255
  362. end
  363. tpt.graphics_func(graphics1,MRTL)
  364.  
  365. local function get_property(prop, x, y)
  366. if x >= 0 and x < sim.XRES and y >=0 and y < sim.YRES then
  367. return tpt.get_property(prop, x, y)
  368. end
  369. return 0
  370. end
  371.  
  372. math.randomseed(os.time())
  373. function MRTL_update(i, x, y, s, n)
  374. if tpt.get_property("tmp",i)==0 then
  375. tpt.parts[i].tmp=1
  376. --randvel=math.random(-20,20)/10
  377. tpt.parts[i].vx=-3
  378. tpt.parts[i].vy=3
  379. end
  380.  
  381. xvel=-3
  382. yvel=3
  383. if math.abs(xvel) < 1 then
  384. tpt.delete(i)
  385. end
  386.  
  387. xpos=x-xvel
  388. ypos=y-yvel
  389. elemtype=get_property("type",xpos,ypos)
  390.  
  391. if elemtype == 0 then
  392. tpt.create(xpos,ypos,"bray")
  393. tpt.set_property("temp",5000,xpos,ypos)
  394. end
  395. tpt.parts[i].temp=9999
  396.  
  397. elemtype25=get_property("type",x+xvel*5,y+yvel*5)
  398. elemtype24=get_property("type",x+xvel*4,y+yvel*4)
  399. elemtype23=get_property("type",x+xvel*3,y+yvel*3)
  400. elemtype22=get_property("type",x+xvel*2,y+yvel*2)
  401. elemtype21=get_property("type",x+xvel,y+yvel)
  402. if elemtype25 ~= 0 and elemtype25 ~= elements.ELEMENT_PT_MRTL and elemtype25 ~= tpt.el.bray.id and elemtype25 ~= tpt.el.dmnd.id and elemtype25 ~= tpt.el.void.id then
  403. tpt.set_property("type","bomb",i)
  404. tpt.set_property("life",0,i)
  405. tpt.set_property("tmp",0,i)
  406. elseif elemtype24 ~= 0 and elemtype24 ~= elements.ELEMENT_PT_MRTL and elemtype24 ~= tpt.el.bray.id and elemtype24 ~= tpt.el.dmnd.id and elemtype24 ~= tpt.el.void.id then
  407. tpt.set_property("type","bomb",i)
  408. tpt.set_property("life",0,i)
  409. tpt.set_property("tmp",0,i)
  410. elseif elemtype23 ~= 0 and elemtype23 ~= elements.ELEMENT_PT_MRTL and elemtype23 ~= tpt.el.bray.id and elemtype23 ~= tpt.el.dmnd.id and elemtype23 ~= tpt.el.void.id then
  411. tpt.set_property("type","bomb",i)
  412. tpt.set_property("life",0,i)
  413. tpt.set_property("tmp",0,i)
  414. elseif elemtype22 ~= 0 and elemtype22 ~= elements.ELEMENT_PT_MRTL and elemtype22 ~= tpt.el.bray.id and elemtype22 ~= tpt.el.dmnd.id and elemtype22 ~= tpt.el.void.id then
  415. tpt.set_property("type","bomb",i)
  416. tpt.set_property("life",0,i)
  417. tpt.set_property("tmp",0,i)
  418. elseif elemtype21 ~= 0 and elemtype21 ~= elements.ELEMENT_PT_MRTL and elemtype21 ~= tpt.el.bray.id and elemtype21 ~= tpt.el.dmnd.id and elemtype21 ~= tpt.el.void.id then
  419. tpt.set_property("type","bomb",i)
  420. tpt.set_property("life",0,i)
  421. tpt.set_property("tmp",0,i)
  422. end
  423. end
  424.  
  425. tpt.element_func(MRTL_update, elements.ELEMENT_PT_MRTL,1)
  426.  
  427. --PLSM Copy For Explosives {Amy}
  428.  
  429. local amy1 = elements.allocate("AMY", "IGNT")
  430. elements.element(elements.AMY_PT_IGNT, elements.element(elements.DEFAULT_PT_GAS))
  431. elements.property(elements.AMY_PT_IGNT, "Name", "IGNT")
  432. elements.property(elements.AMY_PT_IGNT, "Description", "Igniter. Use to ignite explosives, hotter than fire.")
  433. elements.property(elements.AMY_PT_IGNT, "Colour", 0xFFE52961)
  434. elements.property(elements.AMY_PT_IGNT, "MenuSection", 5)
  435. elements.property(elements.AMY_PT_IGNT, "MenuVisible", 1)
  436. elements.property(elements.AMY_PT_IGNT, "Temperature", 5000)
  437. elements.property(elements.AMY_PT_IGNT, "Weight", 0)
  438. elements.property(elements.AMY_PT_IGNT, "Flammable", 1)
  439. elements.property(elements.AMY_PT_IGNT, "Explosive", 0)
  440.  
  441. --Strong Metal {Amy}
  442.  
  443. local SNGM = elements.allocate("AMY", "SNGM")
  444. elements.element(elements.AMY_PT_SNGM, elements.element(elements.DEFAULT_PT_TTAN))
  445. elements.property(elements.AMY_PT_SNGM, "Name", "SNGM")
  446. elements.property(elements.AMY_PT_SNGM, "Description", "Extremely Strong Metal. Resists heat transfer.")
  447. elements.property(elements.AMY_PT_SNGM, "Colour", 0x474747)
  448. elements.property(elements.AMY_PT_SNGM, "MenuSection", elem.SC_SOLID)
  449. elements.property(elements.AMY_PT_SNGM, "MenuVisible", 1)
  450. elements.property(elements.AMY_PT_SNGM, "Weight", 1000)
  451. elements.property(elements.AMY_PT_SNGM, "Temperature", 293)
  452. elements.property(elements.AMY_PT_SNGM, "HeatConduct", 1)
  453. elements.property(elements.AMY_PT_SNGM, "HighTemperature", 7000)
  454.  
  455. --Strong Brick [Non Conductive] {Amy}
  456.  
  457. local SNGB = elements.allocate("AMY", "SNGB")
  458. elements.element(elements.AMY_PT_SNGB, elements.element(elements.DEFAULT_PT_BRCK))
  459. elements.property(elements.AMY_PT_SNGB, "Name", "SNGB")
  460. elements.property(elements.AMY_PT_SNGB, "Description", "Extremely Strong Brick. Resists heat transfer.")
  461. elements.property(elements.AMY_PT_SNGB, "Colour", 0x989898)
  462. elements.property(elements.AMY_PT_SNGB, "MenuSection", elem.SC_SOLID)
  463. elements.property(elements.AMY_PT_SNGB, "MenuVisible", 1)
  464. elements.property(elements.AMY_PT_SNGB, "Weight", 1000)
  465. elements.property(elements.AMY_PT_SNGB, "Temperature", 293)
  466. elements.property(elements.AMY_PT_SNGB, "HeatConduct", 1)
  467. elements.property(elements.AMY_PT_SNGB, "HighTemperature", 7000)
  468. elements.property(elements.AMY_PT_SNGB, "HighPressure", 37)
  469.  
  470. --Strong Glass [No Shatter] {Amy}
  471.  
  472. local SNGL = elements.allocate("AMY", "SNGL")
  473. elements.element(elements.AMY_PT_SNGL, elements.element(elements.DEFAULT_PT_GLAS))
  474. elements.property(elements.AMY_PT_SNGL, "Name", "SNGL")
  475. elements.property(elements.AMY_PT_SNGL, "Description", "Extremely Strong Glass. Hard to shatter.")
  476. elements.property(elements.AMY_PT_SNGL, "Colour", 0x007475)
  477. elements.property(elements.AMY_PT_SNGL, "MenuSection", elem.SC_SOLID)
  478. elements.property(elements.AMY_PT_SNGL, "MenuVisible", 1)
  479. elements.property(elements.AMY_PT_SNGL, "Weight", 750)
  480. elements.property(elements.AMY_PT_SNGL, "Temperature", 293)
  481. elements.property(elements.AMY_PT_SNGL, "HeatConduct", 3)
  482. elements.property(elements.AMY_PT_SNGL, "HighTemperature", 6750)
  483. elements.property(elements.AMY_PT_SNGL, "HighPressure", 37)
  484. elements.property(elements.AMY_PT_SNGL, "HighPressureTransition", elem.DEFAULT_PT_BGLA)
  485.  
  486. --Copper {Amy}
  487.  
  488. local COPR = elements.allocate("AMY", "COPR")
  489. elements.element(elements.AMY_PT_COPR, elements.element(elements.DEFAULT_PT_GOLD))
  490. elements.property(elements.AMY_PT_COPR, "Name", "COPR")
  491. elements.property(elements.AMY_PT_COPR, "Description", "Copper. Very conductive, with a low melting point.")
  492. elements.property(elements.AMY_PT_COPR, "Colour", 0xB36500)
  493. elements.property(elements.AMY_PT_COPR, "MenuSection", elem.SC_ELEC)
  494. elements.property(elements.AMY_PT_COPR, "MenuVisible", 1)
  495. elements.property(elements.AMY_PT_COPR, "Temperature", 293)
  496. elements.property(elements.AMY_PT_COPR, "HeatConduct", 100)
  497. elements.property(elements.AMY_PT_COPR, "HighTemperature", 1500)
  498.  
  499. --local sp = false; for i in sim.neighbours(x, y, 4, 4) do if el.property(i, "COPR") == "SPRK" then sp = true; break; end if sp then break; end end
  500.  
  501. --just use tpt.get_property or sim.partProperty to get the type of the element at the locations, and then to change type to spark you do tpt.set_property or sim.partProperty to set the type to spark, again to set life to 4, and again to set ctype to the element
  502.  
  503. --Liquid Hydrogen {Extensively Edited by Amy}
  504.  
  505. local LHYG = elements.allocate('AMY', 'LHYG')
  506. elements.element(LHYG, elements.element(elements.DEFAULT_PT_GLOW))
  507. elements.property(elements.AMY_PT_LHYG, "Name", "LHYG")
  508. elements.property(elements.AMY_PT_LHYG, "Description", "Liquid Hydrogen.")
  509. elements.property(elements.AMY_PT_LHYG, "Color", 0x99FFFF)
  510. elements.property(elements.AMY_PT_LHYG, "MenuSection", elem.SC_LIQUID)
  511. elements.property(elements.AMY_PT_LHYG, "Gravity", 0.4)
  512. elements.property(elements.AMY_PT_LHYG, "Falldown", 2)
  513. elements.property(elements.AMY_PT_LHYG, "Flammable", 16384)
  514. elements.property(elements.AMY_PT_LHYG, "Explosive", 1)
  515. elements.property(elements.AMY_PT_LHYG, "Temperature", 0)
  516. elements.property(elements.AMY_PT_LHYG, "HighTemperature", 60)
  517. elements.property(elements.AMY_PT_LHYG, "HighTemperatureTransition", elem.DEFAULT_PT_HYGN)
  518. local function Lflare(i, colr, colg, colb)
  519. return 1, 0x00000004, 255, 153, 255, 255, 255, 153, 255, 255
  520. end
  521. tpt.graphics_func(Lflare, elements.AMY_PT_LHYG)
  522.  
  523. --Change HYGN so it changes states with LHYG
  524.  
  525. elements.property(elements.DEFAULT_PT_HYGN, "LowTemperature", 60)
  526. elements.property(elements.DEFAULT_PT_HYGN, "LowTemperatureTransition", elements.AMY_PT_LHYG)
  527.  
  528. --BPDR Element
  529.  
  530. local element1 = elements.allocate("FEYNMAN", "BPDR")
  531. elements.element(elements.FEYNMAN_PT_BPDR, elements.element(elements.DEFAULT_PT_BCOL))
  532. elements.property(elements.FEYNMAN_PT_BPDR, "Name", "BPDR")
  533. elements.property(elements.FEYNMAN_PT_BPDR, "Description", "Black Powder, Very explosive.")
  534. elements.property(elements.FEYNMAN_PT_BPDR, "Colour", 0x353535)
  535. elements.property(elements.FEYNMAN_PT_BPDR, "MenuSection", 5)
  536. elements.property(elements.FEYNMAN_PT_BPDR, "Gravity", .5)
  537. elements.property(elements.FEYNMAN_PT_BPDR, "Flammable", 10000)
  538. elements.property(elements.FEYNMAN_PT_BPDR, "Explosive", 1)
  539. elements.property(elements.FEYNMAN_PT_BPDR, "Loss", 1)
  540. elements.property(elements.FEYNMAN_PT_BPDR, "AirLoss", .5)
  541. elements.property(elements.FEYNMAN_PT_BPDR, "AirDrag", .01)
  542. elements.property(elements.FEYNMAN_PT_BPDR, "Advection", .01)
  543. elements.property(elements.FEYNMAN_PT_BPDR, "Weight", 0)
  544. elements.property(elements.FEYNMAN_PT_BPDR, "Diffusion", 0)
  545.  
  546. --Clouds Mod
  547.  
  548. local a = elements.allocate("MOD", "UCLD")
  549. elements.element(elements.MOD_PT_UCLD, elements.element(elements.DEFAULT_PT_HYGN))
  550. elements.property(elements.MOD_PT_UCLD, "Name", "UCLD")
  551. elements.property(elements.MOD_PT_UCLD, "Description", "Uranium Cloud. First type of radioactive cloud.")
  552. elements.property(elements.MOD_PT_UCLD, "Colour", 0xAAAAFF)
  553. elements.property(elements.MOD_PT_UCLD, "MenuSection", 10)
  554. elements.property(elements.MOD_PT_UCLD, "Gravity", 0)
  555. elements.property(elements.MOD_PT_UCLD, "Explosive", 0)
  556. elements.property(elements.MOD_PT_UCLD, "Weight", 0)
  557. elements.property(elements.MOD_PT_UCLD, "Diffusion", 1)
  558. elements.property(elements.MOD_PT_UCLD, "Hardness", 0)
  559. elements.property(elements.MOD_PT_UCLD, "Flammable", 0)
  560. elements.property(elements.MOD_PT_UCLD, "AirDrag", 0.01)
  561. function rain(i,x,y,s,n)
  562. if math.random(1,500) < 5 then
  563. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'uran')
  564. end
  565. if math.random(1,500) == 20 then
  566. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'boyl')
  567. end
  568. end
  569. tpt.element_func(rain,a)
  570.  
  571. local b = elements.allocate("MOD2", "RACD")
  572. elements.element(elements.MOD2_PT_RACD, elements.element(elements.DEFAULT_PT_HYGN))
  573. elements.property(elements.MOD2_PT_RACD, "Name", "RACD")
  574. elements.property(elements.MOD2_PT_RACD, "Description", "Rain Cloud.")
  575. elements.property(elements.MOD2_PT_RACD, "Colour", 0xA9ACB6)
  576. elements.property(elements.MOD2_PT_RACD, "MenuSection", 6)
  577. elements.property(elements.MOD2_PT_RACD, "Gravity", 0)
  578. elements.property(elements.MOD2_PT_RACD, "Explosive", 0)
  579. elements.property(elements.MOD2_PT_RACD, "Weight", 0)
  580. elements.property(elements.MOD2_PT_RACD, "Diffusion", 1)
  581. elements.property(elements.MOD2_PT_RACD, "Hardness", 0)
  582. elements.property(elements.MOD2_PT_RACD, "Flammable", 0)
  583. elements.property(elements.MOD2_PT_RACD, "AirDrag", 0.01)
  584. elements.property(elements.MOD2_PT_RACD, "LowTemperature", 273.15)
  585. elements.property(elements.MOD2_PT_RACD, "LowTemperatureTransition", "MOD_PT_SCLD")
  586. elements.property(elements.MOD2_PT_RACD, "Temperature", 295.15)
  587.  
  588. function rain(i,x,y,s,n)
  589. if math.random(1,500) == 20 then
  590. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'watr')
  591.  
  592. end
  593. end
  594. tpt.element_func(rain,b)
  595.  
  596. local c = elements.allocate("MOD3", "SCLD")
  597. elements.element(elements.MOD3_PT_SCLD, elements.element(elements.DEFAULT_PT_HYGN))
  598. elements.property(elements.MOD3_PT_SCLD, "Name", "SCLD")
  599. elements.property(elements.MOD3_PT_SCLD, "Description", "Snow Cloud.")
  600. elements.property(elements.MOD3_PT_SCLD, "Colour", 0x8F8FBC)
  601. elements.property(elements.MOD3_PT_SCLD, "MenuSection", 6)
  602. elements.property(elements.MOD3_PT_SCLD, "Gravity", 0)
  603. elements.property(elements.MOD3_PT_SCLD, "Explosive", 0)
  604. elements.property(elements.MOD3_PT_SCLD, "Weight", 0)
  605. elements.property(elements.MOD3_PT_SCLD, "Diffusion", 1)
  606. elements.property(elements.MOD3_PT_SCLD, "Hardness", 0)
  607. elements.property(elements.MOD3_PT_SCLD, "Flammable", 0)
  608. elements.property(elements.MOD3_PT_SCLD, "AirDrag", 0.01)
  609. elements.property(elements.MOD3_PT_SCLD, "HighTemperature", 273.15)
  610. elements.property(elements.MOD3_PT_SCLD, "HighTemperatureTransition", "MOD_PT_RACD")
  611. elements.property(elements.MOD3_PT_SCLD, "Temperature", 263.15 )
  612. elements.property(elements.MOD3_PT_SCLD, "LowTemperature", 245.15)
  613. elements.property(elements.MOD3_PT_SCLD, "LowTemperatureTransition", "MOD_PT_ICE")
  614.  
  615. function rain(i,x,y,s,n)
  616. if math.random(1,500) == 20 then
  617. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'snow')
  618. end
  619. end
  620. tpt.element_func(rain,c)
  621.  
  622. local d = elements.allocate("MOD4", "DRCD")
  623. elements.element(elements.MOD4_PT_DRCD, elements.element(elements.DEFAULT_PT_HYGN))
  624. elements.property(elements.MOD4_PT_DRCD, "Name", "DRCD")
  625. elements.property(elements.MOD4_PT_DRCD, "Description", "Distilled Rain Cloud.")
  626. elements.property(elements.MOD4_PT_DRCD, "Colour", 0x506987)
  627. elements.property(elements.MOD4_PT_DRCD, "MenuSection", 6)
  628. elements.property(elements.MOD4_PT_DRCD, "Gravity", 0)
  629. elements.property(elements.MOD4_PT_DRCD, "Explosive", 0)
  630. elements.property(elements.MOD4_PT_DRCD, "Weight", 0)
  631. elements.property(elements.MOD4_PT_DRCD, "Diffusion", 1)
  632. elements.property(elements.MOD4_PT_DRCD, "Hardness", 0)
  633. elements.property(elements.MOD4_PT_DRCD, "Flammable", 0)
  634. elements.property(elements.MOD4_PT_DRCD, "AirDrag", 0.01)
  635. elements.property(elements.MOD4_PT_DRCD, "LowTemperature", 273.15)
  636. elements.property(elements.MOD4_PT_DRCD, "LowTemperatureTransition", "MOD_PT_SCLD")
  637. elements.property(elements.MOD4_PT_DRCD, "Temperature", 295.15)
  638.  
  639. function rain(i,x,y,s,n)
  640. if math.random(1,500) == 20 then
  641. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'dstw')
  642. end
  643. end
  644. tpt.element_func(rain,d)
  645.  
  646. local e = elements.allocate("MOD5", "SRCD")
  647. elements.element(elements.MOD5_PT_SRCD, elements.element(elements.DEFAULT_PT_HYGN))
  648. elements.property(elements.MOD5_PT_SRCD, "Name", "SRCD")
  649. elements.property(elements.MOD5_PT_SRCD, "Description", "Saltwater Rain Cloud.")
  650. elements.property(elements.MOD5_PT_SRCD, "Colour", 0x380474)
  651. elements.property(elements.MOD5_PT_SRCD, "MenuSection", 6)
  652. elements.property(elements.MOD5_PT_SRCD, "MenuVisible", 0)
  653. elements.property(elements.MOD5_PT_SRCD, "Gravity", 0)
  654. elements.property(elements.MOD5_PT_SRCD, "Explosive", 0)
  655. elements.property(elements.MOD5_PT_SRCD, "Weight", 0)
  656. elements.property(elements.MOD5_PT_SRCD, "Diffusion", 1)
  657. elements.property(elements.MOD5_PT_SRCD, "Hardness", 0)
  658. elements.property(elements.MOD5_PT_SRCD, "Flammable", 0)
  659. elements.property(elements.MOD5_PT_SRCD, "AirDrag", 0.01)
  660. elements.property(elements.MOD5_PT_SRCD, "LowTemperature", 273.15)
  661. elements.property(elements.MOD5_PT_SRCD, "LowTemperatureTransition", "MOD_PT_SCLD")
  662. elements.property(elements.MOD5_PT_SRCD, "Temperature", 295.15)
  663.  
  664. function rain(i,x,y,s,n)
  665. if math.random(1,500) == 20 then
  666. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'sltw')
  667. end
  668. end
  669. tpt.element_func(rain,e)
  670.  
  671. local f = elements.allocate("MOD6", "TSCD")
  672. elements.element(elements.MOD6_PT_TSCD, elements.element(elements.DEFAULT_PT_HYGN))
  673. elements.property(elements.MOD6_PT_TSCD, "Name", "TSCD")
  674. elements.property(elements.MOD6_PT_TSCD, "Description", "Thunderstorm Cloud.")
  675. elements.property(elements.MOD6_PT_TSCD, "Colour", 0x302B54)
  676. elements.property(elements.MOD6_PT_TSCD, "MenuSection", 6)
  677. elements.property(elements.MOD6_PT_TSCD, "MenuVisible", 0)
  678. elements.property(elements.MOD6_PT_TSCD, "Gravity", 0)
  679. elements.property(elements.MOD6_PT_TSCD, "Explosive", 0)
  680. elements.property(elements.MOD6_PT_TSCD, "Weight", 0)
  681. elements.property(elements.MOD6_PT_TSCD, "Diffusion", 1)
  682. elements.property(elements.MOD6_PT_TSCD, "Hardness", 0)
  683. elements.property(elements.MOD6_PT_TSCD, "Flammable", 0)
  684. elements.property(elements.MOD6_PT_TSCD, "AirDrag", 0.01)
  685. elements.property(elements.MOD6_PT_TSCD, "LowTemperature", 273.15)
  686. elements.property(elements.MOD6_PT_TSCD, "LowTemperatureTransition", "MOD_PT_SCLD")
  687. elements.property(elements.MOD6_PT_TSCD, "Temperature", 303.15)
  688.  
  689. function rain(i,x,y,s,n)
  690. if math.random(1,500) == 20 then
  691. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'ligh')
  692. end
  693. end
  694. tpt.element_func(rain,f)
  695.  
  696. --Explosives
  697.  
  698. --The Highly Explosive mod for Powder Toy
  699.  
  700. local function explosion(x, y, s)
  701. for px = -1, 1 do
  702. for py = -1, 1 do
  703. tpt.create(x + px, y - py, "PLSM")
  704. local pressure = sim.pressure((x + px) / 4.0, (y + py) / 4.0)
  705. sim.pressure((x + px) / 4.0, (y + py) / 4.0, pressure + s * 10)
  706. sim.velocityX((x + px) / 4.0, y / 4.0, px * s)
  707. sim.velocityY((x + px) / 4.0, (y - py) / 4.0, -py * s)
  708.  
  709. end
  710. end
  711. end
  712.  
  713. local WBOMB = elements.allocate("MEXPL", "HELD")
  714. elements.element(elements.MEXPL_PT_HELD, elements.element(elements.DEFAULT_PT_GLOW))
  715. elements.property(elements.MEXPL_PT_HELD, "Color", "0xFFFEAF27")
  716. elements.property(elements.MEXPL_PT_HELD, "Name", "HELD")
  717. elements.property(elements.MEXPL_PT_HELD, "Description", "Highly Explosive Liquid.")
  718. elements.property(elements.MEXPL_PT_HELD, "MenuVisible", 1)
  719. elements.property(elements.MEXPL_PT_HELD, "MenuSection", 5)
  720. elements.property(elements.MEXPL_PT_HELD, "Advection", 0.1)
  721. elements.property(elements.MEXPL_PT_HELD, "AirDrag", 0.1)
  722. elements.property(elements.MEXPL_PT_HELD, "AirLoss", 0.9)
  723. elements.property(elements.MEXPL_PT_HELD, "Loss", 0.9)
  724. elements.property(elements.MEXPL_PT_HELD, "Falldown", 2)
  725. elements.property(elements.MEXPL_PT_HELD, "Hardness", 0.8)
  726. elements.property(elements.MEXPL_PT_HELD, "Weight", 12)
  727. elements.property(elements.MEXPL_PT_HELD, "Temperature", 340)
  728. elements.property(elements.MEXPL_PT_HELD, "HeatConduct", 100)
  729. elements.property(elements.MEXPL_PT_HELD, "State", 2)
  730. elements.property(elements.MEXPL_PT_HELD, "Properties", 2)
  731. elements.property(elements.MEXPL_PT_HELD, "Explosive", 1)
  732.  
  733. local function HELD_update(i, x, y, s, n)
  734. local r = 1
  735. if sim.pressure(x / 4.0, y / 4.0) >= 7.5 then
  736.  
  737. explosion(x, y, 1)
  738. tpt.delete(i)
  739. elseif tpt.get_property("temp", i) >= 450 then
  740. explosion(x, y, 1)
  741. tpt.delete(i)
  742. end
  743. end
  744.  
  745. tpt.element_func(HELD_update, elements.MEXPL_PT_HELD)
  746.  
  747. local SBOMB = elements.allocate("MEXPL", "HESD")
  748. elements.element(elements.MEXPL_PT_HESD, elements.element(elements.DEFAULT_PT_BANG))
  749. elements.property(elements.MEXPL_PT_HESD, "Color", "0xFFFF5000")
  750. elements.property(elements.MEXPL_PT_HESD, "Name", "HESD")
  751. elements.property(elements.MEXPL_PT_HESD, "Description", "Highly Explosive Solid.")
  752. elements.property(elements.MEXPL_PT_HESD, "MenuVisible", 1)
  753. elements.property(elements.MEXPL_PT_HESD, "MenuSection", 5)
  754. elements.property(elements.MEXPL_PT_HESD, "Hardness", 0.8)
  755. elements.property(elements.MEXPL_PT_HESD, "Temperature", 293)
  756. elements.property(elements.MEXPL_PT_HESD, "HeatConduct", 100)
  757. elements.property(elements.MEXPL_PT_HESD, "Falldown", 0)
  758. elements.property(elements.MEXPL_PT_HESD, "State", 1)
  759. elements.property(elements.MEXPL_PT_HESD, "Properties", 4)
  760. elements.property(elements.MEXPL_PT_HESD, "Explosive", 1)
  761.  
  762. local function HESD_update(i, x, y, s, n)
  763. local r = 1
  764. if sim.pressure(x / 4.0, y / 4.0) >= 7.5 then
  765.  
  766. explosion(x, y, 1)
  767. tpt.delete(i)
  768. elseif tpt.get_property("temp", i) >= 450 then
  769. explosion(x, y, 1)
  770. tpt.delete(i)
  771. end
  772. end
  773.  
  774. tpt.element_func(HESD_update, elements.MEXPL_PT_HESD)
  775.  
  776. local GBOMB = elements.allocate("MEXPL", "HEGS")
  777. elements.element(elements.MEXPL_PT_HEGS, elements.element(elements.DEFAULT_PT_GAS))
  778. elements.property(elements.MEXPL_PT_HEGS, "Color", "0xFFEBFE5D")
  779. elements.property(elements.MEXPL_PT_HEGS, "Name", "HEGS")
  780. elements.property(elements.MEXPL_PT_HEGS, "Description", "Highly Explosive Gas.")
  781. elements.property(elements.MEXPL_PT_HEGS, "MenuVisible", 1)
  782. elements.property(elements.MEXPL_PT_HEGS, "MenuSection", 5)
  783. elements.property(elements.MEXPL_PT_HEGS, "Hardness", 0.8)
  784. elements.property(elements.MEXPL_PT_HEGS, "Temperature", 390)
  785. elements.property(elements.MEXPL_PT_HEGS, "HeatConduct", 100)
  786. elements.property(elements.MEXPL_PT_HEGS, "Falldown", 0)
  787. elements.property(elements.MEXPL_PT_HEGS, "Diffusion", 0.5)
  788. elements.property(elements.MEXPL_PT_HEGS, "State", 3)
  789. elements.property(elements.MEXPL_PT_HEGS, "Explosive", 1)
  790.  
  791. local function HEGS_update(i, x, y, s, n)
  792. local r = 1
  793. if sim.pressure(x / 4.0, y / 4.0) >= 7.5 then
  794.  
  795. explosion(x, y, 1)
  796. tpt.delete(i)
  797. elseif tpt.get_property("temp", i) >= 450 then
  798. explosion(x, y, 1)
  799. tpt.delete(i)
  800. end
  801. end
  802.  
  803. tpt.element_func(HEGS_update, elements.MEXPL_PT_HEGS)
  804.  
  805. local PBOMB = elements.allocate("MEXPL", "HEPR")
  806. elements.element(elements.MEXPL_PT_HEPR, elements.element(elements.DEFAULT_PT_DUST))
  807. elements.property(elements.MEXPL_PT_HEPR, "Color", "0xFFFFFF00")
  808. elements.property(elements.MEXPL_PT_HEPR, "Name", "HEPR")
  809. elements.property(elements.MEXPL_PT_HEPR, "Description", "Highly Explosive Powder.")
  810. elements.property(elements.MEXPL_PT_HEPR, "MenuVisible", 1)
  811. elements.property(elements.MEXPL_PT_HEPR, "MenuSection", 5)
  812. elements.property(elements.MEXPL_PT_HEPR, "Hardness", 0.8)
  813. elements.property(elements.MEXPL_PT_HEPR, "Temperature", 293)
  814. elements.property(elements.MEXPL_PT_HEPR, "HeatConduct", 100)
  815. elements.property(elements.MEXPL_PT_HEPR, "Falldown", 1)
  816. elements.property(elements.MEXPL_PT_HEPR, "Explosive", 1)
  817. elements.property(elements.MEXPL_PT_HELD, "Advection", 0.1)
  818. elements.property(elements.MEXPL_PT_HELD, "AirDrag", 0.1)
  819. elements.property(elements.MEXPL_PT_HELD, "AirLoss", 0.9)
  820. elements.property(elements.MEXPL_PT_HELD, "Loss", 0.9)
  821. elements.property(elements.MEXPL_PT_HELD, "Hardness", 0.8)
  822. elements.property(elements.MEXPL_PT_HELD, "Weight", 12)
  823. elements.property(elements.MEXPL_PT_HEPR, "State", 1)
  824. elements.property(elements.MEXPL_PT_HEPR, "Properties", 4)
  825.  
  826. local function HEPR_update(i, x, y, s, n)
  827. local r = 1
  828. if sim.pressure(x / 4.0, y / 4.0) >= 7.5 then
  829.  
  830. explosion(x, y, 1)
  831. tpt.delete(i)
  832. elseif tpt.get_property("temp", i) >= 450 then
  833. explosion(x, y, 1)
  834. tpt.delete(i)
  835. end
  836. end
  837.  
  838. tpt.element_func(HEPR_update, elements.MEXPL_PT_HEPR)
  839.  
  840. elements.property(elements.MEXPL_PT_HESD, "HighTemperature", 327)
  841. elements.property(elements.MEXPL_PT_HESD, "HighTemperatureTransition", elements.MEXPL_PT_HELD)
  842. elements.property(elements.MEXPL_PT_HESD, "HighPressure", 2)
  843. elements.property(elements.MEXPL_PT_HESD, "HighPressureTransition", elements.MEXPL_PT_HEPR)
  844. elements.property(elements.MEXPL_PT_HEPR, "HighTemperature", 326)
  845. elements.property(elements.MEXPL_PT_HEPR, "HighTemperatureTransition", elements.MEXPL_PT_HELD)
  846. elements.property(elements.MEXPL_PT_HEGS, "LowTemperature", 365)
  847. elements.property(elements.MEXPL_PT_HEGS, "LowTemperatureTransition", elements.MEXPL_PT_HELD)
  848. elements.property(elements.MEXPL_PT_HELD, "HighTemperature", 365)
  849. elements.property(elements.MEXPL_PT_HELD, "HighTemperatureTransition", elements.MEXPL_PT_HEGS)
  850. elements.property(elements.MEXPL_PT_HELD, "LowTemperature", 327)
  851. elements.property(elements.MEXPL_PT_HELD, "LowTemperatureTransition", elements.MEXPL_PT_HESD)
  852.  
  853. --"New Elements"
  854.  
  855. local function heat()
  856. tpt.set_property("temp", 9999, "HETR")
  857. tpt.set_property("temp", 0, "COLR")
  858. end
  859. tpt.register_step(heat)
  860.  
  861. elements.allocate('YOSHI', 'HETR')
  862. elements.element(elements.YOSHI_PT_HETR, elements.element(elements.DEFAULT_PT_DMND))
  863. elements.property(elements.YOSHI_PT_HETR, 'Name', 'HETR')
  864. elements.property(elements.YOSHI_PT_HETR, 'Description', 'Heats Elements.')
  865. elements.property(elements.YOSHI_PT_HETR, 'Color', '0xFF1111')
  866. elements.property(elements.YOSHI_PT_HETR, 'MenuSection', '2')
  867. elements.property(elements.YOSHI_PT_HETR, 'HeatConduct', '65535')
  868. local g = function(i, x, y, s, n)
  869. --Update Function
  870. end
  871. tpt.element_func(g, tpt.element('HETR'))
  872.  
  873. local function heat()
  874. end
  875. tpt.register_step(heat)
  876.  
  877. elements.allocate('YOSHI', 'COLR')
  878. elements.element(elements.YOSHI_PT_COLR, elements.element(elements.DEFAULT_PT_DMND))
  879. elements.property(elements.YOSHI_PT_COLR, 'Name', 'COLR')
  880. elements.property(elements.YOSHI_PT_COLR, 'Description', 'Cools Elements.')
  881. elements.property(elements.YOSHI_PT_COLR, 'Color', '0x1111FF')
  882. elements.property(elements.YOSHI_PT_COLR, 'MenuSection', '2')
  883. elements.property(elements.YOSHI_PT_COLR, 'HeatConduct', '65535')
  884. local g = function(i, x, y, s, n)
  885. --Update Function
  886. end
  887. tpt.element_func(g, tpt.element('COLR'))
  888.  
  889. elements.allocate('YOSHI', 'HCTD')
  890. elements.element(elements.YOSHI_PT_HCTD, elements.element(elements.DEFAULT_PT_DMND))
  891. elements.property(elements.YOSHI_PT_HCTD, 'Name', 'HCTD')
  892. elements.property(elements.YOSHI_PT_HCTD, 'Description', 'Heat conductor.')
  893. elements.property(elements.YOSHI_PT_HCTD, 'Color', '0x11FF11')
  894. elements.property(elements.YOSHI_PT_HCTD, 'MenuSection', '2')
  895. elements.property(elements.YOSHI_PT_HCTD, 'HeatConduct', '65535')
  896. local g = function(i, x, y, s, n)
  897. --Update Function
  898. end
  899. tpt.element_func(g, tpt.element('HCTD'))
  900.  
  901. local a = elements.allocate("YOSHI", "RCLD")
  902. elements.element(elements.YOSHI_PT_RCLD, elements.element(elements.DEFAULT_PT_HYGN))
  903. elements.property(elements.YOSHI_PT_RCLD, "Name", "RCLD")
  904. elements.property(elements.YOSHI_PT_RCLD, "Description", "Radioactive cloud, Second type.")
  905. elements.property(elements.YOSHI_PT_RCLD, "Colour", 0x11FF22)
  906. elements.property(elements.YOSHI_PT_RCLD, "MenuSection", 10)
  907. elements.property(elements.YOSHI_PT_RCLD, "Gravity", 0)
  908. elements.property(elements.YOSHI_PT_RCLD, "Explosive", 0)
  909. elements.property(elements.YOSHI_PT_RCLD, "Weight", 0)
  910. elements.property(elements.YOSHI_PT_RCLD, "Diffusion", 1)
  911. elements.property(elements.YOSHI_PT_RCLD, "Hardness", 0)
  912. elements.property(elements.YOSHI_PT_RCLD, "Flammable", 100000)
  913. elements.property(elements.YOSHI_PT_RCLD, "AirDrag", 0.01)
  914. function rain(i,x,y,s,n)
  915. if math.random(1,500) < 5 then
  916. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'plut')
  917. end
  918. if math.random(1,500) == 20 then
  919. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'uran')
  920. end
  921. if math.random(1,500) == 30 then
  922. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'isoz')
  923. end
  924. if math.random(1,500) == 40 then
  925. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'deut')
  926. end
  927. if math.random(1,500) == 50 then
  928. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'bvbr')
  929. end
  930. end
  931. tpt.element_func(rain,a)
  932.  
  933. --[[ {NOT USEFUL ATM} local a = elements.allocate("YOSHI", "SULF")
  934. elements.element(elements.YOSHI_PT_SULF, elements.element(elements.DEFAULT_PT_COAL))
  935. elements.property(elements.YOSHI_PT_SULF, "Name", "SULF")
  936. elements.property(elements.YOSHI_PT_SULF, "Description", "Basic Sulphur.")
  937. elements.property(elements.YOSHI_PT_SULF, "Colour", 0xFFFF11)
  938. elements.property(elements.YOSHI_PT_SULF, "MenuSection", 9)
  939. elements.property(elements.YOSHI_PT_SULF, "Gravity", 0)
  940. elements.property(elements.YOSHI_PT_SULF, "Explosive", 0)
  941. elements.property(elements.YOSHI_PT_SULF, "Weight", 10)
  942. elements.property(elements.YOSHI_PT_SULF, "Diffusion", 0)
  943. elements.property(elements.YOSHI_PT_SULF, "Hardness", 0)
  944. elements.property(elements.YOSHI_PT_SULF, "Flammable", 10)]]
  945.  
  946. --[[ {MAY BE USEFUL LATER?}local a = elements.allocate("YOSHI", "SACD")
  947. elements.element(elements.YOSHI_PT_SACD, elements.element(elements.DEFAULT_PT_ACID))
  948. elements.property(elements.YOSHI_PT_SACD, "Name", "SACD")
  949. elements.property(elements.YOSHI_PT_SACD, "Description", "Sulphuric acid, does nothing yet.")
  950. elements.property(elements.YOSHI_PT_SACD, "Colour", 0xEEEE11)
  951. elements.property(elements.YOSHI_PT_SACD, "MenuSection", 7)
  952. elements.property(elements.YOSHI_PT_SACD, "Gravity", 1)
  953. elements.property(elements.YOSHI_PT_SACD, "Explosive", 0)
  954. elements.property(elements.YOSHI_PT_SACD, "Weight", 10)
  955. elements.property(elements.YOSHI_PT_SACD, "Diffusion", 0.1)
  956. elements.property(elements.YOSHI_PT_SACD, "Hardness", 0)
  957. elements.property(elements.YOSHI_PT_SACD, "Flammable", 0)]]--
  958.  
  959. local a = elements.allocate("YOSHI", "RMTL")
  960. elements.element(elements.YOSHI_PT_RMTL, elements.element(elements.DEFAULT_PT_TTAN))
  961. elements.property(elements.YOSHI_PT_RMTL, "Name", "RMTL")
  962. elements.property(elements.YOSHI_PT_RMTL, "Description", "Realistic metal.")
  963. elements.property(elements.YOSHI_PT_RMTL, "Colour", 0x666666)
  964. elements.property(elements.YOSHI_PT_RMTL, "MenuSection", 9)
  965. elements.property(elements.YOSHI_PT_RMTL, "Gravity", 0)
  966. elements.property(elements.YOSHI_PT_RMTL, "Explosive", 0)
  967. elements.property(elements.YOSHI_PT_RMTL, "Weight", 100)
  968. elements.property(elements.YOSHI_PT_RMTL, "Diffusion", 0)
  969. elements.property(elements.YOSHI_PT_RMTL, "Hardness", 0)
  970. elements.property(elements.YOSHI_PT_RMTL, "Flammable", 0)
  971. elements.property(elements.YOSHI_PT_RMTL, "AirLoss", 0)
  972. elements.property(elements.YOSHI_PT_RMTL, "Temperature", 273.15 + 22)
  973. elements.property(elements.YOSHI_PT_RMTL, "HighTemperature", 1798)
  974. elements.property(elements.YOSHI_PT_RMTL, "HighTemperatureTransition", elements.YOSHI_PT_MRMT)
  975.  
  976. local a = elements.allocate("YOSHI", "MRMT")
  977. elements.element(elements.YOSHI_PT_MRMT, elements.element(elements.DEFAULT_PT_MERC))
  978. elements.property(elements.YOSHI_PT_MRMT, "Name", "MRMT")
  979. elements.property(elements.YOSHI_PT_MRMT, "Description", "Molten realistic metal.")
  980. elements.property(elements.YOSHI_PT_MRMT, "Colour", 0xFEDCBA)
  981. elements.property(elements.YOSHI_PT_MRMT, "MenuSection", 4)
  982. elements.property(elements.YOSHI_PT_MRMT, "MenuVisible", 0)
  983. elements.property(elements.YOSHI_PT_MRMT, "Gravity", 1)
  984. elements.property(elements.YOSHI_PT_MRMT, "Explosive", 0)
  985. elements.property(elements.YOSHI_PT_MRMT, "Weight", 100)
  986. elements.property(elements.YOSHI_PT_MRMT, "Diffusion", 0)
  987. elements.property(elements.YOSHI_PT_MRMT, "Hardness", 0)
  988. elements.property(elements.YOSHI_PT_MRMT, "Flammable", 0)
  989. elements.property(elements.YOSHI_PT_MRMT, "Temperature", 1799)
  990. elements.property(elements.YOSHI_PT_MRMT, "LowTemperature", 1798)
  991. elements.property(elements.YOSHI_PT_MRMT, "LowTemperatureTransition", elements.YOSHI_PT_RMTL)
  992.  
  993. local a = elements.allocate("YOSHI", "THNL")
  994. elements.element(elements.YOSHI_PT_THNL, elements.element(elements.DEFAULT_PT_NITR))
  995. elements.property(elements.YOSHI_PT_THNL, "Name", "THNL")
  996. elements.property(elements.YOSHI_PT_THNL, "Description", "Thermonucleum, Extremely explosive.")
  997. elements.property(elements.YOSHI_PT_THNL, "Colour", 0x3F94EC)
  998. elements.property(elements.YOSHI_PT_THNL, "MenuSection", 10)
  999. elements.property(elements.YOSHI_PT_THNL, "Gravity", 1)
  1000. elements.property(elements.YOSHI_PT_THNL, "Explosive", 50)
  1001. elements.property(elements.YOSHI_PT_THNL, "Weight", 10)
  1002. elements.property(elements.YOSHI_PT_THNL, "Diffusion", 0)
  1003. elements.property(elements.YOSHI_PT_THNL, "Hardness", 0)
  1004. elements.property(elements.YOSHI_PT_THNL, "Flammable", 100000)
  1005. elements.property(elements.YOSHI_PT_THNL, "Temperature", 295.15)
  1006. elements.property(elements.YOSHI_PT_THNL, "AirDrag", 0.5)
  1007.  
  1008. elements.allocate('AU3FGEN', 'GNTM')
  1009. elements.element(elements.AU3FGEN_PT_GNTM, elements.element(elements.DEFAULT_PT_DMND))
  1010. elements.property(elements.AU3FGEN_PT_GNTM, 'Name', 'GNTM')
  1011. elements.property(elements.AU3FGEN_PT_GNTM, 'Description', 'Gentium, Strange and laggy.')
  1012. elements.property(elements.AU3FGEN_PT_GNTM, 'Color', '0x1F7F3F')
  1013. elements.property(elements.AU3FGEN_PT_GNTM, 'MenuSection', '10')
  1014. elements.property(elements.AU3FGEN_PT_GNTM, 'Gravity', '0')
  1015. elements.property(elements.AU3FGEN_PT_GNTM, 'Flammable', '65535')
  1016. elements.property(elements.AU3FGEN_PT_GNTM, 'Explosive', '1')
  1017. elements.property(elements.AU3FGEN_PT_GNTM, 'Loss', '0')
  1018. elements.property(elements.AU3FGEN_PT_GNTM, 'AirLoss', '1')
  1019. elements.property(elements.AU3FGEN_PT_GNTM, 'AirDrag', '0')
  1020. elements.property(elements.AU3FGEN_PT_GNTM, 'Advection', '1')
  1021. elements.property(elements.AU3FGEN_PT_GNTM, 'Weight', '1024')
  1022. elements.property(elements.AU3FGEN_PT_GNTM, 'Diffusion', '0')
  1023. elements.property(elements.AU3FGEN_PT_GNTM, 'Falldown', '0')
  1024. local g = function(i, x, y, s, n)
  1025. --Update Function
  1026. end
  1027. tpt.element_func(g, tpt.element('GNTM'))
  1028. local g = function(i, r, g, b)
  1029. local function gfunc(i, r, g, b)
  1030. return 1, 0x0003007F, math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255), math.random(0,255)
  1031. end
  1032. tpt.graphics_func(gfunc, tpt.element('GNTM'))
  1033. end
  1034. tpt.graphics_func(g, tpt.element('GNTM'))
  1035.  
  1036. --Radioactive Mod
  1037.  
  1038. --Changes
  1039. -- You can change this from on/off.
  1040.  
  1041. on=40
  1042. off=0
  1043.  
  1044.  
  1045. elements.property(elements.DEFAULT_PT_ACID, "Flammable", off)
  1046. -- Added Elements.
  1047.  
  1048. local a = elements.allocate("X", "C")
  1049. elements.element(elements.X_PT_C, elements.element(elements.DEFAULT_PT_WOOD))
  1050. elements.property(elements.X_PT_C, "Name", "SAWD")
  1051. elements.property(elements.X_PT_C, "Description", "Saw Dust, Flammable.")
  1052. elements.property(elements.X_PT_C, "Colour", 0xFFFF66)
  1053. elements.property(elements.X_PT_C, "MenuSection", 8)
  1054. elements.property(elements.X_PT_C, "Gravity", 1)
  1055. elements.property(elements.X_PT_C, "Flammable", 30)
  1056. elements.property(elements.X_PT_C, "Explosive", 0)
  1057. elements.property(elements.X_PT_C, "Weight", 20)
  1058. elements.property(elements.X_PT_C, "Diffusion", 0.5)
  1059. elements.property(elements.X_PT_C, "Falldown", 1)
  1060.  
  1061. local a = elements.allocate("C", "Q")
  1062. elements.element(elements.C_PT_Q, elements.element(elements.DEFAULT_PT_HYGN))
  1063. elements.property(elements.C_PT_Q, "Name", "????")
  1064. elements.property(elements.C_PT_Q, "Description", "????")
  1065. elements.property(elements.C_PT_Q, "Colour", 0xFFFF0080)
  1066. elements.property(elements.C_PT_Q, "MenuSection", 10)
  1067. elements.property(elements.C_PT_Q, "Gravity", 0.3)
  1068. elements.property(elements.C_PT_Q, "Explosive", 1)
  1069. elements.property(elements.C_PT_Q, "Weight", 66)
  1070. elements.property(elements.C_PT_Q, "Diffusion", 0)
  1071. elements.property(elements.C_PT_Q, "HotAir", -0.1)
  1072. elements.property(elements.C_PT_Q, "Hardness", 0)
  1073.  
  1074. local q={0x99FFFF,0x9999FF,0xCCFF00,0x00FFCC,0x00CC00,0x330099}
  1075. local z=q[math.random(1,6)]
  1076.  
  1077. elements.property(elements.C_PT_Q, "Colour", z)
  1078.  
  1079. function light(i,x,y,s,n)
  1080. if math.random(1,300000) == 10 then
  1081. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'ligh')
  1082. end
  1083. end
  1084. tpt.element_func(light,a)
  1085.  
  1086. local a = elements.allocate("B", "Q")
  1087. elements.element(elements.B_PT_Q, elements.element(elements.DEFAULT_PT_HYGN))
  1088. elements.property(elements.B_PT_Q, "Name", "LCLD")
  1089. elements.property(elements.B_PT_Q, "Description", "Lava Clouds.")
  1090. elements.property(elements.B_PT_Q, "Colour", 0xCC0000)
  1091. elements.property(elements.B_PT_Q, "MenuSection", 6)
  1092. elements.property(elements.B_PT_Q, "Gravity", 0.1)
  1093. elements.property(elements.B_PT_Q, "Explosive", 0)
  1094. elements.property(elements.B_PT_Q, "Weight", 66)
  1095. elements.property(elements.B_PT_Q, "Temperature", math.huge)
  1096. elements.property(elements.B_PT_Q, "Diffusion", 0.1)
  1097. elements.property(elements.B_PT_Q, "Hardness", 0)
  1098.  
  1099. function fire(i,x,y,s,n)
  1100. if math.random(1,750) == 10 then
  1101. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'lava')
  1102. end
  1103. end
  1104. tpt.element_func(fire,a)
  1105.  
  1106. --[[
  1107.  
  1108. local a = elements.allocate("V", "X")
  1109. elements.element(elements.V_PT_X, elements.element(elements.DEFAULT_PT_HYGN))
  1110. elements.property(elements.V_PT_X, "Name", "CLDS")
  1111. elements.property(elements.V_PT_X, "Description", "Clouds. Produce Water.")
  1112. elements.property(elements.V_PT_X, "Colour", 0x3366CC)
  1113. elements.property(elements.V_PT_X, "MenuSection", 6)
  1114. elements.property(elements.V_PT_X, "Gravity", 0.3)
  1115. elements.property(elements.V_PT_X, "Explosive", 0)
  1116. elements.property(elements.V_PT_X, "Weight", 88)
  1117. elements.property(elements.V_PT_X, "Diffusion", 0.2)
  1118. elements.property(elements.V_PT_X, "Hardness", 0)
  1119.  
  1120. function rain(i,x,y,s,n)
  1121. if math.random(1,750) == 10 then
  1122. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'watr')
  1123. end
  1124. end
  1125. tpt.element_func(rain,a)]]--
  1126.  
  1127. local a = elements.allocate("V", "W")
  1128. elements.element(elements.V_PT_W, elements.element(elements.DEFAULT_PT_HYGN))
  1129. elements.property(elements.V_PT_W, "Name", "ACLD")
  1130. elements.property(elements.V_PT_W, "Description", "Acid Cloud.")
  1131. elements.property(elements.V_PT_W, "Colour", 0xFF0066)
  1132. elements.property(elements.V_PT_W, "MenuSection", 6)
  1133. elements.property(elements.V_PT_W, "Gravity", 0.1)
  1134. elements.property(elements.V_PT_W, "Explosive", 0)
  1135. elements.property(elements.V_PT_W, "Weight", -400)
  1136. elements.property(elements.V_PT_W, "Diffusion", 0.1)
  1137. elements.property(elements.V_PT_W, "Hardness", 0)
  1138.  
  1139. function acid(i,x,y,s,n)
  1140. if math.random(1,750) == 10 then
  1141. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'acid')
  1142. end
  1143. end
  1144. tpt.element_func(acid,a)
  1145.  
  1146. local a = elements.allocate("T", "N")
  1147. elements.element(elements.T_PT_N, elements.element(elements.DEFAULT_PT_LAVA))
  1148. elements.property(elements.T_PT_N, "Name", "NBLI")
  1149. elements.property(elements.T_PT_N, "Description", "A liquid that releases NBLE. Very Hot.")
  1150. elements.property(elements.T_PT_N, "Colour", 0xFF3300)
  1151. elements.property(elements.T_PT_N, "Temperature", math.huge)
  1152. elements.property(elements.T_PT_N, "Gravity", 3)
  1153. elements.property(elements.T_PT_N, "Diffusion", 0.2)
  1154.  
  1155. function RLS(i,x,y,s,n)
  1156. if math.random(1,550) == 10 then
  1157. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'nble')
  1158. if math.random(1,1300) == 10 then
  1159. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'plsm')
  1160. end
  1161. end
  1162. end
  1163. tpt.element_func(RLS,a)
  1164. l="IFOUNDIT"
  1165. local a = elements.allocate("R","D")
  1166. elements.element(elements.R_PT_D, elements.element(elements.DEFAULT_PT_PHOT))
  1167. elements.property(elements.R_PT_D, "Name", "SPRB")
  1168. elements.property(elements.R_PT_D, "Color", 0xFF0099)
  1169. elements.property(elements.R_PT_D, "MenuSection", elem.SC_SPECIAL)
  1170. elements.property(elements.R_PT_D, "Advection", 0.2)
  1171. elements.property(elements.R_PT_D, "Collision", 1.0)
  1172. elements.property(elements.R_PT_D, "Gravity", 3.0)
  1173. elements.property(elements.R_PT_D, "Diffusion", 0.3)
  1174. elements.property(elements.R_PT_D, "Weight", 40.45)
  1175. elements.property(elements.R_PT_D, "Temperature", 100000.0)
  1176. elements.property(elements.R_PT_D, "HeatConduct", 100000.0)
  1177. elements.property(elements.R_PT_D, "Description", "Super Ball. Very Hot. Bounces.")
  1178. elements.property(elements.R_PT_D, "Properties", PROP_DEADLY)
  1179.  
  1180.  
  1181. local a = elements.allocate("V1", "X1")
  1182. elements.element(elements.V1_PT_X1, elements.element(elements.DEFAULT_PT_HYGN))
  1183. elements.property(elements.V1_PT_X1, "Name", "STRM")
  1184. elements.property(elements.V1_PT_X1, "Description", "Storm Clouds. Produces More Water Than RCLD, and Lightning.")
  1185. elements.property(elements.V1_PT_X1, "Colour", 0x999999)
  1186. elements.property(elements.V1_PT_X1, "MenuSection", 6)
  1187. elements.property(elements.V1_PT_X1, "Gravity", 0.1)
  1188. elements.property(elements.V1_PT_X1, "Explosive", 0)
  1189. elements.property(elements.V1_PT_X1, "Weight", 30)
  1190. elements.property(elements.V1_PT_X1, "Diffusion", 0.1)
  1191. elements.property(elements.V1_PT_X1, "Hardness", 0)
  1192.  
  1193. function rain2(i,x,y,s,n)
  1194. if math.random(1,350) == 10 then
  1195. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'watr')
  1196. if math.random(1,750) == 10 then
  1197. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'ligh')
  1198. end
  1199. end
  1200. end
  1201. tpt.element_func(rain2,a)
  1202.  
  1203. local a = elements.allocate("N", "H")
  1204. elements.element(elements.N_PT_H, elements.element(elements.DEFAULT_PT_WOOD))
  1205. elements.property(elements.N_PT_H, "Name", "TR0N")
  1206. elements.property(elements.N_PT_H, "Description", "Produces TRON. A Solid. A Home.")
  1207. elements.property(elements.N_PT_H, "Colour", 0x66FFFF)
  1208. elements.property(elements.N_PT_H, "Flammable", 0)
  1209. elements.property(elements.N_PT_H, "MenuSection", elem.SC_SPECIAL)
  1210.  
  1211. function tron(i,x,y,s,n)
  1212. if math.random(1,100) == 10 then
  1213. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'tron')
  1214. end
  1215. end
  1216. tpt.element_func(tron,a)
  1217.  
  1218. local a = elements.allocate("E", "O")
  1219. elements.element(elements.E_PT_O, elements.element(elements.DEFAULT_PT_GUN))
  1220. elements.property(elements.E_PT_O, "Name", "PC-4")
  1221. elements.property(elements.E_PT_O, "Description", "Powder C4. Explosive.")
  1222. elements.property(elements.E_PT_O, "Colour", 0xFF33FF)
  1223. elements.property(elements.E_PT_O, "Gravity", 2.0)
  1224. elements.property(elements.E_PT_O, "Diffusion", 0.2)
  1225. elements.property(elements.E_PT_O, "Weight", 30.20)
  1226. elements.property(elements.E_PT_O, "Flammable", 3000.34)
  1227.  
  1228. local a = elements.allocate("J", "O")
  1229. elements.element(elements.J_PT_O, elements.element(elements.DEFAULT_PT_DUST))
  1230. elements.property(elements.J_PT_O, "Name", "FLY")
  1231. elements.property(elements.J_PT_O, "Description", "Fly. Annoying Pestering Bug.")
  1232. elements.property(elements.J_PT_O, "Colour", 0x333333)
  1233. elements.property(elements.J_PT_O, "MenuSection", 11)
  1234. elements.property(elements.J_PT_O, "Gravity", 0.1)
  1235. elements.property(elements.J_PT_O, "Flammable", 1)
  1236. elements.property(elements.J_PT_O, "Explosive", 0)
  1237. elements.property(elements.J_PT_O, "Weight", -3000)
  1238. elements.property(elements.J_PT_O, "Diffusion", 0.9)
  1239. elements.property(elements.J_PT_O, "Falldown", 0.8)
  1240.  
  1241. local a = elements.allocate("C", "T")
  1242. elements.element(elements.C_PT_T, elements.element(elements.DEFAULT_PT_GLOW))
  1243. elements.property(elements.C_PT_T, "Name", "NPLM")
  1244. elements.property(elements.C_PT_T, "Description", "Napalm. Very explosive.")
  1245. elements.property(elements.C_PT_T, "Colour", 0x380520)
  1246. elements.property(elements.C_PT_T, "MenuSection", 5)
  1247. elements.property(elements.C_PT_T, "Gravity", 0.5)
  1248. elements.property(elements.C_PT_T, "Flammable", 1000)
  1249. elements.property(elements.C_PT_T, "Explosive", 1)
  1250. elements.property(elements.C_PT_T, "Loss", 0)
  1251. elements.property(elements.C_PT_T, "Weight", 20)
  1252.  
  1253. local a = elements.allocate("G", "H")
  1254. elements.element(elements.G_PT_H, elements.element(elements.DEFAULT_PT_WOOD))
  1255. elements.property(elements.G_PT_H, "Name", "BHIV")
  1256. elements.property(elements.G_PT_H, "Description", "BEE Hive. Produces BEEs. Obviously.")
  1257. elements.property(elements.G_PT_H, "Colour", 0x999966)
  1258. elements.property(elements.G_PT_H, "Flammable", 10)
  1259. elements.property(elements.G_PT_H, "MenuSection", elem.SC_SPECIAL)
  1260.  
  1261. function bee(i,x,y,s,n)
  1262. if math.random(1,330) == 10 then
  1263. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'bee')
  1264. end
  1265. end
  1266. tpt.element_func(bee,a)
  1267.  
  1268. local a = elements.allocate("B", "O")
  1269. elements.element(elements.B_PT_O, elements.element(elements.DEFAULT_PT_DUST))
  1270. elements.property(elements.B_PT_O, "Name", "BEE")
  1271. elements.property(elements.B_PT_O, "Description", "BEE. Pestering Demons. Move Faster Then FLY.")
  1272. elements.property(elements.B_PT_O, "Colour", 0xFFFF00)
  1273. elements.property(elements.B_PT_O, "MenuSection", 11)
  1274. elements.property(elements.B_PT_O, "Gravity", 0.1)
  1275. elements.property(elements.B_PT_O, "Flammable", 10)
  1276. elements.property(elements.B_PT_O, "Explosive", 0)
  1277. elements.property(elements.B_PT_O, "Weight", -6000)
  1278. elements.property(elements.B_PT_O, "Diffusion", 2)
  1279. elements.property(elements.B_PT_O, "Falldown", 0.2)
  1280. function beeh(i,x,y,s,n)
  1281. if math.random(1,9000) == 10 then
  1282. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'bhiv')
  1283. end
  1284. end
  1285. tpt.element_func(beeh,a)
  1286.  
  1287. local a = elements.allocate("T", "X")
  1288. elements.element(elements.T_PT_X, elements.element(elements.DEFAULT_PT_HYGN))
  1289. elements.property(elements.T_PT_X, "Name", "TORN")
  1290. elements.property(elements.T_PT_X, "Description", "Tornado. Work in progress.")
  1291. elements.property(elements.T_PT_X, "Colour", 0x333333)
  1292. elements.property(elements.T_PT_X, "MenuSection", 11)
  1293. elements.property(elements.T_PT_X, "Gravity", 0.5)
  1294. elements.property(elements.T_PT_X, "Explosive", 0)
  1295. elements.property(elements.T_PT_X, "HotAir", -0.5)
  1296. elements.property(elements.T_PT_X, "Weight", 99)
  1297. elements.property(elements.T_PT_X, "Diffusion", 0.2)
  1298. elements.property(elements.T_PT_X, "Hardness", 0)
  1299.  
  1300. function rt(i,x,y,s,n)
  1301. if math.random(1,550) == 10 then
  1302. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'watr')
  1303. end
  1304. end
  1305. tpt.element_func(rt,a)
  1306.  
  1307. local a = elements.allocate("A","G")
  1308. elements.element(elements.A_PT_G, elements.element(elements.DEFAULT_PT_HYGN))
  1309. elements.property(elements.A_PT_G, "Name", "LAG")
  1310. elements.property(elements.A_PT_G, "Description", "Worlds Worst Creation.")
  1311. elements.property(elements.A_PT_G, "Colour", 0x578985)
  1312. elements.property(elements.A_PT_G, "MenuSection", 10)
  1313. elements.property(elements.A_PT_G, "HotAir", 0.1)
  1314. function acid(i,x,y,s,n)
  1315. if math.random(1,100) == 50 then
  1316. tpt.create(x + math.random(-1,1), y + math.random(-1,1), 'lag')
  1317. end
  1318. if math.random(1,100) == 50 then
  1319. tpt.create(x + math.random(-1,1), y + math.random(-3,3), 'hygn')
  1320. end
  1321. if math.random(1,100) == 50 then
  1322. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'neut')
  1323. end
  1324. if math.random(1,100) == 50 then
  1325. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'prot')
  1326. end
  1327. if math.random(1,100) == 50 then
  1328. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'elec')
  1329. if math.random(1,100) == 50 then
  1330. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'phot')
  1331. end
  1332. if math.random(1,100) == 50 then
  1333. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'neut')
  1334. end
  1335. if math.random(1,100) == 50 then
  1336. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'tron')
  1337.  
  1338. if math.random(1,100) == 50 then
  1339. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'nble')
  1340. if math.random(1,100) == 50 then
  1341. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'boyl')
  1342. if math.random(1,100) == 50 then
  1343. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'watr')
  1344. if math.random(1,100) == 50 then
  1345. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'dstw')
  1346. if math.random(1,100) == 50 then
  1347. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'sltw')
  1348. if math.random(1,100) == 50 then
  1349. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'glow')
  1350. if math.random(1,100) == 50 then
  1351. tpt.create(x + math.random(-4,4), y + math.random(-6, 6), 'soap')
  1352. end
  1353. end
  1354. end
  1355. end
  1356. end
  1357. end
  1358. end
  1359. end
  1360. end
  1361. end
  1362. tpt.element_func(acid,a)
  1363.  
  1364. --WTF
  1365.  
  1366. local WTF = elements.allocate('CJB', 'WTF')
  1367. elements.element(elements.CJB_PT_WTF, elements.element(elements.DEFAULT_PT_BCOL))
  1368. elements.property(elements.CJB_PT_WTF, 'Name', 'WTF')
  1369. elements.property(elements.CJB_PT_WTF, 'Description', 'Derpy, volatile gas/solid/I have no bloody idea.')
  1370. elements.property(elements.CJB_PT_WTF, 'Color', '0xB87503')
  1371. elements.property(elements.CJB_PT_WTF, 'MenuSection', '11')
  1372. elements.property(elements.CJB_PT_WTF, 'Gravity', '0.4')
  1373. elements.property(elements.CJB_PT_WTF, 'Flammable', '16384')
  1374. elements.property(elements.CJB_PT_WTF, 'Explosive', '1')
  1375. elements.property(elements.CJB_PT_WTF, 'Loss', '1')
  1376. elements.property(elements.CJB_PT_WTF, 'AirLoss', '20')
  1377. elements.property(elements.CJB_PT_WTF, 'AirDrag', '0.02')
  1378. elements.property(elements.CJB_PT_WTF, 'Advection', '1')
  1379. elements.property(elements.CJB_PT_WTF, 'Weight', '20')
  1380. elements.property(elements.CJB_PT_WTF, 'Diffusion', '16384')
  1381. elements.property(elements.CJB_PT_WTF, 'Temperature', '16384')
  1382. elements.property(elements.CJB_PT_WTF, 'HotAir', '900')
  1383. local function Lflare(i, colr, colg, colb)
  1384. return 1, 0x00000004, 255, 184, 117, 3, 255, 184, 117, 3
  1385. end
  1386. tpt.graphics_func(Lflare, WTF)
  1387.  
  1388. --Credits, I hope?
  1389.  
  1390. --[[
  1391. FeynmanLogomaker, timpfeifer, CeeJayBee, Videogamer555, 00yoshi, RadioActiveLua. If you were left out, email me at amywilsonmaster@gmail.com
  1392. ]]--
  1393.  
  1394. local a = "1"
  1395. local b = Window:new(-1,-1,200,200)
  1396. local c = Label:new(10,5,140,16, "TPT's Mod")
  1397. local d = Label:new(10,25,121,16, "Compiled by Amy")
  1398. local e = Label:new(10,85,170,16, "Credit to: jacob1, FeynmanLogomaker,")
  1399. local f = Label:new(135,5,88,16, ("AMY"))
  1400. local g = Label:new(10,95,180,16, "timpfeifer, CeeJayBee, Videogamer555,")
  1401. local h = Label:new(10,105,170,16,"00yoshi, and RadioActiveLua.")
  1402. local i = Label:new(10,125,180,16,"Report Bugs/Suggest for Next Version:")
  1403. local j = Label:new(10,135,170,16,"amywilsonmaster@gmail.com")
  1404.  
  1405. local Close = Button:new(10, 174, 60, 16, "Close")
  1406.  
  1407. Close:action(function() interface.closeWindow(b) end)
  1408. b:onTryExit(function() interface.closeWindow(b) end)
  1409.  
  1410. b:addComponent(Close);
  1411.  
  1412. local Button1 = Button:new(613, 97, 15, 15, "CR", "Open Info and Credits.")
  1413.  
  1414. Button1:action(function() interface.showWindow(b) end)
  1415.  
  1416. bb = Label:new(10,45,138,16, "Special Thanks To jacob1")
  1417. cc = Label:new(10,55,60,16, "Version 1")
  1418. dd = Label:new(10,65,57,16, "Update 3")
  1419.  
  1420. b:addComponent(bb)
  1421. b:addComponent(dd)
  1422. b:addComponent(cc)
  1423. b:addComponent(c)
  1424. b:addComponent(d)
  1425. b:addComponent(e)
  1426. b:addComponent(f)
  1427. b:addComponent(g)
  1428. b:addComponent(h)
  1429. b:addComponent(i)
  1430. b:addComponent(j)
  1431.  
  1432. interface.addComponent(Button1)
  1433.  
  1434. local a1 = "2"
  1435. local b1 = Window:new(-1,-1,200,200)
  1436. local c1 = Label:new(10,5,80,16, "SECRET MODE")
  1437. local d1 = Label:new(10,15,121,16, "Created By RadioActiveLua")
  1438. local f1 = Label:new(135,5,88,16, ("RAM V."..a))
  1439.  
  1440. local Close1 = Button:new(10, 174, 60, 16, "Close")
  1441.  
  1442. local Start1 = Button:new(10, 194, 60, 16, "Enter")
  1443.  
  1444. Close1:action(function() interface.closeWindow(b1) end)
  1445. b1:onTryExit(function() interface.closeWindow(b1) end)
  1446.  
  1447. b1:addComponent(Close1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement