using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200015A RID: 346
[Token(Token = "0x200015A")]
public class PlayerStatsData
{
	// Token: 0x0600109A RID: 4250 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600109A")]
	[Address(RVA = "0xEB7DE0", Offset = "0xEB6DE0", VA = "0x180EB7DE0")]
	public float GetPhysicalPower(float power)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600109B RID: 4251 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600109B")]
	[Address(RVA = "0xEB7DC0", Offset = "0xEB6DC0", VA = "0x180EB7DC0")]
	public float GetMagicPower(float power)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600109C RID: 4252 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600109C")]
	[Address(RVA = "0xEB7DA0", Offset = "0xEB6DA0", VA = "0x180EB7DA0")]
	public float GetFirePhysicalPower()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600109D RID: 4253 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600109D")]
	[Address(RVA = "0xEB7E20", Offset = "0xEB6E20", VA = "0x180EB7E20")]
	public float GetThunderModeStageTimeScale()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600109E RID: 4254 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600109E")]
	[Address(RVA = "0xEB7E00", Offset = "0xEB6E00", VA = "0x180EB7E00")]
	public float GetThunderModePlayerTimeScale()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600109F RID: 4255 RVA: 0x00026C50 File Offset: 0x00024E50
	[Token(Token = "0x600109F")]
	[Address(RVA = "0xEB7E70", Offset = "0xEB6E70", VA = "0x180EB7E70")]
	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: 0x060010A0 RID: 4256 RVA: 0x00026C7C File Offset: 0x00024E7C
	[Token(Token = "0x60010A0")]
	[Address(RVA = "0xEB7CF0", Offset = "0xEB6CF0", VA = "0x180EB7CF0")]
	public int ApplyCursePunish()
	{
		/*
An exception occurred when decompiling this method (060010A0)

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: 0x060010A1 RID: 4257 RVA: 0x00026CC4 File Offset: 0x00024EC4
	[Token(Token = "0x60010A1")]
	[Address(RVA = "0xEB7EA0", Offset = "0xEB6EA0", VA = "0x180EB7EA0")]
	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: 0x060010A2 RID: 4258 RVA: 0x00026D0C File Offset: 0x00024F0C
	[Token(Token = "0x60010A2")]
	[Address(RVA = "0xEB7D40", Offset = "0xEB6D40", VA = "0x180EB7D40")]
	public void BossRushRemoveTestMode()
	{
		int num = 0;
		this.currentMoney = 99f;
		this.currentHealthyPoint = (float)num;
		this.currentMagicIndex = num;
		this.fireMagicLevel = num;
		this.healthyLevel = (int)((ulong)18L);
		this.manaLevel = (int)((ulong)18L);
		this.staminaLevel = (int)((ulong)18L);
		this.strengthLevel = (int)((ulong)9L);
		this.intelligenceLevel = (int)((ulong)9L);
		this.dexterityLevel = (int)((ulong)9L);
		this.secretMagicLevel = (int)((ulong)1L);
		this.manaAbsorbLevel = (int)((ulong)1L);
		this.windMagicLevel = (int)((ulong)1L);
	}

	// Token: 0x060010A3 RID: 4259 RVA: 0x00026D94 File Offset: 0x00024F94
	[Token(Token = "0x60010A3")]
	[Address(RVA = "0xEB7ED0", Offset = "0xEB6ED0", VA = "0x180EB7ED0")]
	public PlayerStatsData()
	{
	}

	// Token: 0x04001B6A RID: 7018
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001B6A")]
	public float currentMoney;

	// Token: 0x04001B6B RID: 7019
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x4001B6B")]
	public float cursePercent;

	// Token: 0x04001B6C RID: 7020
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001B6C")]
	public float currentHealthyPoint;

	// Token: 0x04001B6D RID: 7021
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x4001B6D")]
	public float currentManaPoint;

	// Token: 0x04001B6E RID: 7022
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001B6E")]
	public int currentMagicIndex;

	// Token: 0x04001B6F RID: 7023
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x4001B6F")]
	public int healthyLevel = (int)((ulong)1L);

	// Token: 0x04001B70 RID: 7024
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001B70")]
	public int manaLevel = (int)((ulong)1L);

	// Token: 0x04001B71 RID: 7025
	[FieldOffset(Offset = "0x2C")]
	[Token(Token = "0x4001B71")]
	public int staminaLevel = (int)((ulong)1L);

	// Token: 0x04001B72 RID: 7026
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001B72")]
	public int strengthLevel = (int)((ulong)1L);

	// Token: 0x04001B73 RID: 7027
	[FieldOffset(Offset = "0x34")]
	[Token(Token = "0x4001B73")]
	public int intelligenceLevel = (int)((ulong)1L);

	// Token: 0x04001B74 RID: 7028
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001B74")]
	public int dexterityLevel = (int)((ulong)1L);

	// Token: 0x04001B75 RID: 7029
	[FieldOffset(Offset = "0x3C")]
	[Token(Token = "0x4001B75")]
	public int secretMagicLevel = (int)((ulong)1L);

	// Token: 0x04001B76 RID: 7030
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001B76")]
	public int iceMagicLevel;

	// Token: 0x04001B77 RID: 7031
	[FieldOffset(Offset = "0x44")]
	[Token(Token = "0x4001B77")]
	public int fireMagicLevel;

	// Token: 0x04001B78 RID: 7032
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4001B78")]
	public int thunderMagicLevel;

	// Token: 0x04001B79 RID: 7033
	[FieldOffset(Offset = "0x4C")]
	[Token(Token = "0x4001B79")]
	public int manaAbsorbLevel;

	// Token: 0x04001B7A RID: 7034
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4001B7A")]
	public int windMagicLevel;
}
