本电子角色卡专为《克苏鲁的呼唤》第7版规则设计,提供数字化的角色管理解决方案。支持多页面数据管理、实时计算、本地存储及打印导出功能。
- 角色属性管理(力量、体质、体型、敏捷等八项基本属性)
- 动态技能系统(含子技能选择与自动计算)
- 武器装备管理(名称、伤害值、特性)
- 道具管理系统(80个存储位)
- 笔记系统(双栏布局,支持六种预设分类)
- 头像上传功能
- 状态追踪系统(生命值、魔法值、理智值)
- 幕间技能成长系统(D100掷骰检定、成长值计算、历史记录)
- 自动计算伤害加值与体格
- 职业点数与兴趣点数实时统计与显示
- 技能成功/困难/极难等级自动计算
- 基于属性的衍生值计算(HP、MP、幸运等)
- 闪避等基础技能自动关联相应属性
- 本地缓存自动保存
- JSON格式导入/导出(不含头像数据)
- 导入前预览确认:显示角色基本信息和数据概览,用户确认后才覆盖当前数据
- 路径记忆:导出后自动记住目录,下次导入/导出对话框自动定位到该目录
- File System Access API:支持选择保存路径(Chrome/Edge 86+),不支持的浏览器降级为传统下载
- 多页面数据同步
- 一键数据重置
- 伙伴模式支持(NPC角色卡)
- 选择性打印(支持多页面组合)
- 打印优化布局(A4适配)
- 智能内容截断(打印模式)
- 填写基础信息
在"主页面"填写调查员基本信息、属性和技能 - 管理装备武器
在主页面记录武器信息(名称、伤害、特性) - 管理道具
在"道具"页记录携带物品(最多80项) - 自定义技能
在"自定义技能"页添加个性化学识 - 记录笔记
在"笔记"页进行分类知识管理(支持冒险、人物、功法等预设分类) - 幕间技能成长
在"幕间成长"页使用成长点数进行技能检定
- 自动保存:数据实时保存至浏览器本地存储
- 手动保存:点击悬浮按钮强制保存
- 导入/导出:
- 点击导出按钮打开菜单
- 选择"导出数据"生成JSON文件
- 通过"导入数据"恢复角色
- 数据重置:一键清除当前角色数据
- 输入成长点数:在"幕间成长"页输入本次可用的成长点数
- 确认点数:点击"确认点数"按钮激活掷骰功能
- 选择技能:在技能列表中选择要成长的技能(支持显示默认技能和自定义技能)
- 掷骰检定:
- 点击"掷骰"按钮一次性消耗所有确认的点数进行多次检定
- 系统会基于当前技能值进行D100检定,成功则增加成长值
- 每次检定使用更新后的技能值进行后续判定
- 查看结果:显示每次检定的详细结果和最终技能值
- 历史记录:在下方查看所有成长历史,可清空记录
- 检定方式:D100掷骰,结果需大于当前技能值才算成功
- 成长值:根据当前技能值决定骰子类型
- 技能值 1-29:1d10
- 技能值 30-49:1d8
- 技能值 50-69:1d6
- 技能值 70-89:1d4
- 技能值 90+:1d3
- 特殊规则:
- 投出100时获得双倍成长值
- 技能值>95时,投出96-100总能成长
- 排除技能:信用评级和克苏鲁神话不参与成长
- 点击打印按钮
- 选择要打印的页面:
- 主页面:基础属性与技能
- 自定义技能:扩展技能列表
- 道具:装备与物品清单
- 笔记:调查记录与知识
- 确认打印设置:
- 纸张尺寸:A4
- 页边距:默认(建议≥0.5cm)
- 缩放:100%
- 分页控制:主页面、自定义技能页、道具页、笔记页各自独立分页,不会重叠
trpg-character-sheet/
├── index.html # 主页面
├── README.md # 说明文档
├── css/ # 样式模块
│ ├── variables.css # CSS变量定义
│ ├── layout.css # 屏幕布局样式
│ ├── components.css # 组件样式(表格、按钮、成长系统等)
│ └── print.css # 打印样式
└── js/ # 脚本模块
├── core.js # 核心工具(DOM缓存、事件总线、角色存储)
├── calc.js # 计算模块(属性计算、技能点计算)
├── skills.js # 技能管理(子技能、技能行生成)
├── ui.js # UI交互(模态框、编辑器)
├── data.js # 数据管理(保存、加载、导入、导出)
├── print.js # 打印功能
├── grow.js # 幕间技能成长系统
└── main.js # 入口初始化
| 组件 | 技术方案 |
|---|---|
| 数据存储 | localStorage + JSON序列化 |
| UI框架 | 纯CSS Grid/Flex布局 |
| 打印系统 | CSS媒体查询 + DOM切换 |
| 导入导出 | File System Access API + 降级方案 |
| 技能成长 | D100掷骰模拟 + 动态成长值计算 |
-
实时计算引擎:
- 自动计算伤害加值/体格
- 理智值(SAN)动态关联克苏鲁神话技能
- 职业/兴趣点数实时统计
-
幕间成长系统:
- D100掷骰检定(结果需大于当前技能值)
- 动态成长骰子(根据技能值自动调整:1d10/1d8/1d6/1d4/1d3)
- 支持一次性多次检定,每次基于最新技能值判定
- 双倍成长值机制(投出100时触发)
- 历史记录追踪
-
打印优化:
- 与屏幕布局一致的 Grid 网格打印
- 每页独立分页,避免重叠
- 自定义技能页压缩行高以适配单页
- 背景色保留(CSS打印媒体)
-
错误处理:
- 数据完整性验证
- 非法字符过滤
- 空值容错处理
- 现代浏览器(推荐Chrome 90+)
{
"basic": {
"characterName": "角色姓名",
"playerName": "玩家名",
"era": "时代",
"occupation": "职业",
"age": "年龄",
"gender": "性别",
"residence": "住址",
"birthplace": "出生地",
"isPartner": false
},
"attributes": { "str": "65", "con": "99", ... },
"status": {
"sanity": { "current": "79", "start": "86", "max": "86" },
"health": { "current": "19", "max": "16", "temp": "" },
"magic": { "current": "18", "max": "17", "temp": "" }
},
"skills": {
"occupationPoints": "0",
"interestPoints": "0",
"skillsList": [/* 技能列表 */]
},
"combat": {
"damageBonus": "+1d4",
"spiritBonus": "0",
"build": "1",
"armor": "1"
},
"weapons": [/* 武器列表 */],
"customSkills": [/* 自定义技能 */],
"items": [/* 道具列表 */],
"notes": [/* 笔记条目 */],
"version": "1.3.0"
}- 打印样式通过
@media print实现,使用与屏幕一致的 Grid 网格布局(位于css/print.css) - 头像以 dataURL(JPEG,1024×1024,质量 0.92)内嵌在角色数据中,随导入导出一起流转
- 输入验证限制:
- 数字字段仅接受0-999整数
- 文本字段最大长度255字符
- File System Access API 仅在 Chrome/Edge 86+ 可用
- 导入时会覆盖当前所有数据,请确认后再操作
© 2024 大胡子跑团
设计:龙王 jumper.rong@outlook.com
许可协议:CC BY-NC-SA 4.0
本作品与混沌元素(Chaosium)官方无关联,仅供爱好者交流使用