more hookshot cues

This commit is contained in:
Demur Rumed 2025-07-27 17:24:12 +00:00
commit 186d2671a3
2 changed files with 15 additions and 2 deletions

View file

@ -370,6 +370,11 @@ void ActorAccessibility_InitActors() {
ActorAccessibility_AddSupportedActor(ACTOR_EN_SKJ, policy);
policy.englishName = "Boss Carpenter";
ActorAccessibility_AddSupportedActor(ACTOR_EN_TORYO, policy);
policy.englishName = "Carpenter's Son";
ActorAccessibility_AddSupportedActor(ACTOR_EN_HS, policy);
ActorAccessibility_AddSupportedActor(ACTOR_EN_HS2, policy);
policy.englishName = "Bean Salesman";
ActorAccessibility_AddSupportedActor(ACTOR_EN_MS, policy);
policy.englishName = "Carpenters (Kakariko)";
ActorAccessibility_AddSupportedActor(ACTOR_EN_DAIKU_KAKARIKO, policy);
policy.englishName = "Kakariko Rooftop Man";
@ -433,6 +438,11 @@ void ActorAccessibility_InitActors() {
}
});
ActorAccessibility_AddSupportedActor(ACTOR_EN_WOOD02, policy);
ActorAccessibility_InitPolicy(&policy, "Hookshot Pillar", NA_SE_IT_HOOKSHOT_STICK_OBJ);
policy.distance = 1000;
policy.ydist = 1000;
policy.aimAssist.isProvider = AIM_HOOK;
ActorAccessibility_AddSupportedActor(ACTOR_OBJ_HSBLOCK, policy);
ActorAccessibility_InitPolicy(&policy, "Scarecrow", NA_SE_IT_KAKASHI_JUMP);
policy.volume = 2;
policy.distance = 1000;
@ -498,8 +508,10 @@ void ActorAccessibility_InitActors() {
// ACTOR_EN_A_OBJ has exactly the same configuration.
ActorAccessibility_AddSupportedActor(ACTOR_EN_A_OBJ, policy);
ActorAccessibility_InitPolicy(&policy, "Large Crate", NA_SE_EV_WOODBOX_BREAK);
ActorAccessibility_InitPolicy(&policy, "Small Crate", NA_SE_EV_WOODBOX_BREAK);
ActorAccessibility_AddSupportedActor(ACTOR_OBJ_KIBAKO, policy);
policy.englishName = "Crate";
policy.aimAssist.isProvider = AIM_HOOK;
ActorAccessibility_AddSupportedActor(ACTOR_OBJ_KIBAKO2, policy);
ActorAccessibility_InitPolicy(&policy, "deku stick drops", [](AccessibleActor* actor) {
EnKarebaba* baba = (EnKarebaba*)actor->actor;

View file

@ -678,7 +678,6 @@ void ActorAccessibility_InterpretCurrentScene(PlayState* play) {
func_80041DB8(&play->colCtx, poly, BGCHECK_SCENE) == 3)) {
ActorAccessibility_PolyToVirtualActor(play, poly, VA_CLIMB, list);
}
s32 bgId;
if (func_80041EA4(&play->colCtx, poly, BGCHECK_SCENE) == 12) {
ActorAccessibility_PolyToVirtualActor(play, poly, VA_VOID, list);
}
@ -710,6 +709,8 @@ void ActorAccessibility_PolyToVirtualActor(PlayState* play, CollisionPoly* poly,
s16 nextEntranceIndex = play->setupExitList[sceneIndex - 1];
actor->sceneIndex = gEntranceTable[nextEntranceIndex].scene;
}
} else if (SurfaceType_IsHookshotSurface(&play->colCtx, poly, BGCHECK_SCENE)) {
actor->policy.aimAssist.isProvider = AIM_HOOK;
}
}