WeaponData
{
	"OnWeaponTossPrep"								"OnWeaponTossPrep_ability_heal"
	"OnWeaponTossReleaseAnimEvent"					"OnWeaponTossReleaseAnimEvent_ability_heal"
	"OnProjectileCollision"							"OnProjectileCollision_ability_heal"

	// Models
	"offhand_toss"									"1"
	"viewmodel"										"models/weapons/grenades/ptpov_sentry_shield.mdl"
	"projectilemodel" 								"models/weapons/sentry_shield/sentry_shield_proj.mdl"
	"offhand_default_inventory_slot"				"1"
	"leveled_pickup"								"1"

	// Effects
	"bounce_effect_table"							"deployable_cover_bounce_table"
	"impact_effect_table" 							"exp_deployable_cover"
	// move into weapon mods for better vortexing
	//"projectile_trail_effect_0"						"wpn_grenade_frag"

	// vortex
	// obvious a better way to fix is adding fall_vortex
	//"vortex_refire_behavior"  						"absorb"

	// taken from mp_weapon_deployable_cover
	"vortex_absorb_effect"							"wpn_vortex_projectile_satchel_FP"
	"vortex_absorb_effect_third_person"				"wpn_vortex_projectile_satchel"
	"vortex_absorb_sound"							"Vortex_Shield_AbsorbBulletLarge"
	"vortex_absorb_sound_1p_vs_3p"					"Vortex_Shield_AbsorbBulletLarge_1P_VS_3P"
	"vortex_refire_behavior"  						"grenade" // taken from mp_titanability_laser_trip
	"projectile_ignores_vortex"						"fall_vortex"

	"projectile_adjust_to_gun_barrel"				"0"
	"projectile_adjust_to_hand"						"1"

	"sound_deploy_1p"								"weapon_sentryfragdrone_pinpull_1p"
	"sound_deploy_3p"								"weapon_sentryfragdrone_pinpull_3p"
	"sound_throw_1p"								"Pilot_Hardcover_Toss_1P"
	"sound_throw_3p"								"weapon_sentryfragdrone_throw_3p"
	"sound_grenade_projectile"						"weapon_sentryfragdrone_warmup"

	// grenade
	"grenade_disc_throw"							"1"
	"projectile_gravity_scale"						"1"
	"toss_pullout_time"								"0.1"
	"toss_time"										"0.2"
	"toss_overhead_time"							"0.2"

	"grenade_bounce_vel_frac_shallow"				"0.5"
	"grenade_bounce_vel_frac_sharp"					"0.3"
	"grenade_bounce_vel_frac_along_normal"			"0.1"
	"grenade_bounce_randomness"						"0.05"
	"grenade_bounce_extra_vertical_randomness"		"0.0"
	"grenade_roll_vel_frac_per_second"				"0.1"
	"grenade_radius_vertical"						"5.0"
	"grenade_radius_horizontal"						"16.0"
	"projectile_launch_pitch_offset"				"2"

	// some settings for scripted npc pilot to get
	// usage
	"npc_min_burst"									"1" // min use(s) between cooldown: 1
	"npc_max_burst"									"1" // max use(s) between cooldown: ammo_clip_size(200) / ammo_per_shot(200)
	// cooldown
	"npc_rest_time_between_bursts_min"				"18.52" // min cooldown: ammo_per_shot(200) / regen_ammo_refill_rate with pas_power_cell(8*1.35)
	"npc_rest_time_between_bursts_max"				"25.0" // max cooldown: ammo_per_shot(200) / regen_ammo_refill_rate(8)

	Mods
	{
		bc_super_stim
		{
		}
		bc_fast_cooldown_stim1
		{
		}
		bc_fast_cooldown_stim2
		{
		}
		bc_long_stim1
		{
		}
		bc_long_stim2
		{
		}
		pas_power_cell
		{
		}
		dev_mod_low_recharge
		{
		}
		spree_lvl1_heal
		{
		}
		spree_lvl2_heal
		{
		}
		spree_lvl3_heal
		{
		}
		burn_card_weapon_mod
		{
		}
		amped_tacticals
		{
		}

		// octane stim
		octane_stim // low recharge stim, disables health regen while activating, less speed boost, with long duration almost no cooldown
		{
			"fire_duration"						"*2.0"
			"regen_ammo_refill_rate"			"++192" // 200
			"regen_ammo_refill_start_delay"		"++1.5" // octane's stim recharge starts after throwing his stim, so do this
		}

		// jump pad
		jump_pad
		{
			"fire_mode"   						"offhand"
			"fire_duration"						"*0.5" // 1.0
			"regen_ammo_refill_rate"			"*0.8"
			"regen_ammo_refill_start_delay"		"++2"
		}
		infinite_jump_pad // jump pads won't self-destroy
		{
		}

		// repair drone
		repair_drone
		{
			"fire_mode"   									"offhand"
			"viewmodel"										"models/weapons/grenades/ptpov_sentry_frag.mdl"
			"toss_pullout_time"								"++0.3" // 0.4
			"toss_time"										"++0.1" // 0.3
			"toss_overhead_time"							"++0.1" // 0.3

			"fire_duration"									"*0.5" // 1.0
			"regen_ammo_refill_start_delay"	 				"++20" // same as REPAIR_DRONE_LIFETIME... should be handled by no_regen?
		}
		no_regen // handling cooldown
		{
			"regen_ammo_refill_rate"	"*0"
		}

		// wrecking ball
		wrecking_ball
		{
			"fire_mode"										"offhand"
			"viewmodel"										"models/weapons/grenades/ptpov_frag_grenade.mdl"
			"fire_duration"									"*0.5" // 1.0
			"bounce_effect_table"							"bounce_frag_drone"
			// regen ammo
			"grenade_fuse_time"								"0.0" // script handle this
			"regen_ammo_refill_start_delay"					"8.0" // match lifetime in script

			// toss
			"toss_pullout_time"								"++0.25" // 0.35
			"toss_time"										"++0.13" // 0.33
			"toss_overhead_time"							"++0.13" // 0.33

			// most things hardcoded in script
			"impact_effect_table" 							"exp_emp"

			"explosion_damage"								"40"
			"explosion_damage_heavy_armor"					"330"

			"explosion_inner_radius"  						"250"
			"explosionradius" 								"320"
			"impulse_force"   								"500"
			"impulse_force_explosions"						"50000"
			"explosion_shake_radius"						"600"
			"explosion_shake_amplitude"						"60"
			"explosion_shake_frequency"						"45"
			"explosion_shake_duration"						"1.0"

			"grenade_roll_vel_frac_per_second"				"3.0"
			"projectile_launch_pitch_offset"				"25"
		}
		speed_pad // not impiled yet
		{
			"fire_duration"				"*0.3" // 0.9s, for HolsterWeaponForPilotInstants(), force holster for 0.9s
		}

		// grunt mode specifics
		grunt_mode // base mod for tacticals and ordnances: no regen, not compatible with octane_stim
		{
			"regen_ammo_refill_rate"						"*0.001" // for handling offhand_toss weapon cooldown... cannot be 0.0
			"regen_ammo_refill_start_delay"					"++10000" // required to make client syncing, otherwise client will try to recharge this weapon!
		}
		gm_jumper // use together with jump_pad and infinite_jump_pad, clean up the jumppad upon death
		{
		}
		gm_runner // use together with octane_stim, player will have to wait a delay before recharging health after use
		{
		}
	}
}
