Character *Innocent[2];
int NbrInnocent = 0;

//-------------------------------------
// Load the "Innocent victim" sprite
//-------------------------------------
int LoadInnocent (u_long *memptr)
{
   *memptr = (*memptr + 3) & 0xFFFFFFFC;
   Innocent[0] = (Character *)*memptr;
   *memptr += sizeof (Character);

   Innocent[0]->Load ("\\SPRITES\\INNOCENT.KRT", memptr);

   Innocent[1] = Innocent[0]->Clone_Character (0, memptr);
}

//-------------------------------------
// Start a new sprite for "Innocent
// victim"
//-------------------------------------
void NewInnocent (int deltay, int depth, Character *chien)
{
   signed char WhichSFX[2][6] = {{-1,9,14,15,15,-1},{-1,12,20,16,16,-1}};

   int i = NbrInnocent;
   NbrInnocent = (NbrInnocent++) & 1;

   point por = chien->Coordinate ();
   Innocent[i]->Set_Location (por.x, por.y + deltay);
   if (depth < 11)
      Innocent[i]->SetDepth (11);
   else
      Innocent[i]->SetDepth (depth);
   Innocent[i]->StartAction (0, 0);
   Dettach (Innocent[i]);
   AddAttach (Innocent[i], chien, 0, deltay);
   PlaySFX (0, 3, 127,127);

   if (WhichSFX[NbrInnocent][LevelSelected] != -1)
      PlaySFX (bkdvab, WhichSFX[FrameCounter & 1][LevelSelected], 127,127);
}

//-------------------------------------
// Display those innocent victim
// sprites
//-------------------------------------
inline void DrawInnocent (int bkdx, int bkdy, DoubleBuffer *db)
{
   int Sfx, Vab, dummy;
   int mort;
   
   mort = Innocent[0]->Dead ();
   Innocent[0]->DrawNextFrame (bkdx, bkdy, db, &Sfx, &Vab, &dummy);
   if ((mort == 0) && (Innocent[0]->Dead () == 1))
      Dettach (Innocent[0]);

   mort = Innocent[1]->Dead ();
   Innocent[1]->DrawNextFrame (bkdx, bkdy, db, &Sfx, &Vab, &dummy);
   if ((mort == 0) && (Innocent[1]->Dead () == 1))
      Dettach (Innocent[1]);
}
