// Token: 0x06003895 RID: 14485 RVA: 0x00100E68 File Offset: 0x000FF068 public void AddDelayHit(int frame, Vector2i pos, CombatActor target) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_AddDelayHitInt32Vector2iCombatActor_hotfix != null) { this.m_AddDelayHitInt32Vector2iCombatActor_hotfix.call(new object[] { this, frame, pos, target }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (this.m_hitCount >= this.m_skillInfo.HitCountMax) { return; } int index = 0; for (int i = this.m_delayHits.Count - 1; i >= 0; i--) { if (this.m_delayHits[i].m_frame <= frame) { index = i + 1; break; } } DelayHit item = default(DelayHit); item.m_frame = frame; item.m_position = pos; item.m_targetActor = target; this.m_delayHits.Insert(index, item); }
// Token: 0x060038A8 RID: 14504 RVA: 0x00102138 File Offset: 0x00100338 private void AddDelayHit(CombatActor target, int delay) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_AddDelayHitCombatActorInt32_hotfix != null) { this.m_AddDelayHitCombatActorInt32_hotfix.call(new object[] { this, target, delay }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (target == null) { return; } if (this.m_delayHits == null) { this.m_delayHits = new List <DelayHit>(); } int num = this.m_frameCount + Combat.MillisecondToFrame(delay); int index = 0; for (int i = this.m_delayHits.Count - 1; i >= 0; i--) { if (this.m_delayHits[i].m_frame <= num) { index = i + 1; break; } } DelayHit item = default(DelayHit); item.m_frame = num; item.m_targetActor = target; this.m_delayHits.Insert(index, item); this.m_sourceActor.SetCanStopFrame(delay + this.Combat.ConfigDataLoader.Const_DamagePostDelay); }
// Token: 0x060038AB RID: 14507 RVA: 0x001023A0 File Offset: 0x001005A0 private void TickDelayHits() { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_TickDelayHits_hotfix != null) { this.m_TickDelayHits_hotfix.call(new object[] { this }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (this.m_delayHits == null || this.m_delayHits.Count <= 0) { return; } DelayHit delayHit = this.m_delayHits[0]; while (delayHit.m_frame <= this.m_frameCount) { if (this.Attack(delayHit.m_targetActor)) { this.m_sourceSkillState.m_hitCount++; if (this.m_sourceSkillState.m_hitCount >= this.m_sourceSkillState.m_skillInfo.HitCountMax) { this.m_delayHits.Clear(); base.DeleteMe(); break; } } this.m_delayHits.RemoveAt(0); if (this.m_delayHits.Count <= 0) { break; } delayHit = this.m_delayHits[0]; } }