void crew_display(Crew crew) { for (int i = 0; i < MAX_STAFF; ++i) { if (!crew.freePlace[i]) { staff_display(crew.staff[i]); } } }
void drop_staff(Player *player) { if (CHANCE(8)) { Staff staff = staff_create(); char c; printf("Vous trouvez un membre du vaisseau: "); staff_set_life(&staff, rand_born(10, 80)); staff_display(staff); printf("Voulez vous le recruter [o/n]?"); scanf("%c", &c); if (c == 'o') { crew_add_staff(&player->crew, staff); } } }
void drop_staff(Player *player) { if (CHANCE(7)) { Staff staff = staff_create(); char c; printf("Vous trouvez un membre du vaisseau: "); staff_set_life(&staff, rand_born(10, 80)); staff_display(staff); printf("Voulez vous le recruter [o/n]?"); scanf("%c", &c); purge_stdin(); if (c == 'o') { if (CHANCE(10)) { int rep = rand_born(1, 2); int money; static const char *sentence[] = { "C'etait un piege! La personne que vous venez de recruter est une kamikaze!\nElle explose dans le vaisseau et fait de serieux degats...", "La personne vous remercies, et vous donnes %d d'argent." }; switch (rep) { case 1: puts(sentence[rep - 1]); ship_get_damage(&player->ship, rand_born(50, player->ship.hull.life.max / 2)); break; case 2: money = rand_born(100, 1000); player->money += money; printf(sentence[rep - 1], money); break; default: break; } } crew_add_staff(&player->ship.crew, staff); } } }