询问一个代码思路,请各位大牛给个指点,轻拍砖

是这样的,想做一个类似于魔兽的宠物天赋树一样的东西,一个宠物可以有多个技能,而且可以解锁或者不解锁技能,技能有对应的技能伤害和技能动画,但是具体怎么写还是没有头绪,肯定不能是每个宠物类都写一大堆技能函数吧,但是我也想不出更好地思路来,请求各位大牛能够不吝赐教,另外,不同的宠物间有可能学会同样的技能,所以技能树怎么设计就没有头绪;顺便说下,我使用quick开发的,所以最好能是lua版本的设计思路。

大致说一些我的思路吧
首先是宠物,技能,特效,buff都是相互独立的模块
宠物可以携带技能,技能携带特效和buff,相互之间随意组合,通过ID相互关联。
不同宠物的天赋树通过配置事先配好(结构没细想,大概就是按父节点,子节点的关系定义出来),通过天赋树ID和宠物配置关联。
宠物类主要负责宠物本身的属性,动画和状态机管理。
技能类只要负责技能流程,技能的吟唱,释放,中断,结束等。
特效类和技能类配合,显示技能动画。
buff类和技能类配合,实现复杂技能逻辑,如持续掉血,光环,定身等。
这样应该能实现大部分技能效果。