constant MAX_TEMPERATURE = 4800.0
function update():
  explode? = false
  if this particle's temperature > MAX_TEMPERATURE:
    if there's O2 near this particle:
      explode? = true
  
  if (this particle's temperature > MAX_TEMPERATURE and 1/20 chance) or explode?: 
    if 1/20 chance:
      set pressure to 50
    if 1/100 chance:
      transform into FIRE with life (random(0, 500)) 
    otherwise
      transform into LAVA(TUNG)
      skip moving and return
    if explode?:
      set this particle's temperature to MAX_TEMPERATURE + 200-800 K
    set this particle's vx and vy to random numbers between 0 and 50
set TTAN "Update" property to this function
Why can't changing the high pressure transition fix that?
local function noshatter(i, x, y, s, nt)
	sim.partProperty(i, "type", tpt.el.tung.id)
	sim.partProperty(i, "ctype", 0)
end
pcall(elem.property, tpt.el.brmt.id, "Update", noshatter, "yayerror")
local function ignore() end
elem.property(tpt.el.tung.id, "Update", ignore)local function noshatter(i, x, y, s, nt)
	if sim.partProperty(i, "type") == tpt.el.brmt.id then
		sim.partProperty(i, "type", tpt.el.tung.id)
		sim.partProperty(i, "ctype", 0)
	end
end
elem.property(tpt.el.tung.id, "Update", noshatter)