喵星签到 & 养成对战系统 (Daily Check-in & Growth System)
✨ 一个为 QQ 群聊设计的、从轻量级签到平滑过渡到深度角色养成与策略对战的综合性插件。
本插件旨在为用户提供一个“轻量化上手,缓慢但持续增长”的长期养成体验。其核心是通过签到获取资源 -> 抽奖/购买提升属性 -> 强化装备 -> 策略PVP对战的闭环,将每日的简单互动转化为富有成就感的角色成长。
✨ 插件特色 (Features)
- 独创的主题签到: 告别枯燥的数字,每日签到将获得一份精心设计的“喵星人品检测报告书”,包含随机品级与趣味签文。
- 深度的角色养成: 拥有
5项核心五维与10项专业衍生属性(血量、攻击、防御、暴击、格挡等),每个决策都将影响你的最终战力。 - 独立的职业装备体系: 内置
4大职业,每个职业都拥有5个独立槽位的专属装备。玩家可以自由切换职业,体验不同的养成路线。 - 富有策略的强化系统: 采用非线性收敛公式,强化等级越高,收益越平滑,避免数值爆炸,同时考验玩家的资源分配策略。
- 激动人心的PVP对战: 完善的回合制战斗逻辑,综合考量速度、命中、闪避、暴击、格挡、防御、追加回合等多种因素,每一场对决都充满变数。
- 高度可配置性: 管理员可通过 AstrBot 后台轻松调整签到、商店、能级等核心参数,打造最适合自己社群的游戏环境。(可能存在BUG,随缘修)
- 精美的格式化输出: 所有指令的回复都经过精心排版,旨在提供最佳的视觉体验。
- 开箱即用: 所有内容全部预设好,开箱即可使用。
- 支持QQ官方机器人: 其它平台暂未测试。
🚀 快速上手 (Quick Start)
- 安装: 通过 AstrBot 插件市场搜索并安装本插件。
- 配置 (可选): 在 AstrBot 管理后台的“插件配置”页面,你可以找到本插件的所有可配置项,根据你的需求进行调整。通常情况下,默认配置即可良好运行。
- 开始游戏:
- 作为新玩家,你需要做的第一件事是在群里发送
/jrrp或/签到。系统会自动为你创建角色。 - 创建角色后,请务必使用
/设置昵称 [你的专属昵称]来完成注册。这个昵称将是你在游戏世界中的唯一标识!
- 作为新玩家,你需要做的第一件事是在群里发送
🎮 指令大全 (Command List)
| 指令 (Command) | 参数 (Parameters) | 描述 (Description) |
|---|---|---|
/jrrp (或 签到) |
无 | 进行每日签到,获取人品、资源和可能的彩蛋奖励。 |
/状态 (或 status) |
无 | 显示你当前最全面的角色面板,包括资源、装备、五维和衍生属性。 |
/设置昵称 |
[新昵称] |
设置或更改你在游戏中的唯一昵称(必须设置!)。 |
/切换职业 |
[职业名/数字] |
切换你当前激活的职业。例如:/切换职业 2 或 /切换职业 狂刃战士。 |
/商店 (或 shop) |
无 | 查看当日的属性商店和抽奖券价格。 |
/购买 |
[物品名] [数量] |
购买属性点或抽奖券。例如:/购买 力量 5 或 /购买 抽奖券 10。 |
/抽奖 (或 draw) |
[可选: 数量] |
消耗抽奖券进行抽奖。例如:/抽奖 或 /抽奖 10。 |
/强化 (或 enhance) |
[装备槽位] |
强化你当前职业的指定装备。例如:/强化 武器。 |
/PVP (或 挑战) |
[目标昵称] |
向指定昵称的玩家发起一场PVP对决。 |
/显示昵称 |
无 | 查看当前所有已注册玩家的昵称列表。 |
🔧 插件配置项详解 (Configuration Details)
本插件支持通过 _conf_schema.json 在 AstrBot 后台进行可视化配置。主要配置项包括:
check_in_settings: 控制签到的基础人品范围、连续签到加成上限等。shop_settings: 控制商店属性的基础价格、浮动范围、每日限购次数以及抽奖券的基础价格。level_formula&level_ranks: 控制能级的计算公式系数和等级划分。system_settings: 控制数据自动保存的间隔等系统级参数。
展望未来 (Future Roadmap)
- PVE 系统: 引入强大的世界BOSS和副本,玩家可以挑战它们以获得稀有奖励。
- 排行榜系统: 设立能级榜、财富榜、PVP胜率榜等,激励玩家竞争。
- 活动模块: 开放更多节日活动和限时任务。
❤️ 致谢 (Acknowledgements)
本插件由 Gemini 进行代码开发、本人负责全流程监修(摸鱼)
感谢每一位使用本插件的玩家,祝您游戏愉快!
❤️ 附录
战斗系统核心规则
一、步骤1:速度判定先手方(回合发起权)
判定逻辑:
- 若
SPD_攻 > SPD_防→ 攻击方先手 - 若
SPD_攻 < SPD_防→ 防御方转为攻击方(角色互换) - 若
SPD_攻 = SPD_防:- 生成随机数
Rand_SPD(0-100) Rand_SPD ≤ 50:攻击方先手Rand_SPD > 50:防御方转为攻击方
→ 进入步骤2
- 生成随机数
二、步骤2:命中判定
计算公式:Hit_Real = max{ min(HIT%_攻 - EVD%_防, 100%), 5% }
判定逻辑:
- 生成随机数
Rand(0-100)Rand ≤ Hit_Real→ 命中(进入步骤3)Rand > Hit_Real→ 未命中(进入步骤7)
三、步骤3:基础伤害计算(含暴击)
暴击判定:
- 生成随机数
Rand_Crit(0-100)Rand_Crit ≤ CRIT%_攻→ 触发暴击Rand_Crit > CRIT%_攻→ 未暴击
伤害计算:
DMG_Base = ATK_攻 // 未暴击
DMG_Crit = DMG_Base × CRIT_MUL_攻 // 暴击伤害
DMG_Pre = { DMG_Crit (暴击) | DMG_Base (未暴击) }
四、步骤4-5:格挡判定与减伤
格挡判定:
- 生成随机数
Rand_Blk(0-100)Rand_Blk ≤ BLK%_防→ 触发格挡Rand_Blk > BLK%_防→ 未格挡(直接进入步骤6)
格挡减伤:DMG_Blked = DMG_Pre × (1 - BLK_MUL_防)
五、步骤6:防御结算与死亡检查
防御减伤公式:DR_Def = min{ DEF_防 / (DEF_防 + 100), 75% }
最终伤害:
触发格挡: DMG_Final = max{ DMG_Blked × (1 - DR_Def), 1 }
未格挡: DMG_Final = max{ DMG_Pre × (1 - DR_Def), 1 }
死亡检查:
- 防御方剩余HP = 当前HP - DMG_Final
剩余HP ≤ 0→ 战斗结束(攻击方胜)剩余HP > 0→ 进入步骤7
六、步骤7:追加回合判定
基础概率公式:Add_Rate_Base = min( SPD_攻 / (SPD_攻 + SPD_防) × 25%, 50% )
衰减规则:
| 追加次数 | 当前概率公式 |
|---|---|
| 第1次 | Add_Rate_Cur = Add_Rate_Base |
| 第2次 | Add_Rate_Cur = Add_Rate_Base × 50% |
| ≥3次 | 0%(最多追加2次) |
判定逻辑:
- 生成随机数
Rand_Add(0-100)Rand_Add ≤ Add_Rate_Cur→ 触发追加(返回步骤2)Rand_Add > Add_Rate_Cur→ 进入步骤8
七、步骤8:回合交替
- 原攻击方 → 新防御方
- 原防御方 → 新攻击方
- 返回步骤2进行新回合
附1:核心参数约束表
| 参数类型 | 符号 | 约束范围/固定值 | 作用说明 |
|---|---|---|---|
| 概率属性 | CRIT%_攻 |
≤50% | 暴击率上限 |
| 概率属性 | BLK%_防 |
≤40% | 格挡率上限 |
| 概率属性 | HIT%_攻 |
≤100% | 命中率上限 |
| 概率属性 | EVD%_防 |
≤25% | 闪避率上限 |
| 倍率属性 | CRIT_MUL_攻 |
≤250% | 暴击伤害倍率上限 |
| 倍率属性 | BLK_MUL_防 |
≤50% | 格挡减伤比例上限 |
| 平衡常数 | K |
固定100 | 防御公式平衡常数 |
| 减伤上限 | DR_Def |
≤75% | 防御减伤上限 |
| 追加回合 | 最大次数 | 3次 | 防止无限连击 |
| 战斗轮次目标 | 同水平玩家 | ≈10轮 | 核心战斗时长设计目标 |
附2:衍生属性计算公式
| 属性 | 计算公式 |
|---|---|
| 基础血量 | HP₍base₎ = 50×T + 20×S + 10×I |
| 基础攻击力 | ATK₍base₎ = 8×S + 3×A + 0.5×I |
| 基础防御力 | DEF₍base₎ = 5×T + 2×S + √A |
| 基础速度 | SPD₍base₎ = 3×A + 0.5×I + 0.2×C |
| 基础暴击率 | CRIT₍base₎% = 15×(1 - e⁻⁰·⁰³×A) + 5×[C/(C+50)] |
| 暴击倍率 | CRIT_MUL₍final₎ = min(1.5 + 0.015×S + 0.01×min(C,50), 2.5) |
| 基础命中率 | HIT₍base₎% = 80 + 15×[I/(I+30)] + 5×[A/(A+100)] |
| 基础闪避率 | EVD₍base₎% = 15×(1 - e⁻⁰·⁰³×A) + 5×[T/(T+100)] |
| 基础格挡率 | BLK₍base₎% = 20×[T/(T+50)] + 5×[S/(S+100)] |
| 格挡倍率 | BLK_MUL₍final₎ = min(0.35 + 0.002×T + 0.001×S, 0.5) |
符号说明:
S=力量,T=体力,A=敏捷,C=魅力,I=智力