using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200012F RID: 303
[Token(Token = "0x200012F")]
public class PlayerStatsData
{
	// Token: 0x06000F30 RID: 3888 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F30")]
	[Address(RVA = "0xBDBFC0", Offset = "0xBDADC0", VA = "0x180BDBFC0")]
	public float GetPhysicalPower(float power)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F31 RID: 3889 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F31")]
	[Address(RVA = "0xBDBFA0", Offset = "0xBDADA0", VA = "0x180BDBFA0")]
	public float GetMagicPower(float power)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F32 RID: 3890 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F32")]
	[Address(RVA = "0xBDBF80", Offset = "0xBDAD80", VA = "0x180BDBF80")]
	public float GetFirePhysicalPower()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F33 RID: 3891 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F33")]
	[Address(RVA = "0xBDC000", Offset = "0xBDAE00", VA = "0x180BDC000")]
	public float GetThunderModeStageTimeScale()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F34 RID: 3892 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F34")]
	[Address(RVA = "0xBDBFE0", Offset = "0xBDADE0", VA = "0x180BDBFE0")]
	public float GetThunderModePlayerTimeScale()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F35 RID: 3893 RVA: 0x000241CC File Offset: 0x000223CC
	[Token(Token = "0x6000F35")]
	[Address(RVA = "0xBDC030", Offset = "0xBDAE30", VA = "0x180BDC030")]
	public void IncreaseCursePercent(float delta)
	{
		float num = this.cursePercent;
		int num2 = 0;
		float num3 = Mathf.Clamp(num, (float)num2, 0.6f);
		this.cursePercent = num3;
	}

	// Token: 0x06000F36 RID: 3894 RVA: 0x000241F8 File Offset: 0x000223F8
	[Token(Token = "0x6000F36")]
	[Address(RVA = "0xBDBF30", Offset = "0xBDAD30", VA = "0x180BDBF30")]
	public int ApplyCursePunish()
	{
		/*
An exception occurred when decompiling this method (06000F36)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 PlayerStatsData::ApplyCursePunish()

 ---> 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: 0x06000F37 RID: 3895 RVA: 0x00024240 File Offset: 0x00022440
	[Token(Token = "0x6000F37")]
	[Address(RVA = "0xBDC060", Offset = "0xBDAE60", VA = "0x180BDC060")]
	public void OnBeatingGame(BeatingGameData data)
	{
		float healthPoint = data.healthPoint;
		this.currentHealthyPoint = healthPoint;
		float manaPoint = data.manaPoint;
		this.currentManaPoint = manaPoint;
		int magicIndex = data.magicIndex;
		this.currentMagicIndex = magicIndex;
		this.cursePercent = 0f;
	}

	// Token: 0x06000F38 RID: 3896 RVA: 0x00024288 File Offset: 0x00022488
	[Token(Token = "0x6000F38")]
	[Address(RVA = "0xBDC090", Offset = "0xBDAE90", VA = "0x180BDC090")]
	public PlayerStatsData()
	{
	}

	// Token: 0x04001A26 RID: 6694
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001A26")]
	public float currentMoney;

	// Token: 0x04001A27 RID: 6695
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x4001A27")]
	public float cursePercent;

	// Token: 0x04001A28 RID: 6696
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001A28")]
	public float currentHealthyPoint;

	// Token: 0x04001A29 RID: 6697
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x4001A29")]
	public float currentManaPoint;

	// Token: 0x04001A2A RID: 6698
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001A2A")]
	public int currentMagicIndex;

	// Token: 0x04001A2B RID: 6699
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x4001A2B")]
	public int healthyLevel = (int)((ulong)1L);

	// Token: 0x04001A2C RID: 6700
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001A2C")]
	public int manaLevel = (int)((ulong)1L);

	// Token: 0x04001A2D RID: 6701
	[FieldOffset(Offset = "0x2C")]
	[Token(Token = "0x4001A2D")]
	public int staminaLevel = (int)((ulong)1L);

	// Token: 0x04001A2E RID: 6702
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001A2E")]
	public int strengthLevel = (int)((ulong)1L);

	// Token: 0x04001A2F RID: 6703
	[FieldOffset(Offset = "0x34")]
	[Token(Token = "0x4001A2F")]
	public int intelligenceLevel = (int)((ulong)1L);

	// Token: 0x04001A30 RID: 6704
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001A30")]
	public int dexterityLevel = (int)((ulong)1L);

	// Token: 0x04001A31 RID: 6705
	[FieldOffset(Offset = "0x3C")]
	[Token(Token = "0x4001A31")]
	public int secretMagicLevel = (int)((ulong)1L);

	// Token: 0x04001A32 RID: 6706
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001A32")]
	public int iceMagicLevel;

	// Token: 0x04001A33 RID: 6707
	[FieldOffset(Offset = "0x44")]
	[Token(Token = "0x4001A33")]
	public int fireMagicLevel;

	// Token: 0x04001A34 RID: 6708
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4001A34")]
	public int thunderMagicLevel;

	// Token: 0x04001A35 RID: 6709
	[FieldOffset(Offset = "0x4C")]
	[Token(Token = "0x4001A35")]
	public int manaAbsorbLevel;

	// Token: 0x04001A36 RID: 6710
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4001A36")]
	public int windMagicLevel;
}
