客户端的指令,包括移动 放技能 找NPC
用这个的目的是为了战斗手感的优化,每个Command会存起来,500ms以内都能执行。
客户端玩家的动作的抽象,包括移动、放技能、采集、读条等动作。
支持平行操作。
在执行某些动作的时候,可以设置是否不可移动、不可跳跃。
支持设置下一个动作,一种应用场景是,我对一个物体采集,但是距离不够,于是我会先执行移动动作,然后移动动作的下一个动作就是采集动作。
技能释放选择目标逻辑:不选目标 选目标 位置 方向
TryUseSkill UseSkill SkillSend
航海士特写NFT?
SkillTemplate -> 有哪些技能 主动 被动
SkillTemplate.PassiveSkillData -> 索引PassiveSkillData 包含哪些被动技能 触发时机
PassiveSkillData.PassiveEffectId ->索引 PassiveSkillEffect 包含哪些效果
PassiveSkillEffect.logicId要干嘛
宠物对生命值高于80%的目标造成的所有伤害提升10%。
每次造成伤害前,判断是否高于80%
若高于 则加一个增伤10%buf 100ms??
操作逻辑 -> 释放检测 -> 选目标 -> 打效果
SkillTrans.txt 有impact的buff则转成新技能ideffectLogic -> calTargetList
主动:技能->progress->触发某个effect->找目标打impact
被动
首先,被动技能如何触发?
在某种事件发生之后,比如血量改变后,比如造成伤害后,
其次,触发的条件有哪些?
这里有两种条件,状态类的和触发类的。
状态类的:血量百分比位于30%到70%区间之内则生效。
触发类的:造成伤害值大于300点血则生效。
被动技能有两种类型,常驻类的和触发类的。
常驻类的就是事件触发后判断状态,当状态满足,进OnActive,并且如果已经是Active了,就不会再进OnActive;
当状态不满足,进OnInactive。
触发类的就是事件触发后,触发条件分为TriggerCondition和LeaveCondition,二者出发后分别走OnActive和OnInactive,并且可以无限触发。
护盾状态下受到的伤害减少20%
触发时机是什么?受到伤害后
判断条件是什么?Judge,有护盾
最终效果是什么?减伤20%,怎么实现?上一个减伤
另一个做法。
要干什么?受伤减少20%
怎么实现?用属性实现,设置减伤属性20%
什么时候设置有?有护盾的时候。
什么时候设置无?没护盾的时候。
触发时机是什么?护盾状态改变的时候。
客户端放个技能 客户端先进CD 默认CD5000秒
服务器放完之后或者打断之后 同步CD给客户端 真实CD
如果这个技能被打断 但是服务器又不同步CD 就一直走的5000秒默认CD 除非这个技能放完了 才能变成真实CD
服务器确实同步CD了 同步的CD是0 0直接return了
###
ClientCommand