@projectsophon/types
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

@projectsophon/types

This package contains commonly-used data types in the Dark Forest webclient, also accessible in node.js server environments.

Installation

You can install this package using npm or yarn by running:

npm install --save @projectsophon/types
yarn add @projectsophon/types

When using this in a plugin, you might want to load it with skypack

import * as types from 'http://cdn.skypack.dev/@projectsophon/types'

Table of contents

Classes

Interfaces

Other Type Aliases

Type Type Aliases

Variables

Functions

Other Type Aliases

ArrivalType

Ƭ ArrivalType: Abstract<number, "ArrivalType">

Abstract type representing an arrival type.


Artifact

Ƭ Artifact: Object

Represents data associated with a Dark Forest artifact NFT. Note that some Artifact fields store client-specific data that the blockchain is not aware of, such as unconfirmedDepositArtifact (tracks pending depositArtifact transaction that involves this artifact). If you're using a client that can't send transactions, these fields should be ignored.

Type declaration

Name Type
activations number
artifactType ArtifactType
controller EthAddress
currentOwner EthAddress
discoverer EthAddress
id ArtifactId
isInititalized boolean
lastActivated number
lastDeactivated number
mintedAtTimestamp number
onPlanetId? LocationId
onVoyageId? VoyageId
planetBiome Biome
planetDiscoveredOn LocationId
rarity ArtifactRarity
timeDelayedUpgrade Upgrade
transactions? TransactionCollection
upgrade Upgrade
wormholeTo? LocationId

ArtifactId

Ƭ ArtifactId: Abstract<string, "ArtifactId">

A unique identifier for a Dark Forest NFT artifact. This is a 64-character lowercase hex string not prefixed with 0x. ArtifactIDs should only be instantiated through ArtifactIDs should only be instantiated through artifactIdFromHexStr, artifactIdFromDecStr, and artifactIdFromEthersBN in serde.


ArtifactPointValues

Ƭ ArtifactPointValues: Object

mapping from ArtifactRarity to points earned for finding this artifact.

Index signature

[ArtifactRarity: number]: number


ArtifactRarity

Ƭ ArtifactRarity: Abstract<number, "ArtifactRarity">

Abstract type representing an artifact rarity level.


ArtifactType

Ƭ ArtifactType: Abstract<number, "ArtifactType">

Abstract type representing an artifact type.


AttribProps

Ƭ AttribProps: Object

Type declaration

Name Type
dim number
name string
normalize boolean
type AttribType

AttribType

Ƭ AttribType: Abstract<number, "AttribType">


AutoGasSetting

Ƭ AutoGasSetting: Abstract<string, "AutoGasSetting">

The user can choose to have the client automatically choose a gas price for their transactions, depending on how much they are willing to pay and how fast they want their transactions to confirm.


Biome

Ƭ Biome: Abstract<number, "Biome">

Abstract type representing a biome.


CaptureZone

Ƭ CaptureZone: Object

Type declaration

Name Type
coords WorldCoords
radius number

ClaimedCoords

Ƭ ClaimedCoords: WorldCoords & { hash: LocationId ; revealer: EthAddress ; score: number }

Represents a planet location that has been broadcast on-chain


ClaimedLocation

Ƭ ClaimedLocation: WorldLocation & { revealer: EthAddress }


ContractMethodName

Ƭ ContractMethodName: "revealLocation" | "initializePlayer" | "move" | "upgradePlanet" | "buyHat" | "transferPlanet" | "findArtifact" | "prospectPlanet" | "depositArtifact" | "withdrawArtifact" | "activateArtifact" | "deactivateArtifact" | "withdrawSilver" | "useKey" | "adminUseKey" | "addKeys" | "giveSpaceShips" | "createLobby" | "invadePlanet" | "capturePlanet"


CursorState

Ƭ CursorState: Abstract<string, "CursorState">


DrawMode

Ƭ DrawMode: Abstract<number, "DrawMode">


EthAddress

Ƭ EthAddress: Abstract<string, "EthAddress">

This is expected to be a 40-character, lowercase hex string, prefixed with 0x (so 42 characters in total). EthAddress should only ever be instantiated through the address function in serde.


EthTxStatus

Ƭ EthTxStatus: "Init" | "Processing" | "Prioritized" | "Submit" | "Confirm" | "Fail" | "Cancel"


HSLVec

Ƭ HSLVec: readonly [number, number, number]


HatType

Ƭ HatType: Abstract<string, "HatType">


LocatablePlanet

Ƭ LocatablePlanet: Planet & { biome: Biome ; location: WorldLocation }

A planet whose coordinates are known to the client.


LocationId

Ƭ LocationId: Abstract<string, "LocationId">

a unique identifier for a location in the universe (corresponding to some underlying coordinates (x, y)). This is a 64-character lowercase hex string not prefixed with 0x. LocationIDs should only be instantiated through locationIdFromHexStr, locationIdFromDecStr, locationIdFromBigInt, and locationIdFromEthersBN in serde.


ModalId

Ƭ ModalId: ModalName | PluginId

Modals can either be built into the game, or spawned by a plugin.


ModalManagerEvent

Ƭ ModalManagerEvent: Abstract<string, "ModalManagerEvent">


ModalName

Ƭ ModalName: Abstract<string, "ModalName">

Modals built into the game have a human-readable name.


ModalPositions

Ƭ ModalPositions: Map<ModalId, ModalPosition>


NFTMetadata

Ƭ NFTMetadata: Object

Type declaration

Name Type
attributes NFTAttribute[]
description string
image string
name string

NetworkHealthSummary

Ƭ NetworkHealthSummary: [AutoGasSetting, number][]

On the server we keep track of how fast each auto gas setting confirms in practice.


Planet

Ƭ Planet: Object

Represents a Dark Forest planet object (planets, asteroid fields, quasars, spacetime rips, and foundries). Note that some Planet fields (1) store client-specific data that the blockchain is not aware of, such as unconfirmedDepartures (tracks pending moves originating at this planet that have been submitted to the blockchain from a client), or (2) store derived data that is calculated separately client-side, such as silverSpent and bonus. So this object does not cleanly map to any single object in the DarkForest contract (or even any collection of objects).

Type declaration

Name Type
bonus PlanetBonus
capturer? EthAddress
claimer? EthAddress
coordsRevealed boolean
defense number
destroyed boolean
emojiBobAnimation? DFAnimation
emojiZoopAnimation? DFAnimation
emojiZoopOutAnimation? DFStatefulAnimation<string>
energy number
energyCap number
energyGrowth number
hasTriedFindingArtifact boolean
hatLevel number
heldArtifactIds ArtifactId[]
invadeStartBlock? number
invader? EthAddress
isHomePlanet boolean
isInContract boolean
lastLoadedServerState? number
lastUpdated number
loadingServerState boolean
localPhotoidUpgrade? Upgrade
locationId LocationId
messages? PlanetMessage<unknown>[]
needsServerRefresh boolean
owner EthAddress
pausers number
perlin number
planetLevel PlanetLevel
planetType PlanetType
prospectedBlockNumber? number
range number
revealer? EthAddress
silver number
silverCap number
silverGrowth number
silverSpent number
spaceJunk number
spaceType SpaceType
speed number
syncedWithContract boolean
transactions? TransactionCollection
unconfirmedAddEmoji boolean
unconfirmedClearEmoji boolean
upgradeState UpgradeState

PlanetBonus

Ƭ PlanetBonus: [boolean, boolean, boolean, boolean, boolean, boolean]

A list of five flags, indicating whether the planet has an attached comet doubling each of five stats: (in order) [energyCap, energyGrowth, range, speed, defense]


PlanetLevel

Ƭ PlanetLevel: Abstract<number, "PlanetLevel">

Abstract type representing a planet level.


PlanetMessageBody

Ƭ PlanetMessageBody: EmojiFlagBody | unknown

Thinking about future message types.


PlanetMessageType

Ƭ PlanetMessageType: Abstract<string, "PlanetMessageType">

Abstract type representing a type of planet message.


PlanetType

Ƭ PlanetType: Abstract<number, "PlanetType">

Abstract type representing a planet type.


Player

Ƭ Player: Object

Represents a player; corresponds fairly closely with the analogous contract struct

Type declaration

Name Type Description
address EthAddress -
claimedShips boolean -
homePlanetId LocationId -
initTimestamp number seconds (not millis)
lastClaimTimestamp number -
lastRevealTimestamp number seconds (not millis)
score number -
spaceJunk number -
spaceJunkLimit number -
twitter? string -

PluginId

Ƭ PluginId: Abstract<string, "PluginId">


RGBAVec

Ƭ RGBAVec: [number, number, number, number]


RGBVec

Ƭ RGBVec: [number, number, number]


RegisterResponse

Ƭ RegisterResponse: Object

Type declaration

Name Type
error? string
inProgress boolean
success? boolean

RenderZIndex

Ƭ RenderZIndex: Abstract<number, "RenderZIndex">


RendererProgram

Ƭ RendererProgram: Object

Type declaration

Name Type
attribs { [key: string]: AttribProps; }
fragmentShader string
uniforms { [key: string]: UniformProps; }
vertexShader string

RendererType

Ƭ RendererType: Abstract<number, "RendererType">

Enum for determining the type of renderer Each renderer should contain a variable called 'rendererType' 'rendererType' should be a enum that corresponds with the type of renderer it is


RevealedCoords

Ƭ RevealedCoords: WorldCoords & { hash: LocationId ; revealer: EthAddress }

Represents a planet location that has been broadcast on-chain


RevealedLocation

Ƭ RevealedLocation: WorldLocation & { revealer: EthAddress }


RuinsInfo

Ƭ RuinsInfo: Object

Index signature

[PlanetLevel: number]: { props: [number, number, number, number] ; weights: [number, number, number, number] }


Scaling

Ƭ Scaling: Object

Type declaration

Name Type
x number
y number

Setting

Ƭ Setting: Abstract<string, "Setting">


SpaceColorConfiguration

Ƭ SpaceColorConfiguration: Object

Type declaration

Name Type
deadSpaceColor? string
deepSpaceColor? string
innerNebulaColor? string
nebulaColor? string
spaceColor? string

SpaceType

Ƭ SpaceType: Abstract<number, "SpaceType">

Abstract type representing a type of space.


TextAlign

Ƭ TextAlign: Abstract<number, "TextAlign">


TextAnchor

Ƭ TextAnchor: Abstract<number, "TextAnchor">


TooltipName

Ƭ TooltipName: Abstract<string, "TooltipName">


TransactionId

Ƭ TransactionId: number

A unique incrementing number that identifies a transaction.


Translation

Ƭ Translation: Object

Type declaration

Name Type
x number
y number

UniformJSType

Ƭ UniformJSType: mat4 | mat3 | number | Vec3


UniformProps

Ƭ UniformProps: Object

Type declaration

Name Type
name string
type UniformType

UniformType

Ƭ UniformType: Abstract<number, "UniformType">


Upgrade

Ƭ Upgrade: Object

The effects of an upgrade on the stats of a planet. Both upgrades purchased for silver as well as artifacts of certain types can modify stats of a planet.

Type declaration

Name Type
defMultiplier number
energyCapMultiplier number
energyGroMultiplier number
rangeMultiplier number
speedMultiplier number

UpgradeBranchName

Ƭ UpgradeBranchName: Abstract<number, "UpgradeBranchName">

Abstract type representing an upgrade branch.


UpgradeBranches

Ƭ UpgradeBranches: [UpgradeLevels, UpgradeLevels, UpgradeLevels]

Stores the stat effects of upgrades of all three branches: defense, range, speed.


UpgradeLevels

Ƭ UpgradeLevels: [Upgrade, Upgrade, Upgrade, Upgrade]

On a single upgrade branch, the stat effects of the four upgrades.


UpgradeState

Ƭ UpgradeState: [number, number, number]

How many times a planet has been upgraded along each of the three branches: defense, range, and speed


Vec3

Ƭ Vec3: [number, number, number]


VoyageId

Ƭ VoyageId: Abstract<string, "VoyageId">

a voyage UID. these start at 1 and auto-increment in the contract. this is immutable and the only place a VoyageId should ever be created is on initial deserialization of a QueuedArrival from contract data (see serde)


WhitelistStatusResponse

Ƭ WhitelistStatusResponse: Object

Type declaration

Name Type Description
failedAt? string Failure timestamp.
position? string The address' position in the queue.
txHash? string If successful, the hash of the whitelist registration transaction.
whitelisted boolean -

WorldCoords

Ƭ WorldCoords: Object

Represents the coordinates of a location in the world.

Type declaration

Name Type
x number
y number

WorldLocation

Ƭ WorldLocation: Object

A location in the world with relevant properties: the location's ID (deterministically generated from its coords), the spacetype perlin value at these coordinates, and the biomebase perlin value at these coordinates (combined with spacetype to derive the biome here)

Type declaration

Name Type
biomebase number
coords WorldCoords
hash LocationId
perlin number

Wormhole

Ƭ Wormhole: Object

Type declaration

Name Type
from LocationId
to LocationId

Type Type Aliases

Abstract

Ƭ Abstract<Type, Token>: Type & Tagged<Token>

Create an opaque type, which hides its internal details from the public, and can only be created by being used explicitly.

The generic type parameter can be anything. It doesn't have to be an object.

Read more about opaque types.

There have been several discussions about adding this feature to TypeScript via the opaque type operator, similar to how Flow does it. Unfortunately, nothing has (yet) moved forward: - Microsoft/TypeScript#202 - Microsoft/TypeScript#15408 - Microsoft/TypeScript#15807

Example

import type {Opaque} from 'type-fest';

type AccountNumber = Opaque<number, 'AccountNumber'>;
type AccountBalance = Opaque<number, 'AccountBalance'>;

// The `Token` parameter allows the compiler to differentiate between types, whereas "unknown" will not. For example, consider the following structures:
type ThingOne = Opaque<string>;
type ThingTwo = Opaque<string>;

// To the compiler, these types are allowed to be cast to each other as they have the same underlying type. They are both `string & { __opaque__: unknown }`.
// To avoid this behaviour, you would instead pass the "Token" parameter, like so.
type NewThingOne = Opaque<string, 'ThingOne'>;
type NewThingTwo = Opaque<string, 'ThingTwo'>;

// Now they're completely separate types, so the following will fail to compile.
function createNewThingOne (): NewThingOne {
	// As you can see, casting from a string is still allowed. However, you may not cast NewThingOne to NewThingTwo, and vice versa.
	return 'new thing one' as NewThingOne;
}

// This will fail to compile, as they are fundamentally different types.
const thingTwo = createNewThingOne() as NewThingTwo;

// Here's another example of opaque typing.
function createAccountNumber(): AccountNumber {
	return 2 as AccountNumber;
}

function getMoneyForAccount(accountNumber: AccountNumber): AccountBalance {
	return 4 as AccountBalance;
}

// This will compile successfully.
getMoneyForAccount(createAccountNumber());

// But this won't, because it has to be explicitly passed as an `AccountNumber` type.
getMoneyForAccount(2);

// You can use opaque values like they aren't opaque too.
const accountNumber = createAccountNumber();

// This will not compile successfully.
const newAccountNumber = accountNumber + 2;

// As a side note, you can (and should) use recursive types for your opaque types to make them stronger and hopefully easier to type.
type Person = {
	id: Opaque<number, Person>;
	name: string;
};

Type parameters

Name Type
Type Type
Token unknown

Variables

ArrivalType

ArrivalType: Object

Enumeration of arrival types.

Type declaration

Name Type
Normal ArrivalType
Photoid ArrivalType
Unknown ArrivalType
Wormhole ArrivalType

ArtifactRarity

ArtifactRarity: Object

Enumeration of artifact rarity levels. Common = 1, Mythic = 5

Type declaration

Name Type
Common ArtifactRarity
Epic ArtifactRarity
Legendary ArtifactRarity
Mythic ArtifactRarity
Rare ArtifactRarity
Unknown ArtifactRarity

ArtifactRarityNames

Const ArtifactRarityNames: Object

Mapping from ArtifactRarity to pretty-printed names.


ArtifactType

ArtifactType: Object

Enumeration of artifact types.

Type declaration

Name Type
BlackDomain ArtifactType
BloomFilter ArtifactType
Colossus ArtifactType
Monolith ArtifactType
PhotoidCannon ArtifactType
PlanetaryShield ArtifactType
Pyramid ArtifactType
ShipCrescent ArtifactType
ShipGear ArtifactType
ShipMothership ArtifactType
ShipTitan ArtifactType
ShipWhale ArtifactType
Spaceship ArtifactType
Unknown ArtifactType
Wormhole ArtifactType

ArtifactTypeNames

Const ArtifactTypeNames: Object

Mapping from ArtifactType to pretty-printed names.


AttribType

AttribType: Object

Type declaration

Name Type
Float AttribType
UByte AttribType

AutoGasSetting

AutoGasSetting: Object

Type declaration

Name Type
Average AutoGasSetting
Fast AutoGasSetting
Slow AutoGasSetting

Biome

Biome: Object

Enumeration of the biomes in the game. OCEAN = 1, CORRUPTED = 10

Type declaration

Name Type
CORRUPTED Biome
DESERT Biome
FOREST Biome
GRASSLAND Biome
ICE Biome
LAVA Biome
OCEAN Biome
SWAMP Biome
TUNDRA Biome
UNKNOWN Biome
WASTELAND Biome

BiomeNames

Const BiomeNames: Object

Mapping from Biome to pretty-printed names.


CursorState

CursorState: Object

Type declaration

Name Type
Normal CursorState
TargetingExplorer CursorState
TargetingForces CursorState

DrawMode

DrawMode: Object

Type declaration

Name Type
Lines DrawMode
Points DrawMode
Triangles DrawMode

HatType

HatType: Object

Type declaration

Name Type
ChefHat HatType
CowboyHat HatType
Fez HatType
Fish HatType
GraduationCap HatType
PartyHat HatType
PopeHat HatType
SantaHat HatType
Squid HatType
TopHat HatType

ModalManagerEvent

ModalManagerEvent: Object

Type declaration

Name Type
MiningCoordsUpdate string
StateChanged string

ModalName

ModalName: Object

Type declaration

Name Type
ArtifactConversation ModalName
ArtifactDetails ModalName
Broadcast ModalName
Diagnostics ModalName
Hats ModalName
Help ModalName
Leaderboard ModalName
ManageAccount ModalName
ManageArtifacts ModalName
MapShare ModalName
Onboarding ModalName
PlanetContextPane ModalName
PlanetDetails ModalName
PlanetDex ModalName
PluginEditor ModalName
PluginWarning ModalName
Plugins ModalName
Private ModalName
Settings ModalName
TransactionLog ModalName
TwitterVerify ModalName
UpgradeDetails ModalName
WithdrawSilver ModalName
YourArtifacts ModalName

PlanetLevel

PlanetLevel: Object

Enumeration of the possible planet levels.

Type declaration

Name Type
EIGHT PlanetLevel
FIVE PlanetLevel
FOUR PlanetLevel
NINE PlanetLevel
ONE PlanetLevel
SEVEN PlanetLevel
SIX PlanetLevel
THREE PlanetLevel
TWO PlanetLevel
ZERO PlanetLevel

PlanetLevelNames

Const PlanetLevelNames: Object

Mapping from PlanetLevel to pretty-printed names.


PlanetMessageType

PlanetMessageType: Object

Each message type has a corresponding entry here.

Type declaration

Name Type
EmojiFlag PlanetMessageType

PlanetType

PlanetType: Object

Enumeration of the planet types. (PLANET = 0, SILVER_BANK = 4)

Type declaration

Name Type
PLANET PlanetType
RUINS PlanetType
SILVER_BANK PlanetType
SILVER_MINE PlanetType
TRADING_POST PlanetType

PlanetTypeNames

Const PlanetTypeNames: Object

Mapping from PlanetType to pretty-printed names.


RenderZIndex

RenderZIndex: Object

Type declaration

Name Type
Background RenderZIndex
DEFAULT RenderZIndex
MAX RenderZIndex
Planets RenderZIndex
Text RenderZIndex
UI RenderZIndex
Voyages RenderZIndex

RendererType

RendererType: Object

Type declaration

Name Type
Asteroid RendererType
Background RendererType
Belt RendererType
BlackDomain RendererType
CaptureZone RendererType
Circle RendererType
Line RendererType
Mine RendererType
MineBody RendererType
Perlin RendererType
Planet RendererType
PlanetManager RendererType
Quasar RendererType
QuasarBody RendererType
QuasarRay RendererType
Rect RendererType
Ring RendererType
Ruins RendererType
Space RendererType
SpacetimeRip RendererType
Sprite RendererType
Text RendererType
UI RendererType
Unmined RendererType
Voyager RendererType
Wormhole RendererType

Setting

Setting: Object

Each setting has a unique identifier. Each account gets to store its own local storage setting, per instance of the dark forest contract that it's connected to.

Type declaration

Name Type
AutoApproveNonPurchaseTransactions Setting
AutoClearConfirmedTransactionsAfterSeconds Setting
AutoClearRejectedTransactionsAfterSeconds Setting
DisableDefaultShortcuts Setting
DisableEmojiRendering Setting
DisableFancySpaceEffect Setting
DisableHatRendering Setting
DrawChunkBorders Setting
ExperimentalFeatures Setting
ForceReloadEmbeddedPlugins Setting
FoundArtifact Setting
FoundComet Setting
FoundDeepSpace Setting
FoundPirates Setting
FoundSilver Setting
FoundSilverBank Setting
FoundSpace Setting
FoundTradingPost Setting
GasFeeGwei Setting
HasAcceptedPluginRisk Setting
HighPerformanceRendering Setting
IsMining Setting
MiningCores Setting
MoveNotifications Setting
NewPlayer Setting
OptOutMetrics Setting
RendererColorDeadSpace Setting
RendererColorDeepSpace Setting
RendererColorInnerNebula Setting
RendererColorNebula Setting
RendererColorSpace Setting
TerminalVisible Setting
TutorialCompleted Setting
TutorialOpen Setting

SpaceType

SpaceType: Object

Enumeration of the types of space in the game. NEBULA = 0, DEAD_SPACE = 3

Type declaration

Name Type
DEAD_SPACE SpaceType
DEEP_SPACE SpaceType
NEBULA SpaceType
SPACE SpaceType

SpaceTypeNames

Const SpaceTypeNames: Object

Mapping from SpaceType to pretty-printed names.


TextAlign

TextAlign: Object

Type declaration

Name Type
Center TextAlign
Left TextAlign
Right TextAlign

TextAnchor

TextAnchor: Object

Type declaration

Name Type
Bottom TextAnchor
Middle TextAnchor
Top TextAnchor

TooltipName

TooltipName: Object

Type declaration

Name Type Description
Abandon TooltipName -
ActivateArtifact TooltipName -
ArtifactBuff TooltipName -
ArtifactStored TooltipName -
Bonus TooltipName -
BonusDefense TooltipName -
BonusEnergyCap TooltipName -
BonusEnergyGro TooltipName -
BonusRange TooltipName -
BonusSpaceJunk TooltipName -
BonusSpeed TooltipName -
CancelTransaction TooltipName -
Capturable TooltipName -
Clowntown TooltipName -
CurrentMining TooltipName -
DeactivateArtifact TooltipName -
Defense TooltipName -
DefenseMultiplier TooltipName -
DepositArtifact TooltipName -
Empty TooltipName So that you can render a tooltip without anything, and control its contents entirely via the TooltipTriggerProps#extraContent prop field.
Energy TooltipName -
EnergyCapMultiplier TooltipName -
EnergyGrowth TooltipName -
EnergyGrowthMultiplier TooltipName -
FindArtifact TooltipName -
HashesPerSec TooltipName -
HoverPlanet TooltipName -
Invadable TooltipName -
MaxLevel TooltipName -
MinEnergy TooltipName -
MiningPause TooltipName -
MiningTarget TooltipName -
ModalFindArtifact TooltipName -
ModalHats TooltipName -
ModalHelp TooltipName -
ModalLeaderboard TooltipName -
ModalPlanetDetails TooltipName -
ModalPlanetDex TooltipName -
ModalPlugins TooltipName -
ModalSettings TooltipName -
ModalTwitterBroadcast TooltipName -
ModalTwitterVerification TooltipName -
ModalUpgradeDetails TooltipName -
ModalWithdrawSilver TooltipName -
ModalYourArtifacts TooltipName -
NetworkHealth TooltipName -
Pirates TooltipName -
PlanetRank TooltipName -
PrioritizeTransaction TooltipName -
Range TooltipName -
RangeMultiplier TooltipName -
Rank TooltipName -
RetryTransaction TooltipName -
Score TooltipName -
SelectedSilver TooltipName -
Silver TooltipName -
SilverCap TooltipName -
SilverGrowth TooltipName -
SilverProd TooltipName -
SpaceJunk TooltipName -
Speed TooltipName -
SpeedMultiplier TooltipName -
Time50 TooltipName -
Time90 TooltipName -
TimeUntilActivationPossible TooltipName -
TwitterHandle TooltipName -
Upgrades TooltipName -
WithdrawArtifact TooltipName -
WithdrawSilverButton TooltipName -

UniformType

UniformType: Object

Type declaration

Name Type
Float UniformType
Mat3 UniformType
Mat4 UniformType
Texture UniformType
UByte UniformType
Vec3 UniformType

UpgradeBranchName

UpgradeBranchName: Object

Enumeration of the three upgrade branches.

Type declaration

Name Type
Defense UpgradeBranchName
Range UpgradeBranchName
Speed UpgradeBranchName

Functions

artifactNameFromArtifact

artifactNameFromArtifact(artifact): string

Deterministically generates the name of the artifact from its ID.

Parameters

Name Type Description
artifact Artifact The artifact to generate a name for

Returns

string

Readme

Keywords

none

Package Sidebar

Install

npm i @projectsophon/types

Weekly Downloads

0

Version

0.1.3

License

MIT

Unpacked Size

265 kB

Total Files

107

Last publish

Collaborators

  • phated
  • sophonbot