// <auto-generated />
#nullable enable
#pragma warning disable CS1591

using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;

namespace CounterStrikeSharp.API.Core;

public partial class CCSWeaponBaseVData : CBasePlayerWeaponVData
{
    public CCSWeaponBaseVData (IntPtr pointer) : base(pointer) {}

	// m_WeaponType
	[SchemaMember("CCSWeaponBaseVData", "m_WeaponType")]
	public ref CSWeaponType WeaponType => ref Schema.GetRef<CSWeaponType>(this.Handle, "CCSWeaponBaseVData", "m_WeaponType");

	// m_WeaponCategory
	[SchemaMember("CCSWeaponBaseVData", "m_WeaponCategory")]
	public ref CSWeaponCategory WeaponCategory => ref Schema.GetRef<CSWeaponCategory>(this.Handle, "CCSWeaponBaseVData", "m_WeaponCategory");

	// m_vecMuzzlePos0
	[SchemaMember("CCSWeaponBaseVData", "m_vecMuzzlePos0")]
	public Vector MuzzlePos0 => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSWeaponBaseVData", "m_vecMuzzlePos0");

	// m_vecMuzzlePos1
	[SchemaMember("CCSWeaponBaseVData", "m_vecMuzzlePos1")]
	public Vector MuzzlePos1 => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSWeaponBaseVData", "m_vecMuzzlePos1");

	// m_GearSlot
	[SchemaMember("CCSWeaponBaseVData", "m_GearSlot")]
	public ref gear_slot_t GearSlot => ref Schema.GetRef<gear_slot_t>(this.Handle, "CCSWeaponBaseVData", "m_GearSlot");

	// m_GearSlotPosition
	[SchemaMember("CCSWeaponBaseVData", "m_GearSlotPosition")]
	public ref Int32 GearSlotPosition => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_GearSlotPosition");

	// m_DefaultLoadoutSlot
	[SchemaMember("CCSWeaponBaseVData", "m_DefaultLoadoutSlot")]
	public ref loadout_slot_t DefaultLoadoutSlot => ref Schema.GetRef<loadout_slot_t>(this.Handle, "CCSWeaponBaseVData", "m_DefaultLoadoutSlot");

	// m_nPrice
	[SchemaMember("CCSWeaponBaseVData", "m_nPrice")]
	public ref Int32 Price => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nPrice");

	// m_nKillAward
	[SchemaMember("CCSWeaponBaseVData", "m_nKillAward")]
	public ref Int32 KillAward => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nKillAward");

	// m_nPrimaryReserveAmmoMax
	[SchemaMember("CCSWeaponBaseVData", "m_nPrimaryReserveAmmoMax")]
	public ref Int32 PrimaryReserveAmmoMax => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nPrimaryReserveAmmoMax");

	// m_nSecondaryReserveAmmoMax
	[SchemaMember("CCSWeaponBaseVData", "m_nSecondaryReserveAmmoMax")]
	public ref Int32 SecondaryReserveAmmoMax => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nSecondaryReserveAmmoMax");

	// m_bMeleeWeapon
	[SchemaMember("CCSWeaponBaseVData", "m_bMeleeWeapon")]
	public ref bool MeleeWeapon => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bMeleeWeapon");

	// m_bHasBurstMode
	[SchemaMember("CCSWeaponBaseVData", "m_bHasBurstMode")]
	public ref bool HasBurstMode => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bHasBurstMode");

	// m_bIsRevolver
	[SchemaMember("CCSWeaponBaseVData", "m_bIsRevolver")]
	public ref bool IsRevolver => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bIsRevolver");

	// m_bCannotShootUnderwater
	[SchemaMember("CCSWeaponBaseVData", "m_bCannotShootUnderwater")]
	public ref bool CannotShootUnderwater => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bCannotShootUnderwater");

	// m_szName
	[SchemaMember("CCSWeaponBaseVData", "m_szName")]
	public string Name
	{
		get { return Schema.GetUtf8String(this.Handle, "CCSWeaponBaseVData", "m_szName"); }
		set { Schema.SetString(this.Handle, "CCSWeaponBaseVData", "m_szName", value); }
	}

	// m_eSilencerType
	[SchemaMember("CCSWeaponBaseVData", "m_eSilencerType")]
	public ref CSWeaponSilencerType SilencerType => ref Schema.GetRef<CSWeaponSilencerType>(this.Handle, "CCSWeaponBaseVData", "m_eSilencerType");

	// m_nCrosshairMinDistance
	[SchemaMember("CCSWeaponBaseVData", "m_nCrosshairMinDistance")]
	public ref Int32 CrosshairMinDistance => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nCrosshairMinDistance");

	// m_nCrosshairDeltaDistance
	[SchemaMember("CCSWeaponBaseVData", "m_nCrosshairDeltaDistance")]
	public ref Int32 CrosshairDeltaDistance => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nCrosshairDeltaDistance");

	// m_bIsFullAuto
	[SchemaMember("CCSWeaponBaseVData", "m_bIsFullAuto")]
	public ref bool IsFullAuto => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bIsFullAuto");

	// m_nNumBullets
	[SchemaMember("CCSWeaponBaseVData", "m_nNumBullets")]
	public ref Int32 NumBullets => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nNumBullets");

	// m_bReloadsSingleShells
	[SchemaMember("CCSWeaponBaseVData", "m_bReloadsSingleShells")]
	public ref bool ReloadsSingleShells => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bReloadsSingleShells");

	// m_flCycleTime
	[SchemaMember("CCSWeaponBaseVData", "m_flCycleTime")]
	public CFiringModeFloat CycleTime => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flCycleTime");

	// m_flMaxSpeed
	[SchemaMember("CCSWeaponBaseVData", "m_flMaxSpeed")]
	public CFiringModeFloat MaxSpeed => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flMaxSpeed");

	// m_flSpread
	[SchemaMember("CCSWeaponBaseVData", "m_flSpread")]
	public CFiringModeFloat Spread => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flSpread");

	// m_flInaccuracyCrouch
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyCrouch")]
	public CFiringModeFloat InaccuracyCrouch => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyCrouch");

	// m_flInaccuracyStand
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyStand")]
	public CFiringModeFloat InaccuracyStand => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyStand");

	// m_flInaccuracyJump
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyJump")]
	public CFiringModeFloat InaccuracyJump => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyJump");

	// m_flInaccuracyLand
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyLand")]
	public CFiringModeFloat InaccuracyLand => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyLand");

	// m_flInaccuracyLadder
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyLadder")]
	public CFiringModeFloat InaccuracyLadder => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyLadder");

	// m_flInaccuracyFire
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyFire")]
	public CFiringModeFloat InaccuracyFire => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyFire");

	// m_flInaccuracyMove
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyMove")]
	public CFiringModeFloat InaccuracyMove => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyMove");

	// m_flRecoilAngle
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoilAngle")]
	public CFiringModeFloat RecoilAngle => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flRecoilAngle");

	// m_flRecoilAngleVariance
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoilAngleVariance")]
	public CFiringModeFloat RecoilAngleVariance => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flRecoilAngleVariance");

	// m_flRecoilMagnitude
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoilMagnitude")]
	public CFiringModeFloat RecoilMagnitude => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flRecoilMagnitude");

	// m_flRecoilMagnitudeVariance
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoilMagnitudeVariance")]
	public CFiringModeFloat RecoilMagnitudeVariance => Schema.GetDeclaredClass<CFiringModeFloat>(this.Handle, "CCSWeaponBaseVData", "m_flRecoilMagnitudeVariance");

	// m_nTracerFrequency
	[SchemaMember("CCSWeaponBaseVData", "m_nTracerFrequency")]
	public CFiringModeInt TracerFrequency => Schema.GetDeclaredClass<CFiringModeInt>(this.Handle, "CCSWeaponBaseVData", "m_nTracerFrequency");

	// m_flInaccuracyJumpInitial
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyJumpInitial")]
	public ref float InaccuracyJumpInitial => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyJumpInitial");

	// m_flInaccuracyJumpApex
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyJumpApex")]
	public ref float InaccuracyJumpApex => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyJumpApex");

	// m_flInaccuracyReload
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyReload")]
	public ref float InaccuracyReload => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyReload");

	// m_flDeployDuration
	[SchemaMember("CCSWeaponBaseVData", "m_flDeployDuration")]
	public ref float DeployDuration => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flDeployDuration");

	// m_flDisallowAttackAfterReloadStartDuration
	[SchemaMember("CCSWeaponBaseVData", "m_flDisallowAttackAfterReloadStartDuration")]
	public ref float DisallowAttackAfterReloadStartDuration => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flDisallowAttackAfterReloadStartDuration");

	// m_nRecoilSeed
	[SchemaMember("CCSWeaponBaseVData", "m_nRecoilSeed")]
	public ref Int32 RecoilSeed => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nRecoilSeed");

	// m_nSpreadSeed
	[SchemaMember("CCSWeaponBaseVData", "m_nSpreadSeed")]
	public ref Int32 SpreadSeed => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nSpreadSeed");

	// m_flAttackMovespeedFactor
	[SchemaMember("CCSWeaponBaseVData", "m_flAttackMovespeedFactor")]
	public ref float AttackMovespeedFactor => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flAttackMovespeedFactor");

	// m_flInaccuracyPitchShift
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyPitchShift")]
	public ref float InaccuracyPitchShift => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyPitchShift");

	// m_flInaccuracyAltSoundThreshold
	[SchemaMember("CCSWeaponBaseVData", "m_flInaccuracyAltSoundThreshold")]
	public ref float InaccuracyAltSoundThreshold => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flInaccuracyAltSoundThreshold");

	// m_szUseRadioSubtitle
	[SchemaMember("CCSWeaponBaseVData", "m_szUseRadioSubtitle")]
	public string UseRadioSubtitle
	{
		get { return Schema.GetUtf8String(this.Handle, "CCSWeaponBaseVData", "m_szUseRadioSubtitle"); }
		set { Schema.SetString(this.Handle, "CCSWeaponBaseVData", "m_szUseRadioSubtitle", value); }
	}

	// m_bUnzoomsAfterShot
	[SchemaMember("CCSWeaponBaseVData", "m_bUnzoomsAfterShot")]
	public ref bool UnzoomsAfterShot => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bUnzoomsAfterShot");

	// m_bHideViewModelWhenZoomed
	[SchemaMember("CCSWeaponBaseVData", "m_bHideViewModelWhenZoomed")]
	public ref bool HideViewModelWhenZoomed => ref Schema.GetRef<bool>(this.Handle, "CCSWeaponBaseVData", "m_bHideViewModelWhenZoomed");

	// m_nZoomLevels
	[SchemaMember("CCSWeaponBaseVData", "m_nZoomLevels")]
	public ref Int32 ZoomLevels => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nZoomLevels");

	// m_nZoomFOV1
	[SchemaMember("CCSWeaponBaseVData", "m_nZoomFOV1")]
	public ref Int32 ZoomFOV1 => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nZoomFOV1");

	// m_nZoomFOV2
	[SchemaMember("CCSWeaponBaseVData", "m_nZoomFOV2")]
	public ref Int32 ZoomFOV2 => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nZoomFOV2");

	// m_flZoomTime0
	[SchemaMember("CCSWeaponBaseVData", "m_flZoomTime0")]
	public ref float ZoomTime0 => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flZoomTime0");

	// m_flZoomTime1
	[SchemaMember("CCSWeaponBaseVData", "m_flZoomTime1")]
	public ref float ZoomTime1 => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flZoomTime1");

	// m_flZoomTime2
	[SchemaMember("CCSWeaponBaseVData", "m_flZoomTime2")]
	public ref float ZoomTime2 => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flZoomTime2");

	// m_flIronSightPullUpSpeed
	[SchemaMember("CCSWeaponBaseVData", "m_flIronSightPullUpSpeed")]
	public ref float IronSightPullUpSpeed => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flIronSightPullUpSpeed");

	// m_flIronSightPutDownSpeed
	[SchemaMember("CCSWeaponBaseVData", "m_flIronSightPutDownSpeed")]
	public ref float IronSightPutDownSpeed => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flIronSightPutDownSpeed");

	// m_flIronSightFOV
	[SchemaMember("CCSWeaponBaseVData", "m_flIronSightFOV")]
	public ref float IronSightFOV => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flIronSightFOV");

	// m_flIronSightPivotForward
	[SchemaMember("CCSWeaponBaseVData", "m_flIronSightPivotForward")]
	public ref float IronSightPivotForward => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flIronSightPivotForward");

	// m_flIronSightLooseness
	[SchemaMember("CCSWeaponBaseVData", "m_flIronSightLooseness")]
	public ref float IronSightLooseness => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flIronSightLooseness");

	// m_nDamage
	[SchemaMember("CCSWeaponBaseVData", "m_nDamage")]
	public ref Int32 Damage => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nDamage");

	// m_flHeadshotMultiplier
	[SchemaMember("CCSWeaponBaseVData", "m_flHeadshotMultiplier")]
	public ref float HeadshotMultiplier => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flHeadshotMultiplier");

	// m_flArmorRatio
	[SchemaMember("CCSWeaponBaseVData", "m_flArmorRatio")]
	public ref float ArmorRatio => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flArmorRatio");

	// m_flPenetration
	[SchemaMember("CCSWeaponBaseVData", "m_flPenetration")]
	public ref float Penetration => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flPenetration");

	// m_flRange
	[SchemaMember("CCSWeaponBaseVData", "m_flRange")]
	public ref float Range => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRange");

	// m_flRangeModifier
	[SchemaMember("CCSWeaponBaseVData", "m_flRangeModifier")]
	public ref float RangeModifier => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRangeModifier");

	// m_flFlinchVelocityModifierLarge
	[SchemaMember("CCSWeaponBaseVData", "m_flFlinchVelocityModifierLarge")]
	public ref float FlinchVelocityModifierLarge => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flFlinchVelocityModifierLarge");

	// m_flFlinchVelocityModifierSmall
	[SchemaMember("CCSWeaponBaseVData", "m_flFlinchVelocityModifierSmall")]
	public ref float FlinchVelocityModifierSmall => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flFlinchVelocityModifierSmall");

	// m_flRecoveryTimeCrouch
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoveryTimeCrouch")]
	public ref float RecoveryTimeCrouch => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRecoveryTimeCrouch");

	// m_flRecoveryTimeStand
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoveryTimeStand")]
	public ref float RecoveryTimeStand => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRecoveryTimeStand");

	// m_flRecoveryTimeCrouchFinal
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoveryTimeCrouchFinal")]
	public ref float RecoveryTimeCrouchFinal => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRecoveryTimeCrouchFinal");

	// m_flRecoveryTimeStandFinal
	[SchemaMember("CCSWeaponBaseVData", "m_flRecoveryTimeStandFinal")]
	public ref float RecoveryTimeStandFinal => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flRecoveryTimeStandFinal");

	// m_nRecoveryTransitionStartBullet
	[SchemaMember("CCSWeaponBaseVData", "m_nRecoveryTransitionStartBullet")]
	public ref Int32 RecoveryTransitionStartBullet => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nRecoveryTransitionStartBullet");

	// m_nRecoveryTransitionEndBullet
	[SchemaMember("CCSWeaponBaseVData", "m_nRecoveryTransitionEndBullet")]
	public ref Int32 RecoveryTransitionEndBullet => ref Schema.GetRef<Int32>(this.Handle, "CCSWeaponBaseVData", "m_nRecoveryTransitionEndBullet");

	// m_flThrowVelocity
	[SchemaMember("CCSWeaponBaseVData", "m_flThrowVelocity")]
	public ref float ThrowVelocity => ref Schema.GetRef<float>(this.Handle, "CCSWeaponBaseVData", "m_flThrowVelocity");

	// m_vSmokeColor
	[SchemaMember("CCSWeaponBaseVData", "m_vSmokeColor")]
	public Vector SmokeColor => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSWeaponBaseVData", "m_vSmokeColor");

	// m_szAnimClass
	[SchemaMember("CCSWeaponBaseVData", "m_szAnimClass")]
	public string AnimClass
	{
		get { return Schema.GetUtf8String(this.Handle, "CCSWeaponBaseVData", "m_szAnimClass"); }
		set { Schema.SetString(this.Handle, "CCSWeaponBaseVData", "m_szAnimClass", value); }
	}

}
