mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-28 08:24:55 -04:00
+7
-7
@@ -605,7 +605,7 @@ void Target_Draw(TargetContext* targetCtx, PlayState* play) {
|
||||
}
|
||||
|
||||
actor = targetCtx->arrowPointedActor;
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_CANT_LOCK_ON)) {
|
||||
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
|
||||
TatlColor* color = &sTatlColorList[actor->category];
|
||||
|
||||
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_7);
|
||||
@@ -698,7 +698,7 @@ void Target_Update(TargetContext* targetCtx, Player* player, Actor* lockOnActor,
|
||||
targetCtx->lockOnAlpha = 0;
|
||||
}
|
||||
|
||||
sfxId = CHECK_FLAG_ALL(lockOnActor->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_UNFRIENDLY)
|
||||
sfxId = CHECK_FLAG_ALL(lockOnActor->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE)
|
||||
? NA_SE_SY_LOCK_ON
|
||||
: NA_SE_SY_LOCK_ON_HUMAN;
|
||||
Audio_PlaySfx(sfxId);
|
||||
@@ -1855,7 +1855,7 @@ f32 Target_GetAdjustedDistSq(Actor* actor, Player* player, s16 playerShapeYaw) {
|
||||
yawDiff = ABS_ALT(BINANG_SUB(BINANG_SUB(actor->yawTowardsPlayer, 0x8000), playerShapeYaw));
|
||||
|
||||
if (player->lockOnActor != NULL) {
|
||||
if ((yawDiff > 0x4000) || (actor->flags & ACTOR_FLAG_CANT_LOCK_ON)) {
|
||||
if ((yawDiff > 0x4000) || (actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
|
||||
return FLT_MAX;
|
||||
}
|
||||
|
||||
@@ -1903,7 +1903,7 @@ s32 Target_IsActorInRange(Actor* actor, f32 distSq) {
|
||||
*/
|
||||
s32 Target_OutsideLeashRange(Actor* actor, Player* player, s32 ignoreLeash) {
|
||||
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_TARGETABLE) ||
|
||||
(actor->flags & ACTOR_FLAG_CANT_LOCK_ON)) {
|
||||
(actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3566,7 +3566,7 @@ void Target_FindTargetableActorForCategory(PlayState* play, ActorContext* actorC
|
||||
|
||||
// Determine the closest enemy actor to player within a range. Used for playing enemy background music.
|
||||
if ((actorCategory == ACTORCAT_ENEMY) &&
|
||||
CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_UNFRIENDLY)) {
|
||||
CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_HOSTILE)) {
|
||||
if ((actor->xyzDistToPlayerSq < SQ(500.0f)) && (actor->xyzDistToPlayerSq < sBgmEnemyDistSq)) {
|
||||
actorCtx->targetCtx.bgmEnemy = actor;
|
||||
sBgmEnemyDistSq = actor->xyzDistToPlayerSq;
|
||||
@@ -3936,7 +3936,7 @@ s16 Actor_TestFloorInDirection(Actor* actor, PlayState* play, f32 distance, s16
|
||||
s32 Actor_IsTargeted(PlayState* play, Actor* actor) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if ((player->stateFlags3 & PLAYER_STATE3_80000000) && actor->isLockedOn) {
|
||||
if ((player->stateFlags3 & PLAYER_STATE3_HOSTILE_LOCK_ON) && actor->isLockedOn) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3949,7 +3949,7 @@ s32 Actor_IsTargeted(PlayState* play, Actor* actor) {
|
||||
s32 Actor_OtherIsTargeted(PlayState* play, Actor* actor) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if ((player->stateFlags3 & PLAYER_STATE3_80000000) && !actor->isLockedOn) {
|
||||
if ((player->stateFlags3 & PLAYER_STATE3_HOSTILE_LOCK_ON) && !actor->isLockedOn) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -505,8 +505,15 @@ bool Player_InCsMode(PlayState* play) {
|
||||
return Player_InBlockingCsMode(play, player) || (player->unk_AA5 == PLAYER_UNKAA5_5);
|
||||
}
|
||||
|
||||
bool func_80123420(Player* player) {
|
||||
return player->stateFlags3 & PLAYER_STATE3_80000000;
|
||||
/**
|
||||
* Checks if Player is currently locked onto a hostile actor.
|
||||
* `PLAYER_STATE3_HOSTILE_LOCK_ON` controls Player's "battle" response to hostile actors.
|
||||
*
|
||||
* Note that within Player, `Player_UpdateHostileLockOn` exists, which updates the flag and also returns the check.
|
||||
* Player can use this function instead if the flag should be checked, but not updated.
|
||||
*/
|
||||
bool Player_CheckHostileLockOn(Player* player) {
|
||||
return player->stateFlags3 & PLAYER_STATE3_HOSTILE_LOCK_ON;
|
||||
}
|
||||
|
||||
bool func_80123434(Player* player) {
|
||||
|
||||
Reference in New Issue
Block a user