Skip to content

Commit

Permalink
release: v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
MintCider committed Oct 9, 2024
1 parent c4f7911 commit 6bd56d7
Show file tree
Hide file tree
Showing 7 changed files with 1,001 additions and 35 deletions.
226 changes: 199 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,234 @@
# 海豹js扩展模板
# 最终物语规则插件

## 介绍

### 介绍
本插件工作于 [海豹骰点核心](https://github.com/sealdice/sealdice-core),并基于其 [TS 模板库](https://github.com/sealdice/sealdice-js-ext-template) 实现。

一个简单易用的项目模板
本插件为海豹核心带来了「最终物语(Fabula Ultima)」规则支持

使用esbuild编译代码,并将多个源码文件打包成一个。
> [!NOTE]
> 目前,由于官方中文版规则书尚未发布,部分名词采用的是民间汉化版翻译,会在官方中文规则书发布后进行修正替换。
## 安装

### 如何使用
在本项目 Release 页面中,直接下载最新编译的 JS 文件,或 [点击这里](https://github.com/MintCider/seal-fu/releases/latest/download/seal-fu.js) 下载。随后上传到海豹核心即可。

clone或下载项目,随后:
## 命令

### `.st` 操作人物卡

`.st` 命令的使用方式请参考 [海豹手册相关内容](https://docs.sealdice.com/use/coc7.html#st-%E6%93%8D%E4%BD%9C%E4%BA%BA%E7%89%A9%E5%8D%A1),这里着重介绍最终物语规则相关的人物卡属性。

| 属性名 | 属性别名 |
|---------|-------------------------------------|
| 生命值 | hp、hit point、hit points |
| 生命值上限 | hpmax |
| 精神值 | mp、mental point、mental points |
| 精神值上限 | mpmax |
| 库存点 | ip、inventory point、inventory points |
| 库存点上限 | ipmax |
| 物语点 | fp、fabula point、fabula points |
| 泽尼特 | z、zenit |
| 先攻修正值 | im、initiative modifier |
| 物防 | pd、df、defense、物理防御 |
| 魔防 | md、magical defense、魔法防御 |
| 灵巧骰面初始值 | dex、dexterity、灵巧 |
| 洞察骰面初始值 | ins、insight、洞察 |
| 力量骰面初始值 | mig、might、力量 |
| 意志骰面初始值 | wlp、willpower、意志 |

在初始化人物卡时,可以使用任意属性别名进行属性设定,插件会自动将其转化为对应的属性。

> [!NOTE]
> 设定灵巧、洞察、力量、意志四维属性时,请输入对应属性骰的面数(6、8、10、12 之一)。当属性骰发生变动时(如状态效果、临时 buff 等),请不要使用 `.st` 修改,请参考后面的 `.buff``.ds` 命令。
以下两个例子都是合理的属性设定方式:

```text
.st 卡珊德拉-灵巧10 洞察6 力量8 意志8 生命值50 生命值上限50 精神值50 精神值上限50 库存点6 库存点上限6 物语点3 泽尼特170 先攻修正值-2 物防11 魔防8
```
npm install
npm run build

```text
.st 卡珊德拉-dex=10 ins=6 mig=8 wlp=8 hp=50 hpmax=50 mp=50 mpmax=50 ip=6 ipmax=6 fp=3 z=170 im=-2 pd=11 md=8
```

好的,现在你的项目被编译成功了,就在dist目录。
### `.sn` 自动群名片

默认的名字是`sealdce-js-ext.js`,其逻辑写在src/index.ts
`.sn` 命令的使用方式请参考 [海豹手册相关内容](https://docs.sealdice.com/use/log.html#sn-%E8%87%AA%E5%8A%A8%E7%BE%A4%E5%90%8D%E7%89%87),这里着重介绍最终物语规则提供的两个群名片预设模版。

- `.sn fu``角色名 HP50/50 MP50/50 IP6/6 FP3 Z170 PD11 MD8`
- `.sn fuS``角色名 HP50/50 MP50/50 PD11 MD8`

### 开发指南
### `.rc` 检定

看这里,这边有大量的例子,以及海豹用户写的插件:
`.rc <属性 1>+<属性 2>+<修正值>`

https://github.com/sealdice/javascript
支持的属性为:灵巧、洞察、力量、意志、dex、ins、mig、wlp,不区分大小写。

由于无法动态调试,建议将纯逻辑部分独立编写,随后你就可以在调试编译后,用nodejs去验证你的想法:
支持的修正值为:整数。

例子:

```text
.rc 灵巧+洞察+1
.rc mig+wlp-2
```
npm run build-dev
node ./dev/sealdice-js-ext.js

```text
<卡珊德拉>的灵巧+洞察+1检定结果为:d8(缓慢)+d6+1=[4+6+1]=11
HR:6
```

当然,不止是node,任何其他js环境都行,浏览器里也行。
如果由于状态效果或临时 buff 导致属性骰发生变动,检定回复中会进行提示。如果检定出大成功/大失败,检定回复会进行提示。同时,检定回复会自动显示 HR。

### `.ri` 先攻

`.ri [修正值]`

自动进行一次「灵巧+洞察+先攻修正值」的检定,可以额外附加一个整数修正值。

例子:

```text
.ri
.ri +3
```

```text
<卡珊德拉>的先攻检定结果为:d8(缓慢)+d6+0(先攻修正)+3=[7+3+0+3]=13
```

### `.buff` 状态效果

此命令支持的状态效果为:缓慢、眩晕、虚弱、动摇、愤怒、中毒。

#### 切换状态效果

`.buff <状态效果>`

为自己附加或消除某种状态效果。

#### 附加状态效果

`.buff add <状态效果>`

#### 消除状态效果

`.buff del <状态效果>`

`.buff clr`

后者会消除全部状态效果。

### `.ds` 临时调整属性骰

此命令支持的属性为:灵巧、洞察、力量、意志、dex、ins、mig、wlp,不区分大小写。

此命令支持的调整值为:整数。

> [!NOTE]
> 每一点调整值会改变属性骰的一个**级别**,即骰面增大或减小 2.
#### 将对应属性骰增大或减小对应级别

`.ds <属性>+<调整值>`

### 填写个人信息
#### 重置属性骰

当插件开发完成后(或者开始开发时),你需要修改几处地方:
`.ds rst <属性>`

* header.txt 这个文件是你插件的描述信息
`.ds rst all`

* tools/build-config.js 最开头一行"var filename = 'sealdce-js-ext.js';",改成你中意的名字,注意不要与现有的重名
后者会重置全部属性骰。

#### 例子

### 编译和发布
> [!NOTE]
> 此命令与状态效果产生的影响叠加计算,并且永远不会超出属性骰的上下限。
```text
.buff 缓慢
.ds 力量+1
.ds dex-1
.rc dex+mig
```
npm run build

```text
<卡珊德拉>的灵巧+力量检定结果为:d6(缓慢、ds-1)+d10(ds+1)=[3+9]=12
HR:9
```

### `.bond` 牵绊

> [!NOTE]
> 目前,牵绊仅作为辅助记录,不会对检定产生影响。
此命令支持的情感为:赞赏、自卑、忠诚、怀疑、喜爱、仇恨。

#### 建立牵绊

`.bond add <名字> <情感>`

#### 遗忘牵绊

`.bond del <编号>/<名字>`

`.bond clr`

后者会遗忘全部牵绊。

#### 调整牵绊情感

`.bond emo add <编号>/<名字> <情感>`

`.bond emo del <编号>/<名字> <情感>`

#### 查看所有牵绊

`.bond list`

#### 例子

```text
.bond add 布莱尔 赞赏
```

```text
.bond emo add 1 喜爱
<卡珊德拉>与<布莱尔>的牵绊增加了喜爱情感
```

```text
.bond emo add 1 仇恨
<卡珊德拉>与<布莱尔>的牵绊已有喜爱情感,不能再增加仇恨情感
```

```text
.bond emo del 布莱尔 喜爱
<卡珊德拉>与<布莱尔>的牵绊不再有喜爱情感
```

从dist目录找出你的编译结果,将其装入海豹测试并分享即可!
### `.clk` 命刻

#### 创建命刻

`.clk add <名字> <大小> [进度]`

命刻的进度默认为 0,可以通过提供 `[进度]` 参数调整初始进度。

#### 删除命刻

`.clk del <名字>`

`.clk clr`

后者会删除全部命刻。

#### 调整进度

当然,你也可以把你的劳动成果提交到这里:
`.clk fill <名字> <进度变化>`

https://github.com/sealdice/javascript/tree/main/scripts
使对应命刻的进度发生对应变化,进度变化应为正负整数,超过命刻范围(`[0, 命刻大小]`)的变化会限制在范围之内。

这样用户就可以直接在海豹的插件面板进行安装了。
#### 查看群内全部命刻
`.clk list`
11 changes: 11 additions & 0 deletions docs/release_notes/v0.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 功能

- 适配海豹核心 `.st` 命令,可以通过 `.st` 设定人物卡属性。
- 增加 `.rc` 命令用于检定掷骰。
- 增加 `.ri` 命令用于先攻掷骰。
- 增加 `.buff` 命令用于附加状态效果。
- 增加 `.ds` 命令用于临时修改属性骰大小。
- 增加 `.bond` 命令用于记录牵绊。
- 增加 `.clk` 命令用于记录命刻。

请参考 README 或帮助文本(`.<command> help`)使用以上命令。
18 changes: 16 additions & 2 deletions header.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,23 @@
// @author Mint Cider
// @version 0.1.0
// @description 为海豹添加最终物语规则。详细使用说明见项目主页 README。
// @timestamp 1728294492
// @timestamp 1728452500
// @license MIT
// @homepageURL https://github.com/MintCider/seal-fu
// @updateUrl https://github.com/MintCider/seal-fu/releases/latest/download/seal-fu.js
// @sealVersion 1.2.0
// @sealVersion >=1.2.0-0
// ==/UserScript==

// # v0.1.0 更新日志
//
// ## 功能
//
// - 适配海豹核心 `.st` 命令,可以通过 `.st` 设定人物卡属性。
// - 增加 `.rc` 命令用于检定掷骰。
// - 增加 `.ri` 命令用于先攻掷骰。
// - 增加 `.buff` 命令用于附加状态效果。
// - 增加 `.ds` 命令用于临时修改属性骰大小。
// - 增加 `.bond` 命令用于记录牵绊。
// - 增加 `.clk` 命令用于记录命刻。
//
// 请参考 README 或帮助文本(`.<command> help`)使用以上命令。
Loading

0 comments on commit 6bd56d7

Please sign in to comment.