#battle #effect #pokemon #engine #condition #side #move

nightly battler

宝可梦战斗引擎,基于Rust语言编写

6个版本 (3个重大更新)

0.4.1 2024年8月10日
0.4.0 2024年8月10日
0.3.1 2024年7月28日
0.2.0 2024年7月7日
0.1.0 2023年10月14日

#1 in #battle

Download history 80/week @ 2024-07-01 46/week @ 2024-07-08 169/week @ 2024-07-22 109/week @ 2024-07-29 173/week @ 2024-08-05 55/week @ 2024-08-12

每月下载量 506次

MIT许可证

1.5MB
33K SLoC

battler

battler 是基于宝可梦游戏的战斗引擎和模拟器,使用Rust语言编写。

战斗引擎基于以下原则设计

  1. 自包含的战斗控制解决方案。可以使用该引擎和相关效果数据轻松运行战斗。
  2. 战斗引擎和战斗客户端之间的分离。此引擎专注于生成战斗日志,可以轻松由战斗客户端显示和重放。
  3. 通过直接在效果数据上编写的解释性语言,支持对各种效果进行高级定制。

功能

  • 战斗类型。
    • 单打。
    • 双打。
    • 三人战斗。
    • 多人战斗。
  • 队伍验证。
  • 队伍预览。
  • 切换。
  • 技能。
    • 优先级和速度排序。
    • PP检查和扣除。
    • 伤害计算和修改器。
    • 类型效果和免疫。
    • 暴击。
    • 躲避和准确性检查。
    • 一击必杀。
    • 自我毁灭。
    • 自我切换(包括接力棒传递)。
    • 后坐力。
    • 多击。
    • 用户和目标效果。
    • 属性提升。
    • 治疗。
    • 吸取。
    • 强制切换。
    • 针对用户和目标的次要效果。
    • 两回合技能(例如,飞行,挖掘)。
    • 多回合技能(例如,忍辱负重)。
    • 锁定技能(例如,践踏,花瓣舞)。
    • 自定义伤害计算(例如,低踢,心灵波)。
    • 在技能中使用技能(例如,模仿,镜像移动,节拍器)。
    • 自定义技能易变条件。
    • 禁用技能。
    • 变形。
    • 替代。
    • 保护。
  • 状态条件(烧伤,麻痹,睡眠,冰冻,毒素,恶毒)。
  • 易变条件(例如,混乱,部分陷入,闪避,充电)。
  • 副作用。
  • 进入陷阱。
  • 槽条件(例如,预知未来)。
  • 天气。
  • 单人游戏机制。
    • 经验。
    • 升级和技能学习。
    • EV。
    • 逃跑。
    • 好感。
    • 不服从。
  • 团伙战斗支持。

路线图

  • 捕获机制。
  • 能力。
  • 场地上效果。
  • 物品。

依赖项

~7–9.5MB
~176K SLoC