|
|
|
|
@ -44,35 +44,41 @@ namespace Game
|
|
|
|
|
//投技 无需检测
|
|
|
|
|
var targetId = Owner.skill.ThrowTarget;
|
|
|
|
|
var target = Util.GetEntity(targetId);
|
|
|
|
|
if (!(target is null))
|
|
|
|
|
if (target is null) return;
|
|
|
|
|
|
|
|
|
|
//排除重复命中
|
|
|
|
|
var hitKey = new Tuple<int, int>(target.ID(), param.hitId);
|
|
|
|
|
if (skill.HitSet.Contains(hitKey)) return;
|
|
|
|
|
skill.HitSet.Add(hitKey);
|
|
|
|
|
|
|
|
|
|
var skillHitInfo = new SkillHitInfo
|
|
|
|
|
{
|
|
|
|
|
var skillHitInfo = new SkillHitInfo
|
|
|
|
|
{
|
|
|
|
|
SkillParam = param,
|
|
|
|
|
AttackRate = 1,
|
|
|
|
|
StunkRate = 1,
|
|
|
|
|
OwnerEntity = Owner.ID(),
|
|
|
|
|
HitEntity = Owner.skill.ThrowTarget,
|
|
|
|
|
HitDir = GetHitDir(param.hitDirType, target, castPos, castDir),
|
|
|
|
|
SkillId = skill.SkillId.Value,
|
|
|
|
|
IsBreak = true,
|
|
|
|
|
Rank = 1,
|
|
|
|
|
HitIndex = 1,
|
|
|
|
|
HitCount = 1,
|
|
|
|
|
Continue = false,
|
|
|
|
|
};
|
|
|
|
|
if (!string.IsNullOrEmpty(skillHitInfo.SkillId))
|
|
|
|
|
SkillParam = param,
|
|
|
|
|
AttackRate = 1,
|
|
|
|
|
StunkRate = 1,
|
|
|
|
|
OwnerEntity = Owner.ID(),
|
|
|
|
|
HitEntity = Owner.skill.ThrowTarget,
|
|
|
|
|
HitDir = GetHitDir(param.hitDirType, target, castPos, castDir),
|
|
|
|
|
SkillId = skill.SkillId.Value,
|
|
|
|
|
IsBreak = true,
|
|
|
|
|
Rank = 1,
|
|
|
|
|
HitIndex = 1,
|
|
|
|
|
HitCount = 1,
|
|
|
|
|
Continue = false,
|
|
|
|
|
};
|
|
|
|
|
if (!string.IsNullOrEmpty(skillHitInfo.SkillId))
|
|
|
|
|
{
|
|
|
|
|
var skillCfg = Util.GetSkillMasterConfigData(skillHitInfo.SkillId);
|
|
|
|
|
if (skillCfg != null)
|
|
|
|
|
{
|
|
|
|
|
var skillCfg = Util.GetSkillMasterConfigData(skillHitInfo.SkillId);
|
|
|
|
|
if (skillCfg != null)
|
|
|
|
|
{
|
|
|
|
|
var featureSkill = skillCfg.GetFeatureSkill();
|
|
|
|
|
skillHitInfo.AttackRate = featureSkill.AttackRate;
|
|
|
|
|
skillHitInfo.StunkRate = featureSkill.StunRate;
|
|
|
|
|
}
|
|
|
|
|
var featureSkill = skillCfg.GetFeatureSkill();
|
|
|
|
|
skillHitInfo.AttackRate = featureSkill.AttackRate;
|
|
|
|
|
skillHitInfo.StunkRate = featureSkill.StunRate;
|
|
|
|
|
}
|
|
|
|
|
skill.HitInfo.Enqueue(skillHitInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
skill.HitInfo.Enqueue(skillHitInfo);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|