Merge branch 'followers-expanded-id' into lighting-expanded-id
This commit is contained in:
commit
284ec24e0c
@ -274,6 +274,7 @@ RusturfTunnel_EventScript_TunnelBlockagePos3::
|
||||
|
||||
RusturfTunnel_EventScript_AquaGruntBackUp::
|
||||
lockall
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
msgbox RusturfTunnel_Text_ComeAndGetSome, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
applymovement LOCALID_GRUNT, RusturfTunnel_Movement_GruntAndPeekoBackUp
|
||||
@ -529,4 +530,3 @@ RusturfTunnel_Text_MikePostBattle:
|
||||
.string "They halted development here to\n"
|
||||
.string "protect POKéMON, right?\l"
|
||||
.string "There's a feel-good story!$"
|
||||
|
||||
|
||||
@ -10,9 +10,10 @@ EventScript_TrainerApproach::
|
||||
EventScript_TryDoNormalTrainerBattle::
|
||||
lock
|
||||
faceplayer
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
|
||||
waitmovement 0
|
||||
clearflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
specialvar VAR_RESULT, GetTrainerFlag
|
||||
goto_if_ne VAR_RESULT, FALSE, EventScript_NoNormalTrainerBattle
|
||||
special PlayTrainerEncounterMusic
|
||||
@ -45,9 +46,10 @@ EventScript_NoDoubleTrainerBattle::
|
||||
gotopostbattlescript
|
||||
|
||||
EventScript_DoNoIntroTrainerBattle::
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
|
||||
waitmovement 0
|
||||
clearflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
special PlayTrainerEncounterMusic
|
||||
dotrainerbattle
|
||||
gotopostbattlescript
|
||||
@ -95,9 +97,10 @@ EventScript_NotEnoughMonsForDoubleRematchBattle::
|
||||
end
|
||||
|
||||
EventScript_RevealTrainer::
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
|
||||
waitmovement 0
|
||||
clearflag FLAG_SAFE_FOLLOWER_MOVEMENT
|
||||
return
|
||||
|
||||
Movement_RevealTrainer:
|
||||
|
||||
@ -1620,6 +1620,18 @@ static void MakeSpriteTemplateFromObjectEventTemplate(struct ObjectEventTemplate
|
||||
CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEventTemplate->graphicsId, objectEventTemplate->movementType, spriteTemplate, subspriteTables);
|
||||
}
|
||||
|
||||
// Loads information from graphicsId, with shininess separate
|
||||
// also can write palette tag to the template
|
||||
static u8 LoadDynamicFollowerPaletteFromGraphicsId(u16 graphicsId, bool8 shiny, struct SpriteTemplate *template) {
|
||||
u16 species = ((graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE);
|
||||
u8 form = (graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS);
|
||||
const struct CompressedSpritePalette *spritePalette = &(shiny ? gMonShinyPaletteTable : gMonPaletteTable)[species];
|
||||
u8 paletteNum = LoadDynamicFollowerPalette(species, form, shiny);
|
||||
if (template)
|
||||
template->paletteTag = spritePalette->tag;
|
||||
return paletteNum;
|
||||
}
|
||||
|
||||
// Used to create a sprite using a graphicsId associated with object events.
|
||||
u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
@ -1627,29 +1639,16 @@ u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *),
|
||||
const struct SubspriteTable *subspriteTables;
|
||||
struct Sprite *sprite;
|
||||
u8 spriteId;
|
||||
u16 species;
|
||||
u8 form;
|
||||
bool8 shiny;
|
||||
u8 paletteNum;
|
||||
u32 paletteNum;
|
||||
|
||||
spriteTemplate = Alloc(sizeof(struct SpriteTemplate));
|
||||
if (graphicsId >= OBJ_EVENT_GFX_MON_BASE && GetFollowerInfo(&species, &form, &shiny)) {
|
||||
const struct ObjectEventGraphicsInfo *graphicsInfo = SpeciesToGraphicsInfo(species, form);
|
||||
spriteTemplate->tileTag = graphicsInfo->tileTag;
|
||||
spriteTemplate->paletteTag = graphicsInfo->paletteTag;
|
||||
spriteTemplate->oam = graphicsInfo->oam;
|
||||
spriteTemplate->anims = graphicsInfo->anims;
|
||||
spriteTemplate->images = graphicsInfo->images;
|
||||
spriteTemplate->affineAnims = graphicsInfo->affineAnims;
|
||||
spriteTemplate->callback = callback;
|
||||
subspriteTables = graphicsInfo->subspriteTables;
|
||||
} else
|
||||
CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables);
|
||||
CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables);
|
||||
|
||||
if (spriteTemplate->paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) {
|
||||
const struct CompressedSpritePalette *spritePalette = &(shiny ? gMonShinyPaletteTable : gMonPaletteTable)[species];
|
||||
paletteNum = LoadDynamicFollowerPalette(species, form, shiny);
|
||||
spriteTemplate->paletteTag = spritePalette->tag;
|
||||
struct ObjectEvent *obj = GetFollowerObject();
|
||||
// Use shininess info from follower object
|
||||
// in future this should be passed in
|
||||
paletteNum = LoadDynamicFollowerPaletteFromGraphicsId(graphicsId, obj ? obj->shiny : FALSE, spriteTemplate);
|
||||
} else if (spriteTemplate->paletteTag != TAG_NONE)
|
||||
LoadObjectEventPalette(spriteTemplate->paletteTag);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user