//----------------------------------------------------------------
// grenadelauncher.def
//
// Copyright 2002-2004 Raven Software
//----------------------------------------------------------------

export grenadelauncher
{
	options -prefix NADE_ -scale .4 -keep barrel -sourcedir work/models/weapons/strogg_grenade_launcher/animations -destdir models/weapons/grenadelauncher

	addoptions -skipmesh rt_strogg_arm_mesh 
	addoptions -skipmesh lft_strogg_arm_mesh 

	mesh NADE_idle.ma			-dest mesh
	anim NADE_idle.ma			-dest idle
	anim NADE_idle_empty.ma		-dest idle_empty
	anim NADE_fire_00.ma		-dest fire	
	anim NADE_fire_empty.ma		-dest fire_empty
	anim NADE_lower.ma			-dest lower
	anim NADE_raise.ma			-dest raise
	anim NADE_reload.ma			-dest reload
}

export grenadelauncher_strogg
{
	options -prefix NADE_ -scale .4 -keep barrel -sourcedir work/models/weapons/strogg_grenade_launcher/animations -destdir models/weapons/grenadelauncher
	addoptions -skipmesh rt_arm_mesh 
	addoptions -skipmesh lft_arm_mesh 
	mesh NADE_idle.ma			-dest mesh_strogg
}


export grenadelauncher
{
	options -prefix PLAYER_GN_ -scale .4 -keep muzzle_flash ATTACHER -sourcedir work/models/characters/marine/multiplayer -destdir models/weapons/grenadelauncher/world -rename ATTACHER origin -clearorigin
	mesh	grenadelauncher_idle.ma			-dest grenadelauncher
	anim	grenadelauncher_idle.ma			-dest idle
}

entityDef viewStyle_shouldered_grenadelauncher {
	"viewoffset"				"-3.2 2.0 0.0"
	"viewangles"				"-10.0 4.6 -1.1"
}

entityDef viewStyle_q3_grenadelauncher {
	"viewoffset"				"-3.2 0.3 0.0"
  	"viewangles"				"-9.7 4.6 -1.1"
}

//--------------------------------------------------------------------------------------------------------------------
// Weapon Definition
//--------------------------------------------------------------------------------------------------------------------
entityDef weapon_grenadelauncher
{
	"editor_menu"				"pickup"
	"editor_color"				".3 .3 1"
	"editor_mins"				"-16 -16 0"
	"editor_maxs"				"16 16 32"

	"editor_usage"				"Grenade Launcher"

	"spawnclass"				"idItem"
	"weaponclass"				"rvWeaponGrenadeLauncher"
	"size"						"32 32 32"
  	"model_view"				"weapon_grenadelauncher_view"
  	"model_view_strogg"			"weapon_grenadelauncher_view_strogg"
  	"model_world"				"weapon_grenadelauncher_world"
	"model"						"models/weapons/grenadelauncher/w_gl.lwo"
	"def_dropItem"				"weapon_grenadelauncher"
	"mtr_crosshair"				"gfx/guis/crosshairs/crosshair_grenadelauncher"

	"def_mod1"					"wpmod_grenade_concussion_blast"

	"joint_attach"				"GN_ATTACHER"
	"joint_view_flash"			"barrel"
	"joint_view_barrel"			"barrel"
	"joint_world_flash"			"muzzle_flash"

	"fireRate"					".8"
	"spread"					"0"

	// the direction of projectile launches will be modified by this
	"dirOffset"					"0 0 .2"
	
	"inv_weapon"				"weapon_grenadelauncher"
	"inv_start_ammo_grenadelauncher"	"10"
	"inv_item"					"1"
	"inv_icon"					"gfx/guis/hud/icons/item_grenade.tga"
	"inv_name"					"#str_107403"	

	"weaponname"				"Grenade Launcher"
	"def_projectile"			"projectile_grenade"
	"ammoType"					"ammo_grenadelauncher"
	"clipSize"					"8"
	"ammoRequired"				"1"
	"mtr_icon"					"gfx/guis/hud/icons/gun_grenadelauncher"

	"ammoRegenStep"				"1"
	"ammoRegenTime"				"2000"

	"muzzle_kick_time"			"0.8"
	"muzzle_kick_maxtime"		"0.8"
	"muzzle_kick_angles"		"-4 0 0"
	"muzzle_kick_offset"		"2 0 1"

	"recoilTime"				"500"
	"recoilAngles"				"-.20 0 0"
	
	"mtr_flashShader"			"lights/muzzleflash"
	"flashColor"				"0.99 0.84 .31"
	"flashRadius"				"200"
	"flashPointLight"			"1"
	"flashTime"					".1"
	"flashViewOffset"			"15 -5 -5"

	"mtr_guiLightShader"		"lights/viewWeaponGuiLight"

 	"fx_muzzleflash"			"effects/weapons/grenadelauncher/muzzleflash.fx"
 	"fx_muzzleflash_world"		"effects/weapons/grenadelauncher/muzzleflash.fx"
	"fx_respawn"				"effects/mp/itemrespawn.fx"

	"snd_acquire"				"pickup_weapon"
	"snd_quaddamage"			"weapon_quaddamage_fire"
	"snd_noAmmo"				"weapon_grenadelauncher_dryfire"

	"def_viewStyle"				"viewStyle_q3_grenadelauncher"
	"def_viewStyle1"			"viewStyle_shouldered_grenadelauncher"
	
	"weaponAngleOffsetAverages" "10"
	"weaponAngleOffsetScale" 	".25"
	"weaponAngleOffsetMax"		"5"
	"weaponOffsetTime"			"600"
	"weaponOffsetScale"			"0.002"

//	"launchFromBarrel"			"1"
	"foreshorten"				".55"

	"net_syncPhysics"			"1"
}

entityDef weapon_grenadelauncher_mp
{
	"inherit"					"weapon_grenadelauncher"
	"clipsize"					"0"
	"editor_ignore"				"1"
	"inv_icon"				"gfx/guis/hud/icons/item_grenade_colored"
	"triggerSize"				"32"
	
	"muzzle_kick_time"			"0"
	"muzzle_kick_maxtime"			"0"
	"muzzle_kick_angles"			"0 0 0"
	"muzzle_kick_offset"			"0 0 0"
	"recoilTime"				"0"
	"recoilAngles"				"0 0 0"

	"respawn_Team DM"			"30"
	"respawn_Tourney"			"15"

}

entityDef moveable_item_grenadelauncher
{
	"inherit"					"weapon_grenadelauncher"

	"editor_rotatable"			"1"

	"itemclipmodel"					"models/weapons/grenadelauncher/w_gl_clip.lwo"

	"spawnclass"				"idMoveableItem"
	"mass"					"4000"
	"density"					"0.05"
	"friction"					"0.2"
	"bouncyness"				"0"
}

//--------------------------------------------------------------------------------------------------------------------
// Models
//--------------------------------------------------------------------------------------------------------------------

model weapon_grenadelauncher_view
{
	mesh						models/weapons/grenadelauncher/mesh.md5mesh
//	skin						skins/weapons/strogg_rocket_launcher/nobounce

	anim idle 					models/weapons/grenadelauncher/idle.md5anim	
	anim idle_empty				models/weapons/grenadelauncher/idle_empty.md5anim	
	anim fire 					models/weapons/grenadelauncher/fire.md5anim	
	{
		frame 1					sound_weapon	player_grenadelauncher_fire
		frame 1					sound_item		player_grenadelauncher_fire_stereo
	}
	anim fire_empty				models/weapons/grenadelauncher/fire_empty.md5anim	
	anim raise 					models/weapons/grenadelauncher/raise.md5anim	
	anim putaway				models/weapons/grenadelauncher/lower.md5anim	
	{
		frame 1					sound_weapon	weapon_switch
	}
	anim reload					models/weapons/grenadelauncher/reload.md5anim
	{
		frame 2					sound_weapon	player_grenadelauncher_clipout
		frame 25				sound_weapon	player_grenadelauncher_clipin
	}	
}

model weapon_grenadelauncher_view_strogg
{
	inherit					weapon_grenadelauncher_view
	mesh					models/weapons/grenadelauncher/mesh_strogg.md5mesh
}

model weapon_grenadelauncher_world 
{
	mesh					models/weapons/grenadelauncher/world/grenadelauncher.md5mesh
	anim idle				models/weapons/grenadelauncher/world/idle.md5anim
}

//--------------------------------------------------------------------------------------------------------------------
// Mods
//--------------------------------------------------------------------------------------------------------------------


//--------------------------------------------------------------------------------------------------------------------
// Projectile
//--------------------------------------------------------------------------------------------------------------------

entityDef projectile_grenade
{
	"spawnclass"				"idProjectile"
	"mins"						"-4 -4 -4"
	"maxs"						"4 4 4"
	"cone"						""
	"noshadows"					"1"
	"clipmask_largeshot"		"1"
	
	"no_contents"				"0"
								
	"model"						"models/weapons/grenadelauncher/w_grenade.lwo"
	"def_damage"				"damage_grenadeDirect"
	"def_splash_damage"			"damage_grenadeSplash"
																											
	"speed"						"700"
	"angular_velocity"			"-10 5 1"
	"settle_duration"			"0.08"
	
	"linear_friction"			"0"
	"angular_friction"			"0"
	"contact_friction"			"10"
	"bounce"					".65"
	"gravity"					"1"
	"fuse"						"2.5"
								
	"detonate_on_fuse"			"1"
	"detonate_on_death"			"0"
	"detonate_on_world"			"0"
	"detonate_on_actor"			"1"
	"detonateTestGroundMaterial"	"1"
								
	"impact_gib"				"1"								
	"decal_size"				"75"

	"flyEffectAttenuateSpeed"	"200"
	
	"airBurst_desc"				"midair_"

	"fx_fly"					"effects/weapons/grenadelauncher/trail.fx"
	"fx_fly_mp"				"effects/weapons/grenadelauncher/trail_mp.fx"
	"fx_detonate"				"effects/weapons/grenadelauncher/detonate.fx"
	"fx_detonate_mp"			"effects/weapons/rocketlauncher/detonate_mp.fx"
	"fx_impact"					"effects/weapons/grenadelauncher/impact.fx"
	"fx_impact_mp"				"effects/weapons/rocketlauncher/impact_mp.fx"
	"fx_impact_concrete"			"effects/weapons/grenadelauncher/impact_concrete.fx"
	"fx_impact_concrete_mp"			"effects/weapons/rocketlauncher/impact_mp.fx"
	"fx_impact_rock"			"effects/weapons/grenadelauncher/impact_concrete.fx"
	"fx_impact_rock_mp"			"effects/weapons/rocketlauncher/impact_mp.fx"
	"fx_impact_water"			"effects/ambient/splash_med.fx"

	"friendly_impact"			"1"

	"snd_ricochet"				"grenade_bounce"	

	"net_syncPhysics"			"1"
}

//--------------------------------------------------------------------------------------------------------------------
// Damage
//--------------------------------------------------------------------------------------------------------------------

entityDef damage_grenadeDirect 
{
	"damage"					"125"
	"gib"						"1"

	"deathPush"					"200"
	"deathPushMin"				"3000 2000"
	"deathPushMax"				"5000 3000"

	"pain"						"concussive"

	"cower"						"1"
}

entityDef damage_grenadeDirect_mp
{
	"inherit"					"damage_grenadeDirect"
	"damage"					"100"
	"knockback"					"100"
}

entityDef damage_grenadeSplash 
{
	"damage"					"200"
	"radius"					"250"
	"knockback"					"100"
	"push"						"10000"
	"gib"						"0"

	"deathPush"					"100"
	"deathPushMin"				"7000 9000"
	"deathPushMax"				"10000 12000"

	"pain"						"concussive"

	"cower"						"1"
}

entityDef damage_grenadeSplash_mp
{
	"inherit"					"damage_grenadeSplash"
	"damage"					"100"
	"radius"					"150"
}

 entityDef damage_grenadeSplashConcussion
 {
 	"inherit"					"damage_grenadeSplash"
 	"knockback"					"400"
 	"radius"					"800"
 }
 
 entityDef projectile_grenade_concussion
 {
 	"inherit"				"projectile_grenade"
 	"def_splash_damage"		"damage_grenadeSplashConcussion"
 }
 
 entityDef wpmod_grenade_concussion_blast
 {
 	"weapon"				"weapon_grenadelauncher"
 	"def_projectile"		"projectile_grenade_concussion"
 }
 
 entityDef weaponmod_grenade_concussion_blast
 {
 	"editor_color"				".3 .3 1"
 	"editor_mins"				"-16 -16 0"
 	"editor_maxs"				"16 16 32"
 	"editor_menu"				"pickup"
 	"editor_usage"				"Grenade Launcher Concussion Blast Modification"
 
 	"spawnclass"				"idItem"
 	"size"						"32 32 32"
 	"inv_weaponmod"				"wpmod_grenade_concussion_blast"
 	"inv_item"					"1"
 	"model"						"models/items/ammo/ammo_box.lwo"
 	"damage"					"100"
 	"radius"					"150"
   }
