int InfantryClass::SelectWeapon(TechnoClass *target)
{
  if ( !this->InfantryType->t.DeployFire )
    return TechnoClass::SelectWeapon(this, target);

  seq = this->currentSequence;
  if ( seq == DeployedFire || seq == DeployedIdle || seq == Undeploy || seq == Cheer )
    return this->InfantryType->t.DeployFireWeapon;

  if ( this->OpenTopped && this->GetType()->OpenToppedWeapon != -1)
    return this->GetType()->OpenToppedWeapon;

  return 0;
}