//------------------------------------------------
// SDK Example Content
// Slimy Lobber
//
// Compare the entries in this def file to those of the monster_slimy_transfer
// (def/ai/monster_slimy_transfer.def) as an example of how to implement new 
// monsters and monster attacks using only existing AI code.
//
//								aweldon Nov 05
//------------------------------------------------



model model_monster_slimy_lobber
{
	inherit				 model_monster_slimy_transfer // Use Slimy Transfer mesh and anims as base.
	
	// Lobbing anim	-----------------------------------------------------------------------------------------
	anim lob			models/monsters/slimy_transfer/attack01.md5anim		// Use existing melee anim
	{
		frame	1,13,27,36,57				sound		snd_flesh 	// Use pre-existing sounds
		frame 	19		ai_attack		melee		r_wrist 	// Throw at appropriate frame
		frame 	19 		fx			fx_lob		r_wrist
	}
}

entityDef damage_lobber_grenade
{
	// These values are copied from the monster_gunner .def file and seem to work ok.
	"inherit"					"damage_monster_base"
	"knockback"					"0"
	"damage"					"60"
	"push"						"10000"
	
	"tv_scale"					"0.7"
	"tv_time"					"4200"
}

entityDef damage_lobber_grenade_splash
{
	// These values are copied from the monster_gunner .def file and seem to work ok.
	"inherit"					"damage_monster_base"
	"knockback"					"0"
	"damage"					"80"
	"radius"					"200"
	"push"						"10000"

	"tv_scale"					"0.7"
	"tv_time"					"4200"
}


entityDef projectile_lobber_bit
{
	"inherit"		"projectile_gunner_grenade"	// inherit defaults from the Gunner grenade
	
	"fuse"			"3" //shorten the fuse
	
	"detonate_on_actor"			"1"		// Explode when hitting directly
	
	"model"			"models/gibs/head_pork.lwo"	// New 'grenade' model (brraaaaaaainnnnns...)
	"fx_fly"		"effects/impact/impact_flesh.fx" // When flying, play the impact effect. Admittedly not the best effect for this purpose.
	"fx_detonate"		"effects/monsters/gib.fx"	// Use the splatty gib effect for 'explosions'
	"fx_impact"		"effects/monsters/gib.fx"	// Use the splatty gib effect for 'explosions'
	
	"def_splash_damage"	"damage_lobber_grenade_splash"	// Use damage def specified above
	"def_damage"		"damage_lobber_grenade"		// Use damage def specified above
	
	"speed"			"500"		// Adjust speed
	"angular_velocity"	"0 -900 200"	// Give a nudge up and towards center.			

	"bounce"		"15"	// Make with the bouncing

	"contact_friction"	"1"	// Reduced friction for better bounce behavior

	"delay_splash"		"0"	// Splash damage effects are instantaneous

	"snd_ricochet"		"failedtransfer_flesh"		// Fleshy sound on bounce
}

// New EntityDef
entityDef monster_slimy_lobber
{
	"inherit"		"monster_slimy_transfer"	// Inherit from the Slimy Transfer
	
	// --------------------------------- Actions ------------------------------------
	"action_meleeAttack"			"1" 	// Leave this enabled, we'll replace it with our lobbing attack
	"action_meleeAttack_anim"		"lob"	// 'New' anim on melee attack

	"action_meleeAttack_minrange"		"80" 	// Minimum distance (in units) for attack.
	"action_meleeAttack_maxrange"		"512"	// Maximum distance (in units) for attack.
	"action_meleeAttack_blendFrames"	"6"	// Blend frames on attack
	"action_meleeAttack_rate"		".5"	// Rate of attack
	
	"action_vomitAttack"			"1"	// Keep the vomit attack enabled
	"action_vomitAttack_minrange"		"0"	// Minimum distance (in units) for attack.
	"action_vomitAttack_maxrange"		"128"	// Maximum distance (in units) for attack.
	
		
	// --------------------------------- Body ------------------------------------
	"model"				"model_monster_slimy_lobber"	// Use our new ModelDef from above
	

	// --------------------------------- Combat ----------------------------------
	"health"		"75"	// Beef these guys up a bit
	"painThreshold"		"40"	// Can take more damage before playing pain anims

	"def_attack_melee"	"projectile_lobber_bit"		// Change melee attack to our new projectile

	"fx_lob"		"effects/impact/impact_flesh.fx"	// Effect to play when lobbing (added on frame commands above)
}
