Plague-fx/src/mutation_engine.c

55 lines
1.7 KiB
C

#include "mutation_engine.h"
void get_mutation(const struct game *current_game, const int mutation_menu, int table[4][8])
{
// Load symptoms
extern struct mutation_table mt_symptoms_1;
extern struct mutation_table mt_symptoms_2;
extern struct mutation_table mt_symptoms_3;
// Load abilities
extern struct mutation_table mt_abilities_1;
extern struct mutation_table mt_abilities_2;
extern struct mutation_table mt_abilities_3;
// Load transmissions
extern struct mutation_table mt_transmissions_1;
extern struct mutation_table mt_transmissions_2;
extern struct mutation_table mt_transmissions_3;
if (mutation_menu == 1)
{
if (current_game->symptoms < 4) init_mat(8, 4, table, mt_symptoms_1.data);
else if (current_game->symptoms < 8) init_mat(8, 4, table, mt_symptoms_2.data);
else init_mat(8, 4, table, mt_symptoms_3.data);
}
if (mutation_menu == 2)
{
if (current_game->abilities < 2) init_mat(8, 4, table, mt_abilities_1.data);
else if (current_game->abilities < 4) init_mat(8, 4, table, mt_abilities_2.data);
else init_mat(8, 4, table, mt_abilities_3.data);
}
if (mutation_menu == 3)
{
if (current_game->transmissions < 5) init_mat(8, 4, table, mt_transmissions_1.data);
else if (current_game->transmissions < 10) init_mat(8, 4, table, mt_transmissions_2.data);
else init_mat(8, 4, table, mt_transmissions_3.data);
}
}
void init_mat(int x, int y, int dest[][x], int src[][x])
{
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
dest[j][i] = src[j][i];
}
}
}