diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-10 11:42:24 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-10 11:42:24 -0400 |
commit | 477be592a40837c532723be07a5d792e5a6ad703 (patch) | |
tree | c0baede8560cdb2a38082b6eae56fa66fb176e7e /src | |
parent | 25c274e171b6bd9d2de2d1b457329619517e7749 (diff) |
sub_81282E0
Diffstat (limited to 'src')
-rw-r--r-- | src/field_effect_helpers.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 3cb89a7dc..367d08cc0 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1253,3 +1253,33 @@ u8 FldEff_SandPile(void) } return 0; } + +void sub_81282E0(struct Sprite *sprite) +{ + u8 mapObjectId; + s16 x; + s16 y; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data0, sprite->data1, sprite->data2, &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_20) + { + FieldEffectStop(sprite, FLDEFF_SAND_PILE); + } + else + { + y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; + x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; + if (x != sprite->data3 || y != sprite->data4) + { + sprite->data3 = x; + sprite->data4 = y; + if (sprite->animEnded) + { + StartSpriteAnim(sprite, 0); + } + } + sprite->pos1.x = x; + sprite->pos1.y = y; + sprite->subpriority = gSprites[gMapObjects[mapObjectId].spriteId].subpriority; + sub_806487C(sprite, FALSE); + } +} |