// Token: 0x06003788 RID: 14216 RVA: 0x000F9B94 File Offset: 0x000F7D94 public void Start(BattleActor actor0, BattleActor actor1, ConfigDataSkillInfo heroSkillInfo0, ConfigDataSkillInfo heroSkillInfo1, int randomSeed) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_StartBattleActorBattleActorConfigDataSkillInfoConfigDataSkillInfoInt32_hotfix != null) { this.m_StartBattleActorBattleActorConfigDataSkillInfoConfigDataSkillInfoInt32_hotfix.call(new object[] { this, actor0, actor1, heroSkillInfo0, heroSkillInfo1, randomSeed }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; this.Clear(); this.m_randomNumber.SetSeed(randomSeed); this.m_startCountdown = Combat.MillisecondToFrame1(this.ConfigDataLoader.UtilityGetConfigableConst(ConfigableConstId.ConfigableConstId_Combat_StartDelay) + 250) + 1; this.m_state = CombatState.Ready; this.m_isPaused = false; this.m_combatGridDistance = GridPosition.Distance(actor0.Position, actor1.Position); this.SetupTeam(0, actor0, heroSkillInfo0); this.SetupTeam(1, actor1, heroSkillInfo1); foreach (CombatTeam combatTeam in this.m_teams) { combatTeam.EnterCombat(); } }
// Token: 0x06003790 RID: 14224 RVA: 0x000FA21C File Offset: 0x000F841C public void OnActorCastSkill(CombatActor a, ConfigDataSkillInfo skillInfo) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_OnActorCastSkillCombatActorConfigDataSkillInfo_hotfix != null) { this.m_OnActorCastSkillCombatActorConfigDataSkillInfo_hotfix.call(new object[] { this, a, skillInfo }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (a == null || skillInfo == null) { return; } if (skillInfo.CutsceneType != 0) { ConfigDataCutsceneInfo configDataCutsceneInfo = null; if (skillInfo.CutsceneType == 1) { ConfigDataHeroInfo heroInfo = a.Team.HeroInfo; if (heroInfo != null) { ConfigDataCharImageInfo charImageInfo = heroInfo.GetCharImageInfo(a.Team.HeroStar); if (charImageInfo != null) { configDataCutsceneInfo = charImageInfo.m_skillCutsceneInfo; } } } this.Pause(true); this.m_teams[a.TeamNumber].SetGraphicSkillFade(true); if (configDataCutsceneInfo != null) { this.m_cutscenePauseCountdown = Combat.MillisecondToFrame1(configDataCutsceneInfo.Time); } else { this.m_cutscenePauseCountdown = Combat.MillisecondToFrame1(this.ConfigDataLoader.Const_SkillPauseTime); } this.m_battle.Listener.OnStartSkillCutscene(skillInfo, configDataCutsceneInfo, a.TeamNumber); } }
// Token: 0x06003789 RID: 14217 RVA: 0x000F9CD4 File Offset: 0x000F7ED4 public void Stop() { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_Stop_hotfix != null) { this.m_Stop_hotfix.call(new object[] { this }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; this.m_state = CombatState.Stop; foreach (CombatTeam combatTeam in this.m_teams) { combatTeam.StopCombat(); } this.m_endCountdown = Combat.MillisecondToFrame1(this.ConfigDataLoader.UtilityGetConfigableConst(ConfigableConstId.ConfigableConstId_Combat_StopDelay) + 250) + 1; this.m_battle.Listener.OnPreStopCombat(); }
// Token: 0x06003791 RID: 14225 RVA: 0x000FA358 File Offset: 0x000F8558 public void OnActorCastPassiveSkill(CombatActor a, BuffState sourceBuffState) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_OnActorCastPassiveSkillCombatActorBuffState_hotfix != null) { this.m_OnActorCastPassiveSkillCombatActorBuffState_hotfix.call(new object[] { this, a, sourceBuffState }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (a == null || sourceBuffState == null) { return; } this.Pause(true); this.m_teams[a.TeamNumber].SetGraphicSkillFade(true); this.m_cutscenePauseCountdown = Combat.MillisecondToFrame1(this.ConfigDataLoader.Const_SkillPauseTime); this.m_battle.Listener.OnStartPassiveSkillCutscene(sourceBuffState, a.TeamNumber); }
// Token: 0x060038A0 RID: 14496 RVA: 0x00101414 File Offset: 0x000FF614 public void Setup(ConfigDataFlyObjectInfo flyObjInfo, CombatSkillState ss, CombatActor sourceActor, CombatActor targetActor) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetupConfigDataFlyObjectInfoCombatSkillStateCombatActorCombatActor_hotfix != null) { this.m_SetupConfigDataFlyObjectInfoCombatSkillStateCombatActorCombatActor_hotfix.call(new object[] { this, flyObjInfo, ss, sourceActor, targetActor }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (flyObjInfo == null || ss == null || sourceActor == null || targetActor == null) { base.DeleteMe(); return; } this.m_configDataFlyObjectInfo = flyObjInfo; this.m_sourceSkillState = ss; this.m_sourceActor = sourceActor; this.m_targetActor = targetActor; this.m_targetTeamNumber = targetActor.TeamNumber; this.m_startPosition = sourceActor.Position; this.m_startZ = sourceActor.Height * 2 / 3 + sourceActor.FootHeight; if (flyObjInfo.TrackType == TrackType.TrackType_Parabolic) { Vector2i vector2i = targetActor.Position - sourceActor.Position; int num = Math.Max((int)((long)vector2i.magnitude), 1); int num2 = Combat.MillisecondToFrame1(num * 1000 / flyObjInfo.Speed); this.m_endZ = targetActor.Height * 2 / 3 + targetActor.FootHeight; Fix64 fix = (Fix64)((long)(-(long)this.m_configDataFlyObjectInfo.Gravity)); Fix64 fix2 = (Fix64)((long)num) / (Fix64)((long)flyObjInfo.Speed); Fix64 fix3 = this.m_vz = Fix64.Zero; if (fix2 > Fix64.Zero) { fix3 = (this.m_vz = (Fix64)((long)(this.m_endZ - this.m_startZ)) / fix2 - fix * fix2 * (Fix64)0.5f); } Fix64 x = MathUtility.Max(fix3 * fix3 - (Fix64)((long)(2 * this.m_startZ)) * fix, Fix64.Zero); Fix64 x2; if (fix < Fix64.Zero) { x2 = (-fix3 - Fix64.Sqrt(x)) / fix; } else { x2 = fix2; } this.m_lifeMax = Combat.MillisecondToFrame1((int)((long)(x2 * (Fix64)1000L))); int num3 = num * this.m_lifeMax / num2; this.m_endPosition = this.m_startPosition + vector2i.normalized * (Fix64)((long)num3); this.m_endZ = 0; } else { int num4 = flyObjInfo.Distance; if (num4 <= 0) { num4 = 1000; } if (flyObjInfo.TrackType == TrackType.TrackType_Straight) { this.m_endPosition.x = this.m_startPosition.x + (Fix64)((long)(Fix64.Sign(targetActor.Position.x - sourceActor.Position.x) * num4)); this.m_endPosition.y = this.m_startPosition.y; this.m_endZ = this.m_startZ; } else if (flyObjInfo.TrackType == TrackType.TrackType_DownStraight) { this.m_endPosition.x = this.m_startPosition.x + (Fix64)((long)(Fix64.Sign(targetActor.Position.x - sourceActor.Position.x) * num4)); this.m_endPosition.y = this.m_startPosition.y; this.m_endZ = (this.m_startZ = 80); } else if (flyObjInfo.TrackType == TrackType.TrackType_UpStraight) { this.m_endPosition.x = this.m_startPosition.x + (Fix64)((long)(Fix64.Sign(targetActor.Position.x - sourceActor.Position.x) * num4)); this.m_endPosition.y = this.m_startPosition.y; this.m_endZ = (this.m_startZ = 150); } this.m_lifeMax = Combat.MillisecondToFrame1(num4 * 1000 / flyObjInfo.Speed); } this.m_frameCount = 0; this.m_life = 0; this.m_fxLife = Fix64.Zero; this.m_isGraphicSkillFade = false; this.m_hitId = this.Combat.GetNextHitId(); this.CreateFx(flyObjInfo.Model, (float)flyObjInfo.ModelScale * 0.01f); }