稍微有点内容的游戏,都会有技能系统,而丰富的技能又是游戏有趣的主要判定因素。所以可以支持提供丰富技能表现就是技能系统的主要目标。
一般来说,以魔兽,Dota为例技能都是触发式的,这里就介绍一种简易的触发式技能系统。
系统包括几个基本概念:
Skill:
角色拥有的基本逻辑,每个角色都可以用过数个或是数十个Skill,他们可以是技能,可以是Buff,可以是DeBuff等等。
Trigger:
触发器,装载在Skill上的,常住逻辑块,接收事件(Event),执行操作(Action)。
Action:
操作,瞬时逻辑块,执行一个行为,比如挥砍。
Predicate:
条件判断,在执行Action前可以进行条件判断。
Event:
事件,和触发器一起使用,比如角色死亡事件。
技能的配置文件格式如下:
// Triggers
"ExpTrigger" :
{
"Events" :
[
{
"event" : "OnMonsterDie",
}
],
"Actions" :
[
{
"action" : "AddExp",
"value" : 100,
},
],
},
"AttackTrigger