随手记-技能拆分

来源:互联网 发布:端口号怎么设置 编辑:程序博客网 时间:2024/06/02 05:19

  • 技能分类
  • 基本属性定义
  • 等级属性
  • 施放基础
    • 基类
    • 例子
  • 技能状态
    • 状态属性
    • 状态管理定时轮循
  • 技能施放

技能分类

  1. 立即触发类

  2. 火球、飞弹类

    需要经过一定的飞行距离:
    火球术
    冰箭术

  3. 触发相应的状态

    (如:战吼、施放后增加自身的攻击力)

  4. 回城类

  5. 骑乘类

  6. 捕捉宠物

  7. 采集类等生活技能

  8. 复活类

  9. 飞行类

    (施放成功后传送到指定的地点或者召唤某人到自己身边)

基本属性定义

  • 所属职业(战士、法师)

  • 技能自我否定类型

    1. 魔法是否足够
    2. 是否冷却中
    3. 是否被沉默
    4. 是否被致盲
  • 技能目标否定类型

    1. 施法距离是否合法
    2. 宠物否决
    3. 公会成员否决
    4. BOSS否决
  • 关系过滤

    1. 对所有关系都有效
    2. 只对夫妻有效
    3. 只对队友有效果
  • 技能施放目标

    1. 自己
    2. 宠物技能跳向主人
    3. 夫妻传送
  • 技能种类

  • 打断方式

    1. 移动
    2. 死亡
    3. 普通攻击
    4. 技能攻击
    5. 被攻击
    6. 使用物品
  • 移动锁定

  • 技能主被动类型

    1. 主动攻击技能
    2. 主动辅助(加BUFFER)
    3. 攻击时触发的技能
    4. 被击时触发的技能
    5. 被动辅助
    6. 替宠物施放技能

等级属性

  • 冷却时间
  • 吟唱时间
  • 触发机率
  • 结算公式

施放基础

基类

基础方法:开始施放,施放过程每次循环触发,施放完成,被打断
基础属性:打断方式、延迟时间,基础属性通过上面的读表获取

例子

复活技能:CSkill_Relive:public cSkillBase

施放前触发DoStart()通知目标玩家是否同意被复活;
DoFinish复活目标玩家

飞行技能:class CSkill_FlytoOther : public cSkillBase

施放前触发DoStart()检查目标玩家和施放源是否存在;
DoFinish根据目标玩家的位置,传送到目标玩家身边

技能状态

状态属性

  • 最大个数

  • 状态效果

    1. 不能移动
    2. 禁魔不能施法
    3. 隐身
    4. 不能攻击
    5. 无敌
    6. GM无敌
    7. 强行攻击状态的释放者
    8. 变身状态
    9. 次数盾
    10. 伤害盾
    11. 附加伤害
    12. 附加被伤
    13. 魔法盾
    14. 完全闪避
  • 是否允许打断

  • 是否需要保存

  • 打断方式

  • 效果类型

    1. 一般技能
    2. DOT(damage over time 持续伤害法术)状态
    3. 控制状态
    4. 经验
    5. 挂机BUFF
    6. 骑乘BUFF
    7. 回血
    8. 回魔
    9. 嘲讽
    10. 法器BUFF
    11. 沉默
    12. 怪物一般技能
    13. DOTHOT状态
    14. 控制状态
    15. 经验
    16. 挂机BUFF
    17. 骑乘BUFF
    18. 变身BUFF
    19. 回血
    20. 回魔
    21. 无敌
    22. 嘲讽
    23. 沉默
    24. 隐身
    25. 公会技能
  • 持续时间

  • 持续次数

  • 间隔时间

  • 结算方式

    1. 下标结算
    2. 公式结算
    3. 间隔释放技能
  • 属性变化

    1. 状态改变人物的属性

状态管理(定时轮循)

定时刷新人物身上的状态,根据状态的间隔时间计算触发每次状态的结算,并且根据结算的类型进行相应的计算:
每次触发EachTime例如(目标玩家踩到了陷阱则中了陷阱状态,每隔5秒钟扣取5%的血量),状态结束触发DoFinish

技能施放

有了技能的施放和状态属性之后,可以进行技能的施放。
DoSkill基本的检查(例如:职业匹配、读者技能表格基础属性、寻找范围内目标、触发打断其他技能)
检查通过后,加入技能施放管理状态(根据DoSkill搜寻的目标设置状态的目标群、设置状态的表格数据、持续次数等)

0 0
原创粉丝点击