diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 8f57a60df..7ca3e9f90 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5197,29 +5197,14 @@ bool aiChrAddAlertness(void) /** * @cmd 008d */ -GLOBAL_ASM( -glabel ai008d -/* f053600: 3c03800a */ lui $v1,0x800a -/* f053604: 24639fc0 */ addiu $v1,$v1,-24640 -/* f053608: 8c6e0434 */ lw $t6,0x434($v1) -/* f05360c: 8c6f0438 */ lw $t7,0x438($v1) -/* f053610: 8c640424 */ lw $a0,0x424($v1) -/* f053614: 27bdffe8 */ addiu $sp,$sp,-24 -/* f053618: afbf0014 */ sw $ra,0x14($sp) -/* f05361c: 01cf1021 */ addu $v0,$t6,$t7 -/* f053620: 90450002 */ lbu $a1,0x2($v0) -/* f053624: 0fc12894 */ jal decrementByte -/* f053628: 24840113 */ addiu $a0,$a0,0x113 -/* f05362c: 3c03800a */ lui $v1,0x800a -/* f053630: 24639fc0 */ addiu $v1,$v1,-24640 -/* f053634: 8c780438 */ lw $t8,0x438($v1) -/* f053638: 8fbf0014 */ lw $ra,0x14($sp) -/* f05363c: 27bd0018 */ addiu $sp,$sp,0x18 -/* f053640: 27190003 */ addiu $t9,$t8,0x3 -/* f053644: ac790438 */ sw $t9,0x438($v1) -/* f053648: 03e00008 */ jr $ra -/* f05364c: 00001025 */ or $v0,$zero,$zero -); +bool aiSubtractAlertness(void) +{ + u8 *cmd = g_Vars.ailist + g_Vars.aioffset; + decrementByte(&g_Vars.chrdata->alertness, cmd[2]); + g_Vars.aioffset += 3; + + return false; +} /** * @cmd 008e diff --git a/src/include/commands.h b/src/include/commands.h index a8a5c455f..7ef156049 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -589,6 +589,11 @@ value, \ chr, +#define subtract_alertness(value, chr) \ + mkshort(0x008d), \ + value, \ + chr, + #define if_alertness(value, operator, label) \ mkshort(0x008e), \ value, \ diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 1277fd496..935ae075b 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -143,7 +143,7 @@ /*0x008a*/ bool aiSetAlertness(void); /*0x008b*/ bool aiAddAlertness(void); /*0x008c*/ bool aiChrAddAlertness(void); -/*0x008d*/ bool ai008d(void); +/*0x008d*/ bool aiSubtractAlertness(void); /*0x008e*/ bool ai008e(void); /*0x008f*/ bool ai008f(void); /*0x0090*/ bool ai0090(void); diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index 2b6d00ee9..8f57e3e81 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14094,7 +14094,7 @@ bool (*command_pointers[])(void) = { /*0x008a*/ aiSetAlertness, /*0x008b*/ aiAddAlertness, /*0x008c*/ aiChrAddAlertness, - /*0x008d*/ ai008d, + /*0x008d*/ aiSubtractAlertness, /*0x008e*/ ai008e, /*0x008f*/ ai008f, /*0x0090*/ ai0090,