{"_id":"@darkforest_eth/gamelogic","_rev":"42-d436f20981fffd8d625074b1685f0d07","name":"@darkforest_eth/gamelogic","dist-tags":{"arena-round-5-1":"6.7.0-arena-round-5-1.0","latest":"6.7.29","arena-round-5-2":"6.7.0-arena-round-5-2.0","arena-fake-test":"6.7.0-arena-fake-test.0","arena-fake-test-2":"6.7.0-arena-fake-test-2.0","arena-fake-test-3":"6.7.0-arena-fake-test-3.1","staging-round-5":"6.7.0-staging-round-5.1","staging-round-5-mark-2":"6.7.0-staging-round-5-mark-2.0","staging-round-5-mark-3":"6.7.0-staging-round-5-mark-3.0","arena-deploy-test":"6.7.0-arena-deploy-test.0","staging-round-5-mark-4":"6.7.0-staging-round-5-mark-4.0"},"versions":{"6.7.0-arena-round-5-1.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-round-5-1.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-round-5-1.0","@darkforest_eth/serde":"6.7.0-arena-round-5-1.0","@darkforest_eth/types":"6.7.0-arena-round-5-1.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"6865365853e7105c8bce57103396ec3273acb48a","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-round-5-1.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-K0zDV/l3ADBjf47ZDhyqmHYNeKRp0PSJg9zsZBmaQPRHHtel4ncV6EkasIv2wiegoDqd/xbpB/LamAuazNenUQ==","shasum":"d26d6cfa5d084f42fabb87849fd0104dd9abc23b","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-round-5-1.0.tgz","fileCount":15,"unpackedSize":45734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBYNECRA9TVsSAnZWagAAQ2UP/27bHjaGGTGYph6GI+yf\n9kaPmD6NkNEWZ8qAfjKK21aDbstwJCDR1dmobkAzVs8S5+xvPqDVydHIBjD9\nL9Ie1undKsdHd+O7gp4WZzNolBsPnbhg5LYZgMdOpEhdhJaY+5RPd6Vr/AjZ\nq0/VHOa901rFwCUjZNv9sCsDtl9vqEHf5soauKLF7m+wmVWf+JZnIDmXtTNb\n93UCsnbYJlO7GDruiqGoRlRqwNywDzxJhxOuaUJx/u4RKh5lK/u2LInvxEeA\nOn+/qLiKPHZLSidO2PTAunvkJvNZPCebhE8hgw/tVUA59KlK97ool6hnw6Ic\nvdGtWLIqi1VHUyJoycRFZQD9SlUFocx1zjuYMemYAYrMvfI98qriEm5HfM2p\nYnYezz9WXxp+Y/SitXu4CgJ9BJkhx6cWWgd5RIH2J3TibbGGnZx8el/0+RuP\ntusi/+SZH4Cqz+4PzcODPT2BNX4kuZByoBbLaqMnPDhH2s0CR81Urpg9odX8\nNVvg+lhudQo+kAUTBWPf+6Cb1nqOF4E8LG4VlmNHwZW+KfWohT1t+W7UlxAm\nfjX/siMOmZclkZ8lmRffpkPFHKE4mZHDSJzbTPlCD5BLU6kUdVv1qbOisePV\nloGLFiJ90MM8sCOEsy1vXhyZcxVV3umD1TSJrRryNa8FPIrWRxTHrsUHqv91\nIqiD\r\n=vtfg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKNrl3B2qNFubLParaSau0VAd+qr5O3B5pouwUyEiyVAIhAJOUPVfYVgGkdmEJsVnBZFXssrbki72fbaNtZTG4IvaL"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-round-5-1.0_1644528452789_0.8961108863358607"},"_hasShrinkwrap":false},"6.7.0-arena-round-5-2.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-round-5-2.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-round-5-2.0","@darkforest_eth/serde":"6.7.0-arena-round-5-2.0","@darkforest_eth/types":"6.7.0-arena-round-5-2.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"dcbc30d7716edf139b78fdf9e53ffb7750254e7d","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-round-5-2.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-58AWktRAXcydGFXCEgtz4QPvpvYHVgmWoNIIvjKdWeh9XBDvWt8GqcVRn3mEtgd/bCkb/FR0G/kVEcl3pgxR5Q==","shasum":"49261e7cc7252912227e442382cfccd32fd1e372","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-round-5-2.0.tgz","fileCount":15,"unpackedSize":45920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBuKwCRA9TVsSAnZWagAADB4P/2SCyqWzJkfZ35a9hxkt\ngdfJWv26g6QMDNUYh+L6UkQKo59m5CGT7gHktufN9V1L9eN/BVbnPHAPeWfg\nHssNQm7FET45PnQJITwys/1ypOClYTgeeA2Gvll0o/TwV620q5sO2WsX1uqT\n71UA03xjmjMzUG+DdAK6a++JFp4RdJAlUszhKzBYNrAFFpG3Xv0vXumdjqjt\ndWY00+Wq9nVuHAjx54iirM4EQUmfWaqP6/A6K24cELiRHAwatPj2+xzt5ekL\nPC+E5dlT/nkqQIWwJkbOZ/ZXoidnG7T4KvU/PfQq0Hk777I/ks3vohuZeZUF\ngdR3pnjx/OvXnepleMATvMI/e68Q6b8PZWPLUpBkzbgCOhPsGfYPkktQ/bIt\nP3yvMEJjYz5rl5Z2LsucoKuvv3Bok2Dc0e2mjK7UigSUvY62LJbgWBtxATZ/\n6Cv5qWVElAY+KGV2kHEEYbiPi2r+eD1xvvoRwcLCWEBRqrjaPCdmLKNy9JKd\nnJYZzCVZNuWvDQo3HkaS2+O3wZDfpKvlPtk940NB/4cRr93wi+RHJWXXWWeB\nG9s2IEw1M5HS3CojnCPpYvp1DbsDfuLsmIGoRwNv0FRG+rQ4hi0FA0szs8qB\nhipGJGcw6ZFauXvHNRwtZD+ojNkmvYR54WXMcxszowzHYjHfo2gTQlRNtE0X\nmzkc\r\n=JGSr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJOJkvAmQ/TRVLoZIBCp8IsQsd4hZFDtxAjICfjbP7hQIgPHHYpye5D4wSQbDZB2T72IfTZEW2mI7yCMds6sAhz2k="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-round-5-2.0_1644618416384_0.05913529757344138"},"_hasShrinkwrap":false},"6.7.0-arena-fake-test.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-fake-test.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-fake-test.0","@darkforest_eth/serde":"6.7.0-arena-fake-test.0","@darkforest_eth/types":"6.7.0-arena-fake-test.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"b364123ea55c0012ddf9364dab431e37bfc5b7dd","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-fake-test.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-ybspwCvR3VVAzsY/rKdzlGzK8EsrZCrCtlWj3x0f2dr+76lJk4Qk3nT+bJfga3CJs9MzmbN7d0TiVyNNv6h6eA==","shasum":"ec3eb2b834decdee498cba34b0cec0889e16f5f5","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-fake-test.0.tgz","fileCount":15,"unpackedSize":45920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCDHOCRA9TVsSAnZWagAAcysP/iFUJTGWCGFXw7dM4ULv\nAkY71gHMHGfFN1tj9+ClHHGfCluNgS8YV86GgqrUMWYgvEJkEDy7lYxXhvDa\ns4u9YY2OX1yJ1SpDRTqps+2S5Bz+Jvc3Da6hWRwzQwAwfrCWFAkZtvcGaxv2\n8jrCVPQ+qFPmq1OfMl+IZlJ/HMev6FDAYu+53dWmzMKnaLOKaut93n9QF5nt\nRMT4V/KPyirYooq5TsTeoK5JNgyUi7CU7QLIfARDycL/UAAFS3ovcrdOHXbu\nHjel0VO9BsMxrfB9rU+bOY42wO12WNx3yHpikHYFo/vWZYkndZGlDW7ymuEX\nvZhcb1d/2lW9ypHS8G0kzI1LoHxqNw07KTbbE0ShPkQc+wLK7CKSfEa0L/gq\nWaApFd9lRLCNDWY4l2kB/P/J1IHdPzGoTWvM8xK4NdvpeGai64+R/q0XqHea\nV5jSV5NXzVND5KXPPbLDlqKWRNiqZ+sv6fu/IGG2ioNzo3e6bozqf7rLcMEb\nP4Tf9AtvsbcOoEIMyR9PXlnfWEWcKbdrHkGbnOGelmYRRnbbey/+TIWIsKn6\n/mvSN0BP+aKeyd1wjmpEMW4+wLWxPMQkCG7FPAWtNdCVjM1GoxQAbrkVQdp3\nbjF2+8GIdi3hwl80PCrhZYCbYg9Q2RQqPi2IxM4U+ezdgqYAz4qV496+LN8A\nKDAZ\r\n=Cka4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGuS7GGF0rgnrYSBsGP133zveEw9OnRtCil0lpSbKk6AIhAJV8ZQSwPsO+7L1yngiGIwxjAyfa2+LdRqFsQ+jKUSIW"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-fake-test.0_1644704206163_0.6055350688938639"},"_hasShrinkwrap":false},"6.7.0-arena-fake-test-2.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-fake-test-2.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-fake-test-2.0","@darkforest_eth/serde":"6.7.0-arena-fake-test-2.0","@darkforest_eth/types":"6.7.0-arena-fake-test-2.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"459c6f61150c879a0a0347929dbaa46578adb2b8","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-fake-test-2.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-+vVsmR6dkKXDh/u3bPwPow8gzuggzNN0FBk/EXFYQFvH+DkB5Hxeb0npLy7wCwiLq3CQ5/boiCJghEq027sigQ==","shasum":"d5145cf3e16f043eb0e156282c06ed3c7c1fd817","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-fake-test-2.0.tgz","fileCount":15,"unpackedSize":45928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCc6RCRA9TVsSAnZWagAA37gP/iZdAACekEslVTDUbVBj\nYvLBrZTF+mWBw3rgoW87pQkqHQUFIm9292x6SPn/YhOfUGC0vPN11mNBqsT5\n2eLG69cip9BC2EZ5FUdhQG+7Fi+2js735R8RH/kjtssfbdgg2n8XRk0iigFc\nuFajgzcPxrbIovC3r9pbb0dFDJUDvGgDvBheRP4iD732yYru1n3GCi+AB+JH\nBVYsH5KXufcYEjmInSHTd6epsHpJhjPYNJlTc5pwGfPqCmQyCz3x3by7ogcA\nIa+Adk/QTV/31HImcbFjO4bc/1rjV14IU0i24LkwCqjpY/79bp04e61tnIOG\nbeT89OLvAODsS+cZHBjmQEZvyLk5n2fq0+Gatc+Y9bT1a3cjk1kcrt/J7uKi\nrtgwufXZgplJICLrZoUxgctFrEeNj9qOOom5mulyyKGnfLPgPRhB0AddZSLG\nnRATd7eB1As0Xlb8BHO2U0Q8E5JIjOEyA/WMOZU136mJNT7kLMZluh7iA94b\nraNQHwTn6hKl7zpsZxiSG5wnwYLampW6J7NPHlXcY5XE0W54u08KEQrVvmC0\nyEQBDsBfSS6uo0S/qqqce3QWdwo4oZPxgNZj/XhodJ//gJyFbdx/kvwcoZ6w\nRb+cIX847m8xCoNdXoyeEnONaZqlJ/dHyFkvipisSxs831NvwTUxhW709j5p\nvh4n\r\n=hqnp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVsIrtkRVuFaLsCs74pI3pnwApXgeeq3ysFtZgTc7JsAiBB0oej5LCLzEo2UJiiTCduwC6zLda0lXyoE9NIGjly9w=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-fake-test-2.0_1644809873376_0.3421826824362406"},"_hasShrinkwrap":false},"6.7.0-arena-fake-test-3.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-fake-test-3.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-fake-test-3.0","@darkforest_eth/serde":"6.7.0-arena-fake-test-3.0","@darkforest_eth/types":"6.7.0-arena-fake-test-3.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"bd141bee5eae875f3659a66af55a215ca3c3bbb2","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-fake-test-3.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-YBWjTzqrddSlVWf8TYTT+Dvo2yWhzjd25Rnun/JzkR8gx7UkD2Zjn/a5AkAN0m08p2e+a3KznIVAEIyTuhj/Aw==","shasum":"1309fe789c708369b5225e9a6e6efc663fac9ba8","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-fake-test-3.0.tgz","fileCount":15,"unpackedSize":45928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCrkYCRA9TVsSAnZWagAAk0sP/jClqgSdRwAcVDU3Ytc9\nL1RT54uYw7FK+uNrAthrezHjH8OkOdqJTzIvN/7udeECLvZ7jDr1ubon3NCz\nOXrBPZtKmNfn3XmyDRxmNfS6iybT0Xiws7wo2d2m6BmvAkPLD3h/hIppIqhC\nctzHQhXwYJNUDCjPegHqWkdD/fJIeUdV1akChLQbH88d8bTOlYtpxdwuV8dQ\nDc0f2ZC8dK6b8K2p3HEf9t6hCJzUCcjs/FPtUSgP5PCAYbbQ88wl3N41dwi+\njJsVk/7rnGEFiiL2lXhY0ni4TYTYug/xc1aAZtk1B/5KsGIV1yOHqHDfJ8iH\nlsXu4On+KQNa5LLTi9hgmHrcqRwPUxpwDSaPVLZDb3zfGAzfsR8Pyl8ijc1z\nVH+Gh5Z7BnE9a+BH/ttbEvZPNs5JGhr4iZqjzCtNFzR9B5m2Kjcx+xou+Hv7\nn+8EDiGNz2fO1MTIyLfQAOLcN8FjS55UoDybDTKDjyaKdm+fTx2fWJVN2+GB\nxKhRylIt7wHsgy3Q/QAeRjdphLJiPZwVduKQhU1wY6rrpkDumVCaRvd/yfT+\nUhjUXy1ue7kaK546JzPgo5WaDqXW9Ci7ocNveXiAg5xQzZUmwkbKMA4UEUrd\nHqXqWQIg5/jDPQjU82AuA8TS45UvDpLwPNf7Re66hCqqakpqcSUy/wUGwqrX\nBna2\r\n=PJ+p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2EXYZhPCnhzxlubbq21fIoxkJIUE8HTJgw49rOyLEBwIgbuXOlqD3d7WKQuXybc7Yl8wVsz1lIilBlG7QYVEKrio="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-fake-test-3.0_1644869912446_0.37166313446188215"},"_hasShrinkwrap":false},"6.7.0-arena-fake-test-3.1":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-fake-test-3.1","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-fake-test-3.1","@darkforest_eth/serde":"6.7.0-arena-fake-test-3.1","@darkforest_eth/types":"6.7.0-arena-fake-test-3.1"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"ed8c77f4d0d15ba0dc077442cae24dd5acd5e61f","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-fake-test-3.1","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-faKfkgVc+7S20+9eH5U20aAx5Zp/MyP6G4BZ1JFsQBTExJ3rDAQtPNlg1V73FOKtLH/XEphZS4bsdHolowisbg==","shasum":"c65a7b03fd4ef3bcfb542b6bf695feaba615729e","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-fake-test-3.1.tgz","fileCount":15,"unpackedSize":45928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCr4eCRA9TVsSAnZWagAACMIP/imv2zXLE0sQHp8m19Nk\nSZDx/H7IcI9SchTKOzUW5y0GkfBGhyCMxBZQhbkuYed65mp+hsjdahsENrxj\nP3EdV5YAHNg52wIlEJKvX07WSYexAk/GF9A49DddCPnDXAU70A1oQbkq4kzX\nPHvlYe1SU+rQc/RwirkaPc9cqNpxjPqhWFt3IySrdQ0YAsFAEcQiWA8mwh9E\nqqJ59ECZ4THtuN64jUXCg69oImmefAYR55lUKLkbhc5xs2N8pR2L9shn5Mg2\nOGFXGTJ8FEUf6/k7zBiwXh+BZNygE+X4EFnkUqiQVrnrzYZ2TRfgQSEtX0nL\nT+l6ppMO8kzwV8EZAWoqNbbtZx3VGQVcOLzoe4wqhlkJvOKvDNC6sA0pKElv\nSsxEiSfJjjf6NB3nYGgHmbjLOnaabXEk3HReaB+z7wCTS1RrbFqS17RYpw08\nnXbQrr/XLL6ZKDa8O/MbDnzYgzFeSMqtO/RoBLvwuZ9AM7B2HZJE1HTBHYXm\nBedStWvcVpRp0/I/7NM3jNdID8dQGKeraF3cV24S0awuaNSfGFk3yVocL7Fv\n3lovAun8aNKR6gLqQCUKQfQyQM431X2NSMTOZkQLrmLVNr98lI1n2SvpkdKq\nBQJOguMlQcBJ5vZm0OWZGH8GCsd7qDKn5rjDcSMdGoSWcOAqlMTAw/R5UiOj\nDxbX\r\n=DycY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDu3OdaPIq8m3Tnlbs/4tYult3aCwQPrx6A9n/qCAvcpAIhAL0JX31rNqgPQgAzlMEWw6tShCotmNl5e4w1yDlTf2+B"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-fake-test-3.1_1644871198004_0.8600479145640609"},"_hasShrinkwrap":false},"6.7.0-staging-round-5.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-staging-round-5.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-staging-round-5.0","@darkforest_eth/serde":"6.7.0-staging-round-5.0","@darkforest_eth/types":"6.7.0-staging-round-5.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"74ad08bbb783d18b27797dcc6d628daa5e8729eb","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [blocksLeftUntilCapturable](README.md#blocksleftuntilcapturable)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### blocksLeftUntilCapturable\n\n▸ **blocksLeftUntilCapturable**(`planet`, `currentBlockNumber`): `undefined` \\| `number`\n\nReturns either `undefined` if this planet is not capturable, or the amount of blocks (possibly\nnegative) until you are able to capture this planet.\n\n#### Parameters\n\n| Name                 | Type                    |\n| :------------------- | :---------------------- |\n| `planet`             | `undefined` \\| `Planet` |\n| `currentBlockNumber` | `number`                |\n\n#### Returns\n\n`undefined` \\| `number`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-staging-round-5.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-kjlwCWm7kk0jPqtcOIXoWJakN54GDLbQmChpXgB5sQn0pnVtNQWBBaN1PACynAvjcZt74NPJni2FrG9JzYxuPA==","shasum":"720f80e8722432e652b7f16885f59e6bcb2dc05d","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-staging-round-5.0.tgz","fileCount":15,"unpackedSize":49816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC0OGCRA9TVsSAnZWagAAuwcP/A3nftWEupQMLhhMYMN7\nYnJesI83eDdf5G7hAWjlzUfHN9hN95UMe6qrVfJxKhrd9uyCNsMEMe23Fglo\n2sUdiQR6iAY+Zaz0J/S9eRHHc2KpXC3kmGCimfG9sOOlxJH9eXCu/WZs+cxJ\nS5OC7gz2GbBJwwi2XShmVg9N0ZLhMmiDAsMhcdaGTu3gyu7hm2aQie2jkZWK\noyx4TGtdAFPQvtkMtoxcij25mg9Rj0kT3c148XyhMoYPCRQUWIbM5Vpx39vA\n1fE2g6hYqYSfZ9/z/S9io0UFt7tKOLm8IJt3CS75ZTR+DzXoz8whuDZ5e11g\nz25U6ZRYC8er1wwlUFrIKluaNgakWxAzRCNWLH9QcZOyqK0xjy9aHeCJXtHU\nV24PlgaU8lNmpMXaV2cB8B843ec5jCZytdMIU08JAmpyPdIrHdq69Bff8FCS\nhl+JJuHKLHY2oRqdsMnphLPwVzw4PD0xX+QqxBVexu8noecFRp1qkt+3BSWF\nfYvnpIdDC6FhRS9gXF++RkjGqMiYziAQ6iW0dficoClokjr6elBu4HAcSBPq\nPKfinSTgs2kUy+Bnp0xFxqKpnM/8fGQhZyRDcUlG5Mu2Uzt2DvqG0GQoyJ7w\nxiduIhV/A1NvMZgI4Tx9rmxxPBGndxQUR1O380aH8ZrAAmlO1NGM7EeCg8aq\n5KwY\r\n=hBV4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZUF13UjwVp+h91xslpZUQKPsOQpjYqgLhsGxOFOBhJwIgd83FtguZlvFshLlEqD+22XB1+yilhQResVHxh8IlKz0="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-staging-round-5.0_1644905350177_0.9999798608146404"},"_hasShrinkwrap":false},"6.7.0-staging-round-5.1":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-staging-round-5.1","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-staging-round-5.1","@darkforest_eth/serde":"6.7.0-staging-round-5.1","@darkforest_eth/types":"6.7.0-staging-round-5.1"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"c52db675df84ea681f62d2944ae553beb8808df3","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [blocksLeftUntilCapturable](README.md#blocksleftuntilcapturable)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### blocksLeftUntilCapturable\n\n▸ **blocksLeftUntilCapturable**(`planet`, `currentBlockNumber`): `undefined` \\| `number`\n\nReturns either `undefined` if this planet is not capturable, or the amount of blocks (possibly\nnegative) until you are able to capture this planet.\n\n#### Parameters\n\n| Name                 | Type                    |\n| :------------------- | :---------------------- |\n| `planet`             | `undefined` \\| `Planet` |\n| `currentBlockNumber` | `number`                |\n\n#### Returns\n\n`undefined` \\| `number`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `boolean`\n\n#### Parameters\n\n| Name                | Type         |\n| :------------------ | :----------- |\n| `artifact`          | `Artifact`   |\n| `planet`            | `Planet`     |\n| `artifactsOnPlanet` | `Artifact`[] |\n\n#### Returns\n\n`boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet`): `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet`   | `Planet`     |\n\n#### Returns\n\n`boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-staging-round-5.1","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-ybMzLsrqdZD+B58VyZgqGym9PDwZZd+CYHDRxhbWcj1oMdVRHm1IhwU32xAwncu9EFJxz3O2FPDq22fi7VPT8Q==","shasum":"4fba8af956bbaab5c70321b993d8739152b228a8","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-staging-round-5.1.tgz","fileCount":15,"unpackedSize":49816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDC+KCRA9TVsSAnZWagAA5x8P/2jwMt0yV1cSyp2TufOp\ny305KHhWvdNAV0cHFgKoDvn3EpcwZ1tn3bA78WoKNXcsaJDdniIBRRXl0Gm7\nBNVEArAkOuVWjq9hvhk1T5yfErbFFQdT2FIcgXl+7B55BAwmg0NxG6Qi8NKH\nuWc2M2a+jXv6+sbtFuVvEF55Rxl7hoR0EXf8UR8tSqQzX74FMbrLRZHergxe\nTt+cwrrn96P70lbLrDZ4OD4V3f8m60FOj/GJhusrVjcGZkwdSEo0aWBvg3Az\nT1Kx5ZPyWOE2GyI9RCbOyoXu/6xDrVWClMIeQlw3DwKTc1vh6NR0BP3FbZIS\nZqZHobtxAl8VsvplQwVBfHfrPfYX2QMu66C9sXXqYqABAwpSnSW173WYsaD8\nGlGy+/wkOuhs7ZU+UsxidAkhYsmFI74SCwbwBYzkYLkAnDXMQFztBiFpeWsA\nlgOgJm9dGLU24LnIvOhTi5Yg+G8lpE2BSuXLwf+wcMp7MRIFlAzmQX6VEy89\nwjp1hP8472cxYypfyxw+UFwghmurpacBgFMcLKZBcpUqY3JF09Qm7nxS/WI6\nZHsrSZR4QP9HvXoka0AL8M1GCc9OC/bylzg6YaeX1ZQwVFxlr0k1bXBzwIkB\ntuSRD/5b+kIWebT0wzFQC4iJZsYlASkJS1COyVFpms7v8nWnfiDYhciVRY6H\nPsrs\r\n=spW/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHwJqVQOFhXt7rTVBppFXrWl9TjBtHqFAh0AO+Jg2em7AiB2ovSpMG+j89AGYkgw76xFfutX+LTQGRMxKGmgh5t32A=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-staging-round-5.1_1644965770633_0.9258324086056389"},"_hasShrinkwrap":false},"6.7.0-staging-round-5-mark-2.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-staging-round-5-mark-2.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-staging-round-5-mark-2.0","@darkforest_eth/serde":"6.7.0-staging-round-5-mark-2.0","@darkforest_eth/types":"6.7.0-staging-round-5-mark-2.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"28f06a84fdc8acd60c95c4fc6196d7031a513c06","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [blocksLeftUntilCapturable](README.md#blocksleftuntilcapturable)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [hasStatBoost](README.md#hasstatboost)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### blocksLeftUntilCapturable\n\n▸ **blocksLeftUntilCapturable**(`planet`, `currentBlockNumber`): `undefined` \\| `number`\n\nReturns either `undefined` if this planet is not capturable, or the amount of blocks (possibly\nnegative) until you are able to capture this planet.\n\n#### Parameters\n\n| Name                 | Type                    |\n| :------------------- | :---------------------- |\n| `planet`             | `undefined` \\| `Planet` |\n| `currentBlockNumber` | `number`                |\n\n#### Returns\n\n`undefined` \\| `number`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name                | Type                    |\n| :------------------ | :---------------------- |\n| `artifact`          | `Artifact`              |\n| `planet`            | `undefined` \\| `Planet` |\n| `artifactsOnPlanet` | `Artifact`[]            |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### hasStatBoost\n\n▸ **hasStatBoost**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-staging-round-5-mark-2.0","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+x64 (linux)","dist":{"integrity":"sha512-9BQRmLEZdrOK+wdg1VKTUqH73CuiAd28El31hpYPHnvxk3D7a2qXtZYxW4qNsnT0jjL0ZkBoMSZzEL+dSDDj/Q==","shasum":"3afdc467621b415cfe075ee8f62d7dd7a2d2c3de","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-staging-round-5-mark-2.0.tgz","fileCount":15,"unpackedSize":51547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDeHGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpD0Q//UHCsi9JAjcq8M7a+d6XijS93LRr63eaX0g12HAPMDkEiULeK\r\njAdCV6oSScTZ6KA/OrYR1r56LvZ6Rstbk2eUhZQEaRxR3kRHTvx2NeLxyEVv\r\nMFvXMIYKZPBxx5G/0459D+UairpsMUHy+0JenFeuDdcMJLlVY/AdiPRhjSSU\r\nZDHcmx0bsvTxMu5U6pxFaxfqElkflXVu19CRgD5sjVCVR7X63TTRwe77Qos5\r\nCy83TMmequPVDOOZ9ghIa1hrW0pClFonRzu122xdSSEN6XcORTR0dbMPnL/Q\r\n3yJKjN7sEk5m7a2UQjOs0H8Q/icXREUSaO1avCgFAiuQKWqmga4TuAvbeqY6\r\nbEPm5Tyiygo0dqsuIpHDLZRB4qNGJ0giZTzeAm+mBeLKfH2GGJ9xBb1GLEGo\r\nqTTpdEV81keFQxw6+EcDxo67YywS+k/qOjgvvaGWxJCBQ9xODFJHp2PDKSeE\r\naMbaQ40om52H9t8BpkIIpsKwWGr+wL604dIGKYLSZnV/SHiRRWKFGZSKk/hZ\r\ny+lDVNNuqA6LOa/xQJCBEKzuJaEVMf6Yrr3b2CAcpGGY0zXJL5jod3GbfDyP\r\nxOzwRnnsLcgByH00UUbpcxdsUZAH7rDR5yrQ9QEwWPdvzHz/wrXf4A1uWFh5\r\n6wakDcvx/JTWwcd6v4JqPbhNfyKoh6WlaYU=\r\n=UB2i\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFKjamagzvFdtAXQdbLpVZ0A7dNhAVMsm/OEhuaXb6F9AiEArRsUZaGZadbovkSfxviIJn2EgfCBMzHWLDCNJtcSsCs="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-staging-round-5-mark-2.0_1645076934617_0.6220515414101968"},"_hasShrinkwrap":false},"6.7.0-staging-round-5-mark-3.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-staging-round-5-mark-3.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-staging-round-5-mark-3.0","@darkforest_eth/serde":"6.7.0-staging-round-5-mark-3.0","@darkforest_eth/types":"6.7.0-staging-round-5-mark-3.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"eeb0ccc27dcca085585ff1abad54b349f01581fa","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [hasStatBoost](README.md#hasstatboost)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name                | Type                    |\n| :------------------ | :---------------------- |\n| `artifact`          | `Artifact`              |\n| `planet`            | `undefined` \\| `Planet` |\n| `artifactsOnPlanet` | `Artifact`[]            |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### hasStatBoost\n\n▸ **hasStatBoost**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-staging-round-5-mark-3.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-Ib1cwnJfID40i47G1dBVp/TZopOENQxiFmsGajGrXBLSilcvX6hF2e/8mFyCudY4rYqcD6WqLeR1Q9jNtp4UAA==","shasum":"77c371b40d8f762f5a78855e97236010b2e9825a","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-staging-round-5-mark-3.0.tgz","fileCount":15,"unpackedSize":49566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD25qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2ixAAlFEYpxCKv/Im07MJ/92lz4LBZivY/S9EP7EZ/7pJoDbiKS0h\r\nqjuv1HHrqe43xPavoZsOhdS0kx6zkzD6aIum62+JIL5wTdBTVqVfmueVG9uU\r\nioehaHj4ic+ncmkRpiykNbFxzNfCqZVchj3sQBI8NIw3E5Xehj+JUplX6j2F\r\nEcr7i2aC9I0IzKl90dyH0a3XulSMMAYSsJLBgGz+kteth90pDYBN5MzcboW4\r\nHGoboor1CYPZxcZoHKvL4bKRRA0xCDe8AZk88A3HLCIax9DVN2weUq2xuUzY\r\nYmsCbLhOCcH+BJt3wNhf+8dF5heJmiY5Cr35Ac6TahNN7vBYrotRKyM8Eygu\r\nZosuJBh+3mDQl2U4gk+lzCWfUcd943X1OWpYZgfaghpRFG1/vMDxlapIhyBk\r\n7zxyGXlHoXPLkbNfhfgoxI7cwd3BnZMoh5GS6Z2VquJqY1pWAuNOg+ohCGhI\r\nBQ0I30UldTf5qHc8z/7TCjrNnQsQO9XLtRUvENESwJaC6txyh56iqylFfvOo\r\nqdUB1mb2bPf7z/d8/wa5wC5scy5l9ZSIugK35dnZ2rtn3DyjuzvuYTi1ydlU\r\n8521NeZr8kESfLqOg2Jzq9mPkccWEkJkt0jS5ks9YhhrOhi2+njNI5kOVHRa\r\nCZPf3uN13jy4HXwpkbpULX9Yhk4Ztn0xt0U=\r\n=mgg4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtyxes7/a3cy6COyuWk9ta9oiYqTyHrDML9AJBh3fmQQIhANGudMg26psCieYFfb/CHJKKPot2hgt2bl9/DbPyNRq8"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-staging-round-5-mark-3.0_1645178474096_0.1446563371355245"},"_hasShrinkwrap":false},"6.7.0-arena-deploy-test.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-arena-deploy-test.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-arena-deploy-test.0","@darkforest_eth/serde":"6.7.0-arena-deploy-test.0","@darkforest_eth/types":"6.7.0-arena-deploy-test.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"ed95fe5f6dd4da027b8c9a7273a1e90af5722451","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canDepositArtifact](README.md#candepositartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [durationUntilArtifactAvailable](README.md#durationuntilartifactavailable)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [hasStatBoost](README.md#hasstatboost)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name                | Type                    |\n| :------------------ | :---------------------- |\n| `artifact`          | `Artifact`              |\n| `planet`            | `undefined` \\| `Planet` |\n| `artifactsOnPlanet` | `Artifact`[]            |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canDepositArtifact\n\n▸ **canDepositArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### durationUntilArtifactAvailable\n\n▸ **durationUntilArtifactAvailable**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### hasStatBoost\n\n▸ **hasStatBoost**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-arena-deploy-test.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-saSh/SNlc2/oKYCz5/iDj7B5kj07Li8e2a7Ny6hQtLl8DrAZpL5lVSoF2ire81fHhbtfpUk8bPzzOQONTkt+Og==","shasum":"2003d904576ab02a625f530430f8bbed1b5c15a5","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-arena-deploy-test.0.tgz","fileCount":15,"unpackedSize":51828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEFN/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqaA//TyNCG9w78n+kI9ced7XLCh+ryPYTP6PsLXfhkkTXEjVBm2Hs\r\nMcDCtnQHQ1YMRIjKhhlONwVrz5df2YOo32Bx1jvUAkZYNKUopSnNBwITvc0N\r\nBqz65NX1Zbe2RZp1qusG/6Yk7yNgnI2GfrLalUX+meGjHEf18Ho6lkEGtje7\r\nVEQcHZgsEQAdyf778e7OcrEpLnSXb4rAc2yHIbD1jUJSrx/ylipKW1DMpYqL\r\nQWp8vKZAwBfknk7InYOyQTXekh/fk3TVIWipZuY6QhJBrkK39ihwUfHB4KF4\r\nz+6gZuSZjpBX5R8WNPtbGbgfG0GC2Lm8Mrf3EUNmeSkKboeYCzoGrvHYomxR\r\nc0TDxGJyMMUqEPTf1nDHt6ZoNYN6DQWys94x/bkeFReUhyGhXOlyByiNbivj\r\nvQ8bziYxuCeqr4U7bavOCiUJBn8Z7HfGdb5q+eTeXKu0iBSKCFHZjQLrExnZ\r\nkFeQ+V2S4cLsoEDhKPs7R717ECljEwhoJ+sK/5thADhLxedLtYJ2wb0yRHEN\r\nYmK0FxCBiItcTPjtuWhxkSUz4/QlyhPYvj2vGB5kKA1ZdqDK3QbVcjr3X6Oe\r\nGzDo3LYa4gvC3h7tKIyKu3Pq97/4EMeQVVejz5O4CEXYqU5oimwnbd4Wybwb\r\n/adC/Da9gP6hRJ2qHVddBKpyU1qWuVw4m3M=\r\n=hCdP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKxU6nA5tvFvhM73F5MI4UNFHuDY45S/JPVRm5xvRuYAiB3Gx304EGoRtbwlYIFBQ5NyQ4o7IjqkS/2KmYjvlZYeA=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-arena-deploy-test.0_1645237119616_0.947945666065189"},"_hasShrinkwrap":false},"6.7.0-staging-round-5-mark-4.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0-staging-round-5-mark-4.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0-staging-round-5-mark-4.0","@darkforest_eth/serde":"6.7.0-staging-round-5-mark-4.0","@darkforest_eth/types":"6.7.0-staging-round-5-mark-4.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"e10bb0b3c6e645f48c0e7f9ccd80f236c0d24588","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canDepositArtifact](README.md#candepositartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [durationUntilArtifactAvailable](README.md#durationuntilartifactavailable)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [hasStatBoost](README.md#hasstatboost)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ `Const` **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name                | Type                    |\n| :------------------ | :---------------------- |\n| `artifact`          | `Artifact`              |\n| `planet`            | `undefined` \\| `Planet` |\n| `artifactsOnPlanet` | `Artifact`[]            |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canDepositArtifact\n\n▸ **canDepositArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### dateMintedAt\n\n▸ `Const` **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### durationUntilArtifactAvailable\n\n▸ **durationUntilArtifactAvailable**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### formatNumber\n\n▸ `Const` **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ `Const` **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### hasStatBoost\n\n▸ **hasStatBoost**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ `Const` **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ `Const` **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ `Const` **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0-staging-round-5-mark-4.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-hm+4c6DV2CpkI7Ajzo195aypFeNh8g/1cD1fGcmm9aSa4l6ZizdN5UBLnm+ua7zUST4g/oOHnpvF9siwnfSInA==","shasum":"19fa67cd53632152820ba2478c41570fa6ca9262","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0-staging-round-5-mark-4.0.tgz","fileCount":15,"unpackedSize":51836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEGiVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwWw//Y/qh58Xf116yeThHbdWu+rTpg3d+sWj9mdv3pqz+skDu7Nif\r\nVM4G4NCt4PpqA9V+1sQBqvlb5FQ7ELsyMsv4DaIf5a6eeFX68rMSrWuJtYL3\r\nKXjqAX/lPP5p89kK950LuDt6smSOa7ytghtsepvdCE0ZmQ0ykTEhXI7tl26Q\r\nQagzrQbHjmwKHtr7/62MafipRCopdWI1+I6DUHrOki+6qDuWQBD3WDU5rBT9\r\nNLMYxTqnVpyJFR6EmBzxUPUXoOXAXPKo9ZBrjM4/QtiIXEAvGYWH2v80TT6W\r\nEVI6Dow0tKeTZCyJS6gymaWWJnq4E+sRwtojK+juTgpHKBtD9kkF3HmUtk0W\r\nypVAGWPaFdnCtXwNlc2bcMMhkpqzeRx0wa0VtD9SKEdK808o/NYgPiZL3bVW\r\ns591Yj6zH7DY27HDe0F3ZEWtLoQ2pkcqVLueCN0qv7FcYNu85Kne99S7+/jW\r\nfkgMER6vJZvioHl1huUPSpJ3WNQIPo/ufKto8KzvdPKIKgizMZHKRSdDbsPJ\r\nxNVA4Z45ZPQtPAfkpRpptiZHN+i0WusZz8GeDxgEC+NOB6pHznBmV3C1nEEs\r\nG72GycYz5rpaYR2fRYt6n40raXWsSt29hePxAITRypDYrrZ+0Sht1d7k+k+k\r\n9N9sHNezM3RheIH8HSbtT2NaSk142oGMy3c=\r\n=IoTp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd70hk2WKz6UWS1H557Uj2P8Un5KKcPLxeSOy/f7GRvAIhAOO8eo1I+WWDR5LUW+atCs2JGdQLow9tWv3cPvvsiaPi"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0-staging-round-5-mark-4.0_1645242516932_0.4541253670594454"},"_hasShrinkwrap":false},"6.7.0":{"name":"@darkforest_eth/gamelogic","version":"6.7.0","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.0","@darkforest_eth/serde":"6.7.0","@darkforest_eth/types":"6.7.0"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"c73f23738b9c965f868cd2f8f6bd98484afc24ce","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-9TNyWIBcGadquKRfhEv1gjCfUXz8Qk3m2J2WBpaMhT0mqW7dx/RcObiKxqS+06+bqlYMlqxKQncdAPoGd25cwQ==","shasum":"a2c0f57b8a4fc4f4a8291ef96d4eeb665b6d5f05","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.0.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEGznACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8dA/8DtjgihKXnhBbG5Lyl3/PfTMJo0c8VCjIiKQMXPRM9v5Zbvay\r\nb3K3wrUxigTfaVbUh3LLP7GrPweslZZ3iUvv4y8nnLYQVZ2vdwUeEeJSG4GU\r\nJFwR2VFG7/2LdWggCGK3bligo5/YB/J8rYgsgKGGwKztoie3hFjmfl1qdl2+\r\niLrvJAp/Oms6JHZ4ttwC+31PyFMXy2UHVD2ikFOIjWcpqTMqVq/A9sksU8Pd\r\nUwlFYoHhCBHkc6flXaqGDroQNzyi0lRhwzGpoJE2Sd/BIyTtK+A2ekjt1ozH\r\ninsCxDNYnE4F6YI68uxdmkC4ASs4akExklR1AwpHraKqJxFXLRTG/yb5cPlu\r\nPgroEe9e4R0siHczI/U5y78OAAUxiPiU87RM9wmynq0uFeGuNa9u3quLFJo9\r\nAEfN2dLPiZhRd+If14olRmr/MOK+NbRB7ZYob0aY3YYOaU+ZvHL0B+xb04VO\r\nx8aTU6DVSUBPcs6Y3UHgiWfaUp6bEfFXa1LXICP8C1vvId/qWhLZTvbuyofp\r\nK+wd8O6fT5kKqmuX7qQ7C1j25lYRuCkWkVU9hEfL9l7dbuQpIrEKD3W4Iz3t\r\ntrY/Cb5zSBbXX3Ot0mrIfQjg+puL33PAK77YK20H17EHD7eI1+E+K5GkE/OU\r\ncroWv54s+ErwlY+wDjIGXLVLVeQ1C8Sofmc=\r\n=xTS1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGuoIxCbLvI9w+OHGIOhfUL0yir+aAu6438f2Vq9hf6QIhAMgDKyg2wwnvUUZF+UCiJ0KMhFJSNXF7EagnK6kC3GHD"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.0_1645243622923_0.27234929329678814"},"_hasShrinkwrap":false},"6.7.1":{"name":"@darkforest_eth/gamelogic","version":"6.7.1","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.1","@darkforest_eth/serde":"6.7.1","@darkforest_eth/types":"6.7.1"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"f2526a3419cc21726da42f7a880a9188e76079c5","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-qvTwpjOTLXWbQq61dUdjMcJe5Wef3WThxxmqvaJp+EVpCY+u/1hPcq+LBxLYOudPmV14qolUYwkSUCNe4EzBLQ==","shasum":"5f45b4d3c3c3b740c96ea1a093c41044a3ee87d4","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.1.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEILuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqT9BAAovzM3wNeJ/8i+IegFHta/Sq2wBW2BvwRXysn3cEXf9NXzLG6\r\nt4/NGOF4d/4orFycNvsbwuK3Y7GhsmnFKCdSOwjeV8Kzd9wXAQ9iFWrYD3vj\r\ncjfvoj5r3XWtT8BwiWvBPqUNlswgtYkktVRyHjJU/yDe9nVHSkG7Bv/CIwDi\r\nMdDc+eJd1izwdV22jgPf0zG6Y6RMEj8Bd5Ptgef6ky+cONk7nZDaBwt/nzYV\r\nJwNhS+Q43mcgrxmtlUwFVxequS8/Wp9+FoMBEngngKns6vuHFnt+67vvOamb\r\nNxu9XTYmcpDOrlkAUGaKeqSEhj3+WP2YUWElJRxqUAP9HT5e77K+vZmuZr1k\r\njmE7/zL2uU25xtO8e7RmJx5wA19E+eh12x0Vsj8PPCfezYxJ6NY9QHwjBdde\r\nP1ac5SFb6MM+7osBcxJ3KXh4xxhfpj0oOBuah0r23bceO1R2BHO4H1u1/fGo\r\nEJZxlfQivh0/yru8bKbnho3ZE3661Fv4vS8CwHgtMeGSwQfVJjkKXW1xZMJZ\r\niwRyA6+GPSxb9ictXSyhuhp6Aey/UHOBChBxBqziAAE7zLpAFLrcVO7ZgRxx\r\ngEVxbYfQD6aX18oyNa0Gqe4arX3LZayn89MegIRT63PjfvXVe0gSvDI5GdqY\r\n8P6L+VRIH5MViJENcSh9vqJpDwgqwoXzODA=\r\n=yA9r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsC4CCsANWgYfS8+usRNn1/tv2l5aA4o7sBUddibdeTAiA4zs3z4WDNo8pFd26gG7m7Gs9/4tma21CoXZY4pZ61mg=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.1_1645249262648_0.20578797859226827"},"_hasShrinkwrap":false},"6.7.2":{"name":"@darkforest_eth/gamelogic","version":"6.7.2","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.2","@darkforest_eth/serde":"6.7.2","@darkforest_eth/types":"6.7.2"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"f4e21f62def2ac6facbdc8d0743f307cbb765059","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.2","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-a/lbEz2oGyVV0DZG7j4KhOmnanpa1PBu/oHi53ImvE5avZAhiLqVsKQ/ESv43hnzk+l5aDLoc6DrxAybSWgOow==","shasum":"1fab5673d99d6033be1176d9fe7ddd50feac8d69","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.2.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEJbhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4cw//ddjUwtdLnjmmch0a4G1nFCGGby7n3KoKnqb5wdsyjCRwIrmG\r\nDvfgjB7Rs64fNqV7XoailLA2LDsYDThder6sO7SS/2VD2nHATplYo2D/XTgB\r\nGeU9DsnJlj1u0WCVF3kpNzq92XpcR37Ta4ACUi5GRqSE5JoQZoBCYwUZEdKH\r\n3NAGwg7xc8Few+fijk6afWcDmLILpjidoAIzi4WF4Wb8f1x81NFPE49u/lO4\r\npUcvQvsY/Npgz0cro+htTBTymkcpPp+hroXQeKjJ9QK5mDvISQrlcToUSscM\r\nQViMbeov+/YhiNsZnQUY+6oledkcUgWbKKy7rz5Duc2CAvo9R3WLU+lkS0kc\r\n0ZB9f2MaJH9fVaUnUK5MzCe5rl7gq7i0MOXjtTWg9+IqlZ8Nh2ispgmMUvgY\r\nWAMlDrUrNbECIz7/oFDqNnD9emI0rc4tB0/yx3NCXvBX99ljfDdQH+iz8TMu\r\n+udV08fZsAeqkFYl3jP3TVNKEe4Y2A4KI7D10n93bH6x5qtcV0F3+W1ZMlle\r\nAlFBRhmZ6+m2BLH9ErcEbpslY9klQfqHGnUCpKtIBqjYiyFyVCa/gX/oA+P0\r\nyedtAz+OZ2lM2yHdX29APWvdkl0MjBLz56gATbEVxAPa5kpRgYxTPYh6eULl\r\nA+Xj8mSMX1WznaDN0estWULnF9w0dkRCgtw=\r\n=6PeY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBt8yQ1LbO1cEA1Zb1hFGnVq1bX0tiOiMqlsbUDvZNcAiEAwUigJKJWJrLvzzlQJxsdQoi2iK/fHHdlXkr5RAyCEvY="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.2_1645254369423_0.19596680653756993"},"_hasShrinkwrap":false},"6.7.3":{"name":"@darkforest_eth/gamelogic","version":"6.7.3","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.3","@darkforest_eth/serde":"6.7.3","@darkforest_eth/types":"6.7.3"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"baa6b1027e0797407bfaaf8b93072c4dc828a667","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.3","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-fDrpyvX1kBrCKg3aehQB5peIxyE5I1qE7B9F0odkZgL1xtLvUI4LeMVxve1oEsebnDsb+T3RGaXDClapqXCYYA==","shasum":"561c36c149f34d852522d338ae2d224783fef6b5","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.3.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEJtrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcLA/7B7Err5HciyBUXES6Vpo867TGodV/yM2AJdupTKZgQTJVgtgA\r\nzFeoHEgcuUTgJUIlA7bwtUEnKCtMFdg+7D5w+HPhp5jbNIgBsRgBbaCW5mYZ\r\niNgr7MTaP6rvWMJOuRxuAXUvJn1TjQLRWTK3Z4aEK8Iy3LCqQAr0ULPVdTv9\r\nIHR0zBRnyrGESoDPt5yLDzY0vaGO7j7H10G5tLWb2sdWgad0+Fs3YhT7ZW3b\r\nXz2rRzhvlvNkd0ze+gUBdaPCImAT+SQVzm6HsHJmu21PMAKTXF+2JDQiG3Jx\r\nAxuo0mhEwz8MsrhPF9H24xBzgpoOfnS0SyjeuTjdeNBI2Lw1lP4pSkL7wfpW\r\naeP3njd9C4+BL5koObkJJTWEdUsKVP8Sa0TJB6yF+TpcvEFxlSkOkWaTPjfx\r\nYKQLAuxlHUyrkZvtye9V4GPxj6cVXu0GZe3gthgIp/nt5Mh5dsfJ2LEB7Jhe\r\n/nnd6bWw3KqT2SJCliMiS6pWxi4M55R2h9nZKDioY17fGLcivHNMa8FTtwP3\r\nhRdTYyrAIL/EKav5oBjByViql3V6z6X9gQHqbB9ePkEEqGvKVj/XlQw6cNzf\r\nNbL0Ndf2bcczFB1/LXpohQ5iI9FrD5Hli30tjemilTcSxlhnNTt/SGgE8bx/\r\nLV5VOd4MJGGUs6QH59e0bouchdf09ZncWqQ=\r\n=lpXf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhecRMe8gyTmtuVApYwr87Y3BDbRcBijFelisYFOhgSAiEAkXcnTa+x4OFJjSz5y79kf8cznwMSIadpxsvZU1imcdw="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.3_1645255531580_0.5086734685981915"},"_hasShrinkwrap":false},"6.7.4":{"name":"@darkforest_eth/gamelogic","version":"6.7.4","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.4","@darkforest_eth/serde":"6.7.4","@darkforest_eth/types":"6.7.4"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"35d149f3629c9e66f80df9dfdba2f74e2c24543a","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.4","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-+Z1iPyUkPkygOvwf4VjL3qC7HbODxnwnZKip0WRg82iVuwHM+Rxk+fvG973hMtbc05hyQCAG1eaR4P1j4qiLvg==","shasum":"b886aa0b85cf7c94f8e5345e16dfbd2d5adcbe22","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.4.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGrwZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEFA/6Aq82tblB2HT0EptNhJKQB/nlG7mm558MTX0kopDkxrY6ZlBe\r\nAxFoszfDdnBoG353x1FmuBwqgTkp8SZBUVHXbdqEcn2pf3T96K9+nF9MXt42\r\n+taQEKJX5lKp5hr3HCC3cJ3FOgagQiXRLJTN4IWX24zm3dgTV1jAUL5/mryj\r\noZor+077Oq89QBPp1N7aaB4sPLSqm9Jy7NLnR1iSesPKleuCsoq2K+PxTCc+\r\ncpEAQl0PAFsdTcJTJM9Gs7K5k7i0J+ZcNAFElmSqCKUilCGd0VZRuEWf6uQ5\r\ndM+dQyA8XBJLZyKn39dA/0shLXvudWR+oUKk2XWrls5HtE6VpB0CtcMjpXbs\r\nz5JiD5fA/zUTt1sIZvqX25mqXTtXScD2CL95C+LMMyAkegOogO6afoWGEZgh\r\nfoB+tN4FRqOTFWTb2tJDbMP6+kUG3XrhKIrQ6wZ+JcjIemWNuFOkB3a3TyX1\r\nsayhYk8L+yvFDtjCVBpZA6mn5UW3hi5abaJaSFkfikahO9TK9qUh4LQYxdMd\r\nICGE6zovc/7t2gfVgBkSJJHPcCs0+w16gwxvgW8PiqbRaZyvfcWXqfonNGfe\r\nJogBcF2ue9KUoybJkw6EP85w5WHQgpYXiGxJT0g0VNJCm39DcPTR+uMSauF2\r\nnPSlEOW/ox8m0kmJ98ZDxSOAzcxcKSh46Vs=\r\n=lzGs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDEOCfQTfCwhbLr+dp1qPLsVnRjVqWx/Ehply+KIxpRgIhAPa2iqwD2jfXsHpmoten7e5beCaFSc0Urdjs+sIwBtWJ"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.4_1645919257656_0.8543511371526111"},"_hasShrinkwrap":false},"6.7.5":{"name":"@darkforest_eth/gamelogic","version":"6.7.5","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.5","@darkforest_eth/serde":"6.7.5","@darkforest_eth/types":"6.7.5"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"999c9599bf0a2b53455eb455b4bedab2b0e56328","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.5","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-VKLihxIFaWdeKnDOiE6NJefTaJ0MaikxaaozFUI5DRnkGvKhnMkv8YxyM3xehqZTkx7DhIPIv3jwBFwRtM0rLw==","shasum":"7d64c743c4cd5ae283334f638468051a6e23e4aa","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.5.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHENOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXhA//T0+CUSd89Vfy7Rn5Jj2p8yg/eRlNsbOLnwmGMqXDW4uWtxQa\r\nP0t8RKuXnbett+6x8EuPa/aMzGlY3mYng4VyrkHaOv2FiYBZTYhoTaGyWN+A\r\nxmWaDnH0vEt6emPhlSSI9Uz6kKjjQ//gPq/r1/aDPIaS40aLCClLFglbp7nD\r\nAgSHEnxnz/+0hHJx9qupzjesZSZiYB6JNrmfI1RmXe5yUOcdWZWNvePxs3JG\r\nyvZZQ4S3ADpf6dczcT5CRz9aluFrXI84VG9LKQaWmIWyOz/BrkpzBxF0zHJc\r\nGe2ze1ynqWl/Ya41Aj1IOIlAWvot0WxtSJSy0fe3zAB491BuLUadblKRuNDz\r\nUTD2heqiUnr9uuzWtXYcK2U5aTK1xLLg+AbSKC8EhnFNmeiSTLomui2N2Rkc\r\n9+AspLqgN57zLbJ0zUAXtCuYbpqK2V30QeIIaXIhrkSE7muQoEeUXdfObmTI\r\nKxkB1GqjPTna76bMLQjz5EZTTIHPRdiCmrjE5iUaNxcnnYQ5n0G9fa0GrwHG\r\nrLRU+kp96oJtiws+SrufPwTl8JEjyVJ2o7KnrmvpzzyefbLPNxcoAle3kyyS\r\naaGSnJZkJW6XqL/bk5QHQEHDz4ykvjh1r1tRZaZ4sAKdd/uj7Z80DT2axP3b\r\n+o2jMkXGcezZxPNolMXFS/y6VH9Lsf3m33s=\r\n=riyj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMEbZALZXbxs4po7fqfo2Wg+V4unA3HKERrKjh1HcRdQIgMIUAv6qgrqH1fe1mvZNiIr2N2+K6i9DviiYU5VfQ/Gg="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.5_1646019406048_0.8872266539590152"},"_hasShrinkwrap":false},"6.7.6":{"name":"@darkforest_eth/gamelogic","version":"6.7.6","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.6","@darkforest_eth/serde":"6.7.6","@darkforest_eth/types":"6.7.6"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"bd4868e553069384c64c0103a210379f4a292b24","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.6","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-VbwIRHrbXa2Tiz958cTauXe4AR+iSFHhaxWg+kETO18Gk9jI5Spc8bSHr2dZCYvS1KjmcWDfoGB+SA3ldyoUmw==","shasum":"b03edc30adf666888ec292fa94ff48f42f663977","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.6.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHF2SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH2Q//XEdoS++yJAv7i11Unle0AMqNd/eFoWRfJnsKHAczBzwHbyYs\r\nt1t07J8584hhq+cBSCGCwTN5l+eE1D3U9mU/OijRpuAd0WZuXmTfEUxVZIVN\r\nDoiHConnlgvjwY9XFDC6m1SDPR0qezpB7ibhXnaPTOcWLlyObQJ3Oj3MkNfY\r\nVjoRIDJDKwJDpoW7JXr6KEMcnHhK0mXGVBCKU8A9MqDuB/5I0+4DO+81zZ+U\r\nA+RUv2syx1B8OFG77Sgv16Fh49olYqb6OoftX5IEsrHLWMV9RBY7UKNNeSiW\r\n0m9nMG3AuxBAy/3nAZd1P/tXdI1I59Rs17Zi08WriC6b/mEV7u9pheF3HOik\r\nHJ4baqeZGmoyLYYH5bwLZcFTB6mYPhz1B5d8Cx/qE4YUIKmZTLa37t+fFFX5\r\nZ6lRBrtk4JSZM74OfD4MyAu7CBmew5ksCWttDbNWLYf5hzrH2whd5IUclbb0\r\nsakpl+mYDdlcQV1NQdlD58NrYoMFCcFatBL/TwBWow9j1iptrwG5CyeBIRF6\r\n4ufh49TVyjTlmSGUKDnKgtzZb1jSR+0Rrz/WYQz+h2fvtfAHwCEGoapTcYbP\r\nU45TE2q7pwJs4jnvYAKvlJjTrf5kiJF9VLdvQx6MwtVjmScggXlYUeBFSyQp\r\nTEshhyulC6obn/t4XfzD6Rg5FXZsgP9BPg8=\r\n=21LP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCM83dw7DMaAoIc9XnuNoGgvZQVwOcubI03JYqe7GO4lgIgIRfMP6yVR92mt/Owa9woZsP+5ya7PMK91p1AO5CQwug="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.6_1646026130713_0.11128560830757661"},"_hasShrinkwrap":false},"6.7.7":{"name":"@darkforest_eth/gamelogic","version":"6.7.7","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.7","@darkforest_eth/serde":"6.7.7","@darkforest_eth/types":"6.7.7"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"592ab1060fc4da1654ad9b304356ed856b76a967","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.7","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-qRzWwD6PTSi9ZN6Ft3cAp1nSQoE+WuQ2JBSay1zO3N+z5avNjvQldoUMKT+0re6FTaIY3eqEhshS6l0K0nAN3Q==","shasum":"0492f57ce27a90353457862fae2f00111d04c0bc","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.7.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHXd+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdFA//eXpCn4Py8seeVmuZ8gc28Y9Ox6Xi2ncT9t/Gz20hq3+mGmbJ\r\nD9Xi/oj8VXRDuWUkGWWfxmaoaJBsmagQiRRdLph6DMTIMcBt4QNTIUl4Lq+m\r\nCgiEm9qz6AvpnbcZtfhGk8nOe60JbeS8lPVwJoMHvSo7sQBwCbp0XW+LPWpI\r\nfsfDmq6ZwM/FuZaNi1QfrOSY3KRf9vCPLmN3TtUqYlbrrmSOU8ZHHnYuu0gg\r\nYHBLybX54mESUUYasXJetZ2neU3/wU52zHTEFDt4bdk5b5t0eaTcpyyGuY6k\r\nznjyxLMnZuVfYepbrSjLobQ6qbFg0fRtN1YAc2tP47d3fUYv0Jnmohh7giES\r\nvEtKI4boWzgOdQhJUIbGvE65oDrLFWM+zH9HXtckwKKfUGKwwLo5ozLK0x+k\r\nu+Va3wiTY4TqrIwdY7uVxTo+bL0w3KcZg71/mbU9DYsPQzXMKRvb+Ej6im4C\r\nBK5bxsR5mrSWuge+Ss7UvBl23ss7MBdoFnfqDOlNzDX1K4mpZ8/RmKYiUXkP\r\nr3UN2Fzi5hMSQMMp9KSFR3vl+DJCIBfaY6vnf92jDwaK76v59syPvzfLaJaJ\r\niB8I+Zs7Rk3BSwsx+eNS4GA9PppLIQNME6AUKyRBm2eSO2L36S/oRYdOzTd1\r\ndgrbDVk1OqWlRWzv/0KwebCb3Q83CA7G+wE=\r\n=m3jZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaCITqBIUBZ7dOpnyTLDdLOQApvRqned3KBsFpD+adswIhAIfOGueR6DiJ4DKk5N1YyMQx3A52Wh1ZkadVZB7VcORz"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.7_1646098301864_0.8867715724553638"},"_hasShrinkwrap":false},"6.7.8":{"name":"@darkforest_eth/gamelogic","version":"6.7.8","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.8","@darkforest_eth/serde":"6.7.8","@darkforest_eth/types":"6.7.8"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"4d7e0de4d5da37d1e407c881b1583d1bfb177645","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.8","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-0Ebl/bHGFbOy/Pk28SGMI5LQPoSBv4SsrixzuXwuGhk/ue8IFE1B8pzMvCmh49IGvR9oWuH1PowttGK7pP5oHg==","shasum":"deabee4d8e6e27471e0243a8bf38a4bd19deff3e","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.8.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHpy3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolQA/+K3bZJDL2nE73LL26lM/8EHE/MPxu6KOz3XprHwRhHCoFcaS7\r\nIS6SvOX1ehkr2KLemHRB01avkL32Pe+XOPSVfBbpgJD1/Zfl1dcGo4PLPWYn\r\ndM7YbpuMQGoqbPp/QTEkFykR3wbmnjoF/oxNZWJ6edSaRV2v8B1iUYMzFJEd\r\nRyR+Te4CrGEkZ1oHHP4O+gv/mrHL2A+CRJ3I1TVqOvkYJ41giuqTKVi1DbbB\r\naXR9fAj12vO+D2bCiph94zZx1wwM9YgMJK2HREHCtxcl4oIY0WvX5HorzaPC\r\nscsPvVlX/fhgQpacIHXDtGVXjUXPaRv+X+SyjEr/Qw7VE1yZx8eNejdSSZA1\r\nrm+EjDfL5fhTQaD4GnIVKVds/kHyHvw7bfeaEvKItXRN4rBMgYsYGih2gfqp\r\nz0ZFSxiUsAaSTpNvGD/TCtBRW7SMxo7imKhte6NP6QVs5/7kH9+vWVIAN2Ir\r\nIb/P+cflFc9z8xuFweN5Eizn9/2JSunCglq6pfkbF1cr7A+yWeCoY4AsWlmn\r\ngQVAoRNUZ6Ki9+0/Amh0y+5tw5tW8xBVfhAka2Lr4rPR7pbQHsUYE6VsW342\r\ndHyAdqbC7PzaMhhR1aVlH0+RBW2LJdYkGV2oYHOM2byomhg56Cdwy/JY0Qiy\r\nAKn59HJh+IUim5OUDJzt4/9hDaUAoRZNVR4=\r\n=H2Fc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxYPpf5DYp0k6q6kfblkVyFdr7M9CxUIa5l+eGS93O4AiEAqteqsOTLt0MrGxK+oONdcH0bhJwrgk2NIzb1ejP7riI="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.8_1646173367742_0.7762401688048746"},"_hasShrinkwrap":false},"6.7.9":{"name":"@darkforest_eth/gamelogic","version":"6.7.9","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.9","@darkforest_eth/serde":"6.7.9","@darkforest_eth/types":"6.7.9"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"2d1cffe17c6ee951d30ff1a5f396bbd88b051fa3","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.9","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-o3ZbUvwdD5z61dulceVfQbwoK/tFYUl/pUA/E1V0Kr3FLy0rlGVBguQCJFxR/nOiKUArZnYjtbJjPq2StGzjVg==","shasum":"91da0612d8764c0590f2b6802259b3157e7eb915","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.9.tgz","fileCount":15,"unpackedSize":51736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHuYOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5/A//YDZVshe7iRC2uIWH1MscYUzHSAK9NkE6fIJjF8ByvhpndKYK\r\nPvc+bMX9BP8VPRDcWkHOBAs557FDPbczfL4+RfC6QAH2oFNoJhFA+kdY+DX+\r\nXUa5+lJX+LfU+NEiuC87x7nFMfOc3xUAnyxF4/aOP+2B5+aVqmhuFLx5AzJU\r\nH8ahtW8Oh/BE6PjWZp9Nk6wxpi0gzzfTChIhl6MQVH93VZaPrElR/+JlDN7e\r\nC9XOExnl/XBcWCLHPVnC+rC4YFziGRxW1CoVwMkaUnfZvE81kRksdmsViHip\r\necVsrlndDmZfZfMt1upJiQ/NSDqw9cP41gMK8Iw3TsyDhV1k6zC57gBEhOni\r\nmX1iAF4MfNcHapXBJ4Lw7j/7vjnLQsB2YoalsPvHlJRmyigE0FqwOD2PhGQs\r\nrCyfHdJ81x/Ib2b0Y8Y7EjLu74X27GhRQKd50qeoBthVMKNB8gzOc0nlCj9G\r\nuvogtEsJfHmhTLJTdjCmsa7gw1NuqXaL9OSct50fY4OZnUvR0y4Zt+Qnwf60\r\nbhv4aP42uwtCJynlChwhOSzUjOm3DQRCnEAkbZ3JhM4njq7l6mCXlMs+cSJ6\r\nJxMb7o66+ehJB8ihfz4j78NsWLJVRfW5wuoqiKvL3ICqusUGfBjlFP5Cy3Br\r\n0z/iZ3EK2ItfHxhCZaZGUE+gH7amq7nUhbo=\r\n=5z3S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJceardlTvPyQtZAFFS4QrF/epHIiy2m1qnaQAfbVLAAiEA4sClYbKyfPoxmsL+Sm7avw3y4T4AUXEt2fhJ81+Itos="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.9_1646192141836_0.7698203213188759"},"_hasShrinkwrap":false},"6.7.10":{"name":"@darkforest_eth/gamelogic","version":"6.7.10","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run docs","prepare":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules"},"dependencies":{"@darkforest_eth/constants":"6.7.10","@darkforest_eth/serde":"6.7.10","@darkforest_eth/types":"6.7.10"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.4.x"},"publishConfig":{"access":"public"},"gitHead":"5b53d13bbbb288f8bef5b876d495e0bb9b19ef66","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.10","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-N1njfEvwAcio6wWcsSbk7//FLyVLjFCaGM9SH/zodQ+ffId3f2FTeuGKTGP/S0Omacp+T24JRlBzjYeOBoeahg==","shasum":"49373e267fa2691bae7cff3574f7b6bcaa41cf12","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.10.tgz","fileCount":15,"unpackedSize":51740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNLOwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmjRAAikEIqaz0SIFQ6JE6EZU3BswGe0Ewy3Tv9A8V3UWFsZXrsNTW\r\nDZB2Dy8cdIDytdl22KugL6Shl3u/QHCA2DRgKxo7O1P+lnbQU5CTmMfrEAmt\r\nsG123W63hwtKd49N+W5rpXBzQGT1eRYw8MbD73JUoknfuntIJF6dDRiRN35D\r\nap5Wry1AcZhitCXe3eOgWS5YsrGCjQ3EcImSN3T9LIZDEnmAaVfNy1CnsZ7s\r\nAbf9DKKQYGFk9YRNihrLjPGLjjNqYOq7F7RGsBkLMszR1RMUb6wa4qF//3K0\r\nYfEdGsluPxUbWuYq/yxgd8iZ3RhQhokQMt9dokkaYfXG4jMCgXTbtdg6FoK7\r\n/tjZjKD7gMcfXrqiu9PdjchNL9SqQNEY2AcsLc3Mn1gV1L3WdZ0hbxpUUbMs\r\njx7XBi3EpfiJ/OasQKMUP9DQCgY5+ExBY7Oeal2ZncwYf/BM6uRo0Rzv/hqH\r\n+FRX8OPPKQv5kYyAL8KOirv5lOp1ZdDMJRyuqoaSCbVkCziyflIulJLrtCAk\r\ndchER5rZlsm9F9+2YQFnmXE9aNpprbcxRSh/Op6ZK+C8xDTPSrv0xfSuRglt\r\ngCCWwh3uCRYl+yY+4uo1vo1abGIKdGLpwVHa1kcAaZDZflrDRMKIKp2+krkO\r\n566Eec2L34DToZLHXPtVpS/6bekvE6FWrAE=\r\n=nPWg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICs4EfIt6GiBo3ZjqKzyX7v9H2Ejfjkjae5VwXUjGO+GAiBuuxOps7YBuETHfgJt7Nrq3Tm3eSIUtkoJoxAvmMAmhQ=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.10_1647621040262_0.028780628145855136"},"_hasShrinkwrap":false},"6.7.11":{"name":"@darkforest_eth/gamelogic","version":"6.7.11","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.11","@darkforest_eth/serde":"6.7.11","@darkforest_eth/types":"6.7.11"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"5714b039be0a2e8ad15ab83f2b2b31a9ddcbc4f4","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.11","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-OGW/mxm6YMoW9vJmpq/jqivZ6TSr5DKIrbZFuXjM/vNrKHgpPB3+QiIPwmaEsZSbAVUpBhSA7W24z1GHafk+kg==","shasum":"4345870944a5d63319514cfe5381d97b0d1f989c","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.11.tgz","fileCount":19,"unpackedSize":54710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOk6JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKsw//f3mKPVhCDcEWSwL5oWtPojPcT66DYOFOarsj22HDUHJgBgeI\r\n8ZEnx7dBWKuqY5lFvM7CMPZlQnhXLnRwOqIIXqhi74qWqS2bmsjvk+xfkD2v\r\nSCBBQgp+uacD2xXwHLlEk2cbMpUQbX+QzMa9he8K4CvNT56r08bNW8AOfNGv\r\n4jlSbBNuaWa5AbAn9syP6KW+fRA2SDRm6vuuJ7Y/tWJwgmHLgGWfmLbhQzR7\r\nSp1Lm6J6AyOyBiPSyrkW8Ewn7P202y7UJhGFoX3aeF6FKy4gDcEUmr4iVmov\r\nk3mrGJrU2t8EIgAqb0YbfRR128xsC3Grgyt5qGRn3tR7pofG4gc6uPfxP/RQ\r\nxihLB7qrN1qe6rtEZp9c/DHhr//J04iC4jHhgj0M7lIx5GQ8mRtSF1zVPtdH\r\nJQVICsJQJHkNUJ4Rio4SYZySS9QmajWMlnNFfvPKLCWL2ba4P9xc4WkLtMgN\r\njFOS+9eUhpKkfMJu6HgVxaUx6px4dprCynJeOtnB3GuLBqg03afQsLocQwJu\r\nc06G3aszQIwV1+TIe4UEwk3+7+UUTfu6HL3oLWVbnb99UxTnilRQuUkri6mY\r\nYlXdvrB5r7hv92Ij7RaYQ6kQSnlferrzSTtxDrN6dHAjtS9vBKaRV8i9R9M0\r\nwf2Diu1Gf2igHr1+eg2U5sOclYR7RGwUkZ4=\r\n=6Vr8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKckIIvH6Lt4Qo/5fIkaITe4NzSau77CBEeA5gJbfIFAiB7ZYTYsmGOatjOSIudMFfhgHIC2XumnItMl/ZZX2IW+g=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.11_1647988361421_0.19804924567311466"},"_hasShrinkwrap":false},"6.7.12":{"name":"@darkforest_eth/gamelogic","version":"6.7.12","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.12","@darkforest_eth/serde":"6.7.12","@darkforest_eth/types":"6.7.12"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"b54983f046e9262d332f39e1f815b1bdd311cb27","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.12","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-2LxyK4ABtyUpeW3xaOTGF/tY4Lk34lAfzV7gzYAOoIkb+GSq6Wjd9MSFkQSnFxOa46yXCqcgg7xCa6mWI/iiyw==","shasum":"6c95afcc45269b87f25633331043de7a1bdc042f","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.12.tgz","fileCount":19,"unpackedSize":54710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOmwcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1ww//TTM6qztlkh5O8O2+aQM4wK2Q1R9pl41KJhX/0JePDKbkeG2d\r\nLbR1pmQjwPmjshBoJ0FzCVamHEbFrWmfmfaAJun9tQimtq4eiIjqRyQPiyN5\r\ntLdLvbXzjI6RKnxr8Msa9CDU8MHyEUvK2vI4ZSllFXie9o7ODgxHbKb8vfJW\r\nQOsnEAxp9OUnJadUZn+Xzkg3ily50+2QWn2N9VbsWD9fduvrbnt+TSH51s56\r\nw9Aao1dlamsq/dkdmWrxELjDP/Ojs5Et59ZbYGwHRpfmdfHUQo7+40PpQmk6\r\nlM4fKQi95cH9JzTNxXWD5J42JkEStT3IhkEiidEe4AL3yEYNJBdVJ+U/9QTj\r\nTPE9c2O2HFV9N58uo4APbT8CyGX0O6oELQVncVvnWCy7zzhb76SZ6xPkKuIo\r\nbBMktnphZf6mpSR1LlgxUpI2u339Lz+LW6IWKKfHVeMtuRmPGWgoXUUkZ1Bf\r\nOJIlVNMVcWwJ5aWkxViXnEYK6WrjoQhObybPGhZQV5M1bdDfR4f/jxZsSZ+B\r\nGZAU+yVjA7PtkTE6Wa/j0CCOLe213p+XlijspQQ0CAPE2/m3triWMEOLt3KW\r\n23ZzD4qqy+QFeClcoWS/Xvc9EpGVu1+BqWFWerwSbCMHX0jBWqUIGDPcDcBJ\r\n3N7FzMtWtnQXEdF8o9gUQhusiFLnZG/OVEM=\r\n=07a4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHf3E7omPl+X5unFo6Y/dilIZE8Rao0bvjIyTEZKrtZeAiEA0omfH4FUK52q664DH9SiCuFVkGQd1lXuA5R0lvpM4NA="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.12_1647995932138_0.39143291847429995"},"_hasShrinkwrap":false},"6.7.13":{"name":"@darkforest_eth/gamelogic","version":"6.7.13","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.13","@darkforest_eth/serde":"6.7.13","@darkforest_eth/types":"6.7.13"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"eee88d6d2d79d208c7f664ed71db0240eda0b648","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.13","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-DPzPRASCNM2nA+wIn7XxRRDuG9W8s0dPc/MuKkVtcdI9rvL2WviPZVSjI8nijw+aT81xQCqhpbHT3x9t0u0Elw==","shasum":"76f4e3a86c663b810888e09e9cbbeb62281a9e42","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.13.tgz","fileCount":19,"unpackedSize":54710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOnQ9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplPQ//dU66CTicB/LVm148djeJ6T1W2Y5PywA+7y5jjIr743mrWOHe\r\nx5PL6xTU/kMOgvL3urGxdtiG2dcrrZLrc63uhuTdYKLVATHGx1fbLFaNsUly\r\n0pjTP7v7VBP3gSUW/GDcDg4O3hiZsBLMIWqt2WwDHJL4G3P4ppAbtvuE1AT1\r\nsFBmTEXBP86UOGOCXRxKervtfj84fwqw8AhHBx0Vj7bZqgjugce3ANJSNrg7\r\nzsRt9CI9BR6eZaFnp60yP5jqyo9EKQkxioku9vxraWzeglaziHE/pisBWG41\r\n++jINxhbYOaXkIxcqOCZ9xMEXLje6O3n7MFLUSqyCvIODWql5mDYWfXgFVeF\r\nORYresTF3y/Bca8j/bCzZV4yft5H2pa/NBz4JPiYUgjwPWFNjp0a2SnP8eWK\r\nQ3R/IdK4ha+0ANvwGxgG7l4nod8YwQJkv6fI+voGVJFOwFw74avJj/oepBeV\r\nUgLKc6XcSD8IHyszLKNpLJFmwJ15zl8Hb6ZCi0y67EUI3L7OpgXediVqONeH\r\nR2AMN8runvo605xlEgwtemJIii9l07Sw9/Frwc8jfWu4w5drSsLmp56IERt4\r\nwAvr72GRyu+Dfa1IKLE5ngAuwFLzp1I8ykGXk11APxIs8uprWaw6tX0w1tfY\r\nfBOteA4eP7EuaSDCeRRoD1LQRgXeLmzzuAg=\r\n=t0lP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHAcb8GTRsChVwo9y46LWVi0iI/ucTXutT7Ql25BcfMmAiAVho9ctpoPpQBtuK0mXoCzssdZFgVym2+eatdyzPPDKw=="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.13_1647998012681_0.6971474830308666"},"_hasShrinkwrap":false},"6.7.14":{"name":"@darkforest_eth/gamelogic","version":"6.7.14","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.14","@darkforest_eth/serde":"6.7.14","@darkforest_eth/types":"6.7.14"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"de59c8b5b66a77e44df9d91ad635dd47816e3003","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.14","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-aiwTQubH+4jHwyE4GzFXcnU7i8Kgg5jVNd8CMfGF/fPXuhhfG1vEID76ts+An6nLThIK+xV4ejBucNQH+om6Dw==","shasum":"5913c2207a5f08e468a5e965134c6313c5e02b57","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.14.tgz","fileCount":19,"unpackedSize":54710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiO1lfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCpA//WFbP3Bwx+71e9/f6cFg6XyY5KZHYtG51ct3xExXOY0amQfWy\r\nE44otWVh6Etu2gN8ujN7GL8yzmlF9NIhHN/vSK/rciaKgohM4jFhENbaTVuR\r\narlOgq9RU4GL4+EzaEo3/iwVoinzwt4T9Pl7UPSm06iyrrFKiHmqtOL12LIo\r\nhFJQXHj0DpA3Or62BcU7xHOq/dBhlyCcevRdQwnH0uFRLVcK6SWMvAlBBk0N\r\nf7PeBMLmzt28vWWRPf68DzriOwhXiy1qzRWjtIXh++YzBk9oNsMcnXp0kXQQ\r\n8LelGDcsZwEccQgeL02bsWCWe0SjZ1duydfPAUrkCFw9MBlzIbPE8SeMgehP\r\nvojbWhSxq8PUyAw+1PEdW2Yf8Wv3fCnq1eU+sIXNRS3J4golOQ2eO9HiK/vn\r\nrkhuvHAw/oUBvCoGURioEy9nTjJiocrhyLDmxtKLZabO8FCh/hAqGwhJfDYX\r\nIgt2rNRWm1Eoj8NjWNhUun6b8WgzBXhJ7SxW/u4n9x93u9mUw4Dl1yYy22T4\r\ne9lrDhYXPslW9AiKp/Ve13jkj32yTENihBmSIrIhYX86Y29tvX9gltcB6SSr\r\nwSVZyDIbHJ37oNFRk72WRw5LQ0R8hZE5i9NK0tCpNWDQ3/+G8sGiW8zJppfK\r\nBV6m7bpcyKzybdrFAw0UQcWM+nepYhP+eA4=\r\n=7rJu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMnYlIVh+6cfZEMQMe+AWTWwCET9zYolDYXL5UOEfHtAiEAgyVZjF7JAafcz9ZpGICqqafgcwiX5p1j0jDa2gXfZlg="}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.14_1648056670831_0.6903494415357105"},"_hasShrinkwrap":false},"6.7.15":{"name":"@darkforest_eth/gamelogic","version":"6.7.15","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.15","@darkforest_eth/serde":"6.7.15","@darkforest_eth/types":"6.7.15"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"2099b578f9eda8cbab7a18734721ba55d86fd6aa","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.15","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-Nfd1KydhkcUjlKgqla6mIFP1xp7FQpVtpOl0fKDpcp1NLb9wfCjS5ER+saCeE1aABs9C7G2i0Hj5nhzcFc6cKw==","shasum":"0c2e5deb9532ff9b47c58237d4a04970db75d7bc","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.15.tgz","fileCount":19,"unpackedSize":54710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPiDEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5Pg//ZgVRPTHjY93g6iEYtjXjDqKY8efhF59q5edLAlmKlozqFxGP\r\nXp52LxlOusLZSSjI36whbXeVr61zOn5QpRlqpHSgMe+7NDIT2CgH00F7dPvA\r\n9WFOi2GPMQWP3c0XJQvKOu3iRk4sy1pzTT19VJHXeeL7jkigYktKV1CDVy3m\r\neclCFTlt+zuDQvxCSMHFO9YWxavJeFaX5bTJEX7yaQ4qk8hd0yy7u1s+jWXN\r\nj0Sm6ga7yMrn1QeptH92t/ng+CfahGOpQUgirNMF2y7ZQPn54XGguopKrhi4\r\niYCY19wlrszJ14IzOqknxOKo7MMJBAmCFdnO6NIcMMEnSZ4VIfc3K0jBAeCQ\r\nA7KZiy4Yi8DfMQyLPd26LLNno7CoAbxUgLwDlAV0V+iszipi8dDZGy5Fc6QX\r\n+WMi7ZGTPgTkxU3PBuATybBQFItinoBnIgrK0Lm4spcpFmsnoAdMkV5Btksy\r\nmndzPd7SiT7f6SPsKvnfY0k/FGm1Bnz2BRKHof7qMHUwZxhpH2nBlM0y5btZ\r\nXwGOBr2QmD8OxHiIBMdzDKWDoVjqFhQyLHh0RrCN0KndZbc4hOJZhbsbfeA0\r\n9rK/PCY8cbb6Tsl6LybC4k0heYOVr4dHGMRvaGLhmANoxOZg8CpG2N5K1K00\r\ntKwujUll1IS62tfoEzJqjSxKw0K+VZ0tslg=\r\n=my9+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHVPMmZy8OkrXqXiLB8WDsXn0uniX5oQjy5VmGqSX2YwIhALiPu2goDEVHrgm/yJVTO+9glpfv1ACXbcHP0AVuIU9/"}]},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.15_1648238788294_0.4508239053904237"},"_hasShrinkwrap":false},"6.7.16":{"name":"@darkforest_eth/gamelogic","version":"6.7.16","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.16","@darkforest_eth/serde":"6.7.16","@darkforest_eth/types":"6.7.16"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"9323812c8e4c16f2a52367dc94066bb77af4ffc4","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.16","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-lKTkvyiNwWunteXvmxr0B/WUEXnVDtEKR5sDgtUp9oug+eEIW2j3cicRZw4yp+RMarPZYLkZ0e0uNMBuz5VfWg==","shasum":"7084497f09bd040f01670dffcbeee83ed6fd65cc","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.16.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8rx31D6dZPdvki6QNzAISwPCtggK2qTz5CcmTj5QoowIhANEnI4XobL0PIGtR1UDRvc0yBEciPvkUCWz9kba/peR0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR0HLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcMw//Wskb5SK7Yy7AMH557OBMnWoWSDSh6UYebXFHLY9hralEwsOC\r\nTk0TGki2bLsonbbD7wb3VIbMloNSHUpjN1JRQINcK3pgjMH04OB7cR5NEoFT\r\nu7uCg9do0Bmg64CnOin9OhDTPulDfOr/29p3l11SYcNTPMMD8dHHGyaC4jBZ\r\nkvV4guXL1b1wtNgG0ehmOaGGbj1/DCzIoljGkg2MjvTPy3I0I94wc8XEErD2\r\n+YxWR23mm6dRXyeYeipqx9HCutjPwJxRAEmLeWgKZta/IvCuFsMfzqps0E+/\r\nREB9zuIGrnFR0umoTErHIevSjsqQHAWlMxqPiEzz6LHkLGG5d+SiwEKhvVaa\r\nl+ZAjNDETobjmreoGrhmLUWF3rtv80at6i4h/k/+xl2Iwc2D3+sibhLktRgT\r\nBi3pXHzac047s8jLn+ndnFZ5u5+JCg8Du3U88jP1DKSXcGtX8Njp0ubD+EMr\r\nz3DuT1nAp4LBulRNN7tYwQqjoaB/ZaCCXUz8LtjUdHAMz6hl7XI++gsBz3Z0\r\nG6gpy/YjRdPXbXfKKzgWp8hTmbq+hndTwEu8pqKXPVFWjS4G7ThrrAOglU72\r\nntl40HRP56ifrWRrokojQk+J3NhiUq3AdUjYHLNObtj3QYI1lUt/NcT8jPB6\r\nvfDarLqOjQur44keDGa1jzh0YsOgg8NAdjU=\r\n=X+2C\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.16_1648837067679_0.9522586322918338"},"_hasShrinkwrap":false},"6.7.17":{"name":"@darkforest_eth/gamelogic","version":"6.7.17","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.17","@darkforest_eth/serde":"6.7.17","@darkforest_eth/types":"6.7.17"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"a87b04de394592f464f9640c80b8d2daa8af1b97","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.17","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-A9+5+hKDGTvANuiLT1mDTqQaVu8rAf1OAxSvaY12xbYU5+cA0xW6JF3+vUTv2M9gaLAnKmC+HxfcA54MCDLVow==","shasum":"f7b2215023f163755556a61b46680bd81ca950a4","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.17.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID1n9Ih/hY45vVuZwhObaETH01qLtKQWqdwCMg5h2BbSAiBq7qca+58DCyjINy1wLqAfF3xmjcUYsZFXgSyHR2yw1w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR0TCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmou0A/+KhOqjT74o1VaXrm1kLLG4DzQCGCv3eFge9IXrIGN1lxNceTF\r\na0PeRssccGmw7d3/RQvnEjYlmotqRR+hyuvXFIoHa9AgU1P364r3RJ2j5A2c\r\nwt6PsnwuShyAbV1cJKWLC6mOTLPfuIIkRryGPZ0YijAC4hExYoAoeralbAc/\r\n4ImD12lD2xXY6ItN/k8zeOFTkilQog+RxS45uKUDHdxdM44xycsRyUnTJopn\r\nGFYIm6WWfq4cMzLtPu8d2+78+2J/wMCkQfESji+Tr3RXChm4eigW84CINpPY\r\nEnkYJpj8rBjmSCP8SLfH+H0as/LmZQ/1srTY2L5AG0GugJ4oR3fCf+jkchbo\r\nmbLoF0HAKlmEXBDoFLzi2MjvfuiR5AjcmoevBhcmFjUI8JbmyIVKFHmzyJSr\r\niy/seGlIS53rscNEPp6A6LMI1u2agyrCDhqwOSAM+hHVp5+oLps8CqQSg3/f\r\naVINQkYBtie5NEbZ2aOdNyHypRSlsB8xh44WFzB5v7U48E5L/2tcSlzc2QrN\r\n7DAsD1f49/gdqkvyrrOjva6x/FRsYCblB8fqrVwYyyfnXBTSB2phJgfhXYIc\r\nxJQmeGA+xsYQP+US/LDlIyz4dHE7aD9w3Cmbz6fE7xnVgCiGuoIJVvQ/ljeS\r\nEV1govOcsBm+PESRZWeEuL6Ra7nqiyuGRg8=\r\n=qPP0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.17_1648837825959_0.47356758166576607"},"_hasShrinkwrap":false},"6.7.18":{"name":"@darkforest_eth/gamelogic","version":"6.7.18","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.18","@darkforest_eth/serde":"6.7.18","@darkforest_eth/types":"6.7.18"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"60933415270708f13ca0e237c30a923b66410f3e","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.18","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-56C85HW2fxOQveO1kVdmVn8K3epkEhAnhmFDVxrXJ4gC9IOrOR7fRvJI5eHdNiMA5+GiNpERWRg7NLxjKmV5Lw==","shasum":"7770a2e41c355a3bb6d44bbeaefc8adf788e26ba","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.18.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcJjdYAQEmcESTUKfVmFqu/pCs8RAjFuuKZAOyRmqivAiEAwWoSDGLcmtAbu05GlvLDZ0UjTVtouGAxnck74dWGAjM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR0mmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8wg/8Cg+r8Bc5s+xXJ5ALKz2lI+RyApFlB+mB+SXuxdk6ZXvvCjsC\r\nvE0JAXdxECS1fmOQcxsfN2v4MLZRVVBxiHfM+al49zUFX81m/bLgeuZsICfG\r\nFarjctS2Cr5TOzmXg0yBYMDlf9fbPqkKOKKNmSnqASDTKDJePzh5Wu/8N5Ic\r\nZVC5QOhR+Jkrjmf3aICNfFNHdzKJSRY5GZuvNNwRkHsWaFXJZj5el84H4ku7\r\n8uL96FIws54C4YG0ImK+zjkTyuzO0tAIoJbucPA0FTSFFJuSF6maO+lMSfzj\r\ntm9yIaOonI74w8fkK/XQ5oqAIZ015R8DjC4itwZVox3KCDHmTUmci/yUeghB\r\nEdNfkTeXpyEQsAZ1IxkGxC8RLmLQ3uc3d+RLO8N4OfqYBzL08jpkJodWxAq1\r\n7moT9ypfxkcXTtEBeyZvAQTm0+8Dg8uO39EHsCp5Gdw8/iHp6GAf9XFB3s6N\r\nL5PyhdDgoGaZcnWMlUSj/U/mk3jHaAHNiRSaCKIWdDz+3XACcn0kY2sY2KBN\r\nur6U8rnMXr6KOYAUKWc0ZLutYMJ3OM/idMiDqAc5mHb4baEuKxvTZADTP4vK\r\nBAQ0+wlaytls+XWewKNGn9JoYUP0ODCp0qa4qFfMAhY2+kSIKeP7c0abd3n5\r\nbMQmCOZMqbRHhQsDbTjmMQCFxeSIk3a8Zuk=\r\n=rvyc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.18_1648839078383_0.9124404133092647"},"_hasShrinkwrap":false},"6.7.19":{"name":"@darkforest_eth/gamelogic","version":"6.7.19","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.19","@darkforest_eth/serde":"6.7.19","@darkforest_eth/types":"6.7.19"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"c9d8e609249405df26497418529f2dfba40eb400","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.19","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-vQyBYQZH4sVfeTj9TgtVvNWLZvGiIIKl3UM7+p1VhM1RNLJwDHSdI2bn5XsXOaE3/agSGEXyzPlxBnl7/3YhzA==","shasum":"f497c6b73fb542b7dc89746a5d35d7f0e16cc8af","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.19.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDksW2kwhhqwgkSdzE6V+XvDHRG6gEqXgflEjYxWxGOkgIgb2s5p97eueErPfUlUPpMAK5BAlhuLoKAo3w68EjR4vs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiR9vyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrzrg//e62C9ewfMxUxgszLL1bxGDBw2I7qhDepEpSZVu3A/tfFns4M\r\n63tT4v0/k/CwTFq3vpQ8JVzoe8e8DnWneLBaebpGFpdfl44TFLiBWYwyDVqW\r\nHNjKvPaPJu3yWgcR9mL7VpmQfcZ6aJONbZ2gk4MUktOYJeePbQb8vP+DRkMA\r\nHYsnBU+AeFudUYPCH9HfRDp1tLxISNsEK9Ej/E1APBr3HL5+oAnYndvpJEQM\r\nv3RoTHKF/T8+jnl1w9kc8zDpHN575bL0z2k7Low+57AJEpUmBxJj3VO4CRqv\r\nV8fQoK/WSzOQhf/3AVqKxVZY/vxAZzyIEbXKdsAyHE1u9/61Xlb8MxgUyZoR\r\ntKJaFrQae0oyWeYSZVntcTjfmJJvb8VHrdmoSfhNal0Ylvd7D6ShBD1HDBt1\r\nI6zRdjgawjO/UUPa55XsFs0Jowd08mNxOpAftDf9aKeHP3/KhVLOiqDJhtpx\r\nwlaixbkzEteU4hofD83qBcpzhL7MvbK2Pj8a1eSsAOaWChoYdPfNJIn0b8Mi\r\n8iyUn4X83hlPq4nEmUo9EOa75RyQmZTIoQnafCWX1FeepY3cM9JSyezV8V6e\r\nqUEO99fptmJcVKhq0lN/5Beoksx96wE1gr5nZ6eXbKeH8Yqs9zOf2WcbyVre\r\nNEhcO3LI6ewQ+9s4Tt9XIUI7HGeieMt8aNg=\r\n=syeA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.19_1648876530733_0.7812151257108166"},"_hasShrinkwrap":false},"6.7.20":{"name":"@darkforest_eth/gamelogic","version":"6.7.20","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.20","@darkforest_eth/serde":"6.7.20","@darkforest_eth/types":"6.7.20"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"f503effcbb1ff095741bca8c860504ead2e34112","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.20","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-FsCAFzqg2zD9RiVw18oI2fdHyxpV+yZYmCW+EafcDOJOSxHg2ckXXV2j/IPBlTGhl3NaBRvDXKRvW/jHaWguow==","shasum":"9ce96f824ed08b08d244c2ae4a562046af88af12","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.20.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6njP5RQydargtYoQ50GBgZ9aM4bbpsWYvNxubN3Eq+AiBe6b4ucE8CO/l1M9BJTS9CJ1fHS/gi5aEO0ewH5X35Sw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTyxEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpbBAAk9kz7z4B1j6OIFSMP15T6egIOnd9NfeCKOgFxi8oithiiq6w\r\n4QRpX2iAWhDH1iza295RcwMwiPFw3xxr6iZj2P9iI+UH6wbO8Pc+5toGOf9P\r\n86V0bgYgBD8K4EUXqJHuwhvqVOp6w57yLV7zKT9IZCcYc8JBMetRYn2hIrNX\r\nIMbArVKbSxDYOM+jH8MkZO3XLrf5bfQPMZK4Lea4oR5TbxCkYWmxyXeDwK0w\r\nybaBFnHRCC1SX6Rk3dibxDVeGSuTyqFyii5UqVWvUSPoZuNmPFshZuiDjpa3\r\nu/jOl2SMDBUTjKKglDA54MJY5LjYedlwWflwTyqLlgx5QKkSFaTB3e+3RzRh\r\n8l8U6SlPwIA0OxGkzaTmy4ShBprafu+WCOJhm4MRYwTS/di/Gx4J8vRxHAyI\r\n4KNT2okR5/S6JCODu8FR0jwuWwt5oj+doQJqFxdFPlb3VJNeDWKM2xnSq0Ee\r\njhWloh5vBcGsVHXYGRsgsXPN2IJFUtA+d5xncHcyXvJta5+Z2LdWoE7dFFbp\r\nx1Xwx0SnaPFUf2d29nkcqWN07wLdJ6gAVa6I3F7St8rq7rlQ8oUz8e5EA+Bs\r\n/80k+hxlCN60hbi2fXyuCPzNIaKRwNpa/cP7DRCgKUSqggf1zj1jIPqyuS1y\r\nE5o7PfIst+ugimVWy7Ig7KbjZKfjjE2dY4w=\r\n=6ah2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.20_1649355844077_0.3610357245991087"},"_hasShrinkwrap":false},"6.7.21":{"name":"@darkforest_eth/gamelogic","version":"6.7.21","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.21","@darkforest_eth/serde":"6.7.21","@darkforest_eth/types":"6.7.21"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"08d20489169dc0ede3359019d474987ffe695d4e","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.21","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-E0t7O+vdU2OxPJOu07ThAAZymFoS5AJjDBhbHfPGBVVWa4Nne12RCHtaf8bNhiBuD95Mu59dYaPBCWFjnnlE/w==","shasum":"f0a1cb372f419720350e12aca1438a1c202a2636","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.21.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCb+Erk2ZkWOslIHIz0zlGa0zmioHcltBaLhRWJTXuoHAIgQpO2oysbSQN0aIeOMdLnpXdTFRlGGFFJ7PwMVqv+yw8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTzHPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsqQ/8DQ/OltNBF3cn/VC5Cmpyny5VGxLmGVXnfz+t/7PE4gCdTWnD\r\nv4sg7/SZDJw9iPrQE2+rKHjHZkEWMOySSSVKhEoaTklHL1w+tEevP8xvFbqn\r\nY6QV/MryHuTNLa7Pi1MC2KjxWPnroaMGDzIjsDj+8XjGRzAvCwuZrQlM1m+/\r\n1jELJwn4Rhrsbi2j1tGMlexTjtpu8hxIfoYDYkD3PvxGUf9TWCwYABpPdCUo\r\nusqhKki2/BHytMqk+nFZwu0ETWko46ecYDfHqo2AI4fPx1NRV414gcur08GC\r\nPoJpqGVn2W721Q2ofH2fkl8iqJ0B9vyJ62D2sbTWWbBq/w9wjWtzJ8OFx7jN\r\npGR9nRt10wIIfwdADX4v4hiNusRL0wPZZhJuAKiq0HPtqxjBkNCZ3lzDDgop\r\nuGZ4nQyEThgT0liIFtjQc3c4AlfQq1ra5d4II+wzxADjBy5O8YRZ4fvwF9xL\r\nKJmyJbGweqpTVKVcm/Iwy/fIbvCJtKq7r2XAcD6+/+SGcv4d7JpyTISOteqd\r\npSJb6Jdy/4gsSh/L65+dY+nGof7vGdZ1F+H+Upaid9X8uI3BWSl8rKyJ0rHB\r\nqZ1TZq/jYjO9xvKxFhVZ0hXuOzY5o80z+/UkmQwfNu2sfG/ywf6kwFZICJaS\r\nVWeIFXlTo0vXwtLLfQ7LpxdPoCU77JPRJD0=\r\n=GmuU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.21_1649357262933_0.13288261719181604"},"_hasShrinkwrap":false},"6.7.22":{"name":"@darkforest_eth/gamelogic","version":"6.7.22","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.22","@darkforest_eth/serde":"6.7.22","@darkforest_eth/types":"6.7.22"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"69b58dee0d80b10b77032dfb756695fe7721a22e","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.22","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-DW416rBynhc+4wDY2FxjDq955pjMIcJNRU9BU9E58kyded//FA60lAvD9LwUttZ7zUEeokAtM3c+Hn8BcZQIlg==","shasum":"755c22204bf41fd4ef87b4f37f28de9f196d12af","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.22.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0FcgX2huGwRrmnFsTORMKcOSAI+S5axoWdfl2bAh+wAiBE2XIEtfqkC9PzRSVA/7ybGLqppVVb/o4YQAKM5vUV8w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTzbeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2dQ/8CcJsIxv27lPyg14OWGR57C9xhrggCWr+if9AQN+fWiRD5hSs\r\n55LAt+t07mUBtQU8C8bDxf6HisvLY4FmPopc6TnWf7DyMC94y3chxadyuT8H\r\ntcSVpqPRTl/V/CQrip0O02dcVCECSARD/UUsRME/8JmHvvNg0x+Y4p+BgU5W\r\nd/btw5/eKYfkcg5IKkgMUDlmHPM9tsbVx+QjoHPKE+i0NbfGiLtwM0THTXkb\r\nh+A7rL81gZp/pqSRpORyyRIju7efFjit3+jtAvZWL1eniae/mEzK4msBwf4q\r\nbwLMoSLeZHsgW4D0A9u4GLbMQfjVSV89TBNjuCorvuHzm3cTULxG26/wb3RR\r\ndwRYSJu6BtxmIVfovCxmzCUhOBkonISfz/l6yf0ZareAsIxsBzoFubqpNH6j\r\n24/l1e5iiCTwn+iZfh5UqgwrEqPtO/QB/lduDI0WPGXxXxxSdZIMHWex9wUq\r\n5EmFLdTG0+Xu3y2BblTNGir20sKpM8OXV1YG4COj0syiALnM0DHyI/yIc+WA\r\nZ1ICFsUDW+5XlbEPDeMQRnGTudtfd/QHUdkvHd232r683mX7JeqaMPZxpbt+\r\nZntKiVzMKuMF4RdFTuoQL0CphUM+Q5WRxFD9UwOOq8UVzf4TBpr4AE0Ec/8H\r\neZ81krKNmXanKZb+jqbrCW7D9Sw0hY0hovs=\r\n=qggK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.22_1649358557893_0.7749667144683496"},"_hasShrinkwrap":false},"6.7.23":{"name":"@darkforest_eth/gamelogic","version":"6.7.23","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.23","@darkforest_eth/serde":"6.7.23","@darkforest_eth/types":"6.7.23"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"2da543fb0a6326e0d29af3c6f49d39729f1b2eb8","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.23","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-awxFJDRknPF/3Im/aN3Jv/lFuBEhfrA3mJkE/Nmo7AXnV7VB94Pf/bRn5ZSy2Irtadj23wlmlXZszVZvAguHrg==","shasum":"19aed5f82bbcab996aa123902e3b5ffe158de385","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.23.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9XhjRLw/B2A6fONRxrJcV64xEIO5Tcpc2qp444qsY9wIgfvC3+cQerWB9+2LGKFG8gtl4Vc7o9RShSnqeKwjdEqc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT18LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoo1xAAgU23xfKUtalGghMQBesyBCDxqHEPlnQui6h7tNtiebijnyZ4\r\n970qjmNghwJ2OrUdPufu3onJyqfR3W3NVCmLmxleKQYN1T8SdWUT1vbeno9H\r\nncuVegUaKJVUEv26u7YU2fUlnJhwUY8k5OXbGHqty9lxODfuWXksCcEEnEfZ\r\n4TwB32UVDO1Edlxr5X099kvFNiFS3dCzkTDEgJt1VLPBVLhKAAqRq/a0LSiE\r\nkgqLBSpBa3ZWyTitCm3q+AUsKosunoRjA657Sho6zMAoDnbPf0S/AK5tSuzw\r\n+PRuBDpE/oMc0G+qxtzgaqvf2+i5nasD8EyK26FMeXUH1AO5Va43rvkt49aF\r\n0By/M+HXvULsoADaeUSjnve1Rh0bFk7VDOA07H0LGjoNXQD6GjVLxYs0dryB\r\n84cKagbGx5qG+fqBFRf8vSMELFqFQAhvHn7VAmmFSFC6hWB89adCuxl160K0\r\nQDrVI05iEwA97vtuf3d6SbAjZVc5PY+Z3J3gc+VyuxQE8cgOonozJ41UJgTK\r\nyZO799hbntX5qzmRT1RBLnXN6ZwoPwd4+9aetlxAVBE0HjiIM61Ri7xLxQ+k\r\noP31/krk9Y1uWHurVmoXmYu5OV7LUTqg7Xks7P0FBS+FvIbAYTicjmGVwQAr\r\nvvjwQazUCVIXs7NbQ0M3N0YkL1xuXlffmhc=\r\n=YJwQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.23_1649368843568_0.612995999551236"},"_hasShrinkwrap":false},"6.7.24":{"name":"@darkforest_eth/gamelogic","version":"6.7.24","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.24","@darkforest_eth/serde":"6.7.24","@darkforest_eth/types":"6.7.24"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"97ba637f16c15df2f8c02ea0c1c85504a8aeb25b","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.24","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-ELkI1pD5GF3pt3/ONKTxq9E+NZowV1wa2GehALppz8Gi6t+PmVmVS7tlqTQC52pcgzhQ7m6AbMJe6IYi8s4LOw==","shasum":"cb3655fb795d57e75047117175fe5171192b645e","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.24.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWJtb0CHIAXMkiisP3Vsg6Q2n+u1i3Vd+Jhs38LJk3AwIgM4zGElpJdlAeDhGYUCos2bQ4eGUi0yms+RfzvAfcNjw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUImYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4xQ//S+8sUyXSUrMhJeWS69nMXeSwDSro4ApL1wjre3a+NMHYFwAm\r\nOmcxJHPdFoeIw1ssjJI5pOCqpjFGj8BabcwItmLzyT4+8UalaU/6wGRAwb7B\r\nDpwttj5PZmOSPtQ65drwWP+Nly0siwDHI7lq5GW8jiT636xAp4BGXdbHPe/A\r\nVKeGvF5UsqRrjh4CSbC/+8X9Jcs0AMbSL2hf179SnKtOlLeX4skdfSJnNKDx\r\nDXwyjaDVQk95GeNcPiS9Y8E0oS4xiEKzYo9JuO/Cx/c3B2WmTWpdABjg0bPM\r\nATGP3//xx2j6QiGswDAmbkxda/hKALoJB5djJxy6KsDj2hL7cdbN/fud9fVG\r\nNWYzf7JojA2YqGphANRtO+c2c6Vqxjk57dY2Uiavhmgsm32+M5bPYrCwSOvP\r\nBnNbKKxbn2PpZrR6zHxXotbVoyRDliy5fItBRpEWyy2P9y4p7B0KI7l/0NwZ\r\nAQQ7rnQN0hpb9/C/AreTjAvedtBoTgJHrLF/19jjT++Frwlc93jhF1lp8sJg\r\nVtxm+1CxiPYMpxKYBzg9gKBRBhml9gMF5l3N9n3Qnq7Zojp0m3/J1K3QoE69\r\ng/Jgf5wsL+WftmrXu+8HMKCUZSgC2dl5VtJ7xKhfJHnqnmFzC9N5oPcMyVMV\r\npPR2g9iAmh8y3C2vvsAdNRk6kyahq92aZAw=\r\n=qNJo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.24_1649445272003_0.4726429060488204"},"_hasShrinkwrap":false},"6.7.25":{"name":"@darkforest_eth/gamelogic","version":"6.7.25","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.25","@darkforest_eth/serde":"6.7.25","@darkforest_eth/types":"6.7.25"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"b4b32aa42df443109045c31e0d40aae98d7c5063","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.25","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-CTNxc/f03oYs8QImUoGcA8dIQ8vOJumocnslv9YLr67JxlF0CL6Kqasrh5/LidFb1oxPY+ezUtcJEm+7Bdquwg==","shasum":"4cd79423c3bf8c2df623937460e4aa9913ef33f9","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.25.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEyk8ptYhxr/6ZICuw/70cAEOEJboEK1qvanS5mbQRQAAiEAk4Vg7j2Xzu72bqwk3lK0crld7VbLC4LqwVwdN6RF+1M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUNn3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxtQ//cQK60sAI30UOmoc+ODmWuXDQ9K6GnzNXDiTeCNdj78569r3R\r\n2QLYdyuxbZsgDcvm+CQJ4b8T5BZJLmAwl/jFQO3LvabAYHpWhrky4U81Y4/b\r\nUNtVlLcOHSQIEP/tXUG3mIw+6p5eXasMMyOI/rbG9E9dABahbsXavgdUkfb3\r\n11oNG5wn9Z6YMzfBXNU5BIWuvmT3LSgi0kmimJxPu3Pe/OZ19oobUEF1oMxt\r\nhwlSBAVKXXRhsJeRGUrURpIEBeS7n9Gbe314HyKbc5/FwI4V/jeJ5LKjNdXE\r\nuOfVy3esnVdKlns6HNu+gHZgE/tOE9CFuhGCNpddOx4rdJnn+pm0Dy3S3HQC\r\nOpjbPBjnkiA3BGv5kr8+ZlIqj16KiXYMqYZhi5/ZWVpgr/BEOezCFuNXwfQK\r\nP+R+o8s388Ewo/uC1a983535dPByUv1+I9r4lwvBHWYvrmBy/bQR/mB82iOv\r\nAWySEIX9zNmfSalZIJ2fA9y2IRshEzWfx7cRsvTGSZyONa8S/nOO+AUGymOh\r\nfxQ3ykVcKPMfRTatMWVY0+DdC9tJpb6uECMKI/iD74hdS6mbSS8nfVNZH8T3\r\nD2XL0RZnRW22wRXelQvX2ukcqQqwZpUCNH50utgoK0aGxVyMy+9zVYq6S+NI\r\nFK/mVCbGSImIImy+GJgmmsjZl8l6XevdSQc=\r\n=hI+8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.25_1649465847504_0.3929427281774447"},"_hasShrinkwrap":false},"6.7.26":{"name":"@darkforest_eth/gamelogic","version":"6.7.26","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.26","@darkforest_eth/serde":"6.7.26","@darkforest_eth/types":"6.7.26"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"51854c5062d507d5b55087b7fe0b55738f8e52a3","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.26","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-1IrdEQF19RKx59sFy7WGzIDgt5FF5EEeh05MDsiTqnL9TIbgWn+Fy7cxXRpuwk5B4F2UTKAv9uaMzKAWw1n88Q==","shasum":"05b9efa0bc5b544fa6cc34d6d7838d11c2f4ee32","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.26.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFs6jTgmMI795+xbjGu7+bia7/Wx5roB2lT/8xH/4VrxAiEAuvTFckVgFwbqgBbCw7H6QgBdu5eG/eOEXDuAtT9zFE8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUOAJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJpg/9FREkQ7DnBjGhZc0xoN+NifXmEA8bqogq2seI+75AZeycm3oa\r\nTI+8cSz8zM/vEdkoP4r11QHyftGttiHAIkJb+3slrcvjpGWHm0GqUHrOe23e\r\nPLikJmIdckYSM/bdJfGIVmkN6Uygij0roBqeQorWCtSaq46YCsHdgnT1GmYJ\r\nBMx45U1Z/VJTnDaZezKm6AP5oyjGMlyEwz+EnezRoj7obbgdncMksTTLJrqa\r\ndClm8xs0w2QdxzRp6sXyyFuAGHJvddfLZQ2BsQvGhVVO6Ee1JMmntdXg3QLU\r\nv+zN7GcA5qNiN9XyWDu7sTzcbET7C2W068gwU3dTiOORXVr/Hgb6CEdDO0PQ\r\nI+UAecTo9yd9cC5QADpQiElFRWrLHnIY2wTkG2mnArsqMzkVJljlXtrYYTAx\r\nHpTOOl7PB56h1eMpXO4tLs7pnU0Jbs+sLDhdwdTedqZcjOvJU9CGBu0hIMho\r\nN+PtQ1QtZrsABVGPAi15XCOGZrfD46U9vpvC8NxUbsMGcaZU0dGor482pcr0\r\nefYHYYPZqVYt2BoWvC5SS8exLgMMXXfyvU4RILvkid1Nx0uAjEx1jZXEiC+w\r\nLdygS8wuVUmmCImO1EZMtJzmcSWj89ce9GyibQBeziqm13C1EtE3PliTtXqp\r\nJCNMs9uKtz5L4Y8b98IvXpj5kT2NesoH9js=\r\n=Ob2+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.26_1649467400939_0.4400215165937147"},"_hasShrinkwrap":false},"6.7.27":{"name":"@darkforest_eth/gamelogic","version":"6.7.27","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.27","@darkforest_eth/serde":"6.7.27","@darkforest_eth/types":"6.7.27"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"1b9842b43d307c6333256e90309dba59d9f9f9fe","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.27","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-dF0qt/JRM4bkH1f5L68rOtiCrSNZOzCBa6YlnLg516+QAh71Fx3gDg0E+/a05WmYZl+fomg4kmzQH2/+FvXu2w==","shasum":"2375bcacc0070c0dc8434af23e7a5acfd70d7e32","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.27.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4DjFTX9L2wCLnK/rTtDwarm2DDnFxUWsIDYiuE4ukCAiEAuLN1sx+NBBsxoOrJBDREKpL1JtQjZP9T/N6NGt+in1s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUwF2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzNA//Y0j1xKj+SnG6znj0RCeZYvLpmI2t1M5rxNX3/UucBcx8bX6s\r\nvwGSHG8YW4oxfWv6phwLmrMBW9luimXHkWpj3DE+25Y+q4yjjDIgM9J45A7C\r\njDot3Vn2AscLsGpgbieVega8ItzkDUF866WfYDUlRNwy5eJ5maLu3sLWk9vw\r\nqmUcaXTeZjStM2v9NC5Ii9qdUPVVIrLueJI56hYdk27GDdY/xgUBqV5ZBhJ3\r\nzpZ+w1vPShUeTSCc9GGyCd/Dwv5c6xSe0NpU5rxdjRisC8eTortrs5D13ndJ\r\nD0WLAlsSmSOiMu67BLKc+3b96OE9qEbmaDiz8R2Tgq9yKdDaP52GoxbJv6x3\r\ndL0WpTF739VRFiCb60295KQHL0e4vUYcTdfG5azEHv6qqLhATrRlx68WUzO2\r\nOGZIW/ezPGbQfKQgP0e4AjD31ASp4nZQBwgOIqD37YOmmtdYhTRva+tJ6DxI\r\nRafvK945i0LparpVaoEHQLYiflamVWRowRBpjNbmSSjex061bc03nPMaFmvv\r\n+QaT/WUrTiRuTg787t1PlAqlSWGbTCJmmJC56IaFJUqDonAbzK4gQqbHSxef\r\nWBHwG+flf2Wda93CSzDEG4iauc8Io2dZqOlPPWzQYhyVrOrMFrM9UgayauV6\r\nGgwVuUlCXOdKwvPY9xWXEHk5u7B0bo5qK/4=\r\n=f4y4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.27_1649607029865_0.9725569875695486"},"_hasShrinkwrap":false},"6.7.28":{"name":"@darkforest_eth/gamelogic","version":"6.7.28","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.28","@darkforest_eth/serde":"6.7.28","@darkforest_eth/types":"6.7.28"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"3a6c76d2f63fb7207250aee79114fcf70bde3afc","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.28","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-7DiaMLdCR3R0lY8OYn+LIZHUI7aLcfkR/K0l56VbsoRq/IuZ5fZg0Xg3kPT2QLou7cRDQwrBM/JiwIti+B4Beg==","shasum":"c84fc9ca3db68d94ec49b00fe35e6b2283c75f86","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.28.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo4UvC+8afFGiXbpPuC5xrkMpL47PCLlq8MaSzWauR+wIgYKg/zscrZ+xaGWMeDgH748TlE+8L81DcOCYRc41g0XA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU8rxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPWQ//QEXE0JjHjpTIb8auHcSwhf3Bu4FltUHRYANcY4Wq4yJxHgSK\r\nFzd5aNZljFGQCM3KjVBXZJHTNIvILBTV3IN5NFAVt67gPRjZr7heJ2liCNqB\r\n0Lft+shriohaPAtfcPqD+NCpnk/iADFDSrvg/FfP3zGfHdF02wCfA+pmjCcR\r\nppeTvZtm/ERqTzI/dYij90u7RGyHKEmxcosgOoTc09NmtrdND0yM7ST3jZdK\r\nAhoXIrd+u2zeLU6abPbUy7WoecD+z60XUaLm4ImrPkccEq4xGyYZHiggUQpR\r\nNhEsT5Tw5EZE2nHkMP7fQCGTdl1rlyxLpsMN5nYlnSA/LzEcSR8y4Y60Sayb\r\nFruVkAGFDAQxIly2+CCUzmfahq29h5sB9bL7pNBN8aQZAV+w9v1sBheNpBST\r\nR40ad2laYNQqErF9NG5LixadsQFDBnsizdDeEupWaeuhgD0pQxvPCS2406RP\r\n/8AwkCsu4N80Ev3trhrguT6lIHfqoBsWQQ5wE7KlcOQx+2pOOcdCyW9icFny\r\n4rrtqidpEQbtheJe7A/YCjigK2YbVHCRZlNvqf1ZlR4Fb8K4qz7EWbhDdVdO\r\n+QJN0KXrV9dv9FKeTBmf1vwxOtWEjUiltmnjMdqsp6JJXa+RyelZA/0bVSaC\r\nJFb+1WOLhcDceBcdBm2wfWW9vFaiaKhjco0=\r\n=DwnD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.28_1649658608900_0.9983293169774998"},"_hasShrinkwrap":false},"6.7.29":{"name":"@darkforest_eth/gamelogic","version":"6.7.29","license":"MIT","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"engines":{"node":">=16"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"prepublishOnly":"npm run build && npm run docs","build":"tsc -p .","test":"exit 0","lint":"eslint .","format":"prettier --write .","docs":"typedoc && npm run format","clean":"del-cli dist node_modules tsconfig.ref.tsbuildinfo"},"dependencies":{"@darkforest_eth/constants":"6.7.29","@darkforest_eth/serde":"6.7.29","@darkforest_eth/types":"6.7.29"},"devDependencies":{"del-cli":"^4.0.1","eslint":"^7.30.0","prettier":"^2.3.0","typedoc":"^0.22.8","typedoc-plugin-markdown":"3.11.x","typescript":"4.5.x"},"publishConfig":{"access":"public"},"gitHead":"7be5c147fe7c92b409ae3e7608713590f5b66c63","description":"## Table of contents","_id":"@darkforest_eth/gamelogic@6.7.29","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-JxiW+VwhA7ojvVuw1uBo3XI1l1bf8AHX4vkbg2DfkS5Da4NqzEWZNVCcz9CWJGui7qJQogOghzl0e46IVDfoSw==","shasum":"26227a30db75dc6e49a627e1940c1db104823e30","tarball":"https://registry.npmjs.org/@darkforest_eth/gamelogic/-/gamelogic-6.7.29.tgz","fileCount":19,"unpackedSize":54710,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKzMIeN4UCgJJMrIafBdPKeE7jhf+gcJ1hxWbFXa/eqwIhAJoXemqnPg55w0Y6T5lrXd4zR4jr5FPvPEhYHZVps58o"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVG/FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEqQ//TU4qzav9SNmzH/0gB8NZ6KB57newg3ujt5n1lyu50lsEGs7/\r\nrNNtYSothrFjJhNSFgxsGYJ3u6fxUkqVYP3zZZedKDfUxlGKGWhVzwFHtq7n\r\nq5/l1/g+aeBqwQbHq9Qas26uzFSc58BilfkrMVA2wL1Zpnl1Nh7fcalkFjzf\r\n2VHHB9VtFy2SCwWpw795Q/FSueQjpshVLvDoEcFKEJo5keceiXksrGofmqSR\r\nmmlukmp4KObeBFnhf7L4J+i2M1IHwUqGUknjVdp/u/ZPk38GMxqOglBCI+3Y\r\nb67HynNqhF/RIUShWvnaNxRhLTFAJj+8M63WQNYPgABL1Kwp0gnlFfKaJsFk\r\nM5IaPu7YvtZPI6DtlMIZcWhTznDJ04SckafzKCM96GhWXGzDXnoVPSl4feq3\r\nn6JjS5jKgjqo0ZmUtqDFkZ6r59TGUtMdcmdwRuwVxpw4lPoIaDZsgQHSsxEX\r\n8eD5P+SIG268qzEUX6vUEhh+U0Nyea9Jf8uFCBAanFYeE+y/WDmyC3RfxZxr\r\n+0MyX2lpQNqJWNaFTzM5xgun1M9z6zZ6S1KqWocW8xom0X6E9nZ+xYxIRLPp\r\nT7auvMqbr1nkgM5RJIsZELp5L+CZuZ7ktwftdiY7bbCNaGzq6W2IoDB9gfJG\r\nffKVVXd0CYLxvgSN20KNPOFRvCqHjPfxTOU=\r\n=NGCx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ichub_df","email":"ivan@clowntown.dev"},"directories":{},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gamelogic_6.7.29_1649700805014_0.3017196940365212"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-10T21:27:32.726Z","6.7.0-arena-round-5-1.0":"2022-02-10T21:27:32.984Z","modified":"2022-04-11T18:13:25.303Z","6.7.0-arena-round-5-2.0":"2022-02-11T22:26:56.557Z","6.7.0-arena-fake-test.0":"2022-02-12T22:16:46.313Z","6.7.0-arena-fake-test-2.0":"2022-02-14T03:37:53.882Z","6.7.0-arena-fake-test-3.0":"2022-02-14T20:18:32.580Z","6.7.0-arena-fake-test-3.1":"2022-02-14T20:39:58.182Z","6.7.0-staging-round-5.0":"2022-02-15T06:09:10.323Z","6.7.0-staging-round-5.1":"2022-02-15T22:56:10.796Z","6.7.0-staging-round-5-mark-2.0":"2022-02-17T05:48:54.765Z","6.7.0-staging-round-5-mark-3.0":"2022-02-18T10:01:14.256Z","6.7.0-arena-deploy-test.0":"2022-02-19T02:18:39.799Z","6.7.0-staging-round-5-mark-4.0":"2022-02-19T03:48:37.111Z","6.7.0":"2022-02-19T04:07:03.077Z","6.7.1":"2022-02-19T05:41:02.839Z","6.7.2":"2022-02-19T07:06:09.613Z","6.7.3":"2022-02-19T07:25:31.716Z","6.7.4":"2022-02-26T23:47:37.857Z","6.7.5":"2022-02-28T03:36:46.240Z","6.7.6":"2022-02-28T05:28:50.855Z","6.7.7":"2022-03-01T01:31:42.000Z","6.7.8":"2022-03-01T22:22:47.871Z","6.7.9":"2022-03-02T03:35:42.005Z","6.7.10":"2022-03-18T16:30:40.465Z","6.7.11":"2022-03-22T22:32:41.601Z","6.7.12":"2022-03-23T00:38:52.301Z","6.7.13":"2022-03-23T01:13:33.025Z","6.7.14":"2022-03-23T17:31:11.233Z","6.7.15":"2022-03-25T20:06:28.439Z","6.7.16":"2022-04-01T18:17:47.823Z","6.7.17":"2022-04-01T18:30:26.128Z","6.7.18":"2022-04-01T18:51:18.553Z","6.7.19":"2022-04-02T05:15:30.914Z","6.7.20":"2022-04-07T18:24:04.265Z","6.7.21":"2022-04-07T18:47:43.101Z","6.7.22":"2022-04-07T19:09:18.133Z","6.7.23":"2022-04-07T22:00:43.724Z","6.7.24":"2022-04-08T19:14:32.156Z","6.7.25":"2022-04-09T00:57:27.677Z","6.7.26":"2022-04-09T01:23:21.073Z","6.7.27":"2022-04-10T16:10:30.035Z","6.7.28":"2022-04-11T06:30:09.266Z","6.7.29":"2022-04-11T18:13:25.184Z"},"maintainers":[{"name":"ichub_df","email":"ivan@clowntown.dev"}],"description":"## Table of contents","author":{"name":"0xPARC","email":"ivan@0xPARC.org"},"license":"MIT","readme":"# @darkforest_eth/gamelogic\n\n## Table of contents\n\n### Type aliases\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n\n### Variables\n\n- [ArtifactFileColor](README.md#artifactfilecolor)\n- [RelicsList](README.md#relicslist)\n\n### Functions\n\n- [artifactAvailableTimestamp](README.md#artifactavailabletimestamp)\n- [artifactBiomeName](README.md#artifactbiomename)\n- [artifactFileName](README.md#artifactfilename)\n- [artifactRoll](README.md#artifactroll)\n- [biomeName](README.md#biomename)\n- [canActivateArtifact](README.md#canactivateartifact)\n- [canDepositArtifact](README.md#candepositartifact)\n- [canWithdrawArtifact](README.md#canwithdrawartifact)\n- [dateMintedAt](README.md#datemintedat)\n- [durationUntilArtifactAvailable](README.md#durationuntilartifactavailable)\n- [formatNumber](README.md#formatnumber)\n- [getActivatedArtifact](README.md#getactivatedartifact)\n- [getActiveBlackDomain](README.md#getactiveblackdomain)\n- [getArtifactDebugName](README.md#getartifactdebugname)\n- [getPlanetRank](README.md#getplanetrank)\n- [getPlayerControlledSpaceships](README.md#getplayercontrolledspaceships)\n- [getRange](README.md#getrange)\n- [hasOwner](README.md#hasowner)\n- [hasStatBoost](README.md#hasstatboost)\n- [isActivated](README.md#isactivated)\n- [isAncient](README.md#isancient)\n- [isBasic](README.md#isbasic)\n- [isEmojiFlagMessage](README.md#isemojiflagmessage)\n- [isLocatable](README.md#islocatable)\n- [isRelic](README.md#isrelic)\n- [isSpaceShip](README.md#isspaceship)\n- [levelFromRarity](README.md#levelfromrarity)\n- [rarityName](README.md#rarityname)\n- [rarityNameFromArtifact](README.md#raritynamefromartifact)\n- [setForceAncient](README.md#setforceancient)\n- [timeUntilNextBroadcastAvailable](README.md#timeuntilnextbroadcastavailable)\n\n## Type aliases\n\n### ArtifactFileColor\n\nƬ **ArtifactFileColor**: `Abstract`<`number`, `\"ArtifactFileColor\"`\\>\n\n## Variables\n\n### ArtifactFileColor\n\n• **ArtifactFileColor**: `Object`\n\n#### Type declaration\n\n| Name             | Type                                               |\n| :--------------- | :------------------------------------------------- |\n| `APP_BACKGROUND` | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n| `BLUE`           | [`ArtifactFileColor`](README.md#artifactfilecolor) |\n\n---\n\n### RelicsList\n\n• `Const` **RelicsList**: `ArtifactType`[]\n\n## Functions\n\n### artifactAvailableTimestamp\n\n▸ **artifactAvailableTimestamp**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### artifactBiomeName\n\n▸ **artifactBiomeName**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactFileName\n\n▸ **artifactFileName**(`videoMode`, `thumb`, `artifact`, `color`, `debugProps?`): `string`\n\n#### Parameters\n\n| Name         | Type                                                                    | Default value |\n| :----------- | :---------------------------------------------------------------------- | :------------ |\n| `videoMode`  | `boolean`                                                               | `undefined`   |\n| `thumb`      | `boolean`                                                               | `undefined`   |\n| `artifact`   | `RenderedArtifact`                                                      | `undefined`   |\n| `color`      | [`ArtifactFileColor`](README.md#artifactfilecolor)                      | `undefined`   |\n| `debugProps` | `undefined` \\| { `forceAncient`: `boolean` ; `skipCaching`: `boolean` } | `undefined`   |\n\n#### Returns\n\n`string`\n\n---\n\n### artifactRoll\n\n▸ **artifactRoll**(`id`): `number`\n\n#### Parameters\n\n| Name | Type         |\n| :--- | :----------- |\n| `id` | `ArtifactId` |\n\n#### Returns\n\n`number`\n\n---\n\n### biomeName\n\n▸ **biomeName**(`biome`): `string`\n\n#### Parameters\n\n| Name    | Type    |\n| :------ | :------ |\n| `biome` | `Biome` |\n\n#### Returns\n\n`string`\n\n---\n\n### canActivateArtifact\n\n▸ **canActivateArtifact**(`artifact`, `planet`, `artifactsOnPlanet`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name                | Type                    |\n| :------------------ | :---------------------- |\n| `artifact`          | `Artifact`              |\n| `planet`            | `undefined` \\| `Planet` |\n| `artifactsOnPlanet` | `Artifact`[]            |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canDepositArtifact\n\n▸ **canDepositArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### canWithdrawArtifact\n\n▸ **canWithdrawArtifact**(`account`, `artifact`, `planet?`): `undefined` \\| `boolean`\n\n#### Parameters\n\n| Name       | Type         |\n| :--------- | :----------- |\n| `account`  | `EthAddress` |\n| `artifact` | `Artifact`   |\n| `planet?`  | `Planet`     |\n\n#### Returns\n\n`undefined` \\| `boolean`\n\n---\n\n### dateMintedAt\n\n▸ **dateMintedAt**(`artifact`): `string`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### durationUntilArtifactAvailable\n\n▸ **durationUntilArtifactAvailable**(`artifact`): `number`\n\n#### Parameters\n\n| Name       | Type       |\n| :--------- | :--------- |\n| `artifact` | `Artifact` |\n\n#### Returns\n\n`number`\n\n---\n\n### formatNumber\n\n▸ **formatNumber**(`num`, `smallDec?`): `string`\n\n#### Parameters\n\n| Name       | Type     | Default value |\n| :--------- | :------- | :------------ |\n| `num`      | `number` | `undefined`   |\n| `smallDec` | `number` | `0`           |\n\n#### Returns\n\n`string`\n\n---\n\n### getActivatedArtifact\n\n▸ **getActivatedArtifact**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getActiveBlackDomain\n\n▸ **getActiveBlackDomain**(`artifacts`): `Artifact` \\| `undefined`\n\n#### Parameters\n\n| Name        | Type         |\n| :---------- | :----------- |\n| `artifacts` | `Artifact`[] |\n\n#### Returns\n\n`Artifact` \\| `undefined`\n\n---\n\n### getArtifactDebugName\n\n▸ **getArtifactDebugName**(`a?`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a?` | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### getPlanetRank\n\n▸ **getPlanetRank**(`planet`): `number`\n\n#### Parameters\n\n| Name     | Type                    |\n| :------- | :---------------------- |\n| `planet` | `undefined` \\| `Planet` |\n\n#### Returns\n\n`number`\n\n---\n\n### getPlayerControlledSpaceships\n\n▸ **getPlayerControlledSpaceships**(`artifacts`, `owner`): (`undefined` \\| `Artifact`)[]\n\n#### Parameters\n\n| Name        | Type                                         |\n| :---------- | :------------------------------------------- |\n| `artifacts` | `undefined` \\| (`undefined` \\| `Artifact`)[] |\n| `owner`     | `undefined` \\| `EthAddress`                  |\n\n#### Returns\n\n(`undefined` \\| `Artifact`)[]\n\n---\n\n### getRange\n\n▸ **getRange**(`planet`, `percentEnergySending?`, `rangeBoost?`): `number`\n\n**`todo`** - planet class\n\n#### Parameters\n\n| Name                   | Type     | Default value | Description                                                                                                                  |\n| :--------------------- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------- |\n| `planet`               | `Planet` | `undefined`   | -                                                                                                                            |\n| `percentEnergySending` | `number` | `100`         | -                                                                                                                            |\n| `rangeBoost`           | `number` | `1`           | A multiplier to be applied to the resulting range. Currently used for calculating boost associated with abandoning a planet. |\n\n#### Returns\n\n`number`\n\n---\n\n### hasOwner\n\n▸ **hasOwner**(`planet`): `boolean`\n\n#### Parameters\n\n| Name     | Type     |\n| :------- | :------- |\n| `planet` | `Planet` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### hasStatBoost\n\n▸ **hasStatBoost**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isActivated\n\n▸ **isActivated**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type                      |\n| :--------- | :------------------------ |\n| `artifact` | `undefined` \\| `Artifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isAncient\n\n▸ **isAncient**(`artifact`): `boolean`\n\n#### Parameters\n\n| Name       | Type               |\n| :--------- | :----------------- |\n| `artifact` | `RenderedArtifact` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isBasic\n\n▸ **isBasic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isEmojiFlagMessage\n\n▸ **isEmojiFlagMessage**(`planetMessage`): planetMessage is PlanetMessage<EmojiFlagBody\\>\n\n#### Parameters\n\n| Name            | Type                        |\n| :-------------- | :-------------------------- |\n| `planetMessage` | `PlanetMessage`<`unknown`\\> |\n\n#### Returns\n\nplanetMessage is PlanetMessage<EmojiFlagBody\\>\n\n---\n\n### isLocatable\n\n▸ **isLocatable**(`planet?`): planet is LocatablePlanet\n\n#### Parameters\n\n| Name      | Type     |\n| :-------- | :------- |\n| `planet?` | `Planet` |\n\n#### Returns\n\nplanet is LocatablePlanet\n\n---\n\n### isRelic\n\n▸ **isRelic**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type           |\n| :----- | :------------- |\n| `type` | `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### isSpaceShip\n\n▸ **isSpaceShip**(`type`): `boolean`\n\n#### Parameters\n\n| Name   | Type                          |\n| :----- | :---------------------------- |\n| `type` | `undefined` \\| `ArtifactType` |\n\n#### Returns\n\n`boolean`\n\n---\n\n### levelFromRarity\n\n▸ **levelFromRarity**(`rarity`): `PlanetLevel`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`PlanetLevel`\n\n---\n\n### rarityName\n\n▸ **rarityName**(`rarity`): `string`\n\n#### Parameters\n\n| Name     | Type             |\n| :------- | :--------------- |\n| `rarity` | `ArtifactRarity` |\n\n#### Returns\n\n`string`\n\n---\n\n### rarityNameFromArtifact\n\n▸ **rarityNameFromArtifact**(`a`): `string`\n\n#### Parameters\n\n| Name | Type       |\n| :--- | :--------- |\n| `a`  | `Artifact` |\n\n#### Returns\n\n`string`\n\n---\n\n### setForceAncient\n\n▸ **setForceAncient**(`force`): `void`\n\n#### Parameters\n\n| Name    | Type      |\n| :------ | :-------- |\n| `force` | `boolean` |\n\n#### Returns\n\n`void`\n\n---\n\n### timeUntilNextBroadcastAvailable\n\n▸ **timeUntilNextBroadcastAvailable**(`lastRevealTimestamp`, `locationRevealCooldown`): `number`\n\nGets the time (ms) until we can broadcast the coordinates of a planet.\n\n#### Parameters\n\n| Name                     | Type                    |\n| :----------------------- | :---------------------- |\n| `lastRevealTimestamp`    | `undefined` \\| `number` |\n| `locationRevealCooldown` | `number`                |\n\n#### Returns\n\n`number`\n","readmeFilename":"README.md"}