using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200004A RID: 74
[Token(Token = "0x200004A")]
public class AI_BossLevel05 : AI_NPC
{
	// Token: 0x06000253 RID: 595 RVA: 0x00007D1C File Offset: 0x00005F1C
	[Token(Token = "0x6000253")]
	[Address(RVA = "0x14A04A0", Offset = "0x149F2A0", VA = "0x1814A04A0", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		CharacterController controller = this.g_Move.controller;
		this.g_CC = controller;
		Animator component = Common.FindChild(this.g_This.transform, "Boss05_Face").GetComponent<Animator>();
		this.g_AnimFace = component;
		BossLevel05EffectPlay component2 = This.GetComponent<BossLevel05EffectPlay>();
		this.g_Effect = component2;
		BossLevel05EffectPlay bossLevel05EffectPlay = this.g_Effect;
		MoveController g_Move = this.g_Move;
		int num = 0;
		NPCManage g_NPCM = this.g_NPCM;
		bossLevel05EffectPlay.InitData(g_NPCM, this, g_Move);
		VoiceBoss04 component3 = This.GetComponent<VoiceBoss04>();
		this.g_Voice = component3;
		VoiceBoss04 voiceBoss = this.g_Voice;
		Transform transform = Common.FindChild(This.transform, "Bip001 Head");
		voiceBoss.InitData(transform);
		MoveController g_Move2 = this.g_Move;
		this.g_fDragRotation = 0.4f;
		g_Move2.SetDragRotation(0.4f);
		this.g_Move.SetDragMove(9f);
		this.g_Move.gravity = (float)num;
		this.g_fVisionDistance = 200f;
		this.g_fVisionAngle = 45f;
		this.g_fWalkSpeed = 3f;
		this.g_fRunSpeed = 6f;
		this.g_fDashSpeed = 13.5f;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		Shake shake2 = this.g_ShakeHead;
		Transform transform2 = Common.FindChild(This.transform, "Bip001 Head");
		int num2 = 0;
		shake2.Start(transform2, num2 != 0);
		Shake shake3 = new Shake();
		this.g_ShakeBody = shake3;
		Shake shake4 = this.g_ShakeBody;
		Transform transform3 = Common.FindChild(This.transform, "Bip001 Spine");
		int num3 = 0;
		shake4.Start(transform3, num3 != 0);
		Shake shake5 = new Shake();
		this.g_ShakeWeapon = shake5;
		Shake shake6 = this.g_ShakeWeapon;
		Transform transform4 = Common.FindChild(This.transform, "Bip001 R Hand");
		int num4 = 0;
		shake6.Start(transform4, num4 != 0);
		Shake shake7 = new Shake();
		this.g_ShakeAll = shake7;
		Shake shake8 = this.g_ShakeAll;
		Transform transform5 = Common.FindChild(This.transform, "Bip001");
		int num5 = 0;
		shake8.Start(transform5, num5 != 0);
		this.g_Status = (AI_NPC.AIStatus)((ulong)17L);
	}

	// Token: 0x06000254 RID: 596 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000254")]
	[Address(RVA = "0x14A08E0", Offset = "0x149F6E0", VA = "0x1814A08E0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000255 RID: 597 RVA: 0x00007F2C File Offset: 0x0000612C
	[Token(Token = "0x6000255")]
	[Address(RVA = "0x149FE20", Offset = "0x149EC20", VA = "0x18149FE20", Slot = "6")]
	public override void LateUpdate()
	{
		base.Initialize();
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeWeapon.Update();
		this.g_ShakeAll.Update();
	}

	// Token: 0x06000256 RID: 598 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000256")]
	[Address(RVA = "0x149AAB0", Offset = "0x14998B0", VA = "0x18149AAB0", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000257 RID: 599 RVA: 0x00007F74 File Offset: 0x00006174
	[Token(Token = "0x6000257")]
	[Address(RVA = "0x149A960", Offset = "0x1499760", VA = "0x18149A960")]
	private void EndFightStatus(AI_BossLevel05.AIFighting Status)
	{
		if (Status == AI_BossLevel05.AIFighting.Idle)
		{
			CharacterBaseData component = this.g_This.GetComponent<CharacterBaseData>();
			Func<string> func = new Func(this.GetBossName);
			Game.SetBossHP(component, func);
			Game.sceneManager.SetBossDialogue(CombatDialogueType.Stage05Boss);
		}
	}

	// Token: 0x06000258 RID: 600 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000258")]
	[Address(RVA = "0x149C4E0", Offset = "0x149B2E0", VA = "0x18149C4E0")]
	private void InitFightStatus(AI_BossLevel05.AIFighting Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000259 RID: 601 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000259")]
	[Address(RVA = "0x1498E40", Offset = "0x1497C40", VA = "0x181498E40")]
	private void AFightSelect()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025A RID: 602 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025A")]
	[Address(RVA = "0x149B650", Offset = "0x149A450", VA = "0x18149B650")]
	private float GetAttackRadius(AI_BossLevel05.AIFighting AF)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025B RID: 603 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025B")]
	[Address(RVA = "0x1499410", Offset = "0x1498210", VA = "0x181499410")]
	private void AWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025C RID: 604 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025C")]
	[Address(RVA = "0x1498680", Offset = "0x1497480", VA = "0x181498680")]
	private void ADashStart()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025D RID: 605 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025D")]
	[Address(RVA = "0x1498F20", Offset = "0x1497D20", VA = "0x181498F20")]
	private void AMagic02DashStart()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025E RID: 606 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025E")]
	[Address(RVA = "0x1498840", Offset = "0x1497640", VA = "0x181498840")]
	private void ADash()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600025F RID: 607 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600025F")]
	[Address(RVA = "0x14982A0", Offset = "0x14970A0", VA = "0x1814982A0")]
	private void ADashPlus()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000260 RID: 608 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000260")]
	[Address(RVA = "0x14990B0", Offset = "0x1497EB0", VA = "0x1814990B0")]
	private void AMagic02Dash()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000261 RID: 609 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000261")]
	[Address(RVA = "0x1498100", Offset = "0x1496F00", VA = "0x181498100")]
	private void ADashEnd()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000262 RID: 610 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000262")]
	[Address(RVA = "0x1497BD0", Offset = "0x14969D0", VA = "0x181497BD0")]
	private void AAttackDashBLoop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000263 RID: 611 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000263")]
	[Address(RVA = "0x1497920", Offset = "0x1496720", VA = "0x181497920")]
	private void AAttackDashB02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000264 RID: 612 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000264")]
	[Address(RVA = "0x149A600", Offset = "0x1499400", VA = "0x18149A600")]
	private void AttackPenetrateLoop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000265 RID: 613 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000265")]
	[Address(RVA = "0x149A470", Offset = "0x1499270", VA = "0x18149A470")]
	private void AttackPenetrateAgain()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000266 RID: 614 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000266")]
	[Address(RVA = "0x149A400", Offset = "0x1499200", VA = "0x18149A400")]
	private void AttackCannonLoop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000267 RID: 615 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000267")]
	[Address(RVA = "0x1497D20", Offset = "0x1496B20", VA = "0x181497D20")]
	private void AAttack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000268 RID: 616 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000268")]
	[Address(RVA = "0x14973F0", Offset = "0x14961F0", VA = "0x1814973F0")]
	private void AAttack0103()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000269 RID: 617 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000269")]
	[Address(RVA = "0x14974F0", Offset = "0x14962F0", VA = "0x1814974F0")]
	private void AAttack0203()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600026A RID: 618 RVA: 0x00007FB8 File Offset: 0x000061B8
	[Token(Token = "0x600026A")]
	[Address(RVA = "0x1499CC0", Offset = "0x1498AC0", VA = "0x181499CC0")]
	private void Attack03Start()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightStatus(AI_BossLevel05.AIFighting.Attack03Loop);
		}
		this.g_fWaitTime = g_fWaitTime;
		float num2 = this.g_fAttackMove;
		if (num2 <= (float)num)
		{
			float num3 = this.g_fAttackMove02;
			if (num3 <= (float)num)
			{
				goto IL_117;
			}
			this.g_fAttackMove02 = num3;
			Transform transform = this.g_This.transform;
			int num4 = 0;
			Vector3 up = Vector3.up;
			int num5 = 0;
			transform.Translate(num4, (Space)num5);
			float num6 = this.g_fAttackJump;
			int num7 = 0;
			int num8 = 0;
			float g_fDeltaTime = this.g_fDeltaTime;
			if ((this.g_bPlus ? 1 : 0) != num7)
			{
				float num9 = g_fDeltaTime * 4.5f;
				float num10 = Mathf.Lerp(num6, (float)num8, num9);
				this.g_fAttackJump = num10;
			}
			float num11 = g_fDeltaTime * 1.8f;
			float num12 = Mathf.Lerp(num6, (float)num8, num11);
			this.g_fAttackJump = num12;
		}
		this.g_fAttackMove = num2;
		this.g_Effect.PlayEffAttack03Jump();
		int num14;
		if (this.g_bPlus)
		{
			this.g_Effect.PlayEffDodgeLightningStart();
			CharacterController characterController = this.g_CC;
			int num13 = 0;
			Vector3 up2 = Vector3.up;
			CollisionFlags collisionFlags = characterController.Move(num13);
			BossLevel05EffectPlay bossLevel05EffectPlay = this.g_Effect;
			num14 = 0;
			bossLevel05EffectPlay.PlayEffDodgeLightningEnd();
		}
		IL_117:
		float num15 = this.g_fAttackRotate;
		if (num15 > (float)num)
		{
			MoveController g_Move = this.g_Move;
			this.g_fAttackRotate = num15;
			float z = this.g_v3PlayerDirection.z;
			g_Move.LookAt(num14);
		}
	}

	// Token: 0x0600026B RID: 619 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600026B")]
	[Address(RVA = "0x1499A20", Offset = "0x1498820", VA = "0x181499A20")]
	private void Attack03Loop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600026C RID: 620 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600026C")]
	[Address(RVA = "0x149A190", Offset = "0x1498F90", VA = "0x18149A190")]
	private void Attack04Start()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600026D RID: 621 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600026D")]
	[Address(RVA = "0x1499FA0", Offset = "0x1498DA0", VA = "0x181499FA0")]
	private void Attack04Loop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600026E RID: 622 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600026E")]
	[Address(RVA = "0x1497FB0", Offset = "0x1496DB0", VA = "0x181497FB0")]
	private void ACharge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600026F RID: 623 RVA: 0x00008118 File Offset: 0x00006318
	[Token(Token = "0x600026F")]
	[Address(RVA = "0x1498040", Offset = "0x1496E40", VA = "0x181498040")]
	private void ADamage()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			if (!this.g_bPlus)
			{
				CharacterBaseData g_CharData = this.g_CharData;
				if (g_CharData.g_fHPMax * 0.5f > g_CharData.g_fHP)
				{
					this.InitFightStatus(AI_BossLevel05.AIFighting.AWatch);
					return;
				}
			}
			int num2 = UnityEngine.Random.Range(0, 3);
			this.InitFightStatus(AI_BossLevel05.AIFighting.DashStart);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000270 RID: 624 RVA: 0x00008188 File Offset: 0x00006388
	[Token(Token = "0x6000270")]
	[Address(RVA = "0x149A930", Offset = "0x1499730", VA = "0x18149A930")]
	public void Dead()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightStatus(AI_BossLevel05.AIFighting.DeathLoop);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000271 RID: 625 RVA: 0x000081B4 File Offset: 0x000063B4
	[Token(Token = "0x6000271")]
	[Address(RVA = "0x149A900", Offset = "0x1499700", VA = "0x18149A900")]
	public void DeadLoop()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightStatus(AI_BossLevel05.AIFighting.End);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000272 RID: 626 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000272")]
	[Address(RVA = "0x149B780", Offset = "0x149A580", VA = "0x18149B780", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000273 RID: 627 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000273")]
	[Address(RVA = "0x14A0330", Offset = "0x149F130", VA = "0x1814A0330")]
	private void SetLightningSpeedUp(float fTimeScaleLightning)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000274 RID: 628 RVA: 0x000081E0 File Offset: 0x000063E0
	[Token(Token = "0x6000274")]
	[Address(RVA = "0x14A0420", Offset = "0x149F220", VA = "0x1814A0420", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		/*
An exception occurred when decompiling this method (06000274)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void AI_BossLevel05::SetTimeScale(System.Single)

 ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 112
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
	}

	// Token: 0x06000275 RID: 629 RVA: 0x00008234 File Offset: 0x00006434
	[Token(Token = "0x6000275")]
	[Address(RVA = "0x1495E30", Offset = "0x1494C30", VA = "0x181495E30", Slot = "32")]
	public override void Remove()
	{
		base.Initialize();
		GameObject g_This = this.g_This;
		int num = 0;
		g_This.SetActive(num != 0);
	}

	// Token: 0x06000276 RID: 630 RVA: 0x00008260 File Offset: 0x00006460
	[Token(Token = "0x6000276")]
	[Address(RVA = "0x149A820", Offset = "0x1499620", VA = "0x18149A820", Slot = "31")]
	public override void Create()
	{
		base.Initialize();
		this.g_This.SetActive(true);
		this.g_Effect.Create();
		this.g_NPCM.SetLockPoint(true);
		Animator g_Anim = this.g_Anim;
		int num = 0;
		g_Anim.Play("Debut", num);
		Animator g_Anim2 = this.g_Anim;
		this.g_fAniDebut = 0f;
		int num2 = 0;
		g_Anim2.SetFloat("fDebut", (float)num2);
		this.g_iScriptStep = (int)((ulong)0L);
	}

	// Token: 0x06000277 RID: 631 RVA: 0x000082DC File Offset: 0x000064DC
	[Token(Token = "0x6000277")]
	[Address(RVA = "0x1495E60", Offset = "0x1494C60", VA = "0x181495E60", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_NPCM.SetLockPoint(true);
	}

	// Token: 0x06000278 RID: 632 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000278")]
	[Address(RVA = "0x149FE90", Offset = "0x149EC90", VA = "0x18149FE90", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000279 RID: 633 RVA: 0x00008304 File Offset: 0x00006504
	[Token(Token = "0x6000279")]
	[Address(RVA = "0x149B6C0", Offset = "0x149A4C0", VA = "0x18149B6C0")]
	private string GetBossName()
	{
		return Game.<UISystemText>k__BackingField.GetText(405);
	}

	// Token: 0x0600027A RID: 634 RVA: 0x00008328 File Offset: 0x00006528
	[Token(Token = "0x600027A")]
	[Address(RVA = "0x1496540", Offset = "0x1495340", VA = "0x181496540", Slot = "37")]
	public override void SetSpeakLayerWeight(bool bEnable, string Name = "")
	{
		Animator animator = this.g_AnimFace;
		if (!bEnable)
		{
			int num = 0;
			animator.SetLayerWeight(1, (float)num);
			return;
		}
		animator.SetLayerWeight(1, 1f);
	}

	// Token: 0x0600027B RID: 635 RVA: 0x00008360 File Offset: 0x00006560
	[Token(Token = "0x600027B")]
	[Address(RVA = "0x14A14A0", Offset = "0x14A02A0", VA = "0x1814A14A0")]
	public AI_BossLevel05()
	{
	}

	// Token: 0x040002F9 RID: 761
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40002F9")]
	private BossLevel05EffectPlay g_Effect;

	// Token: 0x040002FA RID: 762
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40002FA")]
	private VoiceBoss04 g_Voice;

	// Token: 0x040002FB RID: 763
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40002FB")]
	private Animator g_AnimFace;

	// Token: 0x040002FC RID: 764
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40002FC")]
	private CharacterController g_CC;

	// Token: 0x040002FD RID: 765
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40002FD")]
	private Vector3 g_v3PrePosition;

	// Token: 0x040002FE RID: 766
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x40002FE")]
	private Vector3 g_v3PreForward;

	// Token: 0x040002FF RID: 767
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40002FF")]
	private float g_fAnifMoveHorizontal;

	// Token: 0x04000300 RID: 768
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x4000300")]
	private float g_fAnifMoveVertical;

	// Token: 0x04000301 RID: 769
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x4000301")]
	private float g_fAniTrunAngle;

	// Token: 0x04000302 RID: 770
	[FieldOffset(Offset = "0x1B4")]
	[Token(Token = "0x4000302")]
	private float g_fAniDebut;

	// Token: 0x04000303 RID: 771
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x4000303")]
	private Shake g_ShakeHead;

	// Token: 0x04000304 RID: 772
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x4000304")]
	private Shake g_ShakeBody;

	// Token: 0x04000305 RID: 773
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x4000305")]
	private Shake g_ShakeWeapon;

	// Token: 0x04000306 RID: 774
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x4000306")]
	private Shake g_ShakeAll;

	// Token: 0x04000307 RID: 775
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x4000307")]
	private Vector3 g_v3DashDirection;

	// Token: 0x04000308 RID: 776
	[Token(Token = "0x4000308")]
	private const float g_fDashDistanceMax = 15f;

	// Token: 0x04000309 RID: 777
	[Token(Token = "0x4000309")]
	private const float g_fDashDistanceMin = 9f;

	// Token: 0x0400030A RID: 778
	[FieldOffset(Offset = "0x1E4")]
	[Token(Token = "0x400030A")]
	private float g_fDashDistance;

	// Token: 0x0400030B RID: 779
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x400030B")]
	private bool g_bDashAttack;

	// Token: 0x0400030C RID: 780
	[Token(Token = "0x400030C")]
	private const int g_iAttackPenetrate = 3;

	// Token: 0x0400030D RID: 781
	[FieldOffset(Offset = "0x1EC")]
	[Token(Token = "0x400030D")]
	private int g_iAttackPenetrateVal;

	// Token: 0x0400030E RID: 782
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x400030E")]
	private AI_BossLevel05.AIFighting g_Fighting = (AI_BossLevel05.AIFighting)((ulong)1L);

	// Token: 0x0400030F RID: 783
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x400030F")]
	private AI_BossLevel05.AIFighting g_NextFighting;

	// Token: 0x04000310 RID: 784
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x4000310")]
	private int g_iAWatchMoveDir;

	// Token: 0x04000311 RID: 785
	[FieldOffset(Offset = "0x1FC")]
	[Token(Token = "0x4000311")]
	private float g_fAttackMove;

	// Token: 0x04000312 RID: 786
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x4000312")]
	private float g_fAttackMove02;

	// Token: 0x04000313 RID: 787
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x4000313")]
	private float g_fAttackMoveSpeed;

	// Token: 0x04000314 RID: 788
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x4000314")]
	private float g_fAttackRotate;

	// Token: 0x04000315 RID: 789
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x4000315")]
	private float g_fAttackCombo;

	// Token: 0x04000316 RID: 790
	[FieldOffset(Offset = "0x210")]
	[Token(Token = "0x4000316")]
	private float g_fAttackJump;

	// Token: 0x04000317 RID: 791
	[FieldOffset(Offset = "0x214")]
	[Token(Token = "0x4000317")]
	private float g_fPlayerChargeShot;

	// Token: 0x04000318 RID: 792
	[FieldOffset(Offset = "0x218")]
	[Token(Token = "0x4000318")]
	private float g_fTyrantsTime;

	// Token: 0x04000319 RID: 793
	[FieldOffset(Offset = "0x21C")]
	[Token(Token = "0x4000319")]
	private bool g_bDebut;

	// Token: 0x0400031A RID: 794
	[FieldOffset(Offset = "0x21D")]
	[Token(Token = "0x400031A")]
	private bool g_bPlus;

	// Token: 0x0400031B RID: 795
	[FieldOffset(Offset = "0x21E")]
	[Token(Token = "0x400031B")]
	private bool g_bLightningModeFirst = true;

	// Token: 0x0400031C RID: 796
	[FieldOffset(Offset = "0x220")]
	[Token(Token = "0x400031C")]
	private int g_iPlusMove;

	// Token: 0x0400031D RID: 797
	[FieldOffset(Offset = "0x224")]
	[Token(Token = "0x400031D")]
	private float g_fWorldTimeDeltaTime = 1f;

	// Token: 0x0400031E RID: 798
	[FieldOffset(Offset = "0x228")]
	[Token(Token = "0x400031E")]
	private float g_fTimeScaleLightningVal = 1f;

	// Token: 0x0400031F RID: 799
	[Token(Token = "0x400031F")]
	private const float g_fLightningModeReciprocal = 3f;

	// Token: 0x04000320 RID: 800
	[FieldOffset(Offset = "0x22C")]
	[Token(Token = "0x4000320")]
	private float g_fLightningModeReciprocalVal;

	// Token: 0x04000321 RID: 801
	[FieldOffset(Offset = "0x230")]
	[Token(Token = "0x4000321")]
	private int g_iScriptStep;

	// Token: 0x0200004B RID: 75
	[Token(Token = "0x200004B")]
	private enum AIFighting
	{
		// Token: 0x04000323 RID: 803
		[Token(Token = "0x4000323")]
		Null,
		// Token: 0x04000324 RID: 804
		[Token(Token = "0x4000324")]
		Idle,
		// Token: 0x04000325 RID: 805
		[Token(Token = "0x4000325")]
		AWatch,
		// Token: 0x04000326 RID: 806
		[Token(Token = "0x4000326")]
		DashStart,
		// Token: 0x04000327 RID: 807
		[Token(Token = "0x4000327")]
		Dash,
		// Token: 0x04000328 RID: 808
		[Token(Token = "0x4000328")]
		DashEnd,
		// Token: 0x04000329 RID: 809
		[Token(Token = "0x4000329")]
		DamageF,
		// Token: 0x0400032A RID: 810
		[Token(Token = "0x400032A")]
		DamageU,
		// Token: 0x0400032B RID: 811
		[Token(Token = "0x400032B")]
		DamageB,
		// Token: 0x0400032C RID: 812
		[Token(Token = "0x400032C")]
		DamageL,
		// Token: 0x0400032D RID: 813
		[Token(Token = "0x400032D")]
		DamageR,
		// Token: 0x0400032E RID: 814
		[Token(Token = "0x400032E")]
		DamageFly,
		// Token: 0x0400032F RID: 815
		[Token(Token = "0x400032F")]
		Defense,
		// Token: 0x04000330 RID: 816
		[Token(Token = "0x4000330")]
		Death,
		// Token: 0x04000331 RID: 817
		[Token(Token = "0x4000331")]
		DeathLoop,
		// Token: 0x04000332 RID: 818
		[Token(Token = "0x4000332")]
		End,
		// Token: 0x04000333 RID: 819
		[Token(Token = "0x4000333")]
		Attack0101,
		// Token: 0x04000334 RID: 820
		[Token(Token = "0x4000334")]
		Attack0102,
		// Token: 0x04000335 RID: 821
		[Token(Token = "0x4000335")]
		Attack0103,
		// Token: 0x04000336 RID: 822
		[Token(Token = "0x4000336")]
		Attack0201,
		// Token: 0x04000337 RID: 823
		[Token(Token = "0x4000337")]
		Attack0202,
		// Token: 0x04000338 RID: 824
		[Token(Token = "0x4000338")]
		Attack0203,
		// Token: 0x04000339 RID: 825
		[Token(Token = "0x4000339")]
		Attack03Start,
		// Token: 0x0400033A RID: 826
		[Token(Token = "0x400033A")]
		Attack03Loop,
		// Token: 0x0400033B RID: 827
		[Token(Token = "0x400033B")]
		Attack03End,
		// Token: 0x0400033C RID: 828
		[Token(Token = "0x400033C")]
		Attack04Start,
		// Token: 0x0400033D RID: 829
		[Token(Token = "0x400033D")]
		Attack04Loop,
		// Token: 0x0400033E RID: 830
		[Token(Token = "0x400033E")]
		Attack04End,
		// Token: 0x0400033F RID: 831
		[Token(Token = "0x400033F")]
		AttackDashL,
		// Token: 0x04000340 RID: 832
		[Token(Token = "0x4000340")]
		AttackDashR,
		// Token: 0x04000341 RID: 833
		[Token(Token = "0x4000341")]
		AttackDashBStart,
		// Token: 0x04000342 RID: 834
		[Token(Token = "0x4000342")]
		AttackDashBLoop,
		// Token: 0x04000343 RID: 835
		[Token(Token = "0x4000343")]
		AttackDashB,
		// Token: 0x04000344 RID: 836
		[Token(Token = "0x4000344")]
		AttackDashB02,
		// Token: 0x04000345 RID: 837
		[Token(Token = "0x4000345")]
		AttackPenetrateStart,
		// Token: 0x04000346 RID: 838
		[Token(Token = "0x4000346")]
		AttackPenetrateLoop,
		// Token: 0x04000347 RID: 839
		[Token(Token = "0x4000347")]
		AttackPenetrateEnd,
		// Token: 0x04000348 RID: 840
		[Token(Token = "0x4000348")]
		AttackPenetrateAgain,
		// Token: 0x04000349 RID: 841
		[Token(Token = "0x4000349")]
		AttackCannonStart,
		// Token: 0x0400034A RID: 842
		[Token(Token = "0x400034A")]
		AttackCannonLoop,
		// Token: 0x0400034B RID: 843
		[Token(Token = "0x400034B")]
		AttackCannonEnd,
		// Token: 0x0400034C RID: 844
		[Token(Token = "0x400034C")]
		AttackMagic02,
		// Token: 0x0400034D RID: 845
		[Token(Token = "0x400034D")]
		AttackMagic02DashStart,
		// Token: 0x0400034E RID: 846
		[Token(Token = "0x400034E")]
		AttackMagic02Dash,
		// Token: 0x0400034F RID: 847
		[Token(Token = "0x400034F")]
		Charge,
		// Token: 0x04000350 RID: 848
		[Token(Token = "0x4000350")]
		ChargeEnd
	}
}
