You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
29 lines
1.2 KiB
///randomize_zeta_heads();
|
|
|
|
/*
|
|
Wanderer didn't commentate this, and I'm slightly confused at first glance.
|
|
All comments here are mostly guesswork and are not guaranteed to be accurate!
|
|
- Loj
|
|
*/
|
|
|
|
|
|
global.zeta_heads = ds_map_create();
|
|
|
|
var zeta_list = ds_list_create(); // List of Zetas whose heads we want to change.
|
|
ds_list_add(zeta_list, rm_a4h06, rm_a4h13, rm_a4a12, rm_a5c12); // Zetas are defined by room.
|
|
|
|
var zeta_sprites = ds_list_create(); // List of sprites to change heads to.
|
|
ds_list_add(zeta_sprites, sMZeta_Head, sMZeta_Head_Armored, sMZeta_Head_Bulky, sMZeta_Head_Elder, sMZeta_Head_Pointy);
|
|
ds_list_shuffle(zeta_sprites); // Shuffle list to do the actual head randomization.
|
|
|
|
for (i=0; i < ds_list_size(zeta_list); i += 1) { // Write Zeta sprite into each Zeta list slot.
|
|
ds_map_add(global.zeta_heads, ds_list_find_value(zeta_list, i), ds_list_find_value(zeta_sprites, i));
|
|
}
|
|
|
|
if(irandom(99) < 3) { // 3% chance to be the Legendary head.
|
|
ds_map_replace(global.zeta_heads, ds_list_find_value(zeta_list, irandom(ds_list_size(zeta_list) - 1)), sMZeta_Head_Legendary);
|
|
}
|
|
|
|
ds_list_destroy(zeta_list); // Avoiding memory leaks. Yay!
|
|
ds_list_destroy(zeta_sprites);
|