dungeon map documentation

This commit is contained in:
DizzyEggg 2025-03-07 10:25:51 +01:00
parent 7dd904a428
commit ce798ff03e
12 changed files with 75 additions and 75 deletions

View File

@ -85,13 +85,13 @@ typedef struct UnkDungeonGlobal_unk181E8_sub
bool8 unk1820B; // x23
bool8 unk1820C; // x24
bool8 unk1820D; // x25
bool8 unk1820E; // x26
bool8 unk1820F; // x27
bool8 showAllFloorItems; // x26
bool8 showInvisibleTrapsMonsters; // x27
/* 0x18210 */ bool8 hallucinating; // x28 Displays Substitute and flower sprites when the player has the Cross-Eyed status.
bool8 unk18211; // x29
u8 unk18212; // x2A
bool8 unk18213; // x2B
u8 unk18214; // x2C
bool8 inFloorMapMode; // x2C
u8 unk18215; // x2D
u8 unk18216; // x2E
u8 unk18217; // x2F

View File

@ -686,10 +686,10 @@ void sub_803F27C(bool8 a0)
if (!a0) {
strPtr->blinded = 0;
strPtr->hallucinating = 0;
strPtr->unk1820F = 0;
strPtr->showInvisibleTrapsMonsters = 0;
strPtr->unk1820D = FALSE;
strPtr->unk18211 = 0;
strPtr->unk1820E = FALSE;
strPtr->showAllFloorItems = FALSE;
strPtr->unk1820B = 0;
strPtr->unk1820C = 0;
}
@ -700,7 +700,7 @@ void sub_803F27C(bool8 a0)
strPtr->unk18212 = 0;
strPtr->unk1821B = 0;
strPtr->unk1821C = 0;
strPtr->unk18214 = 0;
strPtr->inFloorMapMode = 0;
strPtr->unk18215 = 1;
sub_803F38C();
@ -805,7 +805,7 @@ void sub_803F580(u8 a0)
if (cameraTarget != NULL && EntityIsValid(cameraTarget)) {
s32 i;
u32 before, unk18214;
u32 before, inFloorMapMode;
EntityInfo *info = GetEntInfo(cameraTarget);
strPtr->cameraPixelPosMirror = strPtr->cameraPixelPos;
@ -818,24 +818,24 @@ void sub_803F580(u8 a0)
if (HasHeldItem(cameraTarget, ITEM_X_RAY_SPECS) && info->isTeamLeader) {
strPtr->unk1820D = TRUE;
strPtr->unk1820E = TRUE;
strPtr->showAllFloorItems = TRUE;
}
else {
strPtr->unk1820D = info->powerEars;
strPtr->unk1820E = info->scanning;
strPtr->showAllFloorItems = info->scanning;
}
strPtr->unk18211 = info->stairSpotter;
before = strPtr->blinded;
unk18214 = strPtr->unk18214;
if (unk18214 == 0) {
inFloorMapMode = strPtr->inFloorMapMode;
if (inFloorMapMode == 0) {
u32 unkVar;
if (info->blinkerClassStatus.status == STATUS_BLINKER) {
strPtr->blinded = 1;
unkVar = 0xE;
}
else {
strPtr->blinded = unk18214;
strPtr->blinded = inFloorMapMode;
unkVar = 0;
}
@ -865,15 +865,15 @@ void sub_803F580(u8 a0)
sub_8041888(0);
}
before = strPtr->unk1820F;
before = strPtr->showInvisibleTrapsMonsters;
if (CanSeeInvisibleMonsters(cameraTarget)) {
strPtr->unk1820F = 1;
strPtr->showInvisibleTrapsMonsters = 1;
}
else {
strPtr->unk1820F = 0;
strPtr->showInvisibleTrapsMonsters = 0;
}
if (before != strPtr->unk1820F) {
if (before != strPtr->showInvisibleTrapsMonsters) {
sub_8049ED4();
sub_8040A84();
sub_8041888(0);
@ -951,7 +951,7 @@ void sub_803F878(s32 a0, s32 a1)
strPtr->cameraPos.x = a0 / 6144;
strPtr->cameraPos.y = a1 / 6144;
strPtr->unk1820D = FALSE;
strPtr->unk1820E = FALSE;
strPtr->showAllFloorItems = FALSE;
strPtr->unk18211 = 0;
strPtr->unk18216 = 0;

View File

@ -56,7 +56,7 @@ struct UnkStruct_203B414
struct DungeonPos unk8C[16];
};
EWRAM_INIT DungeonPos gUnknown_203B410 = {100, 100};
EWRAM_INIT DungeonPos gPlayerDotMapPosition = {100, 100};
static EWRAM_INIT struct UnkStruct_203B414 *sUnknown_203B414 = NULL;
EWRAM_INIT Dungeon *gDungeon = NULL;
EWRAM_INIT u8 *gSerializedData_203B41C = NULL;
@ -388,8 +388,8 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
dungeonPtr[i] = 0;
}
gUnknown_203B410.x = 0; // Needed to match
gUnknown_203B410.x = 100;
gPlayerDotMapPosition.x = 0; // Needed to match
gPlayerDotMapPosition.x = 100;
if (!r6) {
gDungeon->unk644.unk34 = r8->unkF;

View File

@ -217,7 +217,7 @@ bool8 sub_8045804(Entity *ent)
if (!monInfo->isNotTeamMember)
return TRUE;
if (!saveTyping->unk1820F && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
if (!saveTyping->showInvisibleTrapsMonsters && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
return FALSE;
if (saveTyping->unk1820B || saveTyping->unk1820D)
@ -252,7 +252,7 @@ bool8 sub_8045888(Entity *ent)
switch (GetEntityType(ent)) {
case ENTITY_ITEM: {
if (!saveTyping->unk1820E && !sub_803F428(&ent->pos))
if (!saveTyping->showAllFloorItems && !sub_803F428(&ent->pos))
return FALSE;
break;
}
@ -260,7 +260,7 @@ bool8 sub_8045888(Entity *ent)
EntityInfo *monInfo = GetEntInfo(ent);
if (monInfo->isNotTeamMember) {
if (!gDungeon->unk181e8.unk1820F && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
if (!gDungeon->unk181e8.showInvisibleTrapsMonsters && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
return FALSE;
if (!saveTyping->unk1820D && !sub_803F428(&ent->pos))
@ -269,7 +269,7 @@ bool8 sub_8045888(Entity *ent)
break;
}
case ENTITY_TRAP: {
if (!gDungeon->unk181e8.unk1820F && !ent->isVisible)
if (!gDungeon->unk181e8.showInvisibleTrapsMonsters && !ent->isVisible)
return FALSE;
break;
}

View File

@ -427,7 +427,7 @@ void DungeonHandlePlayerInput(void)
if (!gDungeon->unk181e8.blinded && gGameOptionsRef->mapOption != 6 && gRealInputs.pressed & SELECT_BUTTON) {
s32 prevMapOption = gGameOptionsRef->mapOption;
gUnknown_202EE00 = 1;
gDungeon->unk181e8.unk18214 = 1;
gDungeon->unk181e8.inFloorMapMode = TRUE;
if (!sub_8094C48()) {
sub_8094C88();
}
@ -447,7 +447,7 @@ void DungeonHandlePlayerInput(void)
sub_8040A84();
}
}
gDungeon->unk181e8.unk18214 = 0;
gDungeon->unk181e8.inFloorMapMode = FALSE;
gGameOptionsRef->mapOption = prevMapOption;
gUnknown_202EE00 = 1;
sub_8040A84();
@ -845,7 +845,7 @@ bool8 sub_805E874(void)
if (tile->object != NULL && GetEntityType(tile->object) == ENTITY_TRAP && GetEntityType(tile->object) == ENTITY_TRAP) {
if (tile->object->isVisible)
return FALSE;
if (gDungeon->unk181e8.unk1820F)
if (gDungeon->unk181e8.showInvisibleTrapsMonsters)
return FALSE;
}
}
@ -853,7 +853,7 @@ bool8 sub_805E874(void)
if (tile->object != NULL && GetEntityType(tile->object) == ENTITY_TRAP) {
if (tile->object->isVisible)
return FALSE;
if (gDungeon->unk181e8.unk1820F)
if (gDungeon->unk181e8.showInvisibleTrapsMonsters)
return FALSE;
}
}

View File

@ -17,7 +17,7 @@ extern u8 gUnknown_810AC62; // 0xC
extern u8 gUnknown_810AC68; // 0x8
extern u8 gUnknown_810AC64; // 0x8
extern u8 gUnknown_810AC66; // 0x8
extern DungeonPos gUnknown_203B410;
extern DungeonPos gPlayerDotMapPosition;
extern DungeonPos gUnknown_202EE0C;
s32 sub_806A4DC(EntityInfo *info);
bool8 sub_8070F80(Entity * pokemon, s32 direction);
@ -51,8 +51,8 @@ void sub_80694C0(Entity *target,s32 x,int y,char param_4)
(target->pos).x = x;
(target->pos).y = y;
if (info->isTeamLeader) {
gUnknown_203B410.x = x;
gUnknown_203B410.y = y;
gPlayerDotMapPosition.x = x;
gPlayerDotMapPosition.y = y;
}
tile->monster = target;
if (info->isTeamLeader) {
@ -247,7 +247,7 @@ void sub_8069844(struct unkStruct_808FF20 *param_1, Entity *target) {
param_1->unk44[1].level = 0;
param_1->IQSkills = info->IQSkillMenuFlags;
if (gDungeon->unk644.unk16 != 0) {
param_1->unk4C = sub_806A4DC(info);
param_1->unk4C = sub_806A4DC(info);
}
else {
param_1->unk4C = 3;
@ -265,7 +265,7 @@ void sub_8069844(struct unkStruct_808FF20 *param_1, Entity *target) {
}
if (FixedPointToInt(info->belly) == 0) {
if (info->isTeamLeader) {
param_1->unk58[uVar15] = 19;
param_1->unk58[uVar15] = 19;
}
else {
param_1->unk58[uVar15] = 59;

View File

@ -2061,7 +2061,7 @@ void sub_806C51C(Entity *entity)
if (entInfo->isNotTeamMember && (entInfo->apparentID == MONSTER_DEOXYS_ATTACK || entInfo->apparentID == MONSTER_DEOXYS_DEFENSE || entInfo->apparentID == MONSTER_DEOXYS_SPEED)) {
r4 = TRUE;
}
if (entInfo->invisibleClassStatus.status == STATUS_INVISIBLE && !gDungeon->unk181e8.unk1820F) {
if (entInfo->invisibleClassStatus.status == STATUS_INVISIBLE && !gDungeon->unk181e8.showInvisibleTrapsMonsters) {
r4 = TRUE;
}
if (r4) {

View File

@ -877,7 +877,7 @@ extern SpriteOAM gUnknown_202EDC0;
void sub_807FA9C(void)
{
s32 x, y;
bool8 unkBool = gDungeon->unk181e8.unk1820F;
bool8 unkBool = gDungeon->unk181e8.showInvisibleTrapsMonsters;
for (y = gDungeon->unk181e8.cameraPos.y - 5; y < gDungeon->unk181e8.cameraPos.y + 5; y++) {
for (x = gDungeon->unk181e8.cameraPos.x - 6; x < gDungeon->unk181e8.cameraPos.x + 6; x++) {

View File

@ -19,7 +19,7 @@
extern const char gUnknown_80F6604; // "zmappat"
extern struct FileArchive gDungeonFileArchive;
extern DungeonPos gUnknown_203B410;
extern DungeonPos gPlayerDotMapPosition;
extern s32 gUnknown_202EDD0;
extern void nullsub_11(SpriteOAM *, s32, UnkSpriteMem *, unkStruct_2039DB0 *);
@ -69,8 +69,8 @@ void InitDungeonMap(bool8 a0)
}
if (!a0) {
gUnknown_203B410.x = 100;
gUnknown_203B410.y = 100;
gPlayerDotMapPosition.x = 100;
gPlayerDotMapPosition.y = 100;
}
gDungeon->dungeonMap.unk1BDCC = 0;
@ -125,8 +125,8 @@ void sub_80402AC(s32 x, s32 y)
bool8 blinded;
u32 terrainType;
bool8 hallucinating;
bool8 var_2C;
bool8 var_28;
bool8 showItems;
bool8 showHiddenTraps;
bool8 r0;
bool8 var_24;
bool8 r7;
@ -167,8 +167,8 @@ void sub_80402AC(s32 x, s32 y)
terrainType = GetTerrainType(tile);
hallucinating = gDungeon->unk181e8.hallucinating;
blinded = gDungeon->unk181e8.blinded;
var_28 = gDungeon->unk181e8.unk1820F;
var_2C = gDungeon->unk181e8.unk1820E;
showHiddenTraps = gDungeon->unk181e8.showInvisibleTrapsMonsters;
showItems = gDungeon->unk181e8.showAllFloorItems;
r0 = gDungeon->unk181e8.unk1820B;
if (blinded) {
r7 = tile->spawnOrVisibilityFlags & 1;
@ -206,9 +206,9 @@ void sub_80402AC(s32 x, s32 y)
r6 = 2;
}
else if (entInfo->isTeamLeader) {
gUnknown_203B410.x = x;
gUnknown_203B410.y = y;
if (gDungeon->unk181e8.unk18214) {
gPlayerDotMapPosition.x = x;
gPlayerDotMapPosition.y = y;
if (gDungeon->unk181e8.inFloorMapMode) {
r6 = 8;
}
}
@ -227,7 +227,7 @@ void sub_80402AC(s32 x, s32 y)
if (!r7) {
r6 = 0;
if (entType == ENTITY_ITEM) {
if ((var_2C || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
if ((showItems || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
r6 = 3;
}
}
@ -235,7 +235,7 @@ void sub_80402AC(s32 x, s32 y)
}
else {
if (entType == ENTITY_TRAP) {
if (entity->isVisible || var_28) {
if (entity->isVisible || showHiddenTraps) {
Trap *trap = GetTrapData(entity);
r6 = gUnknown_80F65F0[trap->id];
r10 = FALSE;
@ -245,7 +245,7 @@ void sub_80402AC(s32 x, s32 y)
if (r10) {
if (entType == ENTITY_ITEM) {
if ((var_2C || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
if ((showItems || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
r6 = 3;
r10 = FALSE;
}
@ -344,7 +344,7 @@ void sub_80402AC(s32 x, s32 y)
}
else {
r6 = 1;
gUnknown_203B410.x = 100;
gPlayerDotMapPosition.x = 100;
}
xDiv2 = x / 2;
@ -435,11 +435,11 @@ void sub_8040788(void)
void ShowPlayerDotOnMap(void)
{
if (gDungeon->unk181e8.unk18214)
if (gDungeon->unk181e8.inFloorMapMode)
return;
if (!gDungeon->unk181e8.unk18219)
return;
if (gUnknown_203B410.x >= 100)
if (gPlayerDotMapPosition.x >= 100)
return;
if ((++sPlayerDotFrames & 8) == 0) {
SpriteOAM sprite = {0};
@ -459,13 +459,13 @@ void ShowPlayerDotOnMap(void)
SpriteSetUnk6_1(&sprite, 0);
// Nulled on GBA
if (gGameOptionsRef->mapOption == TOP_MAP_AND_TEAM_NO_BOTTOM) {
SpriteSetX(&sprite, (gUnknown_203B410.x * 4) + 16);
SpriteSetY(&sprite, (gUnknown_203B410.y + 1) * 4);
SpriteSetX(&sprite, (gPlayerDotMapPosition.x * 4) + 16);
SpriteSetY(&sprite, (gPlayerDotMapPosition.y + 1) * 4);
nullsub_11(&sprite,0x100,NULL,NULL);
}
else {
SpriteSetX(&sprite, (gUnknown_203B410.x * 4) + 8);
SpriteSetY(&sprite, (gUnknown_203B410.y) * 4);
SpriteSetX(&sprite, (gPlayerDotMapPosition.x * 4) + 8);
SpriteSetY(&sprite, (gPlayerDotMapPosition.y) * 4);
AddSprite(&sprite,0x100,NULL,NULL);
}
}

View File

@ -442,7 +442,7 @@ void sub_8049BB0(s32 x, s32 y)
void sub_8049ED4(void)
{
bool32 hallucinating, unk1820F;
bool32 hallucinating, showInvisibleTrapsMonsters;
u16 *src;
const Tile *tile;
s32 r7;
@ -455,7 +455,7 @@ void sub_8049ED4(void)
Dungeon *dungeon = gDungeon;
hallucinating = dungeon->unk181e8.hallucinating;
unk1820F = dungeon->unk181e8.unk1820F;
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
x = dungeon->unk181e8.cameraPixelPos.x >> 3;
r10 = gUnknown_80F6A4A[30 + x];
var_48 = gUnknown_80F6C06[30 + x];
@ -484,7 +484,7 @@ void sub_8049ED4(void)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r7];
}
@ -529,7 +529,7 @@ void sub_8049ED4(void)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r7];
}
@ -562,7 +562,7 @@ void sub_804A1F0(s32 a0, s32 a1)
{
const Tile *tile;
u16 *src;
bool32 hallucinating, unk1820F;
bool32 hallucinating, showInvisibleTrapsMonsters;
s32 xTemp, yTemp;
s32 i;
s32 r8;
@ -574,7 +574,7 @@ void sub_804A1F0(s32 a0, s32 a1)
Dungeon *dungeon = gDungeon;
hallucinating = dungeon->unk181e8.hallucinating;
unk1820F = dungeon->unk181e8.unk1820F;
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
xTemp = dungeon->unk181e8.cameraPixelPos.x + a0;
yTemp = dungeon->unk181e8.cameraPixelPos.y + a1;
yTemp >>= 3;
@ -599,7 +599,7 @@ void sub_804A1F0(s32 a0, s32 a1)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r6];
}
@ -640,7 +640,7 @@ void sub_804A1F0(s32 a0, s32 a1)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r6];
}
@ -664,7 +664,7 @@ void sub_804A49C(s32 a0, s32 a1)
{
const Tile *tile;
u16 *src;
bool32 hallucinating, unk1820F;
bool32 hallucinating, showInvisibleTrapsMonsters;
s32 xTemp, yTemp;
s32 i;
s32 var_2C;
@ -676,7 +676,7 @@ void sub_804A49C(s32 a0, s32 a1)
Dungeon *dungeon = gDungeon;
hallucinating = dungeon->unk181e8.hallucinating;
unk1820F = dungeon->unk181e8.unk1820F;
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
xTemp = dungeon->unk181e8.cameraPixelPos.x + a0;
yTemp = dungeon->unk181e8.cameraPixelPos.y + a1;
x = xTemp >> 3;
@ -700,7 +700,7 @@ void sub_804A49C(s32 a0, s32 a1)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r6];
}
@ -741,7 +741,7 @@ void sub_804A49C(s32 a0, s32 a1)
{
Entity *tileObject = tile->object;
if (tileObject != NULL) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
u8 trapType = GetEntInfo(tileObject)->flags;
src = &dungeon->unk12A18[trapType][r6];
}

View File

@ -15,7 +15,7 @@
extern u8 gUnknown_202EE70[MAX_TEAM_BODY_SIZE];
extern u8 gUnknown_202EE76[DUNGEON_MAX_WILD_POKEMON_BODY_SIZE];
extern DungeonPos gUnknown_203B410;
extern DungeonPos gPlayerDotMapPosition;
extern Entity *gLeaderPointer; // 203B450
#include "data/dungeon_serializer.h"
@ -453,8 +453,8 @@ static void WriteDungeonVisibility(DataSerializer *seri)
WriteBool8(seri, gDungeon->unk181e8.unk1820B);
WriteBool8(seri, gDungeon->unk181e8.unk1820C);
WriteBool8(seri, gDungeon->unk181e8.unk1820D);
WriteBool8(seri, gDungeon->unk181e8.unk1820E);
WriteBool8(seri, gDungeon->unk181e8.unk1820F);
WriteBool8(seri, gDungeon->unk181e8.showAllFloorItems);
WriteBool8(seri, gDungeon->unk181e8.showInvisibleTrapsMonsters);
WriteBool8(seri, gDungeon->unk181e8.hallucinating);
WriteBool8(seri, gDungeon->unk181e8.unk18211);
WriteBool8(seri, gDungeon->unk181e8.unk18213);
@ -850,8 +850,8 @@ static void ReadDungeonVisibility(DataSerializer *seri)
gDungeon->unk181e8.unk1820B = ReadBool8(seri);
gDungeon->unk181e8.unk1820C = ReadBool8(seri);
gDungeon->unk181e8.unk1820D = ReadBool8(seri);
gDungeon->unk181e8.unk1820E = ReadBool8(seri);
gDungeon->unk181e8.unk1820F = ReadBool8(seri);
gDungeon->unk181e8.showAllFloorItems = ReadBool8(seri);
gDungeon->unk181e8.showInvisibleTrapsMonsters = ReadBool8(seri);
gDungeon->unk181e8.hallucinating = ReadBool8(seri);
gDungeon->unk181e8.unk18211 = ReadBool8(seri);
gDungeon->unk181e8.unk18213 = ReadBool8(seri);
@ -1100,8 +1100,8 @@ static void ReadMonster(DataSerializer *seri, bool8 isTeamMember, s32 index)
gLeaderPointer = NULL;
if (monEntInfo->isTeamLeader) {
gUnknown_203B410.x = mon->pos.x;
gUnknown_203B410.y = mon->pos.y;
gPlayerDotMapPosition.x = mon->pos.x;
gPlayerDotMapPosition.y = mon->pos.y;
}
LoadIQSkills(mon);

View File

@ -247,7 +247,7 @@ void HandleTrap(Entity *pokemon, DungeonPos *pos, int param_3, char param_4)
if (HasHeldItem(target, ITEM_TRAP_SCARF)) {
text = *gUnknown_80FDB5C;
}
if ((flag == TRUE) || (gDungeon->unk181e8.unk1820F != 0)) {
if ((flag == TRUE) || (gDungeon->unk181e8.showInvisibleTrapsMonsters != 0)) {
if (rand < 0) text = *gUnknown_80FDB7C;
}
else if (rand < 0xf) {