Warning: session_write_close(): write failed: No space left on device (28) in /up_wiki/doku.php on line 123
Warning: session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/sessions) in /up_wiki/doku.php on line 123
======技能框架======
[[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的很自由的扩展方式