Difference between revisions of "User:Akerus"

From The Perfect Tower II
Jump to navigation Jump to search
(First initialization)
(Changed behaviour regarding waiting time for crusher)
 
(13 intermediate revisions by the same user not shown)
Line 72: Line 72:
 
|}
 
|}
  
 +
==Summary==
 +
These scripts will upgrade your dusts to your specified tier and number of that tier. It will process ores, lums and (if set so) ingots. It will make sure that you've got enough resources to even reach your goal and will leave you with at least 1 resource of each tier, so that you never run out of a tier.
 +
 +
To use it, you have to set the global variables "target_dust_tier", "target_dust_count" and "dust_up_use_ingots" to your need. Either you set it in the "dust_up" script, tu run it manually or you set those values in one of your scripts and execute "dust_up_integrated".
  
 
==Dust Up Scripts==
 
==Dust Up Scripts==
Line 85: Line 89:
 
*key 1
 
*key 1
 
|
 
|
* actory screen open
+
*factory screen open
|9
+
|4
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 92: Line 96:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global double resources_needed_tier_1
 
 
:global int target_dust_tier
 
:global int target_dust_tier
 
:global double target_dust_count
 
:global double target_dust_count
:global int dust_up_loop_tier
+
:global double dust_up_use_ingots
:global double dust_up_missing
 
  
 
key.1()
 
key.1()
Line 104: Line 106:
 
target_dust_tier = 8
 
target_dust_tier = 8
 
target_dust_count = 350.0
 
target_dust_count = 350.0
 +
dust_up_use_ingots = 1.0
 +
executesync("dust_up_integrated")
 +
</syntaxhighlight>
 +
|-
 +
|<syntaxhighlight lang="text">
 +
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkE
 +
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAAAR
 +
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAAAAA
 +
4HVAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQD
 +
AAAAAAAA8D8TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3JhdGVk
 +
</syntaxhighlight>
 +
|}
 +
|-
 +
|dust_up_integrated
 +
|
 +
|<br />
 +
|13
 +
|
 +
{| class="wikitable mw-collapsible mw-collapsed"
 +
!
 +
|-
 +
|<syntaxhighlight lang="actionscript">
 +
:global double dust_up_missing
 +
:global int dust_up_loop_tier
 +
:global double resources_needed_tier_1
 +
:global double target_dust_count
 +
:global int target_dust_tier
 +
 
executesync("dust_count_resources")
 
executesync("dust_count_resources")
 
executesync("dust_calc_needed")
 
executesync("dust_calc_needed")
Line 120: Line 150:
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkPAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAAAAA4HVAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFGR1c3RfY291bnRfcmVzb3VyY2VzE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEEGR1c3RfY2FsY19uZWVkZWQOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQXcmVzb3VyY2VzX25lZWRlZF90aWVyXzEIY29uc3RhbnQEAT4IY29uc3RhbnQDAAAAAAAAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50AgEAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAEEAIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDAAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmUTZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQVZHVzdF91cF9wcm9jZXNzX2luZ290E2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC2R1c3RfdXBfbWl4Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAIHAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBPA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllchNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X3VwX2ZpbmFsaXpl
+
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADQAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
 +
BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2Nh
 +
bGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xv
 +
YmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+
 +
CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
 +
cghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcK
 +
ZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
 +
dWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGll
 +
cl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3Bf
 +
dGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAABBA
 +
CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvYmFsLmludC5n
 +
ZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAR
 +
Y29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2lu
 +
Zwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
 +
BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNkdXN0X3Vw
 +
X3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3RfdXBfcHJvY2Vzc19p
 +
bmdvdBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtkdXN0X3VwX21peA5nbG9iYWwuaW50LnNl
 +
dAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQI
 +
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJp
 +
Yy5nb3RvaWYIY29uc3RhbnQCBQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFu
 +
dAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEATwOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRh
 +
cmdldF9kdXN0X3RpZXITZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQQZHVzdF91cF9maW5hbGl6
 +
ZQ==
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|-
|craft GO
+
|dust_count_resources
|
 
*key 0
 
 
|
 
|
*not busy crafting & factory screen open
 
  
<br />
 
|12
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|10
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_mode
 
:global int craft_output
 
:local int max
 
 
 
key.0()
 
 
 
(global.int.get("craft_busy") == 0 & isopen("factory"))
 
 
 
  global.int.set("craft_busy", 1)
 
  global.int.set("craft_require_tier", 0)
 
  global.double.set("craft_require_count", 0.0)
 
  global.int.set("craft_tier:" . craft_mode . "." . craft_output, global.int.get("craft_tier"))
 
  global.double.set("craft_count:" . craft_mode . "." . craft_output, global.double.get("craft_count"))
 
 
 
  execute("craft script check")
 
  global.int.set("craft_status", 102) ; Processing
 
  stop("craft script check")
 
 
 
  executesync("craft " . craft_mode . ":" . craft_output)
 
 
 
; Preserve status if its already in a terminal state
 
end: gotoif(end2, global.int.get("craft_status") > 199)
 
  global.int.set("craft_status", 200) ; OK
 
end2: global.int.set("craft_busy", 0)
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
CGNyYWZ0IEdPAQAAAAVrZXkuMAEAAAAPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50Dmdsb2Jh
 
bC5pbnQuZ2V0CGNvbnN0YW50BApjcmFmdF9idXN5CGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAACGNv
 
bnN0YW50BAEmEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQHZmFjdG9yeQwAAAAOZ2xvYmFsLmlu
 
dC5zZXQIY29uc3RhbnQECmNyYWZ0X2J1c3kIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25z
 
dGFudAQSY3JhZnRfcmVxdWlyZV90aWVyCGNvbnN0YW50AgAAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29u
 
c3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQIY29uc3RhbnQDAAAAAAAAAAAOZ2xvYmFsLmludC5zZXQG
 
Y29uY2F0BmNvbmNhdAZjb25jYXQIY29uc3RhbnQEC2NyYWZ0X3RpZXI6A2kycw5nbG9iYWwuaW50Lmdl
 
dAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQBLgNpMnMOZ2xvYmFsLmludC5nZXQIY29uc3Rh
 
bnQEDGNyYWZ0X291dHB1dA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfdGllchFnbG9iYWwu
 
ZG91YmxlLnNldAZjb25jYXQGY29uY2F0BmNvbmNhdAhjb25zdGFudAQMY3JhZnRfY291bnQ6A2kycw5n
 
bG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQBLgNpMnMOZ2xvYmFsLmlu
 
dC5nZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQLY3Jh
 
ZnRfY291bnQPZ2VuZXJpYy5leGVjdXRlCGNvbnN0YW50BBJjcmFmdCBzY3JpcHQgY2hlY2sOZ2xvYmFs
 
LmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAJmAAAADGdlbmVyaWMuc3RvcAhj
 
b25zdGFudAQSY3JhZnQgc2NyaXB0IGNoZWNrE2dlbmVyaWMuZXhlY3V0ZXN5bmMGY29uY2F0BmNvbmNh
 
dAZjb25jYXQIY29uc3RhbnQEBmNyYWZ0IANpMnMOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0
 
X21vZGUIY29uc3RhbnQEAToDaTJzDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQO
 
Z2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDAAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
 
b25zdGFudAQMY3JhZnRfc3RhdHVzCGNvbnN0YW50BAE+CGNvbnN0YW50AscAAAAOZ2xvYmFsLmludC5z
 
ZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudALIAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0
 
YW50BApjcmFmdF9idXN5CGNvbnN0YW50AgAAAAA=
 
</syntaxhighlight>
 
|}
 
|-
 
|craft tier up
 
|
 
*key 1
 
 
 
<br />
 
|
 
*not busy crafting
 
|1
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_tier
 
 
 
key.1()
 
(global.int.get("craft_busy") == 0)
 
 
 
craft_tier = (craft_tier % 10) + 1
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
DWNyYWZ0IHRpZXIgdXABAAAABWtleS4xAQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
 
b25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAEAAAAOZ2xvYmFsLmlu
 
dC5zZXQIY29uc3RhbnQECmNyYWZ0X3RpZXIOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOZ2xv
 
YmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X3RpZXIIY29uc3RhbnQEA21vZAhjb25zdGFudAIKAAAA
 
CGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAA=
 
</syntaxhighlight>
 
|}
 
|-
 
|craft mode up
 
|
 
*key 2
 
 
 
<br />
 
|
 
*not busy crafting
 
|2
 
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 232: Line 186:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global int craft_mode
+
:global double resources_tier_10
:global int craft_output
+
:global double resources_tier_9
 +
:global double resources_tier_8
 +
:global double resources_tier_7
 +
:global double resources_tier_6
 +
:global double resources_tier_5
 +
:global double resources_tier_4
 +
:global double resources_tier_3
 +
:global double resources_tier_2
 +
:global double resources_tier_1
 +
:global double dust_up_use_ingots
  
key.2()
+
resources_tier_10 = max(0.0,(dust_up_use_ingots * count("ingot",10)) + count("dust", 10) + count("ore",10) + (count("lump",9) * 2.0) - 1.0)
(global.int.get("craft_busy") == 0)
+
resources_tier_9 = max(0.0,(dust_up_use_ingots * count("ingot",9)) + count("dust", 9) + count("ore",9) + (count("lump",8) * 2.0) - 1.0)
 
+
resources_tier_8 = max(0.0,(dust_up_use_ingots * count("ingot",8)) + count("dust", 8) + count("ore",8) + (count("lump",7) * 2.0) - 1.0)
craft_mode = (craft_mode % 3) + 1
+
resources_tier_7 = max(0.0,(dust_up_use_ingots * count("ingot",7)) + count("dust", 7) + count("ore",7) + (count("lump",6) * 2.0) - 1.0)
craft_output = 1
+
resources_tier_6 = max(0.0,(dust_up_use_ingots * count("ingot",6)) + count("dust", 6) + count("ore",6) + (count("lump",5) * 2.0) - 1.0)
 +
resources_tier_5 = max(0.0,(dust_up_use_ingots * count("ingot",5)) + count("dust", 5) + count("ore",5) + (count("lump",4) * 2.0) - 1.0)
 +
resources_tier_4 = max(0.0,(dust_up_use_ingots * count("ingot",4)) + count("dust", 4) + count("ore",4) + (count("lump",3) * 2.0) - 1.0)
 +
resources_tier_3 = max(0.0,(dust_up_use_ingots * count("ingot",3)) + count("dust", 3) + count("ore",3) + (count("lump",2) * 2.0) - 1.0)
 +
resources_tier_2 = max(0.0,(dust_up_use_ingots * count("ingot",2)) + count("dust", 2) + count("ore",2) + (count("lump",1) * 2.0) - 1.0)
 +
resources_tier_1 = max(0.0,(dust_up_use_ingots * count("ingot",1)) + count("dust", 1) + count("ore",1) - 1.0)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
DWNyYWZ0IG1vZGUgdXABAAAABWtleS4yAQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhj
+
FGR1c3RfY291bnRfcmVzb3VyY2VzAAAAAAAAAAAKAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50
b25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAIAAAAOZ2xvYmFsLmlu
+
BBFyZXNvdXJjZXNfdGllcl8xMApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
dC5zZXQIY29uc3RhbnQECmNyYWZ0X21vZGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQOZ2xv
+
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
YmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X21vZGUIY29uc3RhbnQEA21vZAhjb25zdGFudAIDAAAA
+
EWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9p
CGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEDGNyYWZ0X291
+
bmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3Rh
dHB1dAhjb25zdGFudAIBAAAA
+
bnQCCgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0
 +
YW50AgoAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0
 +
YW50AgoAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhj
 +
b25zdGFudAQEbHVtcAhjb25zdGFudAIJAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNv
 +
bnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNv
 +
dXJjZXNfdGllcl85CmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGUR
 +
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
 +
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhj
 +
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIJAAAA
 +
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCCQAA
 +
AAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCCQAA
 +
AAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
 +
BARsdW1wCGNvbnN0YW50AggAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
 +
AS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190
 +
aWVyXzgKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1l
 +
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
 +
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50
 +
BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AggAAAAIY29uc3Rh
 +
bnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIIAAAACGNvbnN0
 +
YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIIAAAACGNvbnN0
 +
YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAI
 +
Y29uc3RhbnQCBwAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25z
 +
dGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNwpk
 +
b3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91
 +
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
 +
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
 +
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCBwAAAAhjb25zdGFudAQBKxNm
 +
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsT
 +
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsR
 +
YXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFu
 +
dAIGAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAA
 +
AAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl82CmRvdWJsZS5t
 +
YXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJp
 +
dGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
 +
dWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0
 +
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIGAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
 +
aXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxNmYWN0b3J5
 +
Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxFhcml0aG1l
 +
dGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgUAAAAI
 +
Y29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8R
 +
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190aWVyXzUKZG91YmxlLm1heAhjb25z
 +
dGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
 +
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
 +
dAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291
 +
bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
 +
b3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
 +
Y291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91
 +
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBAAAAAhjb25zdGFu
 +
dAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwu
 +
ZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNApkb3VibGUubWF4CGNvbnN0YW50AwAA
 +
AAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
 +
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
 +
YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25z
 +
dGFudAQFaW5nb3QIY29uc3RhbnQCBAAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNv
 +
bnN0YW50BARkdXN0CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
 +
b25zdGFudAQDb3JlCGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFj
 +
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFudAIDAAAACGNvbnN0YW50BAEqCGNv
 +
bnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUu
 +
c2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl8zCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAAR
 +
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
 +
ZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1
 +
c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVp
 +
bmdvdAhjb25zdGFudAIDAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
 +
BGR1c3QIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
 +
BANvcmUIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0
 +
ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASoIY29uc3RhbnQD
 +
AAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29u
 +
c3RhbnQEEHJlc291cmNlc190aWVyXzIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1l
 +
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
 +
dWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91
 +
c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNv
 +
bnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhj
 +
b25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhj
 +
b25zdGFudAICAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
 +
bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAA
 +
QAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQ
 +
cmVzb3VyY2VzX3RpZXJfMQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91
 +
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
 +
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
 +
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNm
 +
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsT
 +
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0I
 +
Y29uc3RhbnQDAAAAAAAA8D8=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|-
|craft output up
+
|dust_calc_needed
|
 
*key 3
 
 
|
 
|
*not busy crafting
 
|2
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_mode
 
:global int craft_output
 
:local int max
 
 
key.3()
 
(global.int.get("craft_busy") == 0)
 
  
max = (13101300 / (100 ^ craft_mode)) % 100
+
|11
craft_output = (craft_output % max) + 1
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
D2NyYWZ0IG91dHB1dCB1cAEAAAAFa2V5LjMBAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0
 
CGNvbnN0YW50BApjcmFmdF9idXN5CGNvbnN0YW50BAI9PQhjb25zdGFudAIAAAAAAgAAAA1sb2NhbC5p
 
bnQuc2V0CGNvbnN0YW50BANtYXgOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC
 
9OjHAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAJkAAAACGNvbnN0YW50BANwb3cO
 
Z2xvYmFsLmludC5nZXQIY29uc3RhbnQECmNyYWZ0X21vZGUIY29uc3RhbnQEA21vZAhjb25zdGFudAJk
 
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQOYXJpdGhtZXRpYy5pbnQOYXJp
 
dGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dAhjb25zdGFudAQD
 
bW9kDWxvY2FsLmludC5nZXQIY29uc3RhbnQEA21heAhjb25zdGFudAQBKwhjb25zdGFudAIBAAAA
 
</syntaxhighlight>
 
|}
 
|-
 
|craft count up
 
|
 
*key 9
 
|
 
*not busy crafting
 
|5
 
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 297: Line 312:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global double craft_count
+
:global double target_dust_count
:local double pow
+
:global int target_dust_tier
:local double inc
+
:local int loop_tier
  
key.9()
+
loop_tier = 11
(global.int.get("craft_busy") == 0)
+
targettier: loop_tier = loop_tier - 1
 
+
gotoif(skip, loop_tier > target_dust_tier)
  gotoif(99, craft_count > 900000.0)
+
global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, target_dust_count - global.double.get("resources_tier_" . i2s(loop_tier))))
  gotoif(a, craft_count < 1.0)
+
goto(continueloop)
  pow = double.floor(0.01 + (craft_count // 10.0))
+
smalltiers: global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, (global.double.get("resources_needed_tier_" . i2s(loop_tier + 1)) * 4.0) - global.double.get("resources_tier_" . i2s(loop_tier))))
a: inc = 10.0 ^ pow
+
continueloop: loop_tier = loop_tier - 1
  craft_count = craft_count + inc
+
gotoif(smalltiers, loop_tier > 0)
</syntaxhighlight>
+
goto(99)
|-
+
skip: global.double.set("resources_needed_tier_" . i2s(loop_tier), 0.0)
|<syntaxhighlight lang="text">
+
goto(targettier)
DmNyYWZ0IGNvdW50IHVwAQAAAAVrZXkuOQEAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQI
 
Y29uc3RhbnQECmNyYWZ0X2J1c3kIY29uc3RhbnQEAj09CGNvbnN0YW50AgAAAAAFAAAADmdlbmVyaWMu
 
Z290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29u
 
c3RhbnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BAE+CGNvbnN0YW50AwAAAABAdytBDmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AgQAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EGxvY2FsLmRvdWJsZS5z
 
ZXQIY29uc3RhbnQEA3Bvdwxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDexSu
 
R+F6hD8IY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQEC2NyYWZ0X2NvdW50CGNvbnN0YW50BANsb2cIY29uc3RhbnQDAAAAAAAAJEAQbG9jYWwuZG91Ymxl
 
LnNldAhjb25zdGFudAQDaW5jEWFyaXRobWV0aWMuZG91YmxlCGNvbnN0YW50AwAAAAAAACRACGNvbnN0
 
YW50BANwb3cQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQDcG93EWdsb2JhbC5kb3VibGUuc2V0CGNv
 
bnN0YW50BAtjcmFmdF9jb3VudBFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25z
 
dGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEASsQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQDaW5j
 
</syntaxhighlight>
 
|}
 
|-
 
|craft count down
 
|
 
*key 8
 
|
 
*not busy crafting
 
|5
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_count
 
:local double pow
 
:local double inc
 
 
 
key.8()
 
(global.int.get("craft_busy") == 0)
 
 
 
  gotoif(a, craft_count < 1.0)
 
  pow = double.floor(-0.01 + (craft_count // 10.0))
 
a: inc = 10.0 ^ pow
 
  gotoif(99, craft_count - inc < 1.0)
 
  craft_count = craft_count - inc
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
EGNyYWZ0IGNvdW50IGRvd24BAAAABWtleS44AQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50Lmdl
+
EGR1c3RfY2FsY19uZWVkZWQAAAAAAAAAAAsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF9
dAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAUAAAAOZ2VuZXJp
+
0aWVyCGNvbnN0YW50AgsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobW
Yy5nb3RvaWYIY29uc3RhbnQCAwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
+
V0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zd
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91
+
GFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwu
YmxlLnNldAhjb25zdGFudAQDcG93DGRvdWJsZS5mbG9vchFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFu
+
aW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyCGNvbnN0YW50BAE+Dmdsb2JhbC5pbnQuZ2V0CGNvbnN
dAN7FK5H4XqEvwhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
+
0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQWcm
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEA2xvZwhjb25zdGFudAMAAAAAAAAkQBBsb2NhbC5k
+
Vzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyC
b3VibGUuc2V0CGNvbnN0YW50BANpbmMRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAI
+
mRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJs
Y29uc3RhbnQEA3BvdxBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BANwb3cOZ2VuZXJpYy5nb3RvaWYI
+
ZS5nZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGU
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91
+
uZ2V0BmNvbmNhdAhjb25zdGFudAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbn
YmxlLmdldAhjb25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhj
+
N0YW50BAlsb29wX3RpZXIMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AgcAAAARZ2xvYmFsLmRvdWJsZS5zZ
b25zdGFudAQDaW5jCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0
+
XQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0
CGNvbnN0YW50BAtjcmFmdF9jb3VudBFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
+
CGNvbnN0YW50BAlsb29wX3RpZXIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGl
b25zdGFudAQLY3JhZnRfY291bnQIY29uc3RhbnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQD
+
jLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3Rhbn
aW5j
+
QEFnJlc291cmNlc19uZWVkZWRfdGllcl8DaTJzDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY
 +
29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNv
 +
bnN0YW50AwAAAAAAABBACGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGF
 +
udAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXINbG
 +
9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZ
 +
XQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290
 +
b2lmCGNvbnN0YW50AgYAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9
 +
vcF90aWVyCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AmMAAA
 +
ARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA
 +
2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXIIY29uc3RhbnQDAAAAAAAAAAAMZ2Vu
 +
ZXJpYy5nb3RvCGNvbnN0YW50AgIAAAA=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|-
|craft inventory use
+
|dust_up_process_lump
 
|
 
|
*key 5
 
  
<br />
 
|
 
*not busy crafting
 
|1
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
 
key.5()
 
(global.int.get("craft_busy") == 0)
 
  
craft_inventory = 1.0 - craft_inventory
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
E2NyYWZ0IGludmVudG9yeSB1c2UBAAAABWtleS41AQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50
 
LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAEAAAARZ2xv
 
YmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeRFhcml0aG1ldGljLmRvdWJsZQhj
 
b25zdGFudAMAAAAAAADwPwhjb25zdGFudAQBLRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5
 
</syntaxhighlight>
 
|}
 
|-
 
|craft script check
 
|
 
|
 
|3
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_mode
 
:global int craft_output
 
 
executesync("craft " . craft_mode . ":" . craft_output)
 
global.int.set("craft_status", 404) ; Script not found
 
loop: goto(loop)
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EmNyYWZ0IHNjcmlwdCBjaGVjawAAAAAAAAAAAwAAABNnZW5lcmljLmV4ZWN1dGVzeW5jBmNvbmNhdAZj
 
b25jYXQGY29uY2F0CGNvbnN0YW50BAZjcmFmdCADaTJzDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BApj
 
cmFmdF9tb2RlCGNvbnN0YW50BAE6A2kycw5nbG9iYWwuaW50LmdldAhjb25zdGFudAQMY3JhZnRfb3V0
 
cHV0Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQClAEAAAxnZW5l
 
cmljLmdvdG8IY29uc3RhbnQCAwAAAA==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft producer set (pg1)
 
|
 
*key 4
 
 
<br />
 
|<br />
 
 
*not busy crafting & crafting producers
 
|14
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_output
 
 
key.4()
 
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 1)
 
 
craft_output = 1
 
gotoif(a, isopen("powerplant"))
 
gotoif(b, isopen("mine"))
 
gotoif(c, isopen("factory"))
 
gotoif(d, isopen("headquarters"))
 
gotoif(e, isopen("arcade"))
 
gotoif(f, isopen("laboratory"))
 
goto(99)
 
f: craft_output = craft_output + 1
 
e: craft_output = craft_output + 1
 
d: craft_output = craft_output + 1
 
c: craft_output = craft_output + 1
 
b: craft_output = craft_output + 1
 
a: craft_output = craft_output + 1
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
GGNyYWZ0IHByb2R1Y2VyIHNldCAocGcxKQEAAAAFa2V5LjQBAAAAD2NvbXBhcmlzb24uYm9vbA5jb21w
 
YXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0I
 
Y29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25z
 
dGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAQAAAA4AAAAOZ2xvYmFsLmludC5z
 
ZXQIY29uc3RhbnQEDGNyYWZ0X291dHB1dAhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0
 
YW50Ag4AAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BApwb3dlcnBsYW50DmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50Ag0AAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BARtaW5lDmdlbmVyaWMu
 
Z290b2lmCGNvbnN0YW50AgwAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAdmYWN0b3J5Dmdl
 
bmVyaWMuZ290b2lmCGNvbnN0YW50AgsAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAxoZWFk
 
cXVhcnRlcnMOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABJ0b3duLndpbmRvdy5pc29wZW4IY29u
 
c3RhbnQEBmFyY2FkZQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIJAAAAEnRvd24ud2luZG93Lmlzb3Bl
 
bghjb25zdGFudAQKbGFib3JhdG9yeQxnZW5lcmljLmdvdG8IY29uc3RhbnQCYwAAAA5nbG9iYWwuaW50
 
LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNl
 
dAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
 
YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhj
 
b25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25z
 
dGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxj
 
cmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFu
 
dAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFm
 
dF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQM
 
Y3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9v
 
dXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA==
 
</syntaxhighlight>
 
|}
 
|-
 
|craft producer set (pg2)
 
|
 
*key 4
 
 
<br />
 
|
 
*not busy crafting & crafting producers
 
 
|13
 
|13
 
|
 
|
Line 505: Line 369:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global int craft_output
+
; Process lumps into dust
 +
:global int dust_up_loop_tier
 +
:global double dust_up_missing
 +
:local double number_lumps
 +
:local double number_lump_used
  
key.4()
+
gotoif(99, dust_up_loop_tier == 1)
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 1)
+
number_lumps = count("lump",dust_up_loop_tier - 1)
 
+
gotoif(processpartially, number_lumps * 2.0 > dust_up_missing)
 
+
gotoif(99, number_lumps < 1.0)
gotoif(a, isopen("shipyard"))
+
waitwhile(active("mixer"))
gotoif(b, isopen("tradingpost"))
+
processall: produce("lump", dust_up_loop_tier - 1, number_lumps, "mixer")
gotoif(c, isopen("workshop"))
+
dust_up_missing = dust_up_missing - (number_lumps * 2.0)
gotoif(d, isopen("museum"))
+
goto(end)
gotoif(e, isopen("constructionfirm"))
+
processpartially: number_lump_used = ceil(dust_up_missing / 2.0)
gotoif(f, isopen("statueofcubos"))
+
waitwhile(active("mixer"))
goto(99)
+
produce("lump", dust_up_loop_tier - 1, number_lump_used, "mixer")
f: craft_output = craft_output + 1
+
dust_up_missing = 0.0
e: craft_output = craft_output + 1
+
end: waitwhile(active("mixer"))
d: craft_output = craft_output + 1
 
c: craft_output = craft_output + 1
 
b: craft_output = craft_output + 1
 
a: craft_output = craft_output + 7
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
GGNyYWZ0IHByb2R1Y2VyIHNldCAocGcyKQEAAAAFa2V5LjQBAAAAD2NvbXBhcmlzb24uYm9vbA5jb21w
+
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAANAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMA
YXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhjb25zdGFudAQCPT0I
+
AAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVy
Y29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25z
+
CGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51bWJl
dGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAQAAAA0AAAAOZ2VuZXJpYy5nb3Rv
+
cl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
aWYIY29uc3RhbnQCDQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQECHNoaXB5YXJkDmdlbmVy
+
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
aWMuZ290b2lmCGNvbnN0YW50AgwAAAASdG93bi53aW5kb3cuaXNvcGVuCGNvbnN0YW50BAt0cmFkaW5n
+
dAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgkAAAARY29tcGFyaXNvbi5kb3VibGURYXJpdGht
cG9zdA5nZW5lcmljLmdvdG9pZghjb25zdGFudAILAAAAEnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFu
+
ZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvbnN0YW50
dAQId29ya3Nob3AOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABJ0b3duLndpbmRvdy5pc29wZW4I
+
BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
Y29uc3RhbnQEBm11c2V1bQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIJAAAAEnRvd24ud2luZG93Lmlz
+
BA9kdXN0X3VwX21pc3NpbmcOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRv
b3Blbghjb25zdGFudAQQY29uc3RydWN0aW9uZmlybQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAIIAAAA
+
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfbHVtcHMIY29uc3RhbnQEATwIY29u
EnRvd24ud2luZG93Lmlzb3Blbghjb25zdGFudAQNc3RhdHVlb2ZjdWJvcwxnZW5lcmljLmdvdG8IY29u
+
c3RhbnQDAAAAAAAA8D8RZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25z
c3RhbnQCYwAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMu
+
dGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
aW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3Rh
+
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
bnQCAQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50
+
dAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhjb25zdGFudAQFbWl4
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQC
+
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmRv
AQAAAA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmds
+
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAEt
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAA
+
EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
AA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2Jh
+
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29uc3RhbnQCDQAAABBsb2Nh
bC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5n
+
bC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJsZS5jZWlsEWFyaXRobWV0
bG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5p
+
aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3Rh
bnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nbG9i
+
bnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFj
YWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfb3V0cHV0DmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQu
+
dGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0
Z2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQIY29uc3RhbnQEASsIY29uc3RhbnQCBwAAAA==
+
aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQB
 +
LQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEG51bWJlcl9sdW1wX3VzZWQI
 +
Y29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcI
 +
Y29uc3RhbnQDAAAAAAAAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhj
 +
b25zdGFudAQFbWl4ZXI=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|-
|craft output machine
+
|dust_up_process_ore
|
 
*key 4 (in factory)
 
 
 
<br />
 
|<br />
 
 
 
*not busy crafting & crafting machines
 
|4
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global int craft_output
 
:global int y
 
:global int x
 
 
 
key.4()
 
(global.int.get("craft_busy") == 0 & global.int.get("craft_mode") == 2 & isopen("factory"))
 
 
 
x = d2i(floor(((x(position()) / i2d(width()) - 0.41) / 0.10) + 1.0))
 
y = d2i(floor(((0.80 - y(position()) / i2d(height())) / 0.214)))
 
 
 
gotoif(99, x<1 | x>5 | y<0 | y>1)
 
craft_output = x + y*5
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
FGNyYWZ0IG91dHB1dCBtYWNoaW5lAQAAAAVrZXkuNAEAAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlz
 
b24uYm9vbA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQKY3JhZnRfYnVzeQhj
 
b25zdGFudAQCPT0IY29uc3RhbnQCAAAAAAhjb25zdGFudAQBJg5jb21wYXJpc29uLmludA5nbG9iYWwu
 
aW50LmdldAhjb25zdGFudAQKY3JhZnRfbW9kZQhjb25zdGFudAQCPT0IY29uc3RhbnQCAgAAAAhjb25z
 
dGFudAQBJhJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkEAAAADmdsb2JhbC5pbnQu
 
c2V0CGNvbnN0YW50BAF4A2QyaQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRp
 
Yy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUGdmVjMi54Dm1vdXNlLnBv
 
c2l0aW9uCGNvbnN0YW50BAEvA2kyZAxzY3JlZW4ud2lkdGgIY29uc3RhbnQEAS0IY29uc3RhbnQDPQrX
 
o3A92j8IY29uc3RhbnQEAS8IY29uc3RhbnQDmpmZmZmZuT8IY29uc3RhbnQEASsIY29uc3RhbnQDAAAA
 
AAAA8D8OZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEAXkDZDJpDGRvdWJsZS5mbG9vchFhcml0aG1ldGlj
 
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZQhjb25zdGFudAOamZmZmZnpPwhjb25zdGFudAQBLRFhcml0
 
aG1ldGljLmRvdWJsZQZ2ZWMyLnkObW91c2UucG9zaXRpb24IY29uc3RhbnQEAS8DaTJkDXNjcmVlbi5o
 
ZWlnaHQIY29uc3RhbnQEAS8IY29uc3RhbnQDMQisHFpkyz8OZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQC
 
YwAAAA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJp
 
c29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQBeAhjb25zdGFudAQBPAhjb25zdGFudAIBAAAA
 
CGNvbnN0YW50BAF8DmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAF4CGNvbnN0
 
YW50BAE+CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5n
 
ZXQIY29uc3RhbnQEAXkIY29uc3RhbnQEATwIY29uc3RhbnQCAAAAAAhjb25zdGFudAQBfA5jb21wYXJp
 
c29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQBeQhjb25zdGFudAQBPghjb25zdGFudAIBAAAA
 
Dmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BAxjcmFmdF9vdXRwdXQOYXJpdGhtZXRpYy5pbnQOZ2xvYmFs
 
LmludC5nZXQIY29uc3RhbnQEAXgIY29uc3RhbnQEASsOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5n
 
ZXQIY29uc3RhbnQEAXkIY29uc3RhbnQEASoIY29uc3RhbnQCBQAAAA==
 
 
 
</syntaxhighlight>
 
|}
 
|-
 
|craft ingot
 
 
|
 
|
 
|
 
|
Line 617: Line 430:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
; tier = global.int.get("craft_tier:ingot")
+
; Process ore into dust
; count = global.double.get("craft_count:ingot")
+
:global int dust_up_loop_tier
; verify_mode = global.int.get("craft_verify:ingot")
+
:global double dust_up_missing
global.int.set("craft_verify:ingot", 0)
+
:local double number_ore
gotoif(99, global.int.get("craft_tier:ingot") < 1 | global.int.get("craft_tier:ingot") > 10 | global.double.get("craft_count:ingot") <= 0.0 | global.int.get("craft_status") > 199)
+
:local double number_ore_used
 
 
gotoif(99, global.double.get("craft_count:ingot") <= count("ingot", global.int.get("craft_tier:ingot")))
 
gotoif(bad, global.double.get("craft_count:ingot") > count("ingot", global.int.get("craft_tier:ingot")) + count("dust", global.int.get("craft_tier:ingot")) - 1.0)
 
gotoif(99, global.int.get("craft_verify:ingot") > 0)
 
  waitwhile(active("oven"))
 
  produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
 
  waituntil(count("ingot", global.int.get("craft_tier:ingot")) >= global.double.get("craft_count:ingot"))
 
  goto(99) ; ok
 
 
 
bad: global.int.set("craft_require_tier", global.int.get("craft_tier:ingot"))
 
  global.double.set("craft_require_count", global.double.get("craft_count:ingot"))
 
  global.int.set("craft_status", 412)
 
  
 +
number_ore = count("ore",dust_up_loop_tier)
 +
gotoif(processpartially, number_ore > dust_up_missing)
 +
gotoif(99, number_ore < 1.0)
 +
waitwhile(active("crusher"))
 +
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
 +
dust_up_missing = dust_up_missing - number_ore
 +
goto(end)
 +
processpartially: number_ore_used = dust_up_missing
 +
waitwhile(active("crusher"))
 +
produce("ore", dust_up_loop_tier, number_ore_used, "crusher")
 +
dust_up_missing = 0.0
 +
end: waitwhile(active("crusher"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
C2NyYWZ0IGluZ290AAAAAAAAAAAMAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBJjcmFmdF92ZXJp
+
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAwAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQK
Znk6aW5nb3QIY29uc3RhbnQCAAAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJjAAAAD2NvbXBhcmlz
+
bnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQI
b24uYm9vbA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sDmNvbXBhcmlzb24uaW50Dmdsb2Jh
+
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29t
bC5pbnQuZ2V0CGNvbnN0YW50BBBjcmFmdF90aWVyOmluZ290CGNvbnN0YW50BAE8CGNvbnN0YW50AgEA
+
cGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25zdGFu
AAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0
+
dAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nDmdlbmVyaWMuZ290
X3RpZXI6aW5nb3QIY29uc3RhbnQEAT4IY29uc3RhbnQCCgAAAAhjb25zdGFudAQBfBFjb21wYXJpc29u
+
b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
LmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQRY3JhZnRfY291bnQ6aW5nb3QIY29uc3Rh
+
dAQKbnVtYmVyX29yZQhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxFnZW5lcmljLndhaXR3aGls
bnQEAjw9CGNvbnN0YW50AwAAAAAAAAAACGNvbnN0YW50BAF8DmNvbXBhcmlzb24uaW50Dmdsb2JhbC5p
+
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
bnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQEAT4IY29uc3RhbnQCxwAAAA5nZW5l
+
b25zdGFudAQDb3JlDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2Nh
cmljLmdvdG9pZghjb25zdGFudAJjAAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0
+
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25zdGFudAQCPD0TZmFjdG9yeS5pdGVtcy5jb3Vu
+
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFs
dAhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QO
+
LmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25zdGFudAQBLRBsb2NhbC5kb3Vi
Z2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91Ymxl
+
bGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlDGdlbmVyaWMuZ290bwhjb25zdGFudAIMAAAAEGxvY2Fs
LmdldAhjb25zdGFudAQRY3JhZnRfY291bnQ6aW5nb3QIY29uc3RhbnQEAT4RYXJpdGhtZXRpYy5kb3Vi
+
LmRvdWJsZS5zZXQIY29uc3RhbnQED251bWJlcl9vcmVfdXNlZBFnbG9iYWwuZG91YmxlLmdldAhjb25z
bGURYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xv
+
dGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3Rp
YmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEASsTZmFjdG9yeS5p
+
dmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmlu
dGVtcy5jb3VudAhjb25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGll
+
dC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
cjppbmdvdAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPw5nZW5lcmljLmdvdG9pZghjb25zdGFu
+
D251bWJlcl9vcmVfdXNlZAhjb25zdGFudAQHY3J1c2hlchFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFu
dAJjAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBJjcmFmdF92ZXJpZnk6
+
dAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3Rv
aW5nb3QIY29uc3RhbnQEAT4IY29uc3RhbnQCAAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1h
+
cnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXI=
Y2hpbmUuYWN0aXZlCGNvbnN0YW50BARvdmVuD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEZHVzdA5n
 
bG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdvdAtkb3VibGUuY2VpbBFhcml0aG1l
 
dGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQRY3JhZnRfY291bnQ6aW5nb3QIY29u
 
c3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQI
 
Y29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEBG92ZW4RZ2VuZXJpYy53YWl0dW50aWwR
 
Y29tcGFyaXNvbi5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QOZ2xvYmFs
 
LmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEAj49EWdsb2JhbC5kb3Vi
 
bGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAxnZW5lcmljLmdvdG8IY29uc3RhbnQCYwAA
 
AA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQSY3JhZnRfcmVxdWlyZV90aWVyDmdsb2JhbC5pbnQuZ2V0
 
CGNvbnN0YW50BBBjcmFmdF90aWVyOmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBNjcmFm
 
dF9yZXF1aXJlX2NvdW50EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdv
 
dA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQMY3JhZnRfc3RhdHVzCGNvbnN0YW50ApwBAAA=
 
 
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
|}
 
 
==Parts scripts==
 
{| class="wikitable"
 
|+
 
!Output
 
!Part
 
!Scripts
 
 
|-
 
|-
|1
+
|dust_up_process_ingot
|chips
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:1
 
|19
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
+
|13
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Chips
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double board_lo
 
:local double board_hi
 
:local double circuit_lo
 
:local double circuit_hi
 
 
 
tier = global.int.get("craft_tier:3.1")
 
count = global.double.get("craft_count:3.1")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
; Verify ingot resources
 
; Also craft lower tier chips for input
 
executesync("craft 3:1:in")
 
 
 
; Ensure we have enough ingots (lo)
 
board_lo = count * i2d((864410 / (10 ^ tier)) % 10)
 
circuit_lo = count * 2.0
 
global.int.set("craft_tier:ingot", tier * 2 - 1)
 
global.double.set("craft_count:ingot", max(0.0, board_lo - craft_inventory * (count("plate", tier * 2 - 1) + count("plate.circuit", tier * 2 - 1))) + max(0.0, ceil((circuit_lo - craft_inventory * (count("cable", tier * 2 - 1) + count("circuit", tier * 2 - 1)))/2.0)))
 
executesync("craft ingot")
 
 
 
; Ensure we have enough ingots (hi)
 
board_hi = count * i2d((862210 / (10 ^ tier)) % 10)
 
circuit_hi = count * i2d((224420 / (10 ^ tier)) % 10)
 
global.int.set("craft_tier:ingot", tier * 2)
 
global.double.set("craft_count:ingot", max(0.0, board_hi - craft_inventory * (count("plate", tier * 2) + count("plate.circuit", tier * 2))) + max(0.0, ceil((circuit_hi - craft_inventory * (count("cable", tier * 2) + count("circuit", tier * 2)))/2.0)))
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
execute("craft 3:1:board")
 
execute("craft 3:1:circuit")
 
 
 
waituntil(count("plate.circuit", tier * 2 - 1) >= board_lo & count("plate.circuit", tier * 2) >= board_hi & count("circuit", tier * 2 - 1) >= circuit_lo & count("circuit", tier * 2) >= circuit_hi)
 
craft("chip", tier, count)
 
 
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
CWNyYWZ0IDM6MQAAAAAAAAAAEwAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmdsb2JhbC5p
 
bnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAVj
 
b3VudBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xDmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AmMAAAAPY29tcGFyaXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA5jb21wYXJpc29u
 
LmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAE8CGNvbnN0YW50AgEAAAAI
 
Y29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25z
 
dGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQEBWNvdW50CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVy
 
aWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEDGNyYWZ0IDM6MTppbhBsb2NhbC5kb3VibGUuc2V0CGNvbnN0
 
YW50BAhib2FyZF9sbxFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVj
 
b3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQC
 
mjANAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAQbG9j
 
YWwuZG91YmxlLnNldAhjb25zdGFudAQKY2lyY3VpdF9sbxFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5k
 
b3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQA5nbG9i
 
YWwuaW50LnNldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdvdA5hcml0aG1ldGljLmludA5hcml0aG1l
 
dGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIA
 
AAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAABFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRY3Jh
 
ZnRfY291bnQ6aW5nb3QRYXJpdGhtZXRpYy5kb3VibGUKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAA
 
ABFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9sbwhjb25z
 
dGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRf
 
aW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQI
 
Y29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQI
 
Y29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFu
 
dAIBAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1
 
aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGll
 
cghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3Rh
 
bnQEASsKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRv
 
dWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xv
 
CGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9j
 
cmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5j
 
b3VudAhjb25zdGFudAQFY2FibGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50
 
LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNv
 
bnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQHY2lyY3Vp
 
dA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVy
 
CGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAAAhjb25zdGFu
 
dAQBLwhjb25zdGFudAMAAAAAAAAAQBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtjcmFmdCBp
 
bmdvdBBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAhib2FyZF9oaRFhcml0aG1ldGljLmRvdWJsZRBs
 
b2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCAigNAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhj
 
b25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25z
 
dGFudAQDbW9kCGNvbnN0YW50AgoAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQKY2lyY3VpdF9o
 
aRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFu
 
dAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCpGwDAAhjb25zdGFu
 
dAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAOZ2xvYmFsLmludC5zZXQI
 
Y29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25z
 
dGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0
 
YW50BBFjcmFmdF9jb3VudDppbmdvdBFhcml0aG1ldGljLmRvdWJsZQpkb3VibGUubWF4CGNvbnN0YW50
 
AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJk
 
X2hpCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
 
BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVt
 
cy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhj
 
b25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErCmRvdWJsZS5t
 
YXgIY29uc3RhbnQDAAAAAAAAAAALZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9oaQhjb25zdGFudAQBLRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
 
BWNhYmxlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdj
 
aXJjdWl0DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLwhjb25zdGFudAMAAAAAAAAAQBNnZW5lcmljLmV4ZWN1
 
dGVzeW5jCGNvbnN0YW50BAtjcmFmdCBpbmdvdA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJjAAAADmNv
 
bXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQE
 
AT4IY29uc3RhbnQCxwAAAA9nZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQED2NyYWZ0IDM6MTpib2FyZA9n
 
ZW5lcmljLmV4ZWN1dGUIY29uc3RhbnQEEWNyYWZ0IDM6MTpjaXJjdWl0EWdlbmVyaWMud2FpdHVudGls
 
D2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wPY29tcGFyaXNvbi5ib29sEWNvbXBhcmlzb24u
 
ZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQB
 
Kghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAj49EGxvY2Fs
 
LmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2xvCGNvbnN0YW50BAEmEWNvbXBhcmlzb24uZG91Ymxl
 
E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
 
YW50BAI+PRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9oaQhjb25zdGFudAQBJhFjb21w
 
YXJpc29uLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0
 
aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQE
 
ASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAACGNvbnN0YW50BAI+PRBsb2Nh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xvCGNvbnN0YW50BAEmEWNvbXBhcmlzb24uZG91
 
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9j
 
YWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50
 
BAI+PRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2hpDWZhY3RvcnkuY3JhZnQIY29u
 
c3RhbnQEBGNoaXANbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllchBsb2NhbC5kb3VibGUuZ2V0CGNv
 
bnN0YW50BAVjb3VudA==
 
 
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:1:in
 
|18
 
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 835: Line 483:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global double craft_inventory
+
; Process ingots into dust
:local int tier
+
:global int dust_up_loop_tier
:local double count
+
:global double dust_up_missing
 
+
:local double number_ingot
tier = global.int.get("craft_tier:3.1")
+
:local double number_ingot_used
count = global.double.get("craft_count:3.1")
+
:global double dust_up_use_ingots
 
 
; Ingots (lo)
 
;  board_lo = global.double.get("craft_count:3.1") * i2d((864410 / (10 ^ mytier)) % 10)
 
;   circuit_lo = global.double.get("craft_count:3.1") * 2.0
 
global.int.set("craft_tier:ingot", tier * 2 - 1)
 
global.double.set("craft_count:ingot", max(0.0, count * i2d((864410 / (10 ^ tier)) % 10) - craft_inventory * (count("plate", tier * 2 - 1) + count("plate.circuit", tier * 2 - 1))) + max(0.0, ceil((count*2.0 - craft_inventory * (count("cable", tier * 2 - 1) + count("circuit", tier * 2 - 1)))/2.0)))
 
global.int.set("craft_verify:ingot", 1)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Ingots (hi)
 
;  board_hi = global.double.get("craft_count:3.1") * i2d((862210 / (10 ^ mytier)) % 10)
 
;  circuit_hi = global.double.get("craft_count:3.1") * i2d((224420 / (10 ^ mytier)) % 10)
 
global.int.set("craft_tier:ingot", tier * 2)
 
global.double.set("craft_count:ingot", max(0.0, count * i2d((862210 / (10 ^ tier)) % 10) - craft_inventory * (count("plate", tier * 2) + count("plate.circuit", tier * 2))) + max(0.0, ceil((count * i2d((224420 / (10 ^ tier)) % 10) - craft_inventory * (count("cable", tier * 2) + count("circuit", tier * 2)))/2.0)))
 
global.int.set("craft_verify:ingot", 1)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Input chips
 
global.int.set("craft_tier:3.1", tier - 1)
 
global.double.set("craft_count:3.1", count * 2.0 * (floor(664200.0 / (10.0 ^ i2d(tier))) % 10.0) - craft_inventory * count("chip", tier - 1))
 
executesync("craft part:1")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
; Restore state for this tier
 
global.int.set("craft_tier:3.1", tier)
 
global.double.set("craft_count:3.1", count)
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
DGNyYWZ0IDM6MTppbgAAAAAAAAAAEgAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmdsb2Jh
 
bC5pbnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50
 
BAVjb3VudBFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xDmdsb2JhbC5p
 
bnQuc2V0CGNvbnN0YW50BBBjcmFmdF90aWVyOmluZ290DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMu
 
aW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhj
 
b25zdGFudAQBLQhjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBFjcmFmdF9j
 
b3VudDppbmdvdBFhcml0aG1ldGljLmRvdWJsZQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFy
 
aXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
BWNvdW50CGNvbnN0YW50BAEqA2kyZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludAhjb25zdGFu
 
dAKaMA0ACGNvbnN0YW50BAEvDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29uc3RhbnQEA3Bv
 
dw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAAhj
 
b25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
 
bnQIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5n
 
ZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25z
 
dGFudAIBAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNp
 
cmN1aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQE
 
dGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29u
 
c3RhbnQEASsKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGlj
 
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0
 
CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
 
BWNhYmxlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQE
 
BHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAACGNv
 
bnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQD
 
AAAAAAAAAEAOZ2xvYmFsLmludC5zZXQIY29uc3RhbnQEEmNyYWZ0X3ZlcmlmeTppbmdvdAhjb25zdGFu
 
dAIBAAAAE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC2NyYWZ0IGluZ290DmdlbmVyaWMuZ290
 
b2lmCGNvbnN0YW50AmMAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNy
 
YWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50
 
BBBjcmFmdF90aWVyOmluZ290DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRp
 
ZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRY3Jh
 
ZnRfY291bnQ6aW5nb3QRYXJpdGhtZXRpYy5kb3VibGUKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAA
 
ABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0
 
YW50BAVjb3VudAhjb25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29u
 
c3RhbnQCAigNAAhjb25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50
 
BANwb3cNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoA
 
AAAIY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
D2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
 
b3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsKZG91YmxlLm1h
 
eAhjb25zdGFudAMAAAAAAAAAAAtkb3VibGUuY2VpbBFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
 
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAVjb3VudAhj
 
b25zdGFudAQBKgNpMmQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQIY29uc3RhbnQCpGwDAAhj
 
b25zdGFudAQBLw5hcml0aG1ldGljLmludAhjb25zdGFudAIKAAAACGNvbnN0YW50BANwb3cNbG9jYWwu
 
aW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNvbnN0YW50AgoAAAAIY29uc3RhbnQE
 
AS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVu
 
dG9yeQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0
 
YW50BAVjYWJsZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0
 
YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
 
dAQHY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0
 
YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEAOZ2xvYmFsLmlu
 
dC5zZXQIY29uc3RhbnQEEmNyYWZ0X3ZlcmlmeTppbmdvdAhjb25zdGFudAIBAAAAE2dlbmVyaWMuZXhl
 
Y3V0ZXN5bmMIY29uc3RhbnQEC2NyYWZ0IGluZ290DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAO
 
Y29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFu
 
dAQBPghjb25zdGFudALHAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMQ5h
 
cml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEtCGNvbnN0
 
YW50AgEAAAARZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2NyYWZ0X2NvdW50OjMuMRFhcml0aG1l
 
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BAVjb3VudAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQB
 
KhFhcml0aG1ldGljLmRvdWJsZQxkb3VibGUuZmxvb3IRYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQD
 
AAAAABBFJEEIY29uc3RhbnQEAS8RYXJpdGhtZXRpYy5kb3VibGUIY29uc3RhbnQDAAAAAAAAJEAIY29u
 
c3RhbnQEA3BvdwNpMmQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQDbW9kCGNv
 
bnN0YW50AwAAAAAAACRACGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3Vu
 
dAhjb25zdGFudAQEY2hpcA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVy
 
CGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQMY3Jh
 
ZnQgcGFydDoxDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
 
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmds
 
b2JhbC5pbnQuc2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMQ1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50
 
BAR0aWVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9jcmFmdF9jb3VudDozLjEQbG9jYWwuZG91
 
YmxlLmdldAhjb25zdGFudAQFY291bnQ=
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:1:board
 
|15
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double board_lo
 
:local double board_hi
 
 
 
tier = global.int.get("craft_tier:3.1")
 
board_lo = global.double.get("craft_count:3.1") * i2d((864410 / (10 ^ tier)) % 10)
 
board_hi = global.double.get("craft_count:3.1") * i2d((862210 / (10 ^ tier)) % 10)
 
 
 
; Craft plates
 
lo1: gotoif(hi1, board_lo <= craft_inventory * (count("plate.circuit", tier * 2 - 1) + count("plate", tier * 2 - 1)))
 
  waitwhile(active("presser"))
 
  produce("ingot", tier * 2 - 1, board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1) + count("plate", tier * 2 - 1)), "presser")
 
 
 
hi1: gotoif(lo2, board_hi <= craft_inventory * (count("plate.circuit", tier * 2) + count("plate", tier * 2)))
 
  waitwhile(active("presser"))
 
  produce("ingot", tier * 2, board_hi - craft_inventory * (count("plate.circuit", tier * 2) + count("plate", tier * 2)), "presser")
 
 
 
; Craft circuit boards
 
lo2: gotoif(hi2, board_lo <= craft_inventory * (count("plate.circuit", tier * 2 - 1)))
 
  waitwhile(active("refinery") | count("plate", tier * 2 - 1) < board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1)))
 
  produce("plate", tier * 2 - 1, board_lo - craft_inventory * (count("plate.circuit", tier * 2 - 1)), "refinery")
 
 
 
hi2: gotoif(99, board_hi <= craft_inventory * (count("plate.circuit", tier * 2)))
 
  waitwhile(active("refinery") | count("plate", tier * 2) < board_hi - craft_inventory * (count("plate.circuit", tier * 2)))
 
  produce("plate", tier * 2, board_hi - craft_inventory * (count("plate.circuit", tier * 2)), "refinery")
 
 
 
  
 +
gotoif(99, dust_up_use_ingots < 1.0)
 +
number_ingot = count("ingot",dust_up_loop_tier)
 +
gotoif(processpartially, number_ingot > dust_up_missing)
 +
gotoif(99, number_ingot < 1.0)
 +
waitwhile(active("crusher"))
 +
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
 +
dust_up_missing = dust_up_missing - number_ingot
 +
goto(end)
 +
processpartially: number_ingot_used = dust_up_missing
 +
waitwhile(active("crusher"))
 +
produce("ingot", dust_up_loop_tier, number_ingot_used, "crusher")
 +
dust_up_missing = 0.0
 +
end: waitwhile(active("crusher"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
D2NyYWZ0IDM6MTpib2FyZAAAAAAAAAAADwAAAA1sb2NhbC5pbnQuc2V0CGNvbnN0YW50BAR0aWVyDmds
+
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAADQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJj
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BA5jcmFmdF90aWVyOjMuMRBsb2NhbC5kb3VibGUuc2V0CGNvbnN0
+
AAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3Vz
YW50BAhib2FyZF9sbxFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
+
ZV9pbmdvdHMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91YmxlLnNldAhjb25z
Y3JhZnRfY291bnQ6My4xCGNvbnN0YW50BAEqA2kyZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmlu
+
dGFudAQMbnVtYmVyX2luZ290E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290Dmdsb2Jh
dAhjb25zdGFudAKaMA0ACGNvbnN0YW50BAEvDmFyaXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29u
+
bC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5nZW5lcmljLmdvdG9pZghjb25zdGFu
c3RhbnQEA3Bvdw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3Rh
+
dAIJAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9p
bnQCCgAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAhib2FyZF9oaRFhcml0aG1ldGljLmRvdWJs
+
bmdvdAhjb25zdGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5n
ZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfY291bnQ6My4xCGNvbnN0YW50BAEqA2ky
+
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
ZA5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludAhjb25zdGFudAICKA0ACGNvbnN0YW50BAEvDmFy
+
LmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdl
aXRobWV0aWMuaW50CGNvbnN0YW50AgoAAAAIY29uc3RhbnQEA3Bvdw1sb2NhbC5pbnQuZ2V0CGNvbnN0
+
bmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFj
YW50BAR0aWVyCGNvbnN0YW50BANtb2QIY29uc3RhbnQCCgAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFu
+
dG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91
dAIHAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2xv
+
cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50
CGNvbnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
+
BAdjcnVzaGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGht
Y3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMu
+
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25z
Y291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQN
+
dGFudAQBLRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QMZ2VuZXJpYy5nb3Rv
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
+
CGNvbnN0YW50Ag0AAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3VzZWQR
YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
+
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFnZW5lcmljLndhaXR3aGls
dAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
+
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAR
+
b25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxv
Z2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHcHJlc3Nlcg9m
+
Y2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEW51bWJlcl9pbmdvdF91c2VkCGNvbnN0YW50BAdjcnVzaGVy
YWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWluZ290DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50
+
EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAA
DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25z
+
AAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hl
dGFudAQBLQhjb25zdGFudAIBAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29u
+
cg==
c3RhbnQECGJvYXJkX2xvCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUT
 
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA5h
 
cml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0
 
YW50AgIAAAAIY29uc3RhbnQEAS0IY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA5hcml0aG1ldGljLmludA1sb2NhbC5p
 
bnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEAS0I
 
Y29uc3RhbnQCAQAAAAhjb25zdGFudAQHcHJlc3Nlcg5nZW5lcmljLmdvdG9pZghjb25zdGFudAIKAAAA
 
EWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2hpCGNvbnN0
 
YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRf
 
aW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQI
 
Y29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFu
 
dAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQE
 
BHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1h
 
Y2hpbmUuYWN0aXZlCGNvbnN0YW50BAdwcmVzc2VyD2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQFaW5n
 
b3QOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJv
 
YXJkX2hpCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
 
YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5p
 
dGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQu
 
Z2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFj
 
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAdwcmVzc2Vy
 
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50Ag0AAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
 
LmdldAhjb25zdGFudAQIYm9hcmRfbG8IY29uc3RhbnQEAjw9EWFyaXRobWV0aWMuZG91YmxlEWdsb2Jh
 
bC5kb3VibGUuZ2V0CGNvbnN0YW50BA9jcmFmdF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5p
 
dGVtcy5jb3VudAhjb25zdGFudAQNcGxhdGUuY2lyY3VpdA5hcml0aG1ldGljLmludA5hcml0aG1ldGlj
 
LmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAI
 
Y29uc3RhbnQEAS0IY29uc3RhbnQCAQAAABFnZW5lcmljLndhaXR3aGlsZQ9jb21wYXJpc29uLmJvb2wW
 
ZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQIcmVmaW5lcnkIY29uc3RhbnQEAXwRY29tcGFy
 
aXNvbi5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5p
 
bnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghj
 
b25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEATwRYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRfbG8IY29uc3RhbnQEAS0RYXJp
 
dGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhj
 
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1wbGF0ZS5jaXJjdWl0DmFyaXRo
 
bWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3Rh
 
bnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAD2ZhY3RvcnkucHJvZHVj
 
ZQhjb25zdGFudAQFcGxhdGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50Lmdl
 
dAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0
 
YW50AgEAAAARYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRf
 
bG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQE
 
D2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1w
 
bGF0ZS5jaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29u
 
c3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIB
 
AAAACGNvbnN0YW50BAhyZWZpbmVyeQ5nZW5lcmljLmdvdG9pZghjb25zdGFudAJjAAAAEWNvbXBhcmlz
 
b24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECGJvYXJkX2hpCGNvbnN0YW50BAI8PRFh
 
cml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5
 
CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJp
 
dGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFu
 
dAICAAAAEWdlbmVyaWMud2FpdHdoaWxlD2NvbXBhcmlzb24uYm9vbBZmYWN0b3J5Lm1hY2hpbmUuYWN0
 
aXZlCGNvbnN0YW50BAhyZWZpbmVyeQhjb25zdGFudAQBfBFjb21wYXJpc29uLmRvdWJsZRNmYWN0b3J5
 
Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVwbGF0ZQ5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNv
 
bnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEATwRYXJpdGhtZXRp
 
Yy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIYm9hcmRfaGkIY29uc3RhbnQEAS0RYXJp
 
dGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhj
 
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BA1wbGF0ZS5jaXJjdWl0DmFyaXRo
 
bWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQC
 
AgAAAA9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBXBsYXRlDmFyaXRobWV0aWMuaW50DWxvY2FsLmlu
 
dC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAABFhcml0aG1ldGljLmRv
 
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhib2FyZF9oaQhjb25zdGFudAQBLRFhcml0aG1l
 
dGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0
 
YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEDXBsYXRlLmNpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAA
 
CGNvbnN0YW50BAhyZWZpbmVyeQ==
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|-
|craft 3:1:circuit
+
|dust_up_mix
|15
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double circuit_lo
 
:local double circuit_hi
 
 
tier = global.int.get("craft_tier:3.1")
 
circuit_lo = global.double.get("craft_count:3.1") * 2.0
 
circuit_hi = global.double.get("craft_count:3.1") * i2d((224420 / (10 ^ tier)) % 10)
 
  
; Craft cables
 
lo1: gotoif(hi1, circuit_lo <= craft_inventory * (count("circuit", tier * 2 - 1) + count("cable", tier * 2 - 1)))
 
waitwhile(active("refinery"))
 
produce("ingot", tier * 2 - 1, ceil((circuit_lo - craft_inventory * (count("circuit", tier * 2 - 1) + count("cable", tier * 2 - 1))) / 2.0), "refinery")
 
 
hi1: gotoif(lo2, circuit_hi <= craft_inventory * (count("circuit", tier * 2) + count("cable", tier * 2)))
 
waitwhile(active("refinery"))
 
produce("ingot", tier * 2, ceil((circuit_hi - craft_inventory * (count("circuit", tier * 2) + count("cable", tier * 2))) / 2.0), "refinery")
 
 
; Craft circuit wires
 
lo2: gotoif(hi2, circuit_lo <= craft_inventory * count("circuit", tier * 2 - 1))
 
  waitwhile(count("cable", tier * 2 - 1) < circuit_lo - craft_inventory * count("circuit", tier * 2 - 1) | active("assembler"))
 
  produce("cable", tier * 2 - 1, circuit_lo - craft_inventory * count("circuit", tier * 2 - 1), "assembler")
 
 
hi2: gotoif(99, circuit_hi <= craft_inventory * count("circuit", tier * 2))
 
  waitwhile(count("cable", tier * 2) < circuit_hi - craft_inventory * count("circuit", tier * 2) | active("assembler"))
 
  produce("cable", tier * 2, circuit_hi - craft_inventory * count("circuit", tier * 2), "assembler")
 
 
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
EWNyYWZ0IDM6MTpjaXJjdWl0AAAAAAAAAAAPAAAADWxvY2FsLmludC5zZXQIY29uc3RhbnQEBHRpZXIO
 
Z2xvYmFsLmludC5nZXQIY29uc3RhbnQEDmNyYWZ0X3RpZXI6My4xEGxvY2FsLmRvdWJsZS5zZXQIY29u
 
c3RhbnQECmNpcmN1aXRfbG8RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3Rh
 
bnQED2NyYWZ0X2NvdW50OjMuMQhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQBBsb2NhbC5kb3Vi
 
bGUuc2V0CGNvbnN0YW50BApjaXJjdWl0X2hpEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUu
 
Z2V0CGNvbnN0YW50BA9jcmFmdF9jb3VudDozLjEIY29uc3RhbnQEASoDaTJkDmFyaXRobWV0aWMuaW50
 
DmFyaXRobWV0aWMuaW50CGNvbnN0YW50AqRsAwAIY29uc3RhbnQEAS8OYXJpdGhtZXRpYy5pbnQIY29u
 
c3RhbnQCCgAAAAhjb25zdGFudAQDcG93DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3Rh
 
bnQEA21vZAhjb25zdGFudAIKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgcAAAARY29tcGFyaXNv
 
bi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9sbwhjb25zdGFudAQCPD0R
 
YXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9y
 
eQhjb25zdGFudAQBKhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
 
BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3Rh
 
bnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAA
 
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMu
 
aW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoI
 
Y29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZh
 
Y3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQECHJlZmluZXJ5D2ZhY3RvcnkucHJvZHVjZQhjb25z
 
dGFudAQFaW5nb3QOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25z
 
dGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEA
 
AAALZG91YmxlLmNlaWwRYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91
 
YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9sbwhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFn
 
bG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRo
 
bWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRp
 
Yy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQB
 
Kghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsTZmFjdG9y
 
eS5pdGVtcy5jb3VudAhjb25zdGFudAQFY2FibGUOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQN
 
bG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0
 
YW50BAEtCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
 
CHJlZmluZXJ5DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAARY29tcGFyaXNvbi5kb3VibGUQbG9j
 
YWwuZG91YmxlLmdldAhjb25zdGFudAQKY2lyY3VpdF9oaQhjb25zdGFudAQCPD0RYXJpdGhtZXRpYy5k
 
b3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQB
 
KhFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFy
 
aXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3Rh
 
bnQCAgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVjYWJsZQ5hcml0
 
aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50
 
AgIAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQIcmVm
 
aW5lcnkPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5hcml0aG1ldGljLmludA1sb2NhbC5p
 
bnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIAAAALZG91YmxlLmNlaWwR
 
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
 
dAQKY2lyY3VpdF9oaQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
 
dAhjb25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqEWFyaXRobWV0aWMuZG91YmxlE2Zh
 
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50
 
LmdldAhjb25zdGFudAQEdGllcghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAErE2Zh
 
Y3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5n
 
ZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLwhjb25z
 
dGFudAMAAAAAAAAAQAhjb25zdGFudAQIcmVmaW5lcnkOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCDQAA
 
ABFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2xvCGNv
 
bnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPY3Jh
 
ZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEB2NpcmN1
 
aXQOYXJpdGhtZXRpYy5pbnQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGll
 
cghjb25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAEtCGNvbnN0YW50AgEAAAARZ2VuZXJp
 
Yy53YWl0d2hpbGUPY29tcGFyaXNvbi5ib29sEWNvbXBhcmlzb24uZG91YmxlE2ZhY3RvcnkuaXRlbXMu
 
Y291bnQIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2FsLmlu
 
dC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQBLQhj
 
b25zdGFudAIBAAAACGNvbnN0YW50BAE8EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQI
 
Y29uc3RhbnQECmNpcmN1aXRfbG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1z
 
LmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMuaW50DWxvY2Fs
 
LmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhjb25zdGFudAQB
 
LQhjb25zdGFudAIBAAAACGNvbnN0YW50BAF8FmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQE
 
CWFzc2VtYmxlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0aWMuaW50DmFy
 
aXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3Rh
 
bnQCAgAAAAhjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRv
 
dWJsZS5nZXQIY29uc3RhbnQECmNpcmN1aXRfbG8IY29uc3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUR
 
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2NyYWZ0X2ludmVudG9yeQhjb25zdGFudAQBKhNmYWN0
 
b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAdjaXJjdWl0DmFyaXRobWV0aWMuaW50DmFyaXRobWV0aWMu
 
aW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAAAAhj
 
b25zdGFudAQBLQhjb25zdGFudAIBAAAACGNvbnN0YW50BAlhc3NlbWJsZXIOZ2VuZXJpYy5nb3RvaWYI
 
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApj
 
aXJjdWl0X2hpCGNvbnN0YW50BAI8PRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
 
c3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghj
 
b25zdGFudAQBKghjb25zdGFudAICAAAAEWdlbmVyaWMud2FpdHdoaWxlD2NvbXBhcmlzb24uYm9vbBFj
 
b21wYXJpc29uLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVjYWJsZQ5hcml0aG1l
 
dGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNvbnN0YW50AgIA
 
AAAIY29uc3RhbnQEATwRYXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQK
 
Y2lyY3VpdF9oaQhjb25zdGFudAQBLRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 
b25zdGFudAQPY3JhZnRfaW52ZW50b3J5CGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29u
 
c3RhbnQEB2NpcmN1aXQOYXJpdGhtZXRpYy5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQEdGllcghj
 
b25zdGFudAQBKghjb25zdGFudAICAAAACGNvbnN0YW50BAF8FmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
 
Y29uc3RhbnQECWFzc2VtYmxlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3RhbnQEBWNhYmxlDmFyaXRobWV0
 
aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQEBHRpZXIIY29uc3RhbnQEASoIY29uc3RhbnQCAgAA
 
ABFhcml0aG1ldGljLmRvdWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BApjaXJjdWl0X2hpCGNv
 
bnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9jcmFm
 
dF9pbnZlbnRvcnkIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQHY2lyY3Vp
 
dA5hcml0aG1ldGljLmludA1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAR0aWVyCGNvbnN0YW50BAEqCGNv
 
bnN0YW50AgIAAAAIY29uc3RhbnQECWFzc2VtYmxlcg==
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|2
 
|plates
 
 
|
 
|
{| class="wikitable"
+
|10
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:2
 
|9
 
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 1,227: Line 542:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
; Regular plates
+
:global int dust_up_loop_tier
:global int craft_status
+
:local double mix_left
:local double count
+
:local double mix_now
:local int tier
 
 
 
tier = global.int.get("craft_tier:3.2")
 
count = global.double.get("craft_count:3.2")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count)
 
executesync("craft ingot")
 
gotoif(99, craft_status > 199)
 
 
 
waitwhile(active("presser"))
 
produce("ingot", tier, count, "presser")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|3
 
|dense plates
 
|
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:3
 
|14
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Dense plates
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double plates
 
 
 
tier = global.int.get("craft_tier:3.3")
 
count = global.double.get("craft_count:3.3")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
plates = count * 9.0 - craft_inventory * count("plate.stack", tier)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", plates)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
  
plates: gotoif(stacks, plates <= craft_inventory * count("plate", tier))
+
gotoif(99, dust_up_loop_tier >= 10)
  waitwhile(active("presser"))
+
waitwhile(active("mixer"))
  produce("ingot", tier, plates - craft_inventory * count("plate", tier), "presser")
+
mix_left = global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1))
 
+
loop: gotoif(finish, mix_left < 1.0)
stacks: waitwhile(count("plate", tier) < plates | active("presser"))
+
mix_now = min(mix_left, count("dust", dust_up_loop_tier + 1))
  craft("plate.stack", tier, count - craft_inventory * count("plate.stack", tier))
+
craft("lump", dust_up_loop_tier, mix_now)
  produce("plate.stack", tier, count, "presser")
+
produce("lump", dust_up_loop_tier, mix_now, "mixer")
 +
mix_left = mix_left - mix_now
 +
goto(loop)
 +
finish: waitwhile(active("mixer"))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
x
+
C2R1c3RfdXBfbWl4AAAAAAAAAAAKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFy
 +
aXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
 +
BAI+PQhjb25zdGFudAIKAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
 +
Y29uc3RhbnQEBW1peGVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECG1peF9sZWZ0EWdsb2JhbC5k
 +
b3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGht
 +
ZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
 +
BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABFjb21wYXJpc29uLmRv
 +
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhtaXhfbGVmdAhjb25zdGFudAQBPAhjb25zdGFu
 +
dAMAAAAAAADwPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAdtaXhfbm93CmRvdWJsZS5taW4QbG9j
 +
YWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
 +
dAQEZHVzdA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29w
 +
X3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0YW50BARsdW1w
 +
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2NhbC5kb3VibGUuZ2V0
 +
CGNvbnN0YW50BAdtaXhfbm93D2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA5nbG9iYWwuaW50
 +
LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQH
 +
bWl4X25vdwhjb25zdGFudAQFbWl4ZXIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIbWl4X2xlZnQR
 +
YXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQIY29uc3Rh
 +
bnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHbWl4X25vdwxnZW5lcmljLmdvdG8IY29uc3Rh
 +
bnQCBAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAVt
 +
aXhlcg==
 
</syntaxhighlight>
 
</syntaxhighlight>
|}
 
 
|}
 
|}
 
|-
 
|-
|4
+
|dust_up_finalize
|blocks
 
 
|
 
|
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:4
 
|10
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Blocks
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double platesperblock
 
:local double stacks
 
:local double plates
 
 
tier = global.int.get("craft_tier:3.4")
 
count = global.double.get("craft_count:3.4")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
plates: platesperblock = 4.0 * round((33332222220.0 / (10.0 ^ i2d(tier))) % 10.0)
 
  global.int.set("craft_tier:3.3", tier)
 
  global.double.set("craft_count:3.3", count * platesperblock - craft_inventory * count("plate.dense", tier))
 
  executesync("craft part:3")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
waitwhile(count("plate.dense", tier) < count * platesperblock)
 
craft("block", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
 
|5
 
|5
|cables
 
|
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:5
 
|9
 
 
|
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
{| class="wikitable mw-collapsible mw-collapsed"
Line 1,356: Line 591:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
; Cables
+
:global int target_dust_tier
:global double craft_inventory
+
:global double target_dust_count
:local int tier
+
:global int dust_up_loop_tier
:local double count
+
:global double dust_up_missing
 +
:global double dust_up_use_ingots
  
tier = global.int.get("craft_tier:3.5")
+
gotoif(99, dust_up_loop_tier != target_dust_tier)
count = global.double.get("craft_count:3.5")
+
dust_up_missing = max(0.0, target_dust_count - count("dust", dust_up_loop_tier) - (count("ingot", dust_up_loop_tier) * dust_up_use_ingots))
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
+
gotoif(99, dust_up_missing < 1.0)
 
+
executesync("dust_up_process_lump")
global.int.set("craft_tier:ingot", tier)
+
executesync("dust_up_process_ore")
global.double.set("craft_count:ingot", count / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
waitwhile(active("refinery"))
 
produce("ingot", tier, ceil(count / 2.0), "refinery")
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
x
+
EGR1c3RfdXBfZmluYWxpemUAAAAAAAAAAAUAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5j
 +
b21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
 +
c3RhbnQEAiE9Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5k
 +
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcKZG91YmxlLm1heAhjb25zdGFudAMAAAAA
 +
AAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
 +
b25zdGFudAQRdGFyZ2V0X2R1c3RfY291bnQIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhj
 +
b25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
 +
c3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5n
 +
b3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAEqEWds
 +
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMOZ2VuZXJpYy5nb3RvaWYI
 +
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
 +
ZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0
 +
ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29u
 +
c3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmU=
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|}
 
|}
|-
 
|6
 
|insulated cables
 
|
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:6
 
|17
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Insulated cables
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double cables
 
:local double rubber
 
  
tier = global.int.get("craft_tier:3.6")
+
===Examples of integrating the Dust Up scripts===
count = global.double.get("craft_count:3.6")
+
<br />
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
cables = count * max(max(1.0, i2d(tier) - 2.0), max(10.0 - (5.0 * ((i2d(tier) - 8.0) ^ 2.0)), ceil(((i2d(tier) - 1.0) ^ 1.5) - 11.0)))
 
rubber = count * max(0.0, ((2.0 * i2d(tier)) - 4.0) - max(0.0, 2.0 - ((i2d(tier) - 8.0) * (i2d(tier) - 9.0))))
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", (cables - count("cable", tier)) / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
cables: gotoif(rubber, cables <= craft_inventory * count("cable", tier))
 
  waitwhile(active("refinery"))
 
  produce("ingot", tier, ceil((cables - craft_inventory * count("cable", tier)) / 2.0), "refinery")
 
 
 
rubber: gotoif(craft, rubber <= count("plate.rubber", 1))
 
  waitwhile(active("presser"))
 
  produce("rubber", tier, rubber, "presser")
 
 
 
craft: waituntil(count("cable", tier) >= cables & count("plate.rubber", 1) >= rubber)
 
craft("cable.insulated", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|7
 
|rods
 
|
 
 
{| class="wikitable"
 
{| class="wikitable"
 
!Name
 
!Name
 +
!Impulses
 +
!Conditions
 
!Lines
 
!Lines
 
!Code
 
!Code
 
|-
 
|-
|craft 3:7
+
|Troylaurin's crafting scripts:
|9
+
"craft ingot"
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Rods
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
 
tier = global.int.get("craft_tier:3.7")
 
count = global.double.get("craft_count:3.7")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count / 2.0)
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
  
waitwhile(active("refinery"))
+
as of 2021-01-19
produce("ingot", tier, ceil(count / 2.0), "shaper")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|-
 
|8
 
|motors
 
|
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|craft 3:8
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Motor
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double plates
 
 
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
 
 
; ingots
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count * 5.625) ; TODO count existing bits
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
execute("craft part:8:rods")
 
execute("craft part:8:wire")
 
 
; plates
 
;plates = count * 4.0
 
 
gotoif(wait, count * 4.0 <= craft_inventory * count("plate", global.int.get("craft_tier:3.2")))
 
waitwhile(active("presser"))
 
produce("ingot", tier, count * 4.0 - craft_inventory * count("plate", tier), "presser")
 
 
wait: waituntil(count("plate", tier) >= count * 4.0 & count("rod", tier) >= count * 2.0 & count("screw", tier) >= count & count("wire", tier) >= count)
 
craft("motor", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:8:rods
 
|14
 
 
|
 
|
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
:local double rods
 
;:local double screws
 
 
; rods & screws
 
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
;screws = count
 
rods = count * 2.0 + max(0.0, ceil((count - craft_inventory * count("screw", tier))/4.0))
 
 
; gotoif
 
waitwhile(active("shaper"))
 
produce("ingot", tier, ceil((rods - craft_inventory * count("rod", tier))/2.0), "shaper")
 
 
; gotoif
 
waitwhile(count("rod", tier) < (count - craft_inventory * count("screw", tier))/4.0 | active("cutter"))
 
produce("rod", tier, ceil((count - craft_inventory * count("screw", tier))/4.0), "cutter")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:8:wire
 
 
|14
 
|14
 
|
 
|
Line 1,561: Line 644:
 
|-
 
|-
 
|<syntaxhighlight lang="actionscript">
 
|<syntaxhighlight lang="actionscript">
:global double craft_inventory
+
:global double craft_require_count
:local int tier
+
:global int craft_require_tier
:local double count
+
:global int craft_status
 +
:global double resources_needed_tier_1
 +
:global int target_dust_tier
 +
:global double target_dust_count
 +
:global double dust_up_use_ingots
  
; rods & screws
+
gotoif(99, (((global.int.get("craft_tier:ingot") < 1) | (global.int.get("craft_tier:ingot") > 10)) | (global.double.get("craft_count:ingot") <= 0.0)) | (craft_status > 199))
tier = global.int.get("craft_tier:3.8")
 
count = global.double.get("craft_count:3.8")
 
  
gotoif(wire, count <= craft_inventory * (count("cable", tier) + count("wire", tier)))
+
gotoif(99, global.double.get("craft_count:ingot") <= count("ingot", global.int.get("craft_tier:ingot")))
waitwhile(active("refinery"))
 
produce("ingot", tier, ceil((count - craft_inventory * (count("cable", tier) + count("wire", tier)))/2.0), "refinery")
 
  
wire: gotoif(99, count <= craft_inventory * count("wire", tier))
+
target_dust_tier = global.int.get("craft_tier:ingot")
waitwhile(count("cable", tier) < count - count - craft_inventory * count("wire", tier) | active("refinery"))
+
target_dust_count = ceil(global.double.get("craft_count:ingot"))
produce("cable", tier, count - craft_inventory * count("wire", tier), "refinery")
+
dust_up_use_ingots = 0.0
 +
executesync("dust_up_integrated")
 +
gotoif(bad, resources_needed_tier_1 > 0.0)
  
 +
waitwhile(active("oven"))
 +
produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
 +
waitwhile(active("oven"))
 +
goto(99)
 +
bad: craft_require_tier = global.int.get("craft_tier:ingot")
 +
craft_require_count = global.double.get("craft_count:ingot")
 +
craft_status = 412
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
 
|<syntaxhighlight lang="text">
 
|<syntaxhighlight lang="text">
x
+
C2NyYWZ0IGluZ290AAAAAAAAAAAOAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGFy
</syntaxhighlight>
+
aXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xv
|}
+
YmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEATwIY29uc3RhbnQC
|}
+
AQAAAAhjb25zdGFudAQBfA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3Jh
|-
+
ZnRfdGllcjppbmdvdAhjb25zdGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlz
|9
+
b24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25z
|pumps
+
dGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
|
+
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdl
{| class="wikitable"
+
bmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5n
!Name
+
ZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290CGNvbnN0YW50BAI8PRNmYWN0b3J5Lml0ZW1zLmNv
!Lines
+
dW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdv
!Code
+
dA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllcg5nbG9iYWwuaW50LmdldAhj
|-
+
b25zdGFudAQQY3JhZnRfdGllcjppbmdvdBFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRdGFyZ2V0
|craft 3:9
+
X2R1c3RfY291bnQLZG91YmxlLmNlaWwRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2Nv
|19
+
dW50OmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29u
|
+
c3RhbnQDAAAAAAAAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3Jh
{| class="wikitable mw-collapsible mw-collapsed"
+
dGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgwAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRv
!
+
dWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+CGNvbnN0
|-
+
YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3Rh
|<syntaxhighlight lang="actionscript">
+
bnQEBG92ZW4PZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARkdXN0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
; Pumps
+
YW50BBBjcmFmdF90aWVyOmluZ290C2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5k
:global double craft_inventory
+
b3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25zdGFudAQBLRNmYWN0b3J5Lml0
:local int tier
+
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGll
:local double count
+
cjppbmdvdAhjb25zdGFudAQEb3ZlbhFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0
:local double rods
+
aXZlCGNvbnN0YW50BARvdmVuDGdlbmVyaWMuZ290bwhjb25zdGFudAJjAAAADmdsb2JhbC5pbnQuc2V0
 
+
CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXIOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0
tier = global.int.get("craft_tier:3.9")
+
X3RpZXI6aW5nb3QRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQR
count = global.double.get("craft_count:3.9")
+
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290Dmdsb2JhbC5pbnQuc2V0
gotoif(99, tier < 1 | tier > 10 | count < 1.0)
+
CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQCnAEAAA==
 
 
; ingots
 
global.int.set("craft_tier:ingot", tier)
 
global.double.set("craft_count:ingot", count * 8.625) ; TODO count existing bits
 
executesync("craft ingot")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
global.int.set("craft_tier:3.8", tier)
 
global.double.set("craft_count:3.8", count - craft_inventory * count("motor", tier))
 
executesync("craft 3:8")
 
gotoif(99, global.int.get("craft_status") > 199)
 
 
 
execute("craft 3:9:plates")
 
 
 
; 2 rings
 
rods = count * 2.0 - count("ring", tier)
 
waitwhile(active("shaper"))
 
produce("ingot", tier, ceil((rods - craft_inventory * count("rod", tier))/2.0), "shaper")
 
 
 
waitwhile(count("rod", tier) < rods | active("shaper"))
 
produce("rod", tier, count*2.0 - craft_inventory * count("ring", tier), "shaper")
 
 
 
waituntil(count("plate", tier) >= count*2.0 & count("plate.rubber", 1) >= count*4.0 & count("ring", tier) >= count*2.0)
 
craft("pump", tier, count)
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|-
 
|craft 3:9:plates
 
|?
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
; Pumps
 
:global double craft_inventory
 
:local int tier
 
:local double count
 
 
 
tier = global.int.get("craft_tier:3.9")
 
count = global.double.get("craft_count:3.9")
 
 
 
; 2 rings
 
;plates = count * 2.0
 
; TODO gotoif
 
plates: waitwhile(active("presser"))
 
  produce("ingot", tier, count*2.0 - craft_inventory * count("plate", tier), "presser")
 
 
 
; TODO gotoif
 
rubber: waitwhile(active("presser"))
 
  produce("rubber", 1, count*4.0 - craft_inventory * count("plate.rubber", tier), "presser")
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
</syntaxhighlight>
 
|}
 
|}
 
|}
 
<br />
 
 
 
 
 
==Producer scripts==
 
<br />
 
 
 
==Machine scripts==
 
 
 
 
 
 
 
<br />
 
{| class="wikitable"
 
!Name
 
!Lines
 
!Code
 
|-
 
|x
 
|x
 
|
 
{| class="wikitable mw-collapsible mw-collapsed"
 
!
 
|-
 
|<syntaxhighlight lang="actionscript">
 
x
 
</syntaxhighlight>
 
|-
 
|<syntaxhighlight lang="text">
 
x
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
|}
 
|}

Latest revision as of 10:03, 25 January 2021

A collection of helpful scripts This page structure (and the tamperscript) is copied directly from user Troylaurin https://www.perfecttower2.com/wiki/index.php?title=User:Troylaurin

Click to copy (tamperscript)
// ==UserScript==
// @name         Click to copy on <pre> tags
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add click to copy buttons to <pre> tags
// @author       Troy.Laurin@gmail.com
// @match        https://www.perfecttower2.com/wiki/*
// @grant        GM_addStyle
// @require      https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js
// @require      http://code.jquery.com/jquery-3.5.1.slim.min.js
// ==/UserScript==

(function() {
    'use strict';

    // ------------------------------------------
    // CSS part injected in the page
    GM_addStyle(" \
.precontainer { \
position: relative; \
} \
.copy-btn { \
background: #DDD; \
font-family: monospace; \
font-weight: bolder; \
margin: 0; \
opacity: 0; \
padding: 4px; \
position: absolute; \
right: 1px; \
top: 1px; \
cursor: pointer; \
-webkit-transition: opacity 0.3s ease-in-out; \
-o-transition: opacity 0.3s ease-in-out; \
transition: opacity 0.3s ease-in-out; \
} \
.precontainer:hover >.copy-btn { \
opacity: 1; \
} \
table { width: 100% } \
");

    $('pre').wrap('<div class="precontainer"></div>');
    $('pre').before($('<span class="copy-btn">&lt;/&gt;</span>'));

    new ClipboardJS('.copy-btn', {
        text: function(trigger) {
            return $(trigger.nextElementSibling).text();
        }
    })
        .on('success',function (e) {
        $(e.trigger).html("&lt;copied/&gt;")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    })
        .on('error',function (e) {
        $(e.trigger).html("Error!")
        setTimeout(function() {
            $(e.trigger).html("&lt;/&gt;");
        }, 3000);
    });
})();

Summary

These scripts will upgrade your dusts to your specified tier and number of that tier. It will process ores, lums and (if set so) ingots. It will make sure that you've got enough resources to even reach your goal and will leave you with at least 1 resource of each tier, so that you never run out of a tier.

To use it, you have to set the global variables "target_dust_tier", "target_dust_count" and "dust_up_use_ingots" to your need. Either you set it in the "dust_up" script, tu run it manually or you set those values in one of your scripts and execute "dust_up_integrated".

Dust Up Scripts

Script Impulses Conditions Lines Source
dust_up
  • key 1
  • factory screen open
4
:global int target_dust_tier
:global double target_dust_count
:global double dust_up_use_ingots

key.1()

isopen("factory")

target_dust_tier = 8
target_dust_count = 350.0
dust_up_use_ingots = 1.0
executesync("dust_up_integrated")
B2R1c3RfdXABAAAABWtleS4xAQAAABJ0b3duLndpbmRvdy5pc29wZW4IY29uc3RhbnQEB2ZhY3RvcnkE
AAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyCGNvbnN0YW50AggAAAAR
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50AwAAAAAA
4HVAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQD
AAAAAAAA8D8TZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3JhdGVk
dust_up_integrated
13
:global double dust_up_missing
:global int dust_up_loop_tier
:global double resources_needed_tier_1
:global double target_dust_count
:global int target_dust_tier

executesync("dust_count_resources")
executesync("dust_calc_needed")
gotoif(99, resources_needed_tier_1 > 0.0)
dust_up_loop_tier = 1
loop: dust_up_missing = max(0.0, (global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1)) * 4.0) - count("dust", dust_up_loop_tier))
gotoif(mix, dust_up_missing < 1.0)
executesync("dust_up_process_lump")
executesync("dust_up_process_ore")
executesync("dust_up_process_ingot")
mix: executesync("dust_up_mix")
dust_up_loop_tier = dust_up_loop_tier + 1
gotoif(loop, dust_up_loop_tier < target_dust_tier)
executesync("dust_up_finalize")
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADQAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2Nh
bGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xv
YmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+
CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
cghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcK
ZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGll
cl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3Bf
dGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAABBA
CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvYmFsLmludC5n
ZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAR
Y29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2lu
Zwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNkdXN0X3Vw
X3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3RfdXBfcHJvY2Vzc19p
bmdvdBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BAtkdXN0X3VwX21peA5nbG9iYWwuaW50LnNl
dAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIOYXJpdGhtZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQI
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJp
Yy5nb3RvaWYIY29uc3RhbnQCBQAAAA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFu
dAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEATwOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEHRh
cmdldF9kdXN0X3RpZXITZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQQZHVzdF91cF9maW5hbGl6
ZQ==
dust_count_resources 10
:global double resources_tier_10
:global double resources_tier_9
:global double resources_tier_8
:global double resources_tier_7
:global double resources_tier_6
:global double resources_tier_5
:global double resources_tier_4
:global double resources_tier_3
:global double resources_tier_2
:global double resources_tier_1
:global double dust_up_use_ingots

resources_tier_10 = max(0.0,(dust_up_use_ingots * count("ingot",10)) + count("dust", 10) + count("ore",10) + (count("lump",9) * 2.0) - 1.0)
resources_tier_9 = max(0.0,(dust_up_use_ingots * count("ingot",9)) + count("dust", 9) + count("ore",9) + (count("lump",8) * 2.0) - 1.0)
resources_tier_8 = max(0.0,(dust_up_use_ingots * count("ingot",8)) + count("dust", 8) + count("ore",8) + (count("lump",7) * 2.0) - 1.0)
resources_tier_7 = max(0.0,(dust_up_use_ingots * count("ingot",7)) + count("dust", 7) + count("ore",7) + (count("lump",6) * 2.0) - 1.0)
resources_tier_6 = max(0.0,(dust_up_use_ingots * count("ingot",6)) + count("dust", 6) + count("ore",6) + (count("lump",5) * 2.0) - 1.0)
resources_tier_5 = max(0.0,(dust_up_use_ingots * count("ingot",5)) + count("dust", 5) + count("ore",5) + (count("lump",4) * 2.0) - 1.0)
resources_tier_4 = max(0.0,(dust_up_use_ingots * count("ingot",4)) + count("dust", 4) + count("ore",4) + (count("lump",3) * 2.0) - 1.0)
resources_tier_3 = max(0.0,(dust_up_use_ingots * count("ingot",3)) + count("dust", 3) + count("ore",3) + (count("lump",2) * 2.0) - 1.0)
resources_tier_2 = max(0.0,(dust_up_use_ingots * count("ingot",2)) + count("dust", 2) + count("ore",2) + (count("lump",1) * 2.0) - 1.0)
resources_tier_1 = max(0.0,(dust_up_use_ingots * count("ingot",1)) + count("dust", 1) + count("ore",1) - 1.0)
FGR1c3RfY291bnRfcmVzb3VyY2VzAAAAAAAAAAAKAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50
BBFyZXNvdXJjZXNfdGllcl8xMApkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMu
ZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
EWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9p
bmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3Rh
bnQCCgAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0
YW50AgoAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0
YW50AgoAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQEbHVtcAhjb25zdGFudAIJAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNv
bnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNv
dXJjZXNfdGllcl85CmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGUR
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhj
b25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIJAAAA
CGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCCQAA
AAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCCQAA
AAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
BARsdW1wCGNvbnN0YW50AggAAAAIY29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQE
AS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190
aWVyXzgKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1l
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50
BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AggAAAAIY29uc3Rh
bnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIIAAAACGNvbnN0
YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIIAAAACGNvbnN0
YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAI
Y29uc3RhbnQCBwAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25z
dGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNwpk
b3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCBwAAAAhjb25zdGFudAQBKxNm
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsT
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgcAAAAIY29uc3RhbnQEASsR
YXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFu
dAIGAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAA
AAAAAPA/EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl82CmRvdWJsZS5t
YXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJp
dGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRv
dWJsZS5nZXQIY29uc3RhbnQEEmR1c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdAhjb25zdGFudAIGAAAACGNvbnN0YW50BAErE2ZhY3Rvcnku
aXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxNmYWN0b3J5
Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUIY29uc3RhbnQCBgAAAAhjb25zdGFudAQBKxFhcml0aG1l
dGljLmRvdWJsZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgUAAAAI
Y29uc3RhbnQEASoIY29uc3RhbnQDAAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8R
Z2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEEHJlc291cmNlc190aWVyXzUKZG91YmxlLm1heAhjb25z
dGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGlj
LmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdl
dAhjb25zdGFudAQSZHVzdF91cF91c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291
bnQIY29uc3RhbnQEBWluZ290CGNvbnN0YW50AgUAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5j
b3VudAhjb25zdGFudAQEZHVzdAhjb25zdGFudAIFAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMu
Y291bnQIY29uc3RhbnQEA29yZQhjb25zdGFudAIFAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91
YmxlE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCBAAAAAhjb25zdGFu
dAQBKghjb25zdGFudAMAAAAAAAAAQAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwu
ZG91YmxlLnNldAhjb25zdGFudAQQcmVzb3VyY2VzX3RpZXJfNApkb3VibGUubWF4CGNvbnN0YW50AwAA
AAAAAAAAEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91Ymxl
EWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0
YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25z
dGFudAQFaW5nb3QIY29uc3RhbnQCBAAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNv
bnN0YW50BARkdXN0CGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQDb3JlCGNvbnN0YW50AgQAAAAIY29uc3RhbnQEASsRYXJpdGhtZXRpYy5kb3VibGUTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEbHVtcAhjb25zdGFudAIDAAAACGNvbnN0YW50BAEqCGNv
bnN0YW50AwAAAAAAAABACGNvbnN0YW50BAEtCGNvbnN0YW50AwAAAAAAAPA/EWdsb2JhbC5kb3VibGUu
c2V0CGNvbnN0YW50BBByZXNvdXJjZXNfdGllcl8zCmRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAAR
YXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGURYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEmR1
c3RfdXBfdXNlX2luZ290cwhjb25zdGFudAQBKhNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BAVp
bmdvdAhjb25zdGFudAIDAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQE
BGR1c3QIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50
BANvcmUIY29uc3RhbnQCAwAAAAhjb25zdGFudAQBKxFhcml0aG1ldGljLmRvdWJsZRNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wCGNvbnN0YW50AgIAAAAIY29uc3RhbnQEASoIY29uc3RhbnQD
AAAAAAAAAEAIY29uc3RhbnQEAS0IY29uc3RhbnQDAAAAAAAA8D8RZ2xvYmFsLmRvdWJsZS5zZXQIY29u
c3RhbnQEEHJlc291cmNlc190aWVyXzIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1l
dGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQSZHVzdF91cF91
c2VfaW5nb3RzCGNvbnN0YW50BAEqE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290CGNv
bnN0YW50AgIAAAAIY29uc3RhbnQEASsTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQEZHVzdAhj
b25zdGFudAICAAAACGNvbnN0YW50BAErE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEA29yZQhj
b25zdGFudAICAAAACGNvbnN0YW50BAErEWFyaXRobWV0aWMuZG91YmxlE2ZhY3RvcnkuaXRlbXMuY291
bnQIY29uc3RhbnQEBGx1bXAIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAA
QAhjb25zdGFudAQBLQhjb25zdGFudAMAAAAAAADwPxFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQQ
cmVzb3VyY2VzX3RpZXJfMQpkb3VibGUubWF4CGNvbnN0YW50AwAAAAAAAAAAEWFyaXRobWV0aWMuZG91
YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWFyaXRobWV0aWMuZG91YmxlEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29uc3RhbnQEASoTZmFj
dG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5nb3QIY29uc3RhbnQCAQAAAAhjb25zdGFudAQBKxNm
YWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARkdXN0CGNvbnN0YW50AgEAAAAIY29uc3RhbnQEASsT
ZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQDb3JlCGNvbnN0YW50AgEAAAAIY29uc3RhbnQEAS0I
Y29uc3RhbnQDAAAAAAAA8D8=
dust_calc_needed 11
:global double target_dust_count
:global int target_dust_tier
:local int loop_tier

loop_tier = 11
targettier: loop_tier = loop_tier - 1
gotoif(skip, loop_tier > target_dust_tier)
global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, target_dust_count - global.double.get("resources_tier_" . i2s(loop_tier))))
goto(continueloop)
smalltiers: global.double.set("resources_needed_tier_" . i2s(loop_tier), double.max(0.0, (global.double.get("resources_needed_tier_" . i2s(loop_tier + 1)) * 4.0) - global.double.get("resources_tier_" . i2s(loop_tier))))
continueloop: loop_tier = loop_tier - 1
gotoif(smalltiers, loop_tier > 0)
goto(99)
skip: global.double.set("resources_needed_tier_" . i2s(loop_tier), 0.0)
goto(targettier)
EGR1c3RfY2FsY19uZWVkZWQAAAAAAAAAAAsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF9
0aWVyCGNvbnN0YW50AgsAAAANbG9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobW
V0aWMuaW50DWxvY2FsLmludC5nZXQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zd
GFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwu
aW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyCGNvbnN0YW50BAE+Dmdsb2JhbC5pbnQuZ2V0CGNvbnN
0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5kb3VibGUuc2V0BmNvbmNhdAhjb25zdGFudAQWcm
Vzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9vcF90aWVyC
mRvdWJsZS5tYXgIY29uc3RhbnQDAAAAAAAAAAARYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJs
ZS5nZXQIY29uc3RhbnQEEXRhcmdldF9kdXN0X2NvdW50CGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGU
uZ2V0BmNvbmNhdAhjb25zdGFudAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbn
N0YW50BAlsb29wX3RpZXIMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AgcAAAARZ2xvYmFsLmRvdWJsZS5zZ
XQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0
CGNvbnN0YW50BAlsb29wX3RpZXIKZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGl
jLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3Rhbn
QEFnJlc291cmNlc19uZWVkZWRfdGllcl8DaTJzDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZXQIY
29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNv
bnN0YW50AwAAAAAAABBACGNvbnN0YW50BAEtEWdsb2JhbC5kb3VibGUuZ2V0BmNvbmNhdAhjb25zdGF
udAQPcmVzb3VyY2VzX3RpZXJfA2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXINbG
9jYWwuaW50LnNldAhjb25zdGFudAQJbG9vcF90aWVyDmFyaXRobWV0aWMuaW50DWxvY2FsLmludC5nZ
XQIY29uc3RhbnQECWxvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAADmdlbmVyaWMuZ290
b2lmCGNvbnN0YW50AgYAAAAOY29tcGFyaXNvbi5pbnQNbG9jYWwuaW50LmdldAhjb25zdGFudAQJbG9
vcF90aWVyCGNvbnN0YW50BAE+CGNvbnN0YW50AgAAAAAMZ2VuZXJpYy5nb3RvCGNvbnN0YW50AmMAAA
ARZ2xvYmFsLmRvdWJsZS5zZXQGY29uY2F0CGNvbnN0YW50BBZyZXNvdXJjZXNfbmVlZGVkX3RpZXJfA
2kycw1sb2NhbC5pbnQuZ2V0CGNvbnN0YW50BAlsb29wX3RpZXIIY29uc3RhbnQDAAAAAAAAAAAMZ2Vu
ZXJpYy5nb3RvCGNvbnN0YW50AgIAAAA=
dust_up_process_lump 13
; Process lumps into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_lumps
:local double number_lump_used

gotoif(99, dust_up_loop_tier == 1)
number_lumps = count("lump",dust_up_loop_tier - 1)
gotoif(processpartially, number_lumps * 2.0 > dust_up_missing)
gotoif(99, number_lumps < 1.0)
waitwhile(active("mixer"))
processall: produce("lump", dust_up_loop_tier - 1, number_lumps, "mixer")
dust_up_missing = dust_up_missing - (number_lumps * 2.0)
goto(end)
processpartially: number_lump_used = ceil(dust_up_missing / 2.0)
waitwhile(active("mixer"))
produce("lump", dust_up_loop_tier - 1, number_lump_used, "mixer")
dust_up_missing = 0.0
end: waitwhile(active("mixer"))
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAANAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMA
AAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVy
CGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51bWJl
cl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
dAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgkAAAARY29tcGFyaXNvbi5kb3VibGURYXJpdGht
ZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvbnN0YW50
BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50
BA9kdXN0X3VwX21pc3NpbmcOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRv
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfbHVtcHMIY29uc3RhbnQEATwIY29u
c3RhbnQDAAAAAAAA8D8RZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25z
dGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmds
b2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFu
dAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhjb25zdGFudAQFbWl4
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAEt
EWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
b25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29uc3RhbnQCDQAAABBsb2Nh
bC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJsZS5jZWlsEWFyaXRobWV0
aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3Rh
bnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFj
dGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobWV0
aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQB
LQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEG51bWJlcl9sdW1wX3VzZWQI
Y29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcI
Y29uc3RhbnQDAAAAAAAAAAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhj
b25zdGFudAQFbWl4ZXI=
dust_up_process_ore 12
; Process ore into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_ore
:local double number_ore_used

number_ore = count("ore",dust_up_loop_tier)
gotoif(processpartially, number_ore > dust_up_missing)
gotoif(99, number_ore < 1.0)
waitwhile(active("crusher"))
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
dust_up_missing = dust_up_missing - number_ore
goto(end)
processpartially: number_ore_used = dust_up_missing
waitwhile(active("crusher"))
produce("ore", dust_up_loop_tier, number_ore_used, "crusher")
dust_up_missing = 0.0
end: waitwhile(active("crusher"))
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAwAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQK
bnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQI
Y29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29t
cGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25zdGFu
dAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nDmdlbmVyaWMuZ290
b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFu
dAQKbnVtYmVyX29yZQhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxFnZW5lcmljLndhaXR3aGls
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
b25zdGFudAQDb3JlDmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2Nh
bC5kb3VibGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGhtZXRpYy5kb3VibGURZ2xvYmFs
LmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25zdGFudAQBLRBsb2NhbC5kb3Vi
bGUuZ2V0CGNvbnN0YW50BApudW1iZXJfb3JlDGdlbmVyaWMuZ290bwhjb25zdGFudAIMAAAAEGxvY2Fs
LmRvdWJsZS5zZXQIY29uc3RhbnQED251bWJlcl9vcmVfdXNlZBFnbG9iYWwuZG91YmxlLmdldAhjb25z
dGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3Rp
dmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmlu
dC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQE
D251bWJlcl9vcmVfdXNlZAhjb25zdGFudAQHY3J1c2hlchFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFu
dAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3Rv
cnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXI=
dust_up_process_ingot 13
; Process ingots into dust
:global int dust_up_loop_tier
:global double dust_up_missing
:local double number_ingot
:local double number_ingot_used
:global double dust_up_use_ingots

gotoif(99, dust_up_use_ingots < 1.0)
number_ingot = count("ingot",dust_up_loop_tier)
gotoif(processpartially, number_ingot > dust_up_missing)
gotoif(99, number_ingot < 1.0)
waitwhile(active("crusher"))
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
dust_up_missing = dust_up_missing - number_ingot
goto(end)
processpartially: number_ingot_used = dust_up_missing
waitwhile(active("crusher"))
produce("ingot", dust_up_loop_tier, number_ingot_used, "crusher")
dust_up_missing = 0.0
end: waitwhile(active("crusher"))
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAADQAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJj
AAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3Vz
ZV9pbmdvdHMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91YmxlLnNldAhjb25z
dGFudAQMbnVtYmVyX2luZ290E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290Dmdsb2Jh
bC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5nZW5lcmljLmdvdG9pZghjb25zdGFu
dAIJAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9p
bmdvdAhjb25zdGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5n
DmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91Ymxl
LmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/EWdl
bmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFj
dG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91
cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0YW50
BAdjcnVzaGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJpdGht
ZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhjb25z
dGFudAQBLRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QMZ2VuZXJpYy5nb3Rv
CGNvbnN0YW50Ag0AAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3VzZWQR
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFnZW5lcmljLndhaXR3aGls
ZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVjZQhj
b25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyEGxv
Y2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEW51bWJlcl9pbmdvdF91c2VkCGNvbnN0YW50BAdjcnVzaGVy
EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAA
AAARZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hl
cg==
dust_up_mix 10
:global int dust_up_loop_tier
:local double mix_left
:local double mix_now

gotoif(99, dust_up_loop_tier >= 10)
waitwhile(active("mixer"))
mix_left = global.double.get("resources_needed_tier_" . i2s(dust_up_loop_tier + 1))
loop: gotoif(finish, mix_left < 1.0)
mix_now = min(mix_left, count("dust", dust_up_loop_tier + 1))
craft("lump", dust_up_loop_tier, mix_now)
produce("lump", dust_up_loop_tier, mix_now, "mixer")
mix_left = mix_left - mix_now
goto(loop)
finish: waitwhile(active("mixer"))
C2R1c3RfdXBfbWl4AAAAAAAAAAAKAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAOY29tcGFy
aXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
BAI+PQhjb25zdGFudAIKAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUI
Y29uc3RhbnQEBW1peGVyEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQECG1peF9sZWZ0EWdsb2JhbC5k
b3VibGUuZ2V0BmNvbmNhdAhjb25zdGFudAQWcmVzb3VyY2VzX25lZWRlZF90aWVyXwNpMnMOYXJpdGht
ZXRpYy5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50
BAErCGNvbnN0YW50AgEAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCCgAAABFjb21wYXJpc29uLmRv
dWJsZRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAhtaXhfbGVmdAhjb25zdGFudAQBPAhjb25zdGFu
dAMAAAAAAADwPxBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BAdtaXhfbm93CmRvdWJsZS5taW4QbG9j
YWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFu
dAQEZHVzdA5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29w
X3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA1mYWN0b3J5LmNyYWZ0CGNvbnN0YW50BARsdW1w
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllchBsb2NhbC5kb3VibGUuZ2V0
CGNvbnN0YW50BAdtaXhfbm93D2ZhY3RvcnkucHJvZHVjZQhjb25zdGFudAQEbHVtcA5nbG9iYWwuaW50
LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQH
bWl4X25vdwhjb25zdGFudAQFbWl4ZXIQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQIbWl4X2xlZnQR
YXJpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQIbWl4X2xlZnQIY29uc3Rh
bnQEAS0QbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQHbWl4X25vdwxnZW5lcmljLmdvdG8IY29uc3Rh
bnQCBAAAABFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAVt
aXhlcg==
dust_up_finalize 5
:global int target_dust_tier
:global double target_dust_count
:global int dust_up_loop_tier
:global double dust_up_missing
:global double dust_up_use_ingots

gotoif(99, dust_up_loop_tier != target_dust_tier)
dust_up_missing = max(0.0, target_dust_count - count("dust", dust_up_loop_tier) - (count("ingot", dust_up_loop_tier) * dust_up_use_ingots))
gotoif(99, dust_up_missing < 1.0)
executesync("dust_up_process_lump")
executesync("dust_up_process_ore")
EGR1c3RfdXBfZmluYWxpemUAAAAAAAAAAAUAAAAOZ2VuZXJpYy5nb3RvaWYIY29uc3RhbnQCYwAAAA5j
b21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
c3RhbnQEAiE9Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBB0YXJnZXRfZHVzdF90aWVyEWdsb2JhbC5k
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcKZG91YmxlLm1heAhjb25zdGFudAMAAAAA
AAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhj
b25zdGFudAQRdGFyZ2V0X2R1c3RfY291bnQIY29uc3RhbnQEAS0TZmFjdG9yeS5pdGVtcy5jb3VudAhj
b25zdGFudAQEZHVzdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29u
c3RhbnQEAS0RYXJpdGhtZXRpYy5kb3VibGUTZmFjdG9yeS5pdGVtcy5jb3VudAhjb25zdGFudAQFaW5n
b3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyCGNvbnN0YW50BAEqEWds
b2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMOZ2VuZXJpYy5nb3RvaWYI
Y29uc3RhbnQCYwAAABFjb21wYXJpc29uLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQP
ZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BAE8CGNvbnN0YW50AwAAAAAAAPA/E2dlbmVyaWMuZXhlY3V0
ZXN5bmMIY29uc3RhbnQEFGR1c3RfdXBfcHJvY2Vzc19sdW1wE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29u
c3RhbnQEE2R1c3RfdXBfcHJvY2Vzc19vcmU=

Examples of integrating the Dust Up scripts


Name Impulses Conditions Lines Code
Troylaurin's crafting scripts:

"craft ingot"

as of 2021-01-19

14
:global double craft_require_count
:global int craft_require_tier
:global int craft_status
:global double resources_needed_tier_1
:global int target_dust_tier
:global double target_dust_count
:global double dust_up_use_ingots

gotoif(99, (((global.int.get("craft_tier:ingot") < 1) | (global.int.get("craft_tier:ingot") > 10)) | (global.double.get("craft_count:ingot") <= 0.0)) | (craft_status > 199))

gotoif(99, global.double.get("craft_count:ingot") <= count("ingot", global.int.get("craft_tier:ingot")))

target_dust_tier = global.int.get("craft_tier:ingot")
target_dust_count = ceil(global.double.get("craft_count:ingot"))
dust_up_use_ingots = 0.0
executesync("dust_up_integrated")
gotoif(bad, resources_needed_tier_1 > 0.0)

waitwhile(active("oven"))
produce("dust", global.int.get("craft_tier:ingot"), ceil(global.double.get("craft_count:ingot") - count("ingot", global.int.get("craft_tier:ingot"))), "oven")
waitwhile(active("oven"))
goto(99)
bad: craft_require_tier = global.int.get("craft_tier:ingot")
craft_require_count = global.double.get("craft_count:ingot")
craft_status = 412
C2NyYWZ0IGluZ290AAAAAAAAAAAOAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAAPY29tcGFy
aXNvbi5ib29sD2NvbXBhcmlzb24uYm9vbA9jb21wYXJpc29uLmJvb2wOY29tcGFyaXNvbi5pbnQOZ2xv
YmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0X3RpZXI6aW5nb3QIY29uc3RhbnQEATwIY29uc3RhbnQC
AQAAAAhjb25zdGFudAQBfA5jb21wYXJpc29uLmludA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3Jh
ZnRfdGllcjppbmdvdAhjb25zdGFudAQBPghjb25zdGFudAIKAAAACGNvbnN0YW50BAF8EWNvbXBhcmlz
b24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25z
dGFudAQCPD0IY29uc3RhbnQDAAAAAAAAAAAIY29uc3RhbnQEAXwOY29tcGFyaXNvbi5pbnQOZ2xvYmFs
LmludC5nZXQIY29uc3RhbnQEDGNyYWZ0X3N0YXR1cwhjb25zdGFudAQBPghjb25zdGFudALHAAAADmdl
bmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5n
ZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290CGNvbnN0YW50BAI8PRNmYWN0b3J5Lml0ZW1zLmNv
dW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGllcjppbmdv
dA5nbG9iYWwuaW50LnNldAhjb25zdGFudAQQdGFyZ2V0X2R1c3RfdGllcg5nbG9iYWwuaW50LmdldAhj
b25zdGFudAQQY3JhZnRfdGllcjppbmdvdBFnbG9iYWwuZG91YmxlLnNldAhjb25zdGFudAQRdGFyZ2V0
X2R1c3RfY291bnQLZG91YmxlLmNlaWwRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2Nv
dW50OmluZ290EWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BBJkdXN0X3VwX3VzZV9pbmdvdHMIY29u
c3RhbnQDAAAAAAAAAAATZ2VuZXJpYy5leGVjdXRlc3luYwhjb25zdGFudAQSZHVzdF91cF9pbnRlZ3Jh
dGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgwAAAARY29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRv
dWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+CGNvbnN0
YW50AwAAAAAAAAAAEWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3Rh
bnQEBG92ZW4PZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARkdXN0Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0
YW50BBBjcmFmdF90aWVyOmluZ290C2RvdWJsZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5k
b3VibGUuZ2V0CGNvbnN0YW50BBFjcmFmdF9jb3VudDppbmdvdAhjb25zdGFudAQBLRNmYWN0b3J5Lml0
ZW1zLmNvdW50CGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQY3JhZnRfdGll
cjppbmdvdAhjb25zdGFudAQEb3ZlbhFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0
aXZlCGNvbnN0YW50BARvdmVuDGdlbmVyaWMuZ290bwhjb25zdGFudAJjAAAADmdsb2JhbC5pbnQuc2V0
CGNvbnN0YW50BBJjcmFmdF9yZXF1aXJlX3RpZXIOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEGNyYWZ0
X3RpZXI6aW5nb3QRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQEE2NyYWZ0X3JlcXVpcmVfY291bnQR
Z2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEEWNyYWZ0X2NvdW50OmluZ290Dmdsb2JhbC5pbnQuc2V0
CGNvbnN0YW50BAxjcmFmdF9zdGF0dXMIY29uc3RhbnQCnAEAAA==