extends Resource class_name weapon_resource @export var gun_name : String @export var gun_icon : Texture2D @export var path : String @export_enum("Projectile","Melee","Tracker") var weapon_type = 0 @export_enum("Mag","Revolver","Bolt Action") var reload_type = 0 @export var bullet : bullet_resource @export_enum("Auto", "Single", "Burst") var fire_mode: int @export var fov_zoom_amt = .98 @export var crosshair_radius = 50 @export var ads : bool = false @export var recoil_amount : Vector3 = Vector3(.05,.05,.05) @export var crosshair_jump_amount : int = 10 @export var kick_amount : float = .1 @export var max_ammo = 15 @export var start_mags = 3 @export var bullet_damage = 1 @export var smoke_enabled : bool = false @export var bullet_force_mod = 5.0 @export var bullet_speed = 600 @export var decibels_of_gunfire_sound = 160.0 @export var max_distance_heard = 75 #in meters @export_group("Gun Assets") @export var casing : Resource @export var mag : Resource @export_group("Vibration Settings") @export var vibration_weak_magnitude : float = .1 @export var vibration_strong_magnitude : float = .5 @export var vibration_duration = .1 @export_group("Revolver Settings") @export var chamber_rot_amount = 60.0 ## In degrees per bullet fired @export_group("Shotgun Settings") @export var shotgun_spread : Vector3 = Vector3(.1,.1,.1) @export var pellets_per_shot : int = 20 @export_group("Rocket Settings") @export var blast_power : float = 50.0 @export_group("Tracker Settings") @export var tracker_asset : Resource @export_group("Hitscan Settings") @export var hitscan_range : float = 100 ##for hitscan and melee weapons var calculated_rigidbody_spawn_velocity = {}