summaryrefslogtreecommitdiff
path: root/src/code_8048DB8.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code_8048DB8.c')
-rw-r--r--src/code_8048DB8.c86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/code_8048DB8.c b/src/code_8048DB8.c
new file mode 100644
index 0000000..0a932ec
--- /dev/null
+++ b/src/code_8048DB8.c
@@ -0,0 +1,86 @@
+#include "global.h"
+#include "code_80521D0.h"
+#include "dungeon_random.h"
+
+
+extern void sub_803E708(u32, u32);
+extern void sub_80421C0(struct DungeonEntity *r0, u16 r1);
+extern void sub_8078B5C(struct DungeonEntity *, u32, u32, u32, u32);
+extern void sub_80763F8(struct DungeonEntity *, u32, u32);
+extern void sub_80769CC(struct DungeonEntity *, u32);
+extern void sub_8076210(struct DungeonEntity *, u32, u32, u32);
+extern void sub_8077780(struct DungeonEntity *, u32, u32);
+extern void sub_8076E20(struct DungeonEntity *, u32, u32, u32, u32, u32);
+
+extern u8 *gPtrMusicBoxPlayedCrumbledMessage[];
+extern u8 *gPtrWishStoneCrumbledMessage[];
+extern u8 *gPtrIcePartCrumbledMessage[];
+extern u8 *gPtrRockPartCrumbledMessage[];
+extern u8 *gPtrSteelPartCrumbledMessage[];
+extern u32 gUnknown_8106A4C;
+extern u32 gUnknown_8106A50;
+extern s16 gUnknown_80F4FAC;
+extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
+extern void sub_8051E7C(struct DungeonEntity *pokemon);
+
+
+void sub_8048DB8(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u8 r2)
+{
+ u8 temp;
+ if(r2 != 0)
+ sub_806F370(pokemon, r1, gUnknown_80F4FAC, 1, &temp, 0, 0x217, 0, 0, 0);
+ else
+ sub_8051E7C(pokemon);
+}
+
+void sub_8048E04(struct DungeonEntity *pokemon, u32 r1)
+{
+ sub_8078B5C(pokemon, r1, 0x1E, 0, 1);
+ switch(DungeonRandomCapped(5))
+ {
+ case 0:
+ sub_80763F8(pokemon, r1, 1);
+ break;
+ case 1:
+ sub_80769CC(pokemon, r1);
+ break;
+ case 2:
+ sub_8076210(pokemon, r1, 1, 1);
+ break;
+ case 3:
+ sub_8077780(pokemon, r1, 1);
+ break;
+ case 4:
+ sub_8076E20(pokemon, r1, gUnknown_8106A4C, 3, 1, 1);
+ sub_8076E20(pokemon, r1, gUnknown_8106A50, 3, 1, 1);
+ break;
+ }
+}
+
+void sub_8048EB0(struct DungeonEntity *pokemon)
+{
+ SendMessage(pokemon, *gPtrIcePartCrumbledMessage);
+}
+
+void sub_8048EC4(struct DungeonEntity *pokemon)
+{
+ SendMessage(pokemon, *gPtrRockPartCrumbledMessage);
+}
+
+void sub_8048ED8(struct DungeonEntity *pokemon)
+{
+ SendMessage(pokemon, *gPtrSteelPartCrumbledMessage);
+}
+
+void sub_8048EEC(struct DungeonEntity *pokemon)
+{
+ SendMessage(pokemon, *gPtrWishStoneCrumbledMessage);
+}
+
+void sub_8048F00(struct DungeonEntity *pokemon)
+{
+ sub_80421C0(pokemon, 0xD6);
+ SendMessage(pokemon, *gPtrMusicBoxPlayedCrumbledMessage);
+ sub_803E708(0x3C, 0x46);
+}
+