summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-10 12:15:19 -0400
committerscnorton <scnorton@biociphers.org>2017-09-10 12:15:19 -0400
commite15b0256fe3c2e8713f185c1083629d51bd4cd3a (patch)
tree3b64e130c05bc0d5a6acdc7d64aa2bdb5d2b8d30 /src
parentdc1f3024931e92253f36f0b150fb177e418392ea (diff)
sub_81285AC
Diffstat (limited to 'src')
-rw-r--r--src/field_effect_helpers.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index da406daeb..151efd400 100644
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -1372,4 +1372,36 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum)
return spriteId;
}
+void sub_81285AC(struct Sprite *sprite)
+{
+ u8 mapObjectId;
+ const struct MapObjectGraphicsInfo *graphicsInfo;
+ struct Sprite *linkedSprite;
+ if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data2, sprite->data3, sprite->data4, &mapObjectId))
+ {
+ FieldEffectStop(sprite, sprite->data1);
+ }
+ // else {
+ graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId);
+ linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId];
+ sprite->invisible = linkedSprite->invisible;
+ sprite->pos1.x = linkedSprite->pos1.x;
+ sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16;
+ sprite->subpriority = linkedSprite->subpriority - 1;
+ if (sprite->data0 == 1)
+ {
+ sprite->data0 ++;
+ StartSpriteAnim(sprite, 1);
+ }
+ if (sprite->data0 == 2 && sprite->animEnded)
+ {
+ sprite->data7 = 1;
+ }
+ if (sprite->data0 == 3)
+ {
+ FieldEffectStop(sprite, sprite->data1);
+ }
+ // }
+
+}