Esempio n. 1
0
/*
 * QUAKED turret_driver (1 .5 0) (-16 -16 -24) (16 16 32)
 * Must NOT be on the team with the rest of the turret parts.
 * Instead it must target the turret_breach.
 */
void
turret_driver_die(edict_t *self, edict_t *inflictor, edict_t *attacker,
		int damage, vec3_t point /* unused */)
{
	edict_t *ent;

	if (!self || !inflictor || !attacker)
	{
		return;
	}

	/* level the gun */
	self->target_ent->move_angles[0] = 0;

	/* remove the driver from the end of them team chain */
	for (ent = self->target_ent->teammaster;
		 ent->teamchain != self;
		 ent = ent->teamchain)
	{
	}

	ent->teamchain = NULL;
	self->teammaster = NULL;
	self->flags &= ~FL_TEAMSLAVE;

	self->target_ent->owner = NULL;
	self->target_ent->teammaster->owner = NULL;

	infantry_die(self, inflictor, attacker, damage);
}
Esempio n. 2
0
void turret_driver_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point){
	edict_t	*ent;
	
	// level the gun
	self->target_ent->move_angles[0] = 0;
	
	// remove the driver from the end of them team chain
	for(ent = self->target_ent->teammaster; ent->teamchain != self; ent = ent->teamchain)
		;
	ent->teamchain = NULL;
	self->teammaster = NULL;
	self->flags &= ~FL_TEAMSLAVE;
	
	self->target_ent->owner = NULL;
	self->target_ent->teammaster->owner = NULL;
	
	infantry_die(self, inflictor, attacker, damage);
}