using System;
using System.Linq.Expressions;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000062 RID: 98
[Token(Token = "0x2000062")]
public class AI_DollWeakC : AI_NPC
{
	// Token: 0x060003C4 RID: 964 RVA: 0x0000ABB8 File Offset: 0x00008DB8
	[Token(Token = "0x60003C4")]
	[Address(RVA = "0x17C2950", Offset = "0x17C1750", VA = "0x1817C2950", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		DollWeakCEffectPlay component = This.GetComponent<DollWeakCEffectPlay>();
		this.g_Effect = component;
		this.g_Effect.InitData();
		MoveController g_Move = this.g_Move;
		this.g_fDragRotation = 1f;
		g_Move.SetDragRotation(1f);
		this.g_Move.SetDragMove(6f);
		this.g_fVisionDistance = 30f;
		this.g_fVisionAngle = 100f;
		this.g_fWalkSpeed = 1f;
		this.g_fRunSpeed = 6f;
		this.g_fDashSpeed = 6f;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		GameObject g_This = this.g_This;
		Shake shake2 = this.g_ShakeHead;
		Transform transform = Common.FindChild(g_This.transform, "Bip001 Head");
		int num = 0;
		shake2.Start(transform, num != 0);
		Shake shake3 = new Shake();
		this.g_ShakeBody = shake3;
		GameObject g_This2 = this.g_This;
		Shake shake4 = this.g_ShakeBody;
		Transform transform2 = Common.FindChild(g_This2.transform, "Bip001 Spine");
		int num2 = 0;
		shake4.Start(transform2, num2 != 0);
		Shake shake5 = new Shake();
		this.g_ShakeAll = shake5;
		GameObject g_This3 = this.g_This;
		Shake shake6 = this.g_ShakeAll;
		Transform transform3 = Common.FindChild(g_This3.transform, "Bip001");
		int num3 = 0;
		shake6.Start(transform3, num3 != 0);
		Shake shake7 = new Shake();
		this.g_ShakeWeapon = shake7;
		GameObject g_This4 = this.g_This;
		Shake shake8 = this.g_ShakeWeapon;
		Transform transform4 = Common.FindChild(g_This4.transform, "Bip001 R Hand");
		int num4 = 0;
		shake8.Start(transform4, num4 != 0);
		Shake shake9 = new Shake();
		this.g_ShakeShields = shake9;
		GameObject g_This5 = this.g_This;
		Shake shake10 = this.g_ShakeShields;
		Transform transform5 = Common.FindChild(g_This5.transform, "Bip001 L Hand");
		int num5 = 0;
		shake10.Start(transform5, num5 != 0);
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x060003C5 RID: 965 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003C5")]
	[Address(RVA = "0x17C2D10", Offset = "0x17C1B10", VA = "0x1817C2D10", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003C6 RID: 966 RVA: 0x0000AD94 File Offset: 0x00008F94
	[Token(Token = "0x60003C6")]
	[Address(RVA = "0x17C25E0", Offset = "0x17C13E0", VA = "0x1817C25E0", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeAll.Update();
		this.g_ShakeWeapon.Update();
		this.g_ShakeShields.Update();
	}

	// Token: 0x060003C7 RID: 967 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003C7")]
	[Address(RVA = "0x17C1FA0", Offset = "0x17C0DA0", VA = "0x1817C1FA0", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003C8 RID: 968 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003C8")]
	[Address(RVA = "0x178F1C0", Offset = "0x178DFC0", VA = "0x18178F1C0", Slot = "19")]
	public override void GoHome()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003C9 RID: 969 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003C9")]
	[Address(RVA = "0x17C2820", Offset = "0x17C1620", VA = "0x1817C2820", Slot = "9")]
	public override void Sky()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CA RID: 970 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CA")]
	[Address(RVA = "0x11DC0F0", Offset = "0x11DAEF0", VA = "0x1811DC0F0", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CB RID: 971 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CB")]
	[Address(RVA = "0x11DDB70", Offset = "0x11DC970", VA = "0x1811DDB70", Slot = "11")]
	public override void Patrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CC RID: 972 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CC")]
	[Address(RVA = "0x11D86F0", Offset = "0x11D74F0", VA = "0x1811D86F0", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CD RID: 973 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CD")]
	[Address(RVA = "0x11DDB10", Offset = "0x11DC910", VA = "0x1811DDB10", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CE RID: 974 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CE")]
	[Address(RVA = "0x17C0160", Offset = "0x17BEF60", VA = "0x1817C0160", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003CF RID: 975 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003CF")]
	[Address(RVA = "0x17C12E0", Offset = "0x17C00E0", VA = "0x1817C12E0")]
	private void InitFightingType(AI_DollWeakC.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D0 RID: 976 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D0")]
	[Address(RVA = "0x17C2660", Offset = "0x17C1460", VA = "0x1817C2660")]
	private void PlayerDead()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D1 RID: 977 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D1")]
	[Address(RVA = "0x17BF6C0", Offset = "0x17BE4C0", VA = "0x1817BF6C0")]
	private void FightWatchInit()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D2 RID: 978 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D2")]
	[Address(RVA = "0x17BF880", Offset = "0x17BE680", VA = "0x1817BF880")]
	private void FightWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D3 RID: 979 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D3")]
	[Address(RVA = "0x17BF330", Offset = "0x17BE130", VA = "0x1817BF330")]
	private void Attack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D4 RID: 980 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D4")]
	[Address(RVA = "0x17BF240", Offset = "0x17BE040", VA = "0x1817BF240")]
	private void AttackRunReady()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D5 RID: 981 RVA: 0x0000ADE0 File Offset: 0x00008FE0
	[Token(Token = "0x60003D5")]
	[Address(RVA = "0x17BF690", Offset = "0x17BE490", VA = "0x1817BF690")]
	private void Defense()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int num2 = 0;
			this.InitFightingType((AI_DollWeakC.AIFighting)num2);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060003D6 RID: 982 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D6")]
	[Address(RVA = "0x11D89B0", Offset = "0x11D77B0", VA = "0x1811D89B0", Slot = "25")]
	public override void DamagedFly()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003D7 RID: 983 RVA: 0x0000AE0C File Offset: 0x0000900C
	[Token(Token = "0x60003D7")]
	[Address(RVA = "0x11D5AF0", Offset = "0x11D48F0", VA = "0x1811D5AF0", Slot = "27")]
	public override void Death()
	{
		base.Initialize();
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060003D8 RID: 984 RVA: 0x0000AE3C File Offset: 0x0000903C
	[Token(Token = "0x60003D8")]
	[Address(RVA = "0x11D5B50", Offset = "0x11D4950", VA = "0x1811D5B50", Slot = "28")]
	public override void Destroy()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			GameObject g_This = this.g_This;
			int num2 = 0;
			g_This.SetActive(num2 != 0);
			base.Initialize();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		base.Initialize();
	}

	// Token: 0x060003D9 RID: 985 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003D9")]
	[Address(RVA = "0x178F600", Offset = "0x178E400", VA = "0x18178F600", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003DA RID: 986 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003DA")]
	[Address(RVA = "0x178F470", Offset = "0x178E270", VA = "0x18178F470", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003DB RID: 987 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003DB")]
	[Address(RVA = "0x17C0510", Offset = "0x17BF310", VA = "0x1817C0510", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003DC RID: 988 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003DC")]
	[Address(RVA = "0x1791130", Offset = "0x178FF30", VA = "0x181791130", Slot = "34")]
	public override void ReceiveSound(Vector3 v3Source, float fSize, SceneManager.SoundWaveType SoundType)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003DD RID: 989 RVA: 0x0000AE80 File Offset: 0x00009080
	[Token(Token = "0x60003DD")]
	[Address(RVA = "0x17A9DF0", Offset = "0x17A8BF0", VA = "0x1817A9DF0", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x060003DE RID: 990 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003DE")]
	[Address(RVA = "0x17BF550", Offset = "0x17BE350", VA = "0x1817BF550", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003DF RID: 991 RVA: 0x0000AEA8 File Offset: 0x000090A8
	[Token(Token = "0x60003DF")]
	[Address(RVA = "0x17C26D0", Offset = "0x17C14D0", VA = "0x1817C26D0", Slot = "32")]
	public override void Remove()
	{
		base.Initialize();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
		this.g_Effect.Remove();
		GameObject g_This = this.g_This;
		int num2 = 0;
		g_This.SetActive(num2 != 0);
	}

	// Token: 0x060003E0 RID: 992 RVA: 0x0000AEEC File Offset: 0x000090EC
	[Token(Token = "0x60003E0")]
	[Address(RVA = "0x17C27E0", Offset = "0x17C15E0", VA = "0x1817C27E0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x060003E1 RID: 993 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60003E1")]
	[Address(RVA = "0x17C2730", Offset = "0x17C1530", VA = "0x1817C2730", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060003E2 RID: 994 RVA: 0x0000AF14 File Offset: 0x00009114
	[Token(Token = "0x60003E2")]
	[Address(RVA = "0x17C32C0", Offset = "0x17C20C0", VA = "0x1817C32C0")]
	public AI_DollWeakC()
	{
	}

	// Token: 0x040004D3 RID: 1235
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40004D3")]
	private DollWeakCEffectPlay g_Effect;

	// Token: 0x040004D4 RID: 1236
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40004D4")]
	private float g_fAttackRadius = 3f;

	// Token: 0x040004D5 RID: 1237
	[Token(Token = "0x40004D5")]
	private const float g_fAttackRadiusNear = 1.5f;

	// Token: 0x040004D6 RID: 1238
	[Token(Token = "0x40004D6")]
	private const float g_fAttackRadiusNormal = 2.7f;

	// Token: 0x040004D7 RID: 1239
	[Token(Token = "0x40004D7")]
	private const float g_fAttackRadiusFar = 6f;

	// Token: 0x040004D8 RID: 1240
	[FieldOffset(Offset = "0x17C")]
	[Token(Token = "0x40004D8")]
	private float g_fAniMoveSpeed;

	// Token: 0x040004D9 RID: 1241
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40004D9")]
	private float g_fAniMoveAngle;

	// Token: 0x040004DA RID: 1242
	[FieldOffset(Offset = "0x184")]
	[Token(Token = "0x40004DA")]
	private float g_fAniBattleMoveSpeed;

	// Token: 0x040004DB RID: 1243
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40004DB")]
	private float g_fAniBattleMoveDirection;

	// Token: 0x040004DC RID: 1244
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40004DC")]
	private float g_fAniAttackRun;

	// Token: 0x040004DD RID: 1245
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40004DD")]
	private float g_fAniBattle;

	// Token: 0x040004DE RID: 1246
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x40004DE")]
	private Vector3 g_v3PreForward;

	// Token: 0x040004DF RID: 1247
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x40004DF")]
	protected float g_fAniDamagedWeight;

	// Token: 0x040004E0 RID: 1248
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x40004E0")]
	private AI_DollWeakC.AIFighting g_Fightting = (AI_DollWeakC.AIFighting)((ulong)1L);

	// Token: 0x040004E1 RID: 1249
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40004E1")]
	private AI_DollWeakC.AIFighting g_AttackType = (AI_DollWeakC.AIFighting)((ulong)3L);

	// Token: 0x040004E2 RID: 1250
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x40004E2")]
	private AI_DollWeakC.AIFighting g_ComboAttackType = (AI_DollWeakC.AIFighting)((ulong)1L);

	// Token: 0x040004E3 RID: 1251
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x40004E3")]
	private float g_fComboAttackTime;

	// Token: 0x040004E4 RID: 1252
	[FieldOffset(Offset = "0x1B4")]
	[Token(Token = "0x40004E4")]
	private int g_iBattleWatchType;

	// Token: 0x040004E5 RID: 1253
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40004E5")]
	private float g_fAttackMoveTime;

	// Token: 0x040004E6 RID: 1254
	[FieldOffset(Offset = "0x1BC")]
	[Token(Token = "0x40004E6")]
	private float g_fAttackRotateTime;

	// Token: 0x040004E7 RID: 1255
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40004E7")]
	private float g_fTrackTime;

	// Token: 0x040004E8 RID: 1256
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40004E8")]
	private Shake g_ShakeHead;

	// Token: 0x040004E9 RID: 1257
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40004E9")]
	private Shake g_ShakeBody;

	// Token: 0x040004EA RID: 1258
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40004EA")]
	private Shake g_ShakeAll;

	// Token: 0x040004EB RID: 1259
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40004EB")]
	private Shake g_ShakeWeapon;

	// Token: 0x040004EC RID: 1260
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40004EC")]
	private Shake g_ShakeShields;

	// Token: 0x040004ED RID: 1261
	[Token(Token = "0x40004ED")]
	private const float g_fShieldHPScale = 0.0666666f;

	// Token: 0x040004EE RID: 1262
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40004EE")]
	private float g_fShieldHPVal;

	// Token: 0x040004EF RID: 1263
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x40004EF")]
	private float g_fTyrantsTime;

	// Token: 0x02000063 RID: 99
	[Token(Token = "0x2000063")]
	private enum AIFighting
	{
		// Token: 0x040004F1 RID: 1265
		[Token(Token = "0x40004F1")]
		WatchFirst,
		// Token: 0x040004F2 RID: 1266
		[Token(Token = "0x40004F2")]
		Watch,
		// Token: 0x040004F3 RID: 1267
		[Token(Token = "0x40004F3")]
		Attack00,
		// Token: 0x040004F4 RID: 1268
		[Token(Token = "0x40004F4")]
		Attack01,
		// Token: 0x040004F5 RID: 1269
		[Token(Token = "0x40004F5")]
		Attack02,
		// Token: 0x040004F6 RID: 1270
		[Token(Token = "0x40004F6")]
		Attack03,
		// Token: 0x040004F7 RID: 1271
		[Token(Token = "0x40004F7")]
		AttackRunReady,
		// Token: 0x040004F8 RID: 1272
		[Token(Token = "0x40004F8")]
		AttackRunEnd,
		// Token: 0x040004F9 RID: 1273
		[Token(Token = "0x40004F9")]
		Attack00To01,
		// Token: 0x040004FA RID: 1274
		[Token(Token = "0x40004FA")]
		Attack00To02,
		// Token: 0x040004FB RID: 1275
		[Token(Token = "0x40004FB")]
		Attack01To02,
		// Token: 0x040004FC RID: 1276
		[Token(Token = "0x40004FC")]
		Attack02To01,
		// Token: 0x040004FD RID: 1277
		[Token(Token = "0x40004FD")]
		Defense,
		// Token: 0x040004FE RID: 1278
		[Token(Token = "0x40004FE")]
		PlayerDead
	}
}
