@shipload/sdk 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/shipload.d.ts +66 -30
- package/lib/shipload.js +280 -119
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +262 -115
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/contracts/server.ts +36 -12
- package/src/epoch.ts +2 -2
- package/src/goods.ts +57 -46
- package/src/market.ts +7 -6
- package/src/shipload.ts +48 -13
- package/src/travel.ts +178 -18
- package/src/types.ts +12 -7
package/lib/shipload.js
CHANGED
|
@@ -213,7 +213,7 @@ var platform = /*#__PURE__*/Object.freeze({
|
|
|
213
213
|
Contract: Contract$1
|
|
214
214
|
});
|
|
215
215
|
|
|
216
|
-
const abiBlob = antelope.Blob.from('
|
|
216
|
+
const abiBlob = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAB4HYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQABAmlkBnVpbnQ2NAhidXlnb29kcwADB3NoaXBfaWQGdWludDY0B2dvb2RfaWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAljYXJnb19yb3cABQJpZAZ1aW50NjQHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDE2BmxvYWRlZAZ1aW50MTYKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngtjb29yZGluYXRlcwACAXgFaW50NjQBeQVpbnQ2NAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZ29vZF9wcmljZQACAmlkBnVpbnQxNgVwcmljZQZ1aW50NjQEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nBGluaXQAAQRzZWVkC2NoZWNrc3VtMjU2BGpvaW4AAQdhY2NvdW50BG5hbWUMbG9hZGVyX3N0YXRzAAMEbWFzcwZ1aW50MzIIcXVhbnRpdHkGdWludDE2BnRocnVzdAZ1aW50MzILbWFya2V0cHJpY2UAAghsb2NhdGlvbgtjb29yZGluYXRlcwdnb29kX2lkBnVpbnQxNgxtYXJrZXRwcmljZXMAAQhsb2NhdGlvbgtjb29yZGluYXRlcwpwbGF5ZXJfcm93AAMFb3duZXIEbmFtZQdiYWxhbmNlBnVpbnQ2NARkZWJ0BnVpbnQ2NARzYWx0AAEEc2FsdAZ1aW50NjQJc2VsbGdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0DHNlcXVlbmNlX3JvdwACA2tleQRuYW1lBXZhbHVlBnVpbnQ2NAhzaGlwX3JvdwAKAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nCGxvY2F0aW9uC2Nvb3JkaW5hdGVzBHNraW4FdWludDgEdGllcgV1aW50OAVzdGF0ZQpzaGlwX3N0YXRlBXN0YXRzCnNoaXBfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMKdHJhdmVscGxhbgx0cmF2ZWxfcGxhbj8Kc2hpcF9zdGF0ZQABBmVuZXJneQZ1aW50MzIKc2hpcF9zdGF0cwAGCGNhcGFjaXR5BnVpbnQzMgVkcmFpbgZ1aW50MzIEbWFzcwZ1aW50NjQFb3JiaXQGdWludDE2CHJlY2hhcmdlBnVpbnQzMgZ0aHJ1c3QGdWludDY0CXN0YXRlX3JvdwAFB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50NjQEc2FsdAZ1aW50NjQEc2VlZAtjaGVja3N1bTI1NgZjb21taXQLY2hlY2tzdW0yNTYGdHJhdmVsAAMCaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wLdHJhdmVsX3BsYW4ACAlkZXBhcnR1cmUKdGltZV9wb2ludAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwpmbGlnaHR0aW1lBnVpbnQzMghsb2FkdGltZQZ1aW50MzIMcmVjaGFyZ2V0aW1lBnVpbnQzMgRtYXNzBnVpbnQ2NAtlbmVyZ3l1c2FnZQZ1aW50MzIIZGlzdGFuY2UGdWludDY0DnRyYXZlbF9zdW1tYXJ5AAwFc3RhdHMKc2hpcF9zdGF0cwdsb2FkZXJzDGxvYWRlcl9zdGF0cwZvcmlnaW4LY29vcmRpbmF0ZXMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIZGlzdGFuY2UGdWludDY0CXRvdGFsbWFzcwZ1aW50NjQMYWNjZWxlcmF0aW9uB2Zsb2F0NjQKZmxpZ2h0dGltZQZ1aW50NjQLZW5lcmd5dXNhZ2UGdWludDY0DHJlY2hhcmdldGltZQZ1aW50NjQIbG9hZHRpbWUGdWludDY0BHRpbWUGdWludDY0CnRyYXZlbHBsYW4ABAJpZAZ1aW50NjQGb3JpZ2luC2Nvb3JkaW5hdGVzC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wKdHJhdmVsdGltZQACAmlkBnVpbnQ2NAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwR3aXBlAAASAAAAQKFpdjIHYWR2YW5jZdMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkdmFuY2UKc3VtbWFyeTogJ0FkdmFuY2UgdHVybicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWR2YW5jZSB0aGUgZ2FtZSB0byB0aGUgbmV4dCB0dXJuLgAAAACo7e41BmFycml2ZbMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFycml2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgdHJhdmVsJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21wbGV0ZSB0aGUgdHJhdmVsIG9mIGEgc2hpcCBieSB1cGRhdGluZyBpdHMgbG9jYXRpb24gdG8gdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGFmdGVyIHRoZSB0cmF2ZWwgZHVyYXRpb24gaGFzIHBhc3NlZC4KCi0tLQAAADhRyrw+CGJ1eWdvb2Rz3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYnV5Z29vZHMKc3VtbWFyeTogJ0J1eSBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUHVyY2hhc2UgZ29vZHMgYW5kIGFkZCB0aGVtIHRvIGEgc2hpcCdzIGNhcmdvLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTxAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uCgotLS0AAAAAqHjMVAZlbmFibGXiAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQuCgotLS0AAAAAANCwaQRoYXNo/QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgoKLS0tAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tABRyt2YFr5ELbWFya2V0cHJpY2WbAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZQpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGdvb2QgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhIHNwZWNpZmllZCBnb29kIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCgotLS2AFXK3ZgWvkQxtYXJrZXRwcmljZXOVAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZXMKc3VtbWFyeTogJ0dldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgYSBnaXZlbiBsb2NhdGlvbi4AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAAAES1zc0GdHJhdmVsyAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGEgc2hpcCBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgoKLS0tCgpUaGlzIGFjdGlvbiBkZXRlcm1pbmVzIHRoZSBtYXJrZXQgcHJpY2Ugb2YgYWxsIGdvb2RzIGF0IGEgZ2l2ZW4gbG9jYXRpb24uAMA0sUa1zc0KdHJhdmVscGxhbo4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHBsYW4Kc3VtbWFyeTogJ0VzdGltYXRlIGEgdHJhdmVsIHBsYW4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZSB3aGF0IHRoZSB0cmF2ZWwgcGxhbiBpcyBmb3IgYSBzaGlwIHRyYXZlbGluZyB0byBhIGdpdmVuIGxvY2F0aW9uLgoKLS0tAICSLke1zc0KdHJhdmVsdGltZYwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbHRpbWUKc3VtbWFyeTogJ0VzdGltYXRlIFRyYXZlbCBUaW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFc3RpbWF0ZSB0aGUgZHVyYXRpb24gb2YgYSBzaGlwIHRyYXZlbGluZyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gdGhlIGFjdGlvbi4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0FAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAAYAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyABRyt2YFr5EKZ29vZF9wcmljZYAVcrdmBa+RDGdvb2RfcHJpY2VbXQDANLFGtc3NC3RyYXZlbF9wbGFuAICSLke1zc0OdHJhdmVsX3N1bW1hcnk=');
|
|
217
217
|
const abi = antelope.ABI.from(abiBlob);
|
|
218
218
|
var Types;
|
|
219
219
|
(function (Types) {
|
|
@@ -231,9 +231,6 @@ var Types;
|
|
|
231
231
|
Types.advance = advance;
|
|
232
232
|
let arrive = class arrive extends antelope.Struct {
|
|
233
233
|
};
|
|
234
|
-
tslib.__decorate([
|
|
235
|
-
antelope.Struct.field(antelope.Name)
|
|
236
|
-
], arrive.prototype, "owner", void 0);
|
|
237
234
|
tslib.__decorate([
|
|
238
235
|
antelope.Struct.field(antelope.UInt64)
|
|
239
236
|
], arrive.prototype, "id", void 0);
|
|
@@ -492,15 +489,30 @@ var Types;
|
|
|
492
489
|
Types.ship_stats = ship_stats;
|
|
493
490
|
let travel_plan = class travel_plan extends antelope.Struct {
|
|
494
491
|
};
|
|
492
|
+
tslib.__decorate([
|
|
493
|
+
antelope.Struct.field(antelope.TimePoint)
|
|
494
|
+
], travel_plan.prototype, "departure", void 0);
|
|
495
495
|
tslib.__decorate([
|
|
496
496
|
antelope.Struct.field(coordinates)
|
|
497
497
|
], travel_plan.prototype, "destination", void 0);
|
|
498
498
|
tslib.__decorate([
|
|
499
|
-
antelope.Struct.field(antelope.
|
|
500
|
-
], travel_plan.prototype, "
|
|
499
|
+
antelope.Struct.field(antelope.UInt32)
|
|
500
|
+
], travel_plan.prototype, "flighttime", void 0);
|
|
501
|
+
tslib.__decorate([
|
|
502
|
+
antelope.Struct.field(antelope.UInt32)
|
|
503
|
+
], travel_plan.prototype, "loadtime", void 0);
|
|
501
504
|
tslib.__decorate([
|
|
502
505
|
antelope.Struct.field(antelope.UInt32)
|
|
503
|
-
], travel_plan.prototype, "
|
|
506
|
+
], travel_plan.prototype, "rechargetime", void 0);
|
|
507
|
+
tslib.__decorate([
|
|
508
|
+
antelope.Struct.field(antelope.UInt64)
|
|
509
|
+
], travel_plan.prototype, "mass", void 0);
|
|
510
|
+
tslib.__decorate([
|
|
511
|
+
antelope.Struct.field(antelope.UInt32)
|
|
512
|
+
], travel_plan.prototype, "energyusage", void 0);
|
|
513
|
+
tslib.__decorate([
|
|
514
|
+
antelope.Struct.field(antelope.UInt64)
|
|
515
|
+
], travel_plan.prototype, "distance", void 0);
|
|
504
516
|
travel_plan = tslib.__decorate([
|
|
505
517
|
antelope.Struct.type('travel_plan')
|
|
506
518
|
], travel_plan);
|
|
@@ -564,9 +576,6 @@ var Types;
|
|
|
564
576
|
Types.state_row = state_row;
|
|
565
577
|
let travel = class travel extends antelope.Struct {
|
|
566
578
|
};
|
|
567
|
-
tslib.__decorate([
|
|
568
|
-
antelope.Struct.field(antelope.Name)
|
|
569
|
-
], travel.prototype, "owner", void 0);
|
|
570
579
|
tslib.__decorate([
|
|
571
580
|
antelope.Struct.field(antelope.UInt64)
|
|
572
581
|
], travel.prototype, "id", void 0);
|
|
@@ -601,7 +610,7 @@ var Types;
|
|
|
601
610
|
antelope.Struct.field(antelope.UInt64)
|
|
602
611
|
], travel_summary.prototype, "totalmass", void 0);
|
|
603
612
|
tslib.__decorate([
|
|
604
|
-
antelope.Struct.field(antelope.
|
|
613
|
+
antelope.Struct.field(antelope.Float64)
|
|
605
614
|
], travel_summary.prototype, "acceleration", void 0);
|
|
606
615
|
tslib.__decorate([
|
|
607
616
|
antelope.Struct.field(antelope.UInt64)
|
|
@@ -622,6 +631,24 @@ var Types;
|
|
|
622
631
|
antelope.Struct.type('travel_summary')
|
|
623
632
|
], travel_summary);
|
|
624
633
|
Types.travel_summary = travel_summary;
|
|
634
|
+
let travelplan = class travelplan extends antelope.Struct {
|
|
635
|
+
};
|
|
636
|
+
tslib.__decorate([
|
|
637
|
+
antelope.Struct.field(antelope.UInt64)
|
|
638
|
+
], travelplan.prototype, "id", void 0);
|
|
639
|
+
tslib.__decorate([
|
|
640
|
+
antelope.Struct.field(coordinates)
|
|
641
|
+
], travelplan.prototype, "origin", void 0);
|
|
642
|
+
tslib.__decorate([
|
|
643
|
+
antelope.Struct.field(coordinates)
|
|
644
|
+
], travelplan.prototype, "destination", void 0);
|
|
645
|
+
tslib.__decorate([
|
|
646
|
+
antelope.Struct.field('bool')
|
|
647
|
+
], travelplan.prototype, "recharge", void 0);
|
|
648
|
+
travelplan = tslib.__decorate([
|
|
649
|
+
antelope.Struct.type('travelplan')
|
|
650
|
+
], travelplan);
|
|
651
|
+
Types.travelplan = travelplan;
|
|
625
652
|
let traveltime = class traveltime extends antelope.Struct {
|
|
626
653
|
};
|
|
627
654
|
tslib.__decorate([
|
|
@@ -677,12 +704,10 @@ var server = /*#__PURE__*/Object.freeze({
|
|
|
677
704
|
});
|
|
678
705
|
|
|
679
706
|
function getCurrentEpoch(game) {
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
return epoch;
|
|
685
|
-
});
|
|
707
|
+
const current = new Date().getTime();
|
|
708
|
+
const difference = (current - game.config.start.toMilliseconds()) / 1000;
|
|
709
|
+
const epoch = Math.floor(difference / Number(game.config.epochtime)) + 1;
|
|
710
|
+
return epoch;
|
|
686
711
|
}
|
|
687
712
|
|
|
688
713
|
function hash(seed, string) {
|
|
@@ -694,164 +719,261 @@ function hash512(seed, string) {
|
|
|
694
719
|
return antelope.Checksum512.hash(bytes);
|
|
695
720
|
}
|
|
696
721
|
|
|
697
|
-
|
|
698
|
-
if (ship.travelplan) {
|
|
699
|
-
const { departure, duration } = ship.travelplan;
|
|
700
|
-
return (+new Date() - +departure.toDate()) / (Number(duration) * 1000);
|
|
701
|
-
}
|
|
702
|
-
return 0;
|
|
703
|
-
}
|
|
704
|
-
function distanceBetweenCoordinates(origin, destination) {
|
|
705
|
-
return distanceBetweenPoints(origin.x, origin.y, destination.x, destination.y);
|
|
706
|
-
}
|
|
707
|
-
function distanceBetweenPoints(x1, y1, x2, y2) {
|
|
708
|
-
const x = Math.pow(x1 - x2, 2);
|
|
709
|
-
const y = Math.pow(y1 - y2, 2);
|
|
710
|
-
return antelope.UInt16.from(Math.sqrt(x + y));
|
|
711
|
-
}
|
|
712
|
-
function lerp(origin, destination, time) {
|
|
713
|
-
return {
|
|
714
|
-
x: (1 - time) * Number(origin.x) + time * Number(destination.x),
|
|
715
|
-
y: (1 - time) * Number(origin.y) + time * Number(destination.y),
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
function rotation(origin, destination) {
|
|
719
|
-
return Math.atan2(destination.y - origin.y, destination.x - origin.x) * (180 / Math.PI) + 90;
|
|
720
|
-
}
|
|
721
|
-
function hasPlanet(seed, coordinates) {
|
|
722
|
-
const str = ['system', coordinates.x, coordinates.y].join('-');
|
|
723
|
-
return String(hash512(seed, str)).slice(0, 2) === '00';
|
|
724
|
-
}
|
|
725
|
-
function findNearbyPlanets(seed, origin, maxDistance = 20) {
|
|
726
|
-
const nearbySystems = [];
|
|
727
|
-
const max = antelope.UInt16.from(maxDistance);
|
|
728
|
-
const xMin = antelope.Int64.from(origin.x).subtracting(max);
|
|
729
|
-
const xMax = antelope.Int64.from(origin.x).adding(max);
|
|
730
|
-
const yMin = antelope.Int64.from(origin.y).subtracting(max);
|
|
731
|
-
const yMax = antelope.Int64.from(origin.y).adding(max);
|
|
732
|
-
for (let x = Number(xMin); x <= Number(xMax); x++) {
|
|
733
|
-
for (let y = Number(yMin); y <= Number(yMax); y++) {
|
|
734
|
-
const samePlace = x === origin.x && y === origin.y;
|
|
735
|
-
if (!samePlace) {
|
|
736
|
-
const distance = distanceBetweenPoints(origin.x, origin.y, x, y);
|
|
737
|
-
if (Number(distance) <= Number(max)) {
|
|
738
|
-
const system = hasPlanet(seed, { x, y });
|
|
739
|
-
if (system) {
|
|
740
|
-
nearbySystems.push({ origin, destination: { x, y }, distance });
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
return nearbySystems;
|
|
747
|
-
}
|
|
722
|
+
const PRECISION = 10000;
|
|
748
723
|
|
|
749
724
|
const goods = [
|
|
750
725
|
{
|
|
751
|
-
id:
|
|
726
|
+
id: 1,
|
|
752
727
|
name: 'FizzGlo',
|
|
753
728
|
description: 'Pops with flavor! A neon drink that makes your burps glow.',
|
|
754
|
-
base_price:
|
|
755
|
-
mass:
|
|
729
|
+
base_price: 200,
|
|
730
|
+
mass: 5000,
|
|
756
731
|
},
|
|
757
732
|
{
|
|
758
|
-
id:
|
|
733
|
+
id: 2,
|
|
759
734
|
name: 'ZapSnacks',
|
|
760
735
|
description: 'Electric taste! Spicy edible energy sparks for a tongue-tingling experience.',
|
|
761
|
-
base_price:
|
|
762
|
-
mass:
|
|
736
|
+
base_price: 300,
|
|
737
|
+
mass: 2000,
|
|
763
738
|
},
|
|
764
739
|
{
|
|
765
|
-
id:
|
|
740
|
+
id: 3,
|
|
766
741
|
name: 'Blob Buddies',
|
|
767
742
|
description: 'Squishy friends! Clingy, cute and mood-matching pet blobs for every home!',
|
|
768
|
-
base_price:
|
|
769
|
-
mass:
|
|
743
|
+
base_price: 400,
|
|
744
|
+
mass: 10000,
|
|
770
745
|
},
|
|
771
746
|
{
|
|
772
|
-
id:
|
|
747
|
+
id: 4,
|
|
773
748
|
name: 'TuneTooth',
|
|
774
749
|
description: 'Whistle while you eat! Edible instrument treats that play tunes when chewed.',
|
|
775
|
-
base_price:
|
|
776
|
-
mass:
|
|
750
|
+
base_price: 600,
|
|
751
|
+
mass: 3000,
|
|
777
752
|
},
|
|
778
753
|
{
|
|
779
|
-
id:
|
|
754
|
+
id: 5,
|
|
780
755
|
name: 'SunPods',
|
|
781
756
|
description: 'Miniature suns in your pocket providing on-demand light & warmth.',
|
|
782
|
-
base_price:
|
|
783
|
-
mass:
|
|
757
|
+
base_price: 800,
|
|
758
|
+
mass: 1000,
|
|
784
759
|
},
|
|
785
760
|
{
|
|
786
|
-
id:
|
|
761
|
+
id: 6,
|
|
787
762
|
name: 'Fuzzix',
|
|
788
763
|
description: 'Pocket-sized quantum fluff generator for instant comfy.',
|
|
789
|
-
base_price:
|
|
790
|
-
mass:
|
|
764
|
+
base_price: 1000,
|
|
765
|
+
mass: 4000,
|
|
791
766
|
},
|
|
792
767
|
{
|
|
793
|
-
id:
|
|
768
|
+
id: 7,
|
|
794
769
|
name: 'GlowGo',
|
|
795
770
|
description: 'Ingestible bioluminescent jelly, your inside glows in the dark!',
|
|
796
|
-
base_price:
|
|
797
|
-
mass:
|
|
771
|
+
base_price: 140,
|
|
772
|
+
mass: 10000,
|
|
798
773
|
},
|
|
799
774
|
{
|
|
800
|
-
id:
|
|
775
|
+
id: 8,
|
|
801
776
|
name: 'KrackleKaps',
|
|
802
777
|
description: 'Capsules packed with tiny firecrackers, spice up meals and parties.',
|
|
803
|
-
base_price:
|
|
804
|
-
mass:
|
|
778
|
+
base_price: 180,
|
|
779
|
+
mass: 2000,
|
|
805
780
|
},
|
|
806
781
|
{
|
|
807
|
-
id:
|
|
782
|
+
id: 9,
|
|
808
783
|
name: 'PlasmaMints',
|
|
809
784
|
description: 'Hypercharged candy giving plasma breath capable of cutting through steel.',
|
|
810
|
-
base_price:
|
|
811
|
-
mass:
|
|
785
|
+
base_price: 220,
|
|
786
|
+
mass: 500,
|
|
812
787
|
},
|
|
813
788
|
{
|
|
814
|
-
id:
|
|
789
|
+
id: 10,
|
|
815
790
|
name: 'TimeTreats',
|
|
816
791
|
description: 'Confectionery morsels releasing slow-mo effect over a limited period.',
|
|
817
|
-
base_price:
|
|
818
|
-
mass:
|
|
792
|
+
base_price: 250,
|
|
793
|
+
mass: 3000,
|
|
819
794
|
},
|
|
820
795
|
{
|
|
821
|
-
id:
|
|
796
|
+
id: 11,
|
|
822
797
|
name: 'QuantumQuencher',
|
|
823
798
|
description: 'Bottled hyper-fluid quenching thirst across multiple parallel realities simultaneously.',
|
|
824
|
-
base_price:
|
|
825
|
-
mass:
|
|
799
|
+
base_price: 300,
|
|
800
|
+
mass: 6000,
|
|
826
801
|
},
|
|
827
802
|
{
|
|
828
|
-
id:
|
|
803
|
+
id: 12,
|
|
829
804
|
name: 'TransmatterTruffles',
|
|
830
805
|
description: 'Delectable chocolates instantly teleporting consumers short distances.',
|
|
831
|
-
base_price:
|
|
832
|
-
mass:
|
|
806
|
+
base_price: 350,
|
|
807
|
+
mass: 4000,
|
|
833
808
|
},
|
|
834
809
|
{
|
|
835
|
-
id:
|
|
810
|
+
id: 13,
|
|
836
811
|
name: 'MemoryGum',
|
|
837
812
|
description: 'Chewable gum storing or replaying memories while being chewed.',
|
|
838
|
-
base_price:
|
|
839
|
-
mass:
|
|
813
|
+
base_price: 400,
|
|
814
|
+
mass: 500,
|
|
840
815
|
},
|
|
841
816
|
{
|
|
842
|
-
id:
|
|
817
|
+
id: 14,
|
|
843
818
|
name: 'SymbioSnack',
|
|
844
819
|
description: 'Edible alien larvae adopting owner’s taste preference upon consumption.',
|
|
845
|
-
base_price:
|
|
846
|
-
mass:
|
|
820
|
+
base_price: 500,
|
|
821
|
+
mass: 10000,
|
|
847
822
|
},
|
|
848
823
|
];
|
|
824
|
+
const goodIds = goods.map((g) => g.id);
|
|
849
825
|
function getGood(good_id) {
|
|
850
|
-
const good = goods.find((g) =>
|
|
826
|
+
const good = goods.find((g) => antelope.UInt16.from(good_id).equals(g.id));
|
|
851
827
|
if (!good) {
|
|
852
828
|
throw new Error('Good does not exist');
|
|
853
829
|
}
|
|
854
|
-
return good;
|
|
830
|
+
return Object.assign(Object.assign({}, good), { id: antelope.UInt16.from(good.id), base_price: antelope.UInt64.from(good.base_price), mass: antelope.UInt64.from(good.mass).multiplying(PRECISION) });
|
|
831
|
+
}
|
|
832
|
+
function getGoods() {
|
|
833
|
+
return goods.map((g) => getGood(g.id));
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
function travelplanDuration(travelplan) {
|
|
837
|
+
return antelope.UInt32.from(travelplan.flighttime)
|
|
838
|
+
.adding(travelplan.rechargetime)
|
|
839
|
+
.adding(travelplan.loadtime);
|
|
840
|
+
}
|
|
841
|
+
function distanceTraveled(ship, current = new Date()) {
|
|
842
|
+
if (ship.travelplan) {
|
|
843
|
+
const { departure } = ship.travelplan;
|
|
844
|
+
const duration = travelplanDuration(ship.travelplan);
|
|
845
|
+
return (+current - +departure.toDate()) / (Number(duration) * 1000);
|
|
846
|
+
}
|
|
847
|
+
return 0;
|
|
848
|
+
}
|
|
849
|
+
function distanceBetweenCoordinates(origin, destination) {
|
|
850
|
+
return distanceBetweenPoints(origin.x, origin.y, destination.x, destination.y);
|
|
851
|
+
}
|
|
852
|
+
function distanceBetweenPoints(x1, y1, x2, y2) {
|
|
853
|
+
const x = Math.pow(x1 - x2, 2);
|
|
854
|
+
const y = Math.pow(y1 - y2, 2);
|
|
855
|
+
return antelope.UInt64.from(Math.sqrt(x + y) * PRECISION);
|
|
856
|
+
}
|
|
857
|
+
function lerp(origin, destination, time) {
|
|
858
|
+
return {
|
|
859
|
+
x: (1 - time) * Number(origin.x) + time * Number(destination.x),
|
|
860
|
+
y: (1 - time) * Number(origin.y) + time * Number(destination.y),
|
|
861
|
+
};
|
|
862
|
+
}
|
|
863
|
+
function rotation(origin, destination) {
|
|
864
|
+
return Math.atan2(destination.y - origin.y, destination.x - origin.x) * (180 / Math.PI) + 90;
|
|
865
|
+
}
|
|
866
|
+
function hasSystem(seed, coordinates) {
|
|
867
|
+
const str = ['system', coordinates.x, coordinates.y].join('-');
|
|
868
|
+
return String(hash512(seed, str)).slice(0, 2) === '00';
|
|
869
|
+
}
|
|
870
|
+
function findNearbyPlanets(seed, origin, maxDistance = 20 * PRECISION) {
|
|
871
|
+
const nearbySystems = [];
|
|
872
|
+
const max = antelope.UInt64.from(maxDistance / PRECISION);
|
|
873
|
+
const xMin = antelope.Int64.from(origin.x).subtracting(max);
|
|
874
|
+
const xMax = antelope.Int64.from(origin.x).adding(max);
|
|
875
|
+
const yMin = antelope.Int64.from(origin.y).subtracting(max);
|
|
876
|
+
const yMax = antelope.Int64.from(origin.y).adding(max);
|
|
877
|
+
for (let x = Number(xMin); x <= Number(xMax); x++) {
|
|
878
|
+
for (let y = Number(yMin); y <= Number(yMax); y++) {
|
|
879
|
+
const samePlace = x === origin.x && y === origin.y;
|
|
880
|
+
if (!samePlace) {
|
|
881
|
+
const distance = distanceBetweenPoints(origin.x, origin.y, x, y);
|
|
882
|
+
if (Number(distance) <= Number(maxDistance)) {
|
|
883
|
+
const system = hasSystem(seed, { x, y });
|
|
884
|
+
if (system) {
|
|
885
|
+
nearbySystems.push({ origin, destination: { x, y }, distance });
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
return nearbySystems;
|
|
892
|
+
}
|
|
893
|
+
function travelplan(game, ship, cargos, origin, destination, recharge) {
|
|
894
|
+
const valid = hasSystem(game.config.seed, destination);
|
|
895
|
+
if (!valid) {
|
|
896
|
+
throw new Error('Invalid destination');
|
|
897
|
+
}
|
|
898
|
+
const distance = distanceBetweenCoordinates(origin, destination);
|
|
899
|
+
const mass = calc_ship_mass(ship, cargos);
|
|
900
|
+
const loadtime = calc_ship_loadtime(ship, cargos);
|
|
901
|
+
const flighttime = calc_ship_flighttime(ship, mass, distance);
|
|
902
|
+
const rechargetime = recharge ? calc_ship_rechargetime(ship) : 0;
|
|
903
|
+
const energyusage = calc_energyusage(ship.stats.drain, flighttime);
|
|
904
|
+
return Types.travel_plan.from({
|
|
905
|
+
departure: antelope.BlockTimestamp.fromDate(new Date()),
|
|
906
|
+
destination,
|
|
907
|
+
loadtime,
|
|
908
|
+
flighttime,
|
|
909
|
+
rechargetime,
|
|
910
|
+
distance,
|
|
911
|
+
energyusage,
|
|
912
|
+
mass,
|
|
913
|
+
});
|
|
914
|
+
}
|
|
915
|
+
function calc_rechargetime(capacity, energy, recharge) {
|
|
916
|
+
return antelope.UInt32.from(capacity).subtracting(energy).dividing(recharge);
|
|
917
|
+
}
|
|
918
|
+
function calc_ship_rechargetime(ship) {
|
|
919
|
+
return calc_rechargetime(ship.stats.capacity, ship.state.energy, ship.stats.recharge);
|
|
920
|
+
}
|
|
921
|
+
function calc_ship_loadtime(ship, cargos) {
|
|
922
|
+
const loadtime = antelope.UInt32.from(0);
|
|
923
|
+
const mass_load = antelope.UInt64.from(0);
|
|
924
|
+
const mass_unload = antelope.UInt64.from(0);
|
|
925
|
+
for (const cargo of cargos) {
|
|
926
|
+
const cargo_delta = Number(cargo.quantity) - Number(cargo.loaded);
|
|
927
|
+
if (cargo_delta !== 0) {
|
|
928
|
+
const good_mass = getGood(cargo.good_id).mass;
|
|
929
|
+
const cargo_mass = good_mass.multiplying(Math.abs(cargo_delta));
|
|
930
|
+
if (cargo_delta > 0) {
|
|
931
|
+
mass_load.add(cargo_mass);
|
|
932
|
+
}
|
|
933
|
+
else {
|
|
934
|
+
mass_unload.add(cargo_mass);
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
if (Number(mass_load) > 0 || Number(mass_unload) > 0) {
|
|
939
|
+
mass_load.add(ship.loaders.mass);
|
|
940
|
+
loadtime.add(calc_loader_flighttime(ship, mass_load));
|
|
941
|
+
mass_unload.add(ship.loaders.mass);
|
|
942
|
+
loadtime.add(calc_loader_flighttime(ship, mass_unload));
|
|
943
|
+
}
|
|
944
|
+
return loadtime.dividing(ship.loaders.quantity);
|
|
945
|
+
}
|
|
946
|
+
function calc_flighttime(distance, acceleration) {
|
|
947
|
+
return antelope.UInt32.from(2 * Math.sqrt(Number(distance) / acceleration));
|
|
948
|
+
}
|
|
949
|
+
function calc_loader_flighttime(ship, mass) {
|
|
950
|
+
return calc_flighttime(ship.stats.orbit, calc_loader_acceleration(ship, mass));
|
|
951
|
+
}
|
|
952
|
+
function calc_loader_acceleration(ship, mass) {
|
|
953
|
+
return calc_acceleration(Number(ship.loaders.thrust), Number(mass) + Number(ship.loaders.mass));
|
|
954
|
+
}
|
|
955
|
+
function calc_ship_flighttime(ship, mass, distance) {
|
|
956
|
+
const acceleration = calc_ship_acceleration(ship, mass);
|
|
957
|
+
return calc_flighttime(distance, acceleration);
|
|
958
|
+
}
|
|
959
|
+
function calc_ship_acceleration(ship, mass) {
|
|
960
|
+
return calc_acceleration(Number(ship.stats.thrust), Number(mass));
|
|
961
|
+
}
|
|
962
|
+
function calc_acceleration(thrust, mass) {
|
|
963
|
+
return (thrust / mass) * PRECISION;
|
|
964
|
+
}
|
|
965
|
+
function calc_ship_mass(ship, cargos) {
|
|
966
|
+
const mass = antelope.UInt64.from(ship.stats.mass);
|
|
967
|
+
if (Number(ship.loaders.quantity) > 0) {
|
|
968
|
+
mass.add(ship.loaders.mass.multiplying(ship.loaders.quantity));
|
|
969
|
+
}
|
|
970
|
+
for (const cargo of cargos) {
|
|
971
|
+
mass.add(getGood(cargo.good_id).mass.multiplying(cargo.quantity));
|
|
972
|
+
}
|
|
973
|
+
return mass;
|
|
974
|
+
}
|
|
975
|
+
function calc_energyusage(drain, flighttime) {
|
|
976
|
+
return antelope.UInt32.from(drain).multiplying(flighttime);
|
|
855
977
|
}
|
|
856
978
|
|
|
857
979
|
function roll(game_seed, roll_seed) {
|
|
@@ -869,9 +991,9 @@ function marketprice(location, good_id, gameSeed, epochSeed) {
|
|
|
869
991
|
}
|
|
870
992
|
function marketprices(location, gameSeed, epochSeed) {
|
|
871
993
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
872
|
-
return Promise.all(
|
|
994
|
+
return Promise.all(getGoods().map((good) => tslib.__awaiter(this, void 0, void 0, function* () {
|
|
873
995
|
const price = yield marketprice(location, good.id, gameSeed, epochSeed);
|
|
874
|
-
return { price,
|
|
996
|
+
return { price, good: good };
|
|
875
997
|
})));
|
|
876
998
|
});
|
|
877
999
|
}
|
|
@@ -925,7 +1047,8 @@ const INSUFFICIENT_GOOD_QUANTITY = 'Insufficient good quantity';
|
|
|
925
1047
|
const REQUIRES_MORE_THAN_ONE = 'Requires more than one';
|
|
926
1048
|
|
|
927
1049
|
class Shipload {
|
|
928
|
-
constructor(chain,
|
|
1050
|
+
constructor(chain, constructorOptions) {
|
|
1051
|
+
const { client, platformContract, serverContract } = constructorOptions || {};
|
|
929
1052
|
this.client = client || new antelope.APIClient({ url: chain.url });
|
|
930
1053
|
this.platform = platformContract
|
|
931
1054
|
? platformContract
|
|
@@ -939,7 +1062,7 @@ class Shipload {
|
|
|
939
1062
|
let platform$1 = new Contract$1({
|
|
940
1063
|
client: new antelope.APIClient({ url: chain.url }),
|
|
941
1064
|
});
|
|
942
|
-
if (shiploadOptions.platformContractName) {
|
|
1065
|
+
if (shiploadOptions === null || shiploadOptions === void 0 ? void 0 : shiploadOptions.platformContractName) {
|
|
943
1066
|
const client = shiploadOptions.client || new antelope.APIClient({ url: chain.url });
|
|
944
1067
|
const contractKit = new ContractKit__default["default"]({ client });
|
|
945
1068
|
platform$1 = yield contractKit.load(shiploadOptions.platformContractName);
|
|
@@ -947,7 +1070,7 @@ class Shipload {
|
|
|
947
1070
|
let server$1 = new Contract({
|
|
948
1071
|
client: new antelope.APIClient({ url: chain.url }),
|
|
949
1072
|
});
|
|
950
|
-
if (shiploadOptions.serverContractName) {
|
|
1073
|
+
if (shiploadOptions === null || shiploadOptions === void 0 ? void 0 : shiploadOptions.serverContractName) {
|
|
951
1074
|
const client = shiploadOptions.client || new antelope.APIClient({ url: chain.url });
|
|
952
1075
|
const contractKit = new ContractKit__default["default"]({ client });
|
|
953
1076
|
server$1 = yield contractKit.load(shiploadOptions.serverContractName);
|
|
@@ -987,6 +1110,29 @@ class Shipload {
|
|
|
987
1110
|
return marketprices(location, game.config.seed, state.seed);
|
|
988
1111
|
});
|
|
989
1112
|
}
|
|
1113
|
+
hasSystem(location) {
|
|
1114
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
1115
|
+
const game = yield this.getGame();
|
|
1116
|
+
return hasSystem(game.config.seed, location);
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
findNearbyPlanets(origin, maxDistance = 20) {
|
|
1120
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
1121
|
+
const game = yield this.getGame();
|
|
1122
|
+
return findNearbyPlanets(game.config.seed, origin, maxDistance);
|
|
1123
|
+
});
|
|
1124
|
+
}
|
|
1125
|
+
travelplan(ship, origin, destination, recharge = false) {
|
|
1126
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
1127
|
+
const game = yield this.getGame();
|
|
1128
|
+
const cargos = yield this.server.table('cargo').all({
|
|
1129
|
+
from: ship.id,
|
|
1130
|
+
to: ship.id,
|
|
1131
|
+
index_position: 'secondary',
|
|
1132
|
+
});
|
|
1133
|
+
return travelplan(game, ship, cargos, origin, destination, recharge);
|
|
1134
|
+
});
|
|
1135
|
+
}
|
|
990
1136
|
}
|
|
991
1137
|
|
|
992
1138
|
exports.ERROR_SYSTEM_NOT_INITIALIZED = ERROR_SYSTEM_NOT_INITIALIZED;
|
|
@@ -995,11 +1141,23 @@ exports.GOOD_NOT_AVAILABLE_AT_LOCATION = GOOD_NOT_AVAILABLE_AT_LOCATION;
|
|
|
995
1141
|
exports.INSUFFICIENT_BALANCE = INSUFFICIENT_BALANCE;
|
|
996
1142
|
exports.INSUFFICIENT_GOOD_QUANTITY = INSUFFICIENT_GOOD_QUANTITY;
|
|
997
1143
|
exports.PLAYER_NOT_FOUND = PLAYER_NOT_FOUND;
|
|
1144
|
+
exports.PRECISION = PRECISION;
|
|
998
1145
|
exports.PlatformContract = platform;
|
|
999
1146
|
exports.REQUIRES_MORE_THAN_ONE = REQUIRES_MORE_THAN_ONE;
|
|
1000
1147
|
exports.SHIP_CANNOT_BUY_TRAVELING = SHIP_CANNOT_BUY_TRAVELING;
|
|
1001
1148
|
exports.SHIP_NOT_FOUND = SHIP_NOT_FOUND;
|
|
1002
1149
|
exports.ServerContract = server;
|
|
1150
|
+
exports.calc_acceleration = calc_acceleration;
|
|
1151
|
+
exports.calc_energyusage = calc_energyusage;
|
|
1152
|
+
exports.calc_flighttime = calc_flighttime;
|
|
1153
|
+
exports.calc_loader_acceleration = calc_loader_acceleration;
|
|
1154
|
+
exports.calc_loader_flighttime = calc_loader_flighttime;
|
|
1155
|
+
exports.calc_rechargetime = calc_rechargetime;
|
|
1156
|
+
exports.calc_ship_acceleration = calc_ship_acceleration;
|
|
1157
|
+
exports.calc_ship_flighttime = calc_ship_flighttime;
|
|
1158
|
+
exports.calc_ship_loadtime = calc_ship_loadtime;
|
|
1159
|
+
exports.calc_ship_mass = calc_ship_mass;
|
|
1160
|
+
exports.calc_ship_rechargetime = calc_ship_rechargetime;
|
|
1003
1161
|
exports["default"] = Shipload;
|
|
1004
1162
|
exports.distanceBetweenCoordinates = distanceBetweenCoordinates;
|
|
1005
1163
|
exports.distanceBetweenPoints = distanceBetweenPoints;
|
|
@@ -1007,8 +1165,9 @@ exports.distanceTraveled = distanceTraveled;
|
|
|
1007
1165
|
exports.findNearbyPlanets = findNearbyPlanets;
|
|
1008
1166
|
exports.getCurrentEpoch = getCurrentEpoch;
|
|
1009
1167
|
exports.getGood = getGood;
|
|
1010
|
-
exports.
|
|
1011
|
-
exports.
|
|
1168
|
+
exports.getGoods = getGoods;
|
|
1169
|
+
exports.goodIds = goodIds;
|
|
1170
|
+
exports.hasSystem = hasSystem;
|
|
1012
1171
|
exports.hash = hash;
|
|
1013
1172
|
exports.hash512 = hash512;
|
|
1014
1173
|
exports.lerp = lerp;
|
|
@@ -1016,4 +1175,6 @@ exports.marketprice = marketprice;
|
|
|
1016
1175
|
exports.marketprices = marketprices;
|
|
1017
1176
|
exports.priceFromRoll = priceFromRoll;
|
|
1018
1177
|
exports.rotation = rotation;
|
|
1178
|
+
exports.travelplan = travelplan;
|
|
1179
|
+
exports.travelplanDuration = travelplanDuration;
|
|
1019
1180
|
//# sourceMappingURL=shipload.js.map
|