# 特殊游戏节点报文

## 入口（0）

入口处不需要任何额外的处理

```json lines
{}
```

## 召唤神女（1）

```json lines
{
  // 等待30s
  "wait": 30
}
```

## 镇水神力（2）

```json lines
{
  // 播放文件地址，支持 file:// 本地文件地址、 http(s):// 远程文件地址
  "video": ""
}
```

## 神女除妖（3）

参照 [请求响应文档](https://www.emqx.com/zh/blog/mqtt5-request-response)，
发送附带`ResponseTopic`，并订阅`ResponseTopic`，才能接收到响应结果

### RequestPayload

```json lines
{}
```

### ResponsePayload

暂时还未对接除妖设备，不知道返回的数据结构是什么

```json lines
{}
```

## 神女授书（4）

参照 [请求响应文档](https://www.emqx.com/zh/blog/mqtt5-request-response)，
发送附带`ResponseTopic`，并订阅`ResponseTopic`，才能接收到响应结果

### RequestPayload

```json lines
{
  // 发卡执行时间，单位秒
  "action": 0,
  // 等待时间，单位秒（不能小于 1）
  "wait": 10
}
```

### ResponsePayload

```json lines
{
  // 发出的卡片ID
  "card_id": "",
  // 空卡设备数量
  "empty": 0,
  // 错误设备数量
  "error": 0,
  // 发卡是否成功，1为成功，0为失败
  "out_ok": 0
}
```

若`out_ok`，`empty`，`error`都为`0`，很有可能两台机器发卡口都被堵住了，需要人工处理。

发卡口堵住不属于`error`，不会在`error`里计数体现。

## 青云龙台（5）

```json lines
{
  // 需要的卡片ID
  "card_id": "",
  // 卡片错误时的播报内容
  "card_error": "",
  // 卡片正确时播报的恭喜通关内容
  "card_ok": "",
  // 等待插卡时间，单位秒
  "wait_card": 0,
  // 插卡后持续时间，单位秒
  "wait": 0
}
```

`wait_card` 为等待插卡的时长，超过时长将直接结束且没有任何现场效果。`wait` 为插卡后持续的现场效果时间。
