Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using Mevius.App;
- using Mevius.Collaboration.FF7;
- using Mevius.Common;
- using Mevius.DataSheet;
- using Mevius.Db;
- using Mevius.Db.Event;
- using Mevius.Debug;
- using Mevius.Effect;
- using Mevius.Field;
- using Mevius.Gui;
- using Mevius.Loader;
- using Mevius.Motion;
- using Mevius.Network;
- using Mevius.Party;
- using Mevius.Renderer;
- using Mevius.Script;
- using Mevius.Sound;
- using Mevius.Zone;
- using UnityEngine;
- namespace Mevius.Battle
- {
- public class BattleManager : BackgroundLoader, IDisposable, IManager
- {
- public BattleManager()
- {
- this.BattleHash = this.GetHashCode();
- ZoneActionSequenceExecutor._i.AddBackgourdLoader(ActionInfo.Type.Sequence_Battle, this);
- ZoneActionSequenceExecutor._i.AddBackgourdLoader(ActionInfo.Type.Sequence_BossBattle, this);
- ZoneActionSequenceExecutor i = ZoneActionSequenceExecutor._i;
- i.changeActionStartCallback2 = (ZoneActionSequenceExecutor.ChangeActionCallback)Delegate.Combine(i.changeActionStartCallback2, new ZoneActionSequenceExecutor.ChangeActionCallback(this.ChangeActionStart));
- ZoneActionSequenceExecutor i2 = ZoneActionSequenceExecutor._i;
- i2.changeActionEndCallback2 = (ZoneActionSequenceExecutor.ChangeActionCallback)Delegate.Combine(i2.changeActionEndCallback2, new ZoneActionSequenceExecutor.ChangeActionCallback(this.ChangeActionEnd));
- ZoneActionSequenceExecutor i3 = ZoneActionSequenceExecutor._i;
- i3.changeCameraStartCallback2 = (ZoneActionSequenceExecutor.ChangeCameraCallback)Delegate.Combine(i3.changeCameraStartCallback2, new ZoneActionSequenceExecutor.ChangeCameraCallback(this.ChangeActionCameraStart));
- ZoneActionSequenceExecutor i4 = ZoneActionSequenceExecutor._i;
- i4.changeCameraEndCallback2 = (ZoneActionSequenceExecutor.ChangeCameraCallback)Delegate.Combine(i4.changeCameraEndCallback2, new ZoneActionSequenceExecutor.ChangeCameraCallback(this.ChangeActionCameraEnd));
- }
- public string Name()
- {
- return "BattleManager";
- }
- public BattleManager.ResourceStep GetResourceStep()
- {
- return this._resourceStep;
- }
- public BattleManager.MultiBattleCmdStep GetMultiBattleCmdStep()
- {
- return this.m_multiBattleCmdStep;
- }
- public int GetActorCount()
- {
- return this._actorNameList.Count;
- }
- public bool LastBattleFlag
- {
- get
- {
- return this.m_lastBattle;
- }
- }
- public Vector3 BasePosition
- {
- get
- {
- return this._basePosition;
- }
- set
- {
- this._basePosition = value;
- }
- }
- public bool PartyMemberTurn
- {
- get
- {
- return this.m_partyMemberTurn;
- }
- }
- public bool MultiBattleIgnoreMemberActionCamera
- {
- get
- {
- return this.m_multiBattleIgnoreMemberActionCamera;
- }
- set
- {
- this.m_multiBattleIgnoreMemberActionCamera = value;
- }
- }
- public BattleManager.AutoAttackStrategyType AutoAttackStrategy
- {
- get
- {
- if (DbManager._i != null)
- {
- return (BattleManager.AutoAttackStrategyType)DbManager._i._battle_auto_type;
- }
- return BattleManager.AutoAttackStrategyType.DefensiveType;
- }
- set
- {
- if (DbManager._i != null)
- {
- DbManager._i._battle_auto_type = (ushort)value;
- }
- }
- }
- public bool IsMultiBattleTest
- {
- get
- {
- return this.m_bMultiBattleTest;
- }
- set
- {
- this.m_bMultiBattleTest = value;
- }
- }
- public List<BattleActor> ScreenOrderEnemyActorList
- {
- get
- {
- if (this.m_screenOrderEnemyActorList.Count == 0)
- {
- this.CalcScreenOrderEnemyList();
- }
- return this.m_screenOrderEnemyActorList;
- }
- }
- public void TouchAreaEvent(bool isPressed, bool ignoreAttack)
- {
- if (isPressed)
- {
- this.m_guiTouchComponent.m_stateBit |= 3u;
- }
- else
- {
- this.m_guiTouchComponent.m_stateBit = 4u;
- }
- this.m_ignoreAttack = ignoreAttack;
- }
- public int RandCount
- {
- get
- {
- return this.m_randCount;
- }
- }
- public int DamageRandCount
- {
- get
- {
- return this.m_damageRandCount;
- }
- }
- public int MovementRandCount
- {
- get
- {
- return this.m_movementRandCount;
- }
- }
- public bool EnemyActionEndFlag
- {
- get
- {
- return this.m_enemyActionEndFlag;
- }
- }
- public BattleManager.ESubActionType SubActionType
- {
- get
- {
- return this.m_subActionType;
- }
- set
- {
- this.m_subActionType = value;
- }
- }
- public OptimaType OptimaType
- {
- get
- {
- return this.m_optimaType;
- }
- set
- {
- this.m_optimaType = value;
- }
- }
- public byte[] OptimaUseCounts
- {
- get
- {
- return this.m_optimaUseCounts;
- }
- set
- {
- this.m_optimaUseCounts = value;
- }
- }
- public BattleActor DQLogActor
- {
- get
- {
- return this.m_dqLogActor;
- }
- set
- {
- this.m_dqLogActor = value;
- }
- }
- public byte[] FF7AbilityUseCounts
- {
- get
- {
- return this.m_ff7AbilityUseCounts;
- }
- set
- {
- this.m_ff7AbilityUseCounts = value;
- }
- }
- public BattleManager.DrawAbility[] FF8DrawAbility
- {
- get
- {
- return this.ff8DrawAbility;
- }
- }
- public void Dispose()
- {
- ZoneActionSequenceExecutor i = ZoneActionSequenceExecutor._i;
- i.changeCameraEndCallback2 = (ZoneActionSequenceExecutor.ChangeCameraCallback)Delegate.Remove(i.changeCameraEndCallback2, new ZoneActionSequenceExecutor.ChangeCameraCallback(this.ChangeActionCameraEnd));
- ZoneActionSequenceExecutor i2 = ZoneActionSequenceExecutor._i;
- i2.changeCameraStartCallback2 = (ZoneActionSequenceExecutor.ChangeCameraCallback)Delegate.Remove(i2.changeCameraStartCallback2, new ZoneActionSequenceExecutor.ChangeCameraCallback(this.ChangeActionCameraStart));
- ZoneActionSequenceExecutor i3 = ZoneActionSequenceExecutor._i;
- i3.changeActionEndCallback2 = (ZoneActionSequenceExecutor.ChangeActionCallback)Delegate.Remove(i3.changeActionEndCallback2, new ZoneActionSequenceExecutor.ChangeActionCallback(this.ChangeActionEnd));
- ZoneActionSequenceExecutor i4 = ZoneActionSequenceExecutor._i;
- i4.changeActionStartCallback2 = (ZoneActionSequenceExecutor.ChangeActionCallback)Delegate.Remove(i4.changeActionStartCallback2, new ZoneActionSequenceExecutor.ChangeActionCallback(this.ChangeActionStart));
- }
- public override void Load(int actionIndex)
- {
- ActionInfo action = ZoneActionSequenceExecutor._i.GetAction(actionIndex);
- if (action != null)
- {
- this.currentBattleScene = action.GetElementAction().m3dd07754649a1e43955998e34289003c();
- }
- if (this._resourceStep == BattleManager.ResourceStep.None)
- {
- this._resourceStep = BattleManager.ResourceStep.Init;
- }
- this._enableUnloadRequest = false;
- }
- public override bool IsLoaded(int actionIndex)
- {
- return this._resourceStep == BattleManager.ResourceStep.EndRequestWait;
- }
- public override void Active(int actionIndex)
- {
- this._active = true;
- this.StartBattle();
- }
- public override void Deactive(int actionIndex)
- {
- this._step = BattleManager.BattleStep.ResourceStepUnload;
- this._active = false;
- }
- public override void Unload(int actionIndex)
- {
- this.resourceUnloadTaskId = 0u;
- if (this._resourceStep == BattleManager.ResourceStep.EndRequestWait)
- {
- this.resourceUnloadTaskId = Mevius.App.Api.CreateTaskId();
- this._resourceStep = BattleManager.ResourceStep.RemoveActor;
- }
- }
- public override void End(int actionIndex)
- {
- }
- public override bool IsUnloaded(int actionIndex)
- {
- return this._resourceStep == BattleManager.ResourceStep.None;
- }
- public override bool IsEndActionCamera(int actionIndex)
- {
- return this._active && this._step == BattleManager.BattleStep.ActionCameraEndWait;
- }
- public override bool IsEndResource(int actionIndex)
- {
- return this._enableUnloadRequest && this._step > BattleManager.BattleStep.PlayerTurnStart && this._step >= BattleManager.BattleStep.Result;
- }
- public override bool IsUnloadable(int actionIndex, string resourceName)
- {
- return true;
- }
- public override bool IsRequestNext(int actionIndex)
- {
- return this._step >= BattleManager.BattleStep.ResultEnd;
- }
- public void StartBattle()
- {
- if (this._step == BattleManager.BattleStep.None)
- {
- this.requestStartBattle = false;
- this._step = BattleManager.BattleStep.CreateActor;
- }
- else
- {
- this.requestStartBattle = true;
- }
- }
- public bool IsLoadResource()
- {
- return this._resourceStep != BattleManager.ResourceStep.None;
- }
- public bool IsBattleWin()
- {
- return BattleManager.BattleStep.ResultReady <= this._step && this._step <= BattleManager.BattleStep.ResultEnd;
- }
- public bool IsBattleEnd()
- {
- return this._step == BattleManager.BattleStep.Exit;
- }
- public static string GetEnemyActorName(int c)
- {
- return "enemy_" + c.ToString();
- }
- public static string GetBattlePlayerName()
- {
- return Mevius.Db.Api.GetPlayerName() + "_battle";
- }
- public static string GetBattlePlayerSubName()
- {
- return Mevius.Db.Api.GetPlayerName() + "_battle_sub";
- }
- public static string GetMultiMemberPlayerName(Mevius.Party.Api.PARTY_MEMBER_TYPE type)
- {
- string result = string.Empty;
- switch (type)
- {
- case Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC1:
- result = Mevius.Db.Api.GetPlayerName() + "_battle2";
- break;
- case Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC2:
- result = Mevius.Db.Api.GetPlayerName() + "_battle3";
- break;
- case Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC3:
- result = Mevius.Db.Api.GetPlayerName() + "_battle4";
- break;
- case Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME:
- result = BattleManager.GetBattlePlayerName();
- break;
- }
- return result;
- }
- public BattleManager.BattleStep GetStep()
- {
- return this._step;
- }
- public void InitStep()
- {
- this._step = BattleManager.BattleStep.None;
- }
- public void ChangeActionStart()
- {
- if (ZoneActionSequenceExecutor._i.GetCurrentAction().IsBattle())
- {
- }
- }
- public void ChangeActionEnd()
- {
- ActionInfo prevAction = ZoneActionSequenceExecutor._i.GetPrevAction();
- ActionInfo currentAction = ZoneActionSequenceExecutor._i.GetCurrentAction();
- if ((prevAction != null && prevAction.IsBattle()) || (currentAction != null && currentAction.ActionType == ActionInfo.Type.Sequence_End))
- {
- this.InitStep();
- }
- }
- public void ChangeActionCameraStart()
- {
- ActionInfo currentActionCamera = Mevius.Zone.Api.GetCurrentActionCamera();
- ActionInfo nextActionCamera = Mevius.Zone.Api.GetNextActionCamera();
- if (currentActionCamera != null && currentActionCamera.IsBattle() && this.m_cameraManager != null)
- {
- FieldManager._i.fieldCameraController.fieldCamera.SetCamera(this.m_cameraManager.CameraSequence.Eye, this.m_cameraManager.CameraSequence.Aim, this.m_cameraManager.CameraSequence.Roll, Vector3.up, FieldManager._i.fieldCameraController.fieldCamera.nearClipPlane, FieldManager._i.fieldCameraController.fieldCamera.farClipPlane, this.m_cameraManager.CameraSequence.Fov, FieldManager._i.fieldCameraController.fieldCamera.fNumber);
- }
- }
- public void ChangeActionCameraEnd()
- {
- ActionInfo currentActionCamera = Mevius.Zone.Api.GetCurrentActionCamera();
- if (currentActionCamera != null)
- {
- if (currentActionCamera.IsBattle())
- {
- bool bossLevel = false;
- if (currentActionCamera.GetElementAction().m57804671548549f75a433d28698e5d1f() == "bosslevel" || currentActionCamera.ActionType == ActionInfo.Type.Sequence_BossBattle)
- {
- bossLevel = true;
- }
- string targetGadgetName = Mevius.Field.Api.GadgetRouteApi.GetTargetGadgetName();
- int targetLevel = Mevius.Field.Api.BattleApi.GetTargetLevel(targetGadgetName, bossLevel, false, -1, Mevius.App.Api.GetMainJobTypeCurrentDeck());
- Mevius.Battle.Api.SetBattleEnemyLevel(targetLevel);
- }
- ActionInfo actionInfo = currentActionCamera;
- if (currentActionCamera.IsBattle() || actionInfo.ActionType == ActionInfo.Type.Sequence_HitBossVisibleModel || actionInfo.ActionType == ActionInfo.Type.Sequence_AppearBoss)
- {
- Mevius.Gui.Api.SetFieldMenuMode(GuiFieldMenu.Mode.ViewFull, false);
- if (!Mevius.Zone.Api.IsCancelZoneActionSequence())
- {
- DbManager.TemporarySaveData temporarySaveData = Mevius.Db.Api.GetTemporarySaveData();
- string targetGadgetName2 = Mevius.Field.Api.GadgetRouteApi.GetTargetGadgetName();
- string stateChangeName = Mevius.Field.Api.GadgetRouteApi.GetStateChangeName(targetGadgetName2);
- Cf2cd309e997d6caaa7b19cc23dfe235b.Cfa0ba6c176c70705c5a33b1796b4787d cfa0ba6c176c70705c5a33b1796b4787d = Cf2cd309e997d6caaa7b19cc23dfe235b.Find(stateChangeName);
- bool flag = false;
- if (temporarySaveData.type == DbManager.ActionSequenceType.Search)
- {
- string actionSequenceAreaBattle = Mevius.Field.Api.DatasheetApi.GetActionSequenceAreaBattle(targetGadgetName2);
- if (!string.IsNullOrEmpty(actionSequenceAreaBattle))
- {
- flag = true;
- }
- bool flag2;
- if (!string.IsNullOrEmpty(Mevius.Field.Api.BattleApi.GetBossName(targetGadgetName2, out flag2)) && flag2)
- {
- flag = true;
- }
- }
- if (actionInfo.ActionType == ActionInfo.Type.Sequence_HitBossVisibleModel || actionInfo.ActionType == ActionInfo.Type.Sequence_AppearBoss)
- {
- flag = true;
- }
- else
- {
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field, soundResourceName, Mevius.DataSheet.Api.GetResidentString("EncountSe", "system_se_encount_in"), 1f, 0, 0, false, -1, 1f);
- }
- if (flag)
- {
- actionInfo = Mevius.Zone.Api.GetLastBattleAction();
- }
- if (BattleManager._i.IsFirstBattle())
- {
- this.m_isBgmRandSet = false;
- }
- if (!this.m_isBgmRandSet)
- {
- this.m_isBgmRandSet = true;
- this.m_bgmRandValue = Mevius.Common.Random.GetInstance().GetUnsignedInteger();
- }
- this.PlayBattleBgm(actionInfo);
- }
- }
- }
- }
- private void SetEnemyCamera(BattleActor actor)
- {
- if (this.m_boss)
- {
- if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action || !this.CameraManager.IsActionOwner(actor))
- {
- this.CameraManager.SetInterpolation(0.5f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, actor);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- else if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action)
- {
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- Vector3 position = actor.chara.GetElementIdTransform(name).position;
- Camera component = Mevius.Renderer.CameraManager.GetInstance().GetViewCameraGameObject().GetComponent<Camera>();
- Vector3 vector = component.WorldToViewportPoint(position);
- if (vector.x < 0f || vector.x > 1f || vector.y < 0f || vector.y > 1f || vector.z <= 0f)
- {
- this.CameraManager.SetInterpolation(1f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTwoShot(actor, this.m_playerActor, 0, false);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TwoShot);
- }
- }
- else if (!this.CameraManager.IsActionOwner(actor))
- {
- this.CameraManager.SetInterpolation(0.5f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTwoShot(actor, this.m_playerActor, 0, false);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TwoShot);
- }
- }
- public void PlayBattleBgm(ActionInfo action)
- {
- string text = string.Empty;
- this.m_isJobBgm = false;
- if (action != null)
- {
- if (action.GetElementAction().m91e6a331d5ec22b58b96fcc04375134c().Length > 0)
- {
- text = action.GetElementAction().m91e6a331d5ec22b58b96fcc04375134c();
- }
- else if (action.GetElementAction().m57804671548549f75a433d28698e5d1f() == "accent")
- {
- text = Mevius.DataSheet.Api.GetResidentString("bgmBattleAccent", string.Empty);
- }
- }
- if (string.IsNullOrEmpty(text))
- {
- this.m_isJobBgm = true;
- int num;
- if (Mevius.App.Api.IsPartyMode())
- {
- num = Mevius.Db.Api.GetCurrentCardDeck2() + 24;
- }
- else
- {
- num = Mevius.Db.Api.GetCurrentCardDeck();
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- num += 12;
- }
- }
- text = BattleUtility.GetBgmName(num, this.m_bgmRandValue);
- }
- Mevius.Sound.Api.PlayBgm(BgmManager.BgmLayer.Bgm_Battle, text, 0, 1f);
- }
- public void CreateCameraManager()
- {
- this.m_cameraManager = new BattleCameraManager();
- }
- public void RemoveCameraManager()
- {
- if (this.m_cameraManager != null)
- {
- this.m_cameraManager.Dispose();
- this.m_cameraManager = null;
- }
- }
- public bool IsFirstBattle()
- {
- LinkedListNode<ActionInfo> currentActionCameraNode = Mevius.Zone.Api.GetCurrentActionCameraNode();
- LinkedListNode<ActionInfo> linkedListNode = null;
- if (currentActionCameraNode != null)
- {
- if (!currentActionCameraNode.Value.IsBattle())
- {
- return false;
- }
- linkedListNode = currentActionCameraNode.Previous;
- }
- while (linkedListNode != null)
- {
- if (linkedListNode.Value.IsBattle())
- {
- return false;
- }
- linkedListNode = linkedListNode.Previous;
- }
- return true;
- }
- public bool IsLastBattle()
- {
- LinkedListNode<ActionInfo> currentActionNode = Mevius.Zone.Api.GetCurrentActionNode();
- LinkedListNode<ActionInfo> linkedListNode = null;
- if (currentActionNode != null)
- {
- linkedListNode = currentActionNode.Next;
- }
- if (linkedListNode == null || linkedListNode.Value.ActionType == ActionInfo.Type.Sequence_Move)
- {
- return true;
- }
- while (linkedListNode != null)
- {
- if (linkedListNode.Value.IsBattle())
- {
- return false;
- }
- linkedListNode = linkedListNode.Next;
- }
- return true;
- }
- public void SetBattleWin(float startWait = 0f)
- {
- if (!Mevius.App.Api.IsPartyMode() && this.m_lastBattle && !this.m_lastBgmVolumeChanged)
- {
- this.m_lastBgmVolumeChanged = true;
- BgmManager._i.ChangeCurrentBgmVolume(Mevius.DataSheet.Api.GetResidentFloat("bgmBattleVolumeOnWinning", 1f), 500);
- }
- this.m_actionStepWait = startWait;
- this._step = BattleManager.BattleStep.ResultReady;
- }
- public void SetBattleWinImmediate(bool killEnemy = true)
- {
- this.m_surfaceBlendAlpha = 1f;
- if (this.m_surfaceBlend == null)
- {
- this.m_surfaceBlend = MainLoop._i.gameObject.AddComponent<SurfaceBlend>();
- }
- this.m_surfaceBlend.SetAlpha(this.m_surfaceBlendAlpha);
- RenderUtility.GetInstance().SetViewCloneEnabled(true);
- int actionIndex = Mevius.Zone.Api.GetActionIndex();
- int num = -1;
- C098a168d3605b12448638cab8ccafe9d.C6a63ba3da59f35f0fee059da0f7321db c6a63ba3da59f35f0fee059da0f7321db = C098a168d3605b12448638cab8ccafe9d.Find(this.currentBattleScene);
- if (Mevius.App.Api.IsPartyMode())
- {
- DbManager.MultiBattleData multiBattleData = Mevius.Db.Api.GetMultiBattleData();
- if (multiBattleData != null)
- {
- for (int i = 0; i < multiBattleData.enemyEscapeActionIndex.Length; i++)
- {
- if (multiBattleData.enemyEscapeActionIndex[i] == actionIndex || multiBattleData.enemyEscapeActionIndex[i] == -1)
- {
- num = i;
- break;
- }
- }
- for (int j = 0; j < this._entryBattleCharaSpecList.Count; j++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(j);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null)
- {
- if (c6a63ba3da59f35f0fee059da0f7321db.m4f63acfb743cb25115f76fc77af6151e(j) != 0 || battleActor.IsUnTarget())
- {
- multiBattleData.enemyEscapeActionIndex[num] = actionIndex;
- if (0 <= battleActor.EnemyIndex && battleActor.EnemyIndex < multiBattleData.enemyEscapeCharaFlags.GetLength(1))
- {
- multiBattleData.enemyEscapeCharaFlags[num, battleActor.EnemyIndex] = true;
- }
- }
- if (battleActor.IsActiveTarget())
- {
- if (battleActor.IsNeedNotKill() || !killEnemy)
- {
- if (num != -1)
- {
- multiBattleData.enemyEscapeActionIndex[num] = actionIndex;
- if (0 <= battleActor.EnemyIndex && battleActor.EnemyIndex < multiBattleData.enemyEscapeCharaFlags.GetLength(1))
- {
- multiBattleData.enemyEscapeCharaFlags[num, battleActor.EnemyIndex] = true;
- }
- }
- }
- else
- {
- battleActor.SetHp(0, false, false);
- battleActor.OnDead();
- }
- }
- }
- }
- }
- }
- else
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- for (int k = 0; k < battleData.enemyEscapeActionIndex.Length; k++)
- {
- if (battleData.enemyEscapeActionIndex[k] == actionIndex || battleData.enemyEscapeActionIndex[k] == -1)
- {
- num = k;
- break;
- }
- }
- for (int l = 0; l < this._entryBattleCharaSpecList.Count; l++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(l);
- BattleActor battleActor2 = this.FindActor(enemyActorName2);
- if (battleActor2 != null)
- {
- if (c6a63ba3da59f35f0fee059da0f7321db.m4f63acfb743cb25115f76fc77af6151e(l) != 0 || battleActor2.IsUnTarget())
- {
- battleData.enemyEscapeActionIndex[num] = actionIndex;
- if (0 <= battleActor2.EnemyIndex && battleActor2.EnemyIndex < battleData.enemyEscapeCharaFlags.GetLength(1))
- {
- battleData.enemyEscapeCharaFlags[num, battleActor2.EnemyIndex] = true;
- }
- }
- if (battleActor2.IsActiveTarget())
- {
- if (battleActor2.IsNeedNotKill() || !killEnemy)
- {
- if (num != -1)
- {
- battleData.enemyEscapeActionIndex[num] = actionIndex;
- if (0 <= battleActor2.EnemyIndex && battleActor2.EnemyIndex < battleData.enemyEscapeCharaFlags.GetLength(1))
- {
- battleData.enemyEscapeCharaFlags[num, battleActor2.EnemyIndex] = true;
- }
- }
- }
- else
- {
- battleActor2.SetHp(0, false, false);
- battleActor2.OnDead();
- }
- }
- }
- }
- if (this.m_playerActor.IsSubActionSub())
- {
- BattleManager._i.GetPlayerActorSub().UpdateStatusEffectActionEnd();
- }
- this.EndZone(this.m_subActionType == BattleManager.ESubActionType.JobAbility, false);
- this.ChangeActionValue(BattleManager.ChangeActionValueType.BattleEnd, false);
- }
- if (this.m_playerActor.IsSummon())
- {
- this.ProcChangeJob(false, true);
- }
- this.m_playerActor.OnBattleWin();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnBattleWin();
- }
- int currentDeckIndex = BattleUtility.GetCurrentDeckIndex();
- string resultBgmName = BattleUtility.GetResultBgmName(currentDeckIndex);
- float volume = (!this.m_lastBattle) ? 1f : Mevius.DataSheet.Api.GetResidentFloat("bgmBattleVolumeOnWinning", 1f);
- ActionInfo currentActionCamera = Mevius.Zone.Api.GetCurrentActionCamera();
- if (currentActionCamera != null && currentActionCamera.GetElementAction().m097866f1118d7f9304b7e72288586ca3().Length > 0)
- {
- Mevius.Sound.Api.PlayBgm(BgmManager.BgmLayer.Bgm_ActionBottom, currentActionCamera.GetElementAction().m097866f1118d7f9304b7e72288586ca3(), 0, volume);
- }
- else if (!string.IsNullOrEmpty(resultBgmName) && this.m_lastBattle)
- {
- Mevius.Sound.Api.PlayBgm(BgmManager.BgmLayer.Bgm_Battle, resultBgmName, 0, volume);
- }
- this.EndBattle();
- this._step = BattleManager.BattleStep.Result;
- }
- public void OnLastBattleWin(BattleManager.LastBattleWinCameraType cameraType)
- {
- if (Mevius.Db.Api.GetBattleActionSequenceCurrentStep() == Mevius.Db.Api.GetBattleActionSequenceMaxStep() && !Mevius.Battle.Api.IsLastEnemyEscape())
- {
- bool flag = false;
- if (cameraType == BattleManager.LastBattleWinCameraType.Player)
- {
- AppActor appActor = Mevius.App.Api.FindAppActor(Mevius.Db.Api.GetPlayerName());
- if (appActor != null)
- {
- string replaceCharaSpecName = Mevius.Battle.Api.GetReplaceCharaSpecName(appActor.getSpec());
- C95bcaea3352f97e159106604018eaa69.Cd665cdef191ff92708675209607d4634 cd665cdef191ff92708675209607d = C95bcaea3352f97e159106604018eaa69.Find(replaceCharaSpecName);
- if (cd665cdef191ff92708675209607d != null && Mevius.Sound.Api.IsPlayStateSound(StateSound.StateSoundType.BattleWin0, "player", cd665cdef191ff92708675209607d))
- {
- int soundHandle = Mevius.Sound.Api.PlayStateSound(StateSound.StateSoundType.BattleWin0, "player", cd665cdef191ff92708675209607d, null, false);
- flag = true;
- GameObject gameObject = appActor.getGameObject();
- if (gameObject)
- {
- FacialController component = gameObject.GetComponent<FacialController>();
- if (component == null)
- {
- return;
- }
- int playTime = Mevius.Sound.Api.GetPlayTime(soundHandle);
- if (playTime > 0)
- {
- PreciseTime preciseTime = new PreciseTime((float)playTime / 1000f * 0.9f);
- component.EnableLipsync = true;
- component.StartLipsync(preciseTime.GetSecond());
- }
- this.lastBattleWinActorObject = gameObject;
- }
- }
- }
- }
- if (!flag && this.m_fairyActor != null)
- {
- string text = Mevius.Db.Api.GetEquipment(Mevius.Db.Api.EQUIPMENT_TYPE.EQUIPMENT_TYPE_FAIRY, false, false);
- text = Mevius.Db.Api.ChangeStoryEco(text);
- C8f07bc7aaef5445b9988a9d210e42418.Ca060fd76133aa5c704d976700ed7cdd9 ca060fd76133aa5c704d976700ed7cdd = C8f07bc7aaef5445b9988a9d210e42418.Find(text);
- if (ca060fd76133aa5c704d976700ed7cdd != null)
- {
- C95bcaea3352f97e159106604018eaa69.Cd665cdef191ff92708675209607d4634 cd665cdef191ff92708675209607d2 = C95bcaea3352f97e159106604018eaa69.Find(ca060fd76133aa5c704d976700ed7cdd.m4831fa9b93085e0ab5c88119c3c57882());
- if (cd665cdef191ff92708675209607d2 != null)
- {
- Mevius.Sound.Api.PlayStateSound(StateSound.StateSoundType.BattleWin0, ca060fd76133aa5c704d976700ed7cdd.m4831fa9b93085e0ab5c88119c3c57882(), cd665cdef191ff92708675209607d2, null, false);
- }
- }
- }
- }
- }
- public void DeadPlayer()
- {
- this.m_playerActor.SetHp(0, false, true);
- }
- private void UpdateCamera()
- {
- if (Mevius.DataSheet.Api.GetResidentInteger("cameraUpdateTiming", 1) == 0)
- {
- this.UpdateCameraEntry();
- }
- }
- private void UpdateCameraEntry()
- {
- if (this.m_cameraManager != null)
- {
- this.m_cameraManager.Update();
- if (this.IsMultiFinishCamera())
- {
- if (this.m_cameraManager.CurrentCameraType == BattleCameraManager.CameraType.Action)
- {
- if (this.m_cameraManager.IsActionEnd())
- {
- this.m_isMultiFinishCamera = false;
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.PartyAttack);
- this.CameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitPartyAttack(this.m_boss, this.GetSelfActor(), this.m_actorList, true);
- }
- }
- else
- {
- this.m_isMultiFinishCamera = false;
- }
- }
- }
- }
- private void UpdateTime()
- {
- this.m_preciseTime += Mevius.App.Api.GetPreciseTimeForBattle();
- this.m_damageSourceManager.Update();
- this.m_manaObjectManager.Update();
- this.UpdateActionGuiActive();
- this.UpdateAbilityMessage();
- }
- private void UpdateSurfaceBlend()
- {
- if (this.m_surfaceBlend)
- {
- this.m_surfaceBlendAlpha -= Mevius.App.Api.GetDeltaTime();
- if (this.m_surfaceBlendAlpha < 0f)
- {
- UnityEngine.Object.Destroy(this.m_surfaceBlend);
- this.m_surfaceBlend = null;
- }
- else
- {
- this.m_surfaceBlend.SetAlpha(this.m_surfaceBlendAlpha);
- }
- }
- }
- public void StartSlow(bool impactSE = false)
- {
- if (!this.IsBattleWin())
- {
- this.m_battleSlow.Start(impactSE);
- if (!Mevius.App.Api.IsPartyMode())
- {
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- }
- }
- }
- public void EndSlow()
- {
- this.m_battleSlow.End();
- }
- public BattleSlow.StateType GetSlowState()
- {
- return this.m_battleSlow.State;
- }
- public bool OnBattleResult()
- {
- bool result = false;
- if (this.m_tutorialManager != null)
- {
- result = this.m_tutorialManager.OnBattleResult();
- }
- return result;
- }
- public void BattleResultEnd()
- {
- }
- public void ExitBattleResult()
- {
- if (this._step == BattleManager.BattleStep.ResultWait)
- {
- this._step = BattleManager.BattleStep.ResultIdleWait;
- }
- }
- public BattleManager.EncountType GetEncountType()
- {
- return BattleManager.EncountType.Normal;
- }
- public void SetAutoAttack(bool bAuto)
- {
- if (bAuto)
- {
- this.m_autoAttack = BattleManager.AutoAttackType.NormalAutoAttack;
- }
- else
- {
- this.m_autoAttack = BattleManager.AutoAttackType.Off;
- }
- }
- public bool IsAutoAttack()
- {
- return this.m_autoAttack != BattleManager.AutoAttackType.Off;
- }
- public BattleManager.AutoAttackType AutoAttack
- {
- get
- {
- return this.m_autoAttack;
- }
- set
- {
- this.m_autoAttack = value;
- }
- }
- public void StartTargetChangeMode()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (!this.IsTargetChangeMode() && this._step == BattleManager.BattleStep.MultiBattleInput)
- {
- BattleManager._i.CameraManager.SetInterpolation(0.8f, CameraSequence.BlendType.Curve, false);
- BattleManager._i.CameraManager.InitTargetChange(this.m_boss, this.m_playerActor, this.m_actorList);
- BattleManager._i.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetChange);
- }
- }
- else if (!this.IsTargetChangeMode() && this.IsPlayerTurn())
- {
- BattleManager._i.CameraManager.SetInterpolation(0.8f, CameraSequence.BlendType.Curve, false);
- BattleManager._i.CameraManager.InitTargetChange(this.m_boss, this.m_playerActor, this.m_actorList);
- BattleManager._i.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetChange);
- }
- }
- public void EndTargetChangeMode(bool toTargetSelectCamera)
- {
- if (toTargetSelectCamera && this.m_cameraManager != null)
- {
- this.m_cameraManager.SetInterpolation(0.8f, CameraSequence.BlendType.Curve, false);
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_targetActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- public bool IsTargetChangeMode()
- {
- return BattleManager._i.CameraManager != null && BattleManager._i.CameraManager.CurrentCameraType == BattleCameraManager.CameraType.TargetChange;
- }
- public bool IsBattleCameraDragging()
- {
- return this.m_inputCheck && this.m_playerActor.State == BattleActor.StateType.Idle && this.m_guiTouchComponent.IsDown();
- }
- public void Init()
- {
- }
- public void Final()
- {
- }
- public void PartyTest()
- {
- }
- private void _ChangeActorBattle2Field()
- {
- Mevius.App.Api.SetActiveFieldActors(Mevius.App.Api.ActiveFieldActorsLayer.Application, true);
- Mevius.Effect.Api.SetEffectActive(Mevius.Effect.Constants.EffectLayer.Field, true);
- Mevius.App.Api.SetActiveBattleActors(false);
- Mevius.Gui.Api.SetFieldMenuModeDirect(GuiFieldMenu.Mode.ViewFull, false);
- }
- public void ClearCurrentTarget()
- {
- this.m_targetActor = null;
- }
- public void SetCurrentTarget(BattleActor target)
- {
- this.m_targetActor = target;
- }
- public void Update()
- {
- if (this.requestStartBattle)
- {
- this.StartBattle();
- }
- this._UpdateResource();
- if (this.m_tutorialManager != null && this.m_tutorialManager.Update())
- {
- return;
- }
- switch (this._step)
- {
- case BattleManager.BattleStep.None:
- goto IL_1771;
- case BattleManager.BattleStep.CreateActor:
- if (Mevius.App.Api.IsPartyMode())
- {
- foreach (Mevius.Party.Api.PARTY_MEMBER_TYPE party_MEMBER_TYPE in Mevius.Party.Api.GetPartyType())
- {
- if (party_MEMBER_TYPE != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY)
- {
- if (party_MEMBER_TYPE == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- Mevius.Db.Api.CreatePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- }
- else
- {
- Mevius.Db.Api.CreatePartyResource(party_MEMBER_TYPE, DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- }
- }
- }
- }
- else
- {
- Mevius.Db.Api.CreatePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- Mevius.Db.Api.CreateSubPartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- }
- for (int j = 0; j < this._entryBattleCharaSpecList.Count; j++)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(this._entryBattleCharaSpecList[j]);
- GameInstanceManager.CreateInstanceArg createInstanceArg = new GameInstanceManager.CreateInstanceArg();
- createInstanceArg.resource = c51747b7e0e19ad065084a2c5a6d8421b.mc17ab063bf174d4fbb31c91f28a5f111();
- createInstanceArg.callback = new GameInstanceManager.CreateInstanceCallBack(AppManager._i.appActorManager.delegateCreateActor);
- createInstanceArg.callbacktag = new delegateCreateActorArg
- {
- spec = c51747b7e0e19ad065084a2c5a6d8421b.mc17ab063bf174d4fbb31c91f28a5f111(),
- mode = ActorMode.ActorMode_BATTLE,
- fieldType = FieldControllerType.FieldControllerType_NONE,
- cinemaType = CinemaControllerType.CinemaControllerType_NONE,
- battleType = BattleControllerType.BattleControllerType_DEFAULT,
- talkType = TalkControllerType.TalkControllerType_NONE,
- battleCharaSpec = c51747b7e0e19ad065084a2c5a6d8421b.m2406fe4ab939a17fa07b0f4590a53fad()
- };
- string enemyActorName = BattleManager.GetEnemyActorName(j);
- Mevius.App.Api.CreateCharaInstanceCommand(enemyActorName, createInstanceArg);
- this._actorNameList.Add(enemyActorName);
- }
- this.UpdateCamera();
- this._step = BattleManager.BattleStep.Init;
- goto IL_1771;
- case BattleManager.BattleStep.Init:
- this.UpdateInit();
- goto IL_1771;
- case BattleManager.BattleStep.EncountCameraWait:
- this.UpdateCamera();
- if (this.m_cameraManager.IsEnd())
- {
- Mevius.Gui.Api.CreateBattleMenu();
- this.LoadPlayerCardResources();
- this._step = BattleManager.BattleStep.MenuCreateWait;
- }
- goto IL_1771;
- case BattleManager.BattleStep.MenuCreateWait:
- if (Mevius.Gui.Api.IsBattleMenuCreated() && GuiManager.Instance.cardManager.IsLoaded() && GuiManager.Instance.cardManager.IsCreated())
- {
- GuiBattleMenu.Instance.IsZone = this.m_zone;
- Mevius.Gui.Api.ShowBattleMenu(this.m_playerActor.JobType, this.m_playerActor.GetAbilityButtonInfo(), this.m_playerActor.GetJobAbilityTextResourceId(), BattleUtility.GetJobUseAttributeArray(this.m_playerActor.Deck, this.m_playerActor.IsSummon()), this.m_playerActor.Hp, this.m_playerActor.HpMax, this.m_playerActor.ManaUseNum, this.m_playerActor.JobAbilityUseManaUseNum, false);
- GuiBattleMenu.Instance.SetJobChangeChargeTurn((int)this.m_playerJobChangeChargeTurn, true);
- this.UpdateSubJobElementRing();
- GuiBattleMenu.Instance.TimeLine.ClearIcons(true);
- this._step = BattleManager.BattleStep.MenuShowWait;
- }
- goto IL_1771;
- case BattleManager.BattleStep.MenuShowWait:
- if (!Mevius.Gui.Api.IsBattleMenuShown())
- {
- goto IL_1771;
- }
- this.m_lastBattle = this.IsLastBattle();
- this.m_lastBgmVolumeChanged = false;
- Mevius.Gui.Api.RemoveDelayLoadingIcon(NowLoadingManager.Layer.TopLevel, "TopLevel");
- if (this.m_manaObjectManager.IsDraw())
- {
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_ce_battle_in", 1f, 0, 0, Vector3.zero, null, false, -1, 0, 1f);
- }
- Mevius.Gui.Api.AddBattleTouchAreaEvent(new GuiBattleMenu.TouchAreaEventHandler(this.TouchAreaEvent));
- if (!Mevius.App.Api.IsPartyMode() && Mevius.Db.Api.IsEnableClientSaveData(0u) && Mevius.Db.Api.HasBattleData() && Mevius.Db.Api.GetBattleData().step > 2)
- {
- this.LoadData();
- for (int k = 0; k < this.m_actorList.Count; k++)
- {
- BattleActor battleActor = this.m_actorList[k];
- if (battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- battleActor.CreateEnemyHpGauge();
- battleActor.UpdateStatusEffectGui(true);
- }
- }
- this.InitFairyActor();
- }
- else
- {
- if (!Mevius.App.Api.IsPartyMode() && Mevius.Db.Api.HasBattleData())
- {
- this.LoadFF8Data();
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- this.RestoreMultiData(true);
- Array.Clear(this.m_enemyAiCommonCounters, 0, this.m_enemyAiCommonCounters.Length);
- }
- for (int l = 0; l < this.m_actorList.Count; l++)
- {
- BattleActor battleActor2 = this.m_actorList[l];
- if (battleActor2.IsEnemy() && battleActor2.IsActiveTarget())
- {
- battleActor2.CreateEnemyHpGauge();
- battleActor2.InitDebuffInvalid(true);
- }
- }
- C098a168d3605b12448638cab8ccafe9d.C6a63ba3da59f35f0fee059da0f7321db c6a63ba3da59f35f0fee059da0f7321db = C098a168d3605b12448638cab8ccafe9d.Find(this.currentBattleScene);
- if (c6a63ba3da59f35f0fee059da0f7321db != null && !string.IsNullOrEmpty(c6a63ba3da59f35f0fee059da0f7321db.mfa554940acbf37691763345305e1e3a4()))
- {
- C66d1c702408526ca44c99abdacae85fc.C713280ef8c2343697779d4832119f911 c713280ef8c2343697779d4832119f = C66d1c702408526ca44c99abdacae85fc.Find(c6a63ba3da59f35f0fee059da0f7321db.mfa554940acbf37691763345305e1e3a4());
- if (c713280ef8c2343697779d4832119f != null)
- {
- Mevius.Gui.Api.CreateAutoClip(c713280ef8c2343697779d4832119f.mc21f35a8dc3c0a98fdcb2908689a6362(), c713280ef8c2343697779d4832119f.mb300c4a557ae7c3ac224cf5c9a6b78d1());
- }
- this._step = BattleManager.BattleStep.AutoClipWait;
- }
- else if (!Mevius.App.Api.IsPartyMode())
- {
- this.ProcStepBattleStatusEffect();
- this._step = BattleManager.BattleStep.StepBattleEffect;
- this.SaveData();
- }
- else if (!Mevius.Party.Api.IsFirstSnap())
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- else
- {
- this.ProcStepBattleStatusEffect();
- this._step = BattleManager.BattleStep.StepBattleEffect;
- this.SaveData();
- }
- }
- if (this.IsCountTimeBattle())
- {
- this.m_jobChangeActionGauge = this.GetJobChangeActionGauge();
- GuiBattleMenu.Instance.TimeLine.ActionGauge = this.m_actionGauge;
- GuiBattleMenu.Instance.TimeLine.RecoveryGauge = Mathf.Max(this.m_actionGaugeDecrease - this.m_actionGauge, 0);
- GuiBattleMenu.Instance.TimeLine.ActionGaugeMax = Mevius.DataSheet.Api.GetResidentInteger("ctbActionGaugeMax", 800);
- GuiBattleMenu.Instance.TimeLine.JobChangeActionGaugeAmount = this.m_jobChangeActionGauge;
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- GuiBattleMenu.Instance.TimeLine.SubStrikeActionGaugeAmount = (int)ca4d3b5367a73030692d322e3f08669b.m8ffedb5dbe5912c2b2eb70f721a7dfac();
- }
- GuiBattleMenu.Instance.TimeLine.ActionPower = this.m_actionPower;
- GuiBattleMenu.Instance.TimeLine.ActionPowerMax = (float)ca4d3b5367a73030692d322e3f08669b.mb340f1c79854e240a4cb690d3cacca53();
- GuiBattleMenu.Instance.TimeLine.ResetActionGauge();
- }
- this.m_playerActor.UpdateStatusEffectGui(true);
- this.m_playerActor.UpdateJobAbilityGauge();
- this.m_playerActor.UpdateElementalGaugeGui();
- this.UpdateManaGui();
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.UpdateSelectedEnemyGauge();
- }
- if (BattleUtility.GetElementInfluenceType() != 0)
- {
- this.ShowElementInfluence();
- }
- if (Mevius.Db.Api.GetBattleData().padCombo > 0)
- {
- Mevius.Gui.Api.ShowPadCombo((int)Mevius.Db.Api.GetBattleData().padCombo, BattleUtility.GetPadComboRate() * BattleUtility.GetPadDamageRate(), Mevius.Db.Api.GetBattleData().padDamageType == 2);
- Mevius.Gui.Api.ShowPadTurnCount((int)Mevius.Db.Api.GetBattleData().padComboTurn);
- }
- goto IL_1771;
- case BattleManager.BattleStep.AutoClipWait:
- if (Mevius.Gui.Api.IsAutoClipFinish())
- {
- this.ProcStepBattleStatusEffect();
- this._step = BattleManager.BattleStep.StepBattleEffect;
- this.SaveData();
- }
- goto IL_1771;
- case BattleManager.BattleStep.StepBattleEffect:
- this.m_actionStepWait -= Mevius.App.Api.GetDeltaTimeForBattle();
- if (this.m_actionStepWait <= 0f)
- {
- this.m_actionStepWait = 0f;
- this.ProcStepBattleStatusEffectEnd();
- if (this.IsCountTimeBattle())
- {
- for (int m = 0; m < this.m_actorList.Count; m++)
- {
- BattleActor battleActor3 = this.m_actorList[m];
- if (battleActor3 != null && battleActor3.IsActive())
- {
- battleActor3.ReadyAction();
- }
- }
- }
- this._step = BattleManager.BattleStep.BattleStart;
- this.SaveData();
- }
- goto IL_1771;
- case BattleManager.BattleStep.BattleStart:
- this.UpdateBattleStart();
- goto IL_1771;
- case BattleManager.BattleStep.FairyTurnStart:
- if (this.m_fairyActor != null && !this.m_presetFairyEffect)
- {
- this.ProcFairyEffectType(false);
- }
- this.m_presetFairyEffect = false;
- if (this.m_fairyEffectType != BattleManager.FairyEffectType.None)
- {
- this.UpdateCamera();
- this.UpdateTime();
- this.m_fairyActor.Action(this.m_fairyEffectType);
- BattleManager._i.CameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- BattleManager._i.CameraManager.InitAction("fairy1", this.m_playerActor, false, false);
- BattleManager._i.CameraManager.ChangeCamera(BattleCameraManager.CameraType.Action);
- this.Step = BattleManager.BattleStep.FairyTurn;
- goto IL_1771;
- }
- if (this.IsCountTimeBattle())
- {
- this.Step = BattleManager.BattleStep.CTBStart;
- goto IL_E60;
- }
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- break;
- case BattleManager.BattleStep.FairyTurn:
- this.UpdateCamera();
- this.UpdateTime();
- if (this.m_fairyActor.TurnEnd)
- {
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.ClearDQBattleLogText();
- if (this.IsCountTimeBattle())
- {
- this.Step = BattleManager.BattleStep.CTBStart;
- }
- else
- {
- this.Step = BattleManager.BattleStep.PlayerTurnStart;
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.PlayerTurnStart:
- break;
- case BattleManager.BattleStep.PlayerTurnStartWait:
- this.UpdateCamera();
- this.UpdateTime();
- if (this.m_playerActor != null)
- {
- if (this.m_playerActor.IsSummon() && this.m_playerActor.IsDead())
- {
- if (this.m_playerActor.IsDeadIdle())
- {
- this.ProcChangeJob(false, false);
- }
- }
- else if (this.m_playerActor.UpdateReadyAction())
- {
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- this._step = BattleManager.BattleStep.PlayerTurn;
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.PlayerTurn:
- this.UpdatePlayerTurn();
- goto IL_1771;
- case BattleManager.BattleStep.CheckMultiBattleCmd:
- this.UpdateCamera();
- this.UpdateTime();
- this.UpdateMultiBattleCmd();
- goto IL_1771;
- case BattleManager.BattleStep.MultiBattleInputStart:
- this.m_updateReadyActionList.Clear();
- for (int n = 0; n < this.m_multiBattleActorList.Count; n++)
- {
- BattleActor battleActor4 = this.m_multiBattleActorList[n];
- if (battleActor4.IsActive())
- {
- battleActor4.OnTurnBegin();
- if (battleActor4.ReadyAction())
- {
- this.m_updateReadyActionList.Add(battleActor4);
- }
- }
- else
- {
- battleActor4.UpdateCardAbilityTurnCountGui();
- }
- }
- this._step = BattleManager.BattleStep.MultiBattleInputStartWait;
- goto IL_1771;
- case BattleManager.BattleStep.MultiBattleInputStartWait:
- {
- bool flag = false;
- this.m_updatedList.Clear();
- for (int num = 0; num < this.m_updateReadyActionList.Count; num++)
- {
- BattleActor battleActor5 = this.m_updateReadyActionList[num];
- if (battleActor5.UpdateReadyAction())
- {
- this.m_updatedList.Add(battleActor5);
- }
- else
- {
- flag = true;
- }
- }
- for (int num2 = 0; num2 < this.m_updatedList.Count; num2++)
- {
- this.m_updateReadyActionList.Remove(this.m_updatedList[num2]);
- }
- if (flag)
- {
- goto IL_1771;
- }
- this.m_playerActor = this.m_selfActor;
- if (!this.m_playerActor.IsDead() && (this.m_targetActor == null || !this.m_targetActor.IsActive()))
- {
- this.UpdateSelectedTarget();
- }
- this.ChangeTargetSelectCamera(true);
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- Mevius.Gui.Api.OnStartInput();
- if (this.m_playerActor.IsDead())
- {
- Mevius.Gui.Api.ShowPlayerDeadTimer();
- Mevius.Gui.Api.SetBattleTargetButtonEnable(false);
- }
- else
- {
- Mevius.Gui.Api.ShowPlayerTurnTimer();
- Mevius.Gui.Api.ShowDecideButton();
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- }
- Mevius.Party.Api.ClearCommandStock();
- Mevius.Party.Api.ClearCommand();
- this._step = BattleManager.BattleStep.MultiBattleInput;
- goto IL_1771;
- }
- case BattleManager.BattleStep.MultiBattleInput:
- this.UpdateMultiBattleInput();
- goto IL_1771;
- case BattleManager.BattleStep.EnemyTurnStart:
- this.UpdateEnemyTurnStart();
- goto IL_1771;
- case BattleManager.BattleStep.EnemyTurnStartWait:
- this.UpdateEnemyTurnStartWait();
- goto IL_1771;
- case BattleManager.BattleStep.EnemyTurn:
- this.UpdateEnemyTurn();
- goto IL_1771;
- case BattleManager.BattleStep.CTBStart:
- goto IL_E60;
- case BattleManager.BattleStep.CTB:
- this.UpdateCTB();
- goto IL_1771;
- case BattleManager.BattleStep.EscapeCheck:
- if (GuiBattleMenu.Instance != null && GuiBattleMenu.Instance.Pausing)
- {
- goto IL_1771;
- }
- this.UpdateEscapeCheck();
- goto IL_1771;
- case BattleManager.BattleStep.Escape:
- {
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = false;
- }
- if (this.m_playerActor != null)
- {
- this.m_playerActor.OnBattleEscape();
- }
- AppActor appActor = Mevius.App.Api.FindAppActor(Mevius.Db.Api.GetPlayerName());
- if (appActor != null)
- {
- FieldPlayerActor fieldPlayerActor = appActor.actors[0] as FieldPlayerActor;
- if (fieldPlayerActor != null)
- {
- fieldPlayerActor.OnIdle();
- }
- }
- Mevius.Gui.Api.AddFadeInstance(BattleManager.c_BattleEscapeFade, FadeManager.FadeLayer.FadeLayer_Default, 0f, 0f, 0f, 0f, 1f, 1f, false, 0);
- if (Mevius.Field.Api.IsCoop())
- {
- Mevius.Gui.Api.AddFadeInstance(Resident.sc_CoopBattleEscapeFade, FadeManager.FadeLayer.FadeLayer_3D, 0f, 0f, 0f, 0f, 1f, 1f, false, 0);
- }
- Mevius.Zone.Api.CancelZoneActionSequence();
- this.connectTask = Mevius.App.Api.AddAsyncCommand(new AsyncCommandManager.AsyncCommandCallBack(MainLoop.waitTimeTask), 1f);
- this._step = BattleManager.BattleStep.EscapeWait;
- goto IL_1771;
- }
- case BattleManager.BattleStep.EscapeWait:
- if (!Mevius.App.Api.IsExistTaskId(this.connectTask) && !Mevius.Gui.Api.IsFadeing(BattleManager.c_BattleEscapeFade))
- {
- this.RemoveCameraManager();
- this.EndBattle();
- if (Mevius.Field.Api.IsCoop())
- {
- Mevius.Gui.Api.ShowHideStampButtonLayer(Mevius.Gui.Api.StampLayer.ActionSequence, false);
- }
- Mevius.Gui.Api.HideBattleMenu();
- this._ChangeActorBattle2Field();
- this.m_tutorialManager = null;
- this._step = BattleManager.BattleStep.CheckChara;
- }
- goto IL_1771;
- case BattleManager.BattleStep.CheckChara:
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Job, 0);
- if (Mevius.Db.Api.IsRefreshJobChange())
- {
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- Mevius.Db.Api.RemovePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_FIELD);
- this._step = BattleManager.BattleStep.CharaDeleteWait;
- }
- }
- else
- {
- this._step = BattleManager.BattleStep.ResourceStepUnloadWait;
- }
- goto IL_1771;
- case BattleManager.BattleStep.CharaDeleteWait:
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- Mevius.Db.Api.CreatePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_FIELD);
- this._step = BattleManager.BattleStep.CharaCreateWait;
- }
- goto IL_1771;
- case BattleManager.BattleStep.CharaCreateWait:
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- this._step = BattleManager.BattleStep.ResourceStepUnloadWait;
- }
- goto IL_1771;
- case BattleManager.BattleStep.ContinueCheck:
- {
- if (GuiBattleMenu.Instance != null && GuiBattleMenu.Instance.Pausing)
- {
- goto IL_1771;
- }
- if (Mevius.Db.Api.GetClientContinueIdentifier() != 0u && Mevius.Db.Api.GetClientContinueIdentifier() == Mevius.Db.Api.GetServerConnectIdentifier())
- {
- Mevius.Db.Api.SetClientContinueIdentifier(0u);
- this.RevivePlayer();
- if (Mevius.App.Api.IsPartyMode())
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- else
- {
- this._step = BattleManager.BattleStep.FairyTurnStart;
- }
- goto IL_1771;
- }
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = false;
- }
- uint num3 = Mevius.Common.Random.GetInstance().GetUnsignedInteger();
- if (Mevius.Db.Api.getTicketCount(Mevius.Db.Api.TICKET_TYPE.TICKET_TYPE_RAISE) > 0u)
- {
- num3 &= 4294967294u;
- }
- else
- {
- num3 |= 1u;
- }
- Mevius.Db.Api.SetClientContinueIdentifier(num3);
- this.SaveData();
- this._step = BattleManager.BattleStep.ContinueCheckWait;
- goto IL_1771;
- }
- case BattleManager.BattleStep.ContinueCheckWait:
- {
- string battleContinueStr = Mevius.Gui.Util.GetBattleContinueStr();
- int num4 = Mevius.Gui.Util.CheckMessageBox(ref this.m_MsgHandle, "$msg_title_010", battleContinueStr, GuiMessageBox.Buttons.FromText, GuiMessageBox.Skin.Default, false, null, Mevius.Gui.Constants.SoundEffectKind.system_se_window_in, false);
- if (Mevius.Field.Api.BattleApi.IsContinueable())
- {
- int num5 = num4;
- if (num5 != 0)
- {
- if (num5 == 1)
- {
- this._step = BattleManager.BattleStep.Escape;
- }
- }
- else
- {
- this._step = BattleManager.BattleStep.MagicStoneCheck;
- }
- }
- else
- {
- if (num4 == -1)
- {
- return;
- }
- this._step = BattleManager.BattleStep.Escape;
- }
- goto IL_1771;
- }
- case BattleManager.BattleStep.MagicStoneCheck:
- {
- GuiPopUpItemShop.Param param = new GuiPopUpItemShop.Param(null, Mevius.Db.Api.ShopListType.ShopListType_RAISE_TICKET, 1, null);
- GuiPopUpItemShop.Result result = Mevius.Gui.Api.BuyCheckFlow(param);
- if (result == GuiPopUpItemShop.Result.OK)
- {
- this._step = BattleManager.BattleStep.Continue;
- }
- else
- {
- this._step = BattleManager.BattleStep.WaitBuyMagicStone;
- }
- goto IL_1771;
- }
- case BattleManager.BattleStep.WaitBuyMagicStone:
- if (Mevius.Gui.Api.IsFinishBuyCheckFlow())
- {
- this._step = BattleManager.BattleStep.ContinueCheck;
- if (Mevius.Zone.Api.IsReturnToTitle())
- {
- this._step = BattleManager.BattleStep.Escape;
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.Continue:
- this.connectTask = Mevius.App.Api.AddMainAsyncCommand(new AsyncCommandManager.AsyncCommandCallBack(NetworkManager.execCommandCoordinateWithIdentifier), "BattleContinue");
- this._step = BattleManager.BattleStep.ContinueWait;
- goto IL_1771;
- case BattleManager.BattleStep.ContinueWait:
- if (!Mevius.App.Api.IsExistTaskId(this.connectTask))
- {
- if (Mevius.Zone.Api.IsReturnToTitle())
- {
- Mevius.Db.Api.SetClientContinueIdentifier(0u);
- this._step = BattleManager.BattleStep.Escape;
- }
- else if (Mevius.Db.Api.GetClientContinueIdentifier() != Mevius.Db.Api.GetServerConnectIdentifier())
- {
- this._step = BattleManager.BattleStep.ContinueCheck;
- }
- else
- {
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- if (this.m_fairyActor != null)
- {
- this.m_fairyEffectType = BattleManager.FairyEffectType.Revive;
- this.m_fairyActor.Action(this.m_fairyEffectType);
- BattleManager._i.CameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- BattleManager._i.CameraManager.InitAction("fairy1", this.m_playerActor, false, false);
- BattleManager._i.CameraManager.ChangeCamera(BattleCameraManager.CameraType.Action);
- this._step = BattleManager.BattleStep.ContinueDirection;
- }
- else
- {
- this.RevivePlayer();
- Mevius.Db.Api.SetClientContinueIdentifier(0u);
- if (this.IsCountTimeBattle())
- {
- this._step = BattleManager.BattleStep.CTBStart;
- }
- else
- {
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- }
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.ContinueDirection:
- this.UpdateCamera();
- if (this.m_fairyActor == null || this.m_fairyActor.TurnEnd)
- {
- this.RevivePlayer();
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.ClearDQBattleLogText();
- Mevius.Db.Api.SetClientContinueIdentifier(0u);
- if (this.IsCountTimeBattle())
- {
- this._step = BattleManager.BattleStep.ContinueDirectionCTB;
- }
- else
- {
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.ContinueDirectionCTB:
- this.UpdateCamera();
- if (this.m_playerActor.State == BattleActor.StateType.Idle)
- {
- if (this.m_turnNum == 0)
- {
- this.m_playerActor.ReadyAction();
- this._step = BattleManager.BattleStep.BattleStart;
- }
- else
- {
- GuiBattleMenu.Instance.ShowTimeLineEnd();
- this._step = BattleManager.BattleStep.CTBStart;
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.ResultReady:
- this.UpdateCamera();
- this.UpdateTime();
- if (Mevius.App.Api.IsPartyMode())
- {
- if (!this.IsMultiFinishCamera())
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- }
- else
- {
- if (this.CameraManager.IsActionEnd())
- {
- this.ChangeTargetSelectCamera(false);
- }
- this.m_actionStepWait += Mevius.App.Api.GetDeltaTimeForBattle();
- if (this.m_actionStepWait > Mevius.DataSheet.Api.GetResidentFloat("battleEndWaitSec", 1.5f) && GuiBattleMenu.Instance != null && !GuiBattleMenu.Instance.Pausing && !this.m_playerActor.IsActionStep())
- {
- this.m_actionStepWait = 0f;
- this.SetBattleWinImmediate(true);
- }
- }
- goto IL_1771;
- case BattleManager.BattleStep.Result:
- if (BattleTest._i != null)
- {
- this._step = BattleManager.BattleStep.Result2;
- }
- else if (Mevius.Db.Api.IsRefreshJobChange())
- {
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- Mevius.Db.Api.RemovePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_FIELD);
- this._step = BattleManager.BattleStep.PreResultWait;
- }
- }
- else
- {
- this._step = BattleManager.BattleStep.Result2;
- }
- goto IL_1771;
- case BattleManager.BattleStep.PreResultWait:
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- Mevius.Db.Api.CreatePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_FIELD);
- this._step = BattleManager.BattleStep.PreResultWait2;
- }
- goto IL_1771;
- case BattleManager.BattleStep.PreResultWait2:
- if (Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- this._step = BattleManager.BattleStep.Result2;
- }
- goto IL_1771;
- case BattleManager.BattleStep.Result2:
- {
- Mevius.Gui.Api.CreateBattleResult();
- Mevius.Gui.Api.HideBattleMenu();
- this.RemoveCameraManager();
- int num6 = Mevius.Db.Api.GetCurrentCardDeck();
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- num6 += 12;
- }
- C912567889466ef0cf80daa8b03815aff.C648971f118c7e1100318b6fb7ac13b59 equipmentJobDatasheetElemSlot = Mevius.Db.Api.GetEquipmentJobDatasheetElemSlot(num6);
- if (equipmentJobDatasheetElemSlot != null)
- {
- FieldManager._i.fieldCameraController.SetupBattleResultCamera((CameraSequence.SituationType)equipmentJobDatasheetElemSlot.m261c1233e882c98e7c2e671f13628641());
- }
- Ca8cb6cbffd922889655adb017c6a8321.C0f50e5a11c18dca4fc58c614e707a8bf c0f50e5a11c18dca4fc58c614e707a8bf = Ca8cb6cbffd922889655adb017c6a8321.Find(FieldManager._i.fieldCameraController.MainCameraSequence.CurrentSequence);
- this.OnLastBattleWin((c0f50e5a11c18dca4fc58c614e707a8bf.m80342e8a00d836900948710e6ae6b000() == 0) ? BattleManager.LastBattleWinCameraType.Player : BattleManager.LastBattleWinCameraType.Fairy);
- this._ChangeActorBattle2Field();
- if (Mevius.Db.Api.IsSummonMode())
- {
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Job, 0);
- }
- AppActor appActor2 = Mevius.App.Api.FindAppActor(Mevius.Db.Api.GetPlayerName());
- FieldPlayerActor fieldPlayerActor2 = appActor2.actors[0] as FieldPlayerActor;
- if (BattleTest._i == null)
- {
- ActionInfo nextAction = ZoneActionSequenceExecutor._i.GetNextAction();
- if (nextAction == null || !nextAction.IsBattle())
- {
- fieldPlayerActor2.OnBattleResultEnd();
- }
- else
- {
- fieldPlayerActor2.OnBattleResult();
- }
- }
- this._step = BattleManager.BattleStep.ResultWait;
- goto IL_1771;
- }
- case BattleManager.BattleStep.ResultWait:
- this.UpdateSurfaceBlend();
- this.UpdateCamera();
- goto IL_1771;
- case BattleManager.BattleStep.ResultIdleWait:
- {
- this.UpdateSurfaceBlend();
- ActionInfo nextAction2 = ZoneActionSequenceExecutor._i.GetNextAction();
- this.UpdateCamera();
- AppActor appActor3 = Mevius.App.Api.FindAppActor(Mevius.Db.Api.GetPlayerName());
- if (appActor3 == null)
- {
- goto IL_1771;
- }
- FieldPlayerActor fieldPlayerActor3 = appActor3.actors[0] as FieldPlayerActor;
- if (fieldPlayerActor3.IsIdle() || (nextAction2 != null && nextAction2.IsBattle()))
- {
- this._step = BattleManager.BattleStep.ResultEnd;
- }
- goto IL_1771;
- }
- case BattleManager.BattleStep.ResultEnd:
- if (this.m_surfaceBlend)
- {
- UnityEngine.Object.Destroy(this.m_surfaceBlend);
- }
- this._step = BattleManager.BattleStep.ActionCameraEndWait;
- goto IL_1771;
- case BattleManager.BattleStep.ActionCameraEndWait:
- if (Mevius.Zone.Api.GetPlayMode() == ZoneStateMachine.PlayMode.PlayMode_BATTLE_TEST)
- {
- this._step = BattleManager.BattleStep.ResourceStepUnload;
- }
- goto IL_1771;
- case BattleManager.BattleStep.ResourceStepUnload:
- this._step = BattleManager.BattleStep.ResourceStepUnloadWait;
- goto IL_1771;
- case BattleManager.BattleStep.ResourceStepUnloadWait:
- if (!Mevius.App.Api.IsExistTaskId(this.resourceUnloadTaskId))
- {
- this._step = BattleManager.BattleStep.End;
- }
- goto IL_1771;
- case BattleManager.BattleStep.End:
- if (this.lastBattleWinActorObject != null)
- {
- this.lastBattleWinActorObject.GetComponent<FacialController>().StopLipsync();
- this.lastBattleWinActorObject = null;
- }
- this.m_damageSourceManager.Clear();
- this.m_playerActor = null;
- this._step = BattleManager.BattleStep.Exit;
- goto IL_1771;
- case BattleManager.BattleStep.Exit:
- goto IL_1771;
- default:
- goto IL_1771;
- }
- this.UpdateCamera();
- this.UpdateTime();
- if (Mevius.App.Api.IsPartyMode())
- {
- if (this.m_multiBattleSlotList.Count == 0)
- {
- this.EndSlow();
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- else
- {
- int num7 = this.m_multiBattleSlotList[0];
- for (int num8 = 0; num8 < this.m_multiBattleActorList.Count; num8++)
- {
- if (num7 == this.m_multiBattleActorList[num8].PartySlot)
- {
- this.m_multiBattleCurrentOrder = num8;
- break;
- }
- }
- BattleActor battleActor6 = this.m_multiBattleActorList[this.m_multiBattleCurrentOrder];
- if (battleActor6.IsMultiMember())
- {
- this.m_partyMemberTurn = true;
- }
- else
- {
- this.m_partyMemberTurn = false;
- }
- if (!this.m_playerActor.IsMultiMember() && battleActor6.IsMultiMember())
- {
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.PartyAttack);
- this.CameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitPartyAttack(this.m_boss, battleActor6, this.m_actorList, true);
- }
- if (this.m_playerActor.IsMultiMember() && !battleActor6.IsMultiMember())
- {
- this.CameraManager.SetInterpolation(0.5f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTargetSelect(this.m_boss, battleActor6, battleActor6.TargetActor);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- this.m_playerActor = battleActor6;
- if (!this.m_playerActor.IsDead() && (this.m_targetActor == null || !this.m_targetActor.IsActive()))
- {
- this.UpdateSelectedTarget();
- }
- this.ChangeTargetSelectCamera(false);
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- Mevius.Gui.Api.OnStartPlayerTurn(this.m_playerActor);
- this.m_playerActor.EndGuard(false);
- this._step = BattleManager.BattleStep.PlayerTurn;
- }
- }
- else
- {
- this.UpdateElementInfluence();
- if (this.m_playerActor != null)
- {
- if (this.m_targetActor == null || !this.m_targetActor.IsActive())
- {
- this.UpdateSelectedTarget();
- }
- this.ChangeTargetSelectCamera(true);
- this.m_playerActor.OnTurnBegin();
- if (this.m_playerActor.ReadyAction())
- {
- this._step = BattleManager.BattleStep.PlayerTurnStartWait;
- }
- else
- {
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- Mevius.Gui.Api.OnStartPlayerTurn(this.m_playerActor);
- this._step = BattleManager.BattleStep.PlayerTurn;
- }
- }
- }
- goto IL_1771;
- IL_E60:
- this.UpdateCTBStart();
- IL_1771:
- this.m_guiTouchComponent.Update();
- }
- public void UpdateEnd()
- {
- }
- public void LateUpdate()
- {
- }
- public void LateUpdateEnd()
- {
- if (Mevius.DataSheet.Api.GetResidentInteger("cameraUpdateTiming", 1) == 1)
- {
- BattleManager.BattleStep step = this._step;
- switch (step)
- {
- case BattleManager.BattleStep.Init:
- case BattleManager.BattleStep.EncountCameraWait:
- case BattleManager.BattleStep.BattleStart:
- case BattleManager.BattleStep.FairyTurnStart:
- case BattleManager.BattleStep.FairyTurn:
- case BattleManager.BattleStep.PlayerTurnStart:
- case BattleManager.BattleStep.PlayerTurnStartWait:
- case BattleManager.BattleStep.PlayerTurn:
- case BattleManager.BattleStep.CheckMultiBattleCmd:
- case BattleManager.BattleStep.MultiBattleInput:
- case BattleManager.BattleStep.EnemyTurnStartWait:
- case BattleManager.BattleStep.EnemyTurn:
- case BattleManager.BattleStep.CTBStart:
- case BattleManager.BattleStep.CTB:
- break;
- default:
- switch (step)
- {
- case BattleManager.BattleStep.ContinueDirection:
- case BattleManager.BattleStep.ResultReady:
- break;
- default:
- if (step != BattleManager.BattleStep.ResultWait && step != BattleManager.BattleStep.ResultIdleWait)
- {
- return;
- }
- break;
- }
- break;
- }
- this.UpdateCameraEntry();
- }
- }
- private void UpdateInit()
- {
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Job_Enable, 1);
- this.m_randCount = 0;
- this.m_damageRandCount = 0;
- this.m_movementRandCount = 0;
- if (DebugOutput.Instance != null)
- {
- DebugOutput.Instance.ErrorLogList.Clear();
- }
- this.m_multiBattleIgnoreMemberActionCamera = (Mevius.DataSheet.Api.GetResidentInteger("multi_ignoreOtherActionCamera", 1) > 0);
- if (Mevius.Field.Api.IsCoop())
- {
- if (Mevius.Gui.Api.IsExistFade(Resident.sc_CoopBattleStartFade))
- {
- Mevius.Gui.Api.RemoveFadeInstance(Resident.sc_CoopBattleStartFade);
- }
- Mevius.Gui.Api.ShowHideStampButtonLayer(Mevius.Gui.Api.StampLayer.ActionSequence, true);
- Mevius.Gui.Api.ShowHideStampButtonLayer(Mevius.Gui.Api.StampLayer.Menu, false);
- }
- DbManager.TemporarySaveData temporarySaveData = Mevius.Db.Api.GetTemporarySaveData();
- if (temporarySaveData.partyQuestServerUniqueIndex > 0u)
- {
- Mevius.Gui.Api.RemoveDelayLoadingIcon(NowLoadingManager.Layer.Resource, "CoopBattleStart");
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- Mevius.Party.Api.SetUpSnap(true, false, -1, null, null);
- Mevius.Party.Api.SetBattleReady(true);
- Mevius.Party.Api.SetForceBattleStep(false, null, 0u);
- }
- if (Mevius.Db.Api.IsTutorial() && Mevius.Db.Api.GetTutorialStep() >= DbManager.TUTORIAL_STEP.TUTORIAL_STEP_BATTLE1 && Mevius.Db.Api.GetTutorialStep() <= DbManager.TUTORIAL_STEP.TUTORIAL_STEP_BATTLE4)
- {
- if (this.m_tutorialManager == null)
- {
- this.m_tutorialManager = new BattleTutorialManager();
- }
- this.m_tutorialManager.Init();
- }
- else if (this.m_tutorialManager != null)
- {
- this.m_tutorialManager.Destroy();
- this.m_tutorialManager = null;
- }
- Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Phy Bg"), LayerMask.NameToLayer("Phy Character"), true);
- if (!Mevius.Db.Api.IsEnableClientSaveData(0u) || !Mevius.Db.Api.HasBattleData())
- {
- this.SetRandomSeed(true);
- }
- this.CreateCameraManager();
- this._enableUnloadRequest = true;
- if (this.IsCountTimeBattle())
- {
- this.m_turnNum = 0;
- }
- else
- {
- this.m_turnNum = 1;
- }
- this.m_chainNum = 0;
- this.m_breakNum = 0;
- this.m_deadNum = 0;
- this.m_preciseTime = default(PreciseTime);
- this.m_lastEnemyEscape = false;
- Array.Clear(this.m_enemyAiCommonCounters, 0, this.m_enemyAiCommonCounters.Length);
- this.m_enemyActionEndFlag = false;
- this.m_playerJobChangeChargeTurn = Mevius.Db.Api.GetBattleData().playerJobChangeChargeTurn;
- this.m_playerJobChangeThroughTurn = 0;
- this.m_optimaType = (OptimaType)Mevius.Db.Api.GetBattleData().optimaType;
- Mevius.Db.Api.GetBattleData().optimaUseCounts.CopyTo(this.m_optimaUseCounts, 0);
- Mevius.Db.Api.GetBattleData().missionCount.CopyTo(this.m_missionCounts, 0);
- Mevius.Db.Api.GetBattleData().bossMissionCount.CopyTo(this.m_bossMissionCounts, 0);
- Mevius.Db.Api.GetBattleData().saveLongValues.CopyTo(this.m_saveLongValues, 0);
- Mevius.Db.Api.GetBattleData().bossSaveLongValues.CopyTo(this.m_bossSaveLongValues, 0);
- Mevius.Db.Api.GetBattleData().ff7AbilityUseCounts.CopyTo(this.m_ff7AbilityUseCounts, 0);
- this.m_activeActionOrderActor = null;
- this.m_stealActionOrderActor = null;
- this.m_activeActionOrderTime = 0f;
- this.m_actionOrderListCreateFlag = false;
- this.m_actionGauge = (int)Mevius.Db.Api.GetBattleData().actionGauge;
- this.m_actionGaugeDecrease = (int)Mevius.Db.Api.GetBattleData().actionGaugeDecrease;
- this.m_actionPower = Mevius.Db.Api.GetBattleData().actionPower;
- this.m_jobChangeActionGauge = 0;
- this.m_subActionType = BattleManager.ESubActionType.None;
- this.m_zone = false;
- this.m_fairyHour = Mevius.Db.Api.IsFariyHour();
- Mevius.Gui.Api.EndEncountFilter();
- this.m_boss = false;
- C098a168d3605b12448638cab8ccafe9d.C6a63ba3da59f35f0fee059da0f7321db c6a63ba3da59f35f0fee059da0f7321db = C098a168d3605b12448638cab8ccafe9d.Find(this.currentBattleScene);
- if (c6a63ba3da59f35f0fee059da0f7321db != null)
- {
- this.m_boss = (c6a63ba3da59f35f0fee059da0f7321db.ma0a6afb3ac1df6ef61e80ad44b921257() != 0);
- }
- Mevius.Field.Api.SetupDynamicShadow(Mevius.Field.Api.FieldDynamicShadowLayer.Field, true, (!this.m_boss) ? Mevius.DataSheet.Api.GetResidentFloat("DynamicShadow_BattleNormalLength", 25f) : Mevius.DataSheet.Api.GetResidentFloat("DynamicShadow_BattleBossLength", 50f));
- Mevius.App.Api.SetActiveFieldActors(Mevius.App.Api.ActiveFieldActorsLayer.Application, false);
- Mevius.Effect.Api.SetEffectActive(Mevius.Effect.Constants.EffectLayer.Field, false);
- Mevius.App.Api.SetActiveBattleActors(true);
- this.m_rootObject = new GameObject("Battle");
- this.m_damageSourceManager.RootObject = this.m_rootObject;
- this.m_manaObjectManager.RootObject = this.m_rootObject;
- this.m_manaObjectManager.Init();
- this.m_chaosBattle = (this.currentBattleScene == "btsc_03032" || c6a63ba3da59f35f0fee059da0f7321db.me739b90bdaa97257b7e5f1b05d9cff1b() == 1);
- if (this.currentBattleScene == "btsc_20500" || this.currentBattleScene == "btsc_20501")
- {
- GameObject gameObject = Mevius.App.Api.FindChrGameObject(Mevius.Db.Api.GetPlayerHandkerchiefName() + "_battle");
- if (gameObject != null)
- {
- gameObject.SetActive(false);
- }
- gameObject = Mevius.App.Api.FindChrGameObject(Mevius.Db.Api.GetPlayerHandkerchiefName() + "_battle_sub");
- if (gameObject != null)
- {
- gameObject.SetActive(false);
- }
- }
- this.m_shadowBlankBattle = (c6a63ba3da59f35f0fee059da0f7321db.me739b90bdaa97257b7e5f1b05d9cff1b() == 2);
- this.m_forceAllCameraBattle = (c6a63ba3da59f35f0fee059da0f7321db.md8a841fedd64f70fdb60335bbd2aa3b6() != 0);
- this.m_targetSelectCameraName = c6a63ba3da59f35f0fee059da0f7321db.m32e8b60e01e71bfdb0525891143b9a06();
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- this.m_playerActor = this.FindActor(BattleManager.GetBattlePlayerSubName());
- this.m_playerActorSub = this.FindActor(BattleManager.GetBattlePlayerName());
- }
- else
- {
- this.m_playerActor = this.FindActor(BattleManager.GetBattlePlayerName());
- this.m_playerActorSub = this.FindActor(BattleManager.GetBattlePlayerSubName());
- }
- Cb883df428c2c9659b15ca52864e9d4ca.C237921cb068a73a8c1084a4d121e9eaf c237921cb068a73a8c1084a4d121e9eaf = Cb883df428c2c9659b15ca52864e9d4ca.Find(this.m_placementEnemyId);
- if (this.m_playerActor != null && !Mevius.App.Api.IsPartyMode())
- {
- Animator animatorComponent = this.m_playerActor.chara.GetAnimatorComponent();
- animatorComponent.cullingMode = AnimatorCullingMode.AlwaysAnimate;
- this.m_playerActor.Init(string.Empty, 0, -1, -1);
- Vector3 basePosition = this._basePosition;
- float playerAreaRandomDistance = this.GetPlayerAreaRandomDistance();
- if (this.m_chaosBattle)
- {
- basePosition.z -= playerAreaRandomDistance;
- }
- else
- {
- basePosition.z += playerAreaRandomDistance;
- }
- float num = (!(this.m_playerActor.chara.GetCharacterControllerComponent() != null)) ? 2f : this.m_playerActor.chara.GetCharacterControllerComponent().height;
- RaycastHit raycastHit;
- if (Physics.Raycast(basePosition + Vector3.up * num * 0.5f, Vector3.down, out raycastHit, num, 1 << LayerMask.NameToLayer("Phy Bg")))
- {
- basePosition.y = raycastHit.point.y;
- }
- this.m_playerActor.chara.SetPosition(basePosition);
- }
- if (this.m_playerActorSub != null)
- {
- Animator animatorComponent2 = this.m_playerActorSub.chara.GetAnimatorComponent();
- animatorComponent2.cullingMode = AnimatorCullingMode.AlwaysAnimate;
- this.m_playerActorSub.Init(string.Empty, 0, -1, -1);
- this.m_playerActorSub.chara.OnSetActive(false, true);
- this.m_playerActorSub.chara.gameObject.SetActive(false);
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- this.m_selfActor = this.m_playerActor;
- this.m_multiBattleActorCursorHandle = Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "m_cursor_001",
- m_BindActor = this.m_selfActor.chara.gameObject
- });
- Mevius.Db.Api.CalcPartyPlayerStatus();
- float[] array = new float[]
- {
- c237921cb068a73a8c1084a4d121e9eaf.m9ca08cba800b5256b57c973554267e39(),
- c237921cb068a73a8c1084a4d121e9eaf.m04b7d164deff4964328e2d4b2fd0e2b8(),
- c237921cb068a73a8c1084a4d121e9eaf.m97d175d376f6d6f45eda78467c174b78(),
- c237921cb068a73a8c1084a4d121e9eaf.m18a27162ce54a42e19dc14c318c23a67()
- };
- int[] partyType = Mevius.Party.Api.GetPartyType();
- int num2 = 0;
- foreach (Mevius.Party.Api.PARTY_MEMBER_TYPE party_MEMBER_TYPE in partyType)
- {
- if (party_MEMBER_TYPE != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY)
- {
- BattleActor battleActor;
- if (party_MEMBER_TYPE == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- battleActor = this.m_playerActor;
- }
- else
- {
- battleActor = this.FindActor(BattleManager.GetMultiMemberPlayerName(party_MEMBER_TYPE));
- }
- if (battleActor != null)
- {
- Animator animatorComponent3 = battleActor.chara.GetAnimatorComponent();
- animatorComponent3.cullingMode = AnimatorCullingMode.AlwaysAnimate;
- battleActor.Init(string.Empty, 0, -1, -1);
- Vector3 vector = this._basePosition;
- float playerAreaRandomDistance2 = this.GetPlayerAreaRandomDistance();
- vector.z += playerAreaRandomDistance2;
- float y = array[battleActor.PartySlot];
- vector = Quaternion.Euler(0f, y, 0f) * vector;
- float num3 = (!(battleActor.chara.GetCharacterControllerComponent() != null)) ? 2f : battleActor.chara.GetCharacterControllerComponent().height;
- RaycastHit raycastHit2;
- if (Physics.Raycast(vector + Vector3.up * num3 * 0.5f, Vector3.down, out raycastHit2, num3, 1 << LayerMask.NameToLayer("Phy Bg")))
- {
- vector.y = raycastHit2.point.y;
- }
- battleActor.chara.SetPosition(vector);
- this.m_multiBattleActorList.Add(battleActor);
- battleActor.SetPartyOrder(this.m_multiBattleActorList.Count - 1);
- num2++;
- }
- }
- }
- }
- Func<float>[] array2 = null;
- Func<float>[] array3 = null;
- Func<float>[] array4 = null;
- Func<float>[] array5 = null;
- if (c237921cb068a73a8c1084a4d121e9eaf != null)
- {
- array2 = new Func<float>[]
- {
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.me79b3896d74924620249b1ca9543f96d),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m89b09bf4e6d0a47ea90f4a7981d04822),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m4cc35f769c68fa36df439a0b7588264e),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m5120d7a91941cc55f9b139da91f90994),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m7125fece171c13241632c34efa9bdc3c),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m40146e80579bf525c519dae42e46f86d),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.mb736a3ba0a6d0fb19cf8f715997194ba),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m3bada6fca99ccb56c6bb19f7503be2b3)
- };
- if (this.m_chaosBattle)
- {
- array3 = new Func<float>[]
- {
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m68679beefff2bdf1dedaafc6e1d1a832),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.mbeee0400debe0964be15fe1b7119a588),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m32bc3b1a81e0ba00fd5b451a952e665b),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m7b52294038d2a82176a8b77d5566ea65),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.me55a47d3b46b0183f439f35c8b2d776c),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m0d6b9bf8ea16ad57c2cbcf7b7207a86e),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.md21ff2f4d656d11735d7d9242028828a),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m584392ff1c47758a3231b32a471437fb)
- };
- }
- array4 = new Func<float>[]
- {
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m4cee1898bad49c69662ef8ddd954cd58),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m97dc4b71502bb4e109fc09ef78781dc4),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m6fcadca601d250ee4cbb62de4488ee76),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.ma5e7a298ee233d691ec5f9868854d541),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m0614059609b90c3a8b330acbe76c1c84),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.madd3a312ec9e7dd8c184e45fc6e2de01),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.mc2e776ea5369aa95e124f50660cc5eab),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m81a58a0c83247bbbf072cf598c790aef)
- };
- array5 = new Func<float>[]
- {
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.mb9fd78ec381411f25aad5eb3dcb787b0),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m3ee26298066b90a1838a976a885dab4c),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m94ee0dfc3b5d03d6e0b40c2cfc16325c),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m6080cecabd47bd6018b4064e8d58d441),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m318feea5305438fbf603064c47bb6a67),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.mfe0c75eccbd2cff1ca53d6aaff7c242a),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m9c08dede829c0e820d512d32104f9f8e),
- new Func<float>(c237921cb068a73a8c1084a4d121e9eaf.m987c6e57d115e88c42c04a8793972390)
- };
- }
- RaycastHit raycastHit3 = default(RaycastHit);
- int layerMask = 1 << LayerMask.NameToLayer("Phy Bg");
- int num4 = -1;
- for (int j = 0; j < this._entryBattleCharaSpecList.Count; j++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(j);
- BattleActor battleActor2 = this.FindActor(enemyActorName);
- if (battleActor2 != null)
- {
- if (c237921cb068a73a8c1084a4d121e9eaf != null)
- {
- if (array2[j] != null && array4[j] != null)
- {
- Vector3 vector2 = new Vector3(array2[j](), 5f, array4[j]());
- if (this.m_chaosBattle && array3 != null)
- {
- vector2.y = array3[j]();
- }
- else if (Physics.Raycast(vector2, Vector3.down, out raycastHit3, float.PositiveInfinity, layerMask))
- {
- vector2.y = raycastHit3.point.y;
- }
- battleActor2.SetPlacementPos(vector2);
- }
- if (array5[j] != null)
- {
- battleActor2.chara.transform.localEulerAngles = new Vector3(0f, array5[j](), 0f);
- }
- }
- Animator animatorComponent4 = battleActor2.chara.GetAnimatorComponent();
- animatorComponent4.cullingMode = AnimatorCullingMode.AlwaysAnimate;
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(this._entryBattleCharaSpecList[j]);
- if (c51747b7e0e19ad065084a2c5a6d8421b != null && (int)c51747b7e0e19ad065084a2c5a6d8421b.ma225879fc7f6778cf12d05d9caf0cda3() != 0)
- {
- num4++;
- }
- battleActor2.Init(this._entryBattleCharaSpecList[j], this.m_enemyLevel, j, num4);
- battleActor2.TargetActor = this.m_playerActor;
- if (c6a63ba3da59f35f0fee059da0f7321db != null && c6a63ba3da59f35f0fee059da0f7321db.m4f63acfb743cb25115f76fc77af6151e(j) != 0)
- {
- battleActor2.State = BattleActor.StateType.StandBy;
- battleActor2.chara.gameObject.SetActive(false);
- battleActor2.LoopOffAiResidentEffect();
- battleActor2.SaveFlagBits |= BattleActor.SaveFlagBitType.StandBy;
- }
- else
- {
- battleActor2.SetStateIdle(true, -1, -1);
- PhysicsController physicsControllerComponent = battleActor2.chara.GetPhysicsControllerComponent();
- if (physicsControllerComponent)
- {
- physicsControllerComponent.Reset(1f);
- }
- }
- }
- }
- this.InitSameCharaIndex();
- if (Mevius.App.Api.IsTrialMode())
- {
- this.m_autoAttack = BattleManager.AutoAttackType.FullAutoAttack;
- }
- else if (Mevius.Db.Api.IsTutorial())
- {
- this.m_autoAttack = BattleManager.AutoAttackType.Off;
- }
- bool flag = true;
- if (!Mevius.App.Api.IsPartyMode() && Mevius.Db.Api.IsEnableClientSaveData(0u) && Mevius.Db.Api.HasBattleData())
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- flag = (battleData.step <= 2);
- }
- else
- {
- BattleUtility.SetOverMissionCount(MissionCountType.TurnMax, this.m_turnNum);
- BattleUtility.AddMissionCount(MissionCountType.TurnTotal, 1);
- for (int k = 0; k < this._entryBattleCharaSpecList.Count; k++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(k);
- BattleActor battleActor3 = this.FindActor(enemyActorName2);
- if (battleActor3 != null)
- {
- BattleUtility.AddMissionCount(MissionCountType.EnemyHpTotal, battleActor3.HpMax);
- BattleUtility.AddMissionCount(MissionCountType.EnemyBpTotal, battleActor3.BpMax);
- if (battleActor3.IsActive() && battleActor3.Ai != null)
- {
- battleActor3.Ai.OnBehavior(BattleAiData.Pattern.TimingType.Init, string.Empty, null, true);
- }
- }
- }
- this.InitElementInfluence();
- this.SaveData();
- }
- this.ProcManToMan();
- if (Mevius.Party.Api.IsFirstSnap())
- {
- this.SaveMultiData();
- }
- Mevius.Gui.Api.ShowHideBillboard(false);
- if (flag)
- {
- Mevius.Gui.Api.RemoveDelayLoadingIcon(NowLoadingManager.Layer.TopLevel, "TopLevel");
- this.m_playerActor.onEncount();
- for (int l = 0; l < this.m_actorList.Count; l++)
- {
- BattleActor battleActor4 = this.m_actorList[l];
- if (battleActor4 != null && battleActor4.IsEnemy() && battleActor4.IsActive())
- {
- this.m_playerActor.TargetActor = battleActor4;
- break;
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- this.m_targetActor = this.m_playerActor.TargetActor;
- }
- else
- {
- this.UpdateSelectedTarget();
- }
- Vector3 forward = this.m_playerActor.TargetActor.chara.transform.position - this.m_playerActor.chara.transform.position;
- forward.y = 0f;
- this.m_playerActor.chara.transform.rotation = Quaternion.LookRotation(forward);
- for (int m = 0; m < this.m_multiBattleActorList.Count; m++)
- {
- BattleActor battleActor5 = this.m_multiBattleActorList[m];
- if (battleActor5.IsMultiMember())
- {
- Vector3 forward2 = this.m_playerActor.TargetActor.chara.transform.position - battleActor5.chara.transform.position;
- forward2.y = 0f;
- battleActor5.chara.transform.rotation = Quaternion.LookRotation(forward2);
- battleActor5.onEncount();
- battleActor5.TargetActor = this.m_playerActor.TargetActor;
- }
- }
- this.InitFairyActor();
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_playerActor.TargetActor);
- this.m_cameraManager.CameraSequence.Charactor = this.m_playerActor.chara;
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.Sequence);
- this._step = BattleManager.BattleStep.EncountCameraWait;
- }
- else
- {
- Mevius.Gui.Api.CreateBattleMenu();
- this.LoadPlayerCardResources();
- this._step = BattleManager.BattleStep.MenuCreateWait;
- }
- this.m_guiTouchComponent.m_stateBit = 0u;
- this.UpdateCamera();
- this.lastBattleWinActorObject = null;
- }
- private void UpdateBattleStart()
- {
- if (this.m_playerActor != null)
- {
- this.m_playerActor.OnBattleBegin();
- }
- BattleActor battleActor = null;
- bool flag = true;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor2 = this.m_actorList[i];
- if (battleActor2 != null && battleActor2.IsEnemy() && battleActor2.IsActive() && battleActor2.State != BattleActor.StateType.Idle && !battleActor2.IsActionEnd())
- {
- battleActor = battleActor2;
- flag = false;
- break;
- }
- }
- bool flag2 = battleActor != null && battleActor.IsFlagBit(BattleActor.FlagBitType.AbilityInputWait);
- if (this.CameraManager.IsActionEnd() && !flag2)
- {
- if (battleActor != null && this.m_cameraManager.CurrentCameraType != BattleCameraManager.CameraType.TargetSelect)
- {
- float interpSec;
- CameraSequence.BlendType blendType;
- if (!this.m_cameraManager.GetActionNextInterpInfo(out interpSec, out blendType))
- {
- interpSec = 0.5f;
- blendType = CameraSequence.BlendType.Curve;
- }
- this.m_cameraManager.SetInterpolation(interpSec, blendType, true);
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, battleActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- else
- {
- this.ChangeTargetSelectCamera(false);
- }
- }
- this.UpdateCamera();
- this.UpdateTime();
- if (!this.m_damageSourceManager.IsExist())
- {
- if (this.m_playerActor.Hp <= 0)
- {
- if (this.m_playerActor.IsDeadIdle())
- {
- if (Mevius.Db.Api.IsTutorial() || Mevius.App.Api.IsTrialMode())
- {
- this.RevivePlayer();
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else if (Mevius.App.Api.IsPartyMode())
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- else
- {
- this._step = BattleManager.BattleStep.ContinueCheck;
- }
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.ClearDQBattleLogText();
- }
- }
- else if (flag)
- {
- bool flag3 = false;
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor3 = this.m_actorList[j];
- if (battleActor3 != null && battleActor3.IsEnemy() && battleActor3.IsActive() && battleActor3.OnBattleBegin() && battleActor3.State == BattleActor.StateType.Ability)
- {
- if (!this.m_playerActor.IsDead() && this.m_playerActor.State != BattleActor.StateType.Guard)
- {
- this.m_playerActor.StartGuard();
- }
- if (this.m_boss)
- {
- if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action || !this.CameraManager.IsActionOwner(battleActor3))
- {
- this.CameraManager.SetInterpolation(0.5f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, battleActor3);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- else if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action)
- {
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- Vector3 position = battleActor3.chara.GetElementIdTransform(name).position;
- Camera component = Mevius.Renderer.CameraManager.GetInstance().GetViewCameraGameObject().GetComponent<Camera>();
- Vector3 vector = component.WorldToViewportPoint(position);
- if (vector.x < 0f || vector.x > 1f || vector.y < 0f || vector.y > 1f || vector.z <= 0f)
- {
- this.CameraManager.SetInterpolation(1f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTwoShot(battleActor3, this.m_playerActor, 0, false);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TwoShot);
- }
- }
- else if (!this.CameraManager.IsActionOwner(battleActor3))
- {
- this.CameraManager.SetInterpolation(1f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTwoShot(battleActor3, this.m_playerActor, 0, false);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TwoShot);
- }
- flag3 = true;
- break;
- }
- }
- if (!flag3)
- {
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.ClearDQBattleLogText();
- if (!this.IsCountTimeBattle())
- {
- for (int k = 0; k < this.m_actorList.Count; k++)
- {
- BattleActor battleActor4 = this.m_actorList[k];
- if (battleActor4 != null && battleActor4.IsEnemy() && battleActor4.IsActive())
- {
- battleActor4.OnTurnEnd();
- }
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- else
- {
- this._step = BattleManager.BattleStep.FairyTurnStart;
- }
- this.SaveData();
- }
- }
- }
- }
- private void UpdatePlayerTurn()
- {
- if (Mevius.App.Api.IsPartyMode() && Mevius.Party.Api.IsExitPlayer())
- {
- this.Step = BattleManager.BattleStep.Escape;
- return;
- }
- this.UpdateCamera();
- this.UpdateTime();
- if (this.m_playerActor != null && this.m_playerActor.IsDead())
- {
- if (this.m_playerActor.IsDeadIdle())
- {
- this.m_damageSourceManager.Clear();
- if (this.m_playerActor.IsSummon())
- {
- this.ProcChangeJob(false, false);
- }
- else if (Mevius.Db.Api.IsTutorial() || Mevius.App.Api.IsTrialMode())
- {
- this.RevivePlayer();
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else if (Mevius.App.Api.IsPartyMode())
- {
- this.m_multiBattleSlotList.RemoveAt(0);
- if (this.m_multiBattleSlotList.Count > 0)
- {
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- }
- else
- {
- this._step = BattleManager.BattleStep.ContinueCheck;
- }
- }
- return;
- }
- this.m_battleSlow.Update(Mevius.App.Api.GetDeltaTime());
- if (this.m_playerActor == null)
- {
- return;
- }
- bool flag = true;
- bool flag2 = false;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- if (this.m_actorList[i].IsEnemy() && !this.m_actorList[i].IsNeedNotKill())
- {
- if (this.m_actorList[i].IsActive())
- {
- flag = false;
- break;
- }
- if (this.m_actorList[i].IsRewardWait())
- {
- flag2 = true;
- }
- }
- }
- if (flag)
- {
- if (this.CameraManager.IsActionEnd())
- {
- this.ChangeTargetSelectCamera(false);
- }
- bool flag3 = this.m_damageSourceManager.IsExist();
- if (!flag2 && !flag3)
- {
- this.SetBattleWin(0f);
- }
- }
- else if (this.IsPlayerActionEnd())
- {
- this.m_lasTouchPosInited = false;
- if (this.m_playerActor.IsTurnEnd())
- {
- this.m_actionStepWait += Mevius.App.Api.GetDeltaTimeForBattle();
- if (this.m_actionStepWait > Mevius.DataSheet.Api.GetResidentFloat("playerTurnEndWaitSec", 0.5f))
- {
- this.m_actionStepWait = 0f;
- Mevius.App.Api.SetTimeScale(1f);
- if (!this.IsCountTimeBattle())
- {
- this.m_playerActor.OnTurnEnd();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnTurnEnd();
- }
- this._step = BattleManager.BattleStep.EnemyTurnStart;
- }
- this.SaveData();
- if (Mevius.App.Api.IsPartyMode())
- {
- this.m_multiBattleSlotList.RemoveAt(0);
- if (this.m_multiBattleSlotList.Count > 0)
- {
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- }
- }
- }
- else if (this.CameraManager.IsActionEnd() || this.m_playerActor.State == BattleActor.StateType.Idle)
- {
- if (this.m_playerActor.State != BattleActor.StateType.Ability && this.m_playerActor.State != BattleActor.StateType.CloseAttack && this.m_playerActor.TargetActor != null && !this.m_playerActor.TargetActor.IsActive())
- {
- this.m_playerActor.TargetActor = this.GetEnemyActor(this.m_playerActor.TargetActor);
- }
- this.ChangeTargetSelectCamera(false);
- }
- }
- else
- {
- if (this.CameraManager.IsActionEnd() && !this.m_playerActor.IsFairyActionWait())
- {
- this.ChangeTargetSelectCamera(false);
- }
- Mevius.Renderer.CameraManager instance = Mevius.Renderer.CameraManager.GetInstance();
- if (instance != null)
- {
- if (this.m_guiTouchComponent.IsPress() && this.m_playerActor.IsPlayerInputAccept())
- {
- Vector2 touchEmulatePosition = Mevius.App.Api.GetTouchEmulatePosition();
- this.m_inputCheck = true;
- this.m_inputTouch = true;
- this.m_touchDownPos = touchEmulatePosition;
- this.m_touchPos[0] = touchEmulatePosition;
- this.m_touchPos[1] = touchEmulatePosition;
- }
- bool flag4 = false;
- if (this.m_autoAttack != BattleManager.AutoAttackType.Off || Mevius.App.Api.IsPartyMode())
- {
- if (this.m_playerActor.IsPlayerInputAccept())
- {
- flag4 = true;
- }
- if (this.m_playerActor.ActionNum == 0)
- {
- flag4 = true;
- }
- }
- else if (this.m_inputTouch)
- {
- if (this.m_guiTouchComponent.IsDown())
- {
- this.m_touchPos[0] = this.m_touchPos[1];
- this.m_touchPos[1] = Mevius.App.Api.GetTouchEmulatePosition();
- Vector2 presentationPosition = instance.GetPresentationPosition(this.m_touchDownPos);
- Vector2 presentationPosition2 = instance.GetPresentationPosition(this.m_touchPos[0]);
- Vector2 presentationPosition3 = instance.GetPresentationPosition(this.m_touchPos[1]);
- presentationPosition.y /= instance.GetPresentationAspect();
- presentationPosition2.y /= instance.GetPresentationAspect();
- presentationPosition3.y /= instance.GetPresentationAspect();
- float magnitude = (presentationPosition3 - presentationPosition).magnitude;
- if (magnitude > 0.1f)
- {
- this.m_stayMove = true;
- }
- }
- if (this.m_guiTouchComponent.IsUp())
- {
- if (!this.m_inputAccepted && this.m_playerActor.IsPlayerInputAccept() && !this.m_stayMove)
- {
- BattleActor battleActor = null;
- if (this.IsTargetChangeMode())
- {
- GameObject viewCameraGameObject = instance.GetViewCameraGameObject();
- if (viewCameraGameObject && viewCameraGameObject.GetComponent<Camera>())
- {
- Vector2 presentationPosition4 = instance.GetPresentationPosition(this.m_touchPos[1]);
- Vector2 a = presentationPosition4;
- a.y /= instance.GetPresentationAspect();
- float num = 1024f;
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor2 = this.m_actorList[j];
- if (battleActor2.IsEnemy() && battleActor2.IsActiveTarget())
- {
- Transform elementIdTransform = battleActor2.chara.GetElementIdTransform(name);
- if (elementIdTransform)
- {
- Vector3 vector = viewCameraGameObject.GetComponent<Camera>().WorldToViewportPoint(elementIdTransform.position);
- if (vector.z > 0f)
- {
- Vector3 v = vector;
- v.y /= instance.GetPresentationAspect();
- float num2 = Vector2.Distance(a, v);
- bool flag5 = false;
- Vector3 position = new Vector3(presentationPosition4.x, presentationPosition4.y, vector.z);
- Vector3 b = viewCameraGameObject.GetComponent<Camera>().ViewportToWorldPoint(position);
- float num3 = 0.5f;
- C95bcaea3352f97e159106604018eaa69.Cd665cdef191ff92708675209607d4634 cd665cdef191ff92708675209607d = C95bcaea3352f97e159106604018eaa69.Find(battleActor2.chara.spec);
- if (cd665cdef191ff92708675209607d != null)
- {
- num3 = cd665cdef191ff92708675209607d.m9c2eb8f9a248c0d1381a0c078b73c70c() * cd665cdef191ff92708675209607d.mbdaffba4ca6452435da172e215b2ed94();
- }
- if (Vector3.Distance(elementIdTransform.position, b) < num3)
- {
- flag5 = true;
- }
- else
- {
- float num4 = (!this.IsTargetChangeMode()) ? 0.125f : 0.25f;
- if (num2 < num4)
- {
- flag5 = true;
- }
- }
- if (flag5 && num2 < num)
- {
- battleActor = battleActor2;
- num = num2;
- }
- }
- }
- }
- }
- }
- }
- bool flag6 = false;
- if (battleActor != null && battleActor != this.m_targetActor)
- {
- flag6 = true;
- this.m_targetActor = battleActor;
- this.m_inputCheck = false;
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_cursor_01", 1f, 0, 0, Vector3.zero, null, false, -1, 0, 1f);
- }
- if (!flag6 && this.m_targetActor != null && this.m_targetActor.IsActive() && !this.m_ignoreAttack)
- {
- this.CheckPlayerTargetChange();
- this.m_inputAccepted = true;
- this.m_inputCheck = false;
- }
- }
- this.m_inputTouch = false;
- this.m_inputCheck = false;
- this.m_stayMove = false;
- }
- }
- if (flag4)
- {
- this.m_autoAttackTimer += Mevius.App.Api.GetDeltaTime();
- float residentFloat = Mevius.DataSheet.Api.GetResidentFloat("autoAttackWaitSec", 0f);
- if (this.m_autoAttackTimer > residentFloat)
- {
- this.CheckPlayerTargetChange();
- this.m_inputAccepted = true;
- }
- this.m_inputCheck = false;
- }
- }
- if (this.IsBattleCameraDragging())
- {
- if (!this.m_lasTouchPosInited)
- {
- this.m_lasTouchPosInited = true;
- this.m_lastTouchPos = Mevius.App.Api.GetTouchEmulatePosition();
- }
- Vector2 v2 = Mevius.App.Api.GetTouchEmulatePosition() - this.m_lastTouchPos;
- Camera component = Mevius.Renderer.CameraManager.GetInstance().GetViewCameraGameObject().GetComponent<Camera>();
- if (Mathf.Abs(v2.x) >= 1.401298E-45f)
- {
- if (this.m_inputTouch || !this.m_cameraManager.IsTargetSelectForcus())
- {
- }
- float num5 = component.ScreenToViewportPoint(v2).x * BattleManager.TargetSelectHrzAngleAdjust;
- if (!Mevius.Db.Api.GetBattleCameraHrzRotReverse())
- {
- num5 *= -1f;
- }
- this.CameraManager.AddTargetSelectHrzAngle(num5);
- }
- if (Mathf.Abs(v2.y) >= 1.401298E-45f)
- {
- float num6 = component.ScreenToViewportPoint(v2).y * BattleManager.TargetSelectVrtAngleAdjust;
- if (Mevius.Db.Api.GetBattleCameraVrtRotReverse())
- {
- num6 *= -1f;
- }
- this.CameraManager.AddTargetSelectVrtAngle(num6);
- }
- this.m_lastTouchPos = Mevius.App.Api.GetTouchEmulatePosition();
- }
- else
- {
- if (this.m_playerActor.State != BattleActor.StateType.Ability && this.m_playerActor.State != BattleActor.StateType.CloseAttack && this.m_playerActor.TargetActor != null && !this.m_playerActor.TargetActor.IsActive())
- {
- this.m_playerActor.TargetActor = this.GetEnemyActor(this.m_playerActor.TargetActor);
- if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action)
- {
- BattleManager._i.ChangeTargetSelectCamera(false);
- }
- this.m_playerActor.OnTurnTarget();
- }
- this.m_lasTouchPosInited = false;
- }
- if (this.m_inputAccepted)
- {
- if (this.m_playerActor.IsPlayerInputAccept())
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- this.m_playerActor.ProcMultiBattleAction();
- }
- else
- {
- bool flag7 = false;
- if (this.m_autoAttack == BattleManager.AutoAttackType.FullAutoAttack)
- {
- flag7 = this.m_playerActor.AutoAbilityAttack();
- }
- if (!flag7)
- {
- this.m_playerActor.NormalAttack(Vector3.forward, true, false);
- }
- }
- this.m_inputAccepted = false;
- this.m_autoAttackTimer = 0f;
- }
- else if (Mevius.App.Api.IsPartyMode() && this.m_playerActor.ActionNum == 0)
- {
- this.m_playerActor.ProcMultiBattleAction();
- this.m_inputAccepted = false;
- this.m_autoAttackTimer = 0f;
- }
- }
- }
- this.UpdateTest();
- }
- private void UpdateMultiBattleInput()
- {
- if (Mevius.App.Api.IsPartyMode() && Mevius.Party.Api.IsExitPlayer())
- {
- this.Step = BattleManager.BattleStep.Escape;
- return;
- }
- if (Mevius.Party.Api.IsNeedRevivalStep())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- BattleActor battleActor = this.m_multiBattleActorList[i];
- if (Mevius.Party.Api.ExecRevivalSlot(battleActor.PartySlot) != Mevius.Party.Api.ExecRevival.ExecRevival_NONE && battleActor.IsDead())
- {
- battleActor.OnRevive();
- battleActor.OnTurnBegin();
- if (battleActor.ReadyAction())
- {
- }
- if (battleActor.PartyMemberType == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- Mevius.Gui.Api.HidePlayerDeadTimer();
- Mevius.Gui.Api.ShowPlayerTurnTimer();
- Mevius.Gui.Api.ShowDecideButton();
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- }
- }
- }
- this.m_multiBattleTurnStartTime = Mevius.Party.Api.GetBeginLimitTime();
- this.m_multiBattleTurnLimitTime = (ulong)Mevius.Party.Api.GetBaseLimitTime();
- this.m_multiBattleStartTime = Mevius.Party.Api.GetBeginBattleTime();
- this.ProcManToMan();
- }
- if (Mevius.Party.Api.IsExistForceSnap())
- {
- Mevius.App.Api.SetTimeScale(1f);
- this.EndSlow();
- this.m_playerActor.EndMultiBattleInput();
- this.m_playerActor.SendMultiBattleCommand(false);
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.MultiInputWait;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- return;
- }
- this.UpdateCamera();
- this.UpdateTime();
- this.m_battleSlow.Update(Mevius.App.Api.GetDeltaTime());
- bool flag = true;
- bool flag2 = false;
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- if (this.m_actorList[j].IsEnemy() && !this.m_actorList[j].IsNeedNotKill())
- {
- if (this.m_actorList[j].IsActive())
- {
- flag = false;
- break;
- }
- if (this.m_actorList[j].IsRewardWait())
- {
- flag2 = true;
- }
- }
- }
- if (flag)
- {
- if (!flag2)
- {
- this.SetBattleWin(0f);
- }
- }
- else
- {
- if (Mevius.Party.Api.IsNeedSendSnap(true))
- {
- for (int k = 0; k < this.m_multiBattleActorList.Count; k++)
- {
- BattleActor battleActor2 = this.m_multiBattleActorList[k];
- if (battleActor2.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY && battleActor2.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- if (!battleActor2.IsDead())
- {
- if (Mevius.Party.Api.IsAutoAiStatus(battleActor2.PartySlot) && !battleActor2.CommandInputEnd)
- {
- battleActor2.AutoAbilityAttackMulti();
- }
- }
- }
- }
- }
- if (this.m_playerActor != null && this.m_playerActor.IsDead())
- {
- if ((!Mevius.Party.Api.IsDestroyParty() && this.MultiBattleTimeLeftOfTurn <= 0) || Mevius.Party.Api.IsFinishCommand())
- {
- this.EndSlow();
- for (int l = 0; l < this.m_multiBattleActorList.Count; l++)
- {
- BattleActor battleActor3 = this.m_multiBattleActorList[l];
- if (battleActor3.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY && battleActor3.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- if (Mevius.Party.Api.IsAutoAiStatus(battleActor3.PartySlot))
- {
- battleActor3.UseActionPass(false, true);
- battleActor3.SendMultiBattleCommand(true);
- }
- }
- }
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.MultiInputWait;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- return;
- }
- if (!this.IsPlayerInputEnd() && Mevius.Party.Api.IsFinishMyCommand())
- {
- this.SetPlayerActionPass();
- }
- else if (this.IsPlayerInputEnd())
- {
- this.m_lasTouchPosInited = false;
- if (this.m_playerActor.IsTurnEnd())
- {
- Mevius.App.Api.SetTimeScale(1f);
- this.EndSlow();
- this.m_playerActor.EndMultiBattleInput();
- this.m_playerActor.SendMultiBattleCommand(false);
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.MultiInputWait;
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- }
- }
- else
- {
- if (this.CameraManager.IsActionEnd() && !this.m_playerActor.IsFairyActionWait())
- {
- this.ChangeTargetSelectCamera(false);
- }
- Mevius.Renderer.CameraManager instance = Mevius.Renderer.CameraManager.GetInstance();
- if (instance != null)
- {
- if (this.m_guiTouchComponent.IsPress() && this.m_playerActor.IsPlayerInputAccept())
- {
- Vector2 touchEmulatePosition = Mevius.App.Api.GetTouchEmulatePosition();
- this.m_inputCheck = true;
- this.m_inputTouch = true;
- this.m_touchDownPos = touchEmulatePosition;
- this.m_touchPos[0] = touchEmulatePosition;
- this.m_touchPos[1] = touchEmulatePosition;
- }
- if (this.m_inputTouch)
- {
- if (this.m_guiTouchComponent.IsDown())
- {
- this.m_touchPos[0] = this.m_touchPos[1];
- this.m_touchPos[1] = Mevius.App.Api.GetTouchEmulatePosition();
- Vector2 presentationPosition = instance.GetPresentationPosition(this.m_touchDownPos);
- Vector2 presentationPosition2 = instance.GetPresentationPosition(this.m_touchPos[0]);
- Vector2 presentationPosition3 = instance.GetPresentationPosition(this.m_touchPos[1]);
- presentationPosition.y /= instance.GetPresentationAspect();
- presentationPosition2.y /= instance.GetPresentationAspect();
- presentationPosition3.y /= instance.GetPresentationAspect();
- float magnitude = (presentationPosition3 - presentationPosition).magnitude;
- if (magnitude > 0.1f)
- {
- this.m_stayMove = true;
- }
- }
- if (this.m_guiTouchComponent.IsUp())
- {
- if (!this.m_inputAccepted && this.m_playerActor.IsPlayerInputAccept() && !this.m_stayMove)
- {
- BattleActor battleActor4 = null;
- if (this.IsTargetChangeMode())
- {
- GameObject viewCameraGameObject = instance.GetViewCameraGameObject();
- if (viewCameraGameObject && viewCameraGameObject.GetComponent<Camera>())
- {
- Vector2 presentationPosition4 = instance.GetPresentationPosition(this.m_touchPos[1]);
- Vector2 a = presentationPosition4;
- a.y /= instance.GetPresentationAspect();
- float num = 1024f;
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- for (int m = 0; m < this.m_actorList.Count; m++)
- {
- BattleActor battleActor5 = this.m_actorList[m];
- if (battleActor5.IsEnemy() && battleActor5.IsActiveTarget())
- {
- Transform elementIdTransform = battleActor5.chara.GetElementIdTransform(name);
- if (elementIdTransform)
- {
- Vector3 vector = viewCameraGameObject.GetComponent<Camera>().WorldToViewportPoint(elementIdTransform.position);
- if (vector.z > 0f)
- {
- Vector3 v = vector;
- v.y /= instance.GetPresentationAspect();
- float num2 = Vector2.Distance(a, v);
- bool flag3 = false;
- Vector3 position = new Vector3(presentationPosition4.x, presentationPosition4.y, vector.z);
- Vector3 b = viewCameraGameObject.GetComponent<Camera>().ViewportToWorldPoint(position);
- float num3 = 0.5f;
- C95bcaea3352f97e159106604018eaa69.Cd665cdef191ff92708675209607d4634 cd665cdef191ff92708675209607d = C95bcaea3352f97e159106604018eaa69.Find(battleActor5.chara.spec);
- if (cd665cdef191ff92708675209607d != null)
- {
- num3 = cd665cdef191ff92708675209607d.m9c2eb8f9a248c0d1381a0c078b73c70c() * cd665cdef191ff92708675209607d.mbdaffba4ca6452435da172e215b2ed94();
- }
- if (Vector3.Distance(elementIdTransform.position, b) < num3)
- {
- flag3 = true;
- }
- else
- {
- float num4 = (!this.IsTargetChangeMode()) ? 0.125f : 0.25f;
- if (num2 < num4)
- {
- flag3 = true;
- }
- }
- if (flag3 && num2 < num)
- {
- battleActor4 = battleActor5;
- num = num2;
- }
- }
- }
- }
- }
- }
- }
- bool flag4 = false;
- if (battleActor4 != null && battleActor4 != this.m_targetActor)
- {
- flag4 = true;
- this.m_targetActor = battleActor4;
- this.m_inputCheck = false;
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_cursor_01", 1f, 0, 0, Vector3.zero, null, false, -1, 0, 1f);
- }
- if (!flag4 && this.m_targetActor != null && this.m_targetActor.IsActive() && !this.m_ignoreAttack)
- {
- this.CheckPlayerTargetChange();
- this.m_inputAccepted = true;
- this.m_inputCheck = false;
- }
- }
- this.m_inputTouch = false;
- this.m_inputCheck = false;
- this.m_stayMove = false;
- }
- }
- }
- if (this.m_inputCheck && (this.m_playerActor.State == BattleActor.StateType.Idle || this.m_playerActor.State == BattleActor.StateType.Guard) && this.m_guiTouchComponent.IsDown())
- {
- if (!this.m_lasTouchPosInited)
- {
- this.m_lasTouchPosInited = true;
- this.m_lastTouchPos = Mevius.App.Api.GetTouchEmulatePosition();
- }
- Vector2 v2 = Mevius.App.Api.GetTouchEmulatePosition() - this.m_lastTouchPos;
- Camera component = Mevius.Renderer.CameraManager.GetInstance().GetViewCameraGameObject().GetComponent<Camera>();
- if (Mathf.Abs(v2.x) >= 1.401298E-45f)
- {
- if (this.m_inputTouch || !this.m_cameraManager.IsTargetSelectForcus())
- {
- }
- float num5 = component.ScreenToViewportPoint(v2).x * BattleManager.TargetSelectHrzAngleAdjust;
- if (!Mevius.Db.Api.GetBattleCameraHrzRotReverse())
- {
- num5 *= -1f;
- }
- this.CameraManager.AddTargetSelectHrzAngle(num5);
- }
- if (Mathf.Abs(v2.y) >= 1.401298E-45f)
- {
- float num6 = component.ScreenToViewportPoint(v2).y * BattleManager.TargetSelectVrtAngleAdjust;
- if (Mevius.Db.Api.GetBattleCameraVrtRotReverse())
- {
- num6 *= -1f;
- }
- this.CameraManager.AddTargetSelectVrtAngle(num6);
- }
- this.m_lastTouchPos = Mevius.App.Api.GetTouchEmulatePosition();
- }
- else
- {
- if (this.m_playerActor.State != BattleActor.StateType.Ability && this.m_playerActor.State != BattleActor.StateType.CloseAttack && this.m_playerActor.TargetActor != null && !this.m_playerActor.TargetActor.IsActive())
- {
- this.m_playerActor.TargetActor = this.GetEnemyActor(this.m_playerActor.TargetActor);
- if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action)
- {
- BattleManager._i.ChangeTargetSelectCamera(false);
- }
- this.m_playerActor.OnTurnTarget();
- }
- this.m_lasTouchPosInited = false;
- }
- if (this.m_inputAccepted)
- {
- if (this.m_playerActor.IsPlayerInputAccept())
- {
- this.m_playerActor.NormalAttack(Vector3.forward, true, false);
- this.m_inputAccepted = false;
- this.m_autoAttackTimer = 0f;
- }
- }
- else if (this.m_playerActor.PartyMemberType == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME && this.MultiBattleTimeLeftOfTurn <= 0)
- {
- Mevius.Gui.Api.OnEndInput(Mevius.Gui.Api.EndInputType.TimeOver);
- this.m_playerActor.UseActionPass(false, false);
- }
- }
- }
- }
- private void UpdateEnemyTurnStart()
- {
- this.UpdateTime();
- this.m_partyMemberTurn = false;
- this.m_actionPriorityEnemyActorList.Clear();
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy())
- {
- if (battleActor.IsActive())
- {
- battleActor.OnTurnBegin();
- }
- bool flag = false;
- for (int j = 0; j < this.m_actionPriorityEnemyActorList.Count; j++)
- {
- if (battleActor.ActionPriority > this.m_actionPriorityEnemyActorList[j].ActionPriority)
- {
- this.m_actionPriorityEnemyActorList.Insert(j, battleActor);
- flag = true;
- break;
- }
- }
- if (!flag)
- {
- this.m_actionPriorityEnemyActorList.Add(this.m_actorList[i]);
- }
- }
- }
- Mevius.Gui.Api.SetBattleTargetButtonEnable(false);
- Mevius.Gui.Api.OnStartEnemyTurn();
- Mevius.Party.Api.ClearCommandStock();
- this._step = BattleManager.BattleStep.EnemyTurnStartWait;
- }
- private void UpdateEnemyTurnStartWait()
- {
- this.UpdateCamera();
- this.UpdateTime();
- bool flag = false;
- bool flag2 = false;
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_actionPriorityEnemyActorList.Count; i++)
- {
- BattleActor battleActor = this.m_actionPriorityEnemyActorList[i];
- if (battleActor.BreakState == BattleActor.BreakStateType.Recover)
- {
- return;
- }
- }
- }
- for (int j = 0; j < this.m_actionPriorityEnemyActorList.Count; j++)
- {
- BattleActor battleActor2 = this.m_actionPriorityEnemyActorList[j];
- if (battleActor2.IsActive())
- {
- if (!battleActor2.IsReadyAction())
- {
- battleActor2.ReadyAction();
- }
- if (battleActor2.ActionNum > 0)
- {
- if (battleActor2.UpdateReadyAction())
- {
- if (battleActor2.IsPlayer())
- {
- if (!battleActor2.AutoAbilityAttack())
- {
- battleActor2.NormalAttack(Vector3.forward, true, false);
- }
- flag2 = true;
- }
- else if (battleActor2.OnAiBehavior())
- {
- flag2 = true;
- }
- }
- else
- {
- flag = true;
- }
- if (flag2 || flag)
- {
- if (!battleActor2.IsTurnFlag(BattleActor.TurnFlagBitType.UpdateTurnBegin))
- {
- if (this.CameraManager.CurrentCameraType != BattleCameraManager.CameraType.Action || flag)
- {
- if (this.m_boss)
- {
- this.CameraManager.SetInterpolation(0.5f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, battleActor2);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- else
- {
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- Vector3 position = battleActor2.chara.GetElementIdTransform(name).position;
- Camera component = Mevius.Renderer.CameraManager.GetInstance().GetViewCameraGameObject().GetComponent<Camera>();
- Vector3 vector = component.WorldToViewportPoint(position);
- if (vector.x < 0f || vector.x > 1f || vector.y < 0f || vector.y > 1f || vector.z <= 0f)
- {
- this.CameraManager.SetInterpolation(1f, CameraSequence.BlendType.Curve, true);
- this.CameraManager.InitTwoShot(battleActor2, this.m_playerActor, 0, false);
- this.CameraManager.ChangeCamera(BattleCameraManager.CameraType.TwoShot);
- }
- }
- }
- battleActor2.SetTurnFlag(BattleActor.TurnFlagBitType.UpdateTurnBegin);
- }
- break;
- }
- }
- }
- }
- if (!flag)
- {
- if (flag2)
- {
- if (this.m_playerActor != null)
- {
- this.m_playerActor.UpdateActionGuiActive(false);
- }
- this._step = BattleManager.BattleStep.EnemyTurn;
- }
- else
- {
- bool flag3 = true;
- bool flag4 = false;
- for (int k = 0; k < this.m_actionPriorityEnemyActorList.Count; k++)
- {
- if (this.m_actorList[k].IsActive() && !this.m_actorList[k].IsNeedNotKill())
- {
- flag3 = false;
- break;
- }
- if (this.m_actorList[k].IsRewardWait())
- {
- flag4 = true;
- }
- }
- if (flag3)
- {
- if (!flag4)
- {
- this.SetBattleWin(0f);
- }
- }
- else
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- else
- {
- this._step = BattleManager.BattleStep.FairyTurnStart;
- }
- this.OnEnemyTurnEnd();
- }
- }
- }
- }
- private void UpdateEnemyTurn()
- {
- this.UpdateCamera();
- this.UpdateTime();
- BattleActor battleActor = null;
- bool flag = true;
- bool flag2 = true;
- for (int i = 0; i < this.m_actionPriorityEnemyActorList.Count; i++)
- {
- BattleActor battleActor2 = this.m_actionPriorityEnemyActorList[i];
- if (battleActor2.IsActive())
- {
- if (battleActor2.IsPlayer())
- {
- if (!battleActor2.IsActionEnd() && !battleActor2.IsPlayerInputAccept())
- {
- battleActor = battleActor2;
- flag = false;
- break;
- }
- }
- else if (battleActor2.State != BattleActor.StateType.Idle && !battleActor2.IsActionEnd())
- {
- battleActor = battleActor2;
- flag = false;
- break;
- }
- if (battleActor2.ActionNum > 0 || !battleActor2.IsReadyAction())
- {
- flag2 = false;
- }
- }
- else if (battleActor2.IsDeadWait())
- {
- flag = false;
- }
- }
- bool flag3 = battleActor != null && battleActor.IsFlagBit(BattleActor.FlagBitType.AbilityInputWait);
- if (this.CameraManager.IsActionEnd() && !flag3)
- {
- if (battleActor != null && this.m_cameraManager.CurrentCameraType != BattleCameraManager.CameraType.TargetSelect)
- {
- float interpSec;
- CameraSequence.BlendType blendType;
- if (!this.m_cameraManager.GetActionNextInterpInfo(out interpSec, out blendType))
- {
- interpSec = 0.5f;
- blendType = CameraSequence.BlendType.Curve;
- }
- this.m_cameraManager.SetInterpolation(interpSec, blendType, true);
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, battleActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- else
- {
- this.ChangeTargetSelectCamera(false);
- }
- }
- if (flag && !this.m_damageSourceManager.IsExist())
- {
- bool flag4 = false;
- if (this.m_playerActor.Hp <= 0 && !Mevius.App.Api.IsPartyMode())
- {
- if (this.m_playerActor.IsDeadIdle())
- {
- if (this.m_playerActor.IsSummon())
- {
- this.ProcChangeJob(false, false);
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else if (Mevius.Db.Api.IsTutorial() || Mevius.App.Api.IsTrialMode())
- {
- this.RevivePlayer();
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- }
- else
- {
- this._step = BattleManager.BattleStep.ContinueCheck;
- }
- this.OnEnemyTurnEnd();
- }
- flag4 = true;
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- flag4 = true;
- bool flag5 = true;
- for (int j = 0; j < this.m_multiBattleActorList.Count; j++)
- {
- if (this.m_multiBattleActorList[j].Hp > 0)
- {
- flag4 = false;
- break;
- }
- if (!this.m_multiBattleActorList[j].IsDeadIdle())
- {
- flag5 = false;
- break;
- }
- }
- if (flag4 && flag5)
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- this.OnEnemyTurnEnd();
- }
- }
- if (!flag4)
- {
- if (!flag2)
- {
- for (int k = 0; k < this.m_actionPriorityEnemyActorList.Count; k++)
- {
- BattleActor battleActor3 = this.m_actionPriorityEnemyActorList[k];
- if (battleActor3.IsActive())
- {
- if (!battleActor3.IsReadyAction())
- {
- battleActor3.ReadyAction();
- }
- if (battleActor3.ActionNum > 0)
- {
- bool flag6 = false;
- bool flag7 = false;
- if (battleActor3.UpdateReadyAction())
- {
- if (battleActor3.IsPlayer())
- {
- if (!battleActor3.AutoAbilityAttack())
- {
- battleActor3.NormalAttack(Vector3.forward, true, false);
- }
- flag6 = true;
- }
- else if (battleActor3.OnAiBehavior())
- {
- flag6 = true;
- }
- }
- else
- {
- flag7 = true;
- }
- if (flag7 || flag6)
- {
- if (!battleActor3.IsTurnFlag(BattleActor.TurnFlagBitType.UpdateTurnBegin))
- {
- this.SetEnemyCamera(battleActor3);
- battleActor3.SetTurnFlag(BattleActor.TurnFlagBitType.UpdateTurnBegin);
- }
- break;
- }
- }
- }
- }
- }
- else
- {
- bool flag8 = true;
- bool flag9 = false;
- for (int l = 0; l < this.m_actionPriorityEnemyActorList.Count; l++)
- {
- BattleActor battleActor4 = this.m_actionPriorityEnemyActorList[l];
- if (battleActor4.IsActive() && !battleActor4.IsNeedNotKill())
- {
- flag8 = false;
- break;
- }
- if (battleActor4.IsRewardWait())
- {
- flag9 = true;
- }
- }
- if (flag8)
- {
- if (!flag9)
- {
- this.SetBattleWin(0f);
- }
- }
- else
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- else
- {
- this._step = BattleManager.BattleStep.FairyTurnStart;
- }
- this.OnEnemyTurnEnd();
- }
- }
- }
- this.m_autoAttackTimer = 0f;
- }
- this.UpdateTest();
- }
- private void UpdateCTBStart()
- {
- this.m_activeActionOrderTime = 0f;
- GuiBattleMenu.Instance.TimeLine.ClearIcons(false);
- this.UpdateCamera();
- this.UpdateTime();
- if (this.m_turnNum == 0)
- {
- this.m_turnNum = 1;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsActive())
- {
- battleActor.OnTurnBegin();
- }
- }
- }
- else
- {
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor2 = this.m_actorList[j];
- if (battleActor2 != null && battleActor2.IsActive())
- {
- battleActor2.ReadyAction();
- battleActor2.OnTurnBegin();
- }
- }
- }
- this.Step = BattleManager.BattleStep.CTB;
- this.CreateActionOrderList();
- this.NextActionOrderActor();
- this.UpdateTest();
- }
- private void UpdateCTB()
- {
- if (this.m_activeActionOrderActor.IsPlayer())
- {
- this.UpdatePlayerTurn();
- }
- else
- {
- this.UpdateCamera();
- this.UpdateTime();
- }
- if (!this.m_damageSourceManager.IsExist())
- {
- if (this.m_playerActor.Hp <= 0)
- {
- if (this.m_playerActor.IsDeadIdle())
- {
- this.m_playerActor.OnTurnEnd();
- this.m_playerActor.OnEnemyTurnEnd();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnTurnEnd();
- this.m_playerActorSub.OnEnemyTurnEnd();
- }
- this._step = BattleManager.BattleStep.ContinueCheck;
- BattleManager._i.ChangeActionValue(BattleManager.ChangeActionValueType.ProgressTurn, true);
- this.m_turnNum++;
- BattleUtility.SetOverMissionCount(MissionCountType.TurnMax, this.m_turnNum);
- BattleUtility.AddMissionCount(MissionCountType.TurnTotal, 1);
- this.SaveData();
- }
- return;
- }
- if (this.m_activeActionOrderActor.IsTimeLineActionEnd())
- {
- this.m_activeActionOrderActor.OnCTBActionEnd();
- if (this.m_activeActionOrderActor.IsEnemy())
- {
- bool flag = true;
- bool flag2 = false;
- for (int i = 0; i < this._entryBattleCharaSpecList.Count; i++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(i);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null)
- {
- if (battleActor.IsActive() && !battleActor.IsNeedNotKill())
- {
- flag = false;
- break;
- }
- if (battleActor.IsRewardWait())
- {
- flag2 = true;
- }
- }
- }
- if (flag && !flag2)
- {
- this.SetBattleWin(0f);
- return;
- }
- }
- bool flag3;
- this.UpdateZone(out flag3);
- if (this.m_activeActionOrderActor.IsActionAbilitySkill5402())
- {
- GuiBattleMenu.Instance.TimeLine.SyncIcons(this.m_actionOrderList);
- this.m_activeActionOrderActor.OnTimeLineActionStart();
- }
- else if (this.m_actionOrderList.Count <= 0)
- {
- if (this.m_activeActionOrderActor.IsTurnEnd() || !this.m_activeActionOrderActor.IsActive())
- {
- this.m_activeActionOrderActor = null;
- GuiBattleMenu.Instance.ShowTimeLineEnd();
- this.m_playerActor.OnTurnEnd();
- this.m_playerActor.OnEnemyTurnEnd();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnTurnEnd();
- this.m_playerActorSub.OnEnemyTurnEnd();
- }
- BattleManager._i.ChangeActionValue(BattleManager.ChangeActionValueType.ProgressTurn, true);
- this.Step = BattleManager.BattleStep.FairyTurnStart;
- this.m_turnNum++;
- BattleUtility.SetOverMissionCount(MissionCountType.TurnMax, this.m_turnNum);
- BattleUtility.AddMissionCount(MissionCountType.TurnTotal, 1);
- this.SaveData();
- }
- }
- else
- {
- BattleActor battleActor2 = this.m_actionOrderList[0].Actor;
- if (battleActor2.IsEnemy() && battleActor2.IsBreak())
- {
- battleActor2 = this.m_playerActor;
- }
- if (this.m_activeActionOrderActor == battleActor2 || this.m_activeActionOrderActor.IsEnemy() || this.m_activeActionOrderActor.IsTurnEnd())
- {
- this.NextActionOrderActor();
- }
- }
- }
- }
- if (this.m_actionOrderListCreateFlag)
- {
- this.m_actionOrderListCreateFlag = false;
- this.CreateActionOrderList();
- }
- this.UpdateTest();
- }
- public bool NextActionOrderActor()
- {
- if (this.IsCountTimeBattle() && 1 <= this.m_actionOrderList.Count)
- {
- GuiBattleMenu.Instance.TimeLine.SyncIcons(this.m_actionOrderList);
- BattleActor activeActionOrderActor = this.m_activeActionOrderActor;
- this.m_activeActionOrderActor = null;
- this.m_stealActionOrderActor = null;
- this.m_activeActionOrderActor = this.m_actionOrderList[0].Actor;
- if (this.m_activeActionOrderActor.IsEnemy())
- {
- if (this.m_activeActionOrderActor.IsBreak())
- {
- this.m_stealActionOrderActor = this.m_activeActionOrderActor;
- this.m_stealActionOrderActor.OnStolen();
- this.m_activeActionOrderActor = this.m_playerActor;
- this.m_activeActionOrderActor.OnSteal();
- Mevius.Gui.Api.SetBattlePlayerActionName("$se001_ac001");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, Mevius.Sound.Api.GetSoundResourceName("Resident"), "system_se_steal", 1f, 0, 0, false, -1, 1f);
- BattleManager._i.ChangeActionValue(BattleManager.ChangeActionValueType.Steal, true);
- BattleUtility.AddMissionCount(MissionCountType.StealCount, 1);
- GuiBattleMenu.Instance.TimeLine.SetIconSteal(0);
- }
- else
- {
- this.SaveData();
- }
- }
- this.m_activeActionOrderTime = this.m_actionOrderList[0].Time;
- this.m_actionOrderList.RemoveAt(0);
- if (activeActionOrderActor != this.m_activeActionOrderActor)
- {
- if (this.m_activeActionOrderActor.IsPlayer())
- {
- if (GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.EnableMenuButton = true;
- }
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.SetBattleTargetButtonEnable(true);
- }
- else
- {
- Mevius.Gui.Api.SetBattleTargetButtonEnable(false);
- }
- }
- if (this.m_activeActionOrderActor.IsPlayer())
- {
- if (this.m_targetActor == null || !this.m_targetActor.IsActive())
- {
- this.UpdateSelectedTarget();
- this.ChangeTargetSelectCamera(false);
- }
- else if (this.m_activeActionOrderActor != activeActionOrderActor)
- {
- this.ChangeTargetSelectCamera(true);
- }
- }
- else
- {
- if (this.m_playerActor.State == BattleActor.StateType.Encount || this.m_playerActor.State == BattleActor.StateType.Idle)
- {
- this.m_playerActor.StartGuard();
- }
- if (activeActionOrderActor != null && activeActionOrderActor.IsPlayer())
- {
- this.ChangeTargetSelectCamera(true);
- }
- this.SetEnemyCamera(this.m_activeActionOrderActor);
- }
- this.m_activeActionOrderActor.OnTimeLineActionStart();
- return true;
- }
- return false;
- }
- public bool IsActionOrderActorTurnEnd()
- {
- if (this.IsSubStrike())
- {
- return false;
- }
- if (this.m_activeActionOrderActor != null)
- {
- if (this.m_activeActionOrderActor.IsEnemy())
- {
- return true;
- }
- if (this.m_activeActionOrderActor.IsTimeLineActionStart())
- {
- if (this.m_actionOrderList.Count <= 0)
- {
- return true;
- }
- if (this.m_activeActionOrderActor != this.m_actionOrderList[0].Actor && !this.m_actionOrderList[0].Actor.IsBreak())
- {
- return true;
- }
- }
- }
- return false;
- }
- private void UpdateTest()
- {
- if (BattleTest._i != null && BattleTest._i.IsExitBattle())
- {
- this._step = BattleManager.BattleStep.Escape;
- }
- }
- public static HashSet<string> GetLoadCharaSpecList(string battleSceneName)
- {
- C098a168d3605b12448638cab8ccafe9d.C6a63ba3da59f35f0fee059da0f7321db c6a63ba3da59f35f0fee059da0f7321db = C098a168d3605b12448638cab8ccafe9d.Find(battleSceneName);
- if (c6a63ba3da59f35f0fee059da0f7321db != null)
- {
- string[] entryBtChSpecIds = new string[]
- {
- c6a63ba3da59f35f0fee059da0f7321db.m2fd5b5d0d06c450dff7142d5979733e5(),
- c6a63ba3da59f35f0fee059da0f7321db.m93a11a07c0e821939010621e4b4e30c8(),
- c6a63ba3da59f35f0fee059da0f7321db.mbd2c58964e9a96e4216d06b8c21528e6(),
- c6a63ba3da59f35f0fee059da0f7321db.m10d3240ae62c144d7c74f19bd3b619d5(),
- c6a63ba3da59f35f0fee059da0f7321db.mdf64d7a7df53a5fef981025bf50c4d37(),
- c6a63ba3da59f35f0fee059da0f7321db.m604f6040ea47dc38767da31f04751a7e(),
- c6a63ba3da59f35f0fee059da0f7321db.mc734b5fc868261a5590ba6b7600c8143(),
- c6a63ba3da59f35f0fee059da0f7321db.m538ad959898836ca9ca7cbe67965ee5b()
- };
- return BattleManager.GetLoadCharaSpecList(entryBtChSpecIds);
- }
- return new HashSet<string>();
- }
- public static HashSet<string> GetLoadCharaSpecList(string[] entryBtChSpecIds)
- {
- HashSet<string> hashSet = new HashSet<string>();
- foreach (string text in entryBtChSpecIds)
- {
- if (text.Length > 0)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(text);
- if (c51747b7e0e19ad065084a2c5a6d8421b != null)
- {
- hashSet.Add(c51747b7e0e19ad065084a2c5a6d8421b.mc17ab063bf174d4fbb31c91f28a5f111());
- }
- }
- }
- return hashSet;
- }
- private void _UpdateResource()
- {
- switch (this._resourceStep)
- {
- case BattleManager.ResourceStep.Init:
- Mevius.App.Api.SetActiveBattleActors(false);
- this._entryBattleCharaSpecList = new List<string>();
- this._actorNameList = new HashSet<string>();
- this._resourceStep = BattleManager.ResourceStep.LoadCharaSpec;
- break;
- case BattleManager.ResourceStep.LoadCharaSpec:
- {
- C098a168d3605b12448638cab8ccafe9d.C6a63ba3da59f35f0fee059da0f7321db c6a63ba3da59f35f0fee059da0f7321db = C098a168d3605b12448638cab8ccafe9d.Find(this.currentBattleScene);
- if (c6a63ba3da59f35f0fee059da0f7321db != null)
- {
- string[] array = new string[]
- {
- c6a63ba3da59f35f0fee059da0f7321db.m2fd5b5d0d06c450dff7142d5979733e5(),
- c6a63ba3da59f35f0fee059da0f7321db.m93a11a07c0e821939010621e4b4e30c8(),
- c6a63ba3da59f35f0fee059da0f7321db.mbd2c58964e9a96e4216d06b8c21528e6(),
- c6a63ba3da59f35f0fee059da0f7321db.m10d3240ae62c144d7c74f19bd3b619d5(),
- c6a63ba3da59f35f0fee059da0f7321db.mdf64d7a7df53a5fef981025bf50c4d37(),
- c6a63ba3da59f35f0fee059da0f7321db.m604f6040ea47dc38767da31f04751a7e(),
- c6a63ba3da59f35f0fee059da0f7321db.mc734b5fc868261a5590ba6b7600c8143(),
- c6a63ba3da59f35f0fee059da0f7321db.m538ad959898836ca9ca7cbe67965ee5b()
- };
- foreach (string text in array)
- {
- if (text.Length > 0)
- {
- this._entryBattleCharaSpecList.Add(text);
- }
- }
- this._loadCharaSpecList = BattleManager.GetLoadCharaSpecList(array);
- foreach (string name in this._loadCharaSpecList)
- {
- this.taskid = Mevius.Loader.Api.LoadCharaSpec(name);
- }
- this.m_placementPlayerDistanceStart = c6a63ba3da59f35f0fee059da0f7321db.m6420242b0837c42c1ad096b6b0ef0c9e();
- this.m_placementPlayerDistanceEnd = c6a63ba3da59f35f0fee059da0f7321db.mb640213ed697bd8d174206d6e6162ddc();
- this.m_placementEnemyId = c6a63ba3da59f35f0fee059da0f7321db.m80b0f7453b78bb411bfb6f96aff92d47();
- if (BattleUtility.IsFF8Gimmick())
- {
- HashSet<string> hashSet = new HashSet<string>();
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- for (int j = 0; j < battleData.ff8AbilityUniqueIndexes.Length; j++)
- {
- this.m_ff8LoadAbilityIDs[j] = null;
- if (battleData.ff8AbilityUniqueIndexes[j] != 0)
- {
- foreach (C4c26d468b97150ce002ae9a639f4ea2a.C1dc494102b702de4447e82ad4b8a1927 c1dc494102b702de4447e82ad4b8a in C4c26d468b97150ce002ae9a639f4ea2a.GetRecords())
- {
- if (battleData.ff8AbilityUniqueIndexes[j] == c1dc494102b702de4447e82ad4b8a.mdabe095dc2209349fd26902efb69aa55())
- {
- this.m_ff8LoadAbilityIDs[j] = c1dc494102b702de4447e82ad4b8a.m3200e7d469baddbd48fb57787ece7fde();
- hashSet.Add(this.m_ff8LoadAbilityIDs[j]);
- break;
- }
- }
- }
- }
- HashSet<string> hashSet2 = new HashSet<string>();
- foreach (string text2 in array)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(text2);
- if (c51747b7e0e19ad065084a2c5a6d8421b != null)
- {
- hashSet2.Add(text2);
- int num = c51747b7e0e19ad065084a2c5a6d8421b.countm316681f2ec1aeb23e488797acbe9558f();
- for (int l = 0; l < num; l++)
- {
- string text3 = c51747b7e0e19ad065084a2c5a6d8421b.m2ea7d7fba19e1799d48d4ef2bd7d9dd0(l);
- if (string.IsNullOrEmpty(text3))
- {
- break;
- }
- hashSet2.Add(text3);
- }
- }
- }
- foreach (string id in hashSet2)
- {
- Cdbb9c6c5a1bc4309d61b9b14da7d84d2.C6482043a9b7c9dbdb5036d00c5bc1d8b c6482043a9b7c9dbdb5036d00c5bc1d8b = Cdbb9c6c5a1bc4309d61b9b14da7d84d2.Find(id);
- if (c6482043a9b7c9dbdb5036d00c5bc1d8b != null)
- {
- C4c26d468b97150ce002ae9a639f4ea2a.C1dc494102b702de4447e82ad4b8a1927 c1dc494102b702de4447e82ad4b8a2 = C4c26d468b97150ce002ae9a639f4ea2a.Find(c6482043a9b7c9dbdb5036d00c5bc1d8b.m336099ebbdf163fa2188c0ac0728b7aa());
- if (c1dc494102b702de4447e82ad4b8a2 != null)
- {
- hashSet.Add(c1dc494102b702de4447e82ad4b8a2.m3200e7d469baddbd48fb57787ece7fde());
- }
- }
- }
- foreach (string abilityId in hashSet)
- {
- Mevius.Loader.Api.LoadAbility(abilityId);
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- Mevius.Party.Api.RefreshResource();
- }
- this._resourceStep = BattleManager.ResourceStep.LoadCharaSpecWait;
- }
- else
- {
- this._resourceStep = BattleManager.ResourceStep.End;
- }
- break;
- }
- case BattleManager.ResourceStep.LoadCharaSpecWait:
- if (!Mevius.App.Api.IsExistTaskId(this.taskid))
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (!Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- break;
- }
- if (!Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- break;
- }
- Mevius.Gui.Api.EndLoadingIcon();
- }
- this._resourceStep = BattleManager.ResourceStep.CreateActor;
- }
- break;
- case BattleManager.ResourceStep.CreateActor:
- this._resourceStep = BattleManager.ResourceStep.CreateActorWait;
- break;
- case BattleManager.ResourceStep.CreateActorWait:
- this._resourceStep = BattleManager.ResourceStep.EndRequestWait;
- break;
- case BattleManager.ResourceStep.RemoveActor:
- if (BattleUtility.IsFF8Gimmick())
- {
- HashSet<string> hashSet3 = new HashSet<string>();
- for (int m = 0; m < this.m_ff8LoadAbilityIDs.Length; m++)
- {
- if (!string.IsNullOrEmpty(this.m_ff8LoadAbilityIDs[m]))
- {
- hashSet3.Add(this.m_ff8LoadAbilityIDs[m]);
- }
- }
- HashSet<string> hashSet4 = new HashSet<string>();
- foreach (string text4 in this._entryBattleCharaSpecList)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b2 = C4d4f3a800432e94568175cb31ad3c78d.Find(text4);
- if (c51747b7e0e19ad065084a2c5a6d8421b2 != null)
- {
- hashSet4.Add(text4);
- int num2 = c51747b7e0e19ad065084a2c5a6d8421b2.countm316681f2ec1aeb23e488797acbe9558f();
- for (int n = 0; n < num2; n++)
- {
- string text5 = c51747b7e0e19ad065084a2c5a6d8421b2.m2ea7d7fba19e1799d48d4ef2bd7d9dd0(n);
- if (string.IsNullOrEmpty(text5))
- {
- break;
- }
- hashSet4.Add(text5);
- }
- }
- }
- foreach (string id2 in hashSet4)
- {
- Cdbb9c6c5a1bc4309d61b9b14da7d84d2.C6482043a9b7c9dbdb5036d00c5bc1d8b c6482043a9b7c9dbdb5036d00c5bc1d8b2 = Cdbb9c6c5a1bc4309d61b9b14da7d84d2.Find(id2);
- if (c6482043a9b7c9dbdb5036d00c5bc1d8b2 != null)
- {
- C4c26d468b97150ce002ae9a639f4ea2a.C1dc494102b702de4447e82ad4b8a1927 c1dc494102b702de4447e82ad4b8a3 = C4c26d468b97150ce002ae9a639f4ea2a.Find(c6482043a9b7c9dbdb5036d00c5bc1d8b2.m336099ebbdf163fa2188c0ac0728b7aa());
- if (c1dc494102b702de4447e82ad4b8a3 != null)
- {
- hashSet3.Add(c1dc494102b702de4447e82ad4b8a3.m3200e7d469baddbd48fb57787ece7fde());
- }
- }
- }
- foreach (string abilityId2 in hashSet3)
- {
- Mevius.Loader.Api.UnLoadAbility(abilityId2);
- }
- }
- for (int num3 = 0; num3 < this._entryBattleCharaSpecList.Count; num3++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(num3);
- Mevius.App.Api.RemoveCharaInstanceCommand(enemyActorName, new GameInstanceManager.RemoveInstanceArg
- {
- callback = new GameInstanceManager.CreateInstanceCallBack(AppManager._i.appActorManager.delegateRemoveActor),
- callbacktag = null
- });
- }
- Mevius.Db.Api.RemoveSubPartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- Mevius.Db.Api.RemovePartyResource(DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- if (Mevius.App.Api.IsPartyMode())
- {
- foreach (Mevius.Party.Api.PARTY_MEMBER_TYPE party_MEMBER_TYPE in Mevius.Party.Api.GetPartyType())
- {
- if (party_MEMBER_TYPE != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME && party_MEMBER_TYPE != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY)
- {
- Mevius.Db.Api.RemovePartyResource(party_MEMBER_TYPE, DbPartyManager.DbPartyTypes.DbPartyTypes_BATTLE);
- }
- }
- }
- this._resourceStep = BattleManager.ResourceStep.RemoveActorWait;
- break;
- case BattleManager.ResourceStep.RemoveActorWait:
- {
- bool flag = true;
- for (int num5 = 0; num5 < this._entryBattleCharaSpecList.Count; num5++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(num5);
- if (Mevius.App.Api.FindChrGameObject(enemyActorName2))
- {
- flag = false;
- }
- }
- if (!Mevius.Db.Api.IsPartyStatusNone(DbPartyManager.DbPartyTypes.DbPartyTypes_NONE))
- {
- flag = false;
- }
- if (Mevius.App.Api.IsPartyMode() && (!Mevius.Db.Api.IsPartyStatusNone(Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC1) || !Mevius.Db.Api.IsPartyStatusNone(Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC2) || !Mevius.Db.Api.IsPartyStatusNone(Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_NPC3)))
- {
- flag = false;
- }
- if (flag)
- {
- this._resourceStep = BattleManager.ResourceStep.UnloadCharaSpec;
- }
- break;
- }
- case BattleManager.ResourceStep.UnloadCharaSpec:
- if (this._loadCharaSpecList != null)
- {
- foreach (string name2 in this._loadCharaSpecList)
- {
- this.charaspecUnloadTaskId = Mevius.Loader.Api.UnLoadCharaSpec(name2);
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- }
- this._resourceStep = BattleManager.ResourceStep.UnloadCharaSpecWait;
- break;
- case BattleManager.ResourceStep.UnloadCharaSpecWait:
- if (!Mevius.App.Api.IsExistTaskId(this.charaspecUnloadTaskId))
- {
- this._resourceStep = BattleManager.ResourceStep.End;
- }
- break;
- case BattleManager.ResourceStep.End:
- this._entryBattleCharaSpecList = null;
- this._loadCharaSpecList = null;
- this._actorNameList = null;
- Mevius.App.Api.RemoveTaskId(this.resourceUnloadTaskId);
- this.resourceUnloadTaskId = 0u;
- this._resourceStep = BattleManager.ResourceStep.None;
- break;
- }
- }
- public void RequestEscape()
- {
- if (BattleUtility.IsDQGimmick())
- {
- Ce9a57996ed2aff549552eb8b4069e830.Ce67b34e0f86dcbb14f8a71b2a412a8e1 ce67b34e0f86dcbb14f8a71b2a412a8e = Ce9a57996ed2aff549552eb8b4069e830.Find(Mevius.Db.Api.GetRegionName());
- if (ce67b34e0f86dcbb14f8a71b2a412a8e != null)
- {
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName(ce67b34e0f86dcbb14f8a71b2a412a8e.m08f3332c454ec6ddc95dc8807d6e9d2e());
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "46_Joutyu_SE_[036]escape", 1f, 0, 0, Vector3.zero, null, false, -1, 0, 1f);
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- Mevius.Party.Api.SetExitBattle();
- }
- else
- {
- this._step = BattleManager.BattleStep.Escape;
- }
- }
- public void UpdateEscapeCheck()
- {
- int num = Mevius.Gui.Util.CheckMessageBox(ref this.m_MsgHandle, "$msg_title_017", "$btl_msg_01", GuiMessageBox.Buttons.FromText, GuiMessageBox.Skin.Default, true, GuiMessageBox.DefaultFromTextButtonSE, Mevius.Gui.Constants.SoundEffectKind.system_se_window_in, false);
- if (num == -1)
- {
- return;
- }
- int num2 = num;
- if (num2 != 0)
- {
- if (num2 == 1)
- {
- this._step = BattleManager.BattleStep.PlayerTurn;
- }
- }
- else if (Mevius.App.Api.IsPartyMode())
- {
- Mevius.Party.Api.SetExitBattle();
- this._step = BattleManager.BattleStep.PlayerTurn;
- }
- else
- {
- this._step = BattleManager.BattleStep.Escape;
- }
- }
- public void EndBattle()
- {
- Mevius.Gui.Api.RemoveBattleTouchAreaEvent(new GuiBattleMenu.TouchAreaEventHandler(this.TouchAreaEvent));
- this.ClearCurrentTarget();
- this.m_battleSlow.End();
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- if (!Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < battleData.manaElements.Length; i++)
- {
- battleData.manaElements[i] = -1;
- }
- BattleActor battleActor = this.m_playerActor;
- if (this.IsCountTimeBattle() && battleActor.IsSubActionSub())
- {
- battleActor = this.m_playerActorSub;
- }
- if (battleActor != null)
- {
- battleActor.OnBattleEnd();
- Array.Clear(battleData.statusEffectIds, 0, battleData.statusEffectIds.Length);
- Array.Clear(battleData.statusEffectTurns, 0, battleData.statusEffectTurns.Length);
- Array.Clear(battleData.statusEffectStates, 0, battleData.statusEffectStates.Length);
- Array.Clear(battleData.statusEffectParams, 0, battleData.statusEffectParams.Length);
- Array.Clear(battleData.statusEffectIds2, 0, battleData.statusEffectIds2.Length);
- Array.Clear(battleData.statusEffectTurns2, 0, battleData.statusEffectTurns2.Length);
- Array.Clear(battleData.statusEffectStates2, 0, battleData.statusEffectStates2.Length);
- Array.Clear(battleData.statusEffectParams2, 0, battleData.statusEffectParams2.Length);
- int[,] statusEffectEntries = battleActor.GetStatusEffectEntries();
- int length = statusEffectEntries.GetLength(0);
- int num = Math.Min(length, 16);
- for (int j = 0; j < num; j++)
- {
- battleData.statusEffectIds[j] = statusEffectEntries[j, 0];
- battleData.statusEffectTurns[j] = (sbyte)statusEffectEntries[j, 1];
- battleData.statusEffectStates[j] = (byte)statusEffectEntries[j, 2];
- battleData.statusEffectParams[j] = statusEffectEntries[j, 3];
- }
- if (16 < length)
- {
- num = length - 16;
- for (int k = 0; k < num; k++)
- {
- int num2 = 16 + k;
- battleData.statusEffectIds2[k] = statusEffectEntries[num2, 0];
- battleData.statusEffectTurns2[k] = (sbyte)statusEffectEntries[num2, 1];
- battleData.statusEffectStates2[k] = (byte)statusEffectEntries[num2, 2];
- battleData.statusEffectParams2[k] = statusEffectEntries[num2, 3];
- }
- }
- battleActor.ElementalGauge.GetOriginalValues().CopyTo(battleData.elementalGauge, 0);
- battleActor.ManaElements.CopyTo(battleData.manaElements, 0);
- battleData.abilityUseSuportCount = battleActor.AbilityUseSuportCount;
- }
- BattleActor battleActor2 = this.FindActor(BattleManager.GetBattlePlayerName());
- if (battleActor2 != null)
- {
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Hp, battleActor2.Hp);
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point, battleActor2.ManaUseNum);
- BattleActor.CardAbilityInfo[] cardAbilityInfos = battleActor2.CardAbilityInfos;
- for (int l = 0; l < cardAbilityInfos.Length; l++)
- {
- battleData.cardAbilityChargeTurns[l] = (sbyte)cardAbilityInfos[l].chargeTurn;
- battleData.cardAbilityUseCounts[l] = (ushort)cardAbilityInfos[l].useCount;
- battleData.cardAbilityTurnUseCounts[l] = 0;
- }
- for (int m = 0; m < battleActor2.DQAbilityChargeTurns.Length; m++)
- {
- battleData.playerDqAbilityChargeTurns[0, m] = battleActor2.DQAbilityChargeTurns[m];
- }
- for (int n = 0; n < battleActor2.RevengeDamages.Length; n++)
- {
- battleData.playerRevengeDamages[0, n] = battleActor2.RevengeDamages[n];
- }
- }
- BattleActor battleActor3 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- if (battleActor3 != null)
- {
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Hp_Sub, battleActor3.Hp);
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point_Sub, battleActor3.ManaUseNum);
- BattleActor.CardAbilityInfo[] cardAbilityInfos = battleActor3.CardAbilityInfos;
- for (int num3 = 0; num3 < cardAbilityInfos.Length; num3++)
- {
- battleData.subCardAbilityChargeTurns[num3] = (sbyte)cardAbilityInfos[num3].chargeTurn;
- battleData.subCardAbilityUseCounts[num3] = (ushort)cardAbilityInfos[num3].useCount;
- battleData.subCardAbilityTurnUseCounts[num3] = 0;
- }
- for (int num4 = 0; num4 < battleActor3.DQAbilityChargeTurns.Length; num4++)
- {
- battleData.playerDqAbilityChargeTurns[1, num4] = battleActor3.DQAbilityChargeTurns[num4];
- }
- for (int num5 = 0; num5 < battleActor3.RevengeDamages.Length; num5++)
- {
- battleData.playerRevengeDamages[1, num5] = battleActor3.RevengeDamages[num5];
- }
- }
- if (battleActor2 != null && battleActor3 != null)
- {
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- float num6 = (float)battleActor3.ManaUseNum / (float)battleActor3.JobAbilityUseManaUseNum;
- battleActor2.ManaUseNum = (int)((float)battleActor2.JobAbilityUseManaUseNum * num6 + 0.5f);
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point, battleActor2.ManaUseNum);
- }
- else
- {
- float num7 = (float)battleActor2.ManaUseNum / (float)battleActor2.JobAbilityUseManaUseNum;
- battleActor3.ManaUseNum = (int)((float)battleActor3.JobAbilityUseManaUseNum * num7 + 0.5f);
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point_Sub, battleActor3.ManaUseNum);
- }
- }
- battleData.playerJobChangeChargeTurn = this.m_playerJobChangeChargeTurn;
- battleData.actionGauge = (ushort)this.m_actionGauge;
- battleData.actionGaugeDecrease = (ushort)this.m_actionGaugeDecrease;
- battleData.actionPower = this.m_actionPower;
- Array.Clear(battleData.manaAttributeUseNum, 0, battleData.manaAttributeUseNum.Length);
- this.m_ff7AbilityUseCounts.CopyTo(battleData.ff7AbilityUseCounts, 0);
- if (BattleUtility.IsFF8Gimmick())
- {
- for (int num8 = 0; num8 < this.FF8DrawAbility.Length; num8++)
- {
- battleData.ff8AbilityUniqueIndexes[num8] = this.FF8DrawAbility[num8].id;
- battleData.ff8AbilityCounts[num8] = (byte)this.FF8DrawAbility[num8].remainingCount;
- }
- }
- }
- else
- {
- DbManager.MultiBattleData multiBattleData = Mevius.Db.Api.GetMultiBattleData();
- if (multiBattleData != null)
- {
- multiBattleData.enemyEscapeActionIndex.CopyTo(battleData.enemyEscapeActionIndex, 0);
- multiBattleData.enemyEscapeActionIndex.CopyTo(PartyManager._i.current_data.battle_data.enemyEscapeActionIndex, 0);
- for (int num9 = 0; num9 < multiBattleData.enemyEscapeCharaFlags.GetLength(0); num9++)
- {
- for (int num10 = 0; num10 < multiBattleData.enemyEscapeCharaFlags.GetLength(1); num10++)
- {
- battleData.enemyEscapeCharaFlags[num9, num10] = multiBattleData.enemyEscapeCharaFlags[num9, num10];
- PartyManager._i.current_data.battle_data.enemyEscapeCharaFlags[num9, num10] = multiBattleData.enemyEscapeCharaFlags[num9, num10];
- }
- }
- for (int num11 = 0; num11 < this.m_multiBattleActorList.Count; num11++)
- {
- if (this.m_multiBattleActorList[num11].PartyMemberType == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- int partySlot = this.m_multiBattleActorList[num11].PartySlot;
- multiBattleData.abilityUseSuportCounts[partySlot] = this.m_multiBattleActorList[num11].AbilityUseSuportCount;
- for (int num12 = 0; num12 < battleData.cardAbilityUseCounts.Length; num12++)
- {
- battleData.cardAbilityUseCounts[num12] = multiBattleData.cardAbilityUseCounts[partySlot, num12];
- battleData.cardAbilityTurnUseCounts[num12] = 0;
- PartyManager._i.current_data.battle_data.cardAbilityUseCounts[partySlot, num12] = multiBattleData.cardAbilityUseCounts[partySlot, num12];
- }
- break;
- }
- }
- }
- }
- BattleUtility.SetOverMissionCount(MissionCountType.TurnMax, this.m_turnNum);
- this.m_missionCounts.CopyTo(battleData.missionCount, 0);
- this.m_bossMissionCounts.CopyTo(battleData.bossMissionCount, 0);
- this.m_saveLongValues.CopyTo(battleData.saveLongValues, 0);
- this.m_bossSaveLongValues.CopyTo(battleData.bossSaveLongValues, 0);
- this.m_actionPriorityEnemyActorList.Clear();
- this.m_partyMemberTurn = false;
- this.m_selfActor = null;
- this.m_multiBattleActorList.Clear();
- this.m_multiBattleCurrentOrder = 0;
- this.m_multiBattleTurnLimitTime = 0UL;
- this.m_multiBattleTurnStartTime = 0UL;
- if (this.m_multiBattleActorCursorHandle != null)
- {
- Mevius.Effect.Api.SetEffectLoopOff(this.m_multiBattleActorCursorHandle);
- }
- this.m_randCount = 0;
- this.m_damageRandCount = 0;
- this.m_movementRandCount = 0;
- Mevius.App.Api.SetTimeScale(1f);
- this.m_damageSourceManager.Clear();
- this.m_manaObjectManager.Clear();
- UnityEngine.Object.Destroy(this.m_rootObject);
- Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Phy Bg"), LayerMask.NameToLayer("Phy Character"), false);
- this.m_isMultiFinishCamera = false;
- if (BgmManager._i.BgmEffectOn)
- {
- BgmManager._i.SetBgmEffect(false, 1000);
- }
- Mevius.Sound.Api.StopSound(this.m_zoneSoundHandle, 1000);
- this.m_zoneSoundHandle = 0;
- this.m_dqSameNameDictionary = null;
- }
- public BattleManager.BattleStep Step
- {
- set
- {
- this._step = value;
- }
- }
- private void SetRandomSeed(bool init = false)
- {
- uint num;
- if (Mevius.App.Api.IsPartyMode() && init)
- {
- num = Mevius.Party.Api.GetInitSeed();
- }
- else
- {
- num = (uint)DateTime.Now.Ticks + (uint)Environment.TickCount;
- }
- this.m_rand.SetSeed(num);
- this.m_playerDamageRand.SetSeed(num);
- this.m_playerMovementRand.SetSeed(num);
- if (Mevius.App.Api.IsPartyMode())
- {
- DbManager.MultiBattleData multiBattleData = Mevius.Db.Api.GetMultiBattleData();
- multiBattleData.randSeed = num;
- }
- else
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- battleData.randSeed = num;
- }
- }
- public void ResetPlayerDamageRandomSeed()
- {
- if (!Mevius.App.Api.IsPartyMode())
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- this.m_playerDamageRand.SetSeed(battleData.randSeed);
- this.m_damageRandCount = 0;
- }
- }
- public void SaveData()
- {
- if (Mevius.Db.Api.IsTutorial() || this._step >= BattleManager.BattleStep.ResultReady)
- {
- return;
- }
- if (!Mevius.App.Api.IsPartyMode())
- {
- this.SaveSingleData();
- }
- }
- private void SaveSingleData()
- {
- Mevius.Db.Api.SetHasBattleData(true);
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- this.SetRandomSeed(false);
- battleData.version = BattleManager.SaveDataVersion;
- battleData.step = (int)this._step;
- battleData.turnNum = this.m_turnNum;
- battleData.chainNum = this.m_chainNum;
- battleData.breakNum = this.m_breakNum;
- battleData.deadNum = this.m_deadNum;
- battleData.playerHp = this.m_playerActor.Hp;
- if (this.m_playerActorSub != null)
- {
- battleData.playerSubHp = this.m_playerActorSub.Hp;
- }
- battleData.playerActionNum = (byte)this.m_playerActor.ActionNum;
- battleData.playerActionType = (byte)this.m_playerActor.PlayerActionType;
- battleData.playerNormalAttackNum = (byte)this.m_playerActor.NormalAttackNum;
- battleData.playerAreaState = (byte)this.m_playerActor.AreaState;
- battleData.playerPosX = this.m_playerActor.chara.transform.position.x;
- battleData.playerPosZ = this.m_playerActor.chara.transform.position.z;
- battleData.playerRot = this.m_playerActor.chara.transform.localEulerAngles.y;
- if (this.m_playerActor.PrevUseCardAbilityAttribute != ElementAttributeType.None)
- {
- battleData.prevUseCardAbilityAttributeBit = (ushort)(1 << (int)this.m_playerActor.PrevUseCardAbilityAttribute);
- }
- else
- {
- battleData.prevUseCardAbilityAttributeBit = 0;
- }
- if (this.m_playerActor.TargetActor != null)
- {
- battleData.playerTargetIndex = (sbyte)this.m_playerActor.TargetActor.EnemyIndex;
- this.m_playerActor.PinchAutoAbilityFlags.CopyTo(battleData.autoAbilityPinchFlags, 0);
- }
- else
- {
- battleData.playerTargetIndex = -1;
- }
- Array.Clear(battleData.statusEffectIds, 0, battleData.statusEffectIds.Length);
- Array.Clear(battleData.statusEffectTurns, 0, battleData.statusEffectTurns.Length);
- Array.Clear(battleData.statusEffectStates, 0, battleData.statusEffectStates.Length);
- Array.Clear(battleData.statusEffectParams, 0, battleData.statusEffectParams.Length);
- Array.Clear(battleData.statusEffectIds2, 0, battleData.statusEffectIds2.Length);
- Array.Clear(battleData.statusEffectTurns2, 0, battleData.statusEffectTurns2.Length);
- Array.Clear(battleData.statusEffectStates2, 0, battleData.statusEffectStates2.Length);
- Array.Clear(battleData.statusEffectParams2, 0, battleData.statusEffectParams2.Length);
- int[,] statusEffectEntries = this.m_playerActor.GetStatusEffectEntries();
- int length = statusEffectEntries.GetLength(0);
- int num = Math.Min(length, 16);
- for (int i = 0; i < num; i++)
- {
- battleData.statusEffectIds[i] = statusEffectEntries[i, 0];
- battleData.statusEffectTurns[i] = (sbyte)statusEffectEntries[i, 1];
- battleData.statusEffectStates[i] = (byte)statusEffectEntries[i, 2];
- battleData.statusEffectParams[i] = statusEffectEntries[i, 3];
- }
- if (16 < length)
- {
- num = length - 16;
- for (int j = 0; j < num; j++)
- {
- int num2 = 16 + j;
- battleData.statusEffectIds2[j] = statusEffectEntries[num2, 0];
- battleData.statusEffectTurns2[j] = (sbyte)statusEffectEntries[num2, 1];
- battleData.statusEffectStates2[j] = (byte)statusEffectEntries[num2, 2];
- battleData.statusEffectParams2[j] = statusEffectEntries[num2, 3];
- }
- }
- this.m_playerActor.ElementalGauge.GetOriginalValues().CopyTo(battleData.elementalGauge, 0);
- BattleActor battleActor = this.FindActor(BattleManager.GetBattlePlayerName());
- Array.Clear(battleData.cardAbilityChargeTurns, 0, battleData.cardAbilityChargeTurns.Length);
- Array.Clear(battleData.cardAbilityUseCounts, 0, battleData.cardAbilityUseCounts.Length);
- if (battleActor != null)
- {
- BattleActor.CardAbilityInfo[] cardAbilityInfos = battleActor.CardAbilityInfos;
- for (int k = 0; k < cardAbilityInfos.Length; k++)
- {
- battleData.cardAbilityChargeTurns[k] = (sbyte)cardAbilityInfos[k].chargeTurn;
- battleData.cardAbilityUseCounts[k] = (ushort)cardAbilityInfos[k].useCount;
- battleData.cardAbilityTurnUseCounts[k] = cardAbilityInfos[k].turnUseCount;
- }
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point, battleActor.ManaUseNum);
- for (int l = 0; l < 3; l++)
- {
- battleData.playerDqAbilityChargeTurns[0, l] = battleActor.DQAbilityChargeTurns[l];
- }
- int num3 = 0;
- while (num3 < battleActor.ActionTimeList.Count && num3 < 32)
- {
- battleData.playerActionTime[num3] = battleActor.ActionTimeList[num3];
- num3++;
- }
- for (int m = 0; m < 3; m++)
- {
- battleData.playerRevengeDamages[0, m] = battleActor.RevengeDamages[m];
- }
- battleData.playerSuccessiveActionNum = battleActor.SuccessiveActionNum;
- }
- Array.Clear(battleData.enemyStatusEffectIds, 0, battleData.enemyStatusEffectIds.Length);
- Array.Clear(battleData.enemyStatusEffectTurns, 0, battleData.enemyStatusEffectTurns.Length);
- Array.Clear(battleData.enemyStatusEffectStates, 0, battleData.enemyStatusEffectStates.Length);
- Array.Clear(battleData.enemyStatusEffectParams, 0, battleData.enemyStatusEffectParams.Length);
- for (int n = 0; n < this._entryBattleCharaSpecList.Count; n++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(n);
- BattleActor battleActor2 = this.FindActor(enemyActorName);
- if (battleActor2 != null)
- {
- battleData.enemyYRots[n] = battleActor2.chara.transform.localEulerAngles.y;
- battleData.enemyHps[n] = battleActor2.Hp;
- battleData.enemyBps[n] = battleActor2.Bp;
- battleData.enemyBpArmorDamages[n] = battleActor2.BpArmorDamage;
- battleData.enemyBreakCounts[n] = (byte)battleActor2.BreakCount;
- if (battleActor2.Ai != null)
- {
- for (int num4 = 0; num4 < 8; num4++)
- {
- battleData.enemyAiCounters[n, num4] = battleActor2.Ai.Counters[num4];
- }
- for (int num5 = 0; num5 < 8; num5++)
- {
- battleData.enemyAiCounters2[n, num5] = battleActor2.Ai.Counters[8 + num5];
- }
- battleData.enemyAiFlags[n] = battleActor2.Ai.Flag;
- battleData.enemyAiSpCounters[n] = battleActor2.Ai.SpCounter;
- battleData.enemyAiTakeDamageBit[n] = battleActor2.Ai.TakeDamageBit;
- battleData.enemyAiTakeDamageAttributeBit[n] = battleActor2.Ai.TakeDamageAttributeBit;
- }
- battleData.enemyAttributeBit[n] = battleActor2.ElementAttributeBit;
- battleData.enemyUnknownAttribute[n] = battleActor2.UnknownAttribute;
- battleData.enemyAbsorbAttributeBit[n] = battleActor2.AbsorbAttributeBit;
- battleData.enemyChangeBtCharaSpecId[n] = battleActor2.ChangeBtCharaSpecId;
- int[,] statusEffectEntries2 = battleActor2.GetStatusEffectEntries();
- int length2 = statusEffectEntries2.GetLength(0);
- int num6 = Math.Min(length2, 16);
- for (int num7 = 0; num7 < num6; num7++)
- {
- battleData.enemyStatusEffectIds[n, num7] = statusEffectEntries2[num7, 0];
- battleData.enemyStatusEffectTurns[n, num7] = (sbyte)statusEffectEntries2[num7, 1];
- battleData.enemyStatusEffectStates[n, num7] = (byte)statusEffectEntries2[num7, 2];
- battleData.enemyStatusEffectParams[n, num7] = statusEffectEntries2[num7, 3];
- }
- if (16 < length2)
- {
- num6 = length2 - 16;
- for (int num8 = 0; num8 < num6; num8++)
- {
- int num9 = 16 + num8;
- battleData.enemyStatusEffectIds2[n, num8] = statusEffectEntries2[num9, 0];
- battleData.enemyStatusEffectTurns2[n, num8] = (sbyte)statusEffectEntries2[num9, 1];
- battleData.enemyStatusEffectStates2[n, num8] = (byte)statusEffectEntries2[num9, 2];
- battleData.enemyStatusEffectParams2[n, num8] = statusEffectEntries2[num9, 3];
- }
- }
- byte[] debuffInvalidCounts = battleActor2.DebuffInvalidCounts;
- for (int num10 = 0; num10 < debuffInvalidCounts.Length; num10++)
- {
- battleData.enemyDebuffInvalidCounts[n, num10] = debuffInvalidCounts[num10];
- }
- battleData.enemyVisibleGroupNodeBits[n] = battleActor2.VisibleGroupNodeBits;
- battleData.enemySaveFlagBits[n] = (uint)battleActor2.SaveFlagBits;
- battleData.enemyHpLimitIndexs[n] = battleActor2.HpLimitIndex;
- battleData.enemySameNameIndexes[n] = battleActor2.SameCharaIndex;
- battleData.enemyHpLimitMotionIndexes[n] = battleActor2.HpLimitMotionIndex;
- battleData.enemyDamagedActorIndexBits[n] = battleActor2.EnemyDamagedActorIndexBit;
- battleData.enemyHpGaugeFixRates[n] = battleActor2.EnemyHpGaugeFixRate;
- battleData.enemyActionNum[n] = (byte)battleActor2.ActionNum;
- int count = battleActor2.ActionTimeList.Count;
- if (0 < count)
- {
- battleData.enemyActionTimeStart[n] = battleActor2.ActionTimeList[0];
- if (1 < count)
- {
- battleData.enemyActionTimeInterval[n] = battleActor2.ActionTimeInterval;
- }
- }
- battleData.enemyActionNumMax[n] = (byte)battleActor2.ActionNumMax;
- battleData.ff8EnemyDraweds[n] = ((!battleActor2.FF8EnemyDrawed) ? 0 : 1);
- }
- }
- for (int num11 = 0; num11 < battleData.manaElements.Length; num11++)
- {
- battleData.manaElements[num11] = -1;
- }
- this.m_playerActor.ManaElements.CopyTo(battleData.manaElements, 0);
- battleData.playerNormalAttackCombo = this.m_playerActor.NormalAttackCombo;
- battleData.abilityUseSuportCount = this.m_playerActor.AbilityUseSuportCount;
- this.m_enemyAiCommonCounters.CopyTo(battleData.enemyAiCommonCounters, 0);
- battleData.playerJobChangeChargeTurn = this.m_playerJobChangeChargeTurn;
- battleData.playerJobChangeThroughTurn = this.m_playerJobChangeThroughTurn;
- BattleActor battleActor3 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- if (battleActor3 != null)
- {
- BattleActor.CardAbilityInfo[] cardAbilityInfos2 = battleActor3.CardAbilityInfos;
- for (int num12 = 0; num12 < cardAbilityInfos2.Length; num12++)
- {
- battleData.subCardAbilityChargeTurns[num12] = (sbyte)cardAbilityInfos2[num12].chargeTurn;
- battleData.subCardAbilityUseCounts[num12] = (ushort)cardAbilityInfos2[num12].useCount;
- battleData.subCardAbilityTurnUseCounts[num12] = cardAbilityInfos2[num12].turnUseCount;
- }
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Ability_Point_Sub, battleActor3.ManaUseNum);
- for (int num13 = 0; num13 < 3; num13++)
- {
- battleData.playerDqAbilityChargeTurns[1, num13] = battleActor3.DQAbilityChargeTurns[num13];
- }
- for (int num14 = 0; num14 < 3; num14++)
- {
- battleData.playerRevengeDamages[1, num14] = battleActor3.RevengeDamages[num14];
- }
- }
- battleData.fairyHour = this.m_fairyHour;
- battleData.optimaType = (sbyte)this.m_optimaType;
- this.m_optimaUseCounts.CopyTo(battleData.optimaUseCounts, 0);
- this.m_missionCounts.CopyTo(battleData.missionCount, 0);
- this.m_bossMissionCounts.CopyTo(battleData.bossMissionCount, 0);
- this.m_saveLongValues.CopyTo(battleData.saveLongValues, 0);
- this.m_bossSaveLongValues.CopyTo(battleData.bossSaveLongValues, 0);
- this.m_ff7AbilityUseCounts.CopyTo(battleData.ff7AbilityUseCounts, 0);
- battleData.actionGauge = (ushort)this.m_actionGauge;
- battleData.actionGaugeDecrease = (ushort)this.m_actionGaugeDecrease;
- battleData.actionPower = this.m_actionPower;
- battleData.isZone = ((!this.m_zone) ? 0 : 1);
- if (this.m_stealActionOrderActor != null)
- {
- battleData.ctbStealIndex = (sbyte)this.m_stealActionOrderActor.EnemyIndex;
- }
- else
- {
- battleData.ctbStealIndex = -1;
- }
- battleData.enemyActionEndFlag = this.m_enemyActionEndFlag;
- if (BattleUtility.IsFF8Gimmick())
- {
- for (int num15 = 0; num15 < this.FF8DrawAbility.Length; num15++)
- {
- battleData.ff8AbilityUniqueIndexes[num15] = this.FF8DrawAbility[num15].id;
- battleData.ff8AbilityCounts[num15] = (byte)this.FF8DrawAbility[num15].remainingCount;
- }
- }
- battleData.playerAbilityCombo = this.m_playerActor.AbilityCombo;
- this.m_playerActor.ManaAttributeUseNum.CopyTo(battleData.manaAttributeUseNum, 0);
- Mevius.App.Api.AddAsyncCommand(new AsyncCommandManager.AsyncCommandCallBack(DbManager.execClientSaveData), false);
- }
- public void LoadData()
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- if (battleData.version == 0)
- {
- if (battleData.step == 40)
- {
- battleData.step = 14;
- }
- else if (battleData.step >= 13)
- {
- battleData.step += 2;
- }
- else if (battleData.step >= 12)
- {
- battleData.step++;
- }
- battleData.version = 1;
- }
- if (battleData.version == 1)
- {
- if (battleData.step >= 6)
- {
- battleData.step++;
- }
- battleData.version = 2;
- }
- if (battleData.version == 2)
- {
- if (battleData.step >= 34)
- {
- battleData.step += 3;
- }
- else if (battleData.step >= 21)
- {
- battleData.step += 2;
- }
- battleData.version = 3;
- }
- this._step = (BattleManager.BattleStep)battleData.step;
- this.m_rand.SetSeed(battleData.randSeed);
- this.m_playerDamageRand.SetSeed(battleData.randSeed);
- this.m_playerMovementRand.SetSeed(battleData.randSeed);
- this.m_turnNum = battleData.turnNum;
- this.m_chainNum = battleData.chainNum;
- this.m_breakNum = battleData.breakNum;
- this.m_deadNum = battleData.deadNum;
- this.m_playerJobChangeChargeTurn = battleData.playerJobChangeChargeTurn;
- this.m_playerJobChangeThroughTurn = battleData.playerJobChangeThroughTurn;
- this.m_fairyHour = battleData.fairyHour;
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- this.ProcChangeJob(true, false);
- }
- this.m_playerActor.SetPinchAutoAbilityFlags(battleData.autoAbilityPinchFlags);
- this.m_playerActor.SetHp(battleData.playerHp, false, false);
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.SetHp(battleData.playerSubHp, false, false);
- }
- this.m_playerActor.ActionNum = (int)battleData.playerActionNum;
- this.m_playerActor.NormalAttackNum = (int)battleData.playerNormalAttackNum;
- this.m_playerActor.AreaState = (BattleActor.AreaStateType)battleData.playerAreaState;
- Mevius.Gui.Api.SetBattlePlayerAttackCount((int)battleData.playerActionNum, GuiBattlePlayerTurnEffect.None);
- this.m_playerActor.PlayerActionType = (PlayerActionType)battleData.playerActionType;
- if ((int)battleData.prevUseCardAbilityIndex != -1)
- {
- battleData.prevUseCardAbilityAttributeBit = (ushort)(1 << this.m_playerActor.CardAbilityInfos[(int)battleData.prevUseCardAbilityIndex].displayCosts[0]);
- battleData.prevUseCardAbilityIndex = -1;
- }
- for (int i = 0; i < 7; i++)
- {
- if (((int)battleData.prevUseCardAbilityAttributeBit & 1 << i) != 0)
- {
- this.m_playerActor.PrevUseCardAbilityAttribute = (ElementAttributeType)i;
- break;
- }
- }
- string enemyActorName = BattleManager.GetEnemyActorName((int)battleData.playerTargetIndex);
- BattleActor targetActor = this.FindActor(enemyActorName);
- this.m_targetActor = targetActor;
- this.m_playerActor.TargetActor = targetActor;
- bool flag = false;
- Vector3 vector = new Vector3(battleData.playerPosX, 0f, battleData.playerPosZ);
- if (this.ChaosBattle)
- {
- float num = (!(this.m_playerActor.chara.GetCharacterControllerComponent() != null)) ? 2f : this.m_playerActor.chara.GetCharacterControllerComponent().height;
- RaycastHit raycastHit;
- if (!Physics.Raycast(vector + Vector3.up * num * 0.5f, Vector3.down, out raycastHit, num, 1 << LayerMask.NameToLayer("Phy Bg")))
- {
- flag = true;
- }
- }
- if (!flag)
- {
- this.m_playerActor.chara.transform.position = vector;
- this.m_playerActor.chara.transform.localEulerAngles = new Vector3(0f, battleData.playerRot, 0f);
- }
- this.m_playerActor.NormalAttackCombo = battleData.playerNormalAttackCombo;
- this.m_playerActor.SuccessiveActionNum = battleData.playerSuccessiveActionNum;
- this.m_playerActor.AbilityCombo = battleData.playerAbilityCombo;
- this.m_playerActor.AbilityUseSuportCount = battleData.abilityUseSuportCount;
- battleData.manaAttributeUseNum.CopyTo(this.m_playerActor.ManaAttributeUseNum, 0);
- if (this.IsCountTimeBattle())
- {
- this.m_playerActor.CreateActionTimeList(battleData.playerActionTime);
- }
- int num2 = -1;
- int actionIndex = Mevius.Zone.Api.GetActionIndex();
- for (int j = 0; j < battleData.enemyEscapeActionIndex.Length; j++)
- {
- if (battleData.enemyEscapeActionIndex[j] == actionIndex)
- {
- num2 = j;
- break;
- }
- }
- for (int k = 0; k < this._entryBattleCharaSpecList.Count; k++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(k);
- BattleActor battleActor = this.FindActor(enemyActorName2);
- if (battleActor != null)
- {
- if (!flag)
- {
- battleActor.chara.transform.localEulerAngles = new Vector3(0f, battleData.enemyYRots[k], 0f);
- }
- battleActor.SetHp(battleData.enemyHps[k], false, false);
- battleActor.Bp = battleData.enemyBps[k];
- battleActor.BreakCount = (int)battleData.enemyBreakCounts[k];
- battleActor.BpArmorDamage = battleData.enemyBpArmorDamages[k];
- if (battleActor.Ai != null)
- {
- for (int l = 0; l < 8; l++)
- {
- battleActor.Ai.Counters[l] = battleData.enemyAiCounters[k, l];
- }
- for (int m = 0; m < 8; m++)
- {
- battleActor.Ai.Counters[8 + m] = battleData.enemyAiCounters2[k, m];
- }
- battleActor.Ai.Flag = battleData.enemyAiFlags[k];
- battleActor.Ai.SpCounter = battleData.enemyAiSpCounters[k];
- battleActor.Ai.TakeDamageBit = battleData.enemyAiTakeDamageBit[k];
- battleActor.Ai.TakeDamageAttributeBit = battleData.enemyAiTakeDamageAttributeBit[k];
- }
- if (battleData.version <= 2)
- {
- if (battleData.enemyAttributeBit[k] != 0)
- {
- battleActor.ElementAttributeBit = battleData.enemyAttributeBit[k];
- }
- if (battleData.enemyChangeAttributeBit[k] != 0)
- {
- battleActor.ElementAttributeBit = battleData.enemyChangeAttributeBit[k];
- }
- }
- else
- {
- battleActor.ElementAttributeBit = battleData.enemyAttributeBit[k];
- }
- if (battleData.enemyAbsorbAttributeBit[k] != 0)
- {
- battleActor.AbsorbAttributeBit = battleData.enemyAbsorbAttributeBit[k];
- }
- battleActor.UnknownAttribute = battleData.enemyUnknownAttribute[k];
- battleActor.SetChangeBtCharaSpecId(battleData.enemyChangeBtCharaSpecId[k], false);
- List<int[]> list = new List<int[]>();
- for (int n = 0; n < battleData.enemyStatusEffectIds.GetLength(1); n++)
- {
- if (battleData.enemyStatusEffectIds[k, n] != 0)
- {
- list.Add(new int[]
- {
- battleData.enemyStatusEffectIds[k, n],
- (int)battleData.enemyStatusEffectTurns[k, n],
- (int)battleData.enemyStatusEffectStates[k, n],
- battleData.enemyStatusEffectParams[k, n]
- });
- }
- }
- for (int num3 = 0; num3 < battleData.enemyStatusEffectIds2.GetLength(1); num3++)
- {
- if (battleData.enemyStatusEffectIds2[k, num3] != 0)
- {
- list.Add(new int[]
- {
- battleData.enemyStatusEffectIds2[k, num3],
- (int)battleData.enemyStatusEffectTurns2[k, num3],
- (int)battleData.enemyStatusEffectStates2[k, num3],
- battleData.enemyStatusEffectParams2[k, num3]
- });
- }
- }
- battleActor.SetStatusEffectEntries(list.ToArray());
- for (int num4 = 0; num4 < battleData.enemyDebuffInvalidCounts.GetLength(1); num4++)
- {
- battleActor.SetDebuffInvalidCount(num4, battleData.enemyDebuffInvalidCounts[k, num4]);
- }
- if (battleActor.IsVisibleGroupNodeBp())
- {
- battleActor.VisibleGroupNodeBits = battleData.enemyVisibleGroupNodeBits[k];
- battleActor.chara.SetVisibleGroupNode(battleActor.VisibleGroupNodeBits);
- }
- battleActor.SaveFlagBits = (BattleActor.SaveFlagBitType)battleData.enemySaveFlagBits[k];
- battleActor.HpLimitIndex = battleData.enemyHpLimitIndexs[k];
- battleActor.SameCharaIndex = battleData.enemySameNameIndexes[k];
- battleActor.HpLimitMotionIndex = battleData.enemyHpLimitMotionIndexes[k];
- battleActor.EnemyDamagedActorIndexBit = battleData.enemyDamagedActorIndexBits[k];
- battleActor.EnemyHpGaugeFixRate = battleData.enemyHpGaugeFixRates[k];
- battleActor.ActionNumMax = (int)battleData.enemyActionNumMax[k];
- if (this.IsCountTimeBattle())
- {
- battleActor.CreateActionTimeList((int)battleData.enemyActionNum[k], battleData.enemyActionTimeStart[k], battleData.enemyActionTimeInterval[k]);
- }
- battleActor.FF8EnemyDrawed = (battleData.ff8EnemyDraweds[k] != 0);
- bool escape = false;
- if (num2 != -1 && battleData.enemyEscapeCharaFlags[num2, k])
- {
- escape = true;
- }
- battleActor.OnRestore(this._step, escape, true, true);
- }
- }
- battleData.enemyAiCommonCounters.CopyTo(this.m_enemyAiCommonCounters, 0);
- this.m_enemyActionEndFlag = battleData.enemyActionEndFlag;
- this.m_optimaType = (OptimaType)battleData.optimaType;
- battleData.optimaUseCounts.CopyTo(this.m_optimaUseCounts, 0);
- battleData.ff7AbilityUseCounts.CopyTo(this.m_ff7AbilityUseCounts, 0);
- this.LoadFF8Data();
- if (this.IsCountTimeBattle())
- {
- this.m_zone = (battleData.isZone != 0);
- if (this.m_zone)
- {
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- this.m_zoneSoundHandle = Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_mzone_loop", 1f, 0, 0, false, -1, 1f);
- }
- GuiBattleMenu.Instance.IsZone = this.m_zone;
- this.CreateActionOrderList();
- this.NextActionOrderActor();
- string enemyActorName3 = BattleManager.GetEnemyActorName((int)battleData.ctbStealIndex);
- this.m_stealActionOrderActor = this.FindActor(enemyActorName3);
- if (this.m_stealActionOrderActor != null)
- {
- GuiBattleMenu.Instance.TimeLine.SetIconSteal(0);
- }
- }
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_playerActor.TargetActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- this.UpdateCameraEntry();
- this.m_playerActor.OnRestore(this._step, false, true, true);
- if (this.m_playerActorSub != null && this.m_playerActorSub.IsSummon())
- {
- this.m_playerActorSub.OnRestoreSummon();
- }
- this.InitSameCharaIndex();
- this.ProcManToMan();
- }
- public void LoadFF8Data()
- {
- if (BattleUtility.IsFF8Gimmick())
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- for (int i = 0; i < this.FF8DrawAbility.Length; i++)
- {
- this.FF8DrawAbility[i].id = battleData.ff8AbilityUniqueIndexes[i];
- foreach (C4c26d468b97150ce002ae9a639f4ea2a.C1dc494102b702de4447e82ad4b8a1927 c1dc494102b702de4447e82ad4b8a in C4c26d468b97150ce002ae9a639f4ea2a.GetRecords())
- {
- if (this.FF8DrawAbility[i].id == c1dc494102b702de4447e82ad4b8a.mdabe095dc2209349fd26902efb69aa55())
- {
- this.FF8DrawAbility[i].Datasheet = c1dc494102b702de4447e82ad4b8a;
- break;
- }
- }
- this.FF8DrawAbility[i].remainingCount = (int)battleData.ff8AbilityCounts[i];
- }
- }
- }
- public void AddActor(BattleActor btActor)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- int[] partyType = Mevius.Party.Api.GetPartyType();
- int count = this.m_actorList.Count;
- for (int i = 0; i < count; i++)
- {
- if (btActor.IsPlayer())
- {
- if (this.m_actorList[i].IsPlayer() && btActor.PartySlot < this.m_actorList[i].PartySlot)
- {
- this.m_actorList.Insert(i, btActor);
- return;
- }
- }
- else if (this.m_actorList[i].IsPlayer())
- {
- this.m_actorList.Insert(i, btActor);
- return;
- }
- }
- this.m_actorList.Add(btActor);
- }
- else
- {
- this.m_actorList.Add(btActor);
- }
- }
- public void RemoveActor(BattleActor btActor)
- {
- this.m_actorList.Remove(btActor);
- }
- public BattleActor FindActor(string name)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- if (this.m_actorList[i].chara.Name == name)
- {
- return this.m_actorList[i];
- }
- }
- return null;
- }
- public BattleActor FindActor(uint actorIndexBit)
- {
- if ((actorIndexBit & 4278190080u) != 0u)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- if (this.m_actorList[i].IsPlayer())
- {
- uint num = 1u << this.m_actorList[i].PartySlot + 24;
- if ((actorIndexBit & num) != 0u)
- {
- return this.m_actorList[i];
- }
- }
- }
- }
- else if ((actorIndexBit & 16777215u) != 0u)
- {
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- if (this.m_actorList[j].IsEnemy())
- {
- uint num2 = 1u << this.m_actorList[j].EnemyIndex;
- if ((actorIndexBit & num2) != 0u)
- {
- return this.m_actorList[j];
- }
- }
- }
- }
- return null;
- }
- public BattleActor GetPlayerActor()
- {
- return this.m_playerActor;
- }
- public BattleActor GetPlayerActorSub()
- {
- return this.m_playerActorSub;
- }
- public bool GetPlayerHp(out int hp, out int maxHp)
- {
- hp = 0;
- maxHp = 0;
- if (this.m_playerActor != null)
- {
- hp = this.m_playerActor.Hp;
- maxHp = this.m_playerActor.HpMax;
- return true;
- }
- return false;
- }
- public void UseNormalAttack()
- {
- if (this.m_playerActor != null)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (this._step == BattleManager.BattleStep.MultiBattleInput && this.m_playerActor.IsPlayerInputAccept())
- {
- this.m_playerActor.NormalAttack(Vector3.forward, true, false);
- }
- }
- else if (this.IsPlayerTurn() && this.m_playerActor.IsPlayerInputAccept())
- {
- this.m_playerActor.NormalAttack(Vector3.forward, true, false);
- }
- }
- }
- public void UseJobAbility()
- {
- if (this.m_playerActor != null)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (this._step == BattleManager.BattleStep.MultiBattleInput)
- {
- this.m_playerActor.UseJobAbility(true, false);
- }
- }
- else if (this.IsPlayerTurn())
- {
- if (this.IsZone())
- {
- this.m_playerActor.UseSubAction(true);
- }
- else
- {
- this.m_playerActor.UseJobAbility(true, false);
- }
- }
- }
- }
- public void UseCardAbility(int index)
- {
- if (this.m_playerActor != null)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (this._step == BattleManager.BattleStep.MultiBattleInput)
- {
- this.m_playerActor.UseCardAbility(index, true, false);
- }
- }
- else if (this.IsPlayerTurn())
- {
- this.m_playerActor.UseCardAbility(index, true, false);
- }
- }
- }
- public void UseDrawAbility(int index)
- {
- if (this.m_playerActor != null && !Mevius.App.Api.IsPartyMode() && this.IsPlayerTurn() && BattleUtility.IsFF8Gimmick())
- {
- if (index == 0)
- {
- this.m_playerActor.RequestUseFF8Draw();
- }
- else if (index == 1)
- {
- this.m_playerActor.RequestUseFF8Ability(0);
- }
- else if (index == 2)
- {
- this.m_playerActor.RequestUseFF8Ability(1);
- }
- else if (index == 3)
- {
- this.m_playerActor.RequestUseFF8Ability(2);
- }
- else
- {
- this.m_playerActor.UseCardAbility(index, true, false);
- }
- }
- }
- public void UseRecast(ElementAttributeType elementAttr)
- {
- if (this.m_playerActor != null)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- if (this._step == BattleManager.BattleStep.MultiBattleInput)
- {
- this.m_playerActor.UseRecast(elementAttr, true, false);
- }
- }
- else if (this.IsPlayerTurn())
- {
- this.m_playerActor.UseRecast(elementAttr, true, false);
- }
- }
- }
- public void UseJobChange()
- {
- if (this.m_playerActor != null && this.IsPlayerTurn())
- {
- this.m_playerActor.UseJobChange();
- }
- }
- public bool EnableJobChange()
- {
- return this.IsPlayerTurn() && this.m_playerActor != null && this.m_playerActor.IsPlayerInput() && this.CanJobChange();
- }
- public bool CanJobChange()
- {
- if (this.IsCountTimeBattle())
- {
- return this.m_jobChangeActionGauge <= this.m_actionGauge || this.IsZone();
- }
- return (!this.m_playerActorSub.IsSummon() || !this.m_playerActorSub.IsDead()) && BattleManager._i.PlayerJobChangeChargeTurn == 0;
- }
- public void UseOptimaChange(int optimaType)
- {
- if (this.m_playerActor != null && this.IsPlayerTurn())
- {
- this.m_playerActor.UseOptimaChange(optimaType);
- }
- }
- public BattleCameraManager CameraManager
- {
- get
- {
- return this.m_cameraManager;
- }
- }
- public void CreateDamageSource(string id, BattleActor owner, BattleActor target, Vector3 parentDamageSourcePos, BattleDamageSource parentDamageSource = null, bool bind = false, bool multi = false, bool origin = false)
- {
- if (owner != null)
- {
- owner.SetAbsorbEffectLoopOff();
- }
- this.m_damageSourceManager.CreateDamageSource(id, owner, target, parentDamageSourcePos, parentDamageSource, bind, multi, origin);
- }
- public void CreateMana(BattleActor actor, Vector3 pos, int num = 1, bool hitMove = false, int almightyProb = 0, int multiNum = 0)
- {
- this.CreateMana(actor, pos, ElementAttributeType.None, num, hitMove, almightyProb, multiNum, false);
- }
- public void CreateMana(BattleActor actor, Vector3 pos, ElementAttributeType attribute, int num = 1, bool hitMove = false, int almightyProb = 0, int multiNum = 0, bool checkElementalGaugeStatusEffect = false)
- {
- int num2 = 0;
- if (Mevius.App.Api.IsPartyMode())
- {
- BattleActor selfActor = this.GetSelfActor();
- if (multiNum != 0)
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- bool flag = BattleUtility.IsUseAttribute(this.m_multiBattleActorList[i], attribute, checkElementalGaugeStatusEffect);
- int almightyProb2 = 0;
- int num3 = multiNum;
- if (actor == this.m_multiBattleActorList[i])
- {
- almightyProb2 = almightyProb;
- num3 = num;
- }
- for (int j = 0; j < num3; j++)
- {
- ElementAttributeType elementAttributeType;
- if (flag)
- {
- elementAttributeType = this.m_multiBattleActorList[i].CreateMana(pos, attribute, hitMove, almightyProb2);
- }
- else
- {
- elementAttributeType = this.m_multiBattleActorList[i].CreateMana(pos, hitMove, almightyProb2);
- }
- if (actor == selfActor && this.m_multiBattleActorList[i] == selfActor && elementAttributeType != ElementAttributeType.None)
- {
- num2++;
- if (elementAttributeType != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType, 1);
- }
- }
- }
- }
- }
- else
- {
- BattleActor battleActor = actor;
- if (battleActor == null)
- {
- battleActor = selfActor;
- }
- if (battleActor != null)
- {
- bool flag2 = BattleUtility.IsUseAttribute(battleActor, attribute, checkElementalGaugeStatusEffect);
- for (int k = 0; k < num; k++)
- {
- ElementAttributeType elementAttributeType2;
- if (flag2)
- {
- elementAttributeType2 = battleActor.CreateMana(pos, attribute, hitMove, almightyProb);
- }
- else
- {
- elementAttributeType2 = battleActor.CreateMana(pos, hitMove, almightyProb);
- }
- if (elementAttributeType2 != ElementAttributeType.None && actor == selfActor)
- {
- num2++;
- if (elementAttributeType2 != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType2, 1);
- }
- }
- }
- }
- }
- }
- else
- {
- BattleActor battleActor2 = actor;
- if (battleActor2 == null)
- {
- battleActor2 = this.m_playerActor;
- }
- if (this.IsSubAction() && battleActor2.IsSubActionSub())
- {
- battleActor2 = this.GetPlayerActorSub();
- }
- bool flag3 = BattleUtility.IsUseAttribute(battleActor2, attribute, checkElementalGaugeStatusEffect);
- for (int l = 0; l < num; l++)
- {
- ElementAttributeType elementAttributeType3;
- if (flag3)
- {
- elementAttributeType3 = battleActor2.CreateMana(pos, attribute, hitMove, almightyProb);
- }
- else
- {
- elementAttributeType3 = battleActor2.CreateMana(pos, hitMove, almightyProb);
- }
- if (elementAttributeType3 != ElementAttributeType.None && actor == this.m_playerActor)
- {
- num2++;
- if (elementAttributeType3 != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType3, 1);
- }
- }
- }
- }
- if (num2 != 0)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaTotal, num2);
- }
- this.UpdateManaGui();
- }
- public void CreateMana(BattleActor actor, Vector3 pos, Vector3 targetPos, bool multiAll = false)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- BattleActor selfActor = this.GetSelfActor();
- if (multiAll)
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- ElementAttributeType elementAttributeType = this.m_multiBattleActorList[i].CreateMana(pos, targetPos);
- if (actor == selfActor && this.m_multiBattleActorList[i] == selfActor && elementAttributeType != ElementAttributeType.None)
- {
- if (elementAttributeType != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType, 1);
- }
- BattleUtility.AddMissionCount(MissionCountType.CreateManaTotal, 1);
- }
- }
- }
- else if (actor != null)
- {
- ElementAttributeType elementAttributeType2 = actor.CreateMana(pos, targetPos);
- if (elementAttributeType2 != ElementAttributeType.None && actor == selfActor)
- {
- if (elementAttributeType2 != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType2, 1);
- }
- BattleUtility.AddMissionCount(MissionCountType.CreateManaTotal, 1);
- }
- }
- }
- else
- {
- BattleActor battleActor = this.m_playerActor;
- if (this.IsSubAction() && battleActor.IsSubActionSub())
- {
- battleActor = this.GetPlayerActorSub();
- }
- ElementAttributeType elementAttributeType3 = battleActor.CreateMana(pos, targetPos);
- if (elementAttributeType3 != ElementAttributeType.None && actor == battleActor)
- {
- if (elementAttributeType3 != ElementAttributeType.OriginalMax)
- {
- BattleUtility.AddMissionCount(MissionCountType.CreateManaAttribute0 + (int)elementAttributeType3, 1);
- }
- BattleUtility.AddMissionCount(MissionCountType.CreateManaTotal, 1);
- }
- }
- this.UpdateManaGui();
- }
- public bool IsDrawingMana()
- {
- return this.m_manaObjectManager.IsDrawing();
- }
- public void ClearMana()
- {
- this.m_manaObjectManager.Clear();
- }
- public void RequestRemoveMana()
- {
- this.m_manaObjectManager.RequestRemove();
- }
- public void AddReservedMana(ElementAttributeType type)
- {
- this.m_playerActor.AddReservedMana(type);
- }
- public void ClearReservedMana()
- {
- this.m_playerActor.ClearReservedMana();
- }
- public void AddTakeDamageTotal(BattleActor owner, BattleActor target, int value)
- {
- if (owner != null && target != null && owner == this.GetSelfActor() && target.IsEnemy())
- {
- BattleUtility.AddMissionCount(MissionCountType.TakeDamageTotal, value);
- }
- }
- public void GiveDamageMissionCount(BattleActor target, BattleActor owner, int value)
- {
- if (value > 0 && owner != null && target != null && target == this.GetSelfActor())
- {
- BattleUtility.AddMissionCount(MissionCountType.GiveDamageTotal, value);
- BattleUtility.SetOverMissionCount(MissionCountType.GiveDamageMax, value);
- if (owner.IsEnemy())
- {
- BattleUtility.AddMissionCount(MissionCountType.EnemyGiveDamageTotal, value);
- BattleUtility.SetOverMissionCount(MissionCountType.EnemyGiveDamageMax, value);
- }
- }
- }
- public void AddRecoveryTotal(BattleActor actor, int value)
- {
- if (actor != null && (actor == this.GetSelfActor() || actor == this.m_playerActorSub))
- {
- BattleUtility.AddMissionCount(MissionCountType.RecoveryTotal, value);
- }
- }
- public int ChainNum
- {
- get
- {
- return this.m_chainNum;
- }
- set
- {
- this.m_chainNum = value;
- }
- }
- public int TurnNum
- {
- get
- {
- return this.m_turnNum;
- }
- }
- private Vector3 GetCameraAimPos(bool checkActor = true)
- {
- bool flag = false;
- Vector2 vector = default(Vector2);
- Vector2 vector2 = default(Vector2);
- if (checkActor)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && (battleActor.IsPlayer() || (battleActor.IsEnemy() && battleActor.IsActive())))
- {
- if (flag)
- {
- if (battleActor.chara.transform.position.x < vector.x)
- {
- vector.x = battleActor.chara.transform.position.x;
- }
- if (vector2.x < battleActor.chara.transform.position.x)
- {
- vector2.x = battleActor.chara.transform.position.x;
- }
- if (battleActor.chara.transform.position.z < vector.y)
- {
- vector.y = battleActor.chara.transform.position.z;
- }
- if (vector2.y < battleActor.chara.transform.position.z)
- {
- vector2.y = battleActor.chara.transform.position.z;
- }
- }
- else
- {
- vector.Set(battleActor.chara.transform.position.x, battleActor.chara.transform.position.z);
- vector2 = vector;
- flag = true;
- }
- }
- }
- }
- Vector3 zero = Vector3.zero;
- zero.x = (vector.x + vector2.x) / 2f;
- zero.z = (vector.y + vector2.y) / 2f;
- return zero;
- }
- public int EnemyLevel
- {
- get
- {
- return this.m_enemyLevel;
- }
- set
- {
- this.m_enemyLevel = value;
- }
- }
- public BattleActor GetEnemyActor(BattleActor targetActor)
- {
- BattleActor result = null;
- Vector3 normalized = (targetActor.chara.transform.position - this.m_playerActor.chara.transform.position).normalized;
- float num = 180f;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- Vector3 normalized2 = (battleActor.chara.transform.position - this.m_playerActor.chara.transform.position).normalized;
- float num2 = Vector3.Angle(normalized, normalized2);
- if (num2 < num)
- {
- num = num2;
- result = battleActor;
- }
- }
- }
- return result;
- }
- public bool IsPlayerActionEnd()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- return this.m_playerActor.MultiTurnEnd && (this.m_playerActor.State == BattleActor.StateType.Idle || this.m_playerActor.State == BattleActor.StateType.Guard);
- }
- return this.m_playerActor.IsChangeTurn();
- }
- public bool IsPlayerInputEnd()
- {
- return this.m_playerActor.CommandInputEnd;
- }
- public uint GetRandomUnsignedInteger()
- {
- this.m_randCount++;
- return this.m_rand.GetUnsignedInteger();
- }
- public float GetRandomSingleFloat()
- {
- this.m_randCount++;
- return this.m_rand.GetSingleFloat();
- }
- public uint GetPlayerDamageRandomUnsignedInteger()
- {
- this.m_damageRandCount++;
- return this.m_playerDamageRand.GetUnsignedInteger();
- }
- public float GetPlayerDamageRandomSingleFloat()
- {
- this.m_damageRandCount++;
- return this.m_playerDamageRand.GetSingleFloat();
- }
- public uint GetPlayerMovementRandomUnsignedInteger()
- {
- this.m_movementRandCount++;
- return this.m_playerMovementRand.GetUnsignedInteger();
- }
- public float GetPlayerMovementRandomSingleFloat()
- {
- this.m_movementRandCount++;
- return this.m_playerMovementRand.GetSingleFloat();
- }
- public PreciseTime GetPreciseTime()
- {
- return this.m_preciseTime;
- }
- public List<BattleActor> GetActorList()
- {
- return this.m_actorList;
- }
- public void SetPlayerTargetActor(int enemyIndex)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(enemyIndex);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null)
- {
- this.m_targetActor = battleActor;
- this.m_playerActor.TargetActor = battleActor;
- if (this.m_cameraManager.CurrentCameraType == BattleCameraManager.CameraType.TwoShot || this.m_cameraManager.CurrentCameraType == BattleCameraManager.CameraType.TargetSelect)
- {
- this.m_cameraManager.SetInterpolation(0.25f, CameraSequence.BlendType.Curve, true);
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_playerActor.TargetActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- }
- public void SetTargetActor(BattleActor actor)
- {
- if (this.m_playerActor.TargetActor != actor)
- {
- this.m_playerActor.TargetActor = actor;
- if (this.m_cameraManager.CurrentCameraType == BattleCameraManager.CameraType.TwoShot || this.m_cameraManager.CurrentCameraType == BattleCameraManager.CameraType.TargetSelect)
- {
- this.m_cameraManager.SetInterpolation(1f, CameraSequence.BlendType.Curve, true);
- }
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_playerActor.TargetActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- public void EnemyTurnTarget()
- {
- if (this.m_boss)
- {
- return;
- }
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActive())
- {
- battleActor.OnTurnTarget();
- }
- }
- }
- public void UpdateManaGui()
- {
- BattleActor battleActor = this.GetSelfActor();
- if (this.IsSubAction() && battleActor.IsSubActionSub())
- {
- battleActor = this.GetPlayerActorSub();
- }
- if (battleActor != null)
- {
- battleActor.UpdateManaGui();
- }
- }
- public bool HasGuiActive()
- {
- if (this.m_playerActor == null)
- {
- return false;
- }
- bool flag = this.m_playerActor.IsPlayerInputAccept();
- if (Mevius.App.Api.IsPartyMode())
- {
- flag = (flag && this._step == BattleManager.BattleStep.MultiBattleInput);
- }
- else
- {
- flag = (flag && (this._step == BattleManager.BattleStep.PlayerTurnStart || this.IsPlayerTurn()));
- }
- return flag;
- }
- public void UpdateActionGuiActive()
- {
- if (this.m_playerActor != null)
- {
- if (this.PartyMemberTurn)
- {
- this.m_playerActor.UpdateActionGuiActive(false);
- }
- else
- {
- this.m_playerActor.UpdateActionGuiActive(this.HasGuiActive());
- }
- }
- }
- public void UpdateJobAbilityGauge()
- {
- if (this.m_playerActor != null)
- {
- this.m_playerActor.UpdateJobAbilityGauge();
- }
- }
- public BattleDebugParameter DebugParameter
- {
- get
- {
- return null;
- }
- }
- public void GetEnemyCenterPosDist(out Vector3 pos, out float farDistance)
- {
- pos = Vector3.zero;
- int num = 0;
- farDistance = 0f;
- List<BattleActor> actorList = BattleManager._i.GetActorList();
- for (int i = 0; i < actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- pos += battleActor.chara.transform.position;
- num++;
- }
- }
- if (num != 0)
- {
- pos /= (float)num;
- for (int j = 0; j < actorList.Count; j++)
- {
- BattleActor battleActor2 = this.m_actorList[j];
- if (battleActor2.IsEnemy() && battleActor2.IsActiveTarget())
- {
- float num2 = Vector3.Distance(pos, battleActor2.chara.transform.position);
- if (num2 > farDistance)
- {
- farDistance = num2;
- }
- }
- }
- }
- }
- public void UpdateTargetSelectCameraFocus()
- {
- Mevius.Renderer.CameraManager instance = Mevius.Renderer.CameraManager.GetInstance();
- if (instance != null)
- {
- GameObject viewCameraGameObject = instance.GetViewCameraGameObject();
- if (viewCameraGameObject && viewCameraGameObject.GetComponent<Camera>())
- {
- Vector3 vector = Vector3.forward;
- vector.y = 0f;
- vector = vector.normalized;
- vector = Quaternion.Euler(0f, this.m_cameraManager.GetTargetSelectHrzAngle(), 0f) * vector;
- int num = 0;
- BattleManager.AutoFocusInfo[] array = new BattleManager.AutoFocusInfo[2];
- for (int i = 0; i < 2; i++)
- {
- array[i] = new BattleManager.AutoFocusInfo();
- }
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor = this.m_actorList[j];
- if (battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- Transform elementIdTransform = battleActor.chara.GetElementIdTransform(name);
- if (elementIdTransform)
- {
- Vector3 vector2 = viewCameraGameObject.GetComponent<Camera>().WorldToViewportPoint(elementIdTransform.position);
- if (0f <= vector2.x && vector2.x <= 1f && 0f <= vector2.y && vector2.y <= 1f && 0f < vector2.z)
- {
- num++;
- }
- Vector3 vector3 = elementIdTransform.position - this.m_playerActor.chara.transform.position;
- vector3.y = 0f;
- vector3 = vector3.normalized;
- float num2 = Vector3.Dot(vector, vector3);
- num2 = Mathf.Clamp(num2, -1f, 1f);
- float num3 = Mathf.Acos(num2);
- if (Vector3.Cross(vector, vector3).y < 0f)
- {
- if (num3 < array[0].radian)
- {
- array[0].actor = battleActor;
- array[0].radian = num3;
- array[0].dir = vector3;
- }
- }
- else if (num3 < array[1].radian)
- {
- array[1].actor = battleActor;
- array[1].radian = num3;
- array[1].dir = vector3;
- }
- }
- }
- }
- int num4 = -1;
- if (array[0].actor != null && array[1].actor == null)
- {
- num4 = 0;
- }
- else if (array[0].actor == null && array[1].actor != null)
- {
- num4 = 1;
- }
- else if (array[0].actor != null && array[1].actor != null && num <= 1)
- {
- if (array[0].radian < array[1].radian)
- {
- num4 = 0;
- }
- else
- {
- num4 = 1;
- }
- }
- if (num4 != -1)
- {
- this.m_playerActor.TargetActor = array[num4].actor;
- float num5 = array[num4].radian;
- if (Vector3.Cross(vector, array[num4].dir).y < 0f)
- {
- num5 *= -1f;
- }
- this.m_cameraManager.SetTargetSelectTargetPos(this.m_playerActor.TargetActor.chara.transform.position, true);
- }
- }
- }
- }
- public void UpdateSelectedTarget()
- {
- if (this._step >= BattleManager.BattleStep.ResultReady)
- {
- return;
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = this.m_actorList.Count - 1; i >= 0; i--)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- this.m_targetActor = battleActor;
- this.CheckPlayerTargetChange();
- break;
- }
- }
- }
- else
- {
- Mevius.Renderer.CameraManager instance = Mevius.Renderer.CameraManager.GetInstance();
- if (instance != null)
- {
- GameObject viewCameraGameObject = instance.GetViewCameraGameObject();
- if (viewCameraGameObject && viewCameraGameObject.GetComponent<Camera>())
- {
- int num = int.MaxValue;
- float num2 = float.MaxValue;
- BattleActor battleActor2 = null;
- BattleActor battleActor3 = null;
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- Vector3 position = this.m_playerActor.chara.GetElementIdTransform(name).position;
- Vector3 vector = viewCameraGameObject.GetComponent<Camera>().WorldToViewportPoint(position);
- Vector3 lhs = this.m_playerActor.chara.transform.rotation * Vector3.forward;
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor4 = this.m_actorList[j];
- if (battleActor4.IsEnemy() && battleActor4.IsActiveTarget() && !battleActor4.IsNeedNotKill())
- {
- if (battleActor4.Hp < num)
- {
- num = battleActor4.Hp;
- battleActor2 = battleActor4;
- Transform elementIdTransform = battleActor4.chara.GetElementIdTransform(name);
- num2 = Vector3.Distance((!elementIdTransform) ? battleActor4.chara.transform.position : elementIdTransform.position, position);
- }
- else if (battleActor4.Hp == num)
- {
- Transform elementIdTransform2 = battleActor4.chara.GetElementIdTransform(name);
- Vector3 a = (!elementIdTransform2) ? battleActor4.chara.transform.position : elementIdTransform2.position;
- Vector3 normalized = (a - position).normalized;
- normalized.y = 0f;
- float num3 = Vector3.Distance(a, position);
- if (num3 < num2)
- {
- num2 = num3;
- if (Vector3.Dot(lhs, normalized) >= 0f)
- {
- battleActor2 = battleActor4;
- }
- else
- {
- battleActor3 = battleActor4;
- }
- }
- }
- }
- }
- BattleActor battleActor5 = null;
- if (battleActor2 != null)
- {
- battleActor5 = battleActor2;
- }
- else if (battleActor3 != null)
- {
- battleActor5 = battleActor3;
- }
- if (battleActor5 != null)
- {
- this.m_targetActor = battleActor5;
- this.CheckPlayerTargetChange();
- }
- }
- }
- }
- }
- public BattleActor GetTargetActor()
- {
- return this.m_targetActor;
- }
- public void OnPlayerHit(bool critical, bool actionFirstHit, bool isBreakJust)
- {
- if (critical && !MainLoop.DisableTapEffect)
- {
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "critical_001"
- });
- }
- if (actionFirstHit)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- this.m_multiBattleActorList[i].OnPlayerHit();
- }
- }
- else
- {
- this.m_playerActor.OnPlayerHit();
- }
- }
- if ((critical || isBreakJust) && this.m_fairyActor != null)
- {
- this.m_fairyActor.PlayMotion("b_break1", false);
- }
- }
- public void OnPlayerDamage()
- {
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.OnPlayerDamage();
- }
- }
- public float GetInputWaitingTime()
- {
- return this.m_battleSlow.CurrentSlowTime;
- }
- public float GetTotalInputWaitTime()
- {
- return this.m_battleSlow.TotalSlowTime;
- }
- public bool IsInputWaiting()
- {
- return this.m_battleSlow.IsInBattleSlow();
- }
- public string GetSlowDebugInfo()
- {
- return this.m_battleSlow.GetDebugInfo();
- }
- public float GetPlayerAreaRandomDistance()
- {
- return this.m_placementPlayerDistanceStart + Mevius.Battle.Api.GetPlayerMovementRandomSingleFloat() * (this.m_placementPlayerDistanceEnd - this.m_placementPlayerDistanceStart);
- }
- public float GetPlayerAreaDistanceStart()
- {
- return this.m_placementPlayerDistanceStart;
- }
- public float GetPlayerAreaDistanceEnd()
- {
- return this.m_placementPlayerDistanceEnd;
- }
- public int GetPlayerActionNumBase()
- {
- if (this.m_playerActor != null)
- {
- return this.m_playerActor.GetActionNumBase();
- }
- return 0;
- }
- public void OnPlayerActionStart(bool freeAction, bool subActionMainAction)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- battleActor.OnPlayerActionStart(freeAction, subActionMainAction);
- }
- GuiBattleMenu.Instance.TimeLine.SetIconEffect(0, GuiBattleTimeLineIconEffect.Action);
- }
- public void OnPlayerActionEnd()
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- battleActor.OnPlayerActionEnd();
- }
- }
- public void OnEnemyActionStart()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- this.m_multiBattleActorList[i].OnEnemyActionStart();
- }
- }
- else
- {
- this.m_playerActor.OnEnemyActionStart();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnEnemyActionStart();
- }
- }
- }
- public void OnEnemyActionEnd()
- {
- this.m_enemyActionEndFlag = true;
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- this.m_multiBattleActorList[i].OnEnemyActionEnd();
- }
- }
- else
- {
- this.m_playerActor.OnEnemyActionEnd();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnEnemyActionEnd();
- }
- }
- }
- public void OnEnemyTurnEnd()
- {
- this.HideBattleEnemyActionName();
- Mevius.Gui.Api.ClearDQBattleLogText();
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActive())
- {
- battleActor.OnTurnEnd();
- }
- }
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int j = 0; j < this.m_multiBattleActorList.Count; j++)
- {
- this.m_multiBattleActorList[j].OnEnemyTurnEnd();
- }
- }
- else
- {
- this.m_playerActor.OnEnemyTurnEnd();
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnEnemyTurnEnd();
- }
- }
- this.m_turnNum++;
- BattleUtility.SetOverMissionCount(MissionCountType.TurnMax, this.m_turnNum);
- BattleUtility.AddMissionCount(MissionCountType.TurnTotal, 1);
- this.SaveData();
- }
- public void ChangeTargetSelectCamera(bool force = false)
- {
- if ((this.m_cameraManager.CurrentCameraType != BattleCameraManager.CameraType.TargetSelect || force) && !this.IsMultiFinishCamera())
- {
- float interpSec;
- CameraSequence.BlendType blendType;
- if (!this.m_cameraManager.GetActionNextInterpInfo(out interpSec, out blendType))
- {
- interpSec = 0.5f;
- blendType = CameraSequence.BlendType.Curve;
- }
- if (this.m_playerActor.TargetActor.IsUsePlayerMotion() && this._step == BattleManager.BattleStep.PlayerTurnStart)
- {
- interpSec = 0f;
- }
- this.m_cameraManager.SetInterpolation(interpSec, blendType, true);
- this.m_cameraManager.InitTargetSelect(this.m_boss, this.m_playerActor, this.m_playerActor.TargetActor);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.TargetSelect);
- }
- }
- public void CheckPlayerTargetChange()
- {
- if (this.m_targetActor != this.m_playerActor.TargetActor && !this.m_playerActor.IsStatusEffectEntry(BattleStatusEffect.GroupType.Provoke))
- {
- this.m_playerActor.OnTargetChange();
- this.m_playerActor.TargetActor = this.m_targetActor;
- }
- }
- public int GetEnemyNum(bool ignoreEnemyNeedNotToKill = true)
- {
- int num = 0;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- if (ignoreEnemyNeedNotToKill)
- {
- if (!battleActor.IsNeedNotKill())
- {
- num++;
- }
- }
- else
- {
- num++;
- }
- }
- }
- return num;
- }
- public bool IsDamageSourceExist()
- {
- return this.m_damageSourceManager.IsExist();
- }
- public string ReplaceDamageSourceId(string id, BattleActor owner)
- {
- return this.m_damageSourceManager.ReplaceDamageSourceId(id, owner);
- }
- public void OnEnemyNoActionPlayerActionContinue()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- return;
- }
- if (BattleManager._i.IsCountTimeBattle())
- {
- return;
- }
- if (this.IsPlayerTurn())
- {
- bool flag = false;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && !battleActor.IsPlayer() && battleActor.IsActive())
- {
- if (battleActor.IsNextTurnAction())
- {
- flag = false;
- break;
- }
- flag = true;
- }
- }
- if (flag)
- {
- if (this.m_fairyActor != null)
- {
- this.ProcFairyEffectType(true);
- }
- if (this.m_fairyEffectType == BattleManager.FairyEffectType.None)
- {
- if (Mevius.Db.Api.GetBattleData().padCombo > 0 && Mevius.Db.Api.GetBattleData().padComboTurn <= 1)
- {
- return;
- }
- this.m_playerActor.UpdatePadComboTurn();
- if (this.m_playerActor != null)
- {
- this.m_playerActor.OnTurnEnd();
- }
- if (this.m_playerActorSub != null)
- {
- this.m_playerActorSub.OnTurnEnd();
- }
- this.OnEnemyTurnEnd();
- if (this.m_playerActor != null)
- {
- this.m_playerActor.OnTurnBegin();
- this.m_playerActor.ReadyAction();
- if (!this.m_playerActor.IsDead() && (this.m_targetActor == null || !this.m_targetActor.IsActive()))
- {
- this.UpdateSelectedTarget();
- }
- }
- }
- }
- }
- }
- public BattleFairyActor FairyActor
- {
- get
- {
- return this.m_fairyActor;
- }
- }
- public void OnTutorialTrigger(BattleTutorialManager.TriggerType trigger)
- {
- if (this.m_tutorialManager != null)
- {
- this.m_tutorialManager.OnTrigger(trigger);
- }
- }
- private void InitFairyActor()
- {
- this.m_fairyActor = null;
- AppActor appActor = Mevius.App.Api.FindAppActor(Mevius.Db.Api.GetPlayerFairyName() + "_battle");
- if (appActor != null && appActor.getGameObject().activeInHierarchy)
- {
- this.m_fairyActor = (appActor.actors[1] as BattleFairyActor);
- this.m_fairyActor.SetIdle();
- this.m_fairyActor.InitIdlePos();
- if (this.m_playerActor != null && this.m_playerActor.IsSummon())
- {
- this.m_fairyActor.Chara.ShowHideModel(false, true);
- }
- }
- }
- public void OnFairyEffect()
- {
- switch (this.m_fairyEffectType)
- {
- case BattleManager.FairyEffectType.Revive:
- this.RevivePlayer();
- break;
- case BattleManager.FairyEffectType.Heal:
- {
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "keal_002",
- m_BindActor = this.m_playerActor.chara.gameObject
- });
- float recoverRate = (float)Mevius.DataSheet.Api.GetResidentInteger("fairyEffect0val1", 20) * 0.01f;
- this.m_playerActor.RecoverHpMaxRate(recoverRate);
- Mevius.Gui.Constants.PopupStatusKind kind = Mevius.Gui.Constants.PopupStatusKind.Full;
- Mevius.Gui.Constants.PopupStatusEffect effect = Mevius.Gui.Constants.PopupStatusEffect.None;
- string value = string.Empty;
- C02688ac2fa3465c4dc969e664556169f.Cdb83ac7b1b94f482a747dd16b359c48f cdb83ac7b1b94f482a747dd16b359c48f = C02688ac2fa3465c4dc969e664556169f.Find("6");
- if (cdb83ac7b1b94f482a747dd16b359c48f != null && this.m_playerActor.AddStatusEffect(cdb83ac7b1b94f482a747dd16b359c48f, Mevius.DataSheet.Api.GetResidentInteger("fairyEffect0val2", 3), BattleStatusEffect.StateType.Normal, 0, true, true))
- {
- value = cdb83ac7b1b94f482a747dd16b359c48f.m8d891e45af2849894b2221fd8edc72c0();
- }
- Transform elementIdTransform = this.m_playerActor.chara.GetElementIdTransform(ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.MAGIC_HIT));
- Mevius.Gui.Api.AddStatusPopup(kind, effect, value, elementIdTransform, Vector2.zero, false);
- Mevius.Gui.Api.ShowPopup();
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName, "system_se_ed_hp_recovery", 1f, 0, 0, this.m_playerActor.chara.transform.position, null, false, -1, 0, 1f);
- break;
- }
- case BattleManager.FairyEffectType.Rescue:
- {
- int residentInteger = Mevius.DataSheet.Api.GetResidentInteger("fairyEffect1val1", 2);
- if (residentInteger > 0)
- {
- Transform elementIdTransform2 = this.m_fairyActor.Chara.GetElementIdTransform(ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER));
- Vector3 position;
- if (elementIdTransform2)
- {
- position = elementIdTransform2.position;
- }
- else
- {
- position = this.m_fairyActor.Chara.transform.position;
- }
- float num = 0.75f;
- float d = num + 0.5f;
- float num2 = 180f;
- float num3 = 90f;
- for (int i = 0; i < residentInteger; i++)
- {
- Vector3 a = Quaternion.AngleAxis(num2, Vector3.up) * this.m_fairyActor.Chara.transform.forward;
- Vector3 vector = position + a * num;
- Vector3 pos = vector + a * d;
- pos.y += 2.5f;
- this.CreateMana(null, pos, vector, false);
- num2 += num3;
- }
- }
- string soundResourceName2 = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName2, "system_se_ce_battle_in", 1f, 0, 0, this.m_fairyActor.Chara.transform.position, null, false, -1, 0, 1f);
- break;
- }
- case BattleManager.FairyEffectType.Cheer:
- {
- this.m_fairyActor.CheerEffect = true;
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "fairy_eff_001",
- m_BindActor = this.m_playerActor.chara.gameObject
- });
- string soundResourceName3 = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName3, "fairy_eff_001", 1f, 0, 0, this.m_playerActor.chara.transform.position, null, false, -1, 0, 1f);
- break;
- }
- case BattleManager.FairyEffectType.Encourage:
- {
- this.m_playerActor.TargetActor.BreakCount++;
- Mevius.Gui.Api.ShowBreakBonusEffect();
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "fairy_eff_002",
- m_BindActor = this.m_playerActor.chara.gameObject
- });
- string soundResourceName4 = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName4, "fairy_eff_002", 1f, 0, 0, this.m_playerActor.chara.transform.position, null, false, -1, 0, 1f);
- break;
- }
- }
- this.m_fairyEffectType = BattleManager.FairyEffectType.None;
- }
- private void ProcFairyEffectType(bool preset)
- {
- if (this.m_playerActor != null && this.m_playerActor.IsSummon())
- {
- return;
- }
- if (preset && this.m_presetFairyEffect)
- {
- return;
- }
- uint num = Mevius.Battle.Api.GetRandomUnsignedInteger() % 100u;
- this.m_presetFairyEffect = preset;
- this.m_fairyEffectType = BattleManager.FairyEffectType.None;
- int num2 = 0;
- int num3 = Mevius.DataSheet.Api.GetResidentInteger("fairyEffect0prob", 10);
- if (this.m_fairyHour)
- {
- num3 <<= 1;
- }
- num2 += num3;
- if ((ulong)num < (ulong)((long)num2))
- {
- if (this.m_playerActor.GetHpRate() < (float)Mevius.DataSheet.Api.GetResidentInteger("fairyEffect0val0", 30) * 0.01f)
- {
- this.m_fairyEffectType = BattleManager.FairyEffectType.Heal;
- }
- }
- else
- {
- num3 = Mevius.DataSheet.Api.GetResidentInteger("fairyEffect1prob", 3);
- if (this.m_fairyHour)
- {
- num3 <<= 1;
- }
- num2 += num3;
- if ((ulong)num < (ulong)((long)num2))
- {
- if (this.m_playerActor.ManaElements.Length <= Mevius.DataSheet.Api.GetResidentInteger("fairyEffect1val0", 4))
- {
- this.m_fairyEffectType = BattleManager.FairyEffectType.Rescue;
- }
- }
- else if (this.PlayerJobChangeThroughTurn != 1)
- {
- int num4 = this.m_turnNum;
- if (preset)
- {
- num4++;
- }
- if (num4 >= Mevius.DataSheet.Api.GetResidentInteger("fairyEffect2prob1", 5))
- {
- num3 = Mevius.DataSheet.Api.GetResidentInteger("fairyEffect2prob", 2);
- if (this.m_fairyHour)
- {
- num3 <<= 1;
- }
- num2 += num3;
- if ((ulong)num < (ulong)((long)num2))
- {
- this.m_fairyEffectType = BattleManager.FairyEffectType.Cheer;
- }
- }
- }
- }
- }
- public bool ProcFairyEncourage()
- {
- bool result = false;
- if (this.m_playerActor != null && this.m_playerActor.IsSummon())
- {
- return result;
- }
- if (this.m_fairyActor != null && this.m_breakNum >= Mevius.DataSheet.Api.GetResidentInteger("fairyEffect3prob1", 2))
- {
- uint num = Mevius.Battle.Api.GetRandomUnsignedInteger() % 100u;
- int num2 = Mevius.DataSheet.Api.GetResidentInteger("fairyEffect3prob", 10);
- if (this.m_fairyHour)
- {
- num2 <<= 1;
- }
- if ((ulong)num < (ulong)((long)num2))
- {
- this.m_fairyEffectType = BattleManager.FairyEffectType.Encourage;
- this.m_fairyActor.Action(this.m_fairyEffectType);
- BattleManager._i.CameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- BattleManager._i.CameraManager.InitAction("fairyB1", this.m_playerActor, false, false);
- BattleManager._i.CameraManager.ChangeCamera(BattleCameraManager.CameraType.Action);
- result = true;
- }
- }
- return result;
- }
- public void SetFairyFollowPlayer(bool flag)
- {
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.FollowPlayer = flag;
- }
- }
- public void HideGuardFairy()
- {
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.HideGuard();
- }
- }
- public void ShowGuardFairy()
- {
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.ShowGuard();
- }
- }
- public bool IsUseDebugParameter()
- {
- return false;
- }
- public void IncrementBreakNum()
- {
- this.m_breakNum++;
- BattleUtility.AddMissionCount(MissionCountType.BreakCount, 1);
- }
- public int DeadNum
- {
- get
- {
- return this.m_deadNum;
- }
- set
- {
- this.m_deadNum = value;
- }
- }
- public int GetScoreTurnNum()
- {
- return this.m_turnNum + this.m_deadNum * Mevius.DataSheet.Api.GetResidentInteger("scoreDeadTurn", 10);
- }
- public bool LastEnemyEscape
- {
- get
- {
- return this.m_lastEnemyEscape;
- }
- set
- {
- this.m_lastEnemyEscape = value;
- }
- }
- public bool ChaosBattle
- {
- get
- {
- return this.m_chaosBattle;
- }
- }
- public bool ShadowBlankBattle
- {
- get
- {
- return this.m_shadowBlankBattle;
- }
- }
- public bool ForceAllCamera
- {
- get
- {
- return this.m_forceAllCameraBattle;
- }
- }
- public string TargetSelectCameraName
- {
- get
- {
- return this.m_targetSelectCameraName;
- }
- }
- public bool IsLowerFpsEnable()
- {
- return (this.IsPlayerTurn() && !this.IsPlayerActionEnd() && this.m_playerActor.State == BattleActor.StateType.Idle && !Mevius.App.Api.IsButtonStay(InputType.InputType_TouchEmulate) && !this.m_guiTouchComponent.IsPress() && !this.m_guiTouchComponent.IsUp()) || this.GetSlowState() == BattleSlow.StateType.Slow;
- }
- public void CreateMethodCache()
- {
- Mevius.Battle.Api.GetRandomUnsignedInteger();
- Mevius.Battle.Api.GetRandomSingleFloat();
- this.CreateDamageSource(string.Empty, null, null, Vector3.zero, null, false, false, false);
- this.m_damageSourceManager.CreateMethodCache();
- this.m_manaObjectManager.CreateMethodCache();
- this.CreateMana(null, Vector3.zero, 0, false, 0, 0);
- this.UpdateManaGui();
- this.OnPlayerHit(false, false, false);
- BattleUtility.AddMissionCount(MissionCountType.None, 0);
- BattleUtility.AddBattleScore(0L);
- this.GetScoreTurnNum();
- this.AddTakeDamageTotal(null, null, 0);
- this.GiveDamageMissionCount(null, null, 0);
- this.AddRecoveryTotal(null, 0);
- BattleDamage.HitArg arg = new BattleDamage.HitArg();
- BattleDamage.OnHit(arg);
- BattleDamage.ProcElementAbilitySkill(null, null, Vector3.zero);
- BattleActor battleActor = new BattleActor();
- bool flag;
- battleActor.OnHit(out flag, false, false);
- battleActor.OnDamage(out flag, out flag, out flag, null, null);
- battleActor.IsActionTargetValidHitFirst(null);
- int num = 0;
- battleActor.ProcStatusEffectShield(ref num);
- battleActor.GetStatusEffectValue(BattleStatusEffect.ProcType.None);
- battleActor.GetUseCardAbilitySkillNum(DbManager.AbilitySkillType.ABILITYSKILL_TYPE_NONE);
- battleActor.IsUseCardAbilitySkill(DbManager.AbilitySkillType.ABILITYSKILL_TYPE_NONE);
- battleActor.IsBreakDamage();
- string jobAbilityId = battleActor.JobAbilityId;
- battleActor.ActionFlagBit = battleActor.ActionFlagBit;
- battleActor.CalcBreakDamage(out num, out num, out num, 0, null, false, false, false);
- battleActor.UpdateBreakState();
- battleActor.AddHp(0);
- battleActor.PlayMotion(string.Empty);
- battleActor.UpdateCardAbilityManaGui();
- battleActor.ActionFlagBit = battleActor.ActionFlagBit;
- battleActor.GetEffectResource(out jobAbilityId, out jobAbilityId, 0, string.Empty, string.Empty, Vector3.zero, null);
- battleActor.GetSoundResource(out jobAbilityId, out jobAbilityId, 0, string.Empty, string.Empty, Vector3.zero, null);
- BattleAi battleAi = new BattleAi(string.Empty, null);
- battleAi.OnBehavior(BattleAiData.Pattern.TimingType.HpBpDamageHit, string.Empty, null, true);
- C9834a30e5f3368ef11b898eb90b12c5b.Find(string.Empty);
- IEnumerator<C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c> enumerator = C9834a30e5f3368ef11b898eb90b12c5b.GetRecords().GetEnumerator();
- if (enumerator.MoveNext())
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c = enumerator.Current;
- if (c03df96e967d7177ede70d5c100f08e3c != null)
- {
- c03df96e967d7177ede70d5c100f08e3c.m1467af6649f8c2c42db7965d4a2e590e();
- c03df96e967d7177ede70d5c100f08e3c.m99d4196c8ddc2c84aa2a035182a3e754();
- c03df96e967d7177ede70d5c100f08e3c.m2a2088e5423c9ed60aaf8024bb799763();
- c03df96e967d7177ede70d5c100f08e3c.ma32fcd1fe2598c2edcfa5cdbeb0eb64f();
- c03df96e967d7177ede70d5c100f08e3c.med3b109a0c7b9aaffc8f700ad530010f();
- c03df96e967d7177ede70d5c100f08e3c.m31a2bc12a6fb70b72bfab3e85b658b3e();
- c03df96e967d7177ede70d5c100f08e3c.m0a3adefa2ef034c2e9556ec82f7fa3c6();
- c03df96e967d7177ede70d5c100f08e3c.m056cb6b23e1a1553df9a90eb3f5f804b();
- c03df96e967d7177ede70d5c100f08e3c.mcdcc634daaa800ae30b0d9aa90d524cc();
- c03df96e967d7177ede70d5c100f08e3c.m6374ec9bd9c83aa1592cd25bdd68315e();
- c03df96e967d7177ede70d5c100f08e3c.m1ff35aae1a721dffe2c7ec2dfb4c573e();
- c03df96e967d7177ede70d5c100f08e3c.m957592ac75221a66cc4d1fa3831c59b8();
- c03df96e967d7177ede70d5c100f08e3c.m4a78ffda98410f820411120ffcbc8045();
- c03df96e967d7177ede70d5c100f08e3c.m7b9ab26a81a7c308786cde1f6d7a628e();
- c03df96e967d7177ede70d5c100f08e3c.md808a0de5cbd11616a88a9cfc181753d();
- c03df96e967d7177ede70d5c100f08e3c.m87234b3ed2f74e5f979716260f759e77();
- c03df96e967d7177ede70d5c100f08e3c.m5047a0ec8a5d083680dafc9a8766f38d();
- c03df96e967d7177ede70d5c100f08e3c.m6a0716d2cc5a8d6f657bf217d26e449b();
- c03df96e967d7177ede70d5c100f08e3c.m6e92409504ed0c8c5b06e0a97c95bb63();
- c03df96e967d7177ede70d5c100f08e3c.m29e3d40ae989c1d5785b5175bd5d0659();
- c03df96e967d7177ede70d5c100f08e3c.m110ab6d4a20f2042ea550a01b97a30dc();
- c03df96e967d7177ede70d5c100f08e3c.m8a3ffcd9c8f5af823c8a42a71565561e();
- c03df96e967d7177ede70d5c100f08e3c.m263e4f2d1158904e07d8b215e1b035db();
- c03df96e967d7177ede70d5c100f08e3c.m0e119ce81d6d2a560389412592ca044c();
- c03df96e967d7177ede70d5c100f08e3c.m9de5ae9d57303574e103e01b0c68c64d();
- c03df96e967d7177ede70d5c100f08e3c.m5c7889c5b289e0849003f848e3f114c2();
- c03df96e967d7177ede70d5c100f08e3c.m300216fe52c281630be5243bc8792ac2();
- c03df96e967d7177ede70d5c100f08e3c.m99ff033c8247b70cbf541c4f00743dc9();
- c03df96e967d7177ede70d5c100f08e3c.mb7c766a732e8d499ba6266ceaea417b6();
- c03df96e967d7177ede70d5c100f08e3c.m86c5afc171f03c9baf7a9139d2c41bce();
- c03df96e967d7177ede70d5c100f08e3c.mb4581b0c1c70816dbf7d2f28a87d55ae();
- c03df96e967d7177ede70d5c100f08e3c.m811d2e53ea755f3830f5d97c8659fa1a();
- c03df96e967d7177ede70d5c100f08e3c.m27948f4a0a5b32c2cf5b9550638a8c0c();
- c03df96e967d7177ede70d5c100f08e3c.mfd7dfab5a03d8ac4040c8f598d517f0e();
- c03df96e967d7177ede70d5c100f08e3c.me1c89bd544968a60816bc0b8e7b47a80();
- c03df96e967d7177ede70d5c100f08e3c.m3a0d719c78ea3fae223cbf90b27ddc4f();
- c03df96e967d7177ede70d5c100f08e3c.m1fea426dbc01abe4ac8facc5922a4813();
- c03df96e967d7177ede70d5c100f08e3c.m2f3946dc86ba631c2fd16e6a9c6a714d();
- c03df96e967d7177ede70d5c100f08e3c.m769a09740a1f46fc210b96ec17661da3();
- c03df96e967d7177ede70d5c100f08e3c.m8663cd5d4e1bc28767c331587c5e8c32();
- c03df96e967d7177ede70d5c100f08e3c.m759297b117b1f8fd9d42d531f3ef0f57();
- c03df96e967d7177ede70d5c100f08e3c.m2c84f4a27d7efcd43161ea09563e314c();
- c03df96e967d7177ede70d5c100f08e3c.mb17e5317c2a4fabba931b37a2e132c30();
- c03df96e967d7177ede70d5c100f08e3c.m81f2266d072bf1e2634dd52decf119c5();
- c03df96e967d7177ede70d5c100f08e3c.m5ad98d8a4cc2ec46c1ce7f385308e190();
- c03df96e967d7177ede70d5c100f08e3c.mf426d0370819321cdca2df293f879469();
- c03df96e967d7177ede70d5c100f08e3c.m8df6f86ebc5a2bfa5faee3054abfb443();
- c03df96e967d7177ede70d5c100f08e3c.m44e96effc875ccd74e5023188a133a3a();
- c03df96e967d7177ede70d5c100f08e3c.m47c0bd9f846c206b0b1cfdc278197dc5();
- c03df96e967d7177ede70d5c100f08e3c.m886c64f77fafec63eda86595020883b9();
- c03df96e967d7177ede70d5c100f08e3c.md9be087c8546e79969b04aa147c95bd6();
- c03df96e967d7177ede70d5c100f08e3c.mac71ccd4bca5cfd056283422119c7c87();
- c03df96e967d7177ede70d5c100f08e3c.m818cea48064d16af78d875b7f9c08fd0();
- c03df96e967d7177ede70d5c100f08e3c.mb000a687470e13e29bbc7b874a8790d4();
- c03df96e967d7177ede70d5c100f08e3c.m3a86498917093d62903fbe764a4fb67b();
- c03df96e967d7177ede70d5c100f08e3c.m08617b6ba6b9a4e8e3b0e9619c6242f3();
- c03df96e967d7177ede70d5c100f08e3c.m7a3b01306f0dde97c1f8713269e2e654();
- c03df96e967d7177ede70d5c100f08e3c.m4a993a247ee44db08a2315a9ef58e674();
- c03df96e967d7177ede70d5c100f08e3c.me54b3f3916dc0372b1b1954a7b30a347();
- c03df96e967d7177ede70d5c100f08e3c.m84b7abab746d84abc1b35ed36b399916();
- c03df96e967d7177ede70d5c100f08e3c.mb7e19e5ecacf66b59ef3bcbee973f0a7();
- c03df96e967d7177ede70d5c100f08e3c.m71a0a24b533eafcd9951afaa941ddb43();
- c03df96e967d7177ede70d5c100f08e3c.mcf041a3ccfd72b02bc7be50cd0b53e59();
- c03df96e967d7177ede70d5c100f08e3c.m409e2d1af9fc2038e724dc25fe2d7999();
- c03df96e967d7177ede70d5c100f08e3c.mf63eb4bd0711665cfef96eb0479e6a9b();
- c03df96e967d7177ede70d5c100f08e3c.m19b8e48aa75c46f41bdd3dcf7cd70c1b();
- c03df96e967d7177ede70d5c100f08e3c.m7b132ff2e691551f14040db4fe1c55fd();
- c03df96e967d7177ede70d5c100f08e3c.m42059cddf83c1c61e1166efe751c69c7();
- c03df96e967d7177ede70d5c100f08e3c.m2a2b1998964a658b4466e0fb5d8d287e();
- c03df96e967d7177ede70d5c100f08e3c.meefffad531472590bfabdd34ef2416d5();
- c03df96e967d7177ede70d5c100f08e3c.me4d51864a41cc3a3cca5aa95df5f7be1();
- c03df96e967d7177ede70d5c100f08e3c.mb2ed0c384b8846ff6ea2540893eb129d();
- c03df96e967d7177ede70d5c100f08e3c.m4fe9637c6ceff1377cd197d89cc75ecb();
- c03df96e967d7177ede70d5c100f08e3c.m7e3ef2af79ede7a79f5c6b60c6c76b42();
- c03df96e967d7177ede70d5c100f08e3c.md1e6aba89f9c5ad20e35aa11ae23fa5b();
- c03df96e967d7177ede70d5c100f08e3c.mcb0705fc1591f54a27e304ca1797ff48();
- c03df96e967d7177ede70d5c100f08e3c.m86dda0cf32427b50fd3c267b534fe474();
- c03df96e967d7177ede70d5c100f08e3c.mb0b61ed8ee0084b324022b1734ae7922();
- c03df96e967d7177ede70d5c100f08e3c.m7627e1e10877dff2168f653f6ad85c13();
- }
- }
- IEnumerator<C24514bd3adc3e26e926bc8e966ad6873.Ccf5a35e5c2bf1875ddd37dc4036aee50> enumerator2 = C24514bd3adc3e26e926bc8e966ad6873.GetRecords().GetEnumerator();
- if (enumerator2.MoveNext())
- {
- C24514bd3adc3e26e926bc8e966ad6873.Ccf5a35e5c2bf1875ddd37dc4036aee50 ccf5a35e5c2bf1875ddd37dc4036aee = enumerator2.Current;
- if (ccf5a35e5c2bf1875ddd37dc4036aee != null)
- {
- ccf5a35e5c2bf1875ddd37dc4036aee.mdd7654f5eb3dbf6005e3d264c4988d11();
- ccf5a35e5c2bf1875ddd37dc4036aee.m8f1a83a29c6d41a8a2932d9b43091924();
- }
- }
- this.OnTutorialTrigger(BattleTutorialManager.TriggerType.EnemyBroken);
- Mevius.Db.Api.GetDropElementCountTable();
- Mevius.Db.Api.GetDropElementTypeTable();
- Mevius.Gui.Api.SetBattleCardAbilityElementCount(0, 0, 0, 0);
- this.ChainNum = this.ChainNum;
- }
- public Vector3 GetBackStepBaseDir()
- {
- Vector3 result;
- if (!this.ChaosBattle)
- {
- result = Vector3.forward;
- }
- else
- {
- result = Vector3.back;
- }
- return result;
- }
- public int GetEnemyAiCommonCounter(int index)
- {
- return (int)this.m_enemyAiCommonCounters[index];
- }
- public void SetEnemyAiCommonCounter(int index, int value)
- {
- this.m_enemyAiCommonCounters[index] = (short)value;
- }
- public byte PlayerJobChangeChargeTurn
- {
- get
- {
- return this.m_playerJobChangeChargeTurn;
- }
- set
- {
- if (!Mevius.App.Api.IsPartyMode() && this.m_playerJobChangeChargeTurn != value && GuiBattleMenu.Instance != null)
- {
- GuiBattleMenu.Instance.SetJobChangeChargeTurn((int)value, false);
- }
- this.m_playerJobChangeChargeTurn = value;
- }
- }
- public byte PlayerJobChangeThroughTurn
- {
- get
- {
- return this.m_playerJobChangeThroughTurn;
- }
- set
- {
- this.m_playerJobChangeThroughTurn = value;
- }
- }
- public void ProcChangeJob(bool loadData = false, bool summonEnd = false)
- {
- if (!loadData)
- {
- Mevius.Db.Api.SetParameter(DbManager.ParameterType.Current_Job, (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) == 0) ? 1 : 0);
- }
- BattleActor battleActor;
- BattleActor battleActor2;
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- }
- else
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerSubName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerName());
- }
- if (!summonEnd)
- {
- battleActor.chara.OnSetActive(false, true);
- battleActor.chara.gameObject.SetActive(false);
- battleActor2.chara.PhysicsResetPose();
- battleActor2.chara.gameObject.SetActive(true);
- battleActor2.chara.OnSetActive(true, true);
- }
- bool flag = this.IsPartyChange();
- if (!loadData)
- {
- ElementAttributeType[] jobUseAttributeArray = BattleUtility.GetJobUseAttributeArray(battleActor2.Deck, true);
- int[,] statusEffectEntries = battleActor.GetStatusEffectEntries();
- int[][] array = new int[statusEffectEntries.GetLength(0)][];
- int i = 0;
- while (i < array.GetLength(0))
- {
- C02688ac2fa3465c4dc969e664556169f.Cdb83ac7b1b94f482a747dd16b359c48f cdb83ac7b1b94f482a747dd16b359c48f = C02688ac2fa3465c4dc969e664556169f.Find(statusEffectEntries[i, 0].ToString());
- if (cdb83ac7b1b94f482a747dd16b359c48f == null)
- {
- goto IL_24B;
- }
- BattleStatusEffect.ProcType[] array2 = new BattleStatusEffect.ProcType[]
- {
- (BattleStatusEffect.ProcType)cdb83ac7b1b94f482a747dd16b359c48f.m337a17f130ee70b7376c74e7685ff24d(),
- (BattleStatusEffect.ProcType)cdb83ac7b1b94f482a747dd16b359c48f.m722c29f56d15d8cd013e7822bdaa0eca(),
- (BattleStatusEffect.ProcType)cdb83ac7b1b94f482a747dd16b359c48f.m57d64ec3f60c3c0db44ef991bd39ae67()
- };
- bool[] array3 = new bool[]
- {
- BattleUtility.IsStatusEffectProcForce(array2[0]) || BattleUtility.IsStatusEffectProcDeforce(array2[0]),
- BattleUtility.IsStatusEffectProcForce(array2[1]) || BattleUtility.IsStatusEffectProcDeforce(array2[1]),
- BattleUtility.IsStatusEffectProcForce(array2[2]) || BattleUtility.IsStatusEffectProcDeforce(array2[2])
- };
- if (!array3[0] && !array3[1] && !array3[2])
- {
- goto IL_24B;
- }
- bool flag2 = false;
- for (int j = 0; j < array2.Length; j++)
- {
- if (array3[j])
- {
- BattleStatusEffect.ProcType procType = array2[j];
- ElementAttributeType elementAttributeType = ElementAttributeType.None;
- if (BattleStatusEffect.ProcType.ElementalGaugeMaxFire <= procType && procType <= BattleStatusEffect.ProcType.ElementalGaugeMaxDark)
- {
- elementAttributeType = (ElementAttributeType)(procType - 110);
- }
- else if (BattleStatusEffect.ProcType.ElementalGaugeZeroFire <= procType && procType <= BattleStatusEffect.ProcType.ElementalGaugeZeroDark && jobUseAttributeArray.Length > 1)
- {
- elementAttributeType = (ElementAttributeType)(procType - 120);
- }
- for (int k = 0; k < jobUseAttributeArray.Length; k++)
- {
- if (jobUseAttributeArray[k] == elementAttributeType)
- {
- flag2 = true;
- break;
- }
- }
- }
- }
- if (flag2)
- {
- goto IL_24B;
- }
- IL_29A:
- i++;
- continue;
- IL_24B:
- array[i] = new int[4];
- array[i][0] = statusEffectEntries[i, 0];
- array[i][1] = statusEffectEntries[i, 1];
- array[i][2] = statusEffectEntries[i, 2];
- array[i][3] = statusEffectEntries[i, 3];
- goto IL_29A;
- }
- bool manToMan = battleActor.ManToMan;
- int hpMax = battleActor.HpMax;
- battleActor.ClearStatusEffectEntries();
- battleActor.ManToMan = false;
- float num = (float)battleActor.HpMax / (float)hpMax;
- battleActor.SetHp((int)((float)battleActor.Hp * num + 0.5f), false, false);
- int hpMax2 = battleActor2.HpMax;
- battleActor2.SetStatusEffectEntries(array);
- battleActor2.ManToMan = manToMan;
- float num2 = (float)battleActor2.HpMax / (float)hpMax2;
- battleActor2.SetHp((int)((float)battleActor2.Hp * num2 + 0.5f), false, false);
- battleActor.TransferMana(battleActor2);
- int deck;
- int deck2;
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- deck = Mevius.Db.Api.GetCurrentCardDeck();
- deck2 = Mevius.Db.Api.GetCurrentCardDeck() + 12;
- }
- else
- {
- deck = Mevius.Db.Api.GetCurrentCardDeck() + 12;
- deck2 = Mevius.Db.Api.GetCurrentCardDeck();
- }
- ElementAttributeType[] jobUseAttributeArray2 = BattleUtility.GetJobUseAttributeArray(deck, battleActor.IsSummon());
- ElementAttributeType[] jobUseAttributeArray3 = BattleUtility.GetJobUseAttributeArray(deck2, battleActor2.IsSummon());
- List<ElementAttributeType> list = new List<ElementAttributeType>();
- foreach (ElementAttributeType elementAttributeType2 in jobUseAttributeArray2)
- {
- bool flag3 = false;
- foreach (ElementAttributeType elementAttributeType3 in jobUseAttributeArray3)
- {
- if (elementAttributeType2 == elementAttributeType3)
- {
- flag3 = true;
- break;
- }
- }
- if (!flag3)
- {
- list.Add(elementAttributeType2);
- }
- }
- if (list.Count > 0)
- {
- for (int n = 0; n <= 5; n++)
- {
- if (battleActor2.IsAutoAbility(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1400 + n))
- {
- battleActor2.ConvertManaElement((ElementAttributeType)n, list);
- if (!summonEnd)
- {
- this.UpdateManaGui();
- }
- break;
- }
- }
- }
- battleActor2.ActionNum = battleActor.ActionNum;
- battleActor2.SuccessiveActionNum = battleActor.SuccessiveActionNum;
- battleActor2.ActionNumDecrementFlag = battleActor.ActionNumDecrementFlag;
- battleActor2.AbilityCombo = battleActor.AbilityCombo;
- battleActor2.AbilityUseSuportCount = battleActor.AbilityUseSuportCount;
- battleActor.ManaAttributeUseNum.CopyTo(battleActor2.ManaAttributeUseNum, 0);
- if (battleActor.IsSummon())
- {
- Vector3 basePosition = this._basePosition;
- float playerAreaRandomDistance = this.GetPlayerAreaRandomDistance();
- if (this.m_chaosBattle)
- {
- basePosition.z -= playerAreaRandomDistance;
- }
- else
- {
- basePosition.z += playerAreaRandomDistance;
- }
- Vector3 vector = -basePosition.normalized;
- float num3 = (!(battleActor2.chara.GetCharacterControllerComponent() != null)) ? 2f : battleActor2.chara.GetCharacterControllerComponent().height;
- RaycastHit raycastHit;
- if (Physics.Raycast(basePosition + Vector3.up * num3 * 0.5f, Vector3.down, out raycastHit, num3, 1 << LayerMask.NameToLayer("Phy Bg")))
- {
- basePosition.y = raycastHit.point.y;
- }
- battleActor2.chara.transform.position = basePosition;
- battleActor2.chara.transform.rotation = battleActor.chara.transform.rotation;
- battleActor2.chara.OnSetRotDirection(battleActor.chara.GetRotDirection());
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.Chara.ShowHideModel(true, true);
- }
- }
- else
- {
- battleActor2.chara.transform.position = battleActor.chara.transform.position;
- if (battleActor2.IsSummon())
- {
- battleActor2.chara.transform.rotation = Quaternion.LookRotation(-this.GetBackStepBaseDir());
- battleActor2.chara.OnSetRotDirection(Vector3.zero);
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.Chara.ShowHideModel(false, true);
- }
- }
- else
- {
- battleActor2.chara.transform.rotation = battleActor.chara.transform.rotation;
- battleActor2.chara.OnSetRotDirection(battleActor.chara.GetRotDirection());
- }
- }
- if (!flag)
- {
- float hpRate = battleActor.GetHpRate();
- if ((int)(hpRate * 100f) != (int)(battleActor2.GetHpRate() * 100f))
- {
- int num4 = (int)((float)battleActor2.HpMax * hpRate + 0.5f);
- if (num4 < 1)
- {
- num4 = 1;
- }
- battleActor2.SetHp(num4, false, true);
- }
- else
- {
- battleActor2.SetHp(battleActor2.Hp, false, true);
- }
- }
- else
- {
- battleActor2.UpdatePinchAutoAbility();
- }
- battleActor2.TargetActor = battleActor.TargetActor;
- float num5 = (float)battleActor.ManaUseNum / (float)battleActor.JobAbilityUseManaUseNum;
- float num6 = (float)battleActor2.ManaUseNum / (float)battleActor2.JobAbilityUseManaUseNum;
- if ((int)(num5 * 100f) != (int)(num6 * 100f))
- {
- battleActor2.ManaUseNum = (int)((float)battleActor2.JobAbilityUseManaUseNum * num5 + 0.5f);
- if (num5 < 1f && battleActor2.ManaUseNum == battleActor2.JobAbilityUseManaUseNum)
- {
- battleActor2.ManaUseNum--;
- }
- }
- battleActor2.PrevUseCardAbilityAttribute = battleActor.PrevUseCardAbilityAttribute;
- battleActor2.CardAbilityInfos[4].chargeTurn = battleActor.CardAbilityInfos[4].chargeTurn;
- battleActor2.CardAbilityInfos[4].useCount = battleActor.CardAbilityInfos[4].useCount;
- battleActor2.CardAbilityInfos[4].turnUseCount = battleActor.CardAbilityInfos[4].turnUseCount;
- }
- battleActor2.State = battleActor.State;
- if (this.IsCountTimeBattle())
- {
- battleActor2.CopyActionTimeList(battleActor.ActionTimeList);
- }
- battleActor.SetWeaponEffectLoopOff();
- battleActor.LoopOffSeraResidentEffect();
- battleActor2.SetEnchantWeaponEffect();
- battleActor2.SetSeraResidentEffect();
- if (!summonEnd)
- {
- this.m_cameraManager.OnJobChange(battleActor, battleActor2);
- }
- this.m_playerActor = battleActor2;
- this.m_playerActorSub = battleActor;
- if (!loadData)
- {
- if (Mevius.Db.Api.IsSummonMode() && Mevius.DataSheet.Api.GetResidentInteger("ff10UseSummonRecast", 1) != 0)
- {
- BattleActor battleActor3;
- if (this.m_playerActor.IsSummon())
- {
- battleActor3 = this.m_playerActor;
- }
- else
- {
- battleActor3 = this.m_playerActorSub;
- }
- int num7;
- int residentInteger;
- if (this.m_playerActor == battleActor3)
- {
- num7 = Mevius.DataSheet.Api.GetResidentInteger("ff10DefaultSummonBackRecast", 0);
- int num8;
- if (battleActor3.GetAutoAbilityParam(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1835, out num8))
- {
- num7 += num8;
- }
- residentInteger = Mevius.DataSheet.Api.GetResidentInteger("ff10MinSummonBackRecast", 0);
- }
- else
- {
- num7 = Mevius.DataSheet.Api.GetResidentInteger("ff10DefaultSummonRecast", 2);
- int num9;
- if (battleActor3.GetAutoAbilityParam(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1834, out num9))
- {
- num7 += num9;
- }
- residentInteger = Mevius.DataSheet.Api.GetResidentInteger("ff10MinSummonRecast", 0);
- }
- if (num7 < residentInteger)
- {
- num7 = residentInteger;
- }
- this.PlayerJobChangeChargeTurn = (byte)num7;
- }
- else
- {
- int num10;
- this.m_playerActor.GetAutoAbilityParam(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1410, out num10);
- this.PlayerJobChangeChargeTurn = (byte)num10;
- }
- if (this.m_playerActor.ActionNum == 0)
- {
- BattleManager._i.OnEnemyNoActionPlayerActionContinue();
- }
- if (!summonEnd)
- {
- this.m_playerActor.JobChangeIn(flag);
- }
- }
- for (int num11 = 0; num11 < this.m_actorList.Count; num11++)
- {
- BattleActor battleActor4 = this.m_actorList[num11];
- if (battleActor4 != null && battleActor4.IsEnemy() && battleActor4.IsActive())
- {
- battleActor4.TargetActor = this.m_playerActor;
- }
- }
- if (!loadData && !summonEnd)
- {
- Mevius.Gui.Api.ShowBattleMenu(this.m_playerActor.JobType, this.m_playerActor.GetAbilityButtonInfo(), string.Empty, BattleUtility.GetJobUseAttributeArray(this.m_playerActor.Deck, this.m_playerActor.IsSummon()), this.m_playerActor.Hp, this.m_playerActor.HpMax, this.m_playerActor.ManaUseNum, this.m_playerActor.JobAbilityUseManaUseNum, true);
- string name;
- string linkageName;
- this.GetJobAbilityName(out name, out linkageName);
- Mevius.Gui.Api.SetBattleJobAbilityName(name, linkageName);
- this.m_playerActor.UpdateCardAbilityTurnCountGui();
- this.m_playerActor.UpdateStatusEffectGui(false);
- this.UpdateManaGui();
- this.m_playerActor.ElementalGauge.Reset();
- this.m_playerActor.UpdateElementalGaugeGui();
- Mevius.Gui.Api.SetBattlePlayerActionName(string.Empty);
- C8f07bc7aaef5445b9988a9d210e42418.Ca060fd76133aa5c704d976700ed7cdd9 equipmentDatasheetElem = Mevius.Db.Api.GetEquipmentDatasheetElem(Mevius.Db.Api.EQUIPMENT_TYPE.EQUIPMENT_TYPE_JOB, Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0, false);
- if (equipmentDatasheetElem != null)
- {
- ElementAttributeType type = ElementAttributeType.None;
- for (int num12 = 0; num12 <= 5; num12++)
- {
- if (battleActor2.IsAutoAbility(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1400 + num12))
- {
- type = (ElementAttributeType)num12;
- break;
- }
- }
- if (flag)
- {
- Mevius.Gui.Api.ShowBattlePartyChange(equipmentDatasheetElem.ma34fa63dee4ab185df72b3bbf2f2c471(), type);
- }
- else
- {
- Mevius.Gui.Api.ShowBattleJobChange(equipmentDatasheetElem.ma34fa63dee4ab185df72b3bbf2f2c471(), type);
- }
- }
- }
- if (!summonEnd)
- {
- this.UpdateSubJobElementRing();
- }
- if (!loadData && !summonEnd)
- {
- if (!flag)
- {
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "change_001",
- m_BindActor = this.m_playerActor.chara.gameObject
- });
- }
- Mevius.Sound.Api.StopSound(this.m_jobChangeSoundHandle, 100);
- this.m_jobChangeSoundHandle = this.m_playerActor.PlayStateSound(StateSound.StateSoundType.JobChange);
- GameObject gameObject = this.m_playerActor.chara.gameObject;
- if (gameObject)
- {
- FacialController component = gameObject.GetComponent<FacialController>();
- if (component != null)
- {
- int playTime = Mevius.Sound.Api.GetPlayTime(this.m_jobChangeSoundHandle);
- if (playTime > 0)
- {
- PreciseTime preciseTime = new PreciseTime((float)playTime / 1000f * 0.9f);
- component.EnableLipsync = true;
- component.StartLipsync(preciseTime.GetSecond());
- }
- }
- }
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName, "system_se_jobchange", 1f, 0, 0, this.m_playerActor.chara.transform.position, null, false, -1, 0, 1f);
- if (this.m_isJobBgm)
- {
- int num13 = Mevius.Db.Api.GetCurrentCardDeck();
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- num13 += 12;
- }
- string bgmName = BattleUtility.GetBgmName(num13, this.m_bgmRandValue);
- Mevius.Sound.Api.PlayBgm(BgmManager.BgmLayer.Bgm_Battle, bgmName, 0, 1f);
- }
- if (flag)
- {
- BattleUtility.AddMissionCount(MissionCountType.MemberChangeCount, 1);
- }
- else
- {
- BattleUtility.AddMissionCount(MissionCountType.JobChangeCount, 1);
- }
- }
- if (this.IsCountTimeBattle() && !loadData)
- {
- this.m_jobChangeActionGauge = this.GetJobChangeActionGauge();
- GuiBattleMenu.Instance.TimeLine.JobChangeActionGaugeAmount = this.m_jobChangeActionGauge;
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- GuiBattleMenu.Instance.TimeLine.SubStrikeActionGaugeAmount = (int)ca4d3b5367a73030692d322e3f08669b.m8ffedb5dbe5912c2b2eb70f721a7dfac();
- }
- this.m_activeActionOrderActor = this.m_playerActor;
- this.CreateActionOrderList();
- }
- this.SetFairyFollowPlayer(true);
- }
- public void AddStatusEffectEnemy(BattleActor owner, int statusEffectId, int prob, int turn)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActive() && (long)prob > (long)((ulong)(Mevius.Battle.Api.GetRandomUnsignedInteger() % 100u)))
- {
- Mevius.Gui.Constants.PopupStatusKind kind;
- Mevius.Gui.Constants.PopupStatusEffect effect;
- string value;
- BattleUtility.AddStatusEffect(out kind, out effect, out value, owner, battleActor, statusEffectId, turn, BattleStatusEffect.StateType.Normal, 0, true, true);
- if (!string.IsNullOrEmpty(value))
- {
- Transform transform = battleActor.chara.GetElementIdTransform(ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.MAGIC_GUARD));
- if (!transform)
- {
- transform = battleActor.chara.transform;
- }
- Vector2 bindOffset = new Vector2(Mevius.Common.Random.GetInstance().GetSingleFloat() * 100f - 50f, Mevius.Common.Random.GetInstance().GetSingleFloat() * 100f - 50f);
- Mevius.Gui.Api.AddStatusPopup(kind, effect, value, transform, bindOffset, true);
- Mevius.Gui.Api.ShowPopup();
- }
- battleActor.UpdateStatusEffectGui(false);
- }
- }
- }
- public void CreateBreakEffect()
- {
- Mevius.Effect.Api.DestroyEffect(this.m_breakEffectHandle);
- this.m_breakEffectHandle = Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "break_fil_001"
- });
- }
- private void LoadPlayerCardResources()
- {
- BattleActor battleActor = this.FindActor(BattleManager.GetBattlePlayerName());
- this.LoadCardResource(battleActor);
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (this.m_multiBattleActorList[i] != null && this.m_multiBattleActorList[i].C648971f118c7e1100318b6fb7ac13b59Card != null)
- {
- GuiManager.Instance.cardManager.LoadRequest(int.Parse(this.m_multiBattleActorList[i].C648971f118c7e1100318b6fb7ac13b59Card.m293ab5c86c3157596fd9889d9de244b1().Substring(3)));
- }
- }
- }
- else
- {
- GuiManager.Instance.cardManager.LoadRequest(int.Parse(battleActor.C648971f118c7e1100318b6fb7ac13b59Card.m293ab5c86c3157596fd9889d9de244b1().Substring(3)));
- BattleActor battleActor2 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- if (battleActor2 != null)
- {
- this.LoadCardResource(battleActor2);
- GuiManager.Instance.cardManager.LoadRequest(int.Parse(battleActor2.C648971f118c7e1100318b6fb7ac13b59Card.m293ab5c86c3157596fd9889d9de244b1().Substring(3)));
- }
- }
- }
- private void LoadCardResource(BattleActor actor)
- {
- if (actor != null)
- {
- for (int i = 0; i < actor.CardAbilityInfos.Length; i++)
- {
- if (!string.IsNullOrEmpty(actor.CardAbilityInfos[i].cardIconName))
- {
- GuiManager.Instance.cardManager.LoadRequest(int.Parse(actor.CardAbilityInfos[i].cardIconName.Substring(3)));
- }
- }
- }
- }
- private void UpdateSubJobElementRing()
- {
- if (GuiBattleMenu.Instance == null)
- {
- return;
- }
- ElementAttributeType[] jobUseAttributeArray;
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- jobUseAttributeArray = BattleUtility.GetJobUseAttributeArray(Mevius.Db.Api.GetCurrentCardDeck(), false);
- }
- else
- {
- jobUseAttributeArray = BattleUtility.GetJobUseAttributeArray(Mevius.Db.Api.GetCurrentCardDeck() + 12, false);
- }
- GuiBattleMenu.Instance.SetSubJobElementalGauge(jobUseAttributeArray);
- }
- public BattleActor GetEnemyTargetActor(BattleActor actor)
- {
- BattleActor result;
- if (Mevius.App.Api.IsPartyMode())
- {
- int statusEffectProvokeParam = actor.GetStatusEffectProvokeParam();
- if (statusEffectProvokeParam != -1)
- {
- result = this.m_multiBattleActorList[statusEffectProvokeParam];
- }
- else
- {
- List<BattleActor> list = new List<BattleActor>();
- List<BattleActor> list2 = new List<BattleActor>();
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (this.m_multiBattleActorList[i].IsActive())
- {
- if ((1 << this.m_multiBattleActorList[i].PartySlot & actor.EnemyTargetIndexBit) == 0)
- {
- list.Add(this.m_multiBattleActorList[i]);
- }
- list2.Add(this.m_multiBattleActorList[i]);
- }
- }
- if (list.Count == 0)
- {
- actor.EnemyTargetIndexBit = 0;
- list = list2;
- }
- if (0 < list.Count)
- {
- int index = (int)((ulong)this.GetRandomUnsignedInteger() % (ulong)((long)list.Count));
- result = list[index];
- }
- else
- {
- result = BattleManager._i.GetPlayerActor();
- }
- }
- }
- else
- {
- result = BattleManager._i.GetPlayerActor();
- }
- return result;
- }
- public BattleActor GetEnemyTargetActorAttackAll()
- {
- BattleActor result = null;
- if (Mevius.App.Api.IsPartyMode() && 2 < this.m_multiBattleActorList.Count)
- {
- List<BattleActor> list = new List<BattleActor>();
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (this.m_multiBattleActorList[i].IsActive())
- {
- list.Add(this.m_multiBattleActorList[i]);
- }
- }
- if (2 < list.Count)
- {
- float[,] array = new float[list.Count, 2];
- Vector3[] array2 = new Vector3[list.Count];
- for (int j = 0; j < list.Count; j++)
- {
- array[j, 0] = float.MaxValue;
- array[j, 1] = float.MaxValue;
- array2[j] = this.m_multiBattleActorList[j].chara.transform.position;
- array2[j].y = 0f;
- }
- for (int k = 0; k < list.Count - 1; k++)
- {
- for (int l = k + 1; l < list.Count; l++)
- {
- float num = Vector3.Distance(array2[k], array2[l]);
- int[] array3 = new int[]
- {
- k,
- l
- };
- for (int m = 0; m < array3.Length; m++)
- {
- for (int n = 0; n < 2; n++)
- {
- int num2 = array3[m];
- if (num < array[num2, n])
- {
- if (n == 0)
- {
- array[num2, n + 1] = array[num2, n];
- }
- array[num2, n] = num;
- break;
- }
- }
- }
- }
- }
- float num3 = float.MaxValue;
- for (int num4 = 0; num4 < list.Count; num4++)
- {
- float num5 = array[num4, 0] + array[num4, 1];
- if (num5 < num3)
- {
- num3 = num5;
- result = list[num4];
- }
- }
- }
- }
- return result;
- }
- public List<BattleActor> GetMultiBattleActorList()
- {
- return this.m_multiBattleActorList;
- }
- public BattleActor GetMultiBattleActorByIndex(int index)
- {
- if (index >= 0 && index < this.m_multiBattleActorList.Count)
- {
- return this.m_multiBattleActorList[index];
- }
- return null;
- }
- public int GetMultiBattleCurrentOrder()
- {
- return this.m_multiBattleCurrentOrder;
- }
- public BattleActor GetSelfActor()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- return this.m_selfActor;
- }
- return this.GetPlayerActor();
- }
- public void SetPlayerActionPass()
- {
- if (this.m_selfActor == this.m_playerActor && !this.m_selfActor.CommandInputEnd)
- {
- if (Mevius.Party.Api.HasCommandStock())
- {
- Mevius.Gui.Api.OnEndInput(Mevius.Gui.Api.EndInputType.ActionFinished);
- }
- else
- {
- Mevius.Gui.Api.OnEndInput(Mevius.Gui.Api.EndInputType.Pass);
- }
- this.m_selfActor.UseActionPass(false, false);
- this.EndSlow();
- }
- }
- private void UpdateMultiBattleCmd()
- {
- if (!Mevius.App.Api.IsPartyMode())
- {
- return;
- }
- if (Mevius.App.Api.IsPartyMode() && Mevius.Party.Api.IsExitPlayer())
- {
- this.Step = BattleManager.BattleStep.Escape;
- return;
- }
- if (Mevius.Party.Api.IsExistForceSnap())
- {
- Mevius.Party.Api.ClearCommandStock();
- int[] array = new int[8];
- for (int i = 0; i < this._entryBattleCharaSpecList.Count; i++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(i);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null)
- {
- array[i] = battleActor.Hp;
- }
- }
- Mevius.Party.Api.SetUpSnap(true, true, this.m_selfActor.Hp, this.m_selfActor.ManaElements, array);
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SnapSyncWait;
- return;
- }
- if (this.m_snapType == Mevius.Party.Api.SnapStepType.SnapStepType_NONE)
- {
- this.m_snapType = Mevius.Party.Api.GetSnapStepType();
- }
- switch (this.m_multiBattleCmdStep)
- {
- case BattleManager.MultiBattleCmdStep.SendSnap:
- if (!Mevius.Party.Api.IsWaitSendSnap())
- {
- Mevius.Party.Api.SendSnap();
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SnapSync;
- }
- break;
- case BattleManager.MultiBattleCmdStep.SnapSync:
- if (Mevius.Party.Api.IsExistNextSnap())
- {
- int[] array2 = new int[8];
- for (int j = 0; j < this._entryBattleCharaSpecList.Count; j++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(j);
- BattleActor battleActor2 = this.FindActor(enemyActorName2);
- if (battleActor2 != null)
- {
- array2[j] = battleActor2.Hp;
- }
- }
- Mevius.Party.Api.SetUpSnap(true, true, this.m_selfActor.Hp, this.m_selfActor.ManaElements, array2);
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SnapSyncWait;
- }
- else if (Mevius.Party.Api.IsNeedSendSnap(true))
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SendSnap;
- }
- break;
- case BattleManager.MultiBattleCmdStep.SnapSyncWait:
- if (!Mevius.Party.Api.WaitPartySnap(true))
- {
- Mevius.Party.Api.SetUpSnapHp();
- this.RestoreMultiData(false);
- this.m_snapType = Mevius.Party.Api.GetSnapStepType();
- switch (this.m_snapType)
- {
- case Mevius.Party.Api.SnapStepType.SnapStepType_INIT:
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- break;
- case Mevius.Party.Api.SnapStepType.SnapStepType_INPUT:
- this.SetCurrentTarget(this.m_selfActor.TargetActor);
- this.m_partyMemberTurn = false;
- this.HideBattleEnemyActionName();
- this._step = BattleManager.BattleStep.MultiBattleInputStart;
- break;
- case Mevius.Party.Api.SnapStepType.SnapStepType_PARTY:
- {
- this.m_randCount = 0;
- this.m_damageRandCount = 0;
- this.m_movementRandCount = 0;
- this.m_multiBattleSlotList.Clear();
- int[] partyType = Mevius.Party.Api.GetPartyType();
- for (int k = 0; k < partyType.Length; k++)
- {
- if (partyType[k] != 4)
- {
- int num = k;
- ulong partyCommandTime = Mevius.Party.Api.GetPartyCommandTime(num);
- if (partyCommandTime != 0UL)
- {
- int[,] commandStock = Mevius.Party.Api.GetCommandStock(num, true);
- bool flag = true;
- for (int l = 0; l < commandStock.GetLength(0); l++)
- {
- if (commandStock[l, 0] >= 1 && commandStock[l, 0] <= 4)
- {
- flag = false;
- break;
- }
- }
- if (flag)
- {
- for (int m = 0; m < this.m_multiBattleActorList.Count; m++)
- {
- BattleActor battleActor3 = this.m_multiBattleActorList[m];
- if (battleActor3.PartySlot == num && battleActor3.IsPlayer() && battleActor3.IsActive())
- {
- battleActor3.UseActionPass(flag, false);
- break;
- }
- }
- }
- else
- {
- int index = 0;
- bool flag2 = false;
- for (int n = 0; n < this.m_multiBattleSlotList.Count; n++)
- {
- if (partyCommandTime < Mevius.Party.Api.GetPartyCommandTime(this.m_multiBattleSlotList[n]))
- {
- flag2 = true;
- index = n;
- break;
- }
- }
- if (flag2)
- {
- this.m_multiBattleSlotList.Insert(index, num);
- }
- else
- {
- this.m_multiBattleSlotList.Add(num);
- }
- }
- }
- }
- }
- Mevius.Gui.Api.OnFinishCommand();
- this.HideBattleEnemyActionName();
- this._step = BattleManager.BattleStep.PlayerTurnStart;
- break;
- }
- case Mevius.Party.Api.SnapStepType.SnapStepType_ENEMY:
- this.m_randCount = 0;
- this.m_damageRandCount = 0;
- this.m_movementRandCount = 0;
- this.SetCurrentTarget(this.m_selfActor.TargetActor);
- this.HideBattleEnemyActionName();
- this._step = BattleManager.BattleStep.EnemyTurnStart;
- break;
- case Mevius.Party.Api.SnapStepType.SnapStepType_UNINIT:
- if (this.m_lastBattle && !this.m_lastBgmVolumeChanged)
- {
- this.m_lastBgmVolumeChanged = true;
- BgmManager._i.ChangeCurrentBgmVolume(Mevius.DataSheet.Api.GetResidentFloat("bgmBattleVolumeOnWinning", 1f), 500);
- }
- Mevius.Party.Api.ClearCommandStock();
- this.SetBattleWinImmediate(true);
- break;
- }
- this.m_multiBattleTurnStartTime = Mevius.Party.Api.GetBeginLimitTime();
- this.m_multiBattleTurnLimitTime = (ulong)Mevius.Party.Api.GetBaseLimitTime();
- this.m_multiBattleStartTime = Mevius.Party.Api.GetBeginBattleTime();
- }
- else if (Mevius.Party.Api.IsExistNextSnap())
- {
- int[] array3 = new int[8];
- for (int num2 = 0; num2 < this._entryBattleCharaSpecList.Count; num2++)
- {
- string enemyActorName3 = BattleManager.GetEnemyActorName(num2);
- BattleActor battleActor4 = this.FindActor(enemyActorName3);
- if (battleActor4 != null)
- {
- array3[num2] = battleActor4.Hp;
- }
- }
- Mevius.Party.Api.SetUpSnap(true, true, this.m_selfActor.Hp, this.m_selfActor.ManaElements, array3);
- this._step = BattleManager.BattleStep.CheckMultiBattleCmd;
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SnapSyncWait;
- }
- break;
- case BattleManager.MultiBattleCmdStep.MultiInputWait:
- if (Mevius.Party.Api.IsNeedRevivalStep())
- {
- for (int num3 = 0; num3 < this.m_multiBattleActorList.Count; num3++)
- {
- if (Mevius.Party.Api.ExecRevivalSlot(this.m_multiBattleActorList[num3].PartySlot) != Mevius.Party.Api.ExecRevival.ExecRevival_NONE && this.m_multiBattleActorList[num3].IsDead())
- {
- this.m_multiBattleActorList[num3].OnRevive();
- this.m_multiBattleActorList[num3].OnTurnBegin();
- if (this.m_multiBattleActorList[num3].ReadyAction())
- {
- }
- if (this.m_multiBattleActorList[num3].PartyMemberType == Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- Mevius.Gui.Api.HidePlayerDeadTimer();
- }
- }
- }
- this.m_multiBattleTurnStartTime = Mevius.Party.Api.GetBeginLimitTime();
- this.m_multiBattleTurnLimitTime = (ulong)Mevius.Party.Api.GetBaseLimitTime();
- this.m_multiBattleStartTime = Mevius.Party.Api.GetBeginBattleTime();
- }
- if (Mevius.Party.Api.IsNeedSendSnap(true))
- {
- for (int num4 = 0; num4 < this.m_multiBattleActorList.Count; num4++)
- {
- BattleActor battleActor5 = this.m_multiBattleActorList[num4];
- if (battleActor5.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY && battleActor5.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- if (!battleActor5.IsDead())
- {
- if (Mevius.Party.Api.IsAutoAiStatus(battleActor5.PartySlot) && !battleActor5.CommandInputEnd)
- {
- battleActor5.AutoAbilityAttackMulti();
- }
- }
- }
- }
- }
- if (Mevius.Party.Api.IsFinishCommand())
- {
- for (int num5 = 0; num5 < this.m_multiBattleActorList.Count; num5++)
- {
- BattleActor battleActor6 = this.m_multiBattleActorList[num5];
- if (battleActor6.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_EMPTY && battleActor6.PartyMemberType != Mevius.Party.Api.PARTY_MEMBER_TYPE.PARTY_MEMBER_TYPE_ME)
- {
- battleActor6.EndMultiBattleInput();
- }
- }
- for (int num6 = 0; num6 < this.m_multiBattleActorList.Count; num6++)
- {
- PartyCommonSaveData.PartyCommandType commandDecideIndex = Mevius.Party.Api.GetCommandDecideIndex(this.m_multiBattleActorList[num6].PartySlot);
- if (PartyCommonSaveData.PartyCommandType.DECIDE1 <= commandDecideIndex && commandDecideIndex <= PartyCommonSaveData.PartyCommandType.DECIDE4)
- {
- this.m_multiBattleActorList[num6].ActionOrder = (byte)(commandDecideIndex - PartyCommonSaveData.PartyCommandType.DECIDE1 + 1);
- }
- else
- {
- this.m_multiBattleActorList[num6].ActionOrder = 0;
- }
- }
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.CurrentPlayer;
- }
- break;
- case BattleManager.MultiBattleCmdStep.CurrentPlayer:
- if (Mevius.Party.Api.IsNeedSendSnap(true))
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SendSnap;
- }
- else
- {
- this.m_multiBattleCmdStep = BattleManager.MultiBattleCmdStep.SnapSync;
- }
- this.SaveMultiData();
- break;
- }
- }
- public BattleManaObjectManager BattleManaObjectManager
- {
- get
- {
- return this.m_manaObjectManager;
- }
- }
- public void SaveMultiData()
- {
- DbManager.MultiBattleData multiBattleData = Mevius.Db.Api.GetMultiBattleData();
- if (multiBattleData == null)
- {
- return;
- }
- this.SetRandomSeed(false);
- multiBattleData.version = BattleManager.MultiSaveDataVersion;
- multiBattleData.step = (int)this._step;
- multiBattleData.turnNum = this.m_turnNum;
- multiBattleData.chainNum = this.m_chainNum;
- multiBattleData.breakNum = this.m_breakNum;
- multiBattleData.deadNum = this.m_deadNum;
- Array.Clear(multiBattleData.statusEffectIds, 0, multiBattleData.statusEffectIds.Length);
- Array.Clear(multiBattleData.statusEffectTurns, 0, multiBattleData.statusEffectTurns.Length);
- Array.Clear(multiBattleData.statusEffectStates, 0, multiBattleData.statusEffectStates.Length);
- Array.Clear(multiBattleData.statusEffectParams, 0, multiBattleData.statusEffectParams.Length);
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- BattleActor battleActor = this.m_multiBattleActorList[i];
- int partySlot = battleActor.PartySlot;
- multiBattleData.playerHp[partySlot] = battleActor.Hp;
- multiBattleData.playerActionNum[partySlot] = (byte)battleActor.ActionNum;
- multiBattleData.playerNormalAttackNum[partySlot] = (byte)battleActor.NormalAttackNum;
- if (battleActor.PrevUseCardAbilityAttribute != ElementAttributeType.None)
- {
- multiBattleData.prevUseCardAbilityAttributeBit[partySlot] = (ushort)(1 << (int)battleActor.PrevUseCardAbilityAttribute);
- }
- else
- {
- multiBattleData.prevUseCardAbilityAttributeBit[partySlot] = 0;
- }
- multiBattleData.playerActionOrder[partySlot] = battleActor.ActionOrder;
- for (int j = 0; j < battleActor.PinchAutoAbilityFlags.Length; j++)
- {
- multiBattleData.autoAbilityPinchFlags[partySlot, j] = battleActor.PinchAutoAbilityFlags[j];
- }
- int[,] statusEffectEntries = battleActor.GetStatusEffectEntries();
- for (int k = 0; k < statusEffectEntries.GetLength(0); k++)
- {
- multiBattleData.statusEffectIds[partySlot, k] = (ushort)statusEffectEntries[k, 0];
- multiBattleData.statusEffectTurns[partySlot, k] = (sbyte)statusEffectEntries[k, 1];
- multiBattleData.statusEffectStates[partySlot, k] = (byte)statusEffectEntries[k, 2];
- multiBattleData.statusEffectParams[partySlot, k] = statusEffectEntries[k, 3];
- }
- BattleActor.CardAbilityInfo[] cardAbilityInfos = battleActor.CardAbilityInfos;
- for (int l = 0; l < cardAbilityInfos.Length; l++)
- {
- multiBattleData.cardAbilityChargeTurns[partySlot, l] = (sbyte)cardAbilityInfos[l].chargeTurn;
- multiBattleData.cardAbilityUseCounts[partySlot, l] = (ushort)cardAbilityInfos[l].useCount;
- }
- multiBattleData.unRecoveryNum[partySlot] = (byte)battleActor.GetManaUnRecoveryNum();
- ElementAttributeType[] manaElements = battleActor.ManaElements;
- for (int m = 0; m < multiBattleData.manaElements.GetLength(1); m++)
- {
- if (m < manaElements.Length)
- {
- multiBattleData.manaElements[partySlot, m] = (int)manaElements[m];
- }
- else
- {
- multiBattleData.manaElements[partySlot, m] = -1;
- }
- }
- int[] originalValues = battleActor.ElementalGauge.GetOriginalValues();
- for (int n = 0; n < originalValues.Length; n++)
- {
- multiBattleData.elementalGauge[partySlot, n] = (ushort)originalValues[n];
- }
- multiBattleData.manaUseNum[partySlot] = battleActor.ManaUseNum;
- for (int num = 0; num < battleActor.RevengeDamages.Length; num++)
- {
- multiBattleData.playerRevengeDamages[partySlot, num] = battleActor.RevengeDamages[num];
- }
- multiBattleData.abilityUseSuportCounts[partySlot] = battleActor.AbilityUseSuportCount;
- }
- multiBattleData.playerActionType[0] = (byte)this.m_randCount;
- multiBattleData.playerActionType[1] = (byte)this.m_damageRandCount;
- multiBattleData.playerActionType[2] = (byte)this.m_movementRandCount;
- Array.Clear(multiBattleData.enemyStatusEffectIds, 0, multiBattleData.enemyStatusEffectIds.Length);
- Array.Clear(multiBattleData.enemyStatusEffectTurns, 0, multiBattleData.enemyStatusEffectIds.Length);
- Array.Clear(multiBattleData.enemyStatusEffectStates, 0, multiBattleData.enemyStatusEffectIds.Length);
- Array.Clear(multiBattleData.enemyStatusEffectParams, 0, multiBattleData.enemyStatusEffectIds.Length);
- for (int num2 = 0; num2 < this._entryBattleCharaSpecList.Count; num2++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(num2);
- BattleActor battleActor2 = this.FindActor(enemyActorName);
- if (battleActor2 != null)
- {
- multiBattleData.enemyHps[num2] = battleActor2.Hp;
- multiBattleData.enemyBps[num2] = battleActor2.Bp;
- multiBattleData.enemyBpArmorDamages[num2] = battleActor2.BpArmorDamage;
- multiBattleData.enemyBreakCounts[num2] = (byte)battleActor2.BreakCount;
- if (battleActor2.Ai != null)
- {
- for (int num3 = 0; num3 < 16; num3++)
- {
- multiBattleData.enemyAiCounters[num2, num3] = battleActor2.Ai.Counters[num3];
- }
- multiBattleData.enemyAiFlags[num2] = battleActor2.Ai.Flag;
- multiBattleData.enemyAiSpCounters[num2] = battleActor2.Ai.SpCounter;
- multiBattleData.enemyAiTakeDamageBit[num2] = battleActor2.Ai.TakeDamageBit;
- multiBattleData.enemyAiTakeDamageAttributeBit[num2] = battleActor2.Ai.TakeDamageAttributeBit;
- }
- multiBattleData.enemyAttributeBit[num2] = battleActor2.ElementAttributeBit;
- multiBattleData.enemyUnknownAttribute[num2] = battleActor2.UnknownAttribute;
- multiBattleData.enemyAbsorbAttributeBit[num2] = battleActor2.AbsorbAttributeBit;
- multiBattleData.enemyChangeBtCharaSpecId[num2] = battleActor2.ChangeBtCharaSpecId;
- int[,] statusEffectEntries2 = battleActor2.GetStatusEffectEntries();
- int num4 = Math.Min(statusEffectEntries2.GetLength(0), multiBattleData.enemyStatusEffectIds.GetLength(1));
- for (int num5 = 0; num5 < num4; num5++)
- {
- multiBattleData.enemyStatusEffectIds[num2, num5] = (ushort)statusEffectEntries2[num5, 0];
- multiBattleData.enemyStatusEffectTurns[num2, num5] = (sbyte)statusEffectEntries2[num5, 1];
- multiBattleData.enemyStatusEffectStates[num2, num5] = (byte)statusEffectEntries2[num5, 2];
- multiBattleData.enemyStatusEffectParams[num2, num5] = statusEffectEntries2[num5, 3];
- }
- byte[] debuffInvalidCounts = battleActor2.DebuffInvalidCounts;
- for (int num6 = 0; num6 < debuffInvalidCounts.Length; num6++)
- {
- multiBattleData.enemyDebuffInvalidCounts[num2, num6] = debuffInvalidCounts[num6];
- }
- multiBattleData.enemyBoss[num2] = ((!battleActor2.IsNeedNotKill()) ? 1 : 0);
- multiBattleData.enemyHpLimitIndexs[num2] = battleActor2.HpLimitIndex;
- multiBattleData.enemySaveFlagBits[num2] = (uint)battleActor2.SaveFlagBits;
- multiBattleData.enemyDamagedActorIndexBits[num2] = battleActor2.EnemyDamagedActorIndexBit;
- multiBattleData.enemyHpGaugeFixRates[num2] = battleActor2.EnemyHpGaugeFixRate;
- }
- }
- this.m_enemyAiCommonCounters.CopyTo(multiBattleData.enemyAiCommonCounters, 0);
- multiBattleData.enemyActionEndFlag = this.m_enemyActionEndFlag;
- }
- public void RestoreMultiData(bool bInit = false)
- {
- DbManager.MultiBattleData multiBattleData = Mevius.Db.Api.GetMultiBattleData();
- if (multiBattleData == null)
- {
- return;
- }
- bool flag = false;
- if (DebugOutput.Instance != null)
- {
- flag = true;
- }
- bool restart = !Mevius.Party.Api.IsFirstSnap() && bInit;
- uint randSeed = multiBattleData.randSeed;
- this._step = (BattleManager.BattleStep)multiBattleData.step;
- this.m_rand.SetSeed(randSeed);
- this.m_playerDamageRand.SetSeed(randSeed);
- this.m_playerMovementRand.SetSeed(randSeed);
- this.m_turnNum = multiBattleData.turnNum;
- this.m_chainNum = multiBattleData.chainNum;
- this.m_breakNum = multiBattleData.breakNum;
- this.m_deadNum = multiBattleData.deadNum;
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- BattleActor battleActor = this.m_multiBattleActorList[i];
- int partySlot = battleActor.PartySlot;
- int hp = battleActor.Hp;
- battleActor.SetHp(multiBattleData.playerHp[partySlot], true, true);
- if (hp <= 0 && multiBattleData.playerHp[partySlot] > 0)
- {
- battleActor.OnRestore(this._step, false, true, restart);
- }
- else if (hp > 0 && multiBattleData.playerHp[partySlot] <= 0)
- {
- battleActor.OnRestore(this._step, false, true, restart);
- }
- else if (bInit)
- {
- battleActor.OnRestore(this._step, false, true, restart);
- }
- if (flag && hp != multiBattleData.playerHp[partySlot])
- {
- string item = string.Format("Hp [{0}] -> [{1}] : Slot[{2}]", hp, multiBattleData.playerHp[partySlot], partySlot);
- DebugOutput.Instance.ErrorLogList.Add(item);
- }
- if (flag && battleActor.ActionNum != (int)multiBattleData.playerActionNum[partySlot])
- {
- string item2 = string.Format("ActionNum [{0}] -> [{1}] : Slot[{2}]", battleActor.ActionNum, multiBattleData.playerActionNum[partySlot], partySlot);
- DebugOutput.Instance.ErrorLogList.Add(item2);
- }
- battleActor.ActionNum = (int)multiBattleData.playerActionNum[partySlot];
- battleActor.NormalAttackNum = (int)multiBattleData.playerNormalAttackNum[partySlot];
- for (int j = 0; j < 7; j++)
- {
- if (((int)multiBattleData.prevUseCardAbilityAttributeBit[partySlot] & 1 << j) != 0)
- {
- battleActor.PrevUseCardAbilityAttribute = (ElementAttributeType)j;
- }
- }
- battleActor.ActionOrder = multiBattleData.playerActionOrder[partySlot];
- bool[] array = new bool[multiBattleData.autoAbilityPinchFlags.GetLength(1)];
- for (int k = 0; k < array.Length; k++)
- {
- array[k] = multiBattleData.autoAbilityPinchFlags[partySlot, k];
- }
- battleActor.SetPinchAutoAbilityFlags(array);
- int length = multiBattleData.statusEffectIds.GetLength(1);
- int[][] array2 = new int[length][];
- for (int l = 0; l < length; l++)
- {
- if (multiBattleData.statusEffectIds[partySlot, l] != 0)
- {
- array2[l] = new int[4];
- array2[l][0] = (int)multiBattleData.statusEffectIds[partySlot, l];
- array2[l][1] = (int)multiBattleData.statusEffectTurns[partySlot, l];
- array2[l][2] = (int)multiBattleData.statusEffectStates[partySlot, l];
- array2[l][3] = multiBattleData.statusEffectParams[partySlot, l];
- }
- }
- battleActor.SetStatusEffectEntries(array2);
- BattleActor.CardAbilityInfo[] cardAbilityInfos = battleActor.CardAbilityInfos;
- for (int m = 0; m < cardAbilityInfos.Length; m++)
- {
- cardAbilityInfos[m].chargeTurn = (int)multiBattleData.cardAbilityChargeTurns[partySlot, m];
- cardAbilityInfos[m].useCount = (int)multiBattleData.cardAbilityUseCounts[partySlot, m];
- }
- battleActor.SetManaUnRecoveryNum((int)multiBattleData.unRecoveryNum[partySlot]);
- int[] array3 = new int[multiBattleData.manaElements.GetLength(1)];
- for (int n = 0; n < array3.Length; n++)
- {
- array3[n] = multiBattleData.manaElements[partySlot, n];
- }
- if (flag)
- {
- bool flag2 = false;
- ElementAttributeType[] manaElements = battleActor.GetManaElements();
- for (int num = 0; num < manaElements.Length; num++)
- {
- if (manaElements[num] != (ElementAttributeType)array3[num])
- {
- flag2 = true;
- break;
- }
- }
- if (flag2)
- {
- long num2 = 0L;
- for (int num3 = 0; num3 < 16; num3++)
- {
- long num4 = (num3 >= manaElements.Length) ? 0L : ((long)manaElements[num3] + 1L);
- num2 = num2 * 10L + num4;
- }
- long num5 = 0L;
- for (int num6 = 0; num6 < 16; num6++)
- {
- long num7 = (num6 >= array3.Length) ? 0L : ((long)array3[num6] + 1L);
- num5 = num5 * 10L + num7;
- }
- string item3 = string.Format("Element [{0}] -> [{1}] : Slot[{2}]", num2, num5, partySlot);
- DebugOutput.Instance.ErrorLogList.Add(item3);
- }
- }
- battleActor.SetManaElement(array3);
- int[] array4 = new int[multiBattleData.elementalGauge.GetLength(1)];
- for (int num8 = 0; num8 < array4.Length; num8++)
- {
- array4[num8] = (int)multiBattleData.elementalGauge[partySlot, num8];
- }
- battleActor.ElementalGauge.Init(array4);
- battleActor.ManaUseNum = multiBattleData.manaUseNum[partySlot];
- for (int num9 = 0; num9 < battleActor.RevengeDamages.Length; num9++)
- {
- battleActor.RevengeDamages[num9] = multiBattleData.playerRevengeDamages[partySlot, num9];
- }
- battleActor.AbilityUseSuportCount = multiBattleData.abilityUseSuportCounts[partySlot];
- }
- int num10 = (int)multiBattleData.playerActionType[0];
- int num11 = (int)multiBattleData.playerActionType[1];
- int num12 = (int)multiBattleData.playerActionType[2];
- if (flag)
- {
- if (num10 != this.m_randCount)
- {
- string item4 = string.Format("RandCount [{0}] -> [{1}]", this.m_randCount, num10);
- DebugOutput.Instance.ErrorLogList.Add(item4);
- }
- if (num11 != this.m_damageRandCount)
- {
- string item5 = string.Format("damageRandCount [{0}] -> [{1}]", this.m_damageRandCount, num11);
- DebugOutput.Instance.ErrorLogList.Add(item5);
- }
- if (num12 != this.m_movementRandCount)
- {
- string item6 = string.Format("movementRandCount [{0}] -> [{1}]", this.m_movementRandCount, num12);
- DebugOutput.Instance.ErrorLogList.Add(item6);
- }
- }
- this.UpdateManaGui();
- this.UpdateJobAbilityGauge();
- this.m_selfActor.UpdateCardAbilityTurnCountGui();
- this.m_selfActor.UpdateStatusEffectGui(false);
- for (int num13 = 0; num13 < this._entryBattleCharaSpecList.Count; num13++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(num13);
- BattleActor battleActor2 = this.FindActor(enemyActorName);
- if (battleActor2 != null)
- {
- int hp2 = battleActor2.Hp;
- battleActor2.SetHp(multiBattleData.enemyHps[num13], false, false);
- int bp = battleActor2.Bp;
- battleActor2.Bp = multiBattleData.enemyBps[num13];
- uint saveFlagBits = (uint)battleActor2.SaveFlagBits;
- battleActor2.SaveFlagBits = (BattleActor.SaveFlagBitType)multiBattleData.enemySaveFlagBits[num13];
- if (hp2 <= 0 && multiBattleData.enemyHps[num13] > 0)
- {
- battleActor2.chara.gameObject.SetActive(true);
- battleActor2.chara.SetupBind();
- battleActor2.SetStateIdle(true, -1, 0);
- battleActor2.OnRestore(this._step, false, true, restart);
- battleActor2.CreateEnemyHpGauge();
- }
- else if (hp2 > 0 && multiBattleData.enemyHps[num13] <= 0)
- {
- battleActor2.OnRestore(this._step, false, true, restart);
- }
- else if (bp != multiBattleData.enemyBps[num13])
- {
- battleActor2.OnRestore(this._step, false, true, restart);
- }
- else if (bInit)
- {
- battleActor2.OnRestore(this._step, false, true, restart);
- }
- else if (saveFlagBits != (uint)battleActor2.SaveFlagBits)
- {
- battleActor2.OnRestore(this._step, false, true, restart);
- if (battleActor2.IsActiveTarget())
- {
- battleActor2.CreateEnemyHpGauge();
- }
- }
- if (flag)
- {
- if (hp2 != multiBattleData.enemyHps[num13])
- {
- string item7 = string.Format("Hp [{0}] -> [{1}] : Enemy[{2}]", hp2, multiBattleData.enemyHps[num13], num13);
- DebugOutput.Instance.ErrorLogList.Add(item7);
- }
- if (bp != multiBattleData.enemyBps[num13])
- {
- string item8 = string.Format("Bp [{0}] -> [{1}] : Enemy[{2}]", bp, multiBattleData.enemyBps[num13], num13);
- DebugOutput.Instance.ErrorLogList.Add(item8);
- }
- }
- battleActor2.BreakCount = (int)multiBattleData.enemyBreakCounts[num13];
- battleActor2.BpArmorDamage = multiBattleData.enemyBpArmorDamages[num13];
- if (battleActor2.Ai != null)
- {
- for (int num14 = 0; num14 < 16; num14++)
- {
- battleActor2.Ai.Counters[num14] = multiBattleData.enemyAiCounters[num13, num14];
- }
- battleActor2.Ai.Flag = multiBattleData.enemyAiFlags[num13];
- battleActor2.Ai.SpCounter = multiBattleData.enemyAiSpCounters[num13];
- battleActor2.Ai.TakeDamageBit = multiBattleData.enemyAiTakeDamageBit[num13];
- battleActor2.Ai.TakeDamageAttributeBit = multiBattleData.enemyAiTakeDamageAttributeBit[num13];
- }
- battleActor2.ElementAttributeBit = multiBattleData.enemyAttributeBit[num13];
- if (multiBattleData.enemyAbsorbAttributeBit[num13] != 0)
- {
- battleActor2.AbsorbAttributeBit = multiBattleData.enemyAbsorbAttributeBit[num13];
- }
- battleActor2.UnknownAttribute = multiBattleData.enemyUnknownAttribute[num13];
- battleActor2.SetChangeBtCharaSpecId(multiBattleData.enemyChangeBtCharaSpecId[num13], true);
- List<int[]> list = new List<int[]>();
- for (int num15 = 0; num15 < multiBattleData.enemyStatusEffectIds.GetLength(1); num15++)
- {
- if (multiBattleData.enemyStatusEffectIds[num13, num15] != 0)
- {
- list.Add(new int[]
- {
- (int)multiBattleData.enemyStatusEffectIds[num13, num15],
- (int)multiBattleData.enemyStatusEffectTurns[num13, num15],
- (int)multiBattleData.enemyStatusEffectStates[num13, num15],
- multiBattleData.enemyStatusEffectParams[num13, num15]
- });
- }
- }
- battleActor2.SetStatusEffectEntries(list.ToArray());
- for (int num16 = 0; num16 < multiBattleData.enemyDebuffInvalidCounts.GetLength(1); num16++)
- {
- battleActor2.SetDebuffInvalidCount(num16, multiBattleData.enemyDebuffInvalidCounts[num13, num16]);
- }
- battleActor2.HpLimitIndex = multiBattleData.enemyHpLimitIndexs[num13];
- battleActor2.EnemyDamagedActorIndexBit = multiBattleData.enemyDamagedActorIndexBits[num13];
- battleActor2.EnemyHpGaugeFixRate = multiBattleData.enemyHpGaugeFixRates[num13];
- battleActor2.UpdateHpGaugeFixRate();
- if (battleActor2.Ai != null)
- {
- battleActor2.Ai.OnBehavior(BattleAiData.Pattern.TimingType.BattleRestart, string.Empty, null, true);
- }
- }
- }
- multiBattleData.enemyAiCommonCounters.CopyTo(this.m_enemyAiCommonCounters, 0);
- this.m_enemyActionEndFlag = multiBattleData.enemyActionEndFlag;
- this.m_rand.SetSeed(randSeed);
- this.m_playerDamageRand.SetSeed(randSeed);
- this.m_playerMovementRand.SetSeed(randSeed);
- this.ProcManToMan();
- }
- public int MultiBattleTimeLeftOfTurn
- {
- get
- {
- ulong realtimeFromServer = Mevius.Db.Api.GetRealtimeFromServer();
- if (realtimeFromServer >= this.m_multiBattleTurnStartTime)
- {
- ulong num = realtimeFromServer - this.m_multiBattleTurnStartTime;
- ulong num2 = (num > this.m_multiBattleTurnLimitTime) ? 0UL : (this.m_multiBattleTurnLimitTime - num);
- return (int)num2;
- }
- return (int)this.m_multiBattleTurnLimitTime;
- }
- }
- public int MultiBattleTimeLeft
- {
- get
- {
- ulong realtimeFromServer = Mevius.Db.Api.GetRealtimeFromServer();
- if (realtimeFromServer >= this.m_multiBattleStartTime)
- {
- ulong num = realtimeFromServer - this.m_multiBattleStartTime;
- ulong num2 = (num > (ulong)Mevius.Party.Api.GetBaseBattleTime()) ? 0UL : ((ulong)Mevius.Party.Api.GetBaseBattleTime() - num);
- return (int)num2;
- }
- return (int)Mevius.Party.Api.GetBaseBattleTime();
- }
- }
- public string GetPlayerCommandStr()
- {
- return this.GetSelfActor().CommandStr;
- }
- public void CancelMultiBattleCommand()
- {
- if (this.m_selfActor != null)
- {
- this.m_selfActor.CancelMultiBattleCommand();
- }
- }
- public int GetTargetGlobalIndex(BattleActor actor)
- {
- if (this.m_actorList.Contains(actor))
- {
- return this.m_actorList.IndexOf(actor);
- }
- return -1;
- }
- public BattleActor GetTargetByGlobalIndex(int globalIndex)
- {
- if (globalIndex < 0 || globalIndex >= this.m_actorList.Count)
- {
- return null;
- }
- return this.m_actorList[globalIndex];
- }
- public void OnDead(BattleActor actor)
- {
- if (Mevius.App.Api.IsPartyMode() && this.GetEnemyNum(true) == 0 && !actor.IsNeedNotKill())
- {
- this.m_cameraManager.SetInterpolation(0f, CameraSequence.BlendType.Curve, true);
- this.m_cameraManager.InitAction("a_samon_Death1", actor, false, true);
- this.m_cameraManager.ChangeCamera(BattleCameraManager.CameraType.Action);
- this.m_isMultiFinishCamera = true;
- string residentString = Mevius.DataSheet.Api.GetResidentString("multi_battleWinSe", string.Empty);
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field, soundResourceName, residentString, 1f, 0, 0, false, -1, 1f);
- }
- if (this.IsCountTimeBattle())
- {
- this.CreateActionOrderList();
- }
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- if (this.m_actorList[i].IsActive() && !this.m_actorList[i].IsParty(actor))
- {
- this.m_actorList[i].RemoveStatusEffectProvoke(actor.GetActorIndex());
- }
- }
- this.ProcManToMan();
- }
- public bool IsMultiFinishCamera()
- {
- return this.m_isMultiFinishCamera;
- }
- public BattleActor GetMultiRangeAttackEnemyActor(BattleActor baseActor)
- {
- BattleActor result = null;
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsActiveTarget() && battleActor.IsParty(baseActor) && battleActor != baseActor)
- {
- result = battleActor;
- break;
- }
- }
- return result;
- }
- public bool IsActionOrder(BattleActor actor, int order)
- {
- bool result = false;
- if (actor.IsPlayer())
- {
- int num = 0;
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (this.m_multiBattleActorList[i].IsActive() && num < (int)this.m_multiBattleActorList[i].ActionOrder)
- {
- num = (int)this.m_multiBattleActorList[i].ActionOrder;
- }
- }
- if (order > num)
- {
- order = num;
- }
- if ((int)actor.ActionOrder == order)
- {
- result = true;
- }
- }
- return result;
- }
- private void ProcStepBattleStatusEffect()
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- Ca9c714c662dfae389ad7332e5dd00832.C8336e7718a740dd523525fa2b510e66d c8336e7718a740dd523525fa2b510e66d = Ca9c714c662dfae389ad7332e5dd00832.Find(Mevius.Party.Api.GetExecPartyQuestId());
- if (c8336e7718a740dd523525fa2b510e66d != null)
- {
- for (int i = 0; i < c8336e7718a740dd523525fa2b510e66d.countm7d751ca6c95f2ed72a6a44b64c7f6a3a(); i++)
- {
- int num = (int)c8336e7718a740dd523525fa2b510e66d.mc3bf00c1484f7500bd390511556ece1c(i);
- if (num != 0)
- {
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor = this.m_actorList[j];
- bool flag = false;
- switch (c8336e7718a740dd523525fa2b510e66d.mda0e8565dc6726aedc8e2d10263b779c(i))
- {
- case 0:
- flag = battleActor.IsPlayer();
- break;
- case 1:
- flag = battleActor.IsEnemy();
- break;
- case 2:
- flag = true;
- break;
- }
- if (flag)
- {
- C02688ac2fa3465c4dc969e664556169f.Cdb83ac7b1b94f482a747dd16b359c48f cdb83ac7b1b94f482a747dd16b359c48f = C02688ac2fa3465c4dc969e664556169f.Find(num.ToString());
- if (cdb83ac7b1b94f482a747dd16b359c48f != null)
- {
- int num2 = 0;
- if (cdb83ac7b1b94f482a747dd16b359c48f.m192357c760b657018e12cbbc41dc3f10() == 1)
- {
- num2 = battleActor.GetStatusEffectValue(BattleStatusEffect.ProcType.DebuffResist);
- if (battleActor.IsPlayer())
- {
- BattleStatusEffect.GroupType group = (BattleStatusEffect.GroupType)cdb83ac7b1b94f482a747dd16b359c48f.mdde7487838082c3392fafe3e5e31ccbf();
- num2 += battleActor.GetAutoAbilityResistParam(group);
- }
- }
- if (num2 < 100 || c8336e7718a740dd523525fa2b510e66d.m2ae80ea97d128cc60c3f2610338ed920(j) == 3)
- {
- battleActor.AddStatusEffect(num, (int)c8336e7718a740dd523525fa2b510e66d.mf4e6b242ee507cd08c3707b60299ec90(i), (BattleStatusEffect.StateType)c8336e7718a740dd523525fa2b510e66d.m2ae80ea97d128cc60c3f2610338ed920(i), 0, true, true);
- }
- }
- }
- }
- }
- }
- if (!string.IsNullOrEmpty(c8336e7718a740dd523525fa2b510e66d.mf119062052a4666233881e867cab2601()))
- {
- Mevius.Gui.Api.ShowBattleEnemyActionName(c8336e7718a740dd523525fa2b510e66d.mf119062052a4666233881e867cab2601(), ElementAttributeBitType.None);
- }
- this.m_actionStepWait = c8336e7718a740dd523525fa2b510e66d.m0c6eaf36fbfa3402bd62c34dfb395f84();
- }
- }
- else
- {
- Caa051806b3598cc4aa2892b0900bdadb.C7515a628c1d13daf08c8a160fb5c564e targetStepBattle = Mevius.Field.Api.BattleApi.GetTargetStepBattle(Mevius.Field.Api.GadgetRouteApi.GetTargetGadgetName(), Mevius.App.Api.GetMainJobTypeCurrentDeck());
- if (targetStepBattle != null)
- {
- for (int k = 0; k < this.m_actorList.Count; k++)
- {
- BattleActor battleActor2 = this.m_actorList[k];
- int num3 = targetStepBattle.countmb57e26cd0e324c1a15a0a5ac67c8bcb8();
- for (int l = 0; l < num3; l++)
- {
- bool flag2 = false;
- switch (targetStepBattle.mcda129cdb90d44290bfd861ec0e267ed(l))
- {
- case 0:
- flag2 = battleActor2.IsPlayer();
- break;
- case 1:
- flag2 = battleActor2.IsEnemy();
- break;
- case 2:
- flag2 = true;
- break;
- }
- if (flag2)
- {
- int num4 = targetStepBattle.mcb8f7a8bc0418595a425e2e33e0ae58b(l);
- if (num4 != 0)
- {
- C02688ac2fa3465c4dc969e664556169f.Cdb83ac7b1b94f482a747dd16b359c48f cdb83ac7b1b94f482a747dd16b359c48f2 = C02688ac2fa3465c4dc969e664556169f.Find(num4.ToString());
- if (cdb83ac7b1b94f482a747dd16b359c48f2 != null)
- {
- int num5 = 0;
- if (cdb83ac7b1b94f482a747dd16b359c48f2.m192357c760b657018e12cbbc41dc3f10() == 1)
- {
- num5 = battleActor2.GetStatusEffectValue(BattleStatusEffect.ProcType.DebuffResist);
- if (battleActor2.IsPlayer())
- {
- BattleStatusEffect.GroupType group2 = (BattleStatusEffect.GroupType)cdb83ac7b1b94f482a747dd16b359c48f2.mdde7487838082c3392fafe3e5e31ccbf();
- num5 += battleActor2.GetAutoAbilityResistParam(group2);
- }
- }
- if (num5 < 100 || targetStepBattle.m3a95f7864c6b38c040f47215e96999ff(l) == 3)
- {
- battleActor2.AddStatusEffect(num4, targetStepBattle.m89a634dfa79f4f4cb1d29743824831f1(l), (BattleStatusEffect.StateType)targetStepBattle.m3a95f7864c6b38c040f47215e96999ff(l), 0, true, true);
- }
- }
- }
- }
- }
- }
- if (!string.IsNullOrEmpty(targetStepBattle.m45e96b96d732ec81ba48ae2c57532fde()))
- {
- Mevius.Gui.Api.ShowBattleEnemyActionName(targetStepBattle.m45e96b96d732ec81ba48ae2c57532fde(), ElementAttributeBitType.None);
- }
- this.m_actionStepWait = targetStepBattle.m0c339662fb6db5a8bd740b17ffbc47ae();
- }
- }
- }
- private void ProcStepBattleStatusEffectEnd()
- {
- if (!Mevius.App.Api.IsPartyMode() && this.m_playerActor != null)
- {
- for (int i = 0; i <= 3; i++)
- {
- if (this.m_playerActor.IsAutoAbility(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1077 + i))
- {
- for (int j = 0; j < this.m_actorList.Count; j++)
- {
- BattleActor battleActor = this.m_actorList[j];
- battleActor.RemoveStatusEffect(BattleStatusEffect.GroupType.AttributeEnhanceCapter8Fire + i, BattleStatusEffect.StateType.SuperStrong);
- }
- }
- }
- }
- }
- private void InitElementInfluence()
- {
- if (this.m_turnNum != 1 || !this.IsFirstBattle())
- {
- return;
- }
- int elementInfluenceType = BattleUtility.GetElementInfluenceType();
- if (elementInfluenceType != 0)
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- battleData.elementInfluenceTurn = (sbyte)this.CalcElementInfluenceTurn(elementInfluenceType);
- battleData.elementInfluenceTurnNext = (sbyte)this.CalcElementInfluenceTurn(elementInfluenceType);
- List<ElementAttributeType> elementInfluenceAttributeList = this.GetElementInfluenceAttributeList(elementInfluenceType);
- if (elementInfluenceAttributeList.Count > 0)
- {
- battleData.elementInfluenceAttribute = (sbyte)elementInfluenceAttributeList[(int)((ulong)this.GetRandomUnsignedInteger() % (ulong)((long)elementInfluenceAttributeList.Count))];
- elementInfluenceAttributeList.Remove((ElementAttributeType)battleData.elementInfluenceAttribute);
- battleData.elementInfluenceAttributeNext = (sbyte)elementInfluenceAttributeList[(int)((ulong)this.GetRandomUnsignedInteger() % (ulong)((long)elementInfluenceAttributeList.Count))];
- }
- else
- {
- battleData.elementInfluenceAttribute = -1;
- battleData.elementInfluenceAttributeNext = -1;
- }
- battleData.elementInfluenceRate = this.CalcElementInfluenceRate(elementInfluenceType);
- battleData.elementInfluenceRateNext = this.CalcElementInfluenceRate(elementInfluenceType);
- }
- }
- private void UpdateElementInfluence()
- {
- if (this.m_turnNum == 1 && this.IsFirstBattle())
- {
- return;
- }
- int elementInfluenceType = BattleUtility.GetElementInfluenceType();
- if (elementInfluenceType != 0)
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- DbManager.BattleData battleData2 = battleData;
- battleData2.elementInfluenceTurn -= 1;
- if ((int)battleData.elementInfluenceTurn <= 0)
- {
- battleData.elementInfluenceTurn = battleData.elementInfluenceTurnNext;
- battleData.elementInfluenceAttribute = battleData.elementInfluenceAttributeNext;
- battleData.elementInfluenceRate = battleData.elementInfluenceRateNext;
- battleData.elementInfluenceTurnNext = (sbyte)this.CalcElementInfluenceTurn(elementInfluenceType);
- List<ElementAttributeType> elementInfluenceAttributeList = this.GetElementInfluenceAttributeList(elementInfluenceType);
- elementInfluenceAttributeList.Remove((ElementAttributeType)battleData.elementInfluenceAttribute);
- int count = elementInfluenceAttributeList.Count;
- if (count > 0)
- {
- battleData.elementInfluenceAttributeNext = (sbyte)elementInfluenceAttributeList[(int)((ulong)this.GetRandomUnsignedInteger() % (ulong)((long)count))];
- }
- else
- {
- battleData.elementInfluenceAttributeNext = -1;
- }
- battleData.elementInfluenceRateNext = this.CalcElementInfluenceRate(elementInfluenceType);
- this.ShowElementInfluence();
- }
- else if (this.m_turnNum == 1)
- {
- this.ShowElementInfluence();
- }
- else
- {
- Mevius.Gui.Api.ShowElementInfluenceTurn(0, (int)battleData.elementInfluenceTurn);
- }
- }
- }
- public void ShowElementInfluence()
- {
- DbManager.BattleData battleData = Mevius.Db.Api.GetBattleData();
- Mevius.Gui.Api.ShowElementInfluenceRate(0, (ElementAttributeType)battleData.elementInfluenceAttribute, battleData.elementInfluenceRate);
- Mevius.Gui.Api.ShowElementInfluenceTurn(0, (int)battleData.elementInfluenceTurn);
- Mevius.Gui.Api.ShowElementInfluenceRate(1, (ElementAttributeType)battleData.elementInfluenceAttributeNext, battleData.elementInfluenceRateNext);
- Mevius.Gui.Api.ShowElementInfluenceTurn(1, (int)battleData.elementInfluenceTurnNext);
- }
- private int CalcElementInfluenceTurn(int type)
- {
- int residentInteger;
- int residentInteger2;
- if (type == 1)
- {
- residentInteger = Mevius.DataSheet.Api.GetResidentInteger("elementInfluenceTurnMin", 2);
- residentInteger2 = Mevius.DataSheet.Api.GetResidentInteger("elementInfluenceTurnMax", 2);
- }
- else
- {
- residentInteger = Mevius.DataSheet.Api.GetResidentInteger("elementInfluence2TurnMin", 2);
- residentInteger2 = Mevius.DataSheet.Api.GetResidentInteger("elementInfluence2TurnMax", 2);
- }
- int num = residentInteger2 - residentInteger;
- if (num != 0)
- {
- return residentInteger + (int)((ulong)this.GetRandomUnsignedInteger() % (ulong)((long)(num + 1)));
- }
- return residentInteger;
- }
- private float CalcElementInfluenceRate(int type)
- {
- float residentFloat;
- float residentFloat2;
- if (type == 1)
- {
- if ((this.GetRandomUnsignedInteger() & 1u) == 0u)
- {
- residentFloat = Mevius.DataSheet.Api.GetResidentFloat("elementInfluenceRateLowMin", 0.1f);
- residentFloat2 = Mevius.DataSheet.Api.GetResidentFloat("elementInfluenceRateLowMax", 0.5f);
- }
- else
- {
- residentFloat = Mevius.DataSheet.Api.GetResidentFloat("elementInfluenceRateHighMin", 1.5f);
- residentFloat2 = Mevius.DataSheet.Api.GetResidentFloat("elementInfluenceRateHighMax", 2f);
- }
- }
- else
- {
- residentFloat = Mevius.DataSheet.Api.GetResidentFloat("elementInfluence2RateHighMin", 1.5f);
- residentFloat2 = Mevius.DataSheet.Api.GetResidentFloat("elementInfluence2RateHighMax", 2f);
- }
- return residentFloat + (residentFloat2 - residentFloat) * this.GetRandomSingleFloat();
- }
- private List<ElementAttributeType> GetElementInfluenceAttributeList(int type)
- {
- ElementAttributeType[] jobUseAttributeArray = BattleUtility.GetJobUseAttributeArray(this.m_playerActor.Deck, true);
- List<ElementAttributeType> list = new List<ElementAttributeType>(jobUseAttributeArray);
- if (type == 1)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- if (this.m_actorList[i].IsActiveTarget() && this.m_actorList[i].IsEnemy() && !this.m_actorList[i].UnknownAttribute)
- {
- ElementAttributeType attributeTypeFromBit = BattleUtility.GetAttributeTypeFromBit((int)this.m_actorList[i].GetElementAttributeBit());
- if (attributeTypeFromBit != ElementAttributeType.None && !list.Contains(attributeTypeFromBit))
- {
- list.Add(attributeTypeFromBit);
- }
- }
- }
- }
- return list;
- }
- public int[] MissionCounts
- {
- get
- {
- return this.m_missionCounts;
- }
- }
- public int[] BossMissionCounts
- {
- get
- {
- return this.m_bossMissionCounts;
- }
- }
- public long[] SaveLongValues
- {
- get
- {
- return this.m_saveLongValues;
- }
- }
- public long[] BossSaveLongValues
- {
- get
- {
- return this.m_bossSaveLongValues;
- }
- }
- public void ShowHidePlayer(bool show, bool setMotionController = true)
- {
- if (Mevius.App.Api.IsPartyMode())
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- BattleActor battleActor = this.m_multiBattleActorList[i];
- battleActor.chara.ShowHideModel(show, setMotionController);
- battleActor.ShowHideWeaponEffect(show);
- }
- }
- else
- {
- if (this.m_playerActor != null)
- {
- this.m_playerActor.chara.ShowHideModel(show, setMotionController);
- this.m_playerActor.ShowHideWeaponEffect(show);
- }
- if (this.m_fairyActor != null)
- {
- this.m_fairyActor.Chara.ShowHideModel(show, setMotionController);
- }
- }
- }
- public void InitSameCharaIndex()
- {
- if (!BattleUtility.IsDQGimmick())
- {
- return;
- }
- this.m_dqSameNameDictionary = new Dictionary<string, sbyte>(this._entryBattleCharaSpecList.Count >> 1);
- Dictionary<string, int> dictionary = new Dictionary<string, int>(this._entryBattleCharaSpecList.Count);
- for (int i = 0; i < this._entryBattleCharaSpecList.Count; i++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(i);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null && !battleActor.IsStandBy())
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(this._entryBattleCharaSpecList[i]);
- if (c51747b7e0e19ad065084a2c5a6d8421b != null)
- {
- string text = c51747b7e0e19ad065084a2c5a6d8421b.mf1c02fa779f434db21d5e8bf97e8f0b9();
- sbyte b;
- if ((int)battleActor.SameCharaIndex == -1)
- {
- if (dictionary.ContainsKey(text))
- {
- Dictionary<string, int> dictionary3;
- Dictionary<string, int> dictionary2 = dictionary3 = dictionary;
- string key2;
- string key = key2 = text;
- int num = dictionary3[key2];
- dictionary2[key] = num + 1;
- }
- else
- {
- dictionary[text] = 1;
- }
- }
- else if (this.m_dqSameNameDictionary.TryGetValue(text, out b))
- {
- if ((int)b < (int)battleActor.SameCharaIndex)
- {
- this.m_dqSameNameDictionary[text] = battleActor.SameCharaIndex;
- }
- }
- else
- {
- this.m_dqSameNameDictionary[text] = battleActor.SameCharaIndex;
- }
- }
- }
- }
- foreach (KeyValuePair<string, int> keyValuePair in dictionary)
- {
- if (1 < keyValuePair.Value)
- {
- sbyte b2 = 0;
- for (int j = 0; j < this._entryBattleCharaSpecList.Count; j++)
- {
- string enemyActorName2 = BattleManager.GetEnemyActorName(j);
- BattleActor battleActor2 = this.FindActor(enemyActorName2);
- if (battleActor2 != null && !battleActor2.IsStandBy() && (int)battleActor2.SameCharaIndex == -1)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b2 = C4d4f3a800432e94568175cb31ad3c78d.Find(this._entryBattleCharaSpecList[j]);
- if (c51747b7e0e19ad065084a2c5a6d8421b2 != null && c51747b7e0e19ad065084a2c5a6d8421b2.mf1c02fa779f434db21d5e8bf97e8f0b9() == keyValuePair.Key)
- {
- battleActor2.SameCharaIndex = b2;
- this.m_dqSameNameDictionary[keyValuePair.Key] = b2;
- b2 += 1;
- }
- }
- }
- }
- }
- }
- public void UpdateSameNameIndex(BattleActor targetActor)
- {
- if (!BattleUtility.IsDQGimmick())
- {
- return;
- }
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b = C4d4f3a800432e94568175cb31ad3c78d.Find(targetActor.BattleCharaSpec);
- if (c51747b7e0e19ad065084a2c5a6d8421b != null)
- {
- string text = c51747b7e0e19ad065084a2c5a6d8421b.mf1c02fa779f434db21d5e8bf97e8f0b9();
- List<sbyte> list = new List<sbyte>(this._entryBattleCharaSpecList.Count);
- for (int i = 0; i < this._entryBattleCharaSpecList.Count; i++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(i);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null && battleActor.IsActive() && battleActor != targetActor)
- {
- C4d4f3a800432e94568175cb31ad3c78d.C51747b7e0e19ad065084a2c5a6d8421b c51747b7e0e19ad065084a2c5a6d8421b2 = C4d4f3a800432e94568175cb31ad3c78d.Find(this._entryBattleCharaSpecList[i]);
- if (c51747b7e0e19ad065084a2c5a6d8421b2 != null && text == c51747b7e0e19ad065084a2c5a6d8421b2.mf1c02fa779f434db21d5e8bf97e8f0b9())
- {
- if ((int)battleActor.SameCharaIndex == -1)
- {
- battleActor.SameCharaIndex = 0;
- }
- list.Add(battleActor.SameCharaIndex);
- }
- }
- }
- sbyte b = -1;
- if (list.Count != 0 && this.m_dqSameNameDictionary.TryGetValue(text, out b))
- {
- int num = 0;
- do
- {
- b += 1;
- if (26 <= (int)b)
- {
- b = 0;
- }
- if (!list.Contains(b))
- {
- break;
- }
- }
- while (++num <= 26);
- this.m_dqSameNameDictionary[text] = b;
- }
- else
- {
- this.m_dqSameNameDictionary.Add(text, 0);
- }
- targetActor.SameCharaIndex = b;
- }
- }
- public bool IsPartyChange()
- {
- return this.m_playerActor != null && this.m_playerActorSub != null && this.m_playerActor.GetJobCardPlayerType() != this.m_playerActorSub.GetJobCardPlayerType();
- }
- public byte PlayerFinishCount
- {
- get
- {
- return this.m_playerFinishCount;
- }
- set
- {
- this.m_playerFinishCount = value;
- }
- }
- public void RecoverPlayerSubHp(int value)
- {
- if (!this.IsPartyChange())
- {
- return;
- }
- if (this.m_playerActorSub.IsSummon())
- {
- return;
- }
- this.m_playerActorSub.AddHp(value);
- this.AddRecoveryTotal(this.m_playerActorSub, value);
- }
- public void RecoverPlayerSubHpMaxRate(float rate)
- {
- if (!this.IsPartyChange())
- {
- return;
- }
- if (this.m_playerActorSub.IsSummon())
- {
- return;
- }
- int value = (int)((float)this.m_playerActorSub.HpMax * rate + 0.5f);
- this.m_playerActorSub.AddHp(value);
- this.AddRecoveryTotal(this.m_playerActorSub, value);
- }
- public void RecoverPlayerSub(BattleDamage.DamageInfo damageInfo)
- {
- if (!this.IsPartyChange())
- {
- return;
- }
- if (this.m_playerActorSub.IsSummon())
- {
- return;
- }
- if (!this.m_playerActor.IsStatusEffectEntry(BattleStatusEffect.ProcType.HPRecoverDisable))
- {
- if (damageInfo.powerType == DamageSourcePowerType.OwnerHpMaxRate || damageInfo.powerType == DamageSourcePowerType.TargetHpMaxRate || damageInfo.powerType == DamageSourcePowerType.TargetFixHpMaxRate)
- {
- this.m_playerActorSub.AddHp((int)((float)this.m_playerActorSub.HpMax / 100f * (float)damageInfo.power + 0.5f));
- }
- else if (damageInfo.powerType == DamageSourcePowerType.OwnerHpRate || damageInfo.powerType == DamageSourcePowerType.TargetHpRate || damageInfo.powerType == DamageSourcePowerType.TargetFixHpRate)
- {
- this.m_playerActorSub.AddHp((int)((float)this.m_playerActorSub.Hp / 100f * (float)damageInfo.power + 0.5f));
- }
- else
- {
- this.m_playerActorSub.AddHp(-damageInfo.damage);
- }
- }
- }
- public void PartyAIOnBehavior(BattleAiData.Pattern.TimingType timing, BattleActor actor, string argStr = "", BattleDamage.DamageInfo damageInfo = null)
- {
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != actor && battleActor.IsActive() && battleActor.Ai != null && battleActor.IsParty(actor))
- {
- battleActor.Ai.OnBehavior(timing, argStr, damageInfo, true);
- }
- }
- }
- public void CalcScreenOrderEnemyList()
- {
- this.m_screenOrderEnemyActorList.Clear();
- this.m_screenOrderEnemyPosList.Clear();
- Mevius.Renderer.CameraManager instance = Mevius.Renderer.CameraManager.GetInstance();
- if (instance == null)
- {
- return;
- }
- GameObject viewCameraGameObject = instance.GetViewCameraGameObject();
- if (viewCameraGameObject == null)
- {
- return;
- }
- Camera component = viewCameraGameObject.GetComponent<Camera>();
- if (component == null)
- {
- return;
- }
- string name = ExtensionElementIdDefinition.GetName(ExtensionElementIdDefinition.Index.BODY_CENTER);
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor.IsEnemy() && battleActor.IsActiveTarget())
- {
- Transform elementIdTransform = battleActor.chara.GetElementIdTransform(name);
- if (elementIdTransform)
- {
- Vector3 item = component.WorldToViewportPoint(elementIdTransform.position);
- if (item.z > 0f)
- {
- bool flag = false;
- for (int j = 0; j < this.m_screenOrderEnemyActorList.Count; j++)
- {
- Vector3 vector = this.m_screenOrderEnemyPosList[j];
- if (item.x < vector.x)
- {
- flag = true;
- this.m_screenOrderEnemyActorList.Insert(j, battleActor);
- this.m_screenOrderEnemyPosList.Insert(j, item);
- break;
- }
- }
- if (!flag)
- {
- this.m_screenOrderEnemyActorList.Add(battleActor);
- this.m_screenOrderEnemyPosList.Add(item);
- }
- }
- }
- }
- }
- }
- public void InitDQAbility()
- {
- if (BattleUtility.IsDQGimmick())
- {
- Mevius.Db.Api.JOB_TYPE parameter = (Mevius.Db.Api.JOB_TYPE)Mevius.Db.Api.GetParameter(DbManager.ParameterType.JobAttribute);
- Mevius.Db.Api.JOB_TYPE parameter2 = (Mevius.Db.Api.JOB_TYPE)Mevius.Db.Api.GetParameter(DbManager.ParameterType.JobAttribute_Sub);
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_FORCE || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_FORCE)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityWarrior();
- for (int i = 0; i < array.Length; i++)
- {
- Mevius.Loader.Api.LoadAbility(array[i].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_TECHNIQUE || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_TECHNIQUE)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityRanger();
- for (int j = 0; j < array.Length; j++)
- {
- Mevius.Loader.Api.LoadAbility(array[j].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_INTELLECT || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_INTELLECT)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityMage();
- for (int k = 0; k < array.Length; k++)
- {
- Mevius.Loader.Api.LoadAbility(array[k].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_MARTIAL || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_MARTIAL)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityMartialArtist();
- for (int l = 0; l < array.Length; l++)
- {
- Mevius.Loader.Api.LoadAbility(array[l].id);
- }
- }
- }
- }
- public void EndDQAbility()
- {
- if (BattleUtility.IsDQGimmick())
- {
- Mevius.Db.Api.JOB_TYPE parameter = (Mevius.Db.Api.JOB_TYPE)Mevius.Db.Api.GetParameter(DbManager.ParameterType.JobAttribute);
- Mevius.Db.Api.JOB_TYPE parameter2 = (Mevius.Db.Api.JOB_TYPE)Mevius.Db.Api.GetParameter(DbManager.ParameterType.JobAttribute_Sub);
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_FORCE || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_FORCE)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityWarrior();
- for (int i = 0; i < array.Length; i++)
- {
- Mevius.Loader.Api.UnLoadAbility(array[i].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_TECHNIQUE || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_TECHNIQUE)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityRanger();
- for (int j = 0; j < array.Length; j++)
- {
- Mevius.Loader.Api.UnLoadAbility(array[j].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_INTELLECT || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_INTELLECT)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityMage();
- for (int k = 0; k < array.Length; k++)
- {
- Mevius.Loader.Api.UnLoadAbility(array[k].id);
- }
- }
- if (parameter == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_MARTIAL || parameter2 == Mevius.Db.Api.JOB_TYPE.JOB_TYPE_MARTIAL)
- {
- DbManager.DQAbility[] array = Mevius.Db.Api.GetDQAbilityMartialArtist();
- for (int l = 0; l < array.Length; l++)
- {
- Mevius.Loader.Api.UnLoadAbility(array[l].id);
- }
- }
- }
- }
- public void InitFF7Ability()
- {
- if (!BattleUtility.IsFF7Gimmick())
- {
- return;
- }
- FF7MateriaSheet ff7CurrentMateriaSet = Mevius.Db.Api.GetFF7CurrentMateriaSet();
- if (ff7CurrentMateriaSet == null)
- {
- return;
- }
- C1a80abc65223cbedf4c65f351d473ca0.C68ded254e0859e604ece0328b8447fa0 dsElement = ff7CurrentMateriaSet.DsElement;
- if (dsElement != null)
- {
- List<Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670> list = new List<Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670>();
- List<C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c> list2 = new List<C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c>();
- string displayText = Mevius.Gui.Util.GetGuiText("$edit_mate_004").GetDisplayText();
- for (int i = 0; i < 3; i++)
- {
- MateriaSlotInfo materiaSlotInfo = ff7CurrentMateriaSet.GetMateriaSlotInfo(i);
- if (materiaSlotInfo != null)
- {
- int materiaSlotLevel = ff7CurrentMateriaSet.GetMateriaSlotLevel(i);
- string str = "ff7_" + i.ToString();
- int num = 0;
- int count = materiaSlotInfo.abilityInfos.Count;
- for (int j = 0; j < count; j++)
- {
- string text = str + "_" + num.ToString();
- num++;
- Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670 cca912973d2eb55c3b74a5c95a = new Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670();
- cca912973d2eb55c3b74a5c95a.setmea95f268a19fafbae355590c72e0af82(text);
- if (materiaSlotInfo.abilityInfos[j].attributes.Count != 0)
- {
- string baseAbilityId = Mevius.Collaboration.FF7.Api.GetBaseAbilityId(materiaSlotInfo.abilityInfos[j]);
- Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670 cca912973d2eb55c3b74a5c95a2 = Ceaf68fb2356fb8b84facc86d2fe79f0e.Find(baseAbilityId);
- if (cca912973d2eb55c3b74a5c95a2 != null)
- {
- BattleUtility.CopyBattleAbility(cca912973d2eb55c3b74a5c95a2, cca912973d2eb55c3b74a5c95a);
- list.Add(cca912973d2eb55c3b74a5c95a);
- cca912973d2eb55c3b74a5c95a.me37bd2195ab85215257357867bf1f31f = displayText + (i + 1).ToString();
- cca912973d2eb55c3b74a5c95a.mba50449bb16149be0cb9107b3332af55 = text + "_0";
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic2 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic4)
- {
- cca912973d2eb55c3b74a5c95a.m943a4f44a5b790adf5f199abcd9f8eda[0] = "b_ab_magic3";
- Array.Clear(cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301, 0, cca912973d2eb55c3b74a5c95a.m943a4f44a5b790adf5f199abcd9f8eda.Length);
- cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301[0] = Mevius.DataSheet.Api.GetResidentString("ff7MateriaCameraMagicSequence", "none");
- Array.Clear(cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301, 1, cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301.Length - 1);
- }
- else if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics2 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics4)
- {
- cca912973d2eb55c3b74a5c95a.m943a4f44a5b790adf5f199abcd9f8eda[0] = "b_ab_attack3";
- }
- else if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.None)
- {
- cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301[0] = Mevius.DataSheet.Api.GetResidentString("ff7MateriaCameraMagic", "none");
- Array.Clear(cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301, 1, cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301.Length - 1);
- }
- int num2 = 0;
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c = C9834a30e5f3368ef11b898eb90b12c5b.Find(baseAbilityId.ToString());
- if (c03df96e967d7177ede70d5c100f08e3c != null)
- {
- bool flag = false;
- float maf2cbc7dd405e1877acc7668fe3a8f1c = 0f;
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic2 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic4)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c2 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c2);
- c03df96e967d7177ede70d5c100f08e3c2.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_" + num2.ToString());
- num2++;
- c03df96e967d7177ede70d5c100f08e3c2.m232ee576923851b2f6b50a1e96174ebf = 2f;
- c03df96e967d7177ede70d5c100f08e3c2.m231ee77ce8c939b2457cb3ca8ab78f93 = 1;
- int num3 = 0;
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic2)
- {
- num3 = 1;
- }
- else if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic4)
- {
- num3 = 3;
- }
- c03df96e967d7177ede70d5c100f08e3c2.m882baa1c0fb70bc90216be0d2aa79ddd = 1;
- c03df96e967d7177ede70d5c100f08e3c2.m86cd0ccc62cd5f3f8eb9461852b6cd85 = (float)num3;
- c03df96e967d7177ede70d5c100f08e3c2.mfa094e7f6620ef2b4d68b4544c65408f = 0.25f;
- c03df96e967d7177ede70d5c100f08e3c2.m2c8f11c2c6c9758a89a28fa2469923c3[0] = text + "_" + num2.ToString();
- c03df96e967d7177ede70d5c100f08e3c2.m8deb8b75848d2f5f6b14a04e263f6e9b = text + "_" + (num2 + 1).ToString();
- flag = true;
- maf2cbc7dd405e1877acc7668fe3a8f1c = (float)num3 * 0.25f;
- }
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c3 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c3);
- BattleUtility.CopyBattleDamageSource(c03df96e967d7177ede70d5c100f08e3c, c03df96e967d7177ede70d5c100f08e3c3);
- c03df96e967d7177ede70d5c100f08e3c3.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_" + num2.ToString());
- num2++;
- bool flag2 = !string.IsNullOrEmpty(c03df96e967d7177ede70d5c100f08e3c3.m141fbc6685aa36c47b8b7c97eeff932b);
- string m141fbc6685aa36c47b8b7c97eeff932b = c03df96e967d7177ede70d5c100f08e3c3.m141fbc6685aa36c47b8b7c97eeff932b;
- float num4;
- float num5;
- Mevius.Collaboration.FF7.Api.GetAbilityPowerCoef(out num4, out num5, materiaSlotInfo.abilityInfos[j]);
- short num6 = (short)((float)Mevius.DataSheet.Api.GetResidentInteger("ff7MateriaAttackPower", 600) + (float)materiaSlotLevel * Mevius.DataSheet.Api.GetResidentFloat("ff7MateriaAttackPowerLvCoef", 1f) + 0.5f);
- bool flag3 = materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics1 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics2 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics4 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.PhysicsAll || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics1All;
- if (c03df96e967d7177ede70d5c100f08e3c3.m7e024ed285de34a9f7483eb072477c80 != 0)
- {
- if (flag3)
- {
- c03df96e967d7177ede70d5c100f08e3c3.md11d39aa00a1b29455aa77cfc8557a01 = 1;
- c03df96e967d7177ede70d5c100f08e3c3.m1d0fa7d9f03c7e86ed69e0ee8a565ee0 = 1;
- }
- c03df96e967d7177ede70d5c100f08e3c3.m7e024ed285de34a9f7483eb072477c80 = (int)((float)num6 * num4 + 0.5f);
- c03df96e967d7177ede70d5c100f08e3c3.m8bafa3580a38581118515f64dbe08697 = (short)((float)num6 * num5 + 0.5f);
- Mevius.Collaboration.FF7.Api.SetDamageSourceAttribute(c03df96e967d7177ede70d5c100f08e3c3, materiaSlotInfo.abilityInfos[j]);
- if (!flag2)
- {
- Mevius.Collaboration.FF7.Api.SetDamageSourceDebuff(c03df96e967d7177ede70d5c100f08e3c3, materiaSlotInfo.abilityInfos[j]);
- }
- }
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics2 || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics4)
- {
- c03df96e967d7177ede70d5c100f08e3c3.m882baa1c0fb70bc90216be0d2aa79ddd = 1;
- int num7 = 0;
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics2)
- {
- num7 = 1;
- }
- else if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics4)
- {
- num7 = 3;
- }
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c4 = c03df96e967d7177ede70d5c100f08e3c3;
- for (int k = 0; k < num7; k++)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c5 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c5);
- BattleUtility.CopyBattleDamageSource(c03df96e967d7177ede70d5c100f08e3c3, c03df96e967d7177ede70d5c100f08e3c5);
- c03df96e967d7177ede70d5c100f08e3c5.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_" + num2.ToString());
- c03df96e967d7177ede70d5c100f08e3c5.m141fbc6685aa36c47b8b7c97eeff932b = string.Empty;
- c03df96e967d7177ede70d5c100f08e3c5.maf2cbc7dd405e1877acc7668fe3a8f1c = 0.125f;
- if (k == num7 - 1)
- {
- c03df96e967d7177ede70d5c100f08e3c5.m882baa1c0fb70bc90216be0d2aa79ddd = 0;
- }
- c03df96e967d7177ede70d5c100f08e3c4.m141fbc6685aa36c47b8b7c97eeff932b = text + "_" + num2.ToString();
- num2++;
- c03df96e967d7177ede70d5c100f08e3c4 = c03df96e967d7177ede70d5c100f08e3c5;
- }
- }
- if (flag2)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c6 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c6);
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c7 = C9834a30e5f3368ef11b898eb90b12c5b.Find(m141fbc6685aa36c47b8b7c97eeff932b);
- if (c03df96e967d7177ede70d5c100f08e3c7 != null)
- {
- BattleUtility.CopyBattleDamageSource(c03df96e967d7177ede70d5c100f08e3c7, c03df96e967d7177ede70d5c100f08e3c6);
- }
- c03df96e967d7177ede70d5c100f08e3c6.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_" + num2.ToString());
- c03df96e967d7177ede70d5c100f08e3c3.m141fbc6685aa36c47b8b7c97eeff932b = c03df96e967d7177ede70d5c100f08e3c6.m1467af6649f8c2c42db7965d4a2e590e();
- num2++;
- if (flag3)
- {
- c03df96e967d7177ede70d5c100f08e3c6.md11d39aa00a1b29455aa77cfc8557a01 = 1;
- c03df96e967d7177ede70d5c100f08e3c6.m1d0fa7d9f03c7e86ed69e0ee8a565ee0 = 1;
- }
- float num8 = 1f;
- if (materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Magic1All || materiaSlotInfo.abilityInfos[j].changeTarget == ChangeAbility.Physics1All)
- {
- num8 = Mevius.DataSheet.Api.GetResidentFloat("ff7MateriaAttackPowerAreaFocusCoef", 0.5f);
- }
- c03df96e967d7177ede70d5c100f08e3c6.m7e024ed285de34a9f7483eb072477c80 = (int)((float)num6 * num4 * num8 + 0.5f);
- c03df96e967d7177ede70d5c100f08e3c6.m8bafa3580a38581118515f64dbe08697 = (short)((float)num6 * num5 * num8 + 0.5f);
- Mevius.Collaboration.FF7.Api.SetDamageSourceAttribute(c03df96e967d7177ede70d5c100f08e3c6, materiaSlotInfo.abilityInfos[j]);
- Mevius.Collaboration.FF7.Api.SetDamageSourceDebuff(c03df96e967d7177ede70d5c100f08e3c6, materiaSlotInfo.abilityInfos[j]);
- }
- if (flag)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c8 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c8);
- BattleUtility.CopyBattleDamageSource(c03df96e967d7177ede70d5c100f08e3c3, c03df96e967d7177ede70d5c100f08e3c8);
- c03df96e967d7177ede70d5c100f08e3c8.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_" + num2.ToString());
- num2++;
- c03df96e967d7177ede70d5c100f08e3c8.maf2cbc7dd405e1877acc7668fe3a8f1c = maf2cbc7dd405e1877acc7668fe3a8f1c;
- c03df96e967d7177ede70d5c100f08e3c3.m882baa1c0fb70bc90216be0d2aa79ddd = 1;
- }
- if (materiaSlotInfo.abilityInfos[j].buffs.Count > 0)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c9 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c9);
- c03df96e967d7177ede70d5c100f08e3c9.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_ae");
- c03df96e967d7177ede70d5c100f08e3c9.meaeea622f2586f161d1b5d11201c0a69 = 1;
- c03df96e967d7177ede70d5c100f08e3c9.mda5f5a0a10736238394cfb52a181ed8d = 3;
- c03df96e967d7177ede70d5c100f08e3c9.mda5c5330c6e22693cd8160b7b6526591 = 1;
- Mevius.Collaboration.FF7.Api.SetDamageSourceBuff(c03df96e967d7177ede70d5c100f08e3c9, materiaSlotInfo.abilityInfos[j]);
- }
- }
- }
- }
- else
- {
- string noAttributeBaseAbilityId = Mevius.Collaboration.FF7.Api.GetNoAttributeBaseAbilityId(materiaSlotInfo.abilityInfos[j]);
- Ceaf68fb2356fb8b84facc86d2fe79f0e.Cca912973d2eb55c3b74a5c95a6475670 cca912973d2eb55c3b74a5c95a3 = Ceaf68fb2356fb8b84facc86d2fe79f0e.Find(noAttributeBaseAbilityId);
- if (cca912973d2eb55c3b74a5c95a3 != null)
- {
- BattleUtility.CopyBattleAbility(cca912973d2eb55c3b74a5c95a3, cca912973d2eb55c3b74a5c95a);
- list.Add(cca912973d2eb55c3b74a5c95a);
- cca912973d2eb55c3b74a5c95a.me37bd2195ab85215257357867bf1f31f = displayText + (i + 1).ToString();
- cca912973d2eb55c3b74a5c95a.mba50449bb16149be0cb9107b3332af55 = text + "_0";
- if (j < count - 1)
- {
- cca912973d2eb55c3b74a5c95a.mfcd8fc0409c28788a0e376aad388f005 = str + "_" + num.ToString();
- cca912973d2eb55c3b74a5c95a.m26d85265ed945179cb5be06cc1527a30 = -1;
- }
- if (materiaSlotInfo.abilityInfos[j].debuffs.Count > 0)
- {
- cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301[0] = Mevius.DataSheet.Api.GetResidentString("ff7MateriaCameraDebuff", "none");
- Array.Clear(cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301, 1, cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301.Length - 1);
- }
- else
- {
- cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301[0] = Mevius.DataSheet.Api.GetResidentString("ff7MateriaCameraBuff", "none");
- Array.Clear(cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301, 1, cca912973d2eb55c3b74a5c95a.m8f4006d551650d0f2bbc0cccda58f301.Length - 1);
- }
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c10 = C9834a30e5f3368ef11b898eb90b12c5b.Find(noAttributeBaseAbilityId);
- if (c03df96e967d7177ede70d5c100f08e3c10 != null)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c11 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c11);
- c03df96e967d7177ede70d5c100f08e3c11.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_0");
- BattleUtility.CopyBattleDamageSource(c03df96e967d7177ede70d5c100f08e3c10, c03df96e967d7177ede70d5c100f08e3c11);
- c03df96e967d7177ede70d5c100f08e3c11.m7e024ed285de34a9f7483eb072477c80 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m8bafa3580a38581118515f64dbe08697 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.mbd10f0aef2b7c61687371c0f7de385d7 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m36dde0bc3246e78f0bd51c3450d9bc69 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m994d4e1ad0d9eda07321fcfbe6e87287 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.mf72ce828fb91fc639faaf341de2096f5 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m072c238da24e5125a477c2c5b84ee8d8 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.mdc5b205500ea1ed16341d9a4d9bee4a9 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.mf72b3b01d0de212265226b9dfba2c5ea = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m5d4c3b300c28febb20f7abbf7beaad79 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m05ced7e20b8e7ecfe1d5eec04f8a8958 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m70a7e54f6c07644bf87e004421d927b1 = 0;
- c03df96e967d7177ede70d5c100f08e3c11.m5e403dbef69e407e4b9a5b563c445fde = 0;
- c03df96e967d7177ede70d5c100f08e3c11.mb79886ee572ee2f554c46f5145cf8416 = 0;
- if (materiaSlotInfo.abilityInfos[j].debuffs.Count != 0)
- {
- Mevius.Collaboration.FF7.Api.SetDamageSourceDebuff(c03df96e967d7177ede70d5c100f08e3c11, materiaSlotInfo.abilityInfos[j]);
- c03df96e967d7177ede70d5c100f08e3c11.m141fbc6685aa36c47b8b7c97eeff932b = text + "_1";
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c12 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c12);
- c03df96e967d7177ede70d5c100f08e3c12.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_1");
- c03df96e967d7177ede70d5c100f08e3c12.mda5c5330c6e22693cd8160b7b6526591 = 2;
- c03df96e967d7177ede70d5c100f08e3c12.mc0e85657175b2f596f858b8e10884392 = 1;
- if (materiaSlotInfo.abilityInfos[j].buffs.Count > 0)
- {
- C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c c03df96e967d7177ede70d5c100f08e3c13 = new C9834a30e5f3368ef11b898eb90b12c5b.C03df96e967d7177ede70d5c100f08e3c();
- list2.Add(c03df96e967d7177ede70d5c100f08e3c13);
- c03df96e967d7177ede70d5c100f08e3c13.setm2fdc5dfffb1b3d841ac3f8230f882c53(text + "_ae");
- c03df96e967d7177ede70d5c100f08e3c13.meaeea622f2586f161d1b5d11201c0a69 = 1;
- c03df96e967d7177ede70d5c100f08e3c13.mda5f5a0a10736238394cfb52a181ed8d = 3;
- c03df96e967d7177ede70d5c100f08e3c13.mda5c5330c6e22693cd8160b7b6526591 = 1;
- Mevius.Collaboration.FF7.Api.SetDamageSourceBuff(c03df96e967d7177ede70d5c100f08e3c13, materiaSlotInfo.abilityInfos[j]);
- }
- }
- else if (materiaSlotInfo.abilityInfos[j].buffs.Count != 0)
- {
- Mevius.Collaboration.FF7.Api.SetDamageSourceBuff(c03df96e967d7177ede70d5c100f08e3c11, materiaSlotInfo.abilityInfos[j]);
- }
- }
- }
- }
- }
- }
- }
- this.m_ff7Ability = ScriptableObject.CreateInstance<Ceaf68fb2356fb8b84facc86d2fe79f0e>();
- this.m_ff7Ability.dataLines = list.ToArray();
- this.m_ff7Ability.Register();
- for (int l = 0; l < this.m_ff7Ability.dataLines.Length; l++)
- {
- Mevius.Loader.Api.LoadAbility(this.m_ff7Ability.dataLines[l].m03efb1c6d38a191c6a0ae0c5f55ec129());
- }
- this.m_ff7DamageSource = ScriptableObject.CreateInstance<C9834a30e5f3368ef11b898eb90b12c5b>();
- this.m_ff7DamageSource.dataLines = list2.ToArray();
- this.m_ff7DamageSource.Register();
- }
- }
- public void EndFF7Ability()
- {
- if (!BattleUtility.IsFF7Gimmick())
- {
- return;
- }
- if (this.m_ff7Ability != null)
- {
- for (int i = 0; i < this.m_ff7Ability.dataLines.Length; i++)
- {
- Mevius.Loader.Api.UnLoadAbility(this.m_ff7Ability.dataLines[i].m03efb1c6d38a191c6a0ae0c5f55ec129());
- }
- this.m_ff7Ability.Unregister();
- UnityEngine.Object.DestroyImmediate(this.m_ff7Ability);
- this.m_ff7Ability = null;
- }
- if (this.m_ff7DamageSource != null)
- {
- this.m_ff7DamageSource.Unregister();
- UnityEngine.Object.DestroyImmediate(this.m_ff7DamageSource);
- this.m_ff7DamageSource = null;
- }
- }
- public void InitFF8Ability()
- {
- if (!BattleUtility.IsFF8Gimmick())
- {
- return;
- }
- for (int i = 0; i < this.ff8DrawAbility.Length; i++)
- {
- if (this.ff8DrawAbility[i] == null)
- {
- this.ff8DrawAbility[i] = new BattleManager.DrawAbility();
- }
- }
- }
- public void EndFF8Ability()
- {
- if (!BattleUtility.IsFF8Gimmick())
- {
- return;
- }
- for (int i = 0; i < this.ff8DrawAbility.Length; i++)
- {
- if (this.ff8DrawAbility[i] != null)
- {
- this.ff8DrawAbility[i].Clear();
- }
- }
- }
- public bool IsFreeAbility()
- {
- return false;
- }
- public void RevivePlayer()
- {
- this.m_playerActor.OnRevive();
- if (this.m_playerActorSub != null && this.m_playerActorSub.IsSummon())
- {
- this.m_playerActorSub.OnReviveSummon();
- }
- if (BattleUtility.IsOptima())
- {
- this.m_optimaUseCounts[0] = (byte)Mevius.Db.Api.GetOptimaLevelAttacker();
- this.m_optimaUseCounts[1] = (byte)Mevius.Db.Api.GetOptimaLevelBlaster();
- this.m_optimaUseCounts[2] = (byte)Mevius.Db.Api.GetOptimaLevelDefender();
- }
- if (BattleUtility.IsFF7Gimmick())
- {
- FF7MateriaSheet ff7CurrentMateriaSet = Mevius.Db.Api.GetFF7CurrentMateriaSet();
- if (ff7CurrentMateriaSet != null)
- {
- C1a80abc65223cbedf4c65f351d473ca0.C68ded254e0859e604ece0328b8447fa0 dsElement = ff7CurrentMateriaSet.DsElement;
- if (dsElement != null)
- {
- byte b = dsElement.m47f624eef22687da96fbcbb211db2c8e();
- for (int i = 0; i < this.m_ff7AbilityUseCounts.Length; i++)
- {
- this.m_ff7AbilityUseCounts[i] = b;
- }
- }
- }
- }
- if (this.IsCountTimeBattle())
- {
- float num = 1f;
- Caa051806b3598cc4aa2892b0900bdadb.C7515a628c1d13daf08c8a160fb5c564e targetStepBattle = Mevius.Field.Api.BattleApi.GetTargetStepBattle(Mevius.Field.Api.GadgetRouteApi.GetTargetGadgetName(), Mevius.App.Api.GetMainJobTypeCurrentDeck());
- if (targetStepBattle != null && BattleTest._i == null)
- {
- num += (float)targetStepBattle.m5b49e9c72574a286a4b602ef72eff9f1() / 100f;
- }
- if (num != 0f && this.m_playerActor != null && this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59 != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- this.m_actionPower = (float)ca4d3b5367a73030692d322e3f08669b.mb340f1c79854e240a4cb690d3cacca53();
- GuiBattleMenu.Instance.TimeLine.ActionPower = this.m_actionPower;
- }
- }
- }
- this.ProcManToMan();
- }
- public void HideBattleEnemyActionName()
- {
- this.m_abilityMessageTime = new PreciseTime(0f);
- Mevius.Gui.Api.HideBattleEnemyActionName();
- }
- public void UpdateAbilityMessage()
- {
- if (this.m_abilityMessageTime.GetSecond() > 0f)
- {
- this.m_abilityMessageTime -= Mevius.App.Api.GetPreciseTimeForBattle();
- if (this.m_abilityMessageTime.GetSecond() <= 0f)
- {
- Mevius.Gui.Api.HideBattleEnemyActionName();
- }
- }
- }
- public bool IsShowAbilityMessage()
- {
- return this.m_abilityMessageTime.GetSecond() > 0f;
- }
- public void ShowAbilityMessage(string name, ElementAttributeBitType attributeBit, float sec)
- {
- if (0f < sec)
- {
- Mevius.Gui.Api.ShowBattleEnemyActionName(name, attributeBit);
- this.m_abilityMessageTime = new PreciseTime(sec);
- }
- }
- public void HideAbilityMessage()
- {
- if (this.IsShowAbilityMessage())
- {
- this.m_abilityMessageTime = new PreciseTime(0f);
- Mevius.Gui.Api.HideBattleEnemyActionName();
- }
- }
- public int GetMultiRoleTypeCount(int type, bool isActive)
- {
- int num = 0;
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (this.m_multiBattleActorList[i] != null && (int)this.m_multiBattleActorList[i].C648971f118c7e1100318b6fb7ac13b59.m3466576105ab362c4a8efc294dbbdd80() == type && (!isActive || this.m_multiBattleActorList[i].IsActive()))
- {
- num++;
- }
- }
- return num;
- }
- public void ProcManToMan()
- {
- int enemyNum = this.GetEnemyNum(false);
- if (Mevius.App.Api.IsPartyMode())
- {
- int num = -1;
- if (enemyNum == 1)
- {
- for (int i = 0; i < this.m_multiBattleActorList.Count; i++)
- {
- if (!this.m_multiBattleActorList[i].IsDead())
- {
- if (num != -1)
- {
- num = -1;
- break;
- }
- num = i;
- }
- }
- }
- for (int j = 0; j < this.m_multiBattleActorList.Count; j++)
- {
- this.m_multiBattleActorList[j].SetManToMan(j == num);
- }
- }
- else if (enemyNum == 1 && !this.m_playerActor.IsDead())
- {
- this.m_playerActor.SetManToMan(true);
- }
- else
- {
- this.m_playerActor.SetManToMan(false);
- }
- }
- public bool IsCountTimeBattle()
- {
- return this.SecondPartBattleTest || Mevius.Db.Api.IsSelectedStory(1);
- }
- public void CreateActionOrderList()
- {
- if (this.m_turnNum == 0)
- {
- return;
- }
- this.m_actionOrderList.Clear();
- List<BattleActor> list = new List<BattleActor>(this.m_actorList.Count);
- for (int i = 0; i < this.m_actorList.Count; i++)
- {
- BattleActor battleActor = this.m_actorList[i];
- if (battleActor != null && battleActor.IsEnemy() && battleActor.IsActive())
- {
- bool flag = false;
- for (int j = 0; j < list.Count; j++)
- {
- if (battleActor.ActionPriority > list[j].ActionPriority)
- {
- list.Insert(j, battleActor);
- flag = true;
- break;
- }
- }
- if (!flag)
- {
- list.Add(battleActor);
- }
- }
- }
- list.Insert(0, this.m_playerActor);
- if (this.IsZone())
- {
- int zoneActionNum = this.GetZoneActionNum();
- for (int k = 0; k < zoneActionNum; k++)
- {
- this.m_actionOrderList.Add(new BattleManager.ActionOrderInfo(this.m_playerActor, 0f, true));
- }
- }
- for (int l = 0; l < list.Count; l++)
- {
- List<float> actionTimeList = list[l].ActionTimeList;
- int count = actionTimeList.Count;
- for (int m = 0; m < count; m++)
- {
- bool flag2 = false;
- int count2 = this.m_actionOrderList.Count;
- for (int n = 0; n < count2; n++)
- {
- if (actionTimeList[m] < this.m_actionOrderList[n].Time)
- {
- this.m_actionOrderList.Insert(n, new BattleManager.ActionOrderInfo(list[l], actionTimeList[m], false));
- flag2 = true;
- break;
- }
- }
- if (!flag2)
- {
- this.m_actionOrderList.Add(new BattleManager.ActionOrderInfo(list[l], actionTimeList[m], false));
- }
- }
- }
- GuiBattleMenu.Instance.TimeLine.SyncIcons(this.m_actionOrderList);
- if (this.m_activeActionOrderActor != null && (!this.m_activeActionOrderActor.IsTimeLineActionStart() || this.m_activeActionOrderActor.IsActionAbilitySkill5402()))
- {
- for (int num = 0; num < this.m_actionOrderList.Count; num++)
- {
- if (this.m_actionOrderList[num].Actor == this.m_activeActionOrderActor)
- {
- this.m_actionOrderList.RemoveAt(num);
- break;
- }
- }
- }
- }
- public int GetZoneActionNum()
- {
- if (this.IsZone())
- {
- return this.m_actionGauge / 100;
- }
- return 0;
- }
- public BattleActor StealActionOrderActor
- {
- get
- {
- return this.m_stealActionOrderActor;
- }
- }
- public bool IsPlayerTurn()
- {
- if (this.IsCountTimeBattle())
- {
- return this._step == BattleManager.BattleStep.CTB && this.m_activeActionOrderActor != null && this.m_activeActionOrderActor.IsPlayer();
- }
- return this._step == BattleManager.BattleStep.PlayerTurn;
- }
- public bool IsEnemyTurn()
- {
- if (this.IsCountTimeBattle())
- {
- return this._step == BattleManager.BattleStep.CTB && this.m_activeActionOrderActor != null && this.m_activeActionOrderActor.IsEnemy();
- }
- return this._step == BattleManager.BattleStep.EnemyTurnStart || this._step == BattleManager.BattleStep.EnemyTurn;
- }
- public float ActiveActionOrderTime
- {
- get
- {
- return this.m_activeActionOrderTime;
- }
- }
- public void RequestCreateActionOrderList()
- {
- this.m_actionOrderListCreateFlag = true;
- }
- public void ChangeActionValue(BattleManager.ChangeActionValueType type, bool updateGui = true)
- {
- if (!this.IsCountTimeBattle())
- {
- return;
- }
- if (this.IsZone())
- {
- return;
- }
- if (this.m_playerActor != null && this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59 != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- int num = (int)ca4d3b5367a73030692d322e3f08669b.mb340f1c79854e240a4cb690d3cacca53();
- int residentInteger = Mevius.DataSheet.Api.GetResidentInteger("ctbActionGaugeMax", 800);
- float num2 = 1f;
- Caa051806b3598cc4aa2892b0900bdadb.C7515a628c1d13daf08c8a160fb5c564e targetStepBattle = Mevius.Field.Api.BattleApi.GetTargetStepBattle(Mevius.Field.Api.GadgetRouteApi.GetTargetGadgetName(), Mevius.App.Api.GetMainJobTypeCurrentDeck());
- if (targetStepBattle != null && BattleTest._i == null)
- {
- num2 += (float)targetStepBattle.m5b49e9c72574a286a4b602ef72eff9f1() / 100f;
- }
- switch (type)
- {
- case BattleManager.ChangeActionValueType.ActionPlayer:
- {
- int value = this.m_actionGauge + (int)(((float)ca4d3b5367a73030692d322e3f08669b.m0d4848e106bd680cfd1196f8ba0c3d42() + this.m_actionPower) * num2);
- float recover = (float)ca4d3b5367a73030692d322e3f08669b.m1d2f620da6509c5de5188e913f3c0742() / 100f;
- this.SetActionGauge(value, residentInteger, recover, updateGui);
- if (num2 != 0f)
- {
- float value2 = this.m_actionPower + ca4d3b5367a73030692d322e3f08669b.mc276dff0be9d55356493915ce0070e33();
- this.SetActionPower(value2, (float)num);
- }
- break;
- }
- case BattleManager.ChangeActionValueType.KillEnemy:
- {
- int value3 = this.m_actionGauge + (int)((float)ca4d3b5367a73030692d322e3f08669b.mffa9952c38b62a6eada7503c4de83482() * num2);
- this.SetActionGauge(value3, residentInteger, 0f, updateGui);
- if (num2 != 0f)
- {
- float value4 = this.m_actionPower + (float)ca4d3b5367a73030692d322e3f08669b.m20d90c80b763769e240a44e9347cf29a();
- this.SetActionPower(value4, (float)num);
- }
- break;
- }
- case BattleManager.ChangeActionValueType.Steal:
- {
- int value5 = this.m_actionGauge + (int)((float)ca4d3b5367a73030692d322e3f08669b.m135ec1c46a38ce63faae8044f737b817() * num2);
- this.SetActionGauge(value5, residentInteger, 0f, updateGui);
- if (num2 != 0f)
- {
- float value6 = this.m_actionPower + (float)ca4d3b5367a73030692d322e3f08669b.ma774aa87a223efb82099d5ba203a6622();
- this.SetActionPower(value6, (float)num);
- }
- break;
- }
- case BattleManager.ChangeActionValueType.ActionEnemy:
- {
- int value7 = this.m_actionGauge + (int)(((float)(this.m_actionGauge * (int)ca4d3b5367a73030692d322e3f08669b.md348615865b30fc23159943e470701f1()) / 100f + this.m_actionPower * (float)ca4d3b5367a73030692d322e3f08669b.m2a4ecb387a60b0c66ac23d1dfb5e1cde() / 100f) * num2);
- this.SetActionGauge(value7, residentInteger, 0f, updateGui);
- if (num2 != 0f)
- {
- float value8 = this.m_actionPower + this.m_actionPower * (float)ca4d3b5367a73030692d322e3f08669b.md9ee2a013615a45d7fd85b22d6e4f527() / 100f;
- this.SetActionPower(value8, (float)num);
- }
- break;
- }
- case BattleManager.ChangeActionValueType.ProgressTurn:
- {
- int value9 = this.m_actionGauge + (int)((float)(this.m_actionGauge * (int)ca4d3b5367a73030692d322e3f08669b.md2ff17394ade512fba8c9c4e5bf87632()) / 100f * num2);
- this.SetActionGauge(value9, residentInteger, 0f, updateGui);
- if (num2 != 0f)
- {
- float value10 = this.m_actionPower + this.m_actionPower * (float)ca4d3b5367a73030692d322e3f08669b.maf550547d585eb4e42c34d19eea74403() / 100f;
- this.SetActionPower(value10, (float)num);
- }
- break;
- }
- case BattleManager.ChangeActionValueType.BattleEnd:
- {
- int value11 = this.m_actionGauge + (int)(((float)(this.m_actionGauge * (int)ca4d3b5367a73030692d322e3f08669b.md348615865b30fc23159943e470701f1()) / 100f + (float)ca4d3b5367a73030692d322e3f08669b.mf73a728d036d8e88a559e7efa5f2dae7()) * num2);
- this.SetActionGauge(value11, residentInteger, 0f, updateGui);
- if (num2 != 0f)
- {
- float value12 = this.m_actionPower + this.m_actionPower * (float)ca4d3b5367a73030692d322e3f08669b.md9ee2a013615a45d7fd85b22d6e4f527() / 100f + (float)ca4d3b5367a73030692d322e3f08669b.mfd01d9f5ba5b7994703058402fef27e6();
- this.SetActionPower(value12, (float)num);
- }
- break;
- }
- }
- }
- }
- }
- public void DecrementActionGaugeSubStrike()
- {
- if (this.m_playerActor != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- int actionGauge = this.m_actionGauge - (int)ca4d3b5367a73030692d322e3f08669b.m8ffedb5dbe5912c2b2eb70f721a7dfac();
- this.SetActionGauge(actionGauge);
- }
- }
- }
- public void DecrementActionGaugeZoneAction()
- {
- int actionGauge = this.m_actionGauge - Mevius.DataSheet.Api.GetResidentInteger("ctbDecrementActionGaugeZoneAction", 100);
- this.SetActionGauge(actionGauge);
- }
- public void DecrementActionGaugeJobChange()
- {
- int actionGauge = this.m_actionGauge - this.m_jobChangeActionGauge;
- this.SetActionGauge(actionGauge);
- }
- public int GetJobChangeActionGauge()
- {
- if (this.m_playerActor != null && this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59 != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- int num;
- this.m_playerActor.GetAutoAbilityParam(DbManager.AutoAbilityType.AUTOABILITYTYPE_CS1410, out num);
- this.PlayerJobChangeChargeTurn = (byte)num;
- return (int)ca4d3b5367a73030692d322e3f08669b.m38abe99a7fb15538a9e7e7a339aba947() - (4 - num) * 100;
- }
- }
- return 0;
- }
- public float ActionPower
- {
- get
- {
- return this.m_actionPower;
- }
- }
- public void SetActionPower(float value)
- {
- if (this.m_playerActor != null && this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59 != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- this.SetActionPower(value, (float)ca4d3b5367a73030692d322e3f08669b.mb340f1c79854e240a4cb690d3cacca53());
- }
- }
- }
- private void SetActionPower(float value, float valueMax)
- {
- value = Math.Max(value, 0f);
- value = Math.Min(value, valueMax);
- this.m_actionPower = value;
- GuiBattleMenu.Instance.TimeLine.ActionPower = value;
- GuiBattleMenu.Instance.TimeLine.ActionPowerMax = valueMax;
- }
- public int ActionGauge
- {
- get
- {
- return this.m_actionGauge;
- }
- }
- public void SetActionGauge(int value)
- {
- this.SetActionGauge(value, Mevius.DataSheet.Api.GetResidentInteger("ctbActionGaugeMax", 800), 0f, true);
- }
- private void SetActionGauge(int value, int valueMax, float recover, bool updateGui = true)
- {
- value = Math.Max(value, 0);
- value = Math.Min(value, valueMax);
- if (value < this.m_actionGauge)
- {
- if (!this.IsZone())
- {
- this.m_actionGaugeDecrease = this.m_actionGauge;
- }
- }
- else if (value < this.m_actionGaugeDecrease && recover != 0f)
- {
- value += (int)((float)(this.m_actionGaugeDecrease - value) * recover + 0.5f);
- value = Math.Max(value, 0);
- value = Math.Min(value, valueMax);
- }
- this.m_actionGauge = value;
- if (GuiBattleMenu.Instance.TimeLine != null && updateGui)
- {
- GuiBattleMenu.Instance.TimeLine.ActionGaugeMax = valueMax;
- GuiBattleMenu.Instance.TimeLine.ActionGauge = this.m_actionGauge;
- GuiBattleMenu.Instance.TimeLine.RecoveryGauge = Mathf.Max(this.m_actionGaugeDecrease - this.m_actionGauge, 0);
- }
- }
- public int ActionGaugeDecrease
- {
- get
- {
- return this.m_actionGaugeDecrease;
- }
- set
- {
- this.m_actionGaugeDecrease = value;
- }
- }
- public void ProcSubStrikeStart(bool end)
- {
- BattleActor battleActor;
- BattleActor battleActor2;
- if (Mevius.Db.Api.GetParameter(DbManager.ParameterType.Current_Job) != 0)
- {
- if (end)
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- }
- else
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerSubName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerName());
- }
- }
- else if (end)
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerSubName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerName());
- }
- else
- {
- battleActor = this.FindActor(BattleManager.GetBattlePlayerName());
- battleActor2 = this.FindActor(BattleManager.GetBattlePlayerSubName());
- }
- battleActor.chara.OnSetActive(false, true);
- battleActor.chara.gameObject.SetActive(false);
- battleActor2.chara.PhysicsResetPose();
- battleActor2.chara.gameObject.SetActive(true);
- battleActor2.chara.OnSetActive(true, true);
- bool flag = this.IsPartyChange();
- if (!end)
- {
- int[,] statusEffectEntries = battleActor.GetStatusEffectEntries();
- int[][] array = new int[statusEffectEntries.GetLength(0)][];
- for (int i = 0; i < array.GetLength(0); i++)
- {
- array[i] = new int[4];
- array[i][0] = statusEffectEntries[i, 0];
- array[i][1] = statusEffectEntries[i, 1];
- array[i][2] = statusEffectEntries[i, 2];
- array[i][3] = statusEffectEntries[i, 3];
- }
- bool manToMan = battleActor.ManToMan;
- int hpMax = battleActor2.HpMax;
- battleActor2.SetStatusEffectEntries(array);
- battleActor2.ManToMan = manToMan;
- float num = (float)battleActor2.HpMax / (float)hpMax;
- battleActor2.SetHp((int)((float)battleActor2.Hp * num + 0.5f), false, false);
- }
- battleActor2.chara.transform.position = battleActor.chara.transform.position;
- battleActor2.chara.transform.rotation = battleActor.chara.transform.rotation;
- battleActor2.chara.OnSetRotDirection(battleActor.chara.GetRotDirection());
- battleActor2.ActionNum = battleActor.ActionNum;
- battleActor2.NormalAttackCombo = battleActor.NormalAttackCombo;
- battleActor2.SuccessiveActionNum = battleActor.SuccessiveActionNum;
- battleActor2.ActionNumDecrementFlag = battleActor.ActionNumDecrementFlag;
- battleActor2.AbilityCombo = battleActor.AbilityCombo;
- battleActor2.AbilityUseSuportCount = battleActor.AbilityUseSuportCount;
- battleActor.ManaAttributeUseNum.CopyTo(battleActor2.ManaAttributeUseNum, 0);
- if (!flag)
- {
- float hpRate = battleActor.GetHpRate();
- if ((int)(hpRate * 100f) != (int)(battleActor2.GetHpRate() * 100f))
- {
- int num2 = (int)((float)battleActor2.HpMax * hpRate + 0.5f);
- if (num2 < 1)
- {
- num2 = 1;
- }
- battleActor2.SetHp(num2, false, true);
- }
- else
- {
- battleActor2.SetHp(battleActor2.Hp, false, true);
- }
- }
- battleActor2.TargetActor = battleActor.TargetActor;
- float num3 = (float)battleActor.ManaUseNum / (float)battleActor.JobAbilityUseManaUseNum;
- float num4 = (float)battleActor2.ManaUseNum / (float)battleActor2.JobAbilityUseManaUseNum;
- if ((int)(num3 * 100f) != (int)(num4 * 100f))
- {
- battleActor2.ManaUseNum = (int)((float)battleActor2.JobAbilityUseManaUseNum * num3 + 0.5f);
- if (num3 < 1f && battleActor2.ManaUseNum == battleActor2.JobAbilityUseManaUseNum)
- {
- battleActor2.ManaUseNum--;
- }
- }
- battleActor2.PrevUseCardAbilityAttribute = battleActor.PrevUseCardAbilityAttribute;
- battleActor2.State = battleActor.State;
- battleActor2.CopyActionTimeList(battleActor.ActionTimeList);
- battleActor.SetWeaponEffectLoopOff();
- battleActor.LoopOffSeraResidentEffect();
- battleActor2.SetEnchantWeaponEffect();
- battleActor2.SetSeraResidentEffect();
- this.m_cameraManager.OnJobChange(battleActor, battleActor2);
- this.m_playerActor = battleActor2;
- this.m_playerActorSub = battleActor;
- if (this.m_playerActor.ActionNum == 0)
- {
- BattleManager._i.OnEnemyNoActionPlayerActionContinue();
- }
- if (end)
- {
- battleActor2.SubActionMainIn();
- }
- else
- {
- battleActor2.SubActionSubIn();
- }
- if (!flag)
- {
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "change_001",
- m_BindActor = battleActor2.chara.gameObject
- });
- }
- Mevius.Sound.Api.StopSound(this.m_jobChangeSoundHandle, 100);
- this.m_jobChangeSoundHandle = this.m_playerActor.PlayStateSound(StateSound.StateSoundType.JobChange);
- GameObject gameObject = battleActor2.chara.gameObject;
- if (gameObject)
- {
- FacialController component = gameObject.GetComponent<FacialController>();
- if (component != null)
- {
- int playTime = Mevius.Sound.Api.GetPlayTime(this.m_jobChangeSoundHandle);
- if (playTime > 0)
- {
- PreciseTime preciseTime = new PreciseTime((float)playTime / 1000f * 0.9f);
- component.EnableLipsync = true;
- component.StartLipsync(preciseTime.GetSecond());
- }
- }
- }
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Field_3D, soundResourceName, "system_se_jobchange", 1f, 0, 0, this.m_playerActor.chara.transform.position, null, false, -1, 0, 1f);
- this.SetFairyFollowPlayer(true);
- if (end)
- {
- this.CreateActionOrderList();
- }
- }
- public bool CanUseSubStrike()
- {
- if (this.m_playerActor != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- return (int)ca4d3b5367a73030692d322e3f08669b.m8ffedb5dbe5912c2b2eb70f721a7dfac() <= this.m_actionGauge;
- }
- }
- return false;
- }
- public bool IsSubAction()
- {
- return this.SubActionType != BattleManager.ESubActionType.None;
- }
- public bool IsSubStrike()
- {
- return this.SubActionType == BattleManager.ESubActionType.Ability;
- }
- public bool IsZone()
- {
- return this.m_zone;
- }
- private void UpdateZone(out bool zoneStart)
- {
- zoneStart = false;
- if (this.m_zone)
- {
- if (this.m_actionGauge <= 0)
- {
- this.EndZone(false, false);
- }
- }
- else if (Mevius.DataSheet.Api.GetResidentInteger("ctbActionGaugeMax", 800) <= this.m_actionGauge)
- {
- if (this.m_playerActor != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- this.m_actionPower = (float)ca4d3b5367a73030692d322e3f08669b.mb340f1c79854e240a4cb690d3cacca53();
- GuiBattleMenu.Instance.TimeLine.ActionPower = this.m_actionPower;
- }
- }
- this.m_zone = true;
- this.m_actionGaugeDecrease = 0;
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_mzone_in", 1f, 0, 0, false, -1, 1f);
- this.m_zoneSoundHandle = Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_mzone_loop", 1f, 0, 0, false, -1, 1f);
- Mevius.Effect.Api.CreateInstance(new Mevius.Effect.Api.CreateInstanceArg
- {
- m_strResourceName = Mevius.Effect.Api.GetResourceName(Mevius.Effect.Constants.ResourceCategory.Resident, string.Empty),
- m_strSubResource = "mzone_fil_001",
- m_bIgnoreTimeScale = true
- });
- this.CreateActionOrderList();
- BattleUtility.AddMissionCount(MissionCountType.ZoneCount, 1);
- for (int i = 0; i < this._entryBattleCharaSpecList.Count; i++)
- {
- string enemyActorName = BattleManager.GetEnemyActorName(i);
- BattleActor battleActor = this.FindActor(enemyActorName);
- if (battleActor != null && battleActor.IsActive() && battleActor.Ai != null)
- {
- battleActor.Ai.OnBehavior(BattleAiData.Pattern.TimingType.ZoneStart, string.Empty, null, true);
- }
- }
- if (this.m_playerActor != null)
- {
- this.m_playerActor.UpdateJobAbilityGauge();
- }
- zoneStart = true;
- GuiBattleMenu.Instance.TimeLine.RecoveryGauge = Mathf.Max(this.m_actionGaugeDecrease - this.m_actionGauge, 0);
- GuiBattleMenu.Instance.ShowMobiusZone();
- }
- GuiBattleMenu.Instance.IsZone = this.m_zone;
- }
- public void EndZone(bool jobAbility, bool createActionOrderList)
- {
- if (this.m_zone)
- {
- this.m_zone = false;
- this.m_subActionType = BattleManager.ESubActionType.None;
- this.m_actionPower = 0f;
- Mevius.Sound.Api.StopSound(this.m_zoneSoundHandle, 1000);
- this.m_zoneSoundHandle = 0;
- string soundResourceName = Mevius.Sound.Api.GetSoundResourceName("Resident");
- Mevius.Sound.Api.CreateSound(SoundManager.SoundCategory.Gui, soundResourceName, "system_se_mzone_end", 1f, 0, 0, false, -1, 1f);
- if (jobAbility && this.m_playerActor != null)
- {
- C43401f69745a04cbd6ee6dcffba76ae5.Ca4d3b5367a73030692d322e3f08669b5 ca4d3b5367a73030692d322e3f08669b = C43401f69745a04cbd6ee6dcffba76ae5.Find(this.m_playerActor.C648971f118c7e1100318b6fb7ac13b59.mb95164dbb096f52883c4e02005721de1());
- if (ca4d3b5367a73030692d322e3f08669b != null)
- {
- this.m_actionGauge = this.m_actionGauge * (int)ca4d3b5367a73030692d322e3f08669b.m31caf9df2e1e38cb41fe408d2a600a06() / 100;
- GuiBattleMenu.Instance.TimeLine.ActionGauge = this.m_actionGauge;
- }
- }
- if (createActionOrderList)
- {
- this.CreateActionOrderList();
- }
- this.m_activeActionOrderActor.UpdateJobAbilityGauge();
- GuiBattleMenu.Instance.IsZone = this.m_zone;
- }
- }
- public void GetJobAbilityName(out string mainJobAbilityName, out string subJobAblityName)
- {
- BattleActor battleActor = this.m_playerActor;
- if (this.IsCountTimeBattle() && battleActor.IsSubActionSub())
- {
- battleActor = this.m_playerActorSub;
- }
- if (battleActor != null)
- {
- if (this.IsCountTimeBattle() && this.IsZone())
- {
- BattleActor battleActor2 = this.m_playerActorSub;
- if (battleActor == battleActor2)
- {
- battleActor2 = this.m_playerActor;
- }
- if (battleActor2 != null)
- {
- if (this.m_playerActor.IsJobAbilityGaugeMax())
- {
- mainJobAbilityName = battleActor2.GetJobAbilityTextResourceId();
- subJobAblityName = battleActor.GetJobAbilityTextResourceId();
- }
- else
- {
- mainJobAbilityName = battleActor2.GetJobAbilityTextResourceId();
- subJobAblityName = string.Empty;
- }
- }
- else
- {
- mainJobAbilityName = battleActor.GetJobAbilityTextResourceId();
- subJobAblityName = string.Empty;
- }
- }
- else
- {
- mainJobAbilityName = battleActor.GetJobAbilityTextResourceId();
- subJobAblityName = string.Empty;
- }
- }
- else
- {
- mainJobAbilityName = string.Empty;
- subJobAblityName = string.Empty;
- }
- }
- private const float DirectTargetSelectCheckDist = 0.125f;
- private const float DirectTargetSelectCheckDistTargetView = 0.25f;
- private const float InputViewportMax = 0.9375f;
- private const float InputViewportMin = 0.171875f;
- public static BattleManager _i = new BattleManager();
- private static readonly byte SaveDataVersion = 3;
- private static readonly byte MultiSaveDataVersion = 0;
- private uint charaspecUnloadTaskId;
- private uint resourceUnloadTaskId;
- private BattleManager.BattleStep _step;
- private uint connectTask;
- private BattleManager.ResourceStep _resourceStep;
- private BattleManager.MultiBattleCmdStep m_multiBattleCmdStep;
- private BattleManager.MultiBattleCmdStep m_multiBattleCmdStepAfterSync;
- private BattleManager.BattleStep m_stepAfterSync;
- private Mevius.Party.Api.SnapStepType m_snapType;
- private HashSet<string> _actorNameList;
- private float m_actionStepWait;
- private bool m_lastBattle;
- private bool m_lastBgmVolumeChanged;
- public string currentBattleScene;
- private int m_enemyLevel;
- private List<string> _entryBattleCharaSpecList;
- private HashSet<string> _loadCharaSpecList;
- private BattleCameraManager m_cameraManager;
- private Vector3 _basePosition = Vector3.zero;
- private int m_breakNum;
- private int m_chainNum;
- private int m_turnNum;
- private int m_deadNum;
- private float m_placementPlayerDistanceStart;
- private float m_placementPlayerDistanceEnd;
- private string m_placementEnemyId;
- public bool m_boss;
- private bool m_chaosBattle;
- private bool m_shadowBlankBattle;
- private bool m_forceAllCameraBattle;
- private string m_targetSelectCameraName;
- private BattleActor m_playerActor;
- private BattleActor m_playerActorSub;
- private BattleActor m_selfActor;
- private BattleActor m_targetActor;
- private BattleFairyActor m_fairyActor;
- private bool m_partyMemberTurn;
- private List<BattleActor> m_multiBattleActorList = new List<BattleActor>();
- private int m_multiBattleCurrentOrder;
- private List<int> m_multiBattleSlotList = new List<int>();
- private List<BattleActor> m_updateReadyActionList = new List<BattleActor>(4);
- private List<BattleActor> m_updatedList = new List<BattleActor>(4);
- private Mevius.Effect.Api.EffectHandle m_multiBattleActorCursorHandle;
- private ulong m_multiBattleStartTime;
- private ulong m_multiBattleTurnStartTime;
- private ulong m_multiBattleTurnLimitTime;
- private bool m_multiBattleIgnoreMemberActionCamera;
- private Vector2 m_touchDownPos;
- private Vector2[] m_touchPos = new Vector2[2];
- private bool m_inputCheck;
- private bool m_inputTouch;
- private bool m_stayMove;
- private static float TargetSelectHrzAngleAdjust = 55f;
- private static float TargetSelectVrtAngleAdjust = 85f;
- private bool m_inputAccepted;
- private Vector2 m_lastTouchPos;
- private bool m_lasTouchPosInited;
- private BattleManager.AutoAttackType m_autoAttack;
- private float m_autoAttackTimer;
- private GameObject m_rootObject;
- private List<BattleActor> m_actorList = new List<BattleActor>();
- private List<BattleActor> m_actionPriorityEnemyActorList = new List<BattleActor>();
- private BattleDamageSourceManager m_damageSourceManager = new BattleDamageSourceManager();
- private BattleManaObjectManager m_manaObjectManager = new BattleManaObjectManager();
- private Mevius.Gui.Api.GuiHandle m_MsgHandle;
- private BattleSlow m_battleSlow = new BattleSlow();
- private BattleTutorialManager m_tutorialManager;
- private SurfaceBlend m_surfaceBlend;
- private float m_surfaceBlendAlpha;
- private bool m_bMultiBattleTest;
- private List<BattleActor> m_screenOrderEnemyActorList = new List<BattleActor>();
- private List<Vector3> m_screenOrderEnemyPosList = new List<Vector3>();
- private BattleManager.BattleGuiTouchComponent m_guiTouchComponent = new BattleManager.BattleGuiTouchComponent();
- public bool m_ignoreAttack;
- private BattleManager.FairyEffectType m_fairyEffectType;
- private bool m_presetFairyEffect;
- private bool m_lastEnemyEscape;
- private Mevius.Common.Random m_rand = new Mevius.Common.Random();
- private Mevius.Common.Random m_playerDamageRand = new Mevius.Common.Random();
- private Mevius.Common.Random m_playerMovementRand = new Mevius.Common.Random();
- private int m_randCount;
- private int m_damageRandCount;
- private int m_movementRandCount;
- private PreciseTime m_preciseTime = default(PreciseTime);
- public int BattleHash;
- private short[] m_enemyAiCommonCounters = new short[4];
- private bool m_enemyActionEndFlag;
- private byte m_playerJobChangeChargeTurn;
- private byte m_playerJobChangeThroughTurn;
- private int m_jobChangeSoundHandle;
- private bool m_fairyHour;
- private bool m_isJobBgm;
- private bool m_isBgmRandSet;
- private uint m_bgmRandValue;
- private Mevius.Effect.Api.EffectHandle m_breakEffectHandle;
- private bool m_isMultiFinishCamera;
- private OptimaType m_optimaType = OptimaType.None;
- private byte[] m_optimaUseCounts = new byte[3];
- private int[] m_missionCounts = new int[128];
- private int[] m_bossMissionCounts = new int[128];
- private long[] m_saveLongValues = new long[16];
- private long[] m_bossSaveLongValues = new long[16];
- private byte m_playerFinishCount;
- private Ceaf68fb2356fb8b84facc86d2fe79f0e m_ff7Ability;
- private C9834a30e5f3368ef11b898eb90b12c5b m_ff7DamageSource;
- private byte[] m_ff7AbilityUseCounts = new byte[3];
- private PreciseTime m_abilityMessageTime = default(PreciseTime);
- private List<BattleManager.ActionOrderInfo> m_actionOrderList = new List<BattleManager.ActionOrderInfo>();
- private BattleActor m_activeActionOrderActor;
- private BattleActor m_stealActionOrderActor;
- private float m_activeActionOrderTime;
- private bool m_actionOrderListCreateFlag;
- private int m_actionGauge;
- private int m_actionGaugeDecrease;
- private float m_actionPower;
- private int m_jobChangeActionGauge;
- private BattleManager.ESubActionType m_subActionType;
- private bool m_zone;
- private int m_zoneSoundHandle;
- private BattleActor m_dqLogActor;
- private Dictionary<string, sbyte> m_dqSameNameDictionary;
- private BattleManager.DrawAbility[] ff8DrawAbility = new BattleManager.DrawAbility[3];
- private string[] m_ff8LoadAbilityIDs = new string[3];
- private GameObject lastBattleWinActorObject;
- private bool _active;
- private bool _enableUnloadRequest;
- private bool requestStartBattle;
- public static string c_BattleEscapeFade = "BattleEscapeFade";
- private uint taskid;
- public bool SecondPartBattleTest;
- public enum BattleStep
- {
- None,
- CreateActor,
- Init,
- EncountCameraWait,
- MenuCreateWait,
- MenuShowWait,
- AutoClipWait,
- StepBattleEffect,
- BattleStart,
- FairyTurnStart,
- FairyTurn,
- PlayerTurnStart,
- PlayerTurnStartWait,
- PlayerTurn,
- CheckMultiBattleCmd,
- MultiBattleInputStart,
- MultiBattleInputStartWait,
- MultiBattleInput,
- EnemyTurnStart,
- EnemyTurnStartWait,
- EnemyTurn,
- CTBStart,
- CTB,
- EscapeCheck,
- Escape,
- EscapeWait,
- CheckChara,
- CharaDeleteWait,
- CharaCreateWait,
- ContinueCheck,
- ContinueCheckWait,
- MagicStoneCheck,
- WaitBuyMagicStone,
- Continue,
- ContinueWait,
- ContinueDirection,
- ContinueDirectionCTB,
- ResultReady,
- Result,
- PreResultWait,
- PreResultWait2,
- Result2,
- ResultWait,
- ResultIdleWait,
- ResultEnd,
- ActionCameraEndWait,
- ResourceStepUnload,
- ResourceStepUnloadWait,
- End,
- Exit
- }
- public enum ResourceStep
- {
- None,
- Init,
- LoadCharaSpec,
- LoadCharaSpecWait,
- CreateActor,
- CreateActorWait,
- EndRequestWait,
- RemoveActor,
- RemoveActorWait,
- UnloadCharaSpec,
- UnloadCharaSpecWait,
- End
- }
- public enum MultiBattleCmdStep
- {
- None,
- SendSnap,
- SnapSync,
- SnapSyncWait,
- MultiInputWait,
- CurrentPlayer
- }
- public enum AutoAttackType
- {
- Off,
- NormalAutoAttack,
- FullAutoAttack
- }
- public enum AutoAttackStrategyType
- {
- DefensiveType,
- BreakType,
- AttackType,
- StrategyTypeMax
- }
- public enum AutoJobAbilityType
- {
- NoUse,
- UseBreak,
- UseBpArmor,
- Use
- }
- private class BattleGuiTouchComponent : GuiTouchEventComponent.IPressEvent
- {
- public void GuiOnPress(bool isPressed)
- {
- BattleManager._i.m_ignoreAttack = false;
- if (isPressed && UICamera.touchCount == 1)
- {
- this.m_stateBit |= 3u;
- }
- else if (!isPressed && UICamera.touchCount == 1)
- {
- this.m_stateBit = 4u;
- }
- }
- public bool GuiOnLongPress(GameObject go)
- {
- return false;
- }
- public void Update()
- {
- this.m_stateBit &= 2u;
- }
- public bool IsPress()
- {
- return (this.m_stateBit & 1u) != 0u;
- }
- public bool IsDown()
- {
- return (this.m_stateBit & 2u) != 0u;
- }
- public bool IsUp()
- {
- return (this.m_stateBit & 4u) != 0u;
- }
- public uint m_stateBit;
- public enum StateType
- {
- Press = 1,
- Down,
- Up = 4
- }
- }
- public enum FairyEffectType
- {
- None,
- Revive,
- Heal,
- Rescue,
- Cheer,
- Encourage
- }
- public struct ActionOrderInfo
- {
- public ActionOrderInfo(BattleActor actor, float time, bool isZone = false)
- {
- this.Actor = actor;
- this.Time = time;
- this.IsZone = isZone;
- }
- public BattleActor Actor;
- public float Time;
- public bool IsZone;
- }
- public enum ChangeActionValueType
- {
- ActionPlayer,
- KillEnemy,
- Steal,
- ActionEnemy,
- ProgressTurn,
- BattleEnd
- }
- public enum ESubActionType
- {
- None,
- Ability,
- JobAbility
- }
- public class DrawAbility
- {
- public DrawAbility()
- {
- this.id = 0;
- this.Datasheet = null;
- this.remainingCount = 0;
- }
- public void Clear()
- {
- this.id = 0;
- this.remainingCount = 0;
- this.Datasheet = null;
- }
- public int id;
- public C4c26d468b97150ce002ae9a639f4ea2a.C1dc494102b702de4447e82ad4b8a1927 Datasheet;
- public int remainingCount;
- }
- public enum LastBattleWinCameraType
- {
- Player,
- Fairy
- }
- public enum EncountType
- {
- Normal,
- Caution
- }
- private class AutoFocusInfo
- {
- public BattleActor actor;
- public float radian = 3.14159274f;
- public Vector3 dir;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement