/*
 * Corpse-related material
 * By AsmodeusB
 * It's a solid corpse which can be gibbed, and moved (by running into it).
 */
 

void() CorpsePain =
{
 SpawnMeatSpray (self.origin, crandom() * 100 * v_right);
};

void() CorpseMove = 
{
 local float dir;

 dir = vectoyaw(other.velocity);
 walkmove(dir, 7);
};

/*
 * Have to set self.th_die outside of this function, since it's different
 * for each monster.
 */

void() MakeSolidCorpse =
{
// Make a gibbable corpse, change the size so we can jump on it

	self.health = 40;
// DAMAGE_AIM so that grenades don't bounce off like they do for DAMAGE_YES
	self.takedamage = DAMAGE_AIM;
	self.solid = SOLID_BBOX;
	self.movetype = MOVETYPE_STEP;
	self.flags = self.flags & (!FL_MONSTER);
	setsize (self, '-32 -32 -24', '32 32 10');
	self.th_stand = SUB_Null;
	self.th_walk = SUB_Null;
	self.th_run = SUB_Null;
	self.th_pain = CorpsePain;
	self.th_melee = SUB_Null;
	self.th_missile = SUB_Null;
	self.touch = CorpseMove;
};

