summaryrefslogtreecommitdiff
path: root/src/code_8048DB8.c
blob: 0a932ec7ea899b36d7470b7fa124af076511f580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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);
}