Laziniceの使い方

# はじめに
LaziniceはDiscord上でクトゥルフ神話TRPGを遊ぶ補助をするBotです。
ネタバレの防止としてセッションを作成するとプライベートなカテゴリーチャンネルが作成され、セッションに参加することでカテゴリーチャンネル内の通知や内容が確認できる仕様です。

:::note warn
- ルールブック6版にのみ対応。
- キャラクターの作成には[TRPGキャラクターシート アーカイブス](https://chara.revinx.net/)を使用。
- 本文で説明される**セッション内**とは、[`/session create`](#session-create)コマンドで作成されるdiscordのカテゴリーチャンネル内のことを指す。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/920c7cfa-05f9-fd48-95db-197f485b4677.png)

# セッションの作成
[`/session create`](#session-create)コマンドを実行してセッションを作成します。
セッションを作成すると、シナリオ名のカテゴリーチャンネルを作成した後に作成したカテゴリー内に各チャンネル・スレッドを作成されます。
作成後「セッション参加」チャンネルにエントランスUser Interface（以下、UI）が表示され、そこからセッションへの参加等の操作やセッションに参加している各ユーザーの一覧が確認できます。

- エントランスUI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/f35e34c5-284e-c94a-3d0a-209a2c4077b4.png)
- セッション
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/a6cb5166-2288-6207-ab60-923672e44fa2.png)

:::note warn
セッションの作成上限は1ユーザーにつき5つまでです。
Discordのサーバーには作成チャンネル数の上限がありますのでセッションが終了次第速やかにセッションを終了してチャンネルを削除しましょう。
:::

# セッションへ参加
エントランスUIのボタンを押すことでプレイヤーもしくは観戦としてセッションへ参加することができます。
プレイヤーとして参加する場合、まずキャラクターの作成と登録を行う必要があります。
- エントランスUI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/f35e34c5-284e-c94a-3d0a-209a2c4077b4.png)

## キャラクターの参加

### キャラクターの作成
キャラクターの作成には[TRPGキャラクターシート アーカイブス](https://chara.revinx.net/)を使用します。
キャラクター作成後、作成したキャラクターのURLを憶えておいてください。Laziniceへのキャラクターの登録に使用します。

### キャラクターの登録
[TRPGキャラクターシート アーカイブス](https://chara.revinx.net/)で作成したキャラクターのURLをキャラシ保管所チャンネルに書き込みます。
- キャラシ保管所チャンネル
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/5491f5af-c3b1-e8b2-3869-f49a558df798.png)

###  参加手順
エントランスUIの「キャラクターを選択して参加」か「キャラクター情報を秘匿して参加」ボタンから参加することができます。
以下で各手順を説明します。

#### 通常の参加
「キャラクターを選択して参加」ボタンを押します。
UIのリストに登録したキャラクターの一覧が表示されますので任意のキャラクターを選択すると選択したキャラクターとしてセッションに参加します。
- キャラクターを選択して参加UI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/f1b0bd79-9e1a-c7b5-0260-71c7a64e8627.png)

:::note warn
キーパー・サブキーパーがこちらでキャラクターを参加させた場合、プレイヤーにそのキャラクターの名前と職業が公開されます。情報の秘匿の必要がある場合はご注意ください。
:::


#### キャラクターを入力して参加(秘匿ハンドアウト)
「キャラクター情報を秘匿して参加」ボタンを押します。
- プレイヤーの場合
    URLの欄に[TRPGキャラクターシート アーカイブス](https://chara.revinx.net/)で作成したキャラクターのURLを入力してください。
    その後、送信ボタンを押すと入力したキャラクターがステータスを隠した状態でセッションに参加します。
    - キャラクター情報を秘匿して参加UI（プレイヤー版）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/753741cd-a359-db8e-801d-a09aeb306d03.png)

- キーパーの場合
    URLの欄に[TRPGキャラクターシート アーカイブス](https://chara.revinx.net/)で作成したキャラクターのURLを入力してください。
    セッションに参加するキャラクターの個体数を1~9の整数で同じキャラクターを一度に複数体セッションに参加させることができます。エネミーが複数体いる場合等にご利用ください。
    その後、送信ボタンを押すと入力したキャラクターがステータスを隠した状態でセッションに参加します。
    - キャラクター情報を秘匿して参加UI（キーパー版）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/27900335-21bb-255e-daf4-f9ad35eea5bc.png)


## セッションを観戦
「観戦」ボタンを押します。
セッションに関わる機能や権限が制限された状態でセッションに参加することができます。
ボイスチャットには参加できますが、ネタバレ等他プレイヤーに迷惑になる行為は控えましょう。

:::note info
一部機能が制限される代わりに、観戦のユーザーとキーパー・サブキーパーだけに見ることができる「[観戦雑談](#観戦雑談スレッド)」スレッドが表示されます。
こちらのスレッドではネタバレとなる内容の会話もプレイヤーには見えませんので問題ありません。
:::


# セッションについて
セッションの構造について説明する。
- セッション
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/a6cb5166-2288-6207-ab60-923672e44fa2.png)

## エントランスUI
セッションに参加するための入口となるUI。
プレイベートセッションの場合、エントランスUIがプライベートスレッドに作成されるため「スレッドに招待」ボタンからユーザーをプライベートスレッドに招待する必要があります。
通常のセッションの場合は招待の必要がないため「スレッドに招待」ボタンは表示されません。
- エントランスUI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/f35e34c5-284e-c94a-3d0a-209a2c4077b4.png)

## 「キーパー専用」チャンネル
キーパー及びサブキーパーのみ表示されるチャンネル。
正確にはフォーラムチャンネルであり、キーパー及びサブキーパーは任意のスレッドを追加できます。
メモ等に必要であればご自由に追加してください。

### 「シークレットダイス」スレッド
ここでダイスロールや技能ロールができます。
[`/dice_roll`](#dice_roll)コマンドの`dice_syntax`引数と同様の内容をここに直接書き込むと結果が表示されます。
内容は一切プレイヤーに伝わりませんので、裏で処理を行う場合にこちらをご利用ください。

### 「シークレットダイス(通知)」スレッド
ここでダイスロールや技能ロールができます。
[`/dice_roll`](#dice_roll)コマンドの`dice_syntax`引数と同様の内容をここに直接書き込むと結果が表示されます。
内容は一切プレイヤーに伝わりませんが、プレイヤーにキーパーがダイスロールを行ったという通知がされます。
プレイヤーへの威嚇等、裏で処理を行う場合にこちらをご利用ください。

### 「キャラクター情報」スレッド
全キャラクターの情報を各UIを通じて確認できます。

キャラクター情報UIでは、各キャラクターはDEXを基準に降順で表示されるためDEX順が確認できます。
「更新」ボタンを押すことで各キャラクター情報を最新状態に更新し、更にセッションの内部データと各チャンネル・スレッドの状態を同期します。
セッションを長期間放置する等でスレッドが非表示になってしまった場合等に実行すると再表示されます。

キーパー用キャラクターステータスUIでは、各キャラクターごとにUIが表示されます。
「心理学」ボタンを押すことでそのキャラクターの技能値で心理学ロールを行うことができます。
心理学ロールの結果は[シークレットダイススレッド](#シークレットダイススレッド)に表示されます。

- キャラクター情報UI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/f058606c-b1f9-9c29-1dc7-db66b76ce79a.png)

- キーパー用キャラクターステータスUI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/bba201c7-ec6d-cfbe-fdb4-4b04c2d33abd.png)

### 「NPC」スレッド
キーパーとサブキーパーが操作するキャラクターのUIが表示されます。
「STR」「CON」「POW」「DEX」「APP」「SIZ」「INT」「EDU」「HP」「MP」「SAN」「アイデア」「幸運」「知識」の各ボタンを押すと操作対象のステータスが選択されます。選択中のステータスはUIのステータスに👈が表示されます。
ステータスの選択後、選択メニューから増減する値を選択することで選択中のステータスの値が増減されます。

「✓」ボタンを押すと、そのキャラクターがActivateされダイスロール等を行うキャラクターの対象となります。

「🗑」ボタンを押すと、そのキャラクターがセッションから削除されます。

- キャラクターステータスUI
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/a97e0b9a-af8b-e541-996e-b38832c87356.png)

## 「セッション」チャンネル
ダイスロールやシナリオ進行に関する操作をこのチャンネル内の各スレッドで行います。

### 「ロールプレイ進行」スレッド
基本的にキーパー・サブキーパーが書き込むスレッドです。
ここにはシナリオ進行上の公開情報等が書き込まれます。

### 「dice」スレッド
ここでダイスロールや技能ロールができます。
[`/dice_roll`](#dice_roll)コマンドの`dice_syntax`引数と同様の内容をここに直接書き込むと結果が表示されます。
[`/dice_roll`](#dice_roll)コマンドとの違いは、プレイヤーがここでコマンドを実行した際にファンブル・スペシャル・クリティカルが出た際に[成長判定用スレッド](#成長判定用スレッド)に結果が記録されるためシナリオ終了後の成長判定に利用できます。

### 「成長判定用」スレッド
[「dice」スレッド](#diceスレッド)でのファンブル・スペシャル・クリティカルの結果がここに記録されます。
シナリオ終了後の成長判定に利用ください。

## 「パーソナル」チャンネル
各プレイヤーの固有情報を取り扱うチャンネルです。
プレイヤー毎に以下のスレッドが表示されます。

### 「メモ」スレッド
プレイヤーのみに表示されるスレッドです。
このスレッドはキーパー・サブキーパーにも表示されません。
メモ等にご自由にご利用ください。

### 「記録用」スレッド
プレイヤーの操作する各キャラクターのUIが表示されます。
「STR」「CON」「POW」「DEX」「APP」「SIZ」「INT」「EDU」「HP」「MP」「SAN」「アイデア」「幸運」「知識」の各ボタンを押すと操作対象のステータスが選択されます。選択中のステータスはUIのステータスに👈が表示されます。
ステータスの選択後、選択メニューから増減する値を選択することで選択中のステータスの値が増減されます。

「✓」ボタンを押すと、そのキャラクターがActivateされダイスロール等を行うキャラクターの対象となります。

「🗑」ボタンを押すと、そのキャラクターがセッションから削除されます。

- キャラクターステータスUI
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/a97e0b9a-af8b-e541-996e-b38832c87356.png)

### 「ハンドアウト」スレッド
キーパー・サブキーパーからプレイヤー個人へ秘匿情報を送る際に使用するスレッドです。
また、プレイヤーがシークレットダイスを振る際にはこのスレッドで[`/dice_roll`](#dice_roll)コマンドを実行することでキーパー・サブキーパーに結果を共有できますので推奨します。

## 「その他」チャンネル
テキストチャットを行うスレッドやセッションを抜けるためのUIがあります。

- セッションを抜けるためのUI
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/0b6e4918-8f0e-ea0a-6901-a800e9e9456c.png)

### 「雑談」スレッド
日程調整などを行う場所です。ご自由にご利用ください。

:::note warn
このスレッドはキーパー・サブキーパー・プレイヤーにのみ表示されます。
:::

### 「観戦雑談」スレッド
セッション観戦中の感想等を書き込む場所です。ご自由にご利用ください。

:::note warn
このスレッドはキーパー・サブキーパー・観戦ユーザーにのみ表示されます。
:::

## 「VC1」チャンネル
ボイスチャットチャンネルです。ご自由にご利用ください。

## 「VC2」チャンネル
ボイスチャットチャンネルです。ご自由にご利用ください。

# コマンドについて
主に使用するコマンドをいくつか紹介します。
## /my characters
自分が保存したキャラクターの一覧を表示するコマンドです。
```
/my characters
```

:::note info
このようなキャラクターの一覧が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/c6a0e619-2186-815c-f9ad-9579d174f701.png)
:::

## /session create
セッションを作成するためのコマンドです。
```
/session create シナリオ名: 限定公開: スペシャル判定: 回避技能ハウスルール: サブキーパー1: サブキーパー2:
```
- 引数
    - シナリオ名(必須)
        1文字以上50文字以下のシナリオ名を指定します。
    - 限定公開(オプション)
        Trueに設定することでプライベートなセッションを作成できます。
        規定値はFalseです。
    - スペシャル判定(オプション)
        Trueに設定することで技能ロールの際に技能値の20%の値で成功時にスペシャル判定を行います。
        規定値はFalseです。
    - 回避技能ハウスルール(オプション)
        Trueに設定することで回避技能の初期値をDEXの5倍の値にします。Falseに設定することでこのハウスルールを無効にし回避技能の初期値をDEXの2倍の値とします。
        規定値はTrueです。
    - サブキーパー1(オプション)
        サブキーパーを追加できます。セッション作成後に追加することはできません。
    - サブキーパー2(オプション)
        サブキーパーを追加できます。セッション作成後に追加することはできません。
:::note info
使用例
```
/session create シナリオ名:毒入りスープ 限定公開:False スペシャル判定:True
```
:::
:::note warn
セッションの1ユーザーの作成上限は5つです。
:::


## /dice_roll
ダイスロールや技能ロールを行うコマンドです。
```
/dice_roll dice_syntax: secret:
```
- 引数
    - dice_syntax(必須)
        ダイスロールか技能ロールの構文を入力します。簡易的な予測変換があります。
    - secret(オプション)
        Trueに設定することで結果の表示を実行した自分だけに表示します。
        既定値はFalseです。
:::note warn
- 技能ロールを行う場合はセッション内かつキーパーかプレイヤーとしてキャラクターを参加させキャラクターをActivateしている必要があります。
:::

:::note info
使用例

- 100面ダイスを振る1回振る
    ```
    /dice_roll dice_syntax:1d100
    ```
- 目星による技能ロールを行う
    ```
    /dice_roll dice_syntax:目星
    ```
- 聞き耳による技能ロールを-20の補正で行う
    ```
    /dice_roll dice_syntax:聞き耳-20
    ```
- CON×5のダイスロールを行う
    ```
    /dice_roll dice_syntax:CON*5
    ```
- 図書館の半分の値で技能ロールを行う
    ```
    /dice_roll dice_syntax:図書館/2
    ```
- 1d3のダメージとダメージボーナスを加えた攻撃判定
    ```
    /dice_roll dice_syntax:1d3+db
    ```
:::
:::note info
キャラクターをActivateしていない状態では結果の表記が異なります。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/09f7cc14-3656-666d-0f5c-a63924cd59b1.png)
:::
:::note info
「厄落とし」と入力すると10d100を実行できます。
ダイスロールの出目が振るわない際の乱数調整等にご利用ください。
```
/dice_roll dice_syntax:厄落とし
```
- 結果の例
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/9bbc0fbe-ce4c-dbb4-dfcf-69e12026e6f9.png)
:::
:::note info
秘匿ハンドアウトのキャラクターで技能ロールを行った場合、キャラクターの技能値は隠され結果だけが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/07bb0e4a-a181-bec9-bd0d-262ec98e8c7f.png)
:::
:::note warn
キャラクターをActivateしていない状態では技能ロールを行うことができません。
画像のようなエラーメッセージが表示されます。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715583/467f090a-5630-9e03-d4d3-695aff034889.png)
:::