Skip to content

Instantly share code, notes, and snippets.

@FaustVX
Last active October 7, 2023 17:20
Show Gist options
  • Save FaustVX/a6ae58eccd931ac9fdb2e39f54118829 to your computer and use it in GitHub Desktop.
Save FaustVX/a6ae58eccd931ac9fdb2e39f54118829 to your computer and use it in GitHub Desktop.
2 Train Smart Stops Combinator [item=fcpu]
0eNrdmF9vpDYQwL8K8j2kVSHC5v9K15d+hMvbJVoB6yXugeGMyTWN9rt3BtjNhnUKi6K2qrRawPbM/MYexmNeSFZ2vFFCarJ5Ia1MG0fXTqHEDp//IBuf2eQZLwebpFlbl53mDo5rhCzIRquO20TktWzJ5itoEIVMS5TVzw0nGyI0r4hNZFrhk0pFSUCTkDsOyunBnhXZ5013JsIODzbhUgst+GCyf3jeyq7KuAKdJ8mK70RXObzkuVYid5q65KC3qVsQruXoIKO3Qe9idBuAGfBEwnjRO/RCKP4VinN5bgtnx0P2s+d48syA9AAKJRfFY1Z3Cmnjh7NRR2J2Im4156WTP/JWG0C9jwENBq4sBdO+a+DxFvKwdTx0OlFzPP5CnmAdTzDhieZ4goU8/joeNuHx53jChTzROp7oItBneKKFPOE6Hn/CE87xxNdmhPhjAjucPCeGhEDtxJQSkiuRvZWxP01a1DUlLZu6JkjqXknpr8wYyZQScnwuVN4JbZz4ab8pEyc2ZUan6Nud59KJsHcBZo7shBr4+xwF7mhVl9uMP6ZPolY4PlVCP1Zci3wL3TtxcnYvVKu3F1vfk1C6g5bXN6gf4SCKozqJG2HLURXqa3WK+zYsQ91wlQ4k5BdyeGdyFd9dxGy/n5rDGWPBJmylJIjqtBicxYlEJ4FuA9BK38tPQgq45KWyFC/uZVU/WYpaX3Hz/5zXDTjkNGWq+cO97Ipmj53wuwHx/BtM3J/85tjBjlKpKmrnR1rU8sG6KTgsvnwCrFo99wI/7fheSN7enppvUW5bpUL+DNqqruytMKDTkLIssbc0VCyytYS0Wl037b2EhestjivlDAv0eVynO6DNJMcRrrVJy7L+sc1q/YhyxSq5T+AH2s6/tdZ3/XxSpOjI4vW3uuDHVstq2yd8ODZ7580eNuP07y00AOZqZVHb6m1ag82Mf++VeW9RssEGPbaWfK/HVu+1VcFLBs2/V411XOt7+UYPLnXdaWrR6WxUteLjfeugeueZo+DDSYjNCPXWX6WMFAM3Rh4qXMlj1Dz6PqqmZ9TroSEXiL4mU8dqG96wPYjxw8GUv9i1SXl+tzO9/Ven4Em/Z9oMXZt6xqTsXelUEK5y6oJyWmswIzazqW/E9q/EDr1V2NMKn05LWkZN2J7NqBF7YYEb+qtop3NKZws4urDCDYNVQNPZorMnALqwxA3XheG0cKSzJTeNFwJFq4CmRwCazAIlC4HWZZ+Lw7Y7B8TchUDJKqDknTfub4Cu/VARuR/yujFTiW/OX+x1L+nrIAdroEswOmAlbyvi0FwRHzeFUzl8TTX83n5Mhvl4rYfzumpSqIjRJvm17x7tcplmJd/uRIvX45bacqiodb3t3Ry3V3tweotON3y3Cg+/rqF1xdPdoLwFzzukHAyfty0/Dty9W+K/czDtVxymZzwiEBQuhwWBP/c2SUI3in2Phm7IEhYxP3QTL4KFLbDbwy4v8pgXB6EXQEcShUHIoD/DfpowGoRxGMJNTKMwjpI4hjsckOIAP4ldDwfBhfqhFzLP9WEYBnKVSvDxODulqIR+W0+cwtFbFI5B9K+E43kR9x+Jx9do+Qcj0Fyg/D8C8PxLJIzGBe+/aL+XEil9G4TMpDRYqnQM7EulcA7vv5lvzr7m26RMMw5LSZh1h55ZXyo4UVhf8Bhr/VZXmZAYj+PZGY/oDyD0xFU7aI2pH8FCRKFPIxYfDn8BTKgTFw==
:start
#init
clr reg
mov r1 [item=copper-plate]
ugpf r1 r1 'stack_size'
ugpf r2 [item=cargo-wagon] 'get_inventory_size(defines.inventory.item_main)'
mul r1 r2
#test if trains in stops
fir r2 [virtual-signal=signal-T]
bne r2 0 :allow_both
fig r2 [virtual-signal=signal-T]
bne r2 0 :allow_both
#get stocks qty
fig r2 r1
fir r3 r1
tge r2 r1
ssv r2 1
tge r3 r1
ssv r3 1
#if both 0 or 1, allow both
beq r2 r3 :allow_both
bge r2 1 :allow_left
bge r3 1 :allow_right
jmp :start
:allow_both
mov out1 1[virtual-signal=more-signals-left-yellow]
mov out2 1[virtual-signal=more-signals-right-yellow]
jmp :start
:allow_left
clr out2
mov out1 1[virtual-signal=more-signals-left-yellow]
jmp :start
:allow_right
clr out1
mov out2 [virtual-signal=more-signals-right-yellow]
jmp :start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment