// Token: 0x060038A6 RID: 14502 RVA: 0x00101EBC File Offset: 0x001000BC private void AddSkillDelayHits(CombatSkillState ss, Fix64 x0, Fix64 x1) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_AddSkillDelayHitsCombatSkillStateFix64Fix64_hotfix != null) { this.m_AddSkillDelayHitsCombatSkillStateFix64Fix64_hotfix.call(new object[] { this, ss, x0, x1 }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; int num = 0; int num2 = 0; int num3 = this.GetDelayHitFrameMax() - this.m_frameCount; if (num3 >= 0 && ss.m_skillInfo.Time_MultiHit.Count > 0) { num = Combat.FrameToMillisecond(num3) + ss.m_skillInfo.Time_MultiHit[0]; num2 = 1; } while (ss.m_preAttackHitCount < ss.m_skillInfo.HitCountMax) { CombatActor combatActor = this.SearchHitTarget(x0, x1, this.m_hitId); if (combatActor != null) { bool isCritical = ss.IsCritical(combatActor.IsHero()); do { this.AddDelayHit(combatActor, num); this.m_sourceActor.PreAttack(combatActor, ss.m_skillInfo, isCritical); if (ss.m_skillInfo.Time_MultiHit.Count > 0) { num += ss.m_skillInfo.Time_MultiHit[num2 % ss.m_skillInfo.Time_MultiHit.Count]; num2++; } ss.m_preAttackHitCount++; if (combatActor.GetPreAttackHealthPoint() <= 0 && !combatActor.IsHero()) { break; } }while (ss.m_preAttackHitCount < ss.m_skillInfo.HitCountMax); IL_190: combatActor.AddBeHitId(this.m_hitId); continue; goto IL_190; } break; } }
// Token: 0x060038A3 RID: 14499 RVA: 0x001019E0 File Offset: 0x000FFBE0 private static int ComputeTargetScore(Fix64 x, CombatActor target) { int num = 0; if (target.GetPreAttackHealthPoint() <= 0) { num = 1000000; } num += target.FormationLine * 100000; int num2 = (int)((long)(x - target.Position.x)); return(num + num2 * num2 / 100); }