diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-10 12:15:19 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-10 12:15:19 -0400 |
commit | e15b0256fe3c2e8713f185c1083629d51bd4cd3a (patch) | |
tree | 3b64e130c05bc0d5a6acdc7d64aa2bdb5d2b8d30 /src/field_effect_helpers.c | |
parent | dc1f3024931e92253f36f0b150fb177e418392ea (diff) |
sub_81285AC
Diffstat (limited to 'src/field_effect_helpers.c')
-rw-r--r-- | src/field_effect_helpers.c | 32 |
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); + } + // } + +} |