diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-10 11:36:40 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-10 11:36:56 -0400 |
commit | 25c274e171b6bd9d2de2d1b457329619517e7749 (patch) | |
tree | 2b9bd0e12b5846a34207b62e8d4c7cbf2be67a0a /src | |
parent | 14c3e4c2cc30d940584c5cf3de976639317ef0fe (diff) |
FldEff_SandPile
Diffstat (limited to 'src')
-rw-r--r-- | src/field_effect_helpers.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 3f372b4ee..3cb89a7dc 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1225,3 +1225,31 @@ u8 FldEff_Dust(void) } return 0; } + +u8 FldEff_SandPile(void) +{ + u8 mapObjectId; + struct MapObject *mapObject; + u8 spriteId; + struct Sprite *sprite; + const struct MapObjectGraphicsInfo *graphicsInfo; + + mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectSpawnParams[0], gFieldEffectSpawnParams[1], gFieldEffectSpawnParams[2]); + mapObject = &gMapObjects[mapObjectId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->data0 = gFieldEffectSpawnParams[0]; + sprite->data1 = gFieldEffectSpawnParams[1]; + sprite->data2 = gFieldEffectSpawnParams[2]; + sprite->data3 = gSprites[mapObject->spriteId].pos1.x; + sprite->data4 = gSprites[mapObject->spriteId].pos1.y; + sprite->pos2.y = (graphicsInfo->height >> 1) - 2; + SeekSpriteAnim(sprite, 2); + } + return 0; +} |