User:Akerus

From The Perfect Tower II
Revision as of 09:23, 20 January 2021 by Akerus (talk | contribs) (Fix in finalize script)
Jump to navigation Jump to search

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);
    });
})();


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
14
: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: waitwhile(active("crusher"))
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")
EmR1c3RfdXBfaW50ZWdyYXRlZAAAAAAAAAAADgAAABNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X2NvdW50X3Jlc291cmNlcxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X2Nh
bGNfbmVlZGVkDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmMAAAARY29tcGFyaXNvbi5kb3VibGURZ2xv
YmFsLmRvdWJsZS5nZXQIY29uc3RhbnQEF3Jlc291cmNlc19uZWVkZWRfdGllcl8xCGNvbnN0YW50BAE+
CGNvbnN0YW50AwAAAAAAAAAADmdsb2JhbC5pbnQuc2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGll
cghjb25zdGFudAIBAAAAEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcK
ZG91YmxlLm1heAhjb25zdGFudAMAAAAAAAAAABFhcml0aG1ldGljLmRvdWJsZRFhcml0aG1ldGljLmRv
dWJsZRFnbG9iYWwuZG91YmxlLmdldAZjb25jYXQIY29uc3RhbnQEFnJlc291cmNlc19uZWVkZWRfdGll
cl8DaTJzDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3Bf
dGllcghjb25zdGFudAQBKwhjb25zdGFudAIBAAAACGNvbnN0YW50BAEqCGNvbnN0YW50AwAAAAAAABBA
CGNvbnN0YW50BAEtE2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBGR1c3QOZ2xvYmFsLmludC5n
ZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgoAAAAR
Y29tcGFyaXNvbi5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2lu
Zwhjb25zdGFudAQBPAhjb25zdGFudAMAAAAAAADwPxNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50
BBRkdXN0X3VwX3Byb2Nlc3NfbHVtcBNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBNkdXN0X3Vw
X3Byb2Nlc3Nfb3JlE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEFWR1c3RfdXBfcHJvY2Vzc19p
bmdvdBFnZW5lcmljLndhaXR3aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVz
aGVyE2dlbmVyaWMuZXhlY3V0ZXN5bmMIY29uc3RhbnQEC2R1c3RfdXBfbWl4Dmdsb2JhbC5pbnQuc2V0
CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5hcml0aG1ldGljLmludA5nbG9iYWwuaW50LmdldAhj
b25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIIY29uc3RhbnQEASsIY29uc3RhbnQCAQAAAA5nZW5lcmlj
LmdvdG9pZghjb25zdGFudAIFAAAADmNvbXBhcmlzb24uaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50
BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBPA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQQdGFy
Z2V0X2R1c3RfdGllchNnZW5lcmljLmV4ZWN1dGVzeW5jCGNvbnN0YW50BBBkdXN0X3VwX2ZpbmFsaXpl
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 11
: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)
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(99)
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
FGR1c3RfdXBfcHJvY2Vzc19sdW1wAAAAAAAAAAALAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AmM
AAAAOY29tcGFyaXNvbi5pbnQOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aW
VyCGNvbnN0YW50BAI9PQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5zZXQIY29uc3RhbnQEDG51b
WJlcl9sdW1wcxNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BARsdW1wDmFyaXRobWV0aWMuaW50
Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFudAQBLQhjb25
zdGFudAIBAAAADmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AggAAAARY29tcGFyaXNvbi5kb3VibGURYX
JpdGhtZXRpYy5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2x1bXBzCGNvb
nN0YW50BAEqCGNvbnN0YW50AwAAAAAAAABACGNvbnN0YW50BAE+EWdsb2JhbC5kb3VibGUuZ2V0CGNv
bnN0YW50BA9kdXN0X3VwX21pc3NpbmcRZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9yeS5tYWNoaW5lLmF
jdGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BARsdW1wDmFyaXRobW
V0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcghjb25zdGFud
AQBLQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9sdW1wcwhj
b25zdGFudAQFbWl4ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxF
hcml0aG1ldGljLmRvdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW
5nCGNvbnN0YW50BAEtEWFyaXRobWV0aWMuZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQED
G51bWJlcl9sdW1wcwhjb25zdGFudAQBKghjb25zdGFudAMAAAAAAAAAQAxnZW5lcmljLmdvdG8IY29u
c3RhbnQCYwAAABBsb2NhbC5kb3VibGUuc2V0CGNvbnN0YW50BBBudW1iZXJfbHVtcF91c2VkC2RvdWJ
sZS5jZWlsEWFyaXRobWV0aWMuZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3
VwX21pc3NpbmcIY29uc3RhbnQEAS8IY29uc3RhbnQDAAAAAAAAAEARZ2VuZXJpYy53YWl0d2hpbGUWZ
mFjdG9yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQFbWl4ZXIPZmFjdG9yeS5wcm9kdWNlCGNvbnN0
YW50BARsdW1wDmFyaXRobWV0aWMuaW50Dmdsb2JhbC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2x
vb3BfdGllcghjb25zdGFudAQBLQhjb25zdGFudAIBAAAAEGxvY2FsLmRvdWJsZS5nZXQIY29uc3Rhbn
QEEG51bWJlcl9sdW1wX3VzZWQIY29uc3RhbnQEBW1peGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0Y
W50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAAAAA=
dust_up_process_ore 10
: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)
waitwhile(active("crusher"))
processall: produce("ore", dust_up_loop_tier, number_ore, "crusher")
dust_up_missing = dust_up_missing - number_ore
goto(99)
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
E2R1c3RfdXBfcHJvY2Vzc19vcmUAAAAAAAAAAAoAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQ
KbnVtYmVyX29yZRNmYWN0b3J5Lml0ZW1zLmNvdW50CGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZX
QIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVyDmdlbmVyaWMuZ290b2lmCGNvbnN0YW50AgcAAAARY
29tcGFyaXNvbi5kb3VibGUQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQKbnVtYmVyX29yZQhjb25z
dGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nEWdlbmVyaWM
ud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIPZmFjdG9yeS
5wcm9kdWNlCGNvbnN0YW50BANvcmUOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vc
F90aWVyEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm51bWJlcl9vcmUIY29uc3RhbnQEB2NydXNo
ZXIRZ2xvYmFsLmRvdWJsZS5zZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFhcml0aG1ldGljLmR
vdWJsZRFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5nCGNvbnN0YW50BA
EtEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQECm51bWJlcl9vcmUMZ2VuZXJpYy5nb3RvCGNvbnN0Y
W50AmMAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQPbnVtYmVyX29yZV91c2VkEWdsb2JhbC5k
b3VibGUuZ2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRZ2VuZXJpYy53YWl0d2hpbGUWZmFjdG9
yeS5tYWNoaW5lLmFjdGl2ZQhjb25zdGFudAQHY3J1c2hlcg9mYWN0b3J5LnByb2R1Y2UIY29uc3Rhbn
QEA29yZQ5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVzdF91cF9sb29wX3RpZXIQbG9jYWwuZG91Y
mxlLmdldAhjb25zdGFudAQPbnVtYmVyX29yZV91c2VkCGNvbnN0YW50BAdjcnVzaGVyEWdsb2JhbC5k
b3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAAAAAAAAA=
dust_up_process_ingot 11
; 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)
waitwhile(active("crusher"))
processall: produce("ingot", dust_up_loop_tier, number_ingot, "crusher")
dust_up_missing = dust_up_missing - number_ingot
goto(99)
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
FWR1c3RfdXBfcHJvY2Vzc19pbmdvdAAAAAAAAAAACwAAAA5nZW5lcmljLmdvdG9pZghjb25zdGFudAJj
AAAAEWNvbXBhcmlzb24uZG91YmxlEWdsb2JhbC5kb3VibGUuZ2V0CGNvbnN0YW50BBJkdXN0X3VwX3Vz
ZV9pbmdvdHMIY29uc3RhbnQEATwIY29uc3RhbnQDAAAAAAAA8D8QbG9jYWwuZG91YmxlLnNldAhjb25z
dGFudAQMbnVtYmVyX2luZ290E2ZhY3RvcnkuaXRlbXMuY291bnQIY29uc3RhbnQEBWluZ290Dmdsb2Jh
bC5pbnQuZ2V0CGNvbnN0YW50BBFkdXN0X3VwX2xvb3BfdGllcg5nZW5lcmljLmdvdG9pZghjb25zdGFu
dAIIAAAAEWNvbXBhcmlzb24uZG91YmxlEGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEDG51bWJlcl9p
bmdvdAhjb25zdGFudAQBPhFnbG9iYWwuZG91YmxlLmdldAhjb25zdGFudAQPZHVzdF91cF9taXNzaW5n
EWdlbmVyaWMud2FpdHdoaWxlFmZhY3RvcnkubWFjaGluZS5hY3RpdmUIY29uc3RhbnQEB2NydXNoZXIP
ZmFjdG9yeS5wcm9kdWNlCGNvbnN0YW50BAVpbmdvdA5nbG9iYWwuaW50LmdldAhjb25zdGFudAQRZHVz
dF91cF9sb29wX3RpZXIQbG9jYWwuZG91YmxlLmdldAhjb25zdGFudAQMbnVtYmVyX2luZ290CGNvbnN0
YW50BAdjcnVzaGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcRYXJp
dGhtZXRpYy5kb3VibGURZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZwhj
b25zdGFudAQBLRBsb2NhbC5kb3VibGUuZ2V0CGNvbnN0YW50BAxudW1iZXJfaW5nb3QMZ2VuZXJpYy5n
b3RvCGNvbnN0YW50AmMAAAAQbG9jYWwuZG91YmxlLnNldAhjb25zdGFudAQRbnVtYmVyX2luZ290X3Vz
ZWQRZ2xvYmFsLmRvdWJsZS5nZXQIY29uc3RhbnQED2R1c3RfdXBfbWlzc2luZxFnZW5lcmljLndhaXR3
aGlsZRZmYWN0b3J5Lm1hY2hpbmUuYWN0aXZlCGNvbnN0YW50BAdjcnVzaGVyD2ZhY3RvcnkucHJvZHVj
ZQhjb25zdGFudAQFaW5nb3QOZ2xvYmFsLmludC5nZXQIY29uc3RhbnQEEWR1c3RfdXBfbG9vcF90aWVy
EGxvY2FsLmRvdWJsZS5nZXQIY29uc3RhbnQEEW51bWJlcl9pbmdvdF91c2VkCGNvbnN0YW50BAdjcnVz
aGVyEWdsb2JhbC5kb3VibGUuc2V0CGNvbnN0YW50BA9kdXN0X3VwX21pc3NpbmcIY29uc3RhbnQDAAAA
AAAAAAA=
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==