void crew_generate(Crew *crew, int nStaff) { memset(crew->freePlace, true, MAX_STAFF * sizeof(int)); crew->nStaff = 0; for (int i = 0; i < nStaff; ++i) crew_add_staff(crew, staff_create()); }
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); } } }