======技能框架====== [[generated:hero_config]] 英雄配置 [[generated:skill_config]] 技能配置 [[generated:skill_behavior_config]] 技能行为配置 [[generated:buff_config]] buff配置 =====技能表现===== 技能表现主要分为 释放(Cast) 和 结果(Result) 两个大类 释放中又细分为 施放者效果(Cast) 和 全局效果(Show) 结果分为 飞行(Fly) 和 (Hit命中) 一个技能至少有一个释放体, 但有若干个结果 释放的表现预制体为 EffectBattleSkillCast 的 Clone 结果表现预制体为 EffectBattleSkillResult 的 Clone 其中几个主要控件的位置: |Cast |绑定在施放者上 | |Show |自由摆放 | |Fly |绑定在施放者,指向目标 | |Hit |绑定在目标上 | **几个时机** {{:pasted:20190119-185749.png}} * 开始结果表现的时机,配置在释放结果中,释放结果是有类型区别的 参考[[generated:SKILL_RESULT_TYPE]] {{:pasted:20190119-190039.png}} * 技能结算可以触发 OnTargetHurt(执行目标受伤动画,可能多套) 和 OnResult(跳数字,变血条) **事件绑定的方法** {{:pasted:20190119-190322.png}} =====技能扩展===== --- //[[shenmo@riceman.com.cn|沈默]] 2019/05/05 17:07// ====枚举改动==== [[generated:ATTRIB]] 属性部分增加 | [44] | DMG_RESIST |免伤率 | | [45] | NORMAL_RESIST |普攻免伤率 | | [46] | SKILL_RESIST |技能免伤率 | | [47] | SKILL_CRITICAL |技能额外暴击率 | | [51] | RED_RESIST_R |红色抗性(可以是负数) | | [52] | GREEN_RESIST_R |绿色抗性(可以是负数) | | [53] | BLUE_RESIST_R |蓝色抗性(可以是负数) | | [54] | YELLOW_RESIST_R |黄色抗性(可以是负数) | | [55] | PURPLE_RESIST_R |紫色抗性(可以是负数) | | [61] | RED_EXTRA_R |对红色伤害额外提高 | | [62] | GREEN_EXTRA_R |对绿色伤害额外提高 | | [63] | BLUE_EXTRA_R |对蓝色伤害额外提高 | | [64] | YELLOW_EXTRA_R |对黄色伤害额外提高 | | [65] | PURPLE_EXTRA_R |对紫色伤害额外提高 | [[generated:SKILL_TARGET_TYPE]] 做出了调整 |1|ALL_ENEMY|敌方全体| |2|SINGLE_ENEMY|敌方目标单体| |3|GROUP_ENEMY|**敌方目标以及附近(三个)**| |4|NEAR_BY_ENEMY|**敌方目标的左右(两个)**| |6|OTHER_ENEMY|**敌方目标以外的所有(四个)**| |7|RANDOM_ENEMY|**敌方随机目标**| |8|HP_MIN_ENEMY|**敌方血量最少的目标**| |11|ALL_FRIEND|全部我方| |12|SINGLE_FRIEND|我方单体(道具用)| |13|GROUP_FRIEND|**我方目标以及附近(三个)**| |14|NEAR_BY_FRIEND|**我方目标的左右(两个)**| |15|SELF|我方施法者| |16|OTHER_FRIEND|**我方目标以外的(四个)**| |17|RANDOM_FRIEND|**我方随机队友(优先其他人而不是自己)**| |18|HP_MIN_FRIEND|**我方血量最少的队友**| 新增 枚举 [[generated:SKILL_ARG_SOURCE]] 技能来源参数,主要是采集一些过程参数,然后纳入后面的结算 |0|NONE|技能参数来源(无)| |1|TOTAL_DAMAGE|前面所有行为的伤害| |2|TOTAL_CRITICAL_DAMAGE|前面所有行为的暴击伤害| |3|TOTAL_COUNT|前面所有行为的击中数量| |4|TOTAL_CRITICAL_COUNT|前面所有行为的暴击数量| |5|TOTAL_KILL_COUNT|前面所有行为的击杀数量| |6|HP_COMPARE_TARGET|敌我HP百分比比较(敌方多为1)| |7|HP_COMPARE_SELF|敌我HP百分比比较(我方的多为1)| |8|HP_LOST|我方损失血量百分比| 技能效果方法。 [[generated:SKILL_EFFECT_TYPE]] 调整了部分枚举,其中前3个关联到了 [[generated:SKILL_ARG_SOURCE]] |[1] |DAMAGE_PERCENT |百分比伤害(参数1 百分比填正数,参数2 根据ArgSource的追加系数) | |[11] |HEAL_PERCENT |百分比治疗(参数2大于0时候 可以乘以 ArgSource的追加系数) | |[12] |HEAL_NUM |绝对值治疗(参数2大于0时候 可以乘以 ArgSource的追加系数) | |[44] |CAST_SKILL |几率性触发某后续技能(参数1:技能id(8开头) 参数2:几率) | |[45] |ROLL_SKILL |权重性触发某后续技能(参数1:技能id(8开头) 参数2:权重) | |[46] |PICK_SKILL |选择性触发某后续技能(参数1:技能id(8开头)要独立UI) | [[generated:BUFF_GROUP]] 新增[0] FOREVER 永久持续类(不可驱散,不会覆盖), 内部实现是用一个自增的大数字 [[generated:BUFF_EFFECT]] 新增 |[12]| HEAL 吸血(参数2,技能恢复的血量百分比) | |[13]| FEEDBACK 反噬(参数2,技能反噬的比例) | |[15]| OWNER_HEAL 造成伤害时给释放buff的人回血(参数2,回血比例) | |[16]| NO_BUFF 不能获得增益 | |[17]| SKILL_DAMAGE 技能增伤(参数2: buff类型(0/1/2), 参数3:单个增加技能伤害的数值) | |[21]| TURN_SKILL 回合结束的时候释放某个技能(参数2:技能id 参数3:技能参数, 参数4:技能参数) | |[22]| END_SKILL BUFF结束的时候释放某个技能(参数2:技能id 参数3:技能参数, 参数5:技能参数) | |[23]| DEAD_SKILL 死亡的时候释放某个技能(参数2:技能id 参数3:0是否触发一个回合) | |[24]| DEAD_OWNER_SKILL 死亡的时候由施法者释放某个技能(参数2:技能id 参数3:技能参数, 参数4:技能参数) | |[25]| HURT_SKILL 受到伤害时触发 | |[26]| DISPELL_SKILL 驱散时触发技能 | |[27]| DODGE_SKILL 躲闪后触发技能 | |[31]| SHIELD 护盾(参数2,护盾值,参数3 是否被击穿) | |[32]| SKILL_BLOCK 禁止释放技能 | |[33]| MANA_BLOCK 禁止回魔(用于表现) | |[34]| TIME_MACHINE 时光标记 | ====原型表改动==== [[generated:skill_config]] 新增 7:buff技能 8:连带技能(behavior 触发) [[generated:skill_behavior_config]]调整字段 [effect_condition] 生效条件 [[generated:ATTRIB]]的条件表达式,比如(7>0.5)表示血量大于50% 颜色过滤也可以这样用 \\ [buff_condition] 如果目标身上有该id的buff才生效,用于buff叠加,0表示不判断,负数表示仅在buff不存在的时候才能触发 \\ [arg_source] 技能额外来源参数 [[generated:SKILL_ARG_SOURCE]] \\ [arg_source_max] 技能额外来源参数最大值 [[generated:buff_config]].display_mode 显示模式 1:正常显示 0:不显示icon和长按 tips ====制作/填表技巧==== * 在这个回合实现 死亡后如何如何,或者临时增加技能属性,可以增加一个0回合的buff, 回合结束的时候会被移除 * 可以使用 arg_source / arg_source_max 来进行 特定输入的整合,主要在 按照暴击吸血,按照伤害回血,按照是否暴击来增加伤害等。arg_source_max 可以控制最大生效次数。 * buff叠加机制,可以通过skill_behavior_config.buff_condition 来判断 是否包含某个buff,如果是一个连续破甲之类的buff。\\ 我们可以通过 多个behavior + 多个buff的机制,进行buff替换。把不同堆叠的buff做成不同的buff * behavior可以对目标进行条件判断,从而达到一些过滤目的。 比如血量低于多少执行 behavior 1,高于则 behavior 2 \\ 还能配置不同的 技能表现 * 条件还可以用于颜色过滤 ,比如 (41=3)表示 ,只有 蓝色可以生效 * 一定概率 触发,可以通过 ROLL_SKILL权重性触发 来进行 抽奖 * 卡牌大师需要使用 PICK_SKILL选择性触发 * 回合结束时 需要回血等功能,配置成 TURN_SKILL 回合结束的时候释放某个技能 这样。配置合理的受击特效。 * 禁止回魔 、禁止施法、护盾 ,技能选择,这几个功能需要特别的UI逻辑 * OWNER_HEAL造成伤害时给释放buff的人回血 和 DEAD_OWNER_SKILL 死亡的时候由施法者释放某个技能 这两个需要记住buff的释放者 * 死亡后触发技能、回合结束触发技能、攻击躲闪后触发技能等,都是buff的很自由的扩展方式