From 25c274e171b6bd9d2de2d1b457329619517e7749 Mon Sep 17 00:00:00 2001 From: scnorton Date: Sun, 10 Sep 2017 11:36:40 -0400 Subject: FldEff_SandPile --- src/field_effect_helpers.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src') 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; +} -- cgit v1.2.3