Back to Registry
View Author Profile
Official Verified
rpg-text
文字角色扮演游戏 (Text RPG) - 基于 sbordeyne/rpg-text 项目的面向对象设计,融合原始D&D规则。AI作为DM引导回合制冒险。
skill-install — Terminal
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/beancookie/rpg-textOr
Text RPG - 文字角色扮演游戏 v2.0
概述
这是一个基于面向对象设计的文字RPG引擎,融合了原始D&D规则。AI作为DM(地下城主),通过自然对话引导玩家进行回合制冒险。
核心架构
数据驱动系统
所有游戏数据通过 JSON 文件定义,便于扩展:
data/
├── characters.json # NPC数据
├── items.json # 物品目录
├── jobs.json # 职业定义
├── monsters.json # 怪物图鉴
├── spells.json # 法术列表
├── maps/ # 地图数据
├── loot_tables.json # 战利品表
└── treasures.json # 宝藏表
核心类结构
Entity (基类)
├── Player # 玩家角色
├── Monster # 怪物
└── NPC # 非玩家角色
Game Systems:
├── CharacterSystem # 角色系统
├── CombatSystem # 战斗系统
├── InventorySystem # 背包系统
├── QuestSystem # 任务系统
├── MapSystem # 地图系统
└── SaveLoadSystem # 存档系统
职业系统 (Jobs)
| 职业 | HP骰 | MP骰 | 主属性 | 特点 |
|---|---|---|---|---|
| 战士 (fighter) | d8 | d4 | STR | 高血量,擅长武器 |
| 法师 (wizard) | d4 | d10 | INT | 奥术魔法 |
| 盗贼 (thief) | d4 | d4 | DEX | 潜行、偷袭 |
| 牧师 (cleric) | d6 | d6 | WIS | 神圣魔法 |
| 平民 (commoner) | d4 | d4 | STR | 基础职业 |
职业豁免检定 (Saving Throws)
| 职业 | 毒素 | 魔杖 | 麻痹 | 吐息 | 法术 |
|---|---|---|---|---|---|
| 战士 | 12 | 13 | 14 | 15 | 16 |
| 法师 | 13 | 14 | 13 | 16 | 15 |
| 盗贼 | 13 | 14 | 13 | 16 | 15 |
| 牧师 | 11 | 12 | 14 | 16 | 15 |
| 平民 | 15 | 14 | 16 | 17 | 16 |
属性系统 (Ability Scores)
六维属性:力量(STR)、敏捷(DEX)、体质(CON)、智力(INT)、感知(WIS)、魅力(CHA)
属性修正值: (属性值 - 10) // 2
属性关联
| 属性 | 影响 |
|---|---|
| 力量 | 物理伤害、携带重量 |
| 敏捷 | AC、远程攻击、闪避 |
| 体质 | HP最大值 |
| 智力 | 法术豁免、法术位 |
| 感知 | 治疗、法术豁免 |
| 魅力 | 交易、社交 |
怪物数据 (Monsters)
蜘蛛类
| 怪物 | 等级 | AC | HP | 攻击 | 伤害 | XP |
|---|---|---|---|---|---|---|
| giant_bee | 1 | 7 | 1d3 | sting | 1d3+poison | 6 |
| crab_spider | 2 | 7 | 2d8 | bite | 1d8+poison | 25 |
| black_widow | 3 | 6 | 3d6 | bite | 2d6+poison | 50 |
| tarantula | 4 | 5 | 4d8 | bite | 1d8+poison | 125 |
人形生物
| 怪物 | 等级 | AC | HP | 攻击 | 伤害 | XP | 宝藏 |
|---|---|---|---|---|---|---|---|
| bat | 1 | 6 | 0d1+1 | scream | 0d1+confusion | 5 | - |
| giant_bat | 2 | 6 | 2d4 | bite | 1d4 | 20 | - |
| goblin | 1 | 6 | 1d8-1 | sword | 1d6 | 50 | R |
| goblin-warchief | 2 | 5 | 2d6 | sword | 1d6 | 75 | R |
| goblin-king | 3 | 4 | 0d8+15 | sword | 1d6 | 100 | R |
| bandit | 1 | 6 | 1d6 | sword | 1d6 | 10 | U |
| berserker | 1 | 7 | 1d8+1 | broadsword | 1d10 | 19 | P |
| wolf | 1 | 9 | 1d6 | maw/claw | 1d6/1d4+bleed | 30 | - |
| rock_baboon | 2 | 6 | 2d6 | club/bite | 1d6/1d3 | 20 | U |
宝藏类型
- U (Unspecified): 无特定战利品
- P (Poor): 少量金币
- R (Rich): 中等战利品
- 普通怪物掉落: 按 xp_value/10 = 金币
战斗系统
攻击命中
# 命中公式
target_ac = (20 - 基础AC) + 等级差 + AC修正
roll = 1d20 + 命中修正
命中 = roll >= target_ac
伤害公式
# 从 data/monsters.json 读取
damage = parse_dice_format(attack_dice) # 如 "2d6" -> 7 (平均值)
战斗流程
- 遭遇: 怪物出现,战斗开始
- 先攻: 1d20 + DEX修正,决定顺序
- 回合: 攻击/逃跑/使用物品/施法
- 结算: 经验值分配,战利品掉落
战斗命令
Metadata
AI Skill Finder
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skill Add to Configuration
Paste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-beancookie-rpg-text": {
"enabled": true,
"auto_update": true
}
}
}Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.