WeaponData
{
	// modified callbacks
	"OnWeaponActivate"								"OnWeaponActivate_TitanWeapon_Rocketeer_RocketStream"

	// vanilla missing: npc explosion damage
	// I'll not touch vanilla weapon settings, moved to brute_rocket
	//"npc_explosion_damage"						"35" // nerf to 35, was 50
	//"npc_explosion_damage_heavy_armor"			"200"

	// :D
	"projectilemodel" 								"models/domestic/nessy_doll.mdl"

	// vanilla quad rocket has weird segment reload time
	// due quad rocket don't exist in MP
	// I'd fix it's reload behavior by default
	"reload_time_late1" 						"2.0"
	"reloadempty_time_late1" 					"2.0"

	Mods
	{
		rocketstream_fast
		{
			"ammo_per_shot"						"*0.25" // 1

			// vanilla missing: npc behavior change
			// I'll not touch vanilla values, moved to brute_rocket_fast_shot
			//"npc_rest_time_between_bursts_min"			"*0.67" // ~0.5
			//"npc_rest_time_between_bursts_max"			"*0.5" // 0.75
		}
		coop_mortar_titan
		{
		}
		RocketCore_RocketStream
		{
		}
		burn_mod_titan_rocket_launcher // has been modified, requires client-side install
		{
			// try to restore respawn's thought in ttf1: firing 2 cluster missile
			"ammo_clip_size"					"*0.5" // 10
			"ammo_per_shot"						"*0.5" // 2
			"projectiles_per_shot"				"*0.5" // 2
			// bit scale down splash damage against pilots
			"explosion_damage"					"*0.7" // 35
			//"explosion_damage_heavy_armor"		"*0.5" // 100

			// increase damage because we fire only 2 rockets
			"damage_near_value"								"*2.0" // 100
			"damage_far_value" 								"*2.0" // 100
			"damage_near_value_titanarmor"					"*1.5" // 525
			"damage_far_value_titanarmor" 					"*1.5" // 450

			// add npc explosion damages: this weapon mod rely on explosions to deal damage
			// but we don't have base value for npc exlosion damage, needs to hardcode here
			"npc_explosion_damage"					"35" // player value is 35
			"npc_explosion_damage_heavy_armor"		"200"  // player value is 200

			"npc_aim_at_feet_vs_heavy_armor"		"1"
		}
		sp_s2s_settings
		{
		}
		sp_s2s_settings_npc
		{
		}

		// nessy
        // titan weapons: model change done in script
		fake_nessy_weapon
		{
		}


		// vanilla fix, requires client-side install
		mini_clusters // for rocketeer_ammo_swap
		{
			"damage_near_value"             		"*2.0" // 100
			"damage_far_value"              		"*2.0" // 100

			"explosion_inner_radius"				"*1.5" // 90
			"explosionradius"						"*1.4" // 175
			"explosion_shake_duration"				"*0" // 0.0

			"ammo_clip_size"   						"*0.25" // 5
			// "projectiles_per_shot" does nothing because we always fire 1 missile
			//"projectiles_per_shot"					"*0.25" // 1
			"ammo_per_shot"							"*0.25" // 1
			// bit scale down splash damage
			"explosion_damage"						"*0.7" // 35
			"explosion_damage_heavy_armor"			"*0.7" // 140

			// add npc explosion damages: this weapon mod rely on explosions to deal damage
			// but we don't have base value for npc exlosion damage, needs to hardcode here
			"npc_explosion_damage"					"35" // player value is 35
			"npc_explosion_damage_heavy_armor"		"140" // player value is 140

			"npc_aim_at_feet_vs_heavy_armor"		"1"
			"npc_rest_time_between_bursts_min"		"*0.5"
			"npc_rest_time_between_bursts_max"		"*0.5"

			// firing sound done in script so other clients can hear it
			// here we leave empty sound
			// NOTE: quad rocket's sound is all done in script, no need to change setfile
			//"fire_sound_1_player_1p"				"Null_Remove_SoundHook"
			//"fire_sound_1_player_3p"				"Null_Remove_SoundHook"
			"projectile_trail_effect_0" 			"Rocket_Smoke_SMALL_Titan_mod"

			"impact_effect_table" 					"exp_rocket_dumbfire"
		}
		fast_reload // for rocketeer_ammo_swap
		{
			"reload_time"							"*0.67"
			"reload_time_late1"						"*0.67"
			"reloadempty_time"						"*0.67"
			"reloadempty_time_late1"				"*0.67"
		}
		fast_deploy // for rocketeer_ammo_swap
		{
			"deploy_time"							"*0.01" // 0.01
		}

		// default comes together with brute4
		// if we added brute4 aegis upgrade "agile_frame", need to use this mod for toggle run_and_gun
		//disable_run_and_gun
		//{
		//	"primary_fire_does_not_block_sprint"			"0" // vanilla quad rocket do have run-and-gun...
		//}

		// disable run_and_gun on server-side
		// effect done in script _disable_run_and_gun_on_server.gnut
		disable_run_and_gun_server
		{

		}

		// brute 4 stuffs
		brute4_quad_rocket	//for confirm titan is brute4, modify weapon mods given
		{
			"primary_fire_does_not_block_sprint"			"0" // vanilla quad rocket do have run-and-gun...
			
			// value taken from 40mm, adjust damage falloff for single shot
			"damage_near_distance"							"1500" // vanilla quad rocket uses 1000
			//"damage_far_distance" 							"3000" // vanilla quad rocket uses 2000

			"damage_near_value"   							"60" // was 75. brute4 uses 200
			"damage_far_value"								"60" // was 75. brute4 uses 200
			"damage_near_value_titanarmor"					"360"
			// 300 damage is same as vanilla value!
			//"damage_far_value_titanarmor" 					"300" // brute4 uses 360

			"explosion_damage"								"40" // brute4 uses 50
			"explosion_damage_heavy_armor"					"280" // brute4 uses 320
			"explosion_inner_radius" 						"40"
			"explosionradius" 								"125"

			// Damage: When used by npcs
			"npc_damage_near_value"   						"60" // was 75. brute4 uses 200
			"npc_damage_far_value"							"50" // was 75. brute4 uses 200
			"npc_damage_near_value_titanarmor"				"360"
			"npc_damage_far_value_titanarmor" 				"300"

			// remove npc explosion damages: this weapon don't rely on explosions to deal damage
			// if add damage to npcs they might become too much powerful, also makes them hurting themselves at close range
			//"npc_explosion_damage"							"35" // was 50
			//"npc_explosion_damage_heavy_armor"				"280"
			"npc_aim_at_feet"								"0" // add this due we removed explosion damage

			// projectile behavior
			// for brute4_single_shot, we use bolt instead of missile to trigger bolt_hitsize stuffs( done in script! )
			"bolt_hitsize"									"0.0"
			"bolt_hitsize_grow1_time"						"0.035"
			"bolt_hitsize_grow1_size"						"0.5" // brute4 uses 1.0
			"bolt_hitsize_grow2_time"						"0.08"
			"bolt_hitsize_grow2_size"						"1.0" // brute4 uses 2.0
			"bolt_hitsize_growfinal_lerptime"				"0.18"
			"bolt_hitsize_growfinal_size"					"2.0" // brute4 uses 4.0
			"bolt_gravity_enabled"							"0"

			// Spread
			"spread_stand_hip"								"0"
			"spread_stand_hip_run"							"0"
			"spread_stand_ads"								"0"
			"spread_crouch_hip"   							"0"
			"spread_crouch_ads"   							"0"
			"spread_air_hip"  								"0"
			"spread_air_ads"  								"0"

			"fire_rate"										"1.3"

			"ammo_clip_size"   								"16"

			// removing some values those are same as vanilla value
			//"reload_time" 									"3.0"
			"reload_time_late1" 							"2.0"
			//"reloadempty_time"								"3.0"
			"reloadempty_time_late1" 						"2.0"
			//"holster_time"									"0.45"
			"critical_hit_damage_scale"						"1.5"
			// removing this move speed modifier so it feels less tricky when switching from this weapon
			//"ads_move_speed_scale"							"0.85"

			"zoom_time_in"									"0.15"
			"zoom_time_out"   								"0.15"

			// npc behavior
			// some values are same as vanilla does, no need to keep
			//"proficiency_poor_spreadscale"					"4.0"
			//"proficiency_average_spreadscale" 				"3.5"
			//"proficiency_good_spreadscale"					"3.0"
			//"proficiency_very_good_spreadscale"   			"2.0"

			//"npc_min_range"   								"0"
			//"npc_max_range"   								"6000"

			"npc_min_engage_range"							"100"
			"npc_max_engage_range"							"3500"
			"npc_min_engage_range_heavy_armor"				"500"
			"npc_max_engage_range_heavy_armor"				"5000"

			// not modifying burst behavior
			//"npc_min_burst"   								"4"
			//"npc_max_burst"   								"4"
			//"npc_rest_time_between_bursts_min"				"2.0"
			//"npc_rest_time_between_bursts_max"				"3.0"
			//"npc_fire_at_enemy_defense_time"				"2.5"
			"npc_self_explosion_safety"						"0"
		}
		brute4_single_shot
		{
			"fire_rate"   							"*1.5"
			"damage_near_value"             		"*1.75" // was 1.5, but we've reduced basic damage, needs buff this
			"damage_far_value"              		"*1.0" // was 1.5, but don't want titan able to snipe player
			"damage_near_value_titanarmor"			"*1.5"
			"damage_far_value_titanarmor" 			"*1.5"
			"explosion_damage"              		"*1.0" // was 1.5
			"explosion_damage_heavy_armor"  		"*1.5"

			// Damage: When used by npcs
			"npc_damage_near_value"   				"*1.75" // was 1.5, but we've reduced basic damage, needs buff this
			"npc_damage_far_value"					"*1.0" // was 1.5, but like npc's 40mm, we don't want npc titan able to snipe player
			"npc_damage_near_value_titanarmor"		"*1.5"
			"npc_damage_far_value_titanarmor" 		"*1.5"

			// remove npc explosion damages: this weapon don't rely on explosions to deal damage
			// if add damage to npcs they might become too much powerful
			//"npc_explosion_damage"					"*1.0" // was 1.5
			//"npc_explosion_damage_heavy_armor"		"*1.5"

			"ammo_per_shot"							"*0.5" // 2

			// moved to brute4_quad_rocket because they have no explosion damage now
			//"npc_aim_at_feet"						"0"
			//"npc_rest_time_between_bursts_min"		"*0.25" // 0.5
			//"npc_rest_time_between_bursts_max"		"*0.25" // 0.75

			// firing behavior
			// can't change burst behavior! will fuck up fire rate because npc bursts can't check weapon mods correctly
			//"npc_min_burst"   								"2"
			//"npc_max_burst"   								"3"
			// trying to remove quick rest because we're adding burst to fast shots

			"npc_rest_time_between_bursts_min"			"*0.67" // ~0.5
			"npc_rest_time_between_bursts_max"			"*0.5" // 0.75
		}
		brute4_cluster_payload_ammo
		{
			"rui_crosshair_index"			"1"

			"damage_near_value"             		"*1.5"
			"damage_far_value"              		"*1.5"
			"damage_near_value_titanarmor"			"*1.0" // was nerfed to *0.5, brute4 uses *1.5
			"damage_far_value_titanarmor" 			"*1.0" // was nerfed to *0.5, brute4 uses *1.5

			"explosion_damage"						"*0.7" // 35
			"explosion_damage_heavy_armor"			"*0.5" // 140, brute4 uses 175( 320 basic explosion damage *0.5469 )
			"explosion_inner_radius"				"*2.5" // 100
			"explosionradius"						"*1.4" // 175
			"explosion_shake_duration"				"*0" // 0.0

			// Damage: When used by npcs
			"npc_damage_near_value"   				"*1.5"
			"npc_damage_far_value"					"*1.5"
			"npc_damage_near_value_titanarmor"		"*1.0"
			"npc_damage_far_value_titanarmor" 		"*1.0"

			// add npc explosion damages: this weapon mod rely on explosions to deal damage
			// but we don't have base value for npc exlosion damage, needs to hardcode here
			//"npc_explosion_damage"					"*0.7"
			//"npc_explosion_damage_heavy_armor"		"*0.5"
			"npc_explosion_damage"					"35" // player value is 35
			"npc_explosion_damage_heavy_armor"		"140" // player value is 140

			"ammo_clip_size"   						"*0.25" // 4
			// "projectiles_per_shot" does nothing because we always fire 1 missile
			//"projectiles_per_shot"					"*0.25" // 1
			"ammo_per_shot"							"*0.25" // 1

			"npc_aim_at_feet_vs_heavy_armor"		"1"
			"npc_rest_time_between_bursts_min"		"*0.5" // 1.0, brute4 uses *0.25( 0.5 )
			"npc_rest_time_between_bursts_max"		"*0.5" // 1.5, brute4 uses *0.25( 0.75 )

			// firing sound done in script so other clients can hear it
			// here we leave empty sound
			//"fire_sound_1_player_1p"				"Null_Remove_SoundHook"
			//"fire_sound_1_player_3p"				"Null_Remove_SoundHook"
			"projectile_trail_effect_0" 			"Rocket_Smoke_SMALL_Titan_mod"

			// brute4 don't have this one, added by my own
			"impact_effect_table" 					"exp_rocket_dumbfire"
		}
		straight_shot
		{
		}
		rapid_detonator
		{
		}
		rapid_detonator_active
		{
			"fire_rate"								"*1.15"
		}

		// fake bt
		fakebt_balance
		{
			// the high projectile speed is a bug I made before
			// actually it don't desync very much, but I removed it for fakebt
			// maybe no need to reduce damage cause the projectile is really slow
			"damage_near_value_titanarmor"				"*0.75"
			"damage_far_value_titanarmor" 				"*0.75"
			"explosion_damage_heavy_armor"				"*0.75"

			// don't know why vanilla leave this enabled. can't turn off, will cause client to desync
			//"primary_fire_does_not_block_sprint"		"0"
		}

		// brute
		brute_rocket // nerf a little bit or atlas will seem stupid
		{
			"damage_near_value_titanarmor"				"*0.9"
			"damage_far_value_titanarmor" 				"*0.9"
			"explosion_damage_heavy_armor"				"*0.9"

			// the high projectile speed is a bug I made before
			// actually it don't desync very much, just keep it in script
			// otherwise it will be to hard to land shots with this weapon
			"fire_rate"									"--0.2"

			"npc_rest_time_between_bursts_min"			"*1.33" // ~1.0
			"npc_rest_time_between_bursts_max"			"*1.167" // ~1.75

			// vanilla missing: npc explosion damage
			// remove npc explosion damages: this weapon don't rely on explosions to deal damage
			// if add damage to npcs it might become too much powerful, also makes them hurting themselves at close range
			//"npc_explosion_damage"						"++35" // nerf to 35, was 50
			//"npc_explosion_damage_heavy_armor"			"++200" // 200
			"npc_explosion_damage"						"0"
			"npc_explosion_damage_heavy_armor"			"0"
			// instead of adding explosion damage, we remove aim_at_feet for npcs!
			"npc_aim_at_feet"							"0" 

			// don't know why vanilla leave this enabled. can't turn off, will cause client to desync
			//"primary_fire_does_not_block_sprint"		"0"
		}
		brute_rocket_fast_shot
		{
			// increase fire_rate a little bit just like tf|1's rapid_fire_missiles
			//"fire_rate"									"++0.2" // restore fire rate
			//"fire_rate"									"*1.758242" // ~4.0 with rocketstream_fast
			"fire_rate"									"*1.5" // 3.4125 with rocketstream_fast
			//"fire_rate"									"*1.173077" // ~3.9375 with rocketstream_fast

			// vanilla missing: npc behavior change
			//"npc_rest_time_between_bursts_min"			"*0.5" // ~0.5
			//"npc_rest_time_between_bursts_max"			"*0.4286" // ~0.75

			// firing behavior
			// can't change burst behavior! will fuck up fire rate because npc bursts can't check weapon mods correctly
			//"npc_min_burst"   								"4"
			//"npc_max_burst"   								"6"
			// trying to remove quick rest because we're adding burst to fast shots
			
			//"npc_rest_time_between_bursts_min"			"*0.4" // ~0.4
			//"npc_rest_time_between_bursts_max"			"*0.171429" // ~0.3

			"npc_rest_time_between_bursts_min"			"*0.3" // 0.3
			"npc_rest_time_between_bursts_max"			"*0.228571" // ~0.4
		}

		// pilot usage
		pilot_usage
		{
			"explosion_damage"							"*0.8"
			"explosion_damage_heavy_armor"				"*0.8"
			"damage_near_value"   						"*0.35"
			"damage_far_value"							"*0.35"
			"damage_near_value_titanarmor"				"*0.35"
			"damage_far_value_titanarmor" 				"*0.35"
		}

		// misc fix: disallow firing when not fully hipfire/ads, to avoid weird desync condition
		// also disallow run_and_gun
		rocketeer_rocketstream_fix
		{
			"primary_fire_does_not_block_sprint"			"0"

			// to compensate unable to fire during transition, we could reduce zoom in/out time same as brute4 does
			// or maybe no need? splitter rifle also have mode switch but it does not compensate anything
			// welp, after checking I realized vanilla quad rocket has only 0.1s zoom transition, should be fine
			//"zoom_time_in"									"0.15"
			//"zoom_time_out"   								"0.15"
		}

		// do increased projectile speed in MP. requires client-side install
		increased_projectile_speed
		{
		}
	
		// fake TF|1 weapon mods
		rapid_fire_missiles // changes everything to tf1 weapon mod
		{
			"ammo_per_shot"									"*0.25" // 1

			"fire_rate"   									"5.2" // 1.3 * 4
			"ammo_clip_size"   								"18"

			// sadly no enough room for appending these stuffs
			// but basic viewkick do need adjust
			"viewkick_pitch_base" 							"-0.4"
			//"viewkick_pitch_random"   						"0.3"
			"viewkick_yaw_base"   							"-0.15"
			//"viewkick_yaw_random" 							"0.3"
			//"viewkick_roll_hardScale" 						"1.2"

			// sadly no enough room for appending ADS spread
			"spread_kick_on_fire_stand_hip"   				"0.15"
			//"spread_kick_on_fire_stand_ads"   				"0.15"
			"spread_kick_on_fire_crouch_hip"  				"0.15"
			//"spread_kick_on_fire_crouch_ads"  				"0.15"
			"spread_kick_on_fire_air_hip" 					"0.15"
			//"spread_kick_on_fire_air_ads" 					"0.15"

			// sadly no enough room for appending these stuffs
			//"spread_max_kick_stand_hip"   					"3.0"
			//"spread_max_kick_stand_ads"   					"3.0"
			//"spread_max_kick_crouch_hip"  					"3.0"
			//"spread_max_kick_crouch_ads"  					"3.0"

			"explosion_inner_radius"						"60"
			"explosionradius" 								"100"
			"explosion_damage"								"35" // 75 in tf|1, but in that case pilots have 200 HP
			// no need to increase titan damage that much, I think?
			//"damage_near_value_titanarmor"					"550"
			//"damage_far_value_titanarmor" 					"550"
			"damage_near_value_titanarmor"					"*1.2" // 420
			"damage_far_value_titanarmor" 					"*1.2" // 360
			"npc_damage_near_value_titanarmor"				"*1.2"
			"npc_damage_far_value_titanarmor" 				"*1.2"
		}

		// should've reached max mod lines of 200
	}

	RUI_CrosshairData
	{
		DefaultArgs
		{
			adjustedSpread				weapon_spread
			adsFrac 					player_zoomFrac
			isSprinting					player_is_sprinting
			isReloading					weapon_is_reloading
			teamColor					crosshair_team_color
			isAmped						weapon_is_amped
			crosshairMovementX          crosshair_movement_x
			crosshairMovementY          crosshair_movement_y
		}

		// changed from vanilla: use TF|1 quad rocket crosshair
		Crosshair_1
		{
			"ui"						"ui/crosshair_quad_rocket"
			"base_spread"				"10.0"
			Args
			{
				isFiring				weapon_is_firing
			}
		}

		Crosshair_2
		{
			"ui"						"ui/crosshair_smr"
			"base_spread"				"10.0"
			Args
			{
				isFiring				weapon_is_firing
			}
		}
	}
}
