2
0
Fork 0

卡帧时间配置改为帧数

master
cd 2 years ago
parent 7628a84936
commit 629687d366

@ -77,10 +77,10 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
var damageResult = SettleDamage(hitInfo, entity, target); //伤害结算 var damageResult = SettleDamage(hitInfo, entity, target); //伤害结算
var hitLevel = SettleHitLevel(hitInfo, damageResult, entity, target); //命中效果等级 var hitLevel = SettleHitLevel(hitInfo, damageResult, entity, target); //命中效果等级
var flowSpeed = SettleFlowSpeed(hitInfo, hitLevel, entity, target); //强制位移(击退、击飞、击落等) var flowSpeed = SettleFlowSpeed(hitInfo, hitLevel, entity, target); //强制位移(击退、击飞、击落等)
var pauseTime = SettlePause(hitInfo, hitLevel, entity, target); //卡帧
SettleSelfMoveForceScale(hitLevel, entity, target); //攻击者移动速度调整 SettleSelfMoveForceScale(hitLevel, entity, target); //攻击者移动速度调整
SettleBreak(flowSpeed, hitLevel, damageResult, entity, target); //打断技能/动画 SettleBreak(flowSpeed, hitLevel, damageResult, entity, target); //打断技能/动画
SettleBuff(hitLevel, entity, target); //添加硬直/击晕buff SettleBuff(hitLevel, entity, target); //添加硬直/击晕buff
SettlePause(hitInfo, hitLevel, entity, target); //卡帧
SettleTrigger(hitInfo, entity, target); //命中触发器 SettleTrigger(hitInfo, entity, target); //命中触发器
//纯表现 //纯表现
@ -89,7 +89,7 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
SettleFlash(hitLevel, entity, target); //闪白 SettleFlash(hitLevel, entity, target); //闪白
SettleShake(hitLevel, entity, target); //抖动 SettleShake(hitLevel, entity, target); //抖动
SettleScale(flowSpeed, entity, target); //抖动 SettleScale(flowSpeed, entity, target); //抖动
SettleGlobalEffect(hitInfo, hitLevel, damageResult, entity, target); //全局特效 SettleGlobalEffect(target, pauseTime); //全局特效
} }
if (skill.HitInfo.Count > 0) if (skill.HitInfo.Count > 0)
@ -321,16 +321,16 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
return flowSpeed; return flowSpeed;
} }
private static void SettlePause(SkillHitInfo hitInfo, EHitLevel hitLevel, GameEntity entity, GameEntity target) private static float SettlePause(SkillHitInfo hitInfo, EHitLevel hitLevel, GameEntity entity, GameEntity target)
{ {
if (target.IsMaster()) if (target.IsMaster())
{ {
//主角受击不卡帧 //主角受击不卡帧
return; return 0f;
} }
var param = hitInfo.SkillParam; var param = hitInfo.SkillParam;
var pauseTime = param.pauseTime; var pauseTime = 1f * param.pauseTime / GameConst.FPS;
if (hitLevel >= EHitLevel.ShieldBreak) if (hitLevel >= EHitLevel.ShieldBreak)
{ {
@ -359,6 +359,7 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
Util.EntityPause(entity, pauseTime); Util.EntityPause(entity, pauseTime);
Util.EntityPause(target, pauseTime); Util.EntityPause(target, pauseTime);
return pauseTime;
} }
private static void SettleSelfMoveForceScale(EHitLevel hitLevel, GameEntity entity, GameEntity target) private static void SettleSelfMoveForceScale(EHitLevel hitLevel, GameEntity entity, GameEntity target)
@ -577,8 +578,7 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
Util.EntityScale(target, dir); Util.EntityScale(target, dir);
} }
private static void SettleGlobalEffect(SkillHitInfo hitInfo, EHitLevel hitLevel, SettleDamageResult dmgResult, private static void SettleGlobalEffect(GameEntity target, float pauseTime)
GameEntity entity, GameEntity target)
{ {
if (target.IsMaster()) if (target.IsMaster())
{ {
@ -589,7 +589,6 @@ public class SettleSystem : IExecuteSystem, IInitializeSystem
return; return;
} }
var pauseTime = hitInfo.SkillParam.pauseTime;
if (pauseTime >= 0.1f) if (pauseTime >= 0.1f)
{ {
Util.Shake(); Util.Shake();

@ -718,7 +718,7 @@ MonoBehaviour:
damageRate: 1 damageRate: 1
stunRate: 1 stunRate: 1
staggerLevel: 2 staggerLevel: 2
pauseTime: 0.05 pauseTime: 20
hitId: 0 hitId: 0
hitType: 0 hitType: 0
Type: 2 Type: 2

@ -12,7 +12,7 @@ public class AttackBehaviour : PlayableBehaviour
[Rename("伤害修正")] public float damageRate; [Rename("伤害修正")] public float damageRate;
[Rename("眩晕修正")] public float stunRate; [Rename("眩晕修正")] public float stunRate;
[Rename("硬直等级")] public int staggerLevel = 2; [Rename("硬直等级")] public int staggerLevel = 2;
[Rename("卡帧时间")] public float pauseTime; [Rename("卡帧时间(帧)")] public int pauseTime;
[Rename("命中id")] public int hitId; //同一hitId视为一段伤害 [Rename("命中id")] public int hitId; //同一hitId视为一段伤害
[Rename("伤害类型")] public EHitType hitType; [Rename("伤害类型")] public EHitType hitType;
[Rename("命中形状")] public EShapeType Type; [Rename("命中形状")] public EShapeType Type;

Loading…
Cancel
Save