Decomped NoGastroAcidStatus

This commit is contained in:
AnonymousRandomPerson
2024-12-01 18:20:37 -06:00
parent 9bed55e61e
commit 4704442904
68 changed files with 23 additions and 127 deletions

View File

@@ -4,7 +4,6 @@
.public ExclusiveItemEffectIsActive__022FFF28
.public GetApparentWeather
.public GetExclusiveItemWithEffectFromBag
.public IsMonster__02301A60
.public LogMessageByIdWithPopupCheckUserTarget
.public MistIsActive
.public SubstitutePlaceholderStringTags

View File

@@ -196,20 +196,3 @@ _02301CCC:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end ov29_02301C2C
arm_func_start NoGastroAcidStatus
NoGastroAcidStatus: ; 0x02301CDC
stmdb sp!, {r4, lr}
mov r4, r0
bl IsMonster__02301A60
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0xb4]
ldrb r0, [r0, #0xd8]
cmp r0, #4
movne r0, #1
moveq r0, #0
and r0, r0, #0xff
ldmia sp!, {r4, pc}
arm_func_end NoGastroAcidStatus

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022E0354(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022E0354_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022E32E8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022E32E8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022E37B8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022E37B8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022E1A1C(struct entity *entity);
void UpdateEntityPixelPos(struct entity *entity, struct pixel_position *pixel_pos);
void SetEntityPixelPosXY(struct entity *entity, u32 x, u32 y);

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022E95F4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022E95F4_H

View File

@@ -3,6 +3,9 @@
#include "dungeon_mode.h"
// Checks if a monster does not have the Gastro Acid status.
bool8 NoGastroAcidStatus(struct entity *entity, enum ability_id ability);
// Checks if a monster has a certain ability that isn't disabled by Gastro Acid.
bool8 AbilityIsActive(struct entity *pokemon, enum ability_id ability);
#endif //PMDSKY_DUNGEON_POKEMON_ATTRIBUTES_H

View File

@@ -3632,6 +3632,7 @@ enum status_id {
#define CRINGE_STATUS_CONFUSED (STATUS_CONFUSED - STATUS_CRINGE + 1) // 2
#define CURSED_STATUS_DECOY (STATUS_DECOY - STATUS_CURSED + 1) // 2
#define CURSED_STATUS_GASTRO_ACID (STATUS_GASTRO_ACID - STATUS_CURSED + 1) // 4
// Mission type on a floor
enum mission_type {

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022EC608(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022EC608_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022ECDC0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022ECDC0_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022EE348(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022EE348_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022EF7A0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022EF7A0_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022F0590(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F0590_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022F528C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F528C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022F62A8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F62A8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022F7364(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F7364_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__022F9720(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022F9720_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022FC99C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022FC99C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__022FED98(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_022FED98_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__023000E4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_023000E4_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__02301A60(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02301A60_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02302A38(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02302A38_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__023047B8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_023047B8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0230558C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230558C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02305C04(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02305C04_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02307EF8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02307EF8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0230827C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230827C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02308FBC(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02308FBC_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__0230A994(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230A994_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0230E8F0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230E8F0_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0230F008(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230F008_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__0230F980(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0230F980_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02311010(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02311010_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__023118B4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_023118B4_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02315118(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02315118_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__02318AB0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02318AB0_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02318D34(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02318D34_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02318E4C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02318E4C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02319F8C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02319F8C_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__0231A9D4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231A9D4_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0231B194(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231B194_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__0231B318(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231B318_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0231CBC8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231CBC8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0231EDD8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231EDD8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0231F570(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231F570_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0231FBFC(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0231FBFC_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0232017C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0232017C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02320764(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02320764_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02321438(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02321438_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__02322DB8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02322DB8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02325620(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02325620_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValidMoveEffects__0232800C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0232800C_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValidMoveEffects__0232A3D8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0232A3D8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValidMoveEffects__0232C500(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0232C500_H

View File

@@ -5,8 +5,6 @@
#include "dungeon_mode_common.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValidMoveEffects__0232E250(struct entity *entity);
// Move effect: Defend Order
// attacker: attacker pointer

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0232E840(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0232E840_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02333FAC(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02333FAC_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__023350D8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_023350D8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02337CA8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02337CA8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02344AF8(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02344AF8_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02345698(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02345698_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__02347BA4(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_02347BA4_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0234987C(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0234987C_H

View File

@@ -3,6 +3,7 @@
#include "dungeon_mode.h"
// Checks if an entity is a monster (entity type 1).
bool8 IsMonster__0234D460(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0234D460_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0234DDD0(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0234DDD0_H

View File

@@ -4,8 +4,6 @@
#include "dungeon_mode.h"
// Checks if an entity pointer points to a valid entity (not entity type 0, which represents no entity).
// entity: entity pointer
// return: bool
bool8 EntityIsValid__0234EC14(struct entity *entity);
#endif //PMDSKY_OVERLAY_29_0234EC14_H

View File

@@ -2,7 +2,16 @@
#include "dungeon_util.h"
#include "overlay_29_02301A60.h"
extern bool8 NoGastroAcidStatus(struct entity *pokemon, enum ability_id ability);
bool8 NoGastroAcidStatus(struct entity *entity, enum ability_id ability)
{
if (!IsMonster__02301A60(entity))
return FALSE;
if (GetEntInfo(entity)->curse_class_status.curse == CURSED_STATUS_GASTRO_ACID)
return FALSE;
return TRUE;
}
bool8 AbilityIsActive(struct entity *pokemon, enum ability_id ability)
{