-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathhandleEvoItems.asm
95 lines (90 loc) · 2.41 KB
/
handleEvoItems.asm
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
87
88
89
90
91
92
93
94
95
void handleEvoItems(int itemId) {
if(itemId == 125) // Gigadramon
store(0x134E50, 64) // set evolve trigger
if(itemId == 126) // Panjamon
store(0x134E50, 63)
if(itemId == 127) // MetalEtemon
store(0x134E50, 65)
else {
targetDigimon = load(0x127C5C + itemId - 71)
targetLevel = load(0x12CED1 + targetDigimon * 52)
partnerPtr = load(0x12F348)
partnerDigimon = load(partnerPtr)
partnerLevel = load(0x12CED1 + partnerDigimon * 52)
if(partnerLevel != targetLevel - 1)
return
store(0x134E50, targetDigimon)
}
store(0x134E52, 1) // is item evo, disable statsgains
0x000C55FC()
0x000DB238()
setMenuState(6)
setDigimonState(13)
}
0x000c3860 addiu r29,r29,0xffe8
0x000c3864 slti r1,r4,0x007d
0x000c3868 bne r1,r0,0x000c38b0
0x000c386c sw r31,0x0010(r29)
0x000c3870 addiu r1,r0,0x007d
0x000c3874 bne r4,r1,0x000c3884
0x000c3878 nop
0x000c387c addiu r2,r0,0x0040
0x000c3880 sh r2,-0x6cdc(r28)
0x000c3884 addiu r1,r0,0x007e
0x000c3888 bne r4,r1,0x000c3898
0x000c388c nop
0x000c3890 addiu r2,r0,0x003f
0x000c3894 sh r2,-0x6cdc(r28)
0x000c3898 addiu r1,r0,0x007f
0x000c389c bne r4,r1,0x000c3934
0x000c38a0 nop
0x000c38a4 addiu r2,r0,0x0041
0x000c38a8 beq r0,r0,0x000c3934
0x000c38ac sh r2,-0x6cdc(r28)
0x000c38b0 lui r2,0x8012
0x000c38b4 lui r6,0x8013
0x000c38b8 addi r3,r4,-0x0047
0x000c38bc addiu r2,r2,0x7c5c
0x000c38c0 addu r2,r2,r3
0x000c38c4 lbu r4,0x0000(r2)
0x000c38c8 addiu r6,r6,0xced1
0x000c38cc sll r3,r4,0x01
0x000c38d0 add r3,r3,r4
0x000c38d4 sll r3,r3,0x02
0x000c38d8 add r3,r3,r4
0x000c38dc sll r3,r3,0x02
0x000c38e0 addu r3,r6,r3
0x000c38e4 lbu r3,0x0000(r3)
0x000c38e8 addu r2,r4,r0
0x000c38ec addi r4,r3,-0x0001
0x000c38f0 lui r1,0x8013
0x000c38f4 sll r5,r4,0x10
0x000c38f8 lw r3,-0x0cb8(r1)
0x000c38fc sra r5,r5,0x10
0x000c3900 lw r4,0x0000(r3)
0x000c3904 nop
0x000c3908 sll r3,r4,0x01
0x000c390c add r3,r3,r4
0x000c3910 sll r3,r3,0x02
0x000c3914 add r3,r3,r4
0x000c3918 sll r3,r3,0x02
0x000c391c addu r3,r6,r3
0x000c3920 lbu r3,0x0000(r3)
0x000c3924 nop
0x000c3928 bne r5,r3,0x000c395c
0x000c392c nop
0x000c3930 sh r2,-0x6cdc(r28)
0x000c3934 addiu r2,r0,0x0001
0x000c3938 sb r2,-0x6cda(r28)
0x000c393c jal 0x000c55fc
0x000c3940 nop
0x000c3944 jal 0x000db238
0x000c3948 nop
0x000c394c jal 0x000aa188
0x000c3950 addiu r4,r0,0x0006
0x000c3954 jal 0x000df4d0
0x000c3958 addiu r4,r0,0x000d
0x000c395c lw r31,0x0010(r29)
0x000c3960 nop
0x000c3964 jr r31
0x000c3968 addiu r29,r29,0x0018