improvements/fixes based on ice cavern map room testing

This commit is contained in:
Demur Rumed 2025-07-12 15:34:43 +00:00
commit 4d8e9fef4f
2 changed files with 39 additions and 26 deletions

View file

@ -826,7 +826,9 @@ void ActorAccessibility_InitActors() {
ActorAccessibility_PlaySoundForActor(actor, 0, NA_SE_IT_FLAME); ActorAccessibility_PlaySoundForActor(actor, 0, NA_SE_IT_FLAME);
} }
}); });
policy.n = 60; policy.n = 40;
policy.distance = 900;
policy.volume = 2;
ActorAccessibility_AddSupportedActor(ACTOR_EN_ICE_HONO, policy); ActorAccessibility_AddSupportedActor(ACTOR_EN_ICE_HONO, policy);
ActorAccessibility_InitPolicy(&policy, "Ice Barred", NA_SE_EV_CHAIN_KEY_UNLOCK); ActorAccessibility_InitPolicy(&policy, "Ice Barred", NA_SE_EV_CHAIN_KEY_UNLOCK);
ActorAccessibility_AddSupportedActor(ACTOR_BG_ICE_SHUTTER, policy); ActorAccessibility_AddSupportedActor(ACTOR_BG_ICE_SHUTTER, policy);
@ -857,6 +859,11 @@ void ActorAccessibility_InitActors() {
} }
}); });
ActorAccessibility_AddSupportedActor(ACTOR_OBJ_HANA, policy); ActorAccessibility_AddSupportedActor(ACTOR_OBJ_HANA, policy);
ActorAccessibility_InitPolicy(&policy, "Keese", nullptr);
policy.ydist = 1000;
policy.distance = 1500;
policy.aimAssist.isProvider = AIM_SHOOT;
ActorAccessibility_AddSupportedActor(ACTOR_EN_FIREFLY, policy);
ActorAccessibility_InitPolicy(&policy, "gold skulltula token", NA_SE_EN_NUTS_DAMAGE); ActorAccessibility_InitPolicy(&policy, "gold skulltula token", NA_SE_EN_NUTS_DAMAGE);
ActorAccessibility_AddSupportedActor(ACTOR_EN_SI, policy); ActorAccessibility_AddSupportedActor(ACTOR_EN_SI, policy);
ActorAccessibility_InitPolicy(&policy, "Gold and Wall skulltulas", nullptr); ActorAccessibility_InitPolicy(&policy, "Gold and Wall skulltulas", nullptr);
@ -1260,9 +1267,11 @@ void ActorAccessibility_InitActors() {
temp = ActorAccessibility_AddVirtualActor(list, VA_MARKER, { 475, 2840, -30 }); temp = ActorAccessibility_AddVirtualActor(list, VA_MARKER, { 475, 2840, -30 });
list = ActorAccessibility_GetVirtualActorList(SCENE_ICE_CAVERN, 9); list = ActorAccessibility_GetVirtualActorList(SCENE_ICE_CAVERN, 9);
temp = ActorAccessibility_AddVirtualActor(list, VA_MARKER, { 860, 180, -2400 }); temp = ActorAccessibility_AddVirtualActor(list, VA_MARKER, { 860, 200, -2400 });
temp->policy.distance = 300; temp->policy.aimAssist.isProvider = AIM_CUP;
temp->policy.distance = 750;
temp->policy.ydist = 100; temp->policy.ydist = 100;
temp->policy.volume = 1.5;
temp->policy.sound = NA_SE_EV_BLOCK_SHAKE; temp->policy.sound = NA_SE_EV_BLOCK_SHAKE;
ActorAccessibility_InitPolicy(&policy, "Terrain cue helper", nullptr); ActorAccessibility_InitPolicy(&policy, "Terrain cue helper", nullptr);

View file

@ -378,6 +378,7 @@ void ActorAccessibility_RunAccessibilityForActor(PlayState* play, AccessibleActo
((actor->policy.aimAssist.isProvider & AIM_CUP) || ((actor->policy.aimAssist.isProvider & AIM_CUP) ||
(player->stateFlags1 & (PLAYER_STATE1_USING_BOOMERANG | PLAYER_STATE1_ITEM_IN_HAND)))) { (player->stateFlags1 & (PLAYER_STATE1_USING_BOOMERANG | PLAYER_STATE1_ITEM_IN_HAND)))) {
bool aim = false; bool aim = false;
if (player->unk_6AD == 2) {
switch (player->heldItemAction) { switch (player->heldItemAction) {
case PLAYER_IA_BOW: case PLAYER_IA_BOW:
case PLAYER_IA_BOW_FIRE: case PLAYER_IA_BOW_FIRE:
@ -402,6 +403,9 @@ void ActorAccessibility_RunAccessibilityForActor(PlayState* play, AccessibleActo
aim = actor->policy.aimAssist.isProvider & AIM_CUP; aim = actor->policy.aimAssist.isProvider & AIM_CUP;
break; break;
} }
} else {
aim = actor->policy.aimAssist.isProvider & AIM_CUP;
}
if (aim) { if (aim) {
auto aimAssistProps = ActorAccessibility_ProvideAimAssistForActor(actor); auto aimAssistProps = ActorAccessibility_ProvideAimAssistForActor(actor);
if (++actor->aimFramesSinceAimAssist >= actor->aimFrequency) { if (++actor->aimFramesSinceAimAssist >= actor->aimFrequency) {