Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local id = elem.allocate("FDST","S_TMOD")
- local function update_fdst(i,x,y)
- for n in sim.neighbours(x,y,1,1) do
- if sim.partProperty(n,sim.FIELD_TYPE) ~= id then
- if math.random(0,999) == 0 then
- sim.partChangeType(i,elem.DEFAULT_PT_DUST)
- end
- break
- end
- end
- end
- local function update_dust(i,x,y)
- if sim.pressure(math.floor(x / 4),math.floor(y / 4)) <= -5 then
- sim.partChangeType(i,id)
- end
- if sim.partProperty(i,sim.FIELD_VX) >= 4 or sim.partProperty(i,sim.FIELD_VY) >= 4 or sim.partProperty(i,sim.FIELD_VX) <= -4 or sim.partProperty(i,sim.FIELD_VY) <= -4 then
- sim.partChangeType(i,id)
- end
- end
- elem.property(id,"Enabled",1)
- elem.property(id,"Name","FDST")
- elem.property(id,"Colour",elem.property(elem.DEFAULT_PT_DUST,"Colour"))
- elem.property(id,"MenuVisible",1)
- elem.property(id,"MenuSection",elem.SC_GAS)
- elem.property(id,"Advection",1)
- elem.property(id,"AirDrag",0)
- elem.property(id,"AirLoss",1)
- elem.property(id,"Loss",0.2)
- elem.property(id,"Collision",-0.1)
- elem.property(id,"Gravity",0.1)
- elem.property(id,"Diffusion",1)
- elem.property(id,"HotAir",0)
- elem.property(id,"Falldown",0)
- elem.property(id,"Flammable",10)
- elem.property(id,"Explosive",0)
- elem.property(id,"Meltable",0)
- elem.property(id,"Hardness",10)
- elem.property(id,"Weight",1)
- elem.property(id,"Temperature",273.15 + sim.R_TEMP)
- elem.property(id,"HeatConduct",50)
- elem.property(id,"Description","Fine dust. Condenses into dust when pressurized or on contact with other elements.")
- elem.property(id,"State",elem.ST_GAS)
- elem.property(id,"HighPressure",5)
- elem.property(id,"HighPressureTransition",elem.DEFAULT_PT_DUST)
- elem.property(id,"Properties",elem.TYPE_GAS)
- elem.property(id,"Update",update_fdst)
- elem.property(elem.DEFAULT_PT_DUST,"Update",update_dust)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement