mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 13:00:11 -07:00
couple cues for phantom ganon
This commit is contained in:
parent
79f55456d3
commit
24e617b765
1 changed files with 33 additions and 2 deletions
|
@ -647,6 +647,35 @@ void ActorAccessibility_InitActors() {
|
||||||
policy.volume = 0.5;
|
policy.volume = 0.5;
|
||||||
policy.pitch = 1.2;
|
policy.pitch = 1.2;
|
||||||
ActorAccessibility_AddSupportedActor(ACTOR_BG_MORI_HASHIRA4, policy);
|
ActorAccessibility_AddSupportedActor(ACTOR_BG_MORI_HASHIRA4, policy);
|
||||||
|
ActorAccessibility_InitPolicy(&policy, "Forest Elevator", NA_SE_EV_ELEVATOR_MOVE2);
|
||||||
|
policy.n = 40;
|
||||||
|
policy.ydist = 1;
|
||||||
|
policy.distance = 300;
|
||||||
|
ActorAccessibility_AddSupportedActor(ACTOR_BG_MORI_ELEVATOR, policy);
|
||||||
|
ActorAccessibility_InitPolicy(&policy, "Phantom Ganon", [](AccessibleActor* actor) {
|
||||||
|
if (actor->actor->params == 1) {
|
||||||
|
actor->policy.aimAssist.isProvider = AIM_SHOOT | AIM_HOOK;
|
||||||
|
} else {
|
||||||
|
actor->policy.aimAssist.isProvider = 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
policy.distance = 2000;
|
||||||
|
policy.ydist = 2000;
|
||||||
|
ActorAccessibility_AddSupportedActor(ACTOR_BOSS_GANONDROF, policy);
|
||||||
|
ActorAccessibility_InitPolicy(&policy, "Phantom Ganon Ball", [](AccessibleActor* actor) {
|
||||||
|
if (actor->actor->params == 50) { // energy ball
|
||||||
|
int distance = actor->xyzDistToPlayer;
|
||||||
|
int freq = distance < 200 ? 1 : distance < 400 ? 3 : 7;
|
||||||
|
if ((actor->frameCount & freq) == 0) {
|
||||||
|
ActorAccessibility_PlaySoundForActor(
|
||||||
|
actor, 0, freq <= 3 ? NA_SE_IT_SWORD_REFLECT_MG : NA_SE_IT_SHIELD_REFLECT_MG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
policy.volume = 2;
|
||||||
|
policy.distance = 900;
|
||||||
|
policy.ydist = 900;
|
||||||
|
ActorAccessibility_AddSupportedActor(ACTOR_EN_FHG_FIRE, policy);
|
||||||
ActorAccessibility_InitPolicy(&policy, "Ocarina Spots", NA_SE_EV_DIAMOND_SWITCH);
|
ActorAccessibility_InitPolicy(&policy, "Ocarina Spots", NA_SE_EV_DIAMOND_SWITCH);
|
||||||
policy.n = 30;
|
policy.n = 30;
|
||||||
policy.distance = 800;
|
policy.distance = 800;
|
||||||
|
@ -1151,8 +1180,10 @@ void ActorAccessibility_InitActors() {
|
||||||
auto forest_basement = [](AccessibleActor* actor) {
|
auto forest_basement = [](AccessibleActor* actor) {
|
||||||
Actor* walls = Actor_Find(&actor->play->actorCtx, ACTOR_BG_MORI_KAITENKABE, ACTORCAT_BG);
|
Actor* walls = Actor_Find(&actor->play->actorCtx, ACTOR_BG_MORI_KAITENKABE, ACTORCAT_BG);
|
||||||
if (walls != nullptr) {
|
if (walls != nullptr) {
|
||||||
actor->pos.x = walls->world.pos.x + Math_CosS(-walls->world.rot.y) * (actor->policy.sound == 0 ? -300.0f : 300.0f);
|
actor->pos.x =
|
||||||
actor->pos.z = walls->world.pos.z + Math_SinS(-walls->world.rot.y) * (actor->policy.sound == 0 ? -300.0f : 300.0f);
|
walls->world.pos.x + Math_CosS(-walls->world.rot.y) * (actor->policy.sound == 0 ? -300.0f : 300.0f);
|
||||||
|
actor->pos.z =
|
||||||
|
walls->world.pos.z + Math_SinS(-walls->world.rot.y) * (actor->policy.sound == 0 ? -300.0f : 300.0f);
|
||||||
if ((actor->frameCount & 31) == 0) {
|
if ((actor->frameCount & 31) == 0) {
|
||||||
ActorAccessibility_PlaySoundForActor(actor, 0, NA_SE_EV_TRAP_BOUND);
|
ActorAccessibility_PlaySoundForActor(actor, 0, NA_SE_EV_TRAP_BOUND);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue