cenotaph/src/enemytypes.h
2026-02-16 14:21:25 -05:00

41 lines
916 B
C

void loadEnemyOne(u8 i){
enemies[i].ints[0] = random() % 40;
enemies[i].angle = ((random() % 4) * 256) + 128;
enemies[i].speed = FIX32(2);
}
void updateEnemyOne(u8 i){
if(enemies[i].clock % 40 == enemies[i].ints[0] && enemies[i].onScreen){
enemies[i].clock % 80 == enemies[i].ints[0] ? sfxEnemyShotB() : sfxEnemyShotA();
struct bulletSpawner spawner = {
.x = enemies[i].pos.x,
.y = enemies[i].pos.y,
.anim = 3 + (random() % 3),
// .anim = 6,
// .frame = 1,
.speed = FIX32(2) + FIX16(random() % 4),
.angle = random() % 128,
};
switch(random() % 3){
case 1: spawner.anim += 3; break;
case 2: spawner.anim += 6; break;
}
for(u8 j = 0; j < 8; j++){
spawnBullet(spawner, EMPTY);
spawner.angle += 128;
}
}
}
void updateLander(u8 i){}
void updateMutant(u8 i){}
void updateSwarmer(u8 i){}
void updatePod(u8 i){}
void updateBomber(u8 i){}
void updateBaiter(u8 i){}