WeaponData
{
	"OnWeaponActivate"									"OnWeaponActivate_weapon_softball"
	"OnWeaponOwnerChanged"								"OnWeaponOwnerChanged_weapon_softball"
	"OnWeaponReload"									"OnWeaponReload_weapon_softball"
	"OnProjectileExplode"								"OnProjectileExplode_weapon_softball"
	
	// :D
	"projectilemodel" 								"models/domestic/nessy_doll.mdl"

	// vanilla missing
	"impulse_force_explosions"   					"7000" //
	//"grenade_fuse_time"								"0" // breaks vanilla softball behavior. required to make grenades don't airburst after refiring
	
	MP_BASE
	{
		"damage_near_distance"							"30000"
		"damage_far_distance" 							"30000" // so there's no need to change "damage_far_value", saving more lines
	
		// these are 0 in mp, guess npc can't do damage without these
		"npc_damage_near_value"   						"10"
		"npc_damage_far_value"							"10"
		//"npc_damage_near_value_titanarmor"				"20"
		//"npc_damage_far_value_titanarmor" 				"20"

		// new added
		// balancing method: add shorter burst delay and lower light unit explosion damage to make it more effective against heavy armor unit
		"npc_aim_at_feet"								"1" // so they will try to land more shots
		"npc_explosion_damage"							"33" // first version uses 40
		"npc_explosion_damage_heavy_armor"				"330"

		// re-balance npc usage
		"npc_rest_time_between_bursts_min"				"0.5" // vanilla uses 0.5, fire_rate is 2
		"npc_rest_time_between_bursts_max"				"0.75" // vanilla uses 1.0, first version uses 0.85

		// npc range behavior
		"npc_min_engage_range"							"100"
		"npc_max_engage_range"							"2000" // vanilla uses 2000
		"npc_min_engage_range_heavy_armor"				"500" // vanilla uses 500
		"npc_max_engage_range_heavy_armor"				"2500" // vanilla uses 3500, but it is clearly that softball can't shoot that far
		"npc_min_range"   								"0"
		"npc_max_range"   								"3000" // vanilla uses 8000.... serious?
	}

	Mods
	{
		sns // this can be used to have good client sync! it's damage and clipsize setting has been moved below
		{
			"explosion_damage" "*1"
			"damage_near_value" "*1"
			"ammo_clip_size" 	"*1"
			"projectile_launch_speed" "++5000"
		}
		ar_trajectory
		{
		}
        extended_ammo
		{
			"ammo_clip_size"   					"*1.34"
		}
		pro_screen
		{
		}
		pro_screenextended_ammo // respawn you___
		{
		}
		pas_fast_ads
		{
		}
		pas_fast_swap
		{
		}
		jump_kit // gonna rework on this, may need use DamageInfo_SetDamageForce( damageInfo, < 0, 0, 0 > ) and directly reset player's velocity, or use rocket_jumper to do so
        {
        	"impulse_force"									"++0"
			"impulse_force_explosions"						"++58000" // 65000
        }
		pas_fast_reload
		{
		}
		burn_mod_softball
		{
			"explosion_damage"								"++60"
			"explosion_damage_heavy_armor"					"++200"
		}
		tactical_cdr_on_kill
		{
		}
		pas_run_and_gun
		{
		}

		// nessy
		// ADS mostly fucked for whatever
		fake_nessy_weapon
		{
			"viewmodel"   									"models/weapons/pstl_sa3/ptpov_pstl_sa3.mdl"
			// we'll also have a script for adding fake model to the weapon
			"playermodel" 									"models/weapons/pstl_sa3/w_pstl_sa3.mdl"
			// projectile model change in script

			// alright then
			// reload time isn't compatible with extended_ammo
			"reload_is_segmented"							"0"
			"reload_time" 									"5.05" // 0.95(softball's reload_time) + 0.82(softball's reloadsegment_time_loop) * 5(softball's ammo_clip_size - 1)
			"reload_time_late1" 							"2.525" // 5.05 / 2.1(mozambique's reload_time) * 1.05(mozambique's reload_time_late1)
			"reloadempty_time"								"5.05" // 0.95(softball's reload_time_empty) + 0.82(softball's reloadsegment_time_loop) * 5(softball's ammo_clip_size - 1)
			"reloadempty_time_late1"						"2.525" // 5.05 / 2.1(mozambique's reloadempty_time) * 1.05(mozambique's reloadempty_time_late1)
		}

		// softball settings
		sns_weapon_settings // for saving it's projectile_launch_speed
		{
			"explosion_damage" "--40"
			"damage_near_value" "++40"
			"ammo_clip_size" 	"--5"
		}
		grenadier_low_damage // best to use together with jump_kit, also useful with gravity_softball
		{
			"damage_near_value"   							"*0.0"
			//"damage_far_value"							"*0.1"
			"explosion_damage"								"*0.1"
			"damage_near_value_titanarmor"					"*0.1"
			//"damage_far_value_titanarmor" 					"*0.1"
			"explosion_damage_heavy_armor"					"*0.1"
		}
		rocket_jumper // jumpers directly modify velocity, set "impulse_force_explosions" much lower!
		{
			"impulse_force"   								"--7000" // 0
			"impulse_force_explosions"   					"--6500" // 500
		}
		// maybe good to split here?
		infinite_clip
		{
			"ammo_no_remove_from_clip"						"1"
		}
		no_damage // for players splitting northstars or something, don't use this on gravity_softball
		{
			"damage_near_value"								"*0.0"
			//"damage_far_value"							"*0.0"
			"explosion_damage"								"*0.0"
			"explosion_damage_heavy_armor"					"*0.0"
		}
		

		// modded softballs...
		thermite_softball
		{
			"explosion_damage"								"--60"
			"explosion_damage_heavy_armor"					"--270"
			"explosion_inner_radius"						"--45"
			"explosionradius"								"--30"
			
			"projectile_trail_effect_0" 					"P_grenade_thermite_trail"
			//"impact_effect_table"							"exp_frag_grenade" // unused
		}
		sonar_softball
		{
			"damage_near_value"   							"++90"
			"explosion_damage"								"--90"

			"projectile_trail_effect_0"						"wpn_grenade_sonar"
			"impact_effect_table" 							"pulse_blade"
		}
		northstar_softball
		{
			"explosion_damage"								"--80" // damage per explosion
			"explosion_damage_heavy_armor"					"--260"
			"explosion_inner_radius"  						"++90"	// nuclear is 350, softball is 50 
			"explosionradius" 								"++270" // nuclear is 750, softball is 150

			"reload_time"								"*5"
			"reload_time_late1"							"*5"
			"reloadempty_time"							"*5"
			"reloadempty_time_late1"					"*5"
			"reloadsegment_time_loop"					"*5"
			"reloadsegment_time_end"					"*5"
			"reloadsegmentempty_time_end"				"*5"

			"ammo_clip_size"   					"--5"
		}
		cluster_softball
		{
			"damage_near_value"   							"++90"
			"explosion_damage"								"--24"
			"explosion_damage_heavy_armor"					"--180"

			"reload_time"								"*2.0"
			"reload_time_late1"							"*2.0"
			"reloadempty_time"							"*2.0"
			"reloadempty_time_late1"					"*2.0"
			"reloadsegment_time_loop"					"*2.0"
			"reloadsegment_time_end"					"*2.0"
			"reloadsegmentempty_time_end"				"*2.0"

			"ammo_clip_size"   					"--5"

			"projectile_trail_effect_0" 					"Rocket_Smoke_SMALL_Titan_2"
			"impact_effect_table" 							"exp_softball_grenade" //"exp_rocket_dumbfire" don't have airburst
		}

		// temporarily removed for softball
		//arcball_softball
		//{
			//"damage_near_value"   						"--10"
		//	"explosion_damage"								"--45" // 45
			//"explosion_inner_radius"  						"++100"
		//	"explosionradius"  						"++100" // only affect outer radius now

	    //	"projectile_trail_effect_0" 					"P_wpn_arcball_trail"
		//	"impact_effect_table" 							"exp_arc_ball"
		//}

		smoke_softball
		{
			"explosion_damage"								"++60"
			"explosion_damage_heavy_armor"					"++470"
			"explosionradius" 								"++60"

			"projectile_trail_effect_0"						"P_wpn_grenade_smoke_trail"
			"impact_effect_table"							"exp_electric_smoke_grenade"
		}
		gravity_softball
		{
			"damage_near_value"								"++65"
			"explosion_damage"								"--65"
			"impulse_force_explosions"						"++43000" // 50000

			"reload_time"								"*2.0"
			"reload_time_late1"							"*2.0"
			"reloadempty_time"							"*2.0"
			"reloadempty_time_late1"					"*2.0"
			"reloadsegment_time_loop"					"*2.0"
			"reloadsegment_time_end"					"*2.0"
			"reloadsegmentempty_time_end"				"*2.0"

			"ammo_clip_size"   					"--5"
			"projectile_trail_effect_0" 					"wpn_grenade_frag_blue"
			"impact_effect_table" 							"exp_gravity_grenade"
		}

		// temporarily removed for softball
		//triplethreat_softball
		//{
		//	"projectile_launch_speed"						"--1400"
			//"damage_near_value"   						"--10"	// it can't do impact damage, no need to set, save lines for new mods
		//	"explosion_damage"								"++260"		// 350
		//	"explosion_damage_heavy_armor"					"++220"		// 150
		//	"explosion_inner_radius"  						"++90"
		//	"explosionradius" 								"++170"

		//	"grenade_bounce_vel_frac_shallow"				"0.4"
		//	"grenade_bounce_vel_frac_sharp"					"0.25"
		//	"grenade_bounce_vel_frac_along_normal"			"0.5"
		//	"grenade_bounce_randomness"						"0.2"
		//	"grenade_bounce_extra_vertical_randomness"		"0.2"
		//	"grenade_roll_vel_frac_per_second"				"0.1"

		//	"fire_rate"   									"--0.8"
		//	"projectiles_per_shot"							"3"

		//	"projectile_trail_effect_0" 					"wpn_grenade_TT"
		//	"impact_effect_table" 							"triplethreat_frag"
		//}

		// haven't finished yet, won't work at all
		//mine_field
		//{
		//}

		// temporarily removed for softball, it wasn't very special i guess
		//rolling_rounds
		//{
		//	"grenade_bounce_vel_frac_shallow"				"++0.2"
		//	"grenade_bounce_vel_frac_sharp"					"++0.15"
		//	"grenade_bounce_vel_frac_along_normal"			"++0.2"
		//	"grenade_roll_vel_frac_per_second"				"++0.4"
		//}
		//impact_fuse
		//{
		//}

		// temporarily removed for softball, for being too powerful
		//emp_softball
		//{
		//	"damage_near_value"								"--10"
		//	"explosion_damage"								"--50"
        //	"explosionradius" 								"++200"

	    //	"grenade_ignition_time"                         "0.75"

		//	"projectile_trail_effect_0" 					"wpn_grenade_frag_blue"
		//	"impact_effect_table" 							"exp_emp"
		//}

		// not very funny, kinda removed
		// error_softball
		// {
		// 	"explosion_damage"								"*0.15"
		// 	"explosion_damage_heavy_armor"					"*0.15"
		// 	"projectile_trail_effect_0" 					"" // to trigger a "error particle" effect in script
		// }

		// temporarily removed for softball
		//grenade_launcher
		//{
		//	"damage_near_value"								"++90"
		//	"explosion_damage"								"--30"
		//	"grenade_fuse_time"								"2.3"
		//	"ammo_clip_size"								"--2"
		//}

		stickybomb_launcher
		{
			"damage_near_value"								"*0"
			"explosion_damage"								"--30"
			"fire_rate"										"1.67"
			"projectile_max_deployed"						"8"
			// reached max line limit of 200
		}

		burn_mod_modded_softball // should set every modded burnmod to a fixed format, and control it in modded_burnmods.gnut
		{
			"is_burn_mod"		"1"
			"damage_near_value"								"*2.0"
			"explosion_damage"								"*1.5"
		}

		// tediore reload
		reload_repeat
		{
		}

		// temporarily removed for softball, maybe reused by entity.s.doFriendlyFire
		//friendlyfire_weapon
		//{
		//}
		
		// temporarily removed for softball, since it has so many funny things?
		//nessie_balance
		//{
		//	"damage_near_value"			"*0.5"
		//	"damage_far_value"			"*0.5"
		//	"explosion_damage"			"*0.5"
		//}

		// gruntmode
		gruntmode_stalker_weapon // stalkers in gruntmode will try to equip this mod
		{
			"npc_explosion_damage"							"--6" // 24, first version uses 30
		}

		// gamemode_kraber specific
		direct_hit // done in script: only damage players when direct hit!
		{
			"impulse_force_explosions"   					"*0.8" // 400 with rocket_jumper
			"explosion_inner_radius"  						"*0.6" // 30, lower max knockback distance, same as epg!
		}
		one_shot_clip // only 1 shot in clip!
		{
			"ammo_clip_size"								"--5"
			"reload_time" 									"*2.0"
			"reloadsegment_time_loop"						"*2.0"
			"reloadempty_time"								"*2.0"
			// softball is already ready to fire when reached end animation
			"reloadsegment_time_end"						"*0.1"
			"reloadsegmentempty_time_end"					"*0.1"
		}
		impact_pulse
		{
			"impulse_force"									"++7000" // 7000 with rocket_jumper, weird funny
		}

		// mods count max is 30, now having 30 mods and 8 mods removed!
	}
}
