Allowed each Unown shape to appear in overworld and added constants for other Deoxys forms

Still have yet to figure out how to check for which form a given Deoxys is in. Thus, all Deoxys will appear as Normal form, regardless of their actual form.
This commit is contained in:
W1serV1ser committed 2022-02-09 16:54:03 -08:00
1 parent 5775ee101b
commit bce0fcc081
3 files changed
+73 -1

No files matched your search

+33 -1
View File
@@ -628,7 +628,39 @@
#define OBJ_EVENT_GFX_DEOXYS_NORMAL 648
#define OBJ_EVENT_GFX_CHIMECHO 649
#define NUM_OBJ_EVENT_GFX 650
// Other forms
#define OBJ_EVENT_GFX_DEOXYS_ATTACK 650
#define OBJ_EVENT_GFX_DEOXYS_DEFENSE 651
#define OBJ_EVENT_GFX_DEOXYS_SPEED 652
#define OBJ_EVENT_GFX_UNOWN_B 653
#define OBJ_EVENT_GFX_UNOWN_C 654
#define OBJ_EVENT_GFX_UNOWN_D 655
#define OBJ_EVENT_GFX_UNOWN_E 656
#define OBJ_EVENT_GFX_UNOWN_F 657
#define OBJ_EVENT_GFX_UNOWN_G 658
#define OBJ_EVENT_GFX_UNOWN_H 659
#define OBJ_EVENT_GFX_UNOWN_I 660
#define OBJ_EVENT_GFX_UNOWN_J 661
#define OBJ_EVENT_GFX_UNOWN_K 662
#define OBJ_EVENT_GFX_UNOWN_L 663
#define OBJ_EVENT_GFX_UNOWN_M 664
#define OBJ_EVENT_GFX_UNOWN_N 665
#define OBJ_EVENT_GFX_UNOWN_O 666
#define OBJ_EVENT_GFX_UNOWN_P 667
#define OBJ_EVENT_GFX_UNOWN_Q 668
#define OBJ_EVENT_GFX_UNOWN_R 669
#define OBJ_EVENT_GFX_UNOWN_S 670
#define OBJ_EVENT_GFX_UNOWN_T 671
#define OBJ_EVENT_GFX_UNOWN_U 672
#define OBJ_EVENT_GFX_UNOWN_V 673
#define OBJ_EVENT_GFX_UNOWN_W 674
#define OBJ_EVENT_GFX_UNOWN_X 675
#define OBJ_EVENT_GFX_UNOWN_Y 676
#define OBJ_EVENT_GFX_UNOWN_Z 677
#define OBJ_EVENT_GFX_UNOWN_EXCLAMATION 678
#define OBJ_EVENT_GFX_UNOWN_QUESTION 679
#define NUM_OBJ_EVENT_GFX 680
// These are dynamic object gfx ids.
@@ -1103,6 +1103,33 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
[OBJ_EVENT_GFX_SLOWKING] = &gObjectEventGraphicsInfo_Slowking,
[OBJ_EVENT_GFX_MISDREAVUS] = &gObjectEventGraphicsInfo_Misdreavus,
[OBJ_EVENT_GFX_UNOWN_A] = &gObjectEventGraphicsInfo_Unown_A,
[OBJ_EVENT_GFX_UNOWN_B] = &gObjectEventGraphicsInfo_Unown_B,
[OBJ_EVENT_GFX_UNOWN_C] = &gObjectEventGraphicsInfo_Unown_C,
[OBJ_EVENT_GFX_UNOWN_D] = &gObjectEventGraphicsInfo_Unown_D,
[OBJ_EVENT_GFX_UNOWN_E] = &gObjectEventGraphicsInfo_Unown_E,
[OBJ_EVENT_GFX_UNOWN_F] = &gObjectEventGraphicsInfo_Unown_F,
[OBJ_EVENT_GFX_UNOWN_G] = &gObjectEventGraphicsInfo_Unown_G,
[OBJ_EVENT_GFX_UNOWN_H] = &gObjectEventGraphicsInfo_Unown_H,
[OBJ_EVENT_GFX_UNOWN_I] = &gObjectEventGraphicsInfo_Unown_I,
[OBJ_EVENT_GFX_UNOWN_J] = &gObjectEventGraphicsInfo_Unown_J,
[OBJ_EVENT_GFX_UNOWN_K] = &gObjectEventGraphicsInfo_Unown_K,
[OBJ_EVENT_GFX_UNOWN_L] = &gObjectEventGraphicsInfo_Unown_L,
[OBJ_EVENT_GFX_UNOWN_M] = &gObjectEventGraphicsInfo_Unown_M,
[OBJ_EVENT_GFX_UNOWN_N] = &gObjectEventGraphicsInfo_Unown_N,
[OBJ_EVENT_GFX_UNOWN_O] = &gObjectEventGraphicsInfo_Unown_O,
[OBJ_EVENT_GFX_UNOWN_P] = &gObjectEventGraphicsInfo_Unown_P,
[OBJ_EVENT_GFX_UNOWN_Q] = &gObjectEventGraphicsInfo_Unown_Q,
[OBJ_EVENT_GFX_UNOWN_R] = &gObjectEventGraphicsInfo_Unown_R,
[OBJ_EVENT_GFX_UNOWN_S] = &gObjectEventGraphicsInfo_Unown_S,
[OBJ_EVENT_GFX_UNOWN_T] = &gObjectEventGraphicsInfo_Unown_T,
[OBJ_EVENT_GFX_UNOWN_U] = &gObjectEventGraphicsInfo_Unown_U,
[OBJ_EVENT_GFX_UNOWN_V] = &gObjectEventGraphicsInfo_Unown_V,
[OBJ_EVENT_GFX_UNOWN_W] = &gObjectEventGraphicsInfo_Unown_W,
[OBJ_EVENT_GFX_UNOWN_X] = &gObjectEventGraphicsInfo_Unown_X,
[OBJ_EVENT_GFX_UNOWN_Y] = &gObjectEventGraphicsInfo_Unown_Y,
[OBJ_EVENT_GFX_UNOWN_Z] = &gObjectEventGraphicsInfo_Unown_Z,
[OBJ_EVENT_GFX_UNOWN_EXCLAMATION] = &gObjectEventGraphicsInfo_Unown_Exclamation,
[OBJ_EVENT_GFX_UNOWN_QUESTION] = &gObjectEventGraphicsInfo_Unown_Question,
[OBJ_EVENT_GFX_WOBBUFFET] = &gObjectEventGraphicsInfo_Wobbuffet,
[OBJ_EVENT_GFX_GIRAFARIG] = &gObjectEventGraphicsInfo_Girafarig,
[OBJ_EVENT_GFX_PINECO] = &gObjectEventGraphicsInfo_Pineco,
@@ -1288,6 +1315,9 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
[OBJ_EVENT_GFX_RAYQUAZA_FOLLOWER] = &gObjectEventGraphicsInfo_Rayquaza_Follower,
[OBJ_EVENT_GFX_JIRACHI] = &gObjectEventGraphicsInfo_Jirachi,
[OBJ_EVENT_GFX_DEOXYS_NORMAL] = &gObjectEventGraphicsInfo_Deoxys_Normal,
[OBJ_EVENT_GFX_DEOXYS_ATTACK] = &gObjectEventGraphicsInfo_Deoxys_Attack,
[OBJ_EVENT_GFX_DEOXYS_DEFENSE] = &gObjectEventGraphicsInfo_Deoxys_Defense,
[OBJ_EVENT_GFX_DEOXYS_SPEED] = &gObjectEventGraphicsInfo_Deoxys_Speed,
};
const struct ObjectEventGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
+10
View File
@@ -39,6 +39,7 @@
#include "new_game.h"
#include "palette.h"
#include "play_time.h"
#include "pokemon.h"
#include "random.h"
#include "roamer.h"
#include "rotating_gate.h"
@@ -3248,6 +3249,15 @@ void UpdateFollowerPokemonGraphic(void)
// If so, the following Pokemon needs to change.
u16 leadMonGraphicId = GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_SPECIES, NULL) + 238;
struct ObjectEvent *follower = &gObjectEvents[gSaveBlock2Ptr->follower.objId];
// If the lead Pokemon is Unown, use the correct sprite
if (leadMonGraphicId == 439)
{
u8 unownLetter = GET_UNOWN_LETTER(GetMonData(&gPlayerParty[GetLeadMonNotFaintedIndex()], MON_DATA_PERSONALITY));
if (unownLetter)
leadMonGraphicId = 652 + unownLetter;
}
if(gSaveBlock2Ptr->follower.inProgress && leadMonGraphicId != gSaveBlock2Ptr->follower.graphicsId)
{