diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 07f31c201..7fbdcf212 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -13198,7 +13198,8 @@ bool chrTryModifyAttack(struct chrdata *chr, u32 entitytype, s32 entityid) return false; } - if (chr->actiontype == ACT_ATTACK && (chr->act_attack.entitytype & 0x60)) { + if (chr->actiontype == ACT_ATTACK + && (chr->act_attack.entitytype & (ENTITYTYPE_AIMONLY | ENTITYTYPE_DONTTURN))) { chr->act_attack.entitytype = entitytype; chr->act_attack.entityid = entityid; func0f031254(); diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index dc417ba5d..3b8099b83 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -743,7 +743,7 @@ bool ai00f0(void) if (g_Vars.chrdata->actiontype == ACT_ATTACK && !g_Vars.chrdata->act_attack.unk058 && - g_Vars.chrdata->act_attack.entitytype & 0x40) { + g_Vars.chrdata->act_attack.entitytype & ENTITYTYPE_DONTTURN) { g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); } else { g_Vars.aioffset += 3; diff --git a/src/include/constants.h b/src/include/constants.h index c9b28f471..699bf8e7f 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -542,13 +542,14 @@ #define DRCAROLLIMAGE_RANDOM25 7 #define DRCAROLLIMAGE_RANDOM 8 -#define ENTITYTYPE_BOND 0x0001 -#define ENTITYTYPE_FORWARD 0x0002 -#define ENTITYTYPE_CHR 0x0004 -#define ENTITYTYPE_PAD 0x0008 -#define ENTITYTYPE_DIRECTION 0x0010 -#define ENTITYTYPE_AIMONLY 0x0020 -#define ENTITYTYPE_TARGET 0x0200 +#define ENTITYTYPE_BOND 0x0001 // aim/shoot at Jo +#define ENTITYTYPE_FORWARD 0x0002 // aim/shoot in front of self +#define ENTITYTYPE_CHR 0x0004 // aim/shoot at chr (ID should be given in entity_id) +#define ENTITYTYPE_PAD 0x0008 // aim/shoot at pad (ID should be given in entity_id) +#define ENTITYTYPE_DIRECTION 0x0010 // aim/shoot in compass direction (0000, 4000, 8000, c000) +#define ENTITYTYPE_AIMONLY 0x0020 // aim only - do not shoot +#define ENTITYTYPE_DONTTURN 0x0040 // don't do a shooting animation that would change the chr's direction +#define ENTITYTYPE_TARGET 0x0200 // aim/shoot at whatever is in the chr's `target` field #define EYESPYMODE_CAMSPY 0 #define EYESPYMODE_DRUGSPY 1