曾经断断续续写了几年的类似war3的、暗黑风格的战斗引擎,今天抽空补个README纪念一下。
名字就是当初创建项目的名字。
感谢暴雪的《Warcraft III》地图编辑器给我带来的设计灵感。
底层渲染引擎为cocos2dx 3.x,另有Unity支持联机的版本移植工程进行中…
- C++
- Lua
抽象树(仅列举了部分核心元素)
├─单位
├─抛射物
│ ├─发射类型
│ │ ├─单位到单位
│ │ ├─单位到点
│ │ ├─点到单位
│ │ └─点到点
│ └─路径类型
│ ├─跟踪
│ ├─直行
│ └─连接
├─触发器
│ ├─血量变化时触发
│ ├─等级変化时触发
│ ├─每游戏刻触发
│ ├─复活时触发
│ ├─死亡时触发
│ ├─死亡后触发
│ ├─抛射物产生作用时触发
│ ├─抛射物抵达时触发
│ ├─攻击发出时被攻击者触发
│ ├─攻击命中后受害者触发
│ ├─攻击命中后攻击者触发
│ ├─攻击命中时受害者触发
│ ├─攻击抵达时受害者触发
│ ├─技能CD开始时触发
│ ├─技能CD结束时触发
│ ├─添加主动技能时触发
│ ├─删除主动技能时触发
│ ├─添加被动技能时触发
│ ├─删除被动技能时触发
│ ├─添加BUFF时触发
│ └─删除BUFF时触发
├─目标
│ ├─无目标
│ ├─单位目标
│ └─点目标
└─技能
├─主动技能
│ ├─普通攻击
│ ├─主动型BUFF附加器
│ ├─召唤单位
│ └─抛射物弹幕
├─被动技能
│ ├─范围型BUFF附加器(光环)
│ ├─普攻概率型释放主动技能
│ ├─普攻概率型BUFF附加器
│ ├─属性变化
│ ├─显示HUD
│ ├─吸血
│ ├─溅射
│ ├─连击
│ ├─闪避
│ └─重生
└─BUFF
├─附加伤害(倍伤或固伤)
├─眩晕
├─变速
├─移动
├─HP变化
├─闪避
├─引起单位间传递
├─发射抛射物(施加者向拥有者发射)
├─反弹抛射物
├─时限生命
├─时限技能
├─冲刺跳跃
└─瞬移至背后
- Dota谜团大招技能黑洞
主动技能·召唤单位(
单位(
BUFF·时限生命 + BUFF·时限技能(
被动技能·范围型BUFF附加器即光环(
BUFF·眩晕 + BUFF·附加伤害 + BUFF·移动/*向BUFF施加者移动*/
)
)
)
)
- 野蛮冲撞
主动技能·主动型BUFF附加器(
BUFF·变速/*移速大幅增加*/ + BUFF·时限技能(
被动技能·范围型BUFF附加器即光环( /*范围设置成约等于单位触碰半径,作用目标为敌军*/
BUFF·眩晕
)
)
)
- 操作型反弹抛射物(抛射物袭来时,抓准时机挥剑,将抛射物反弹给攻击者)
主动技能·主动型BUFF附加器( /*技能释放动作设为挥剑;技能CD设为0.5秒*/
BUFF·反弹抛射物
)
- 攻击时有一定概率产生闪电链
被动技能·普攻概率型BUFF附加器(
BUFF·引起单位间传递(
BUFF·附加伤害 + BUFF·发射抛射物(
抛射物(
路径类型(单位到单位) + 发射类型(连接) + 模型(闪电)
/*Dota月骑普攻弹射,只需要改为:路径类型(单位到单位) + 发射类型(跟踪) + 模型(与普攻抛射物相同)*/
)
)
)
)