APIリファレンス

APIは術式から工房を調べたり操作したりするための入口です。ArcaneScript API v2の全78メンバーを対象の型ごとに掲載しています。

読み方と基本規則

Workshop から本人の工房へアクセスします。プロパティは値の参照、メソッドは () を付けて呼ぶ操作、インデクサは [] で対象を選ぶ操作です。公開プロパティはすべて読み取り専用です。

Golem.Mine(Mineral mineral, Amount amount) は原料の種類と採掘したい出力量を受け取ります。小さな整数はAmountへ自動変換されるので、golem.Mine(Mineral.Ore, 20) と書けます。ResourceKind.Ore は在庫の参照用、Mineral.Ore は採掘指示用の別の型です。

下の引数名は用途を示します。引数は表の順序で渡し、省略しません。メソッドの例はProgramのメソッド内に置く短い断片です。採掘・加工・購入・転生の例は実際のゲーム操作を要求します。

結果と寿命

JobStartResult.Ok は採掘・加工の受付成功で、全量完成ではありません。成功を確認してから Job を使います。失敗時はJobがnullです。CommandResult.Ok は購入・取消の確定、または転生要求の受付を示します。

Can系は現在の条件を調べるだけで、資源を予約しません。trueでも実際の操作時に再検査するため、操作の戻り値も確認してください。

工房ビュー・Job・結果・プレビューはローカル変数、引数、戻り値だけに使えます。フィールド、配列、Persistには格納できません。転生や再入室で参照は失効します。WaitTokenはWaitやDelayを直接awaitする用途だけです。

Job.Status はRunning、Waiting、Completed、Cancelled、Failed、Staleなどを返します。Queuedは予約された値で、公開待ち行列ではありません。失効したJobはIsValid=false、Status=Staleです。待機解除後にもStatusを確認します。

イベントと保存注釈

Programに宣言するイベントはいずれもpublic、引数なし、戻り値voidです。

イベント用途
OnStart初回実行や同じセッションの通常再開
OnRestored再入室後の保存実行版の再開
OnTick実行中の繰り返し処理
OnPrestige転生後の通知

[Persist] はProgramのフィールドへ付ける保存注釈で、呼び出すメソッドではありません。必要な解放は設備と研究、イベント順序は転生を参照してください。

数量と待機の範囲

MineとStartの数量は有限の正数で、小数も指定できます。購入費を自分で引数として渡すAPIはありません。Delayは有限の0〜86400秒で、0秒でも次tick以降に再開します。

Amountの生成にはFromInt、FromScientific、Parseを使います。longやdoubleからAmountへの暗黙変換およびAmountから通常数値への暗黙変換はありません。拒否理由はトラブルシューティングに掲載しています。

現在のAPIカタログではJob.CancelもTheory解放が必要です。解放前の取消はゲームのジョブ画面から行ってください。

ArcaneProgram

メンバーと引数戻り値・型意味解放
WorkshopWorkshopContext本人の工房への入口。初期

WorkshopContext

メンバーと引数戻り値・型意味解放
ResourcesResourceCollection通常資源と研究ポイント。初期
EquipmentEquipmentCollection設備の一覧。初期
ProductionRecipeCollection加工レシピの一覧。初期
ResearchResearchCollection研究の一覧。初期
GolemsGolemCollection所有ゴーレムの一覧。初期
PrestigePrestigeCollection転生の選択肢。取得自体にTheoryが必要。Theory
CurrenciesCurrencyCollection転生通貨。初期
ClockGameClockオンライン時間と待機。初期
LogGameLog本人用のログ。初期
Epochlong現在の周回世代。転生確定で変わる。初期

ResourceStock

メンバーと引数戻り値・型意味解放
KindResourceKind対象の種類を表す選択子。初期
IsUnlockedbool対象コンテンツの解放状態。購入可能かとは別。初期
TotalAmount入力予約を含む所持量。未完成出力は含まない。初期
AvailableAmount予約されていない所持量。初期

Equipment

メンバーと引数戻り値・型意味解放
KindEquipmentKind対象の種類を表す選択子。初期
IsUnlockedbool対象コンテンツの解放状態。購入可能かとは別。初期
Rankint未解放は0、解放済みは1以上。初期
CanUpgradebool現在、設備を強化できるか。Theory
Upgrade()CommandResult次の1ランクを購入。必要資源を消費する。初期

Upgrade

ArcaneScript
var value = Workshop.Equipment[EquipmentKind.Storage].Upgrade();

Recipe

メンバーと引数戻り値・型意味解放
KindRecipeKind対象の種類を表す選択子。初期
IsUnlockedbool対象コンテンツの解放状態。購入可能かとは別。初期
StationEquipmentこのレシピが使う加工設備。初期
CanStart(Amount amount)bool指定出力量で加工を開始できるか。Theory
Start(Amount amount)JobStartResult指定出力量の加工を要求。Okは全量完成ではない。初期

CanStart

ArcaneScript
var value = Workshop.Production[RecipeKind.Iron].CanStart(20);

Start

ArcaneScript
var value = Workshop.Production[RecipeKind.Iron].Start(20);

ResearchProject

メンバーと引数戻り値・型意味解放
KindResearchKind対象の種類を表す選択子。初期
IsUnlockedbool対象コンテンツの解放状態。購入可能かとは別。初期
IsCompletebool今周回で研究を購入済みか。初期
CanBuybool次の購入が現在の条件を満たすか。Theory
Buy()CommandResult必要資源を支払い購入する。初期

Buy

ArcaneScript
var value = Workshop.Research[ResearchKind.Smelting].Buy();

GolemCollection

メンバーと引数戻り値・型意味解放
Countint現在の所有数。最大5体。初期
CanBuybool次の購入が現在の条件を満たすか。Theory
this[int index]Golem型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期
Buy()CommandResult必要資源を支払い購入する。初期

Buy

ArcaneScript
var value = Workshop.Golems.Buy();

Golem

メンバーと引数戻り値・型意味解放
Indexint0から始まる所有一覧の番号。初期
IsIdlebool採掘・充電に占有されていないか。初期
BatteryAmount現在の電池量。初期
BatteryCapacityAmount電池の容量。初期
CanMine(Mineral mineral, Amount amount)bool指定原料・出力量で採掘を開始できるか。Theory
Mine(Mineral mineral, Amount amount)JobStartResult原料と出力量を指定して採掘を要求。初期

CanMine

ArcaneScript
var value = Workshop.Golems[0].CanMine(Mineral.Ore, 20);

Mine

ArcaneScript
var value = Workshop.Golems[0].Mine(Mineral.Ore, 20);

PrestigeOption

メンバーと引数戻り値・型意味解放
KindPrestigeKind対象の種類を表す選択子。Theory
CanRequestbool転生の条件を満たすか。Theory
Preview()PrestigePreview現在の転生条件・報酬・消去対象を取得。Theory
Request()CommandResult転生を要求。確定まで受理済みジョブ等を待つ。Theory

Preview

ArcaneScript
var value = Workshop.Prestige[PrestigeKind.Recompile].Preview();

Request

ArcaneScript
var value = Workshop.Prestige[PrestigeKind.Recompile].Request();

CurrencyBalance

メンバーと引数戻り値・型意味解放
KindCurrencyKind対象の種類を表す選択子。初期
TotalAmount所持量。初期

Job

メンバーと引数戻り値・型意味解放
IsValidboolジョブ参照が有効か。終了済みでも保持中ならtrue。初期
StatusJobStatusジョブの状態。失効時はStale。初期
Cancel()CommandResult残りの仕事を取り消す。完成分は戻さない。Theory
Wait()WaitTokenジョブ終了を直接awaitで待つ。解除後にStatusを確認。Rebuild

Cancel

ArcaneScript
var started = Workshop.Golems[0].Mine(Mineral.Ore, 20);
if (!started.Ok) return;
var job = started.Job;
var value = job.Cancel();

Wait

ArcaneScript
var started = Workshop.Golems[0].Mine(Mineral.Ore, 20);
if (!started.Ok) return;
var job = started.Job;
await job.Wait();

GameClock

メンバーと引数戻り値・型意味解放
OnlineSecondsdouble累計オンライン秒。初期
Delay(double seconds)WaitToken0〜86400秒のオンライン時間を直接awaitで待つ。Rebuild

Delay

ArcaneScript
await Workshop.Clock.Delay(1.0);

CommandResult

メンバーと引数戻り値・型意味解放
Okbool操作の成否。採掘・加工・転生は受付成功を表す。初期
CodeApiCode成否の理由を表すApiCode。初期
RequestIdlongシステムが付ける要求番号。初期

JobStartResult

メンバーと引数戻り値・型意味解放
Okbool操作の成否。採掘・加工・転生は受付成功を表す。初期
CodeApiCode成否の理由を表すApiCode。初期
RequestIdlongシステムが付ける要求番号。初期
JobJob成功時のジョブ参照。失敗時はnull。初期

PrestigePreview

メンバーと引数戻り値・型意味解放
KindPrestigeKind対象の種類を表す選択子。初期
CanRequestbool転生の条件を満たすか。 取得時点の値。初期
CodeApiCode成否の理由を表すApiCode。 取得時点の値。初期
RewardKindCurrencyKindプレビュー時点の報酬通貨。初期
RewardAmountAmountプレビュー時点の報酬量。初期
ResetsWorkshopbool工房をリセットするか。初期
ClearsShardboolRuntimeShardを消去するか。初期
ClearsCoreboolWorldCoreを消去するか。初期
Descriptionstring表示用説明。条件判定のために文字列を解析しない。初期

ResourceCollection

メンバーと引数戻り値・型意味解放
this[ResourceKind kind]ResourceStock型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期

EquipmentCollection

メンバーと引数戻り値・型意味解放
this[EquipmentKind kind]Equipment型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期

RecipeCollection

メンバーと引数戻り値・型意味解放
this[RecipeKind kind]Recipe型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期

ResearchCollection

メンバーと引数戻り値・型意味解放
this[ResearchKind kind]ResearchProject型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期

PrestigeCollection

メンバーと引数戻り値・型意味解放
this[PrestigeKind kind]PrestigeOption型付き選択子で対象を取得。Golemは0始まりの番号を使う。Theory

CurrencyCollection

メンバーと引数戻り値・型意味解放
this[CurrencyKind kind]CurrencyBalance型付き選択子で対象を取得。Golemは0始まりの番号を使う。初期

GameLog

メンバーと引数戻り値・型意味解放
Write(string text)void文字列を本人用ログへ出す。初期

Write

ArcaneScript
Workshop.Log.Write("20");

Amount

メンバーと引数戻り値・型意味解放
static FromInt(int value)Amount整数からAmountを生成。初期
static FromScientific(double mantissa, long exponent)Amount仮数と指数からAmountを生成。初期
static Parse(string text)Amount数量を表す文字列からAmountを生成。初期

FromInt

ArcaneScript
var value = Amount.FromInt(0);

FromScientific

ArcaneScript
var value = Amount.FromScientific(1.0, 6000L);

Parse

ArcaneScript
var value = Amount.Parse("20");

選択子と状態の一覧

ResourceKind

Ore, Crystal, Moonstone, Fragment, Iron, Alloy, Frame, Ether, Circuit, ResearchPoint

Mineral

Ore, Crystal, Moonstone, Fragment

EquipmentKind

Storage, Mana, Dock, Core, Rift, Furnace, Foundry, Alchemy

RecipeKind

Iron, Alloy, Frame, Ether, Circuit

ResearchKind

Smelting, Moonstone, Ancient, Theory

PrestigeKind

Recompile, Rebuild, Ascend

CurrencyKind

RuntimeShard, WorldCore, AscensionSigil

ApiCode

Ok, Locked, InvalidId, InvalidAmount, InsufficientResource, InsufficientRp, CapacityFull, Busy, ScriptStopped, StaleEpoch, RateLimited, PrestigePending, SaveNotReady, SaveBlocked, SafeStopped, NumericLimit

JobStatus

Queued, Running, Waiting, Completed, Cancelled, Failed, Stale

選択子は文字列や整数IDと相互変換しません。ResourceKindからCurrencyKindまでの7型はフィールドや配列で保持できます。ApiCodeとJobStatusはローカル・引数・戻り値専用です。