bean souls: prevent skulltula spawning from bugs (#6084)

woe is me thinking bugs reacted to soil patch instead of invisible actor
This commit is contained in:
Philip Dubé 2026-01-03 16:43:52 +00:00 committed by GitHub
parent 6a1fb1412b
commit 6c724a2c01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2329,6 +2329,46 @@ void RandomizerOnActorInitHandler(void* actorRef) {
return;
}
}
if (actor->id == ACTOR_OBJ_MAKEKINSUTA) {
RandomizerInf currentBeanSoulRandInf = RAND_INF_MAX;
switch (gPlayState->sceneNum) {
case SCENE_DEATH_MOUNTAIN_CRATER:
currentBeanSoulRandInf = RAND_INF_DEATH_MOUNTAIN_CRATER_BEAN_SOUL;
break;
case SCENE_DEATH_MOUNTAIN_TRAIL:
currentBeanSoulRandInf = RAND_INF_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL;
break;
case SCENE_DESERT_COLOSSUS:
currentBeanSoulRandInf = RAND_INF_DESERT_COLOSSUS_BEAN_SOUL;
break;
case SCENE_GERUDO_VALLEY:
currentBeanSoulRandInf = RAND_INF_GERUDO_VALLEY_BEAN_SOUL;
break;
case SCENE_GRAVEYARD:
currentBeanSoulRandInf = RAND_INF_GRAVEYARD_BEAN_SOUL;
break;
case SCENE_KOKIRI_FOREST:
currentBeanSoulRandInf = RAND_INF_KOKIRI_FOREST_BEAN_SOUL;
break;
case SCENE_LAKE_HYLIA:
currentBeanSoulRandInf = RAND_INF_LAKE_HYLIA_BEAN_SOUL;
break;
case SCENE_LOST_WOODS:
if (actor->params == 0x4e01) {
currentBeanSoulRandInf = RAND_INF_LOST_WOODS_BRIDGE_BEAN_SOUL;
} else {
currentBeanSoulRandInf = RAND_INF_LOST_WOODS_BEAN_SOUL;
}
break;
case SCENE_ZORAS_RIVER:
currentBeanSoulRandInf = RAND_INF_ZORAS_RIVER_BEAN_SOUL;
break;
}
if (currentBeanSoulRandInf != RAND_INF_MAX && !Flags_GetRandomizerInf(currentBeanSoulRandInf)) {
Actor_Kill(actor);
return;
}
}
}
// If child is in the adult shooting gallery or adult in the child shooting gallery, then despawn the shooting