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
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Workshop | WorkshopContext | 本人の工房への入口。 | 初期 |
WorkshopContext
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Resources | ResourceCollection | 通常資源と研究ポイント。 | 初期 |
Equipment | EquipmentCollection | 設備の一覧。 | 初期 |
Production | RecipeCollection | 加工レシピの一覧。 | 初期 |
Research | ResearchCollection | 研究の一覧。 | 初期 |
Golems | GolemCollection | 所有ゴーレムの一覧。 | 初期 |
Prestige | PrestigeCollection | 転生の選択肢。取得自体にTheoryが必要。 | Theory |
Currencies | CurrencyCollection | 転生通貨。 | 初期 |
Clock | GameClock | オンライン時間と待機。 | 初期 |
Log | GameLog | 本人用のログ。 | 初期 |
Epoch | long | 現在の周回世代。転生確定で変わる。 | 初期 |
ResourceStock
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | ResourceKind | 対象の種類を表す選択子。 | 初期 |
IsUnlocked | bool | 対象コンテンツの解放状態。購入可能かとは別。 | 初期 |
Total | Amount | 入力予約を含む所持量。未完成出力は含まない。 | 初期 |
Available | Amount | 予約されていない所持量。 | 初期 |
Equipment
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | EquipmentKind | 対象の種類を表す選択子。 | 初期 |
IsUnlocked | bool | 対象コンテンツの解放状態。購入可能かとは別。 | 初期 |
Rank | int | 未解放は0、解放済みは1以上。 | 初期 |
CanUpgrade | bool | 現在、設備を強化できるか。 | Theory |
Upgrade() | CommandResult | 次の1ランクを購入。必要資源を消費する。 | 初期 |
Upgrade
var value = Workshop.Equipment[EquipmentKind.Storage].Upgrade();Recipe
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | RecipeKind | 対象の種類を表す選択子。 | 初期 |
IsUnlocked | bool | 対象コンテンツの解放状態。購入可能かとは別。 | 初期 |
Station | Equipment | このレシピが使う加工設備。 | 初期 |
CanStart(Amount amount) | bool | 指定出力量で加工を開始できるか。 | Theory |
Start(Amount amount) | JobStartResult | 指定出力量の加工を要求。Okは全量完成ではない。 | 初期 |
CanStart
var value = Workshop.Production[RecipeKind.Iron].CanStart(20);Start
var value = Workshop.Production[RecipeKind.Iron].Start(20);ResearchProject
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | ResearchKind | 対象の種類を表す選択子。 | 初期 |
IsUnlocked | bool | 対象コンテンツの解放状態。購入可能かとは別。 | 初期 |
IsComplete | bool | 今周回で研究を購入済みか。 | 初期 |
CanBuy | bool | 次の購入が現在の条件を満たすか。 | Theory |
Buy() | CommandResult | 必要資源を支払い購入する。 | 初期 |
Buy
var value = Workshop.Research[ResearchKind.Smelting].Buy();GolemCollection
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Count | int | 現在の所有数。最大5体。 | 初期 |
CanBuy | bool | 次の購入が現在の条件を満たすか。 | Theory |
this[int index] | Golem | 型付き選択子で対象を取得。Golemは0始まりの番号を使う。 | 初期 |
Buy() | CommandResult | 必要資源を支払い購入する。 | 初期 |
Buy
var value = Workshop.Golems.Buy();Golem
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Index | int | 0から始まる所有一覧の番号。 | 初期 |
IsIdle | bool | 採掘・充電に占有されていないか。 | 初期 |
Battery | Amount | 現在の電池量。 | 初期 |
BatteryCapacity | Amount | 電池の容量。 | 初期 |
CanMine(Mineral mineral, Amount amount) | bool | 指定原料・出力量で採掘を開始できるか。 | Theory |
Mine(Mineral mineral, Amount amount) | JobStartResult | 原料と出力量を指定して採掘を要求。 | 初期 |
CanMine
var value = Workshop.Golems[0].CanMine(Mineral.Ore, 20);Mine
var value = Workshop.Golems[0].Mine(Mineral.Ore, 20);PrestigeOption
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | PrestigeKind | 対象の種類を表す選択子。 | Theory |
CanRequest | bool | 転生の条件を満たすか。 | Theory |
Preview() | PrestigePreview | 現在の転生条件・報酬・消去対象を取得。 | Theory |
Request() | CommandResult | 転生を要求。確定まで受理済みジョブ等を待つ。 | Theory |
Preview
var value = Workshop.Prestige[PrestigeKind.Recompile].Preview();Request
var value = Workshop.Prestige[PrestigeKind.Recompile].Request();CurrencyBalance
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | CurrencyKind | 対象の種類を表す選択子。 | 初期 |
Total | Amount | 所持量。 | 初期 |
Job
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
IsValid | bool | ジョブ参照が有効か。終了済みでも保持中ならtrue。 | 初期 |
Status | JobStatus | ジョブの状態。失効時はStale。 | 初期 |
Cancel() | CommandResult | 残りの仕事を取り消す。完成分は戻さない。 | Theory |
Wait() | WaitToken | ジョブ終了を直接awaitで待つ。解除後にStatusを確認。 | Rebuild |
Cancel
var started = Workshop.Golems[0].Mine(Mineral.Ore, 20);
if (!started.Ok) return;
var job = started.Job;
var value = job.Cancel();Wait
var started = Workshop.Golems[0].Mine(Mineral.Ore, 20);
if (!started.Ok) return;
var job = started.Job;
await job.Wait();GameClock
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
OnlineSeconds | double | 累計オンライン秒。 | 初期 |
Delay(double seconds) | WaitToken | 0〜86400秒のオンライン時間を直接awaitで待つ。 | Rebuild |
Delay
await Workshop.Clock.Delay(1.0);CommandResult
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Ok | bool | 操作の成否。採掘・加工・転生は受付成功を表す。 | 初期 |
Code | ApiCode | 成否の理由を表すApiCode。 | 初期 |
RequestId | long | システムが付ける要求番号。 | 初期 |
JobStartResult
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Ok | bool | 操作の成否。採掘・加工・転生は受付成功を表す。 | 初期 |
Code | ApiCode | 成否の理由を表すApiCode。 | 初期 |
RequestId | long | システムが付ける要求番号。 | 初期 |
Job | Job | 成功時のジョブ参照。失敗時はnull。 | 初期 |
PrestigePreview
| メンバーと引数 | 戻り値・型 | 意味 | 解放 |
|---|---|---|---|
Kind | PrestigeKind | 対象の種類を表す選択子。 | 初期 |
CanRequest | bool | 転生の条件を満たすか。 取得時点の値。 | 初期 |
Code | ApiCode | 成否の理由を表すApiCode。 取得時点の値。 | 初期 |
RewardKind | CurrencyKind | プレビュー時点の報酬通貨。 | 初期 |
RewardAmount | Amount | プレビュー時点の報酬量。 | 初期 |
ResetsWorkshop | bool | 工房をリセットするか。 | 初期 |
ClearsShard | bool | RuntimeShardを消去するか。 | 初期 |
ClearsCore | bool | WorldCoreを消去するか。 | 初期 |
Description | string | 表示用説明。条件判定のために文字列を解析しない。 | 初期 |
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
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
var value = Amount.FromInt(0);FromScientific
var value = Amount.FromScientific(1.0, 6000L);Parse
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はローカル・引数・戻り値専用です。
