in procgen/src/games/starpilot.cpp [147:224]
void init_hps() {
float scale = 1;
for (int i = 0; i < NUM_BASIC_OBJECTS; i++) {
hp_vs[i] = 1;
hp_healths[i] = 0;
hp_object_prob_weight[i] = 1;
hp_object_r[i] = scale / 2;
}
float default_bullet_r = scale / 2.5;
if (options.distribution_mode == EasyMode) {
hp_object_prob_weight[METEOR] = 0;
hp_object_prob_weight[CLOUD] = 0;
hp_object_prob_weight[TURRET] = 0;
hp_object_prob_weight[FAST_FLYER] = 0;
hp_vs[FLYER] = .75;
hp_vs[BULLET2] = 1.25;
hp_healths[TURRET] = 5;
hp_healths[FLYER] = 2;
hp_healths[FAST_FLYER] = 1;
maxspeed = 0.75;
} else if (options.distribution_mode == HardMode) {
hp_vs[BULLET2] = 2;
hp_healths[TURRET] = 5;
hp_healths[FLYER] = 2;
hp_healths[FAST_FLYER] = 1;
maxspeed = 0.75;
} else if (options.distribution_mode == ExtremeMode) {
hp_vs[BULLET2] = 2;
hp_healths[TURRET] = 10;
hp_healths[FLYER] = 5;
hp_healths[FAST_FLYER] = 2;
maxspeed = 0.5;
default_bullet_r = scale / 5;
} else {
fassert(false);
}
for (int i = 0; i < NUM_BASIC_OBJECTS; i++) {
hp_bullet_r[i] = default_bullet_r;
}
hp_healths[METEOR] = 500;
hp_vs[FAST_FLYER] = 1.5;
hp_vs[BULLET_PLAYER] = 2;
hp_vs[BULLET3] = 2;
hp_object_r[TURRET] = scale * 2;
hp_object_r[METEOR] = scale * 2;
hp_object_r[CLOUD] = scale * 2;
hp_object_prob_weight[FLYER] = 3;
hp_slow_v = .5;
hp_max_group_size = 5;
hp_weapon_bullet_dist = 3;
hp_min_enemy_delta_t = 10;
hp_max_enemy_delta_t = hp_min_enemy_delta_t + 20;
hp_spawn_right_threshold = 0.9f;
hp_object_prob_weight[BULLET_PLAYER] = 0;
hp_object_prob_weight[BULLET2] = 0;
hp_object_prob_weight[BULLET3] = 0;
total_prob_weight = 0;
for (int i = 2; i < NUM_BASIC_OBJECTS; i++) {
total_prob_weight += hp_object_prob_weight[i];
}
}